{"version":3,"file":"static/js/main.577c3cf2.js","mappings":"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","sources":["../node_modules/react/index.js","../node_modules/react-easy-swipe/lib/react-swipe.js","../node_modules/style-to-js/src/utilities.ts","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react-responsive-carousel/lib/js/components/Thumbs.js","../node_modules/prop-types/index.js","../node_modules/react-responsive-carousel/lib/js/CSSTranslate.js","../node_modules/react/cjs/react.production.min.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/style-to-object/src/index.ts","../node_modules/react-responsive-carousel/lib/js/components/Carousel/animations.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/extend/index.js","../node_modules/react-easy-swipe/lib/index.js","../node_modules/react-responsive-carousel/lib/js/dimensions.js","../node_modules/style-to-js/src/index.ts","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js","../node_modules/react-redux/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-responsive-carousel/lib/js/shims/window.js","../node_modules/react-dom/client.js","../node_modules/@stripe/react-stripe-js/dist/react-stripe.umd.js","../node_modules/inline-style-parser/index.js","../node_modules/use-sync-external-store/shim/with-selector.js","../node_modules/use-sync-external-store/shim/index.js","../node_modules/react-responsive-carousel/lib/js/components/Carousel/index.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/react-responsive-carousel/lib/js/shims/document.js","../node_modules/react-responsive-carousel/lib/js/components/Carousel/utils.js","../node_modules/react-responsive-carousel/lib/js/index.js","../node_modules/react/jsx-runtime.js","../node_modules/classnames/index.js","../node_modules/react-responsive-carousel/lib/js/cssClasses.js","../node_modules/react-redux/node_modules/react-is/index.js","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/hoist-non-react-statics/node_modules/react-is/index.js","../node_modules/scheduler/index.js","../node_modules/react-dom/index.js","../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","../webpack/bootstrap","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/publicPath","../webpack/runtime/jsonp chunk loading","../node_modules/react-redux/es/utils/batch.js","../node_modules/react-redux/es/components/Context.js","../node_modules/react-redux/es/hooks/useReduxContext.js","../node_modules/react-redux/es/hooks/useSelector.js","../node_modules/react-redux/es/utils/useSyncExternalStore.js","../node_modules/react-redux/es/utils/Subscription.js","../node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js","../node_modules/react-redux/es/components/connect.js","../node_modules/react-redux/es/components/Provider.js","../node_modules/react-redux/es/hooks/useStore.js","../node_modules/react-redux/es/hooks/useDispatch.js","../node_modules/immer/src/utils/errors.ts","../node_modules/immer/src/utils/common.ts","../node_modules/immer/src/utils/plugins.ts","../node_modules/immer/src/core/scope.ts","../node_modules/immer/src/core/finalize.ts","../node_modules/immer/src/core/proxy.ts","../node_modules/immer/src/core/immerClass.ts","../node_modules/immer/src/core/current.ts","../node_modules/immer/src/plugins/es5.ts","../node_modules/react-redux/es/index.js","../node_modules/immer/src/immer.ts","../node_modules/immer/src/utils/env.ts","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/redux/es/redux.js","../node_modules/redux-thunk/es/index.js","../node_modules/@reduxjs/toolkit/src/devtoolsExtension.ts","../node_modules/@reduxjs/toolkit/src/isPlainObject.ts","../node_modules/@reduxjs/toolkit/src/createAction.ts","../node_modules/@reduxjs/toolkit/src/utils.ts","../node_modules/@reduxjs/toolkit/src/getDefaultMiddleware.ts","../node_modules/@reduxjs/toolkit/src/mapBuilders.ts","../node_modules/@reduxjs/toolkit/src/nanoid.ts","../node_modules/@reduxjs/toolkit/src/createAsyncThunk.ts","../node_modules/@reduxjs/toolkit/src/listenerMiddleware/index.ts","../node_modules/@reduxjs/toolkit/src/listenerMiddleware/task.ts","../node_modules/@reduxjs/toolkit/src/autoBatchEnhancer.ts","../node_modules/@reduxjs/toolkit/src/index.ts","features/chatbotApi.ts","features/chatbotUtil.ts","features/ConvoStartersLocalStorageUtil.ts","features/chatbotSlice.ts","../node_modules/@reduxjs/toolkit/src/createSlice.ts","../node_modules/@reduxjs/toolkit/src/createReducer.ts","app/store.ts","../node_modules/@reduxjs/toolkit/src/configureStore.ts","reportWebVitals.ts","app/hooks.ts","features/components/InputField.tsx","features/components/ClearChatHistoryModal.tsx","features/components/WidgetHeader.tsx","features/components/UserMessage.tsx","features/components/Thinking.tsx","features/components/Convostarter/ConvoStarterButtons.tsx","../node_modules/estree-util-is-identifier-name/lib/index.js","../node_modules/hast-util-whitespace/lib/index.js","../node_modules/property-information/lib/util/schema.js","../node_modules/property-information/lib/util/merge.js","../node_modules/property-information/lib/normalize.js","../node_modules/property-information/lib/util/info.js","../node_modules/property-information/lib/util/types.js","../node_modules/property-information/lib/util/defined-info.js","../node_modules/property-information/lib/util/create.js","../node_modules/property-information/lib/aria.js","../node_modules/property-information/lib/util/case-sensitive-transform.js","../node_modules/property-information/lib/util/case-insensitive-transform.js","../node_modules/property-information/lib/html.js","../node_modules/property-information/lib/svg.js","../node_modules/property-information/lib/xlink.js","../node_modules/property-information/lib/xmlns.js","../node_modules/property-information/lib/xml.js","../node_modules/property-information/index.js","../node_modules/property-information/lib/find.js","../node_modules/property-information/lib/hast-to-react.js","../node_modules/unist-util-position/lib/index.js","../node_modules/unist-util-stringify-position/lib/index.js","../node_modules/vfile-message/lib/index.js","../node_modules/hast-util-to-jsx-runtime/lib/index.js","../node_modules/comma-separated-tokens/index.js","../node_modules/space-separated-tokens/index.js","../node_modules/html-url-attributes/lib/index.js","../node_modules/mdast-util-to-string/lib/index.js","../node_modules/micromark-util-chunked/index.js","../node_modules/micromark-util-subtokenize/lib/splice-buffer.js","../node_modules/micromark-util-subtokenize/index.js","../node_modules/micromark-util-combine-extensions/index.js","../node_modules/micromark-util-character/index.js","../node_modules/micromark-factory-space/index.js","../node_modules/micromark/lib/initialize/content.js","../node_modules/micromark/lib/initialize/document.js","../node_modules/micromark-core-commonmark/lib/blank-line.js","../node_modules/micromark-core-commonmark/lib/content.js","../node_modules/micromark/lib/initialize/flow.js","../node_modules/micromark/lib/initialize/text.js","../node_modules/micromark-core-commonmark/lib/thematic-break.js","../node_modules/micromark-core-commonmark/lib/list.js","../node_modules/micromark-core-commonmark/lib/block-quote.js","../node_modules/micromark-factory-destination/index.js","../node_modules/micromark-factory-label/index.js","../node_modules/micromark-factory-title/index.js","../node_modules/micromark-factory-whitespace/index.js","../node_modules/micromark-util-normalize-identifier/index.js","../node_modules/micromark-core-commonmark/lib/definition.js","../node_modules/micromark-core-commonmark/lib/code-indented.js","../node_modules/micromark-core-commonmark/lib/heading-atx.js","../node_modules/micromark-core-commonmark/lib/setext-underline.js","../node_modules/micromark-util-html-tag-name/index.js","../node_modules/micromark-core-commonmark/lib/html-flow.js","../node_modules/micromark-core-commonmark/lib/code-fenced.js","../node_modules/decode-named-character-reference/index.dom.js","../node_modules/micromark-core-commonmark/lib/character-reference.js","../node_modules/micromark-core-commonmark/lib/character-escape.js","../node_modules/micromark-core-commonmark/lib/line-ending.js","../node_modules/micromark-util-resolve-all/index.js","../node_modules/micromark-core-commonmark/lib/label-end.js","../node_modules/micromark-core-commonmark/lib/label-start-image.js","../node_modules/micromark-util-classify-character/index.js","../node_modules/micromark-core-commonmark/lib/attention.js","../node_modules/micromark-core-commonmark/lib/autolink.js","../node_modules/micromark-core-commonmark/lib/html-text.js","../node_modules/micromark-core-commonmark/lib/label-start-link.js","../node_modules/micromark-core-commonmark/lib/hard-break-escape.js","../node_modules/micromark-core-commonmark/lib/code-text.js","../node_modules/micromark/lib/constructs.js","../node_modules/micromark/lib/create-tokenizer.js","../node_modules/micromark/lib/parse.js","../node_modules/micromark/lib/preprocess.js","../node_modules/micromark-util-decode-numeric-character-reference/index.js","../node_modules/micromark-util-decode-string/index.js","../node_modules/mdast-util-from-markdown/lib/index.js","../node_modules/micromark/lib/postprocess.js","../node_modules/remark-parse/lib/index.js","../node_modules/@ungap/structured-clone/esm/types.js","../node_modules/@ungap/structured-clone/esm/deserialize.js","../node_modules/@ungap/structured-clone/esm/serialize.js","../node_modules/@ungap/structured-clone/esm/index.js","../node_modules/micromark-util-sanitize-uri/index.js","../node_modules/mdast-util-to-hast/lib/footer.js","../node_modules/unist-util-is/lib/index.js","../node_modules/unist-util-visit-parents/lib/index.js","../node_modules/unist-util-visit/lib/index.js","../node_modules/mdast-util-to-hast/lib/revert.js","../node_modules/mdast-util-to-hast/lib/handlers/list-item.js","../node_modules/trim-lines/index.js","../node_modules/mdast-util-to-hast/lib/handlers/index.js","../node_modules/mdast-util-to-hast/lib/handlers/blockquote.js","../node_modules/mdast-util-to-hast/lib/handlers/break.js","../node_modules/mdast-util-to-hast/lib/handlers/code.js","../node_modules/mdast-util-to-hast/lib/handlers/delete.js","../node_modules/mdast-util-to-hast/lib/handlers/emphasis.js","../node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.js","../node_modules/mdast-util-to-hast/lib/handlers/heading.js","../node_modules/mdast-util-to-hast/lib/handlers/html.js","../node_modules/mdast-util-to-hast/lib/handlers/image-reference.js","../node_modules/mdast-util-to-hast/lib/handlers/image.js","../node_modules/mdast-util-to-hast/lib/handlers/inline-code.js","../node_modules/mdast-util-to-hast/lib/handlers/link-reference.js","../node_modules/mdast-util-to-hast/lib/handlers/link.js","../node_modules/mdast-util-to-hast/lib/handlers/list.js","../node_modules/mdast-util-to-hast/lib/handlers/paragraph.js","../node_modules/mdast-util-to-hast/lib/handlers/root.js","../node_modules/mdast-util-to-hast/lib/handlers/strong.js","../node_modules/mdast-util-to-hast/lib/handlers/table.js","../node_modules/mdast-util-to-hast/lib/handlers/table-cell.js","../node_modules/mdast-util-to-hast/lib/handlers/table-row.js","../node_modules/mdast-util-to-hast/lib/handlers/text.js","../node_modules/mdast-util-to-hast/lib/handlers/thematic-break.js","../node_modules/mdast-util-to-hast/lib/state.js","../node_modules/mdast-util-to-hast/lib/index.js","../node_modules/remark-rehype/lib/index.js","../node_modules/bail/index.js","../node_modules/is-plain-obj/index.js","../node_modules/trough/lib/index.js","../node_modules/vfile/lib/minpath.browser.js","../node_modules/vfile/lib/minproc.browser.js","../node_modules/vfile/lib/minurl.shared.js","../node_modules/vfile/lib/minurl.browser.js","../node_modules/vfile/lib/index.js","../node_modules/unified/lib/callable-instance.js","../node_modules/unified/lib/index.js","../node_modules/react-markdown/lib/index.js","features/components/Message/BotTextMessage.tsx","features/components/Message/BotVideoMessage.tsx","features/components/VehicleSlider/VehicleCard.tsx","features/components/VehicleSlider/VehicleSliderLeftIcon.tsx","features/components/VehicleSlider/VehicleSliderRightIcon.tsx","features/components/VehicleSlider/VehicleSlider.tsx","features/components/Message/BotImageMessage.tsx","features/components/Message/BotGalleryMessage.tsx","../node_modules/@stripe/stripe-js/dist/index.mjs","features/components/Stripe/BotCheckoutForm.tsx","features/components/Stripe/BotCheckoutFormWrapper.tsx","features/components/Message/BotStripeMessage.tsx","features/components/WidgetMessages.tsx","features/components/SwitchTo.tsx","features/components/PoweredBy.tsx","features/components/WidgetFooter.tsx","features/components/BotChatDialog.tsx","features/components/WidgetBubble.tsx","features/components/Convostarter/ConvoStarters.tsx","features/components/WidgetBubbleContainer.tsx","features/components/LiveChat.tsx","features/components/App/App.tsx","index.tsx"],"sourcesContent":["'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","(function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(['exports', 'react', 'prop-types'], factory);\n } else if (typeof exports !== \"undefined\") {\n factory(exports, require('react'), require('prop-types'));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod.exports, global.react, global.propTypes);\n global.reactSwipe = mod.exports;\n }\n})(this, function (exports, _react, _propTypes) {\n 'use strict';\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.setHasSupportToCaptureOption = setHasSupportToCaptureOption;\n\n var _react2 = _interopRequireDefault(_react);\n\n var _propTypes2 = _interopRequireDefault(_propTypes);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n function _objectWithoutProperties(obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var supportsCaptureOption = false;\n function setHasSupportToCaptureOption(hasSupport) {\n supportsCaptureOption = hasSupport;\n }\n\n try {\n addEventListener('test', null, Object.defineProperty({}, 'capture', { get: function get() {\n setHasSupportToCaptureOption(true);\n } }));\n } catch (e) {} // eslint-disable-line no-empty\n\n function getSafeEventHandlerOpts() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : { capture: true };\n\n return supportsCaptureOption ? options : options.capture;\n }\n\n /**\n * [getPosition returns a position element that works for mouse or touch events]\n * @param {[Event]} event [the received event]\n * @return {[Object]} [x and y coords]\n */\n function getPosition(event) {\n if ('touches' in event) {\n var _event$touches$ = event.touches[0],\n pageX = _event$touches$.pageX,\n pageY = _event$touches$.pageY;\n\n return { x: pageX, y: pageY };\n }\n\n var screenX = event.screenX,\n screenY = event.screenY;\n\n return { x: screenX, y: screenY };\n }\n\n var ReactSwipe = function (_Component) {\n _inherits(ReactSwipe, _Component);\n\n function ReactSwipe() {\n var _ref;\n\n _classCallCheck(this, ReactSwipe);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var _this = _possibleConstructorReturn(this, (_ref = ReactSwipe.__proto__ || Object.getPrototypeOf(ReactSwipe)).call.apply(_ref, [this].concat(args)));\n\n _this._handleSwipeStart = _this._handleSwipeStart.bind(_this);\n _this._handleSwipeMove = _this._handleSwipeMove.bind(_this);\n _this._handleSwipeEnd = _this._handleSwipeEnd.bind(_this);\n\n _this._onMouseDown = _this._onMouseDown.bind(_this);\n _this._onMouseMove = _this._onMouseMove.bind(_this);\n _this._onMouseUp = _this._onMouseUp.bind(_this);\n\n _this._setSwiperRef = _this._setSwiperRef.bind(_this);\n return _this;\n }\n\n _createClass(ReactSwipe, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (this.swiper) {\n this.swiper.addEventListener('touchmove', this._handleSwipeMove, getSafeEventHandlerOpts({\n capture: true,\n passive: false\n }));\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (this.swiper) {\n this.swiper.removeEventListener('touchmove', this._handleSwipeMove, getSafeEventHandlerOpts({\n capture: true,\n passive: false\n }));\n }\n }\n }, {\n key: '_onMouseDown',\n value: function _onMouseDown(event) {\n if (!this.props.allowMouseEvents) {\n return;\n }\n\n this.mouseDown = true;\n\n document.addEventListener('mouseup', this._onMouseUp);\n document.addEventListener('mousemove', this._onMouseMove);\n\n this._handleSwipeStart(event);\n }\n }, {\n key: '_onMouseMove',\n value: function _onMouseMove(event) {\n if (!this.mouseDown) {\n return;\n }\n\n this._handleSwipeMove(event);\n }\n }, {\n key: '_onMouseUp',\n value: function _onMouseUp(event) {\n this.mouseDown = false;\n\n document.removeEventListener('mouseup', this._onMouseUp);\n document.removeEventListener('mousemove', this._onMouseMove);\n\n this._handleSwipeEnd(event);\n }\n }, {\n key: '_handleSwipeStart',\n value: function _handleSwipeStart(event) {\n var _getPosition = getPosition(event),\n x = _getPosition.x,\n y = _getPosition.y;\n\n this.moveStart = { x: x, y: y };\n this.props.onSwipeStart(event);\n }\n }, {\n key: '_handleSwipeMove',\n value: function _handleSwipeMove(event) {\n if (!this.moveStart) {\n return;\n }\n\n var _getPosition2 = getPosition(event),\n x = _getPosition2.x,\n y = _getPosition2.y;\n\n var deltaX = x - this.moveStart.x;\n var deltaY = y - this.moveStart.y;\n this.moving = true;\n\n // handling the responsability of cancelling the scroll to\n // the component handling the event\n var shouldPreventDefault = this.props.onSwipeMove({\n x: deltaX,\n y: deltaY\n }, event);\n\n if (shouldPreventDefault && event.cancelable) {\n event.preventDefault();\n }\n\n this.movePosition = { deltaX: deltaX, deltaY: deltaY };\n }\n }, {\n key: '_handleSwipeEnd',\n value: function _handleSwipeEnd(event) {\n this.props.onSwipeEnd(event);\n\n var tolerance = this.props.tolerance;\n\n\n if (this.moving && this.movePosition) {\n if (this.movePosition.deltaX < -tolerance) {\n this.props.onSwipeLeft(1, event);\n } else if (this.movePosition.deltaX > tolerance) {\n this.props.onSwipeRight(1, event);\n }\n if (this.movePosition.deltaY < -tolerance) {\n this.props.onSwipeUp(1, event);\n } else if (this.movePosition.deltaY > tolerance) {\n this.props.onSwipeDown(1, event);\n }\n }\n\n this.moveStart = null;\n this.moving = false;\n this.movePosition = null;\n }\n }, {\n key: '_setSwiperRef',\n value: function _setSwiperRef(node) {\n this.swiper = node;\n this.props.innerRef(node);\n }\n }, {\n key: 'render',\n value: function render() {\n var _props = this.props,\n tagName = _props.tagName,\n className = _props.className,\n style = _props.style,\n children = _props.children,\n allowMouseEvents = _props.allowMouseEvents,\n onSwipeUp = _props.onSwipeUp,\n onSwipeDown = _props.onSwipeDown,\n onSwipeLeft = _props.onSwipeLeft,\n onSwipeRight = _props.onSwipeRight,\n onSwipeStart = _props.onSwipeStart,\n onSwipeMove = _props.onSwipeMove,\n onSwipeEnd = _props.onSwipeEnd,\n innerRef = _props.innerRef,\n tolerance = _props.tolerance,\n props = _objectWithoutProperties(_props, ['tagName', 'className', 'style', 'children', 'allowMouseEvents', 'onSwipeUp', 'onSwipeDown', 'onSwipeLeft', 'onSwipeRight', 'onSwipeStart', 'onSwipeMove', 'onSwipeEnd', 'innerRef', 'tolerance']);\n\n return _react2.default.createElement(\n this.props.tagName,\n _extends({\n ref: this._setSwiperRef,\n onMouseDown: this._onMouseDown,\n onTouchStart: this._handleSwipeStart,\n onTouchEnd: this._handleSwipeEnd,\n className: className,\n style: style\n }, props),\n children\n );\n }\n }]);\n\n return ReactSwipe;\n }(_react.Component);\n\n ReactSwipe.displayName = 'ReactSwipe';\n ReactSwipe.propTypes = {\n tagName: _propTypes2.default.string,\n className: _propTypes2.default.string,\n style: _propTypes2.default.object,\n children: _propTypes2.default.node,\n allowMouseEvents: _propTypes2.default.bool,\n onSwipeUp: _propTypes2.default.func,\n onSwipeDown: _propTypes2.default.func,\n onSwipeLeft: _propTypes2.default.func,\n onSwipeRight: _propTypes2.default.func,\n onSwipeStart: _propTypes2.default.func,\n onSwipeMove: _propTypes2.default.func,\n onSwipeEnd: _propTypes2.default.func,\n innerRef: _propTypes2.default.func,\n tolerance: _propTypes2.default.number.isRequired\n };\n ReactSwipe.defaultProps = {\n tagName: 'div',\n allowMouseEvents: false,\n onSwipeUp: function onSwipeUp() {},\n onSwipeDown: function onSwipeDown() {},\n onSwipeLeft: function onSwipeLeft() {},\n onSwipeRight: function onSwipeRight() {},\n onSwipeStart: function onSwipeStart() {},\n onSwipeMove: function onSwipeMove() {},\n onSwipeEnd: function onSwipeEnd() {},\n innerRef: function innerRef() {},\n\n tolerance: 0\n };\n exports.default = ReactSwipe;\n});","const CUSTOM_PROPERTY_REGEX = /^--[a-zA-Z0-9_-]+$/;\nconst HYPHEN_REGEX = /-([a-z])/g;\nconst NO_HYPHEN_REGEX = /^[^-]+$/;\nconst VENDOR_PREFIX_REGEX = /^-(webkit|moz|ms|o|khtml)-/;\nconst MS_VENDOR_PREFIX_REGEX = /^-(ms)-/;\n\n/**\n * Checks whether to skip camelCase.\n */\nconst skipCamelCase = (property: string) =>\n !property ||\n NO_HYPHEN_REGEX.test(property) ||\n CUSTOM_PROPERTY_REGEX.test(property);\n\n/**\n * Replacer that capitalizes first character.\n */\nconst capitalize = (match: string, character: string) =>\n character.toUpperCase();\n\n/**\n * Replacer that removes beginning hyphen of vendor prefix property.\n */\nconst trimHyphen = (match: string, prefix: string) => `${prefix}-`;\n\n/**\n * CamelCase options.\n */\nexport interface CamelCaseOptions {\n reactCompat?: boolean;\n}\n\n/**\n * CamelCases a CSS property.\n */\nexport const camelCase = (property: string, options: CamelCaseOptions = {}) => {\n if (skipCamelCase(property)) {\n return property;\n }\n\n property = property.toLowerCase();\n\n if (options.reactCompat) {\n // `-ms` vendor prefix should not be capitalized\n property = property.replace(MS_VENDOR_PREFIX_REGEX, trimHyphen);\n } else {\n // for non-React, remove first hyphen so vendor prefix is not capitalized\n property = property.replace(VENDOR_PREFIX_REGEX, trimHyphen);\n }\n\n return property.replace(HYPHEN_REGEX, capitalize);\n};\n","/**\n * @license React\n * react-jsx-runtime.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 f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _cssClasses = _interopRequireDefault(require(\"../cssClasses\"));\n\nvar _dimensions = require(\"../dimensions\");\n\nvar _CSSTranslate = _interopRequireDefault(require(\"../CSSTranslate\"));\n\nvar _reactEasySwipe = _interopRequireDefault(require(\"react-easy-swipe\"));\n\nvar _window = _interopRequireDefault(require(\"../shims/window\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar isKeyboardEvent = function isKeyboardEvent(e) {\n return e.hasOwnProperty('key');\n};\n\nvar Thumbs = /*#__PURE__*/function (_Component) {\n _inherits(Thumbs, _Component);\n\n var _super = _createSuper(Thumbs);\n\n function Thumbs(_props) {\n var _this;\n\n _classCallCheck(this, Thumbs);\n\n _this = _super.call(this, _props);\n\n _defineProperty(_assertThisInitialized(_this), \"itemsWrapperRef\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"itemsListRef\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"thumbsRef\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"setItemsWrapperRef\", function (node) {\n _this.itemsWrapperRef = node;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"setItemsListRef\", function (node) {\n _this.itemsListRef = node;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"setThumbsRef\", function (node, index) {\n if (!_this.thumbsRef) {\n _this.thumbsRef = [];\n }\n\n _this.thumbsRef[index] = node;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"updateSizes\", function () {\n if (!_this.props.children || !_this.itemsWrapperRef || !_this.thumbsRef) {\n return;\n }\n\n var total = _react.Children.count(_this.props.children);\n\n var wrapperSize = _this.itemsWrapperRef.clientWidth;\n var itemSize = _this.props.thumbWidth ? _this.props.thumbWidth : (0, _dimensions.outerWidth)(_this.thumbsRef[0]);\n var visibleItems = Math.floor(wrapperSize / itemSize);\n var showArrows = visibleItems < total;\n var lastPosition = showArrows ? total - visibleItems : 0;\n\n _this.setState(function (_state, props) {\n return {\n itemSize: itemSize,\n visibleItems: visibleItems,\n firstItem: showArrows ? _this.getFirstItem(props.selectedItem) : 0,\n lastPosition: lastPosition,\n showArrows: showArrows\n };\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleClickItem\", function (index, item, e) {\n if (!isKeyboardEvent(e) || e.key === 'Enter') {\n var handler = _this.props.onSelectItem;\n\n if (typeof handler === 'function') {\n handler(index, item);\n }\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSwipeStart\", function () {\n _this.setState({\n swiping: true\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSwipeEnd\", function () {\n _this.setState({\n swiping: false\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSwipeMove\", function (delta) {\n var deltaX = delta.x;\n\n if (!_this.state.itemSize || !_this.itemsWrapperRef || !_this.state.visibleItems) {\n return false;\n }\n\n var leftBoundary = 0;\n\n var childrenLength = _react.Children.count(_this.props.children);\n\n var currentPosition = -(_this.state.firstItem * 100) / _this.state.visibleItems;\n var lastLeftItem = Math.max(childrenLength - _this.state.visibleItems, 0);\n var lastLeftBoundary = -lastLeftItem * 100 / _this.state.visibleItems; // prevent user from swiping left out of boundaries\n\n if (currentPosition === leftBoundary && deltaX > 0) {\n deltaX = 0;\n } // prevent user from swiping right out of boundaries\n\n\n if (currentPosition === lastLeftBoundary && deltaX < 0) {\n deltaX = 0;\n }\n\n var wrapperSize = _this.itemsWrapperRef.clientWidth;\n var position = currentPosition + 100 / (wrapperSize / deltaX); // if 3d isn't available we will use left to move\n\n if (_this.itemsListRef) {\n ['WebkitTransform', 'MozTransform', 'MsTransform', 'OTransform', 'transform', 'msTransform'].forEach(function (prop) {\n _this.itemsListRef.style[prop] = (0, _CSSTranslate.default)(position, '%', _this.props.axis);\n });\n }\n\n return true;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slideRight\", function (positions) {\n _this.moveTo(_this.state.firstItem - (typeof positions === 'number' ? positions : 1));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slideLeft\", function (positions) {\n _this.moveTo(_this.state.firstItem + (typeof positions === 'number' ? positions : 1));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"moveTo\", function (position) {\n // position can't be lower than 0\n position = position < 0 ? 0 : position; // position can't be higher than last postion\n\n position = position >= _this.state.lastPosition ? _this.state.lastPosition : position;\n\n _this.setState({\n firstItem: position\n });\n });\n\n _this.state = {\n selectedItem: _props.selectedItem,\n swiping: false,\n showArrows: false,\n firstItem: 0,\n visibleItems: 0,\n lastPosition: 0\n };\n return _this;\n }\n\n _createClass(Thumbs, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.setupThumbs();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (this.props.selectedItem !== this.state.selectedItem) {\n this.setState({\n selectedItem: this.props.selectedItem,\n firstItem: this.getFirstItem(this.props.selectedItem)\n });\n }\n\n if (this.props.children === prevProps.children) {\n return;\n } // This will capture any size changes for arrow adjustments etc.\n // usually in the same render cycle so we don't see any flickers\n\n\n this.updateSizes();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.destroyThumbs();\n }\n }, {\n key: \"setupThumbs\",\n value: function setupThumbs() {\n // as the widths are calculated, we need to resize\n // the carousel when the window is resized\n (0, _window.default)().addEventListener('resize', this.updateSizes); // issue #2 - image loading smaller\n\n (0, _window.default)().addEventListener('DOMContentLoaded', this.updateSizes); // when the component is rendered we need to calculate\n // the container size to adjust the responsive behaviour\n\n this.updateSizes();\n }\n }, {\n key: \"destroyThumbs\",\n value: function destroyThumbs() {\n // removing listeners\n (0, _window.default)().removeEventListener('resize', this.updateSizes);\n (0, _window.default)().removeEventListener('DOMContentLoaded', this.updateSizes);\n }\n }, {\n key: \"getFirstItem\",\n value: function getFirstItem(selectedItem) {\n var firstItem = selectedItem;\n\n if (selectedItem >= this.state.lastPosition) {\n firstItem = this.state.lastPosition;\n }\n\n if (selectedItem < this.state.firstItem + this.state.visibleItems) {\n firstItem = this.state.firstItem;\n }\n\n if (selectedItem < this.state.firstItem) {\n firstItem = selectedItem;\n }\n\n return firstItem;\n }\n }, {\n key: \"renderItems\",\n value: function renderItems() {\n var _this2 = this;\n\n return this.props.children.map(function (img, index) {\n var itemClass = _cssClasses.default.ITEM(false, index === _this2.state.selectedItem);\n\n var thumbProps = {\n key: index,\n ref: function ref(e) {\n return _this2.setThumbsRef(e, index);\n },\n className: itemClass,\n onClick: _this2.handleClickItem.bind(_this2, index, _this2.props.children[index]),\n onKeyDown: _this2.handleClickItem.bind(_this2, index, _this2.props.children[index]),\n 'aria-label': \"\".concat(_this2.props.labels.item, \" \").concat(index + 1),\n style: {\n width: _this2.props.thumbWidth\n }\n };\n return /*#__PURE__*/_react.default.createElement(\"li\", _extends({}, thumbProps, {\n role: \"button\",\n tabIndex: 0\n }), img);\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this3 = this;\n\n if (!this.props.children) {\n return null;\n }\n\n var isSwipeable = _react.Children.count(this.props.children) > 1; // show left arrow?\n\n var hasPrev = this.state.showArrows && this.state.firstItem > 0; // show right arrow\n\n var hasNext = this.state.showArrows && this.state.firstItem < this.state.lastPosition; // obj to hold the transformations and styles\n\n var itemListStyles = {};\n var currentPosition = -this.state.firstItem * (this.state.itemSize || 0);\n var transformProp = (0, _CSSTranslate.default)(currentPosition, 'px', this.props.axis);\n var transitionTime = this.props.transitionTime + 'ms';\n itemListStyles = {\n WebkitTransform: transformProp,\n MozTransform: transformProp,\n MsTransform: transformProp,\n OTransform: transformProp,\n transform: transformProp,\n msTransform: transformProp,\n WebkitTransitionDuration: transitionTime,\n MozTransitionDuration: transitionTime,\n MsTransitionDuration: transitionTime,\n OTransitionDuration: transitionTime,\n transitionDuration: transitionTime,\n msTransitionDuration: transitionTime\n };\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: _cssClasses.default.CAROUSEL(false)\n }, /*#__PURE__*/_react.default.createElement(\"div\", {\n className: _cssClasses.default.WRAPPER(false),\n ref: this.setItemsWrapperRef\n }, /*#__PURE__*/_react.default.createElement(\"button\", {\n type: \"button\",\n className: _cssClasses.default.ARROW_PREV(!hasPrev),\n onClick: function onClick() {\n return _this3.slideRight();\n },\n \"aria-label\": this.props.labels.leftArrow\n }), isSwipeable ? /*#__PURE__*/_react.default.createElement(_reactEasySwipe.default, {\n tagName: \"ul\",\n className: _cssClasses.default.SLIDER(false, this.state.swiping),\n onSwipeLeft: this.slideLeft,\n onSwipeRight: this.slideRight,\n onSwipeMove: this.onSwipeMove,\n onSwipeStart: this.onSwipeStart,\n onSwipeEnd: this.onSwipeEnd,\n style: itemListStyles,\n innerRef: this.setItemsListRef,\n allowMouseEvents: this.props.emulateTouch\n }, this.renderItems()) : /*#__PURE__*/_react.default.createElement(\"ul\", {\n className: _cssClasses.default.SLIDER(false, this.state.swiping),\n ref: function ref(node) {\n return _this3.setItemsListRef(node);\n },\n style: itemListStyles\n }, this.renderItems()), /*#__PURE__*/_react.default.createElement(\"button\", {\n type: \"button\",\n className: _cssClasses.default.ARROW_NEXT(!hasNext),\n onClick: function onClick() {\n return _this3.slideLeft();\n },\n \"aria-label\": this.props.labels.rightArrow\n })));\n }\n }]);\n\n return Thumbs;\n}(_react.Component);\n\nexports.default = Thumbs;\n\n_defineProperty(Thumbs, \"displayName\", 'Thumbs');\n\n_defineProperty(Thumbs, \"defaultProps\", {\n axis: 'horizontal',\n labels: {\n leftArrow: 'previous slide / item',\n rightArrow: 'next slide / item',\n item: 'slide item'\n },\n selectedItem: 0,\n thumbWidth: 80,\n transitionTime: 350\n});","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _default = function _default(position, metric, axis) {\n var positionPercent = position === 0 ? position : position + metric;\n var positionCss = axis === 'horizontal' ? [positionPercent, 0, 0] : [0, positionPercent, 0];\n var transitionProp = 'translate3d';\n var translatedPosition = '(' + positionCss.join(',') + ')';\n return transitionProp + translatedPosition;\n};\n\nexports.default = _default;","/**\n * @license React\n * react.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 l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1 void;\n\n/**\n * Parses inline style to object.\n *\n * @param style - Inline style.\n * @param iterator - Iterator.\n * @returns - Style object or null.\n *\n * @example Parsing inline style to object:\n *\n * ```js\n * import parse from 'style-to-object';\n * parse('line-height: 42;'); // { 'line-height': '42' }\n * ```\n */\nexport default function StyleToObject(\n style: string,\n iterator?: Iterator,\n): StyleObject | null {\n let styleObject: StyleObject | null = null;\n\n if (!style || typeof style !== 'string') {\n return styleObject;\n }\n\n const declarations = parse(style);\n const hasIterator = typeof iterator === 'function';\n\n declarations.forEach((declaration) => {\n if (declaration.type !== 'declaration') {\n return;\n }\n\n const { property, value } = declaration;\n\n if (hasIterator) {\n iterator(property, value, declaration);\n } else if (value) {\n styleObject = styleObject || {};\n styleObject[property] = value;\n }\n });\n\n return styleObject;\n}\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.fadeAnimationHandler = exports.slideStopSwipingHandler = exports.slideSwipeAnimationHandler = exports.slideAnimationHandler = void 0;\n\nvar _react = require(\"react\");\n\nvar _CSSTranslate = _interopRequireDefault(require(\"../../CSSTranslate\"));\n\nvar _utils = require(\"./utils\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/**\n * Main animation handler for the default 'sliding' style animation\n * @param props\n * @param state\n */\nvar slideAnimationHandler = function slideAnimationHandler(props, state) {\n var returnStyles = {};\n var selectedItem = state.selectedItem;\n var previousItem = selectedItem;\n var lastPosition = _react.Children.count(props.children) - 1;\n var needClonedSlide = props.infiniteLoop && (selectedItem < 0 || selectedItem > lastPosition); // Handle list position if it needs a clone\n\n if (needClonedSlide) {\n if (previousItem < 0) {\n if (props.centerMode && props.centerSlidePercentage && props.axis === 'horizontal') {\n returnStyles.itemListStyle = (0, _utils.setPosition)(-(lastPosition + 2) * props.centerSlidePercentage - (100 - props.centerSlidePercentage) / 2, props.axis);\n } else {\n returnStyles.itemListStyle = (0, _utils.setPosition)(-(lastPosition + 2) * 100, props.axis);\n }\n } else if (previousItem > lastPosition) {\n returnStyles.itemListStyle = (0, _utils.setPosition)(0, props.axis);\n }\n\n return returnStyles;\n }\n\n var currentPosition = (0, _utils.getPosition)(selectedItem, props); // if 3d is available, let's take advantage of the performance of transform\n\n var transformProp = (0, _CSSTranslate.default)(currentPosition, '%', props.axis);\n var transitionTime = props.transitionTime + 'ms';\n returnStyles.itemListStyle = {\n WebkitTransform: transformProp,\n msTransform: transformProp,\n OTransform: transformProp,\n transform: transformProp\n };\n\n if (!state.swiping) {\n returnStyles.itemListStyle = _objectSpread(_objectSpread({}, returnStyles.itemListStyle), {}, {\n WebkitTransitionDuration: transitionTime,\n MozTransitionDuration: transitionTime,\n OTransitionDuration: transitionTime,\n transitionDuration: transitionTime,\n msTransitionDuration: transitionTime\n });\n }\n\n return returnStyles;\n};\n/**\n * Swiping animation handler for the default 'sliding' style animation\n * @param delta\n * @param props\n * @param state\n * @param setState\n */\n\n\nexports.slideAnimationHandler = slideAnimationHandler;\n\nvar slideSwipeAnimationHandler = function slideSwipeAnimationHandler(delta, props, state, setState) {\n var returnStyles = {};\n var isHorizontal = props.axis === 'horizontal';\n\n var childrenLength = _react.Children.count(props.children);\n\n var initialBoundry = 0;\n var currentPosition = (0, _utils.getPosition)(state.selectedItem, props);\n var finalBoundry = props.infiniteLoop ? (0, _utils.getPosition)(childrenLength - 1, props) - 100 : (0, _utils.getPosition)(childrenLength - 1, props);\n var axisDelta = isHorizontal ? delta.x : delta.y;\n var handledDelta = axisDelta; // prevent user from swiping left out of boundaries\n\n if (currentPosition === initialBoundry && axisDelta > 0) {\n handledDelta = 0;\n } // prevent user from swiping right out of boundaries\n\n\n if (currentPosition === finalBoundry && axisDelta < 0) {\n handledDelta = 0;\n }\n\n var position = currentPosition + 100 / (state.itemSize / handledDelta);\n var hasMoved = Math.abs(axisDelta) > props.swipeScrollTolerance;\n\n if (props.infiniteLoop && hasMoved) {\n // When allowing infinite loop, if we slide left from position 0 we reveal the cloned last slide that appears before it\n // if we slide even further we need to jump to other side so it can continue - and vice versa for the last slide\n if (state.selectedItem === 0 && position > -100) {\n position -= childrenLength * 100;\n } else if (state.selectedItem === childrenLength - 1 && position < -childrenLength * 100) {\n position += childrenLength * 100;\n }\n }\n\n if (!props.preventMovementUntilSwipeScrollTolerance || hasMoved || state.swipeMovementStarted) {\n if (!state.swipeMovementStarted) {\n setState({\n swipeMovementStarted: true\n });\n }\n\n returnStyles.itemListStyle = (0, _utils.setPosition)(position, props.axis);\n } //allows scroll if the swipe was within the tolerance\n\n\n if (hasMoved && !state.cancelClick) {\n setState({\n cancelClick: true\n });\n }\n\n return returnStyles;\n};\n/**\n * Default 'sliding' style animination handler for when a swipe action stops.\n * @param props\n * @param state\n */\n\n\nexports.slideSwipeAnimationHandler = slideSwipeAnimationHandler;\n\nvar slideStopSwipingHandler = function slideStopSwipingHandler(props, state) {\n var currentPosition = (0, _utils.getPosition)(state.selectedItem, props);\n var itemListStyle = (0, _utils.setPosition)(currentPosition, props.axis);\n return {\n itemListStyle: itemListStyle\n };\n};\n/**\n * Main animation handler for the default 'fade' style animation\n * @param props\n * @param state\n */\n\n\nexports.slideStopSwipingHandler = slideStopSwipingHandler;\n\nvar fadeAnimationHandler = function fadeAnimationHandler(props, state) {\n var transitionTime = props.transitionTime + 'ms';\n var transitionTimingFunction = 'ease-in-out';\n var slideStyle = {\n position: 'absolute',\n display: 'block',\n zIndex: -2,\n minHeight: '100%',\n opacity: 0,\n top: 0,\n right: 0,\n left: 0,\n bottom: 0,\n transitionTimingFunction: transitionTimingFunction,\n msTransitionTimingFunction: transitionTimingFunction,\n MozTransitionTimingFunction: transitionTimingFunction,\n WebkitTransitionTimingFunction: transitionTimingFunction,\n OTransitionTimingFunction: transitionTimingFunction\n };\n\n if (!state.swiping) {\n slideStyle = _objectSpread(_objectSpread({}, slideStyle), {}, {\n WebkitTransitionDuration: transitionTime,\n MozTransitionDuration: transitionTime,\n OTransitionDuration: transitionTime,\n transitionDuration: transitionTime,\n msTransitionDuration: transitionTime\n });\n }\n\n return {\n slideStyle: slideStyle,\n selectedStyle: _objectSpread(_objectSpread({}, slideStyle), {}, {\n opacity: 1,\n position: 'relative'\n }),\n prevStyle: _objectSpread({}, slideStyle)\n };\n};\n\nexports.fadeAnimationHandler = fadeAnimationHandler;","/**\n * @license React\n * scheduler.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';function f(a,b){var c=a.length;a.push(b);a:for(;0>>1,e=a[d];if(0>>1;dg(C,c))ng(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(ng(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Qa||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar defineProperty = Object.defineProperty;\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nvar isArray = function isArray(arr) {\n\tif (typeof Array.isArray === 'function') {\n\t\treturn Array.isArray(arr);\n\t}\n\n\treturn toStr.call(arr) === '[object Array]';\n};\n\nvar isPlainObject = function isPlainObject(obj) {\n\tif (!obj || toStr.call(obj) !== '[object Object]') {\n\t\treturn false;\n\t}\n\n\tvar hasOwnConstructor = hasOwn.call(obj, 'constructor');\n\tvar hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');\n\t// Not own constructor property must be Object\n\tif (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\n\t\treturn false;\n\t}\n\n\t// Own properties are enumerated firstly, so to speed up,\n\t// if last one is own, then all properties are own.\n\tvar key;\n\tfor (key in obj) { /**/ }\n\n\treturn typeof key === 'undefined' || hasOwn.call(obj, key);\n};\n\n// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target\nvar setProperty = function setProperty(target, options) {\n\tif (defineProperty && options.name === '__proto__') {\n\t\tdefineProperty(target, options.name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tvalue: options.newValue,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\ttarget[options.name] = options.newValue;\n\t}\n};\n\n// Return undefined instead of __proto__ if '__proto__' is not an own property\nvar getProperty = function getProperty(obj, name) {\n\tif (name === '__proto__') {\n\t\tif (!hasOwn.call(obj, name)) {\n\t\t\treturn void 0;\n\t\t} else if (gOPD) {\n\t\t\t// In early versions of node, obj['__proto__'] is buggy when obj has\n\t\t\t// __proto__ as an own property. Object.getOwnPropertyDescriptor() works.\n\t\t\treturn gOPD(obj, name).value;\n\t\t}\n\t}\n\n\treturn obj[name];\n};\n\nmodule.exports = function extend() {\n\tvar options, name, src, copy, copyIsArray, clone;\n\tvar target = arguments[0];\n\tvar i = 1;\n\tvar length = arguments.length;\n\tvar deep = false;\n\n\t// Handle a deep copy situation\n\tif (typeof target === 'boolean') {\n\t\tdeep = target;\n\t\ttarget = arguments[1] || {};\n\t\t// skip the boolean and the target\n\t\ti = 2;\n\t}\n\tif (target == null || (typeof target !== 'object' && typeof target !== 'function')) {\n\t\ttarget = {};\n\t}\n\n\tfor (; i < length; ++i) {\n\t\toptions = arguments[i];\n\t\t// Only deal with non-null/undefined values\n\t\tif (options != null) {\n\t\t\t// Extend the base object\n\t\t\tfor (name in options) {\n\t\t\t\tsrc = getProperty(target, name);\n\t\t\t\tcopy = getProperty(options, name);\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif (target !== copy) {\n\t\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\t\tif (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {\n\t\t\t\t\t\tif (copyIsArray) {\n\t\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\t\tclone = src && isArray(src) ? src : [];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tclone = src && isPlainObject(src) ? src : {};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: extend(deep, clone, copy) });\n\n\t\t\t\t\t// Don't bring in undefined values\n\t\t\t\t\t} else if (typeof copy !== 'undefined') {\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: copy });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n","(function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(['exports', './react-swipe'], factory);\n } else if (typeof exports !== \"undefined\") {\n factory(exports, require('./react-swipe'));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod.exports, global.reactSwipe);\n global.index = mod.exports;\n }\n})(this, function (exports, _reactSwipe) {\n 'use strict';\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var _reactSwipe2 = _interopRequireDefault(_reactSwipe);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n exports.default = _reactSwipe2.default;\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.outerWidth = void 0;\n\nvar outerWidth = function outerWidth(el) {\n var width = el.offsetWidth;\n var style = getComputedStyle(el);\n width += parseInt(style.marginLeft) + parseInt(style.marginRight);\n return width;\n};\n\nexports.outerWidth = outerWidth;","import StyleToObject from 'style-to-object';\n\nimport { camelCase, CamelCaseOptions } from './utilities';\n\ntype StyleObject = Record;\n\ninterface StyleToJSOptions extends CamelCaseOptions {}\n\n/**\n * Parses CSS inline style to JavaScript object (camelCased).\n */\nfunction StyleToJS(style: string, options?: StyleToJSOptions): StyleObject {\n const output: StyleObject = {};\n\n if (!style || typeof style !== 'string') {\n return output;\n }\n\n StyleToObject(style, (property, value) => {\n // skip CSS comment\n if (property && value) {\n output[camelCase(property, options)] = value;\n }\n });\n\n return output;\n}\n\nStyleToJS.default = StyleToJS;\n\nexport = StyleToJS;\n","/**\n * @license React\n * use-sync-external-store-shim.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\"use strict\";\nvar React = require(\"react\");\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 useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue;\nfunction useSyncExternalStore$2(subscribe, getSnapshot) {\n var value = getSnapshot(),\n _useState = useState({ inst: { value: value, getSnapshot: getSnapshot } }),\n inst = _useState[0].inst,\n forceUpdate = _useState[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nfunction useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n}\nvar shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\nexports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n","/**\n * @license React\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=Symbol.for(\"react.element\"),c=Symbol.for(\"react.portal\"),d=Symbol.for(\"react.fragment\"),e=Symbol.for(\"react.strict_mode\"),f=Symbol.for(\"react.profiler\"),g=Symbol.for(\"react.provider\"),h=Symbol.for(\"react.context\"),k=Symbol.for(\"react.server_context\"),l=Symbol.for(\"react.forward_ref\"),m=Symbol.for(\"react.suspense\"),n=Symbol.for(\"react.suspense_list\"),p=Symbol.for(\"react.memo\"),q=Symbol.for(\"react.lazy\"),t=Symbol.for(\"react.offscreen\"),u;u=Symbol.for(\"react.module.reference\");\nfunction v(a){if(\"object\"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}exports.ContextConsumer=h;exports.ContextProvider=g;exports.Element=b;exports.ForwardRef=l;exports.Fragment=d;exports.Lazy=q;exports.Memo=p;exports.Portal=c;exports.Profiler=f;exports.StrictMode=e;exports.Suspense=m;\nexports.SuspenseList=n;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return v(a)===h};exports.isContextProvider=function(a){return v(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return v(a)===l};exports.isFragment=function(a){return v(a)===d};exports.isLazy=function(a){return v(a)===q};exports.isMemo=function(a){return v(a)===p};\nexports.isPortal=function(a){return v(a)===c};exports.isProfiler=function(a){return v(a)===f};exports.isStrictMode=function(a){return v(a)===e};exports.isSuspense=function(a){return v(a)===m};exports.isSuspenseList=function(a){return v(a)===n};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||\"object\"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?!0:!1};exports.typeOf=v;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _default = function _default() {\n return window;\n};\n\nexports.default = _default;","'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react')) :\n typeof define === 'function' && define.amd ? define(['exports', 'react'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.ReactStripe = {}, global.React));\n})(this, (function (exports, React) { 'use strict';\n\n function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n }\n\n function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n }\n\n function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n }\n\n function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n }\n\n function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n }\n\n function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n }\n\n function _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n }\n\n function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n }\n\n function _iterableToArrayLimit(arr, i) {\n var _i = arr && (typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]);\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n\n function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n function getDefaultExportFromCjs (x) {\n \treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n }\n\n var propTypes = {exports: {}};\n\n /**\n * Copyright (c) 2013-present, Facebook, Inc.\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 var ReactPropTypesSecret_1;\n var hasRequiredReactPropTypesSecret;\n\n function requireReactPropTypesSecret() {\n if (hasRequiredReactPropTypesSecret) return ReactPropTypesSecret_1;\n hasRequiredReactPropTypesSecret = 1;\n\n var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n ReactPropTypesSecret_1 = ReactPropTypesSecret;\n return ReactPropTypesSecret_1;\n }\n\n /**\n * Copyright (c) 2013-present, Facebook, Inc.\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 var factoryWithThrowingShims;\n var hasRequiredFactoryWithThrowingShims;\n\n function requireFactoryWithThrowingShims() {\n if (hasRequiredFactoryWithThrowingShims) return factoryWithThrowingShims;\n hasRequiredFactoryWithThrowingShims = 1;\n\n var ReactPropTypesSecret = requireReactPropTypesSecret();\n\n function emptyFunction() {}\n\n function emptyFunctionWithReset() {}\n\n emptyFunctionWithReset.resetWarningCache = emptyFunction;\n\n factoryWithThrowingShims = function () {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n\n var err = new Error('Calling PropTypes validators directly is not supported by the `prop-types` package. ' + 'Use PropTypes.checkPropTypes() to call them. ' + 'Read more at http://fb.me/use-check-prop-types');\n err.name = 'Invariant Violation';\n throw err;\n }\n shim.isRequired = shim;\n\n function getShim() {\n return shim;\n }\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n ReactPropTypes.PropTypes = ReactPropTypes;\n return ReactPropTypes;\n };\n\n return factoryWithThrowingShims;\n }\n\n /**\n * Copyright (c) 2013-present, Facebook, Inc.\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 // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n propTypes.exports = requireFactoryWithThrowingShims()();\n }\n\n var propTypesExports = propTypes.exports;\n var PropTypes = /*@__PURE__*/getDefaultExportFromCjs(propTypesExports);\n\n var useAttachEvent = function useAttachEvent(element, event, cb) {\n var cbDefined = !!cb;\n var cbRef = React.useRef(cb); // In many integrations the callback prop changes on each render.\n // Using a ref saves us from calling element.on/.off every render.\n\n React.useEffect(function () {\n cbRef.current = cb;\n }, [cb]);\n React.useEffect(function () {\n if (!cbDefined || !element) {\n return function () {};\n }\n\n var decoratedCb = function decoratedCb() {\n if (cbRef.current) {\n cbRef.current.apply(cbRef, arguments);\n }\n };\n\n element.on(event, decoratedCb);\n return function () {\n element.off(event, decoratedCb);\n };\n }, [cbDefined, event, element, cbRef]);\n };\n\n var usePrevious = function usePrevious(value) {\n var ref = React.useRef(value);\n React.useEffect(function () {\n ref.current = value;\n }, [value]);\n return ref.current;\n };\n\n var isUnknownObject = function isUnknownObject(raw) {\n return raw !== null && _typeof(raw) === 'object';\n };\n var isPromise = function isPromise(raw) {\n return isUnknownObject(raw) && typeof raw.then === 'function';\n }; // We are using types to enforce the `stripe` prop in this lib,\n // but in an untyped integration `stripe` could be anything, so we need\n // to do some sanity validation to prevent type errors.\n\n var isStripe = function isStripe(raw) {\n return isUnknownObject(raw) && typeof raw.elements === 'function' && typeof raw.createToken === 'function' && typeof raw.createPaymentMethod === 'function' && typeof raw.confirmCardPayment === 'function';\n };\n\n var PLAIN_OBJECT_STR = '[object Object]';\n var isEqual = function isEqual(left, right) {\n if (!isUnknownObject(left) || !isUnknownObject(right)) {\n return left === right;\n }\n\n var leftArray = Array.isArray(left);\n var rightArray = Array.isArray(right);\n if (leftArray !== rightArray) return false;\n var leftPlainObject = Object.prototype.toString.call(left) === PLAIN_OBJECT_STR;\n var rightPlainObject = Object.prototype.toString.call(right) === PLAIN_OBJECT_STR;\n if (leftPlainObject !== rightPlainObject) return false; // not sure what sort of special object this is (regexp is one option), so\n // fallback to reference check.\n\n if (!leftPlainObject && !leftArray) return left === right;\n var leftKeys = Object.keys(left);\n var rightKeys = Object.keys(right);\n if (leftKeys.length !== rightKeys.length) return false;\n var keySet = {};\n\n for (var i = 0; i < leftKeys.length; i += 1) {\n keySet[leftKeys[i]] = true;\n }\n\n for (var _i = 0; _i < rightKeys.length; _i += 1) {\n keySet[rightKeys[_i]] = true;\n }\n\n var allKeys = Object.keys(keySet);\n\n if (allKeys.length !== leftKeys.length) {\n return false;\n }\n\n var l = left;\n var r = right;\n\n var pred = function pred(key) {\n return isEqual(l[key], r[key]);\n };\n\n return allKeys.every(pred);\n };\n\n var extractAllowedOptionsUpdates = function extractAllowedOptionsUpdates(options, prevOptions, immutableKeys) {\n if (!isUnknownObject(options)) {\n return null;\n }\n\n return Object.keys(options).reduce(function (newOptions, key) {\n var isUpdated = !isUnknownObject(prevOptions) || !isEqual(options[key], prevOptions[key]);\n\n if (immutableKeys.includes(key)) {\n if (isUpdated) {\n console.warn(\"Unsupported prop change: options.\".concat(key, \" is not a mutable property.\"));\n }\n\n return newOptions;\n }\n\n if (!isUpdated) {\n return newOptions;\n }\n\n return _objectSpread2(_objectSpread2({}, newOptions || {}), {}, _defineProperty({}, key, options[key]));\n }, null);\n };\n\n var INVALID_STRIPE_ERROR$2 = 'Invalid prop `stripe` supplied to `Elements`. We recommend using the `loadStripe` utility from `@stripe/stripe-js`. See https://stripe.com/docs/stripe-js/react#elements-props-stripe for details.'; // We are using types to enforce the `stripe` prop in this lib, but in a real\n // integration `stripe` could be anything, so we need to do some sanity\n // validation to prevent type errors.\n\n var validateStripe = function validateStripe(maybeStripe) {\n var errorMsg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : INVALID_STRIPE_ERROR$2;\n\n if (maybeStripe === null || isStripe(maybeStripe)) {\n return maybeStripe;\n }\n\n throw new Error(errorMsg);\n };\n\n var parseStripeProp = function parseStripeProp(raw) {\n var errorMsg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : INVALID_STRIPE_ERROR$2;\n\n if (isPromise(raw)) {\n return {\n tag: 'async',\n stripePromise: Promise.resolve(raw).then(function (result) {\n return validateStripe(result, errorMsg);\n })\n };\n }\n\n var stripe = validateStripe(raw, errorMsg);\n\n if (stripe === null) {\n return {\n tag: 'empty'\n };\n }\n\n return {\n tag: 'sync',\n stripe: stripe\n };\n };\n\n var registerWithStripeJs = function registerWithStripeJs(stripe) {\n if (!stripe || !stripe._registerWrapper || !stripe.registerAppInfo) {\n return;\n }\n\n stripe._registerWrapper({\n name: 'react-stripe-js',\n version: \"3.5.1\"\n });\n\n stripe.registerAppInfo({\n name: 'react-stripe-js',\n version: \"3.5.1\",\n url: 'https://stripe.com/docs/stripe-js/react'\n });\n };\n\n var ElementsContext = /*#__PURE__*/React.createContext(null);\n ElementsContext.displayName = 'ElementsContext';\n var parseElementsContext = function parseElementsContext(ctx, useCase) {\n if (!ctx) {\n throw new Error(\"Could not find Elements context; You need to wrap the part of your app that \".concat(useCase, \" in an provider.\"));\n }\n\n return ctx;\n };\n /**\n * The `Elements` provider allows you to use [Element components](https://stripe.com/docs/stripe-js/react#element-components) and access the [Stripe object](https://stripe.com/docs/js/initializing) in any nested component.\n * Render an `Elements` provider at the root of your React app so that it is available everywhere you need it.\n *\n * To use the `Elements` provider, call `loadStripe` from `@stripe/stripe-js` with your publishable key.\n * The `loadStripe` function will asynchronously load the Stripe.js script and initialize a `Stripe` object.\n * Pass the returned `Promise` to `Elements`.\n *\n * @docs https://stripe.com/docs/stripe-js/react#elements-provider\n */\n\n var Elements = function Elements(_ref) {\n var rawStripeProp = _ref.stripe,\n options = _ref.options,\n children = _ref.children;\n var parsed = React.useMemo(function () {\n return parseStripeProp(rawStripeProp);\n }, [rawStripeProp]); // For a sync stripe instance, initialize into context\n\n var _React$useState = React.useState(function () {\n return {\n stripe: parsed.tag === 'sync' ? parsed.stripe : null,\n elements: parsed.tag === 'sync' ? parsed.stripe.elements(options) : null\n };\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n ctx = _React$useState2[0],\n setContext = _React$useState2[1];\n\n React.useEffect(function () {\n var isMounted = true;\n\n var safeSetContext = function safeSetContext(stripe) {\n setContext(function (ctx) {\n // no-op if we already have a stripe instance (https://github.com/stripe/react-stripe-js/issues/296)\n if (ctx.stripe) return ctx;\n return {\n stripe: stripe,\n elements: stripe.elements(options)\n };\n });\n }; // For an async stripePromise, store it in context once resolved\n\n\n if (parsed.tag === 'async' && !ctx.stripe) {\n parsed.stripePromise.then(function (stripe) {\n if (stripe && isMounted) {\n // Only update Elements context if the component is still mounted\n // and stripe is not null. We allow stripe to be null to make\n // handling SSR easier.\n safeSetContext(stripe);\n }\n });\n } else if (parsed.tag === 'sync' && !ctx.stripe) {\n // Or, handle a sync stripe instance going from null -> populated\n safeSetContext(parsed.stripe);\n }\n\n return function () {\n isMounted = false;\n };\n }, [parsed, ctx, options]); // Warn on changes to stripe prop\n\n var prevStripe = usePrevious(rawStripeProp);\n React.useEffect(function () {\n if (prevStripe !== null && prevStripe !== rawStripeProp) {\n console.warn('Unsupported prop change on Elements: You cannot change the `stripe` prop after setting it.');\n }\n }, [prevStripe, rawStripeProp]); // Apply updates to elements when options prop has relevant changes\n\n var prevOptions = usePrevious(options);\n React.useEffect(function () {\n if (!ctx.elements) {\n return;\n }\n\n var updates = extractAllowedOptionsUpdates(options, prevOptions, ['clientSecret', 'fonts']);\n\n if (updates) {\n ctx.elements.update(updates);\n }\n }, [options, prevOptions, ctx.elements]); // Attach react-stripe-js version to stripe.js instance\n\n React.useEffect(function () {\n registerWithStripeJs(ctx.stripe);\n }, [ctx.stripe]);\n return /*#__PURE__*/React.createElement(ElementsContext.Provider, {\n value: ctx\n }, children);\n };\n Elements.propTypes = {\n stripe: PropTypes.any,\n options: PropTypes.object\n };\n var useElementsContextWithUseCase = function useElementsContextWithUseCase(useCaseMessage) {\n var ctx = React.useContext(ElementsContext);\n return parseElementsContext(ctx, useCaseMessage);\n };\n /**\n * @docs https://stripe.com/docs/stripe-js/react#useelements-hook\n */\n\n var useElements = function useElements() {\n var _useElementsContextWi = useElementsContextWithUseCase('calls useElements()'),\n elements = _useElementsContextWi.elements;\n\n return elements;\n };\n /**\n * @docs https://stripe.com/docs/stripe-js/react#elements-consumer\n */\n\n var ElementsConsumer = function ElementsConsumer(_ref2) {\n var children = _ref2.children;\n var ctx = useElementsContextWithUseCase('mounts '); // Assert to satisfy the busted React.FC return type (it should be ReactNode)\n\n return children(ctx);\n };\n ElementsConsumer.propTypes = {\n children: PropTypes.func.isRequired\n };\n\n var _excluded$1 = [\"on\", \"session\"];\n var CheckoutSdkContext = /*#__PURE__*/React.createContext(null);\n CheckoutSdkContext.displayName = 'CheckoutSdkContext';\n var parseCheckoutSdkContext = function parseCheckoutSdkContext(ctx, useCase) {\n if (!ctx) {\n throw new Error(\"Could not find CheckoutProvider context; You need to wrap the part of your app that \".concat(useCase, \" in an provider.\"));\n }\n\n return ctx;\n };\n var CheckoutContext = /*#__PURE__*/React.createContext(null);\n CheckoutContext.displayName = 'CheckoutContext';\n var extractCheckoutContextValue = function extractCheckoutContextValue(checkoutSdk, sessionState) {\n if (!checkoutSdk) {\n return null;\n }\n\n checkoutSdk.on;\n checkoutSdk.session;\n var actions = _objectWithoutProperties(checkoutSdk, _excluded$1);\n\n if (!sessionState) {\n return Object.assign(checkoutSdk.session(), actions);\n }\n\n return Object.assign(sessionState, actions);\n };\n var INVALID_STRIPE_ERROR$1 = 'Invalid prop `stripe` supplied to `CheckoutProvider`. We recommend using the `loadStripe` utility from `@stripe/stripe-js`. See https://stripe.com/docs/stripe-js/react#elements-props-stripe for details.';\n var CheckoutProvider = function CheckoutProvider(_ref) {\n var rawStripeProp = _ref.stripe,\n options = _ref.options,\n children = _ref.children;\n var parsed = React.useMemo(function () {\n return parseStripeProp(rawStripeProp, INVALID_STRIPE_ERROR$1);\n }, [rawStripeProp]); // State used to trigger a re-render when sdk.session is updated\n\n var _React$useState = React.useState(null),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n session = _React$useState2[0],\n setSession = _React$useState2[1];\n\n var _React$useState3 = React.useState(function () {\n return {\n stripe: parsed.tag === 'sync' ? parsed.stripe : null,\n checkoutSdk: null\n };\n }),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n ctx = _React$useState4[0],\n setContext = _React$useState4[1];\n\n var safeSetContext = function safeSetContext(stripe, checkoutSdk) {\n setContext(function (ctx) {\n if (ctx.stripe && ctx.checkoutSdk) {\n return ctx;\n }\n\n return {\n stripe: stripe,\n checkoutSdk: checkoutSdk\n };\n });\n }; // Ref used to avoid calling initCheckout multiple times when options changes\n\n\n var initCheckoutCalledRef = React.useRef(false);\n React.useEffect(function () {\n var isMounted = true;\n\n if (parsed.tag === 'async' && !ctx.stripe) {\n parsed.stripePromise.then(function (stripe) {\n if (stripe && isMounted && !initCheckoutCalledRef.current) {\n // Only update context if the component is still mounted\n // and stripe is not null. We allow stripe to be null to make\n // handling SSR easier.\n initCheckoutCalledRef.current = true;\n stripe.initCheckout(options).then(function (checkoutSdk) {\n if (checkoutSdk) {\n safeSetContext(stripe, checkoutSdk);\n checkoutSdk.on('change', setSession);\n }\n });\n }\n });\n } else if (parsed.tag === 'sync' && parsed.stripe && !initCheckoutCalledRef.current) {\n initCheckoutCalledRef.current = true;\n parsed.stripe.initCheckout(options).then(function (checkoutSdk) {\n if (checkoutSdk) {\n safeSetContext(parsed.stripe, checkoutSdk);\n checkoutSdk.on('change', setSession);\n }\n });\n }\n\n return function () {\n isMounted = false;\n };\n }, [parsed, ctx, options, setSession]); // Warn on changes to stripe prop\n\n var prevStripe = usePrevious(rawStripeProp);\n React.useEffect(function () {\n if (prevStripe !== null && prevStripe !== rawStripeProp) {\n console.warn('Unsupported prop change on CheckoutProvider: You cannot change the `stripe` prop after setting it.');\n }\n }, [prevStripe, rawStripeProp]); // Apply updates to elements when options prop has relevant changes\n\n var prevOptions = usePrevious(options);\n React.useEffect(function () {\n var _prevOptions$elements, _options$elementsOpti;\n\n if (!ctx.checkoutSdk) {\n return;\n }\n\n var previousAppearance = prevOptions === null || prevOptions === void 0 ? void 0 : (_prevOptions$elements = prevOptions.elementsOptions) === null || _prevOptions$elements === void 0 ? void 0 : _prevOptions$elements.appearance;\n var currentAppearance = options === null || options === void 0 ? void 0 : (_options$elementsOpti = options.elementsOptions) === null || _options$elementsOpti === void 0 ? void 0 : _options$elementsOpti.appearance;\n\n if (currentAppearance && !isEqual(currentAppearance, previousAppearance)) {\n ctx.checkoutSdk.changeAppearance(currentAppearance);\n }\n }, [options, prevOptions, ctx.checkoutSdk]); // Attach react-stripe-js version to stripe.js instance\n\n React.useEffect(function () {\n registerWithStripeJs(ctx.stripe);\n }, [ctx.stripe]);\n var checkoutContextValue = React.useMemo(function () {\n return extractCheckoutContextValue(ctx.checkoutSdk, session);\n }, [ctx.checkoutSdk, session]);\n\n if (!ctx.checkoutSdk) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(CheckoutSdkContext.Provider, {\n value: ctx\n }, /*#__PURE__*/React.createElement(CheckoutContext.Provider, {\n value: checkoutContextValue\n }, children));\n };\n CheckoutProvider.propTypes = {\n stripe: PropTypes.any,\n options: PropTypes.shape({\n fetchClientSecret: PropTypes.func.isRequired,\n elementsOptions: PropTypes.object\n }).isRequired\n };\n var useCheckoutSdkContextWithUseCase = function useCheckoutSdkContextWithUseCase(useCaseString) {\n var ctx = React.useContext(CheckoutSdkContext);\n return parseCheckoutSdkContext(ctx, useCaseString);\n };\n var useElementsOrCheckoutSdkContextWithUseCase = function useElementsOrCheckoutSdkContextWithUseCase(useCaseString) {\n var checkoutSdkContext = React.useContext(CheckoutSdkContext);\n var elementsContext = React.useContext(ElementsContext);\n\n if (checkoutSdkContext && elementsContext) {\n throw new Error(\"You cannot wrap the part of your app that \".concat(useCaseString, \" in both and providers.\"));\n }\n\n if (checkoutSdkContext) {\n return parseCheckoutSdkContext(checkoutSdkContext, useCaseString);\n }\n\n return parseElementsContext(elementsContext, useCaseString);\n };\n var useCheckout = function useCheckout() {\n // ensure it's in CheckoutProvider\n useCheckoutSdkContextWithUseCase('calls useCheckout()');\n var ctx = React.useContext(CheckoutContext);\n\n if (!ctx) {\n throw new Error('Could not find Checkout Context; You need to wrap the part of your app that calls useCheckout() in an provider.');\n }\n\n return ctx;\n };\n\n var _excluded = [\"mode\"];\n\n var capitalized = function capitalized(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n };\n\n var createElementComponent = function createElementComponent(type, isServer) {\n var displayName = \"\".concat(capitalized(type), \"Element\");\n\n var ClientElement = function ClientElement(_ref) {\n var id = _ref.id,\n className = _ref.className,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options,\n onBlur = _ref.onBlur,\n onFocus = _ref.onFocus,\n onReady = _ref.onReady,\n onChange = _ref.onChange,\n onEscape = _ref.onEscape,\n onClick = _ref.onClick,\n onLoadError = _ref.onLoadError,\n onLoaderStart = _ref.onLoaderStart,\n onNetworksChange = _ref.onNetworksChange,\n onConfirm = _ref.onConfirm,\n onCancel = _ref.onCancel,\n onShippingAddressChange = _ref.onShippingAddressChange,\n onShippingRateChange = _ref.onShippingRateChange;\n var ctx = useElementsOrCheckoutSdkContextWithUseCase(\"mounts <\".concat(displayName, \">\"));\n var elements = 'elements' in ctx ? ctx.elements : null;\n var checkoutSdk = 'checkoutSdk' in ctx ? ctx.checkoutSdk : null;\n\n var _React$useState = React.useState(null),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n element = _React$useState2[0],\n setElement = _React$useState2[1];\n\n var elementRef = React.useRef(null);\n var domNode = React.useRef(null); // For every event where the merchant provides a callback, call element.on\n // with that callback. If the merchant ever changes the callback, removes\n // the old callback with element.off and then call element.on with the new one.\n\n useAttachEvent(element, 'blur', onBlur);\n useAttachEvent(element, 'focus', onFocus);\n useAttachEvent(element, 'escape', onEscape);\n useAttachEvent(element, 'click', onClick);\n useAttachEvent(element, 'loaderror', onLoadError);\n useAttachEvent(element, 'loaderstart', onLoaderStart);\n useAttachEvent(element, 'networkschange', onNetworksChange);\n useAttachEvent(element, 'confirm', onConfirm);\n useAttachEvent(element, 'cancel', onCancel);\n useAttachEvent(element, 'shippingaddresschange', onShippingAddressChange);\n useAttachEvent(element, 'shippingratechange', onShippingRateChange);\n useAttachEvent(element, 'change', onChange);\n var readyCallback;\n\n if (onReady) {\n if (type === 'expressCheckout') {\n // Passes through the event, which includes visible PM types\n readyCallback = onReady;\n } else {\n // For other Elements, pass through the Element itself.\n readyCallback = function readyCallback() {\n onReady(element);\n };\n }\n }\n\n useAttachEvent(element, 'ready', readyCallback);\n React.useLayoutEffect(function () {\n if (elementRef.current === null && domNode.current !== null && (elements || checkoutSdk)) {\n var newElement = null;\n\n if (checkoutSdk) {\n switch (type) {\n case 'payment':\n newElement = checkoutSdk.createPaymentElement(options);\n break;\n\n case 'address':\n if ('mode' in options) {\n var mode = options.mode,\n restOptions = _objectWithoutProperties(options, _excluded);\n\n if (mode === 'shipping') {\n newElement = checkoutSdk.createShippingAddressElement(restOptions);\n } else if (mode === 'billing') {\n newElement = checkoutSdk.createBillingAddressElement(restOptions);\n } else {\n throw new Error(\"Invalid options.mode. mode must be 'billing' or 'shipping'.\");\n }\n } else {\n throw new Error(\"You must supply options.mode. mode must be 'billing' or 'shipping'.\");\n }\n\n break;\n\n case 'expressCheckout':\n newElement = checkoutSdk.createExpressCheckoutElement(options);\n break;\n\n case 'currencySelector':\n newElement = checkoutSdk.createCurrencySelectorElement();\n break;\n\n default:\n throw new Error(\"Invalid Element type \".concat(displayName, \". You must use either the , , , or .\"));\n }\n } else if (elements) {\n newElement = elements.create(type, options);\n } // Store element in a ref to ensure it's _immediately_ available in cleanup hooks in StrictMode\n\n\n elementRef.current = newElement; // Store element in state to facilitate event listener attachment\n\n setElement(newElement);\n\n if (newElement) {\n newElement.mount(domNode.current);\n }\n }\n }, [elements, checkoutSdk, options]);\n var prevOptions = usePrevious(options);\n React.useEffect(function () {\n if (!elementRef.current) {\n return;\n }\n\n var updates = extractAllowedOptionsUpdates(options, prevOptions, ['paymentRequest']);\n\n if (updates && 'update' in elementRef.current) {\n elementRef.current.update(updates);\n }\n }, [options, prevOptions]);\n React.useLayoutEffect(function () {\n return function () {\n if (elementRef.current && typeof elementRef.current.destroy === 'function') {\n try {\n elementRef.current.destroy();\n elementRef.current = null;\n } catch (error) {// Do nothing\n }\n }\n };\n }, []);\n return /*#__PURE__*/React.createElement(\"div\", {\n id: id,\n className: className,\n ref: domNode\n });\n }; // Only render the Element wrapper in a server environment.\n\n\n var ServerElement = function ServerElement(props) {\n useElementsOrCheckoutSdkContextWithUseCase(\"mounts <\".concat(displayName, \">\"));\n var id = props.id,\n className = props.className;\n return /*#__PURE__*/React.createElement(\"div\", {\n id: id,\n className: className\n });\n };\n\n var Element = isServer ? ServerElement : ClientElement;\n Element.propTypes = {\n id: PropTypes.string,\n className: PropTypes.string,\n onChange: PropTypes.func,\n onBlur: PropTypes.func,\n onFocus: PropTypes.func,\n onReady: PropTypes.func,\n onEscape: PropTypes.func,\n onClick: PropTypes.func,\n onLoadError: PropTypes.func,\n onLoaderStart: PropTypes.func,\n onNetworksChange: PropTypes.func,\n onConfirm: PropTypes.func,\n onCancel: PropTypes.func,\n onShippingAddressChange: PropTypes.func,\n onShippingRateChange: PropTypes.func,\n options: PropTypes.object\n };\n Element.displayName = displayName;\n Element.__elementType = type;\n return Element;\n };\n\n var isServer = typeof window === 'undefined';\n\n var EmbeddedCheckoutContext = /*#__PURE__*/React.createContext(null);\n EmbeddedCheckoutContext.displayName = 'EmbeddedCheckoutProviderContext';\n var useEmbeddedCheckoutContext = function useEmbeddedCheckoutContext() {\n var ctx = React.useContext(EmbeddedCheckoutContext);\n\n if (!ctx) {\n throw new Error(' must be used within ');\n }\n\n return ctx;\n };\n var INVALID_STRIPE_ERROR = 'Invalid prop `stripe` supplied to `EmbeddedCheckoutProvider`. We recommend using the `loadStripe` utility from `@stripe/stripe-js`. See https://stripe.com/docs/stripe-js/react#elements-props-stripe for details.';\n var EmbeddedCheckoutProvider = function EmbeddedCheckoutProvider(_ref) {\n var rawStripeProp = _ref.stripe,\n options = _ref.options,\n children = _ref.children;\n var parsed = React.useMemo(function () {\n return parseStripeProp(rawStripeProp, INVALID_STRIPE_ERROR);\n }, [rawStripeProp]);\n var embeddedCheckoutPromise = React.useRef(null);\n var loadedStripe = React.useRef(null);\n\n var _React$useState = React.useState({\n embeddedCheckout: null\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n ctx = _React$useState2[0],\n setContext = _React$useState2[1];\n\n React.useEffect(function () {\n // Don't support any ctx updates once embeddedCheckout or stripe is set.\n if (loadedStripe.current || embeddedCheckoutPromise.current) {\n return;\n }\n\n var setStripeAndInitEmbeddedCheckout = function setStripeAndInitEmbeddedCheckout(stripe) {\n if (loadedStripe.current || embeddedCheckoutPromise.current) return;\n loadedStripe.current = stripe;\n embeddedCheckoutPromise.current = loadedStripe.current.initEmbeddedCheckout(options).then(function (embeddedCheckout) {\n setContext({\n embeddedCheckout: embeddedCheckout\n });\n });\n }; // For an async stripePromise, store it once resolved\n\n\n if (parsed.tag === 'async' && !loadedStripe.current && (options.clientSecret || options.fetchClientSecret)) {\n parsed.stripePromise.then(function (stripe) {\n if (stripe) {\n setStripeAndInitEmbeddedCheckout(stripe);\n }\n });\n } else if (parsed.tag === 'sync' && !loadedStripe.current && (options.clientSecret || options.fetchClientSecret)) {\n // Or, handle a sync stripe instance going from null -> populated\n setStripeAndInitEmbeddedCheckout(parsed.stripe);\n }\n }, [parsed, options, ctx, loadedStripe]);\n React.useEffect(function () {\n // cleanup on unmount\n return function () {\n // If embedded checkout is fully initialized, destroy it.\n if (ctx.embeddedCheckout) {\n embeddedCheckoutPromise.current = null;\n ctx.embeddedCheckout.destroy();\n } else if (embeddedCheckoutPromise.current) {\n // If embedded checkout is still initializing, destroy it once\n // it's done. This could be caused by unmounting very quickly\n // after mounting.\n embeddedCheckoutPromise.current.then(function () {\n embeddedCheckoutPromise.current = null;\n\n if (ctx.embeddedCheckout) {\n ctx.embeddedCheckout.destroy();\n }\n });\n }\n };\n }, [ctx.embeddedCheckout]); // Attach react-stripe-js version to stripe.js instance\n\n React.useEffect(function () {\n registerWithStripeJs(loadedStripe);\n }, [loadedStripe]); // Warn on changes to stripe prop.\n // The stripe prop value can only go from null to non-null once and\n // can't be changed after that.\n\n var prevStripe = usePrevious(rawStripeProp);\n React.useEffect(function () {\n if (prevStripe !== null && prevStripe !== rawStripeProp) {\n console.warn('Unsupported prop change on EmbeddedCheckoutProvider: You cannot change the `stripe` prop after setting it.');\n }\n }, [prevStripe, rawStripeProp]); // Warn on changes to options.\n\n var prevOptions = usePrevious(options);\n React.useEffect(function () {\n if (prevOptions == null) {\n return;\n }\n\n if (options == null) {\n console.warn('Unsupported prop change on EmbeddedCheckoutProvider: You cannot unset options after setting them.');\n return;\n }\n\n if (options.clientSecret === undefined && options.fetchClientSecret === undefined) {\n console.warn('Invalid props passed to EmbeddedCheckoutProvider: You must provide one of either `options.fetchClientSecret` or `options.clientSecret`.');\n }\n\n if (prevOptions.clientSecret != null && options.clientSecret !== prevOptions.clientSecret) {\n console.warn('Unsupported prop change on EmbeddedCheckoutProvider: You cannot change the client secret after setting it. Unmount and create a new instance of EmbeddedCheckoutProvider instead.');\n }\n\n if (prevOptions.fetchClientSecret != null && options.fetchClientSecret !== prevOptions.fetchClientSecret) {\n console.warn('Unsupported prop change on EmbeddedCheckoutProvider: You cannot change fetchClientSecret after setting it. Unmount and create a new instance of EmbeddedCheckoutProvider instead.');\n }\n\n if (prevOptions.onComplete != null && options.onComplete !== prevOptions.onComplete) {\n console.warn('Unsupported prop change on EmbeddedCheckoutProvider: You cannot change the onComplete option after setting it.');\n }\n\n if (prevOptions.onShippingDetailsChange != null && options.onShippingDetailsChange !== prevOptions.onShippingDetailsChange) {\n console.warn('Unsupported prop change on EmbeddedCheckoutProvider: You cannot change the onShippingDetailsChange option after setting it.');\n }\n\n if (prevOptions.onLineItemsChange != null && options.onLineItemsChange !== prevOptions.onLineItemsChange) {\n console.warn('Unsupported prop change on EmbeddedCheckoutProvider: You cannot change the onLineItemsChange option after setting it.');\n }\n }, [prevOptions, options]);\n return /*#__PURE__*/React.createElement(EmbeddedCheckoutContext.Provider, {\n value: ctx\n }, children);\n };\n\n var EmbeddedCheckoutClientElement = function EmbeddedCheckoutClientElement(_ref) {\n var id = _ref.id,\n className = _ref.className;\n\n var _useEmbeddedCheckoutC = useEmbeddedCheckoutContext(),\n embeddedCheckout = _useEmbeddedCheckoutC.embeddedCheckout;\n\n var isMounted = React.useRef(false);\n var domNode = React.useRef(null);\n React.useLayoutEffect(function () {\n if (!isMounted.current && embeddedCheckout && domNode.current !== null) {\n embeddedCheckout.mount(domNode.current);\n isMounted.current = true;\n } // Clean up on unmount\n\n\n return function () {\n if (isMounted.current && embeddedCheckout) {\n try {\n embeddedCheckout.unmount();\n isMounted.current = false;\n } catch (e) {// Do nothing.\n // Parent effects are destroyed before child effects, so\n // in cases where both the EmbeddedCheckoutProvider and\n // the EmbeddedCheckout component are removed at the same\n // time, the embeddedCheckout instance will be destroyed,\n // which causes an error when calling unmount.\n }\n }\n };\n }, [embeddedCheckout]);\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: domNode,\n id: id,\n className: className\n });\n }; // Only render the wrapper in a server environment.\n\n\n var EmbeddedCheckoutServerElement = function EmbeddedCheckoutServerElement(_ref2) {\n var id = _ref2.id,\n className = _ref2.className;\n // Validate that we are in the right context by calling useEmbeddedCheckoutContext.\n useEmbeddedCheckoutContext();\n return /*#__PURE__*/React.createElement(\"div\", {\n id: id,\n className: className\n });\n };\n\n var EmbeddedCheckout = isServer ? EmbeddedCheckoutServerElement : EmbeddedCheckoutClientElement;\n\n /**\n * @docs https://stripe.com/docs/stripe-js/react#usestripe-hook\n */\n\n var useStripe = function useStripe() {\n var _useElementsOrCheckou = useElementsOrCheckoutSdkContextWithUseCase('calls useStripe()'),\n stripe = _useElementsOrCheckou.stripe;\n\n return stripe;\n };\n\n /**\n * Requires beta access:\n * Contact [Stripe support](https://support.stripe.com/) for more information.\n *\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\n var AuBankAccountElement = createElementComponent('auBankAccount', isServer);\n /**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\n var CardElement = createElementComponent('card', isServer);\n /**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\n var CardNumberElement = createElementComponent('cardNumber', isServer);\n /**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\n var CardExpiryElement = createElementComponent('cardExpiry', isServer);\n /**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\n var CardCvcElement = createElementComponent('cardCvc', isServer);\n /**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\n var FpxBankElement = createElementComponent('fpxBank', isServer);\n /**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\n var IbanElement = createElementComponent('iban', isServer);\n /**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\n var IdealBankElement = createElementComponent('idealBank', isServer);\n /**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\n var P24BankElement = createElementComponent('p24Bank', isServer);\n /**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\n var EpsBankElement = createElementComponent('epsBank', isServer);\n var PaymentElement = createElementComponent('payment', isServer);\n /**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\n var ExpressCheckoutElement = createElementComponent('expressCheckout', isServer);\n /**\n * Requires beta access:\n * Contact [Stripe support](https://support.stripe.com/) for more information.\n */\n\n var CurrencySelectorElement = createElementComponent('currencySelector', isServer);\n /**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\n var PaymentRequestButtonElement = createElementComponent('paymentRequestButton', isServer);\n /**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\n var LinkAuthenticationElement = createElementComponent('linkAuthentication', isServer);\n /**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\n var AddressElement = createElementComponent('address', isServer);\n /**\n * @deprecated\n * Use `AddressElement` instead.\n *\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\n var ShippingAddressElement = createElementComponent('shippingAddress', isServer);\n /**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\n var PaymentMethodMessagingElement = createElementComponent('paymentMethodMessaging', isServer);\n /**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\n var AffirmMessageElement = createElementComponent('affirmMessage', isServer);\n /**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\n var AfterpayClearpayMessageElement = createElementComponent('afterpayClearpayMessage', isServer);\n\n exports.AddressElement = AddressElement;\n exports.AffirmMessageElement = AffirmMessageElement;\n exports.AfterpayClearpayMessageElement = AfterpayClearpayMessageElement;\n exports.AuBankAccountElement = AuBankAccountElement;\n exports.CardCvcElement = CardCvcElement;\n exports.CardElement = CardElement;\n exports.CardExpiryElement = CardExpiryElement;\n exports.CardNumberElement = CardNumberElement;\n exports.CheckoutProvider = CheckoutProvider;\n exports.CurrencySelectorElement = CurrencySelectorElement;\n exports.Elements = Elements;\n exports.ElementsConsumer = ElementsConsumer;\n exports.EmbeddedCheckout = EmbeddedCheckout;\n exports.EmbeddedCheckoutProvider = EmbeddedCheckoutProvider;\n exports.EpsBankElement = EpsBankElement;\n exports.ExpressCheckoutElement = ExpressCheckoutElement;\n exports.FpxBankElement = FpxBankElement;\n exports.IbanElement = IbanElement;\n exports.IdealBankElement = IdealBankElement;\n exports.LinkAuthenticationElement = LinkAuthenticationElement;\n exports.P24BankElement = P24BankElement;\n exports.PaymentElement = PaymentElement;\n exports.PaymentMethodMessagingElement = PaymentMethodMessagingElement;\n exports.PaymentRequestButtonElement = PaymentRequestButtonElement;\n exports.ShippingAddressElement = ShippingAddressElement;\n exports.useCheckout = useCheckout;\n exports.useElements = useElements;\n exports.useStripe = useStripe;\n\n}));\n","// http://www.w3.org/TR/CSS21/grammar.html\n// https://github.com/visionmedia/css-parse/pull/49#issuecomment-30088027\nvar COMMENT_REGEX = /\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//g;\n\nvar NEWLINE_REGEX = /\\n/g;\nvar WHITESPACE_REGEX = /^\\s*/;\n\n// declaration\nvar PROPERTY_REGEX = /^(\\*?[-#/*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/;\nvar COLON_REGEX = /^:\\s*/;\nvar VALUE_REGEX = /^((?:'(?:\\\\'|.)*?'|\"(?:\\\\\"|.)*?\"|\\([^)]*?\\)|[^};])+)/;\nvar SEMICOLON_REGEX = /^[;\\s]*/;\n\n// https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String/Trim#Polyfill\nvar TRIM_REGEX = /^\\s+|\\s+$/g;\n\n// strings\nvar NEWLINE = '\\n';\nvar FORWARD_SLASH = '/';\nvar ASTERISK = '*';\nvar EMPTY_STRING = '';\n\n// types\nvar TYPE_COMMENT = 'comment';\nvar TYPE_DECLARATION = 'declaration';\n\n/**\n * @param {String} style\n * @param {Object} [options]\n * @return {Object[]}\n * @throws {TypeError}\n * @throws {Error}\n */\nmodule.exports = function (style, options) {\n if (typeof style !== 'string') {\n throw new TypeError('First argument must be a string');\n }\n\n if (!style) return [];\n\n options = options || {};\n\n /**\n * Positional.\n */\n var lineno = 1;\n var column = 1;\n\n /**\n * Update lineno and column based on `str`.\n *\n * @param {String} str\n */\n function updatePosition(str) {\n var lines = str.match(NEWLINE_REGEX);\n if (lines) lineno += lines.length;\n var i = str.lastIndexOf(NEWLINE);\n column = ~i ? str.length - i : column + str.length;\n }\n\n /**\n * Mark position and patch `node.position`.\n *\n * @return {Function}\n */\n function position() {\n var start = { line: lineno, column: column };\n return function (node) {\n node.position = new Position(start);\n whitespace();\n return node;\n };\n }\n\n /**\n * Store position information for a node.\n *\n * @constructor\n * @property {Object} start\n * @property {Object} end\n * @property {undefined|String} source\n */\n function Position(start) {\n this.start = start;\n this.end = { line: lineno, column: column };\n this.source = options.source;\n }\n\n /**\n * Non-enumerable source string.\n */\n Position.prototype.content = style;\n\n var errorsList = [];\n\n /**\n * Error `msg`.\n *\n * @param {String} msg\n * @throws {Error}\n */\n function error(msg) {\n var err = new Error(\n options.source + ':' + lineno + ':' + column + ': ' + msg\n );\n err.reason = msg;\n err.filename = options.source;\n err.line = lineno;\n err.column = column;\n err.source = style;\n\n if (options.silent) {\n errorsList.push(err);\n } else {\n throw err;\n }\n }\n\n /**\n * Match `re` and return captures.\n *\n * @param {RegExp} re\n * @return {undefined|Array}\n */\n function match(re) {\n var m = re.exec(style);\n if (!m) return;\n var str = m[0];\n updatePosition(str);\n style = style.slice(str.length);\n return m;\n }\n\n /**\n * Parse whitespace.\n */\n function whitespace() {\n match(WHITESPACE_REGEX);\n }\n\n /**\n * Parse comments.\n *\n * @param {Object[]} [rules]\n * @return {Object[]}\n */\n function comments(rules) {\n var c;\n rules = rules || [];\n while ((c = comment())) {\n if (c !== false) {\n rules.push(c);\n }\n }\n return rules;\n }\n\n /**\n * Parse comment.\n *\n * @return {Object}\n * @throws {Error}\n */\n function comment() {\n var pos = position();\n if (FORWARD_SLASH != style.charAt(0) || ASTERISK != style.charAt(1)) return;\n\n var i = 2;\n while (\n EMPTY_STRING != style.charAt(i) &&\n (ASTERISK != style.charAt(i) || FORWARD_SLASH != style.charAt(i + 1))\n ) {\n ++i;\n }\n i += 2;\n\n if (EMPTY_STRING === style.charAt(i - 1)) {\n return error('End of comment missing');\n }\n\n var str = style.slice(2, i - 2);\n column += 2;\n updatePosition(str);\n style = style.slice(i);\n column += 2;\n\n return pos({\n type: TYPE_COMMENT,\n comment: str\n });\n }\n\n /**\n * Parse declaration.\n *\n * @return {Object}\n * @throws {Error}\n */\n function declaration() {\n var pos = position();\n\n // prop\n var prop = match(PROPERTY_REGEX);\n if (!prop) return;\n comment();\n\n // :\n if (!match(COLON_REGEX)) return error(\"property missing ':'\");\n\n // val\n var val = match(VALUE_REGEX);\n\n var ret = pos({\n type: TYPE_DECLARATION,\n property: trim(prop[0].replace(COMMENT_REGEX, EMPTY_STRING)),\n value: val\n ? trim(val[0].replace(COMMENT_REGEX, EMPTY_STRING))\n : EMPTY_STRING\n });\n\n // ;\n match(SEMICOLON_REGEX);\n\n return ret;\n }\n\n /**\n * Parse declarations.\n *\n * @return {Object[]}\n */\n function declarations() {\n var decls = [];\n\n comments(decls);\n\n // declarations\n var decl;\n while ((decl = declaration())) {\n if (decl !== false) {\n decls.push(decl);\n comments(decls);\n }\n }\n\n return decls;\n }\n\n whitespace();\n return declarations();\n};\n\n/**\n * Trim `str`.\n *\n * @param {String} str\n * @return {String}\n */\nfunction trim(str) {\n return str ? str.replace(TRIM_REGEX, EMPTY_STRING) : EMPTY_STRING;\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.development.js');\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _reactEasySwipe = _interopRequireDefault(require(\"react-easy-swipe\"));\n\nvar _cssClasses = _interopRequireDefault(require(\"../../cssClasses\"));\n\nvar _Thumbs = _interopRequireDefault(require(\"../Thumbs\"));\n\nvar _document = _interopRequireDefault(require(\"../../shims/document\"));\n\nvar _window = _interopRequireDefault(require(\"../../shims/window\"));\n\nvar _utils = require(\"./utils\");\n\nvar _animations = require(\"./animations\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar Carousel = /*#__PURE__*/function (_React$Component) {\n _inherits(Carousel, _React$Component);\n\n var _super = _createSuper(Carousel);\n\n // @ts-ignore\n function Carousel(props) {\n var _this;\n\n _classCallCheck(this, Carousel);\n\n _this = _super.call(this, props);\n\n _defineProperty(_assertThisInitialized(_this), \"thumbsRef\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"carouselWrapperRef\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"listRef\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"itemsRef\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"timer\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"animationHandler\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"setThumbsRef\", function (node) {\n _this.thumbsRef = node;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"setCarouselWrapperRef\", function (node) {\n _this.carouselWrapperRef = node;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"setListRef\", function (node) {\n _this.listRef = node;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"setItemsRef\", function (node, index) {\n if (!_this.itemsRef) {\n _this.itemsRef = [];\n }\n\n _this.itemsRef[index] = node;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"autoPlay\", function () {\n if (_react.Children.count(_this.props.children) <= 1) {\n return;\n }\n\n _this.clearAutoPlay();\n\n if (!_this.props.autoPlay) {\n return;\n }\n\n _this.timer = setTimeout(function () {\n _this.increment();\n }, _this.props.interval);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"clearAutoPlay\", function () {\n if (_this.timer) clearTimeout(_this.timer);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"resetAutoPlay\", function () {\n _this.clearAutoPlay();\n\n _this.autoPlay();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"stopOnHover\", function () {\n _this.setState({\n isMouseEntered: true\n }, _this.clearAutoPlay);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"startOnLeave\", function () {\n _this.setState({\n isMouseEntered: false\n }, _this.autoPlay);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"isFocusWithinTheCarousel\", function () {\n if (!_this.carouselWrapperRef) {\n return false;\n }\n\n if ((0, _document.default)().activeElement === _this.carouselWrapperRef || _this.carouselWrapperRef.contains((0, _document.default)().activeElement)) {\n return true;\n }\n\n return false;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"navigateWithKeyboard\", function (e) {\n if (!_this.isFocusWithinTheCarousel()) {\n return;\n }\n\n var axis = _this.props.axis;\n var isHorizontal = axis === 'horizontal';\n var keyNames = {\n ArrowUp: 38,\n ArrowRight: 39,\n ArrowDown: 40,\n ArrowLeft: 37\n };\n var nextKey = isHorizontal ? keyNames.ArrowRight : keyNames.ArrowDown;\n var prevKey = isHorizontal ? keyNames.ArrowLeft : keyNames.ArrowUp;\n\n if (nextKey === e.keyCode) {\n _this.increment();\n } else if (prevKey === e.keyCode) {\n _this.decrement();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"updateSizes\", function () {\n if (!_this.state.initialized || !_this.itemsRef || _this.itemsRef.length === 0) {\n return;\n }\n\n var isHorizontal = _this.props.axis === 'horizontal';\n var firstItem = _this.itemsRef[0];\n\n if (!firstItem) {\n return;\n }\n\n var itemSize = isHorizontal ? firstItem.clientWidth : firstItem.clientHeight;\n\n _this.setState({\n itemSize: itemSize\n });\n\n if (_this.thumbsRef) {\n _this.thumbsRef.updateSizes();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"setMountState\", function () {\n _this.setState({\n hasMount: true\n });\n\n _this.updateSizes();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleClickItem\", function (index, item) {\n if (_react.Children.count(_this.props.children) === 0) {\n return;\n }\n\n if (_this.state.cancelClick) {\n _this.setState({\n cancelClick: false\n });\n\n return;\n }\n\n _this.props.onClickItem(index, item);\n\n if (index !== _this.state.selectedItem) {\n _this.setState({\n selectedItem: index\n });\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleOnChange\", function (index, item) {\n if (_react.Children.count(_this.props.children) <= 1) {\n return;\n }\n\n _this.props.onChange(index, item);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleClickThumb\", function (index, item) {\n _this.props.onClickThumb(index, item);\n\n _this.moveTo(index);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSwipeStart\", function (event) {\n _this.setState({\n swiping: true\n });\n\n _this.props.onSwipeStart(event);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSwipeEnd\", function (event) {\n _this.setState({\n swiping: false,\n cancelClick: false,\n swipeMovementStarted: false\n });\n\n _this.props.onSwipeEnd(event);\n\n _this.clearAutoPlay();\n\n if (_this.state.autoPlay) {\n _this.autoPlay();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSwipeMove\", function (delta, event) {\n _this.props.onSwipeMove(event);\n\n var animationHandlerResponse = _this.props.swipeAnimationHandler(delta, _this.props, _this.state, _this.setState.bind(_assertThisInitialized(_this)));\n\n _this.setState(_objectSpread({}, animationHandlerResponse)); // If we have not moved, we should have an empty object returned\n // Return false to allow scrolling when not swiping\n\n\n return !!Object.keys(animationHandlerResponse).length;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"decrement\", function () {\n var positions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;\n\n _this.moveTo(_this.state.selectedItem - (typeof positions === 'number' ? positions : 1));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"increment\", function () {\n var positions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;\n\n _this.moveTo(_this.state.selectedItem + (typeof positions === 'number' ? positions : 1));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"moveTo\", function (position) {\n if (typeof position !== 'number') {\n return;\n }\n\n var lastPosition = _react.Children.count(_this.props.children) - 1;\n\n if (position < 0) {\n position = _this.props.infiniteLoop ? lastPosition : 0;\n }\n\n if (position > lastPosition) {\n position = _this.props.infiniteLoop ? 0 : lastPosition;\n }\n\n _this.selectItem({\n // if it's not a slider, we don't need to set position here\n selectedItem: position\n }); // don't reset auto play when stop on hover is enabled, doing so will trigger a call to auto play more than once\n // and will result in the interval function not being cleared correctly.\n\n\n if (_this.state.autoPlay && _this.state.isMouseEntered === false) {\n _this.resetAutoPlay();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onClickNext\", function () {\n _this.increment(1);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onClickPrev\", function () {\n _this.decrement(1);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSwipeForward\", function () {\n _this.increment(1);\n\n if (_this.props.emulateTouch) {\n _this.setState({\n cancelClick: true\n });\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSwipeBackwards\", function () {\n _this.decrement(1);\n\n if (_this.props.emulateTouch) {\n _this.setState({\n cancelClick: true\n });\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"changeItem\", function (newIndex) {\n return function (e) {\n if (!(0, _utils.isKeyboardEvent)(e) || e.key === 'Enter') {\n _this.moveTo(newIndex);\n }\n };\n });\n\n _defineProperty(_assertThisInitialized(_this), \"selectItem\", function (state) {\n // Merge in the new state while updating updating previous item\n _this.setState(_objectSpread({\n previousItem: _this.state.selectedItem\n }, state), function () {\n // Run animation handler and update styles based on it\n _this.setState(_this.animationHandler(_this.props, _this.state));\n });\n\n _this.handleOnChange(state.selectedItem, _react.Children.toArray(_this.props.children)[state.selectedItem]);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getInitialImage\", function () {\n var selectedItem = _this.props.selectedItem;\n var item = _this.itemsRef && _this.itemsRef[selectedItem];\n var images = item && item.getElementsByTagName('img') || [];\n return images[0];\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getVariableItemHeight\", function (position) {\n var item = _this.itemsRef && _this.itemsRef[position];\n\n if (_this.state.hasMount && item && item.children.length) {\n var slideImages = item.children[0].getElementsByTagName('img') || [];\n\n if (slideImages.length > 0) {\n var image = slideImages[0];\n\n if (!image.complete) {\n // if the image is still loading, the size won't be available so we trigger a new render after it's done\n var onImageLoad = function onImageLoad() {\n _this.forceUpdate();\n\n image.removeEventListener('load', onImageLoad);\n };\n\n image.addEventListener('load', onImageLoad);\n }\n } // try to get img first, if img not there find first display tag\n\n\n var displayItem = slideImages[0] || item.children[0];\n var height = displayItem.clientHeight;\n return height > 0 ? height : null;\n }\n\n return null;\n });\n\n var initState = {\n initialized: false,\n previousItem: props.selectedItem,\n selectedItem: props.selectedItem,\n hasMount: false,\n isMouseEntered: false,\n autoPlay: props.autoPlay,\n swiping: false,\n swipeMovementStarted: false,\n cancelClick: false,\n itemSize: 1,\n itemListStyle: {},\n slideStyle: {},\n selectedStyle: {},\n prevStyle: {}\n };\n _this.animationHandler = typeof props.animationHandler === 'function' && props.animationHandler || props.animationHandler === 'fade' && _animations.fadeAnimationHandler || _animations.slideAnimationHandler;\n _this.state = _objectSpread(_objectSpread({}, initState), _this.animationHandler(props, initState));\n return _this;\n }\n\n _createClass(Carousel, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (!this.props.children) {\n return;\n }\n\n this.setupCarousel();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n if (!prevProps.children && this.props.children && !this.state.initialized) {\n this.setupCarousel();\n }\n\n if (!prevProps.autoFocus && this.props.autoFocus) {\n this.forceFocus();\n }\n\n if (prevState.swiping && !this.state.swiping) {\n // We stopped swiping, ensure we are heading to the new/current slide and not stuck\n this.setState(_objectSpread({}, this.props.stopSwipingHandler(this.props, this.state)));\n }\n\n if (prevProps.selectedItem !== this.props.selectedItem || prevProps.centerMode !== this.props.centerMode) {\n this.updateSizes();\n this.moveTo(this.props.selectedItem);\n }\n\n if (prevProps.autoPlay !== this.props.autoPlay) {\n if (this.props.autoPlay) {\n this.setupAutoPlay();\n } else {\n this.destroyAutoPlay();\n }\n\n this.setState({\n autoPlay: this.props.autoPlay\n });\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.destroyCarousel();\n }\n }, {\n key: \"setupCarousel\",\n value: function setupCarousel() {\n var _this2 = this;\n\n this.bindEvents();\n\n if (this.state.autoPlay && _react.Children.count(this.props.children) > 1) {\n this.setupAutoPlay();\n }\n\n if (this.props.autoFocus) {\n this.forceFocus();\n }\n\n this.setState({\n initialized: true\n }, function () {\n var initialImage = _this2.getInitialImage();\n\n if (initialImage && !initialImage.complete) {\n // if it's a carousel of images, we set the mount state after the first image is loaded\n initialImage.addEventListener('load', _this2.setMountState);\n } else {\n _this2.setMountState();\n }\n });\n }\n }, {\n key: \"destroyCarousel\",\n value: function destroyCarousel() {\n if (this.state.initialized) {\n this.unbindEvents();\n this.destroyAutoPlay();\n }\n }\n }, {\n key: \"setupAutoPlay\",\n value: function setupAutoPlay() {\n this.autoPlay();\n var carouselWrapper = this.carouselWrapperRef;\n\n if (this.props.stopOnHover && carouselWrapper) {\n carouselWrapper.addEventListener('mouseenter', this.stopOnHover);\n carouselWrapper.addEventListener('mouseleave', this.startOnLeave);\n }\n }\n }, {\n key: \"destroyAutoPlay\",\n value: function destroyAutoPlay() {\n this.clearAutoPlay();\n var carouselWrapper = this.carouselWrapperRef;\n\n if (this.props.stopOnHover && carouselWrapper) {\n carouselWrapper.removeEventListener('mouseenter', this.stopOnHover);\n carouselWrapper.removeEventListener('mouseleave', this.startOnLeave);\n }\n }\n }, {\n key: \"bindEvents\",\n value: function bindEvents() {\n // as the widths are calculated, we need to resize\n // the carousel when the window is resized\n (0, _window.default)().addEventListener('resize', this.updateSizes); // issue #2 - image loading smaller\n\n (0, _window.default)().addEventListener('DOMContentLoaded', this.updateSizes);\n\n if (this.props.useKeyboardArrows) {\n (0, _document.default)().addEventListener('keydown', this.navigateWithKeyboard);\n }\n }\n }, {\n key: \"unbindEvents\",\n value: function unbindEvents() {\n // removing listeners\n (0, _window.default)().removeEventListener('resize', this.updateSizes);\n (0, _window.default)().removeEventListener('DOMContentLoaded', this.updateSizes);\n var initialImage = this.getInitialImage();\n\n if (initialImage) {\n initialImage.removeEventListener('load', this.setMountState);\n }\n\n if (this.props.useKeyboardArrows) {\n (0, _document.default)().removeEventListener('keydown', this.navigateWithKeyboard);\n }\n }\n }, {\n key: \"forceFocus\",\n value: function forceFocus() {\n var _this$carouselWrapper;\n\n (_this$carouselWrapper = this.carouselWrapperRef) === null || _this$carouselWrapper === void 0 ? void 0 : _this$carouselWrapper.focus();\n }\n }, {\n key: \"renderItems\",\n value: function renderItems(isClone) {\n var _this3 = this;\n\n if (!this.props.children) {\n return [];\n }\n\n return _react.Children.map(this.props.children, function (item, index) {\n var isSelected = index === _this3.state.selectedItem;\n var isPrevious = index === _this3.state.previousItem;\n var style = isSelected && _this3.state.selectedStyle || isPrevious && _this3.state.prevStyle || _this3.state.slideStyle || {};\n\n if (_this3.props.centerMode && _this3.props.axis === 'horizontal') {\n style = _objectSpread(_objectSpread({}, style), {}, {\n minWidth: _this3.props.centerSlidePercentage + '%'\n });\n }\n\n if (_this3.state.swiping && _this3.state.swipeMovementStarted) {\n style = _objectSpread(_objectSpread({}, style), {}, {\n pointerEvents: 'none'\n });\n }\n\n var slideProps = {\n ref: function ref(e) {\n return _this3.setItemsRef(e, index);\n },\n key: 'itemKey' + index + (isClone ? 'clone' : ''),\n className: _cssClasses.default.ITEM(true, index === _this3.state.selectedItem, index === _this3.state.previousItem),\n onClick: _this3.handleClickItem.bind(_this3, index, item),\n style: style\n };\n return /*#__PURE__*/_react.default.createElement(\"li\", slideProps, _this3.props.renderItem(item, {\n isSelected: index === _this3.state.selectedItem,\n isPrevious: index === _this3.state.previousItem\n }));\n });\n }\n }, {\n key: \"renderControls\",\n value: function renderControls() {\n var _this4 = this;\n\n var _this$props = this.props,\n showIndicators = _this$props.showIndicators,\n labels = _this$props.labels,\n renderIndicator = _this$props.renderIndicator,\n children = _this$props.children;\n\n if (!showIndicators) {\n return null;\n }\n\n return /*#__PURE__*/_react.default.createElement(\"ul\", {\n className: \"control-dots\"\n }, _react.Children.map(children, function (_, index) {\n return renderIndicator && renderIndicator(_this4.changeItem(index), index === _this4.state.selectedItem, index, labels.item);\n }));\n }\n }, {\n key: \"renderStatus\",\n value: function renderStatus() {\n if (!this.props.showStatus) {\n return null;\n }\n\n return /*#__PURE__*/_react.default.createElement(\"p\", {\n className: \"carousel-status\"\n }, this.props.statusFormatter(this.state.selectedItem + 1, _react.Children.count(this.props.children)));\n }\n }, {\n key: \"renderThumbs\",\n value: function renderThumbs() {\n if (!this.props.showThumbs || !this.props.children || _react.Children.count(this.props.children) === 0) {\n return null;\n }\n\n return /*#__PURE__*/_react.default.createElement(_Thumbs.default, {\n ref: this.setThumbsRef,\n onSelectItem: this.handleClickThumb,\n selectedItem: this.state.selectedItem,\n transitionTime: this.props.transitionTime,\n thumbWidth: this.props.thumbWidth,\n labels: this.props.labels,\n emulateTouch: this.props.emulateTouch\n }, this.props.renderThumbs(this.props.children));\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this5 = this;\n\n if (!this.props.children || _react.Children.count(this.props.children) === 0) {\n return null;\n }\n\n var isSwipeable = this.props.swipeable && _react.Children.count(this.props.children) > 1;\n var isHorizontal = this.props.axis === 'horizontal';\n var canShowArrows = this.props.showArrows && _react.Children.count(this.props.children) > 1; // show left arrow?\n\n var hasPrev = canShowArrows && (this.state.selectedItem > 0 || this.props.infiniteLoop) || false; // show right arrow\n\n var hasNext = canShowArrows && (this.state.selectedItem < _react.Children.count(this.props.children) - 1 || this.props.infiniteLoop) || false;\n var itemsClone = this.renderItems(true);\n var firstClone = itemsClone.shift();\n var lastClone = itemsClone.pop();\n var swiperProps = {\n className: _cssClasses.default.SLIDER(true, this.state.swiping),\n onSwipeMove: this.onSwipeMove,\n onSwipeStart: this.onSwipeStart,\n onSwipeEnd: this.onSwipeEnd,\n style: this.state.itemListStyle,\n tolerance: this.props.swipeScrollTolerance\n };\n var containerStyles = {};\n\n if (isHorizontal) {\n swiperProps.onSwipeLeft = this.onSwipeForward;\n swiperProps.onSwipeRight = this.onSwipeBackwards;\n\n if (this.props.dynamicHeight) {\n var itemHeight = this.getVariableItemHeight(this.state.selectedItem); // swiperProps.style.height = itemHeight || 'auto';\n\n containerStyles.height = itemHeight || 'auto';\n }\n } else {\n swiperProps.onSwipeUp = this.props.verticalSwipe === 'natural' ? this.onSwipeBackwards : this.onSwipeForward;\n swiperProps.onSwipeDown = this.props.verticalSwipe === 'natural' ? this.onSwipeForward : this.onSwipeBackwards;\n swiperProps.style = _objectSpread(_objectSpread({}, swiperProps.style), {}, {\n height: this.state.itemSize\n });\n containerStyles.height = this.state.itemSize;\n }\n\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n \"aria-label\": this.props.ariaLabel,\n className: _cssClasses.default.ROOT(this.props.className),\n ref: this.setCarouselWrapperRef,\n tabIndex: this.props.useKeyboardArrows ? 0 : undefined\n }, /*#__PURE__*/_react.default.createElement(\"div\", {\n className: _cssClasses.default.CAROUSEL(true),\n style: {\n width: this.props.width\n }\n }, this.renderControls(), this.props.renderArrowPrev(this.onClickPrev, hasPrev, this.props.labels.leftArrow), /*#__PURE__*/_react.default.createElement(\"div\", {\n className: _cssClasses.default.WRAPPER(true, this.props.axis),\n style: containerStyles\n }, isSwipeable ? /*#__PURE__*/_react.default.createElement(_reactEasySwipe.default, _extends({\n tagName: \"ul\",\n innerRef: this.setListRef\n }, swiperProps, {\n allowMouseEvents: this.props.emulateTouch\n }), this.props.infiniteLoop && lastClone, this.renderItems(), this.props.infiniteLoop && firstClone) : /*#__PURE__*/_react.default.createElement(\"ul\", {\n className: _cssClasses.default.SLIDER(true, this.state.swiping),\n ref: function ref(node) {\n return _this5.setListRef(node);\n },\n style: this.state.itemListStyle || {}\n }, this.props.infiniteLoop && lastClone, this.renderItems(), this.props.infiniteLoop && firstClone)), this.props.renderArrowNext(this.onClickNext, hasNext, this.props.labels.rightArrow), this.renderStatus()), this.renderThumbs());\n }\n }]);\n\n return Carousel;\n}(_react.default.Component);\n\nexports.default = Carousel;\n\n_defineProperty(Carousel, \"displayName\", 'Carousel');\n\n_defineProperty(Carousel, \"defaultProps\", {\n ariaLabel: undefined,\n axis: 'horizontal',\n centerSlidePercentage: 80,\n interval: 3000,\n labels: {\n leftArrow: 'previous slide / item',\n rightArrow: 'next slide / item',\n item: 'slide item'\n },\n onClickItem: _utils.noop,\n onClickThumb: _utils.noop,\n onChange: _utils.noop,\n onSwipeStart: function onSwipeStart() {},\n onSwipeEnd: function onSwipeEnd() {},\n onSwipeMove: function onSwipeMove() {\n return false;\n },\n preventMovementUntilSwipeScrollTolerance: false,\n renderArrowPrev: function renderArrowPrev(onClickHandler, hasPrev, label) {\n return /*#__PURE__*/_react.default.createElement(\"button\", {\n type: \"button\",\n \"aria-label\": label,\n className: _cssClasses.default.ARROW_PREV(!hasPrev),\n onClick: onClickHandler\n });\n },\n renderArrowNext: function renderArrowNext(onClickHandler, hasNext, label) {\n return /*#__PURE__*/_react.default.createElement(\"button\", {\n type: \"button\",\n \"aria-label\": label,\n className: _cssClasses.default.ARROW_NEXT(!hasNext),\n onClick: onClickHandler\n });\n },\n renderIndicator: function renderIndicator(onClickHandler, isSelected, index, label) {\n return /*#__PURE__*/_react.default.createElement(\"li\", {\n className: _cssClasses.default.DOT(isSelected),\n onClick: onClickHandler,\n onKeyDown: onClickHandler,\n value: index,\n key: index,\n role: \"button\",\n tabIndex: 0,\n \"aria-label\": \"\".concat(label, \" \").concat(index + 1)\n });\n },\n renderItem: function renderItem(item) {\n return item;\n },\n renderThumbs: function renderThumbs(children) {\n var images = _react.Children.map(children, function (item) {\n var img = item; // if the item is not an image, try to find the first image in the item's children.\n\n if (item.type !== 'img') {\n img = _react.Children.toArray(item.props.children).find(function (children) {\n return children.type === 'img';\n });\n }\n\n if (!img) {\n return undefined;\n }\n\n return img;\n });\n\n if (images.filter(function (image) {\n return image;\n }).length === 0) {\n console.warn(\"No images found! Can't build the thumb list without images. If you don't need thumbs, set showThumbs={false} in the Carousel. Note that it's not possible to get images rendered inside custom components. More info at https://github.com/leandrowd/react-responsive-carousel/blob/master/TROUBLESHOOTING.md\");\n return [];\n }\n\n return images;\n },\n statusFormatter: _utils.defaultStatusFormatter,\n selectedItem: 0,\n showArrows: true,\n showIndicators: true,\n showStatus: true,\n showThumbs: true,\n stopOnHover: true,\n swipeScrollTolerance: 5,\n swipeable: true,\n transitionTime: 350,\n verticalSwipe: 'standard',\n width: '100%',\n animationHandler: 'slide',\n swipeAnimationHandler: _animations.slideSwipeAnimationHandler,\n stopSwipingHandler: _animations.slideStopSwipingHandler\n});","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _default = function _default() {\n return document;\n};\n\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.setPosition = exports.getPosition = exports.isKeyboardEvent = exports.defaultStatusFormatter = exports.noop = void 0;\n\nvar _react = require(\"react\");\n\nvar _CSSTranslate = _interopRequireDefault(require(\"../../CSSTranslate\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar noop = function noop() {};\n\nexports.noop = noop;\n\nvar defaultStatusFormatter = function defaultStatusFormatter(current, total) {\n return \"\".concat(current, \" of \").concat(total);\n};\n\nexports.defaultStatusFormatter = defaultStatusFormatter;\n\nvar isKeyboardEvent = function isKeyboardEvent(e) {\n return e ? e.hasOwnProperty('key') : false;\n};\n/**\n * Gets the list 'position' relative to a current index\n * @param index\n */\n\n\nexports.isKeyboardEvent = isKeyboardEvent;\n\nvar getPosition = function getPosition(index, props) {\n if (props.infiniteLoop) {\n // index has to be added by 1 because of the first cloned slide\n ++index;\n }\n\n if (index === 0) {\n return 0;\n }\n\n var childrenLength = _react.Children.count(props.children);\n\n if (props.centerMode && props.axis === 'horizontal') {\n var currentPosition = -index * props.centerSlidePercentage;\n var lastPosition = childrenLength - 1;\n\n if (index && (index !== lastPosition || props.infiniteLoop)) {\n currentPosition += (100 - props.centerSlidePercentage) / 2;\n } else if (index === lastPosition) {\n currentPosition += 100 - props.centerSlidePercentage;\n }\n\n return currentPosition;\n }\n\n return -index * 100;\n};\n/**\n * Sets the 'position' transform for sliding animations\n * @param position\n * @param forceReflow\n */\n\n\nexports.getPosition = getPosition;\n\nvar setPosition = function setPosition(position, axis) {\n var style = {};\n ['WebkitTransform', 'MozTransform', 'MsTransform', 'OTransform', 'transform', 'msTransform'].forEach(function (prop) {\n // @ts-ignore\n style[prop] = (0, _CSSTranslate.default)(position, '%', axis);\n });\n return style;\n};\n\nexports.setPosition = setPosition;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"Carousel\", {\n enumerable: true,\n get: function get() {\n return _Carousel.default;\n }\n});\nObject.defineProperty(exports, \"CarouselProps\", {\n enumerable: true,\n get: function get() {\n return _types.CarouselProps;\n }\n});\nObject.defineProperty(exports, \"Thumbs\", {\n enumerable: true,\n get: function get() {\n return _Thumbs.default;\n }\n});\n\nvar _Carousel = _interopRequireDefault(require(\"./components/Carousel\"));\n\nvar _types = require(\"./components/Carousel/types\");\n\nvar _Thumbs = _interopRequireDefault(require(\"./components/Thumbs\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar _default = {\n ROOT: function ROOT(customClassName) {\n return (0, _classnames.default)(_defineProperty({\n 'carousel-root': true\n }, customClassName || '', !!customClassName));\n },\n CAROUSEL: function CAROUSEL(isSlider) {\n return (0, _classnames.default)({\n carousel: true,\n 'carousel-slider': isSlider\n });\n },\n WRAPPER: function WRAPPER(isSlider, axis) {\n return (0, _classnames.default)({\n 'thumbs-wrapper': !isSlider,\n 'slider-wrapper': isSlider,\n 'axis-horizontal': axis === 'horizontal',\n 'axis-vertical': axis !== 'horizontal'\n });\n },\n SLIDER: function SLIDER(isSlider, isSwiping) {\n return (0, _classnames.default)({\n thumbs: !isSlider,\n slider: isSlider,\n animated: !isSwiping\n });\n },\n ITEM: function ITEM(isSlider, selected, previous) {\n return (0, _classnames.default)({\n thumb: !isSlider,\n slide: isSlider,\n selected: selected,\n previous: previous\n });\n },\n ARROW_PREV: function ARROW_PREV(disabled) {\n return (0, _classnames.default)({\n 'control-arrow control-prev': true,\n 'control-disabled': disabled\n });\n },\n ARROW_NEXT: function ARROW_NEXT(disabled) {\n return (0, _classnames.default)({\n 'control-arrow control-next': true,\n 'control-disabled': disabled\n });\n },\n DOT: function DOT(selected) {\n return (0, _classnames.default)({\n dot: true,\n selected: selected\n });\n }\n};\nexports.default = _default;","'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","/**\n * @license React\n * use-sync-external-store-shim/with-selector.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\"use strict\";\nvar React = require(\"react\"),\n shim = require(\"use-sync-external-store/shim\");\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 useSyncExternalStore = shim.useSyncExternalStore,\n useRef = React.useRef,\n useEffect = React.useEffect,\n useMemo = React.useMemo,\n useDebugValue = React.useDebugValue;\nexports.useSyncExternalStoreWithSelector = function (\n subscribe,\n getSnapshot,\n getServerSnapshot,\n selector,\n isEqual\n) {\n var instRef = useRef(null);\n if (null === instRef.current) {\n var inst = { hasValue: !1, value: null };\n instRef.current = inst;\n } else inst = instRef.current;\n instRef = useMemo(\n function () {\n function memoizedSelector(nextSnapshot) {\n if (!hasMemo) {\n hasMemo = !0;\n memoizedSnapshot = nextSnapshot;\n nextSnapshot = selector(nextSnapshot);\n if (void 0 !== isEqual && inst.hasValue) {\n var currentSelection = inst.value;\n if (isEqual(currentSelection, nextSnapshot))\n return (memoizedSelection = currentSelection);\n }\n return (memoizedSelection = nextSnapshot);\n }\n currentSelection = memoizedSelection;\n if (objectIs(memoizedSnapshot, nextSnapshot)) return currentSelection;\n var nextSelection = selector(nextSnapshot);\n if (void 0 !== isEqual && isEqual(currentSelection, nextSelection))\n return (memoizedSnapshot = nextSnapshot), currentSelection;\n memoizedSnapshot = nextSnapshot;\n return (memoizedSelection = nextSelection);\n }\n var hasMemo = !1,\n memoizedSnapshot,\n memoizedSelection,\n maybeGetServerSnapshot =\n void 0 === getServerSnapshot ? null : getServerSnapshot;\n return [\n function () {\n return memoizedSelector(getSnapshot());\n },\n null === maybeGetServerSnapshot\n ? void 0\n : function () {\n return memoizedSelector(maybeGetServerSnapshot());\n }\n ];\n },\n [getSnapshot, getServerSnapshot, selector, isEqual]\n );\n var value = useSyncExternalStore(subscribe, instRef[0], instRef[1]);\n useEffect(\n function () {\n inst.hasValue = !0;\n inst.value = value;\n },\n [value]\n );\n useDebugValue(value);\n return value;\n};\n","/**\n * @license React\n * react-dom.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 Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"\")&&(k=k.replace(\"\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e\"+b.valueOf().toString()+\"\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a>=g;e-=g;rg=1<<32-oc(b)+e|c<w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;ww?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&Ng(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=Lg(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Tg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Rg(f.type,f.key,f.props,null,a.mode,h),h.ref=Lg(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=Sg(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);Mg(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=Qg(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Ug=Og(!0),Vg=Og(!1),Wg=Uf(null),Xg=null,Yg=null,Zg=null;function $g(){Zg=Yg=Xg=null}function ah(a){var b=Wg.current;E(Wg);a._currentValue=b}function bh(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}\nfunction ch(a,b){Xg=a;Zg=Yg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(dh=!0),a.firstContext=null)}function eh(a){var b=a._currentValue;if(Zg!==a)if(a={context:a,memoizedValue:b,next:null},null===Yg){if(null===Xg)throw Error(p(308));Yg=a;Xg.dependencies={lanes:0,firstContext:a}}else Yg=Yg.next=a;return b}var fh=null;function gh(a){null===fh?fh=[a]:fh.push(a)}\nfunction hh(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,gh(b)):(c.next=e.next,e.next=c);b.interleaved=c;return ih(a,d)}function ih(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var jh=!1;function kh(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction lh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function mh(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction nh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return ih(a,c)}e=d.interleaved;null===e?(b.next=b,gh(d)):(b.next=e.next,e.next=b);d.interleaved=b;return ih(a,c)}function oh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction ph(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction qh(a,b,c,d){var e=a.updateQueue;jh=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:jh=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);rh|=g;a.lanes=g;a.memoizedState=q}}\nfunction sh(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;bc?c:4;a(!0);var d=Gh.transition;Gh.transition={};try{a(!1),b()}finally{C=c,Gh.transition=d}}function wi(){return Uh().memoizedState}\nfunction xi(a,b,c){var d=yi(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,c);else if(c=hh(a,b,c,d),null!==c){var e=R();gi(c,a,d,e);Bi(c,b,d)}}\nfunction ii(a,b,c){var d=yi(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,gh(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=hh(a,b,e,d);null!==c&&(e=R(),gi(c,a,d,e),Bi(c,b,d))}}\nfunction zi(a){var b=a.alternate;return a===M||null!==b&&b===M}function Ai(a,b){Jh=Ih=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Bi(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar Rh={readContext:eh,useCallback:P,useContext:P,useEffect:P,useImperativeHandle:P,useInsertionEffect:P,useLayoutEffect:P,useMemo:P,useReducer:P,useRef:P,useState:P,useDebugValue:P,useDeferredValue:P,useTransition:P,useMutableSource:P,useSyncExternalStore:P,useId:P,unstable_isNewReconciler:!1},Oh={readContext:eh,useCallback:function(a,b){Th().memoizedState=[a,void 0===b?null:b];return a},useContext:eh,useEffect:mi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ki(4194308,\n4,pi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ki(4194308,4,a,b)},useInsertionEffect:function(a,b){return ki(4,2,a,b)},useMemo:function(a,b){var c=Th();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=Th();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=xi.bind(null,M,a);return[d.memoizedState,a]},useRef:function(a){var b=\nTh();a={current:a};return b.memoizedState=a},useState:hi,useDebugValue:ri,useDeferredValue:function(a){return Th().memoizedState=a},useTransition:function(){var a=hi(!1),b=a[0];a=vi.bind(null,a[1]);Th().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=M,e=Th();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===Q)throw Error(p(349));0!==(Hh&30)||di(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;mi(ai.bind(null,d,\nf,a),[a]);d.flags|=2048;bi(9,ci.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=Th(),b=Q.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Kh++;0\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;zj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eGj&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304)}else{if(!d)if(a=Ch(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Dj(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Gj&&1073741824!==c&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=L.current,G(L,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Hj(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(fj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Ij(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return zh(),E(Wf),E(H),Eh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Bh(b),null;case 13:E(L);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(L),null;case 4:return zh(),null;case 10:return ah(b.type._context),null;case 22:case 23:return Hj(),\nnull;case 24:return null;default:return null}}var Jj=!1,U=!1,Kj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Lj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Mj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Nj=!1;\nfunction Oj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Ci(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Nj;Nj=!1;return n}\nfunction Pj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Mj(b,c,f)}e=e.next}while(e!==d)}}function Qj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Rj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Sj(a){var b=a.alternate;null!==b&&(a.alternate=null,Sj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Tj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Uj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Tj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Vj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Vj(a,b,c),a=a.sibling;null!==a;)Vj(a,b,c),a=a.sibling}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}var X=null,Xj=!1;function Yj(a,b,c){for(c=c.child;null!==c;)Zj(a,b,c),c=c.sibling}\nfunction Zj(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Lj(c,b);case 6:var d=X,e=Xj;X=null;Yj(a,b,c);X=d;Xj=e;null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Xj;X=c.stateNode.containerInfo;Xj=!0;\nYj(a,b,c);X=d;Xj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Mj(c,b,g):0!==(f&4)&&Mj(c,b,g));e=e.next}while(e!==d)}Yj(a,b,c);break;case 1:if(!U&&(Lj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Yj(a,b,c);break;case 21:Yj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Yj(a,b,c),U=d):Yj(a,b,c);break;default:Yj(a,b,c)}}function ak(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Kj);b.forEach(function(b){var d=bk.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction ck(a,b){var c=b.deletions;if(null!==c)for(var d=0;de&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*lk(d/1960))-d;if(10a?16:a;if(null===wk)var d=!1;else{a=wk;wk=null;xk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;kB()-fk?Kk(a,0):rk|=c);Dk(a,b)}function Yk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=R();a=ih(a,b);null!==a&&(Ac(a,b,c),Dk(a,c))}function uj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Yk(a,c)}\nfunction bk(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Yk(a,c)}var Vk;\nVk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)dh=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return dh=!1,yj(a,b,c);dh=0!==(a.flags&131072)?!0:!1}else dh=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;ij(a,b);a=b.pendingProps;var e=Yf(b,H.current);ch(b,c);e=Nh(null,b,d,a,e,c);var f=Sh();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,kh(b),e.updater=Ei,b.stateNode=e,e._reactInternals=b,Ii(b,d,a,c),b=jj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Xi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{ij(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=Zk(d);a=Ci(d,a);switch(e){case 0:b=cj(null,b,d,a,c);break a;case 1:b=hj(null,b,d,a,c);break a;case 11:b=Yi(null,b,d,a,c);break a;case 14:b=$i(null,b,d,Ci(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),cj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),hj(a,b,d,e,c);case 3:a:{kj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;lh(a,b);qh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ji(Error(p(423)),b);b=lj(a,b,d,c,e);break a}else if(d!==e){e=Ji(Error(p(424)),b);b=lj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Vg(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=Zi(a,b,c);break a}Xi(a,b,d,c)}b=b.child}return b;case 5:return Ah(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\ngj(a,b),Xi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return oj(a,b,c);case 4:return yh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Ug(b,null,d,c):Xi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),Yi(a,b,d,e,c);case 7:return Xi(a,b,b.pendingProps,c),b.child;case 8:return Xi(a,b,b.pendingProps.children,c),b.child;case 12:return Xi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Wg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=Zi(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=mh(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);bh(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);bh(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Xi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,ch(b,c),e=eh(e),d=d(e),b.flags|=1,Xi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Ci(d,b.pendingProps),e=Ci(d.type,e),$i(a,b,d,e,c);case 15:return bj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),ij(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,ch(b,c),Gi(b,d,e),Ii(b,d,e,c),jj(null,b,d,!0,a,c);case 19:return xj(a,b,c);case 22:return dj(a,b,c)}throw Error(p(156,b.tag));};function Fk(a,b){return ac(a,b)}\nfunction $k(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new $k(a,b,c,d)}function aj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction Zk(a){if(\"function\"===typeof a)return aj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction Pg(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Rg(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)aj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Tg(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return pj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Tg(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function pj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function Qg(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction Sg(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction al(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function bl(a,b,c,d,e,f,g,h,k){a=new al(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};kh(f);return a}function cl(a,b,c){var d=3 {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"static/js/\" + chunkId + \".\" + \"e8bc64ff\" + \".chunk.js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var inProgress = {};\nvar dataWebpackPrefix = \"tmc-widget:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t792: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunktmc_widget\"] = self[\"webpackChunktmc_widget\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// Default to a dummy \"batch\" implementation that just runs the callback\nfunction defaultNoopBatch(callback) {\n callback();\n}\n\nlet batch = defaultNoopBatch; // Allow injecting another batching function later\n\nexport const setBatch = newBatch => batch = newBatch; // Supply a getter just to skip dealing with ESM bindings\n\nexport const getBatch = () => batch;","import * as React from 'react';\nconst ContextKey = Symbol.for(`react-redux-context`);\nconst gT = typeof globalThis !== \"undefined\" ? globalThis :\n/* fall back to a per-module scope (pre-8.1 behaviour) if `globalThis` is not available */\n{};\n\nfunction getContext() {\n var _gT$ContextKey;\n\n if (!React.createContext) return {};\n const contextMap = (_gT$ContextKey = gT[ContextKey]) != null ? _gT$ContextKey : gT[ContextKey] = new Map();\n let realContext = contextMap.get(React.createContext);\n\n if (!realContext) {\n realContext = React.createContext(null);\n\n if (process.env.NODE_ENV !== 'production') {\n realContext.displayName = 'ReactRedux';\n }\n\n contextMap.set(React.createContext, realContext);\n }\n\n return realContext;\n}\n\nexport const ReactReduxContext = /*#__PURE__*/getContext();\nexport default ReactReduxContext;","import { useContext } from 'react';\nimport { ReactReduxContext } from '../components/Context';\n\n/**\r\n * Hook factory, which creates a `useReduxContext` hook bound to a given context. This is a low-level\r\n * hook that you should usually not need to call directly.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useReduxContext` hook bound to the specified context.\r\n */\nexport function createReduxContextHook(context = ReactReduxContext) {\n return function useReduxContext() {\n const contextValue = useContext(context);\n\n if (process.env.NODE_ENV !== 'production' && !contextValue) {\n throw new Error('could not find react-redux context value; please ensure the component is wrapped in a ');\n }\n\n return contextValue;\n };\n}\n/**\r\n * A hook to access the value of the `ReactReduxContext`. This is a low-level\r\n * hook that you should usually not need to call directly.\r\n *\r\n * @returns {any} the value of the `ReactReduxContext`\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useReduxContext } from 'react-redux'\r\n *\r\n * export const CounterComponent = () => {\r\n * const { store } = useReduxContext()\r\n * return
{store.getState()}
\r\n * }\r\n */\n\nexport const useReduxContext = /*#__PURE__*/createReduxContextHook();","import { useCallback, useDebugValue, useRef } from 'react';\nimport { createReduxContextHook, useReduxContext as useDefaultReduxContext } from './useReduxContext';\nimport { ReactReduxContext } from '../components/Context';\nimport { notInitialized } from '../utils/useSyncExternalStore';\nlet useSyncExternalStoreWithSelector = notInitialized;\nexport const initializeUseSelector = fn => {\n useSyncExternalStoreWithSelector = fn;\n};\n\nconst refEquality = (a, b) => a === b;\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 ``.\r\n * @returns {Function} A `useSelector` hook bound to the specified context.\r\n */\n\n\nexport function createSelectorHook(context = ReactReduxContext) {\n const useReduxContext = context === ReactReduxContext ? useDefaultReduxContext : createReduxContextHook(context);\n return function useSelector(selector, equalityFnOrOptions = {}) {\n const {\n equalityFn = refEquality,\n stabilityCheck = undefined,\n noopCheck = undefined\n } = typeof equalityFnOrOptions === 'function' ? {\n equalityFn: equalityFnOrOptions\n } : equalityFnOrOptions;\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 const {\n store,\n subscription,\n getServerState,\n stabilityCheck: globalStabilityCheck,\n noopCheck: globalNoopCheck\n } = useReduxContext();\n const firstRun = useRef(true);\n const wrappedSelector = useCallback({\n [selector.name](state) {\n const selected = selector(state);\n\n if (process.env.NODE_ENV !== 'production') {\n const finalStabilityCheck = typeof stabilityCheck === 'undefined' ? globalStabilityCheck : stabilityCheck;\n\n if (finalStabilityCheck === 'always' || finalStabilityCheck === 'once' && firstRun.current) {\n const toCompare = selector(state);\n\n if (!equalityFn(selected, toCompare)) {\n let stack = undefined;\n\n try {\n throw new Error();\n } catch (e) {\n ;\n ({\n stack\n } = e);\n }\n\n console.warn('Selector ' + (selector.name || 'unknown') + ' returned a different result when called with the same parameters. This can lead to unnecessary rerenders.' + '\\nSelectors that return a new reference (such as an object or an array) should be memoized: https://redux.js.org/usage/deriving-data-selectors#optimizing-selectors-with-memoization', {\n state,\n selected,\n selected2: toCompare,\n stack\n });\n }\n }\n\n const finalNoopCheck = typeof noopCheck === 'undefined' ? globalNoopCheck : noopCheck;\n\n if (finalNoopCheck === 'always' || finalNoopCheck === 'once' && firstRun.current) {\n // @ts-ignore\n if (selected === state) {\n let stack = undefined;\n\n try {\n throw new Error();\n } catch (e) {\n ;\n ({\n stack\n } = e);\n }\n\n console.warn('Selector ' + (selector.name || 'unknown') + ' returned the root state when called. This can lead to unnecessary rerenders.' + '\\nSelectors that return the entire state are almost certainly a mistake, as they will cause a rerender whenever *anything* in state changes.', {\n stack\n });\n }\n }\n\n if (firstRun.current) firstRun.current = false;\n }\n\n return selected;\n }\n\n }[selector.name], [selector, globalStabilityCheck, stabilityCheck]);\n const selectedState = useSyncExternalStoreWithSelector(subscription.addNestedSub, store.getState, getServerState || store.getState, wrappedSelector, equalityFn);\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
{counter}
\r\n * }\r\n */\n\nexport const useSelector = /*#__PURE__*/createSelectorHook();","export const notInitialized = () => {\n throw new Error('uSES not initialized!');\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 const batch = getBatch();\n let first = null;\n let last = null;\n return {\n clear() {\n first = null;\n last = null;\n },\n\n notify() {\n batch(() => {\n let listener = first;\n\n while (listener) {\n listener.callback();\n listener = listener.next;\n }\n });\n },\n\n get() {\n let listeners = [];\n let listener = first;\n\n while (listener) {\n listeners.push(listener);\n listener = listener.next;\n }\n\n return listeners;\n },\n\n subscribe(callback) {\n let isSubscribed = true;\n let listener = last = {\n 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}\n\nconst nullListeners = {\n notify() {},\n\n get: () => []\n};\nexport function createSubscription(store, parentSub) {\n let unsubscribe;\n let listeners = nullListeners; // Reasons to keep the subscription active\n\n let subscriptionsAmount = 0; // Is this specific subscription subscribed (or only nested ones?)\n\n let selfSubscribed = false;\n\n function addNestedSub(listener) {\n trySubscribe();\n const cleanupListener = listeners.subscribe(listener); // cleanup nested sub\n\n let removed = false;\n return () => {\n if (!removed) {\n removed = true;\n cleanupListener();\n tryUnsubscribe();\n }\n };\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 selfSubscribed;\n }\n\n function trySubscribe() {\n subscriptionsAmount++;\n\n if (!unsubscribe) {\n unsubscribe = parentSub ? parentSub.addNestedSub(handleChangeWrapper) : store.subscribe(handleChangeWrapper);\n listeners = createListenerCollection();\n }\n }\n\n function tryUnsubscribe() {\n subscriptionsAmount--;\n\n if (unsubscribe && subscriptionsAmount === 0) {\n unsubscribe();\n unsubscribe = undefined;\n listeners.clear();\n listeners = nullListeners;\n }\n }\n\n function trySubscribeSelf() {\n if (!selfSubscribed) {\n selfSubscribed = true;\n trySubscribe();\n }\n }\n\n function tryUnsubscribeSelf() {\n if (selfSubscribed) {\n selfSubscribed = false;\n tryUnsubscribe();\n }\n }\n\n const subscription = {\n addNestedSub,\n notifyNestedSubs,\n handleChangeWrapper,\n isSubscribed,\n trySubscribe: trySubscribeSelf,\n tryUnsubscribe: tryUnsubscribeSelf,\n getListeners: () => listeners\n };\n return subscription;\n}","import * as React 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// Matches logic in React's `shared/ExecutionEnvironment` file\n\nexport const canUseDOM = !!(typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined');\nexport const useIsomorphicLayoutEffect = canUseDOM ? React.useLayoutEffect : React.useEffect;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"reactReduxForwardedRef\"];\n\n/* eslint-disable valid-jsdoc, @typescript-eslint/no-unused-vars */\nimport hoistStatics from 'hoist-non-react-statics';\nimport * as React from 'react';\nimport { isValidElementType, isContextConsumer } from 'react-is';\nimport defaultSelectorFactory from '../connect/selectorFactory';\nimport { mapDispatchToPropsFactory } from '../connect/mapDispatchToProps';\nimport { mapStateToPropsFactory } from '../connect/mapStateToProps';\nimport { mergePropsFactory } from '../connect/mergeProps';\nimport { createSubscription } from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\nimport shallowEqual from '../utils/shallowEqual';\nimport warning from '../utils/warning';\nimport { ReactReduxContext } from './Context';\nimport { notInitialized } from '../utils/useSyncExternalStore';\nlet useSyncExternalStore = notInitialized;\nexport const initializeConnect = fn => {\n useSyncExternalStore = fn;\n}; // Define some constant arrays just to avoid re-creating these\n\nconst EMPTY_ARRAY = [null, 0];\nconst NO_SUBSCRIPTION_ARRAY = [null, null]; // Attempts to stringify whatever not-really-a-component value we were given\n// for logging in an error message\n\nconst stringifyComponent = Comp => {\n try {\n return JSON.stringify(Comp);\n } catch (err) {\n return String(Comp);\n }\n};\n\n// This is \"just\" a `useLayoutEffect`, but with two modifications:\n// - we need to fall back to `useEffect` in SSR to avoid annoying warnings\n// - we extract this to a separate function to avoid closing over values\n// and causing memory leaks\nfunction useIsomorphicLayoutEffectWithArgs(effectFunc, effectArgs, dependencies) {\n useIsomorphicLayoutEffect(() => effectFunc(...effectArgs), dependencies);\n} // Effect callback, extracted: assign the latest props values to refs for later usage\n\n\nfunction captureWrapperProps(lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, // actualChildProps: unknown,\nchildPropsFromStoreUpdate, notifyNestedSubs) {\n // We want to capture the wrapper props and child props we used for later comparisons\n lastWrapperProps.current = wrapperProps;\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} // Effect callback, extracted: subscribe to the Redux store or nearest connected ancestor,\n// check for updates after dispatched actions, and trigger re-renders.\n\n\nfunction subscribeUpdates(shouldHandleStateChanges, store, subscription, childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, isMounted, childPropsFromStoreUpdate, notifyNestedSubs, // forceComponentUpdateDispatch: React.Dispatch,\nadditionalSubscribeListener) {\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 let didUnsubscribe = false;\n let lastThrownError = null; // We'll run this callback every time a store subscription update propagates to this component\n\n const checkForUpdates = () => {\n if (didUnsubscribe || !isMounted.current) {\n // Don't run stale listeners.\n // Redux doesn't guarantee unsubscriptions happen until next dispatch.\n return;\n } // TODO We're currently calling getState ourselves here, rather than letting `uSES` do it\n\n\n const latestStoreState = store.getState();\n let 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; // TODO This is hacky and not how `uSES` is meant to be used\n // Trigger the React `useSyncExternalStore` subscriber\n\n additionalSubscribeListener();\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 const 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} // Reducer initial state creation for our update reducer\n\n\nconst initStateUpdates = () => EMPTY_ARRAY;\n\nfunction strictEqual(a, b) {\n return a === b;\n}\n/**\r\n * Infers the type of props that a connector will inject into a component.\r\n */\n\n\nlet hasWarnedAboutDeprecatedPureOption = false;\n/**\r\n * Connects a React component to a Redux store.\r\n *\r\n * - Without arguments, just wraps the component, without changing the behavior / props\r\n *\r\n * - If 2 params are passed (3rd param, mergeProps, is skipped), default behavior\r\n * is to override ownProps (as stated in the docs), so what remains is everything that's\r\n * not a state or dispatch prop\r\n *\r\n * - When 3rd param is passed, we don't know if ownProps propagate and whether they\r\n * should be valid component props, because it depends on mergeProps implementation.\r\n * As such, it is the user's responsibility to extend ownProps interface from state or\r\n * dispatch props or both when applicable\r\n *\r\n * @param mapStateToProps A function that extracts values from state\r\n * @param mapDispatchToProps Setup for dispatching actions\r\n * @param mergeProps Optional callback to merge state and dispatch props together\r\n * @param options Options for configuring the connection\r\n *\r\n */\n\nfunction connect(mapStateToProps, mapDispatchToProps, mergeProps, {\n // The `pure` option has been removed, so TS doesn't like us destructuring this to check its existence.\n // @ts-ignore\n pure,\n areStatesEqual = strictEqual,\n areOwnPropsEqual = shallowEqual,\n areStatePropsEqual = shallowEqual,\n areMergedPropsEqual = shallowEqual,\n // use React's forwardRef to expose a ref of the wrapped component\n forwardRef = false,\n // the context consumer to use\n context = ReactReduxContext\n} = {}) {\n if (process.env.NODE_ENV !== 'production') {\n if (pure !== undefined && !hasWarnedAboutDeprecatedPureOption) {\n hasWarnedAboutDeprecatedPureOption = true;\n warning('The `pure` option has been removed. `connect` is now always a \"pure/memoized\" component');\n }\n }\n\n const Context = context;\n const initMapStateToProps = mapStateToPropsFactory(mapStateToProps);\n const initMapDispatchToProps = mapDispatchToPropsFactory(mapDispatchToProps);\n const initMergeProps = mergePropsFactory(mergeProps);\n const shouldHandleStateChanges = Boolean(mapStateToProps);\n\n const 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 connect. Instead received ${stringifyComponent(WrappedComponent)}`);\n }\n\n const wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\n const displayName = `Connect(${wrappedComponentName})`;\n const selectorFactoryOptions = {\n shouldHandleStateChanges,\n displayName,\n wrappedComponentName,\n WrappedComponent,\n // @ts-ignore\n initMapStateToProps,\n // @ts-ignore\n initMapDispatchToProps,\n initMergeProps,\n areStatesEqual,\n areStatePropsEqual,\n areOwnPropsEqual,\n areMergedPropsEqual\n };\n\n function ConnectFunction(props) {\n const [propsContext, reactReduxForwardedRef, wrapperProps] = React.useMemo(() => {\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 const {\n reactReduxForwardedRef\n } = props,\n wrapperProps = _objectWithoutPropertiesLoose(props, _excluded);\n\n return [props.context, reactReduxForwardedRef, wrapperProps];\n }, [props]);\n const ContextToUse = React.useMemo(() => {\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 && // @ts-ignore\n isContextConsumer( /*#__PURE__*/React.createElement(propsContext.Consumer, null)) ? propsContext : Context;\n }, [propsContext, Context]); // Retrieve the store and ancestor subscription via context, if available\n\n const contextValue = React.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 const didStoreComeFromProps = Boolean(props.store) && Boolean(props.store.getState) && Boolean(props.store.dispatch);\n const 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 , ` + `or pass a custom React context provider to 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 const store = didStoreComeFromProps ? props.store : contextValue.store;\n const getServerState = didStoreComeFromContext ? contextValue.getServerState : store.getState;\n const childPropsSelector = React.useMemo(() => {\n // The child props selector needs the store reference as an input.\n // Re-create this selector whenever the store changes.\n return defaultSelectorFactory(store.dispatch, selectorFactoryOptions);\n }, [store]);\n const [subscription, notifyNestedSubs] = React.useMemo(() => {\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 const subscription = createSubscription(store, didStoreComeFromProps ? undefined : 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 const notifyNestedSubs = subscription.notifyNestedSubs.bind(subscription);\n return [subscription, notifyNestedSubs];\n }, [store, didStoreComeFromProps, contextValue]); // 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 const overriddenContextValue = React.useMemo(() => {\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\n });\n }, [didStoreComeFromProps, contextValue, subscription]); // Set up refs to coordinate values between the subscription effect and the render logic\n\n const lastChildProps = React.useRef();\n const lastWrapperProps = React.useRef(wrapperProps);\n const childPropsFromStoreUpdate = React.useRef();\n const renderIsScheduled = React.useRef(false);\n const isProcessingDispatch = React.useRef(false);\n const isMounted = React.useRef(false);\n const latestSubscriptionCallbackError = React.useRef();\n useIsomorphicLayoutEffect(() => {\n isMounted.current = true;\n return () => {\n isMounted.current = false;\n };\n }, []);\n const actualChildPropsSelector = React.useMemo(() => {\n const selector = () => {\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 };\n\n return selector;\n }, [store, 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 const subscribeForReact = React.useMemo(() => {\n const subscribe = reactListener => {\n if (!subscription) {\n return () => {};\n }\n\n return subscribeUpdates(shouldHandleStateChanges, store, subscription, // @ts-ignore\n childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, isMounted, childPropsFromStoreUpdate, notifyNestedSubs, reactListener);\n };\n\n return subscribe;\n }, [subscription]);\n useIsomorphicLayoutEffectWithArgs(captureWrapperProps, [lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, childPropsFromStoreUpdate, notifyNestedSubs]);\n let actualChildProps;\n\n try {\n actualChildProps = useSyncExternalStore( // TODO We're passing through a big wrapper that does a bunch of extra side effects besides subscribing\n subscribeForReact, // TODO This is incredibly hacky. We've already processed the store update and calculated new child props,\n // TODO and we're just passing that through so it triggers a re-render for us rather than relying on `uSES`.\n actualChildPropsSelector, getServerState ? () => childPropsSelector(getServerState(), wrapperProps) : actualChildPropsSelector);\n } catch (err) {\n if (latestSubscriptionCallbackError.current) {\n ;\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(() => {\n latestSubscriptionCallbackError.current = undefined;\n childPropsFromStoreUpdate.current = undefined;\n lastChildProps.current = actualChildProps;\n }); // 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 const renderedWrappedComponent = React.useMemo(() => {\n return (\n /*#__PURE__*/\n // @ts-ignore\n React.createElement(WrappedComponent, _extends({}, actualChildProps, {\n ref: reactReduxForwardedRef\n }))\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 const renderedChild = React.useMemo(() => {\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 }\n\n const _Connect = React.memo(ConnectFunction);\n\n // Add a hacky cast to get the right output type\n const Connect = _Connect;\n Connect.WrappedComponent = WrappedComponent;\n Connect.displayName = ConnectFunction.displayName = displayName;\n\n if (forwardRef) {\n const _forwarded = React.forwardRef(function forwardConnectRef(props, ref) {\n // @ts-ignore\n return /*#__PURE__*/React.createElement(Connect, _extends({}, props, {\n reactReduxForwardedRef: ref\n }));\n });\n\n const forwarded = _forwarded;\n forwarded.displayName = displayName;\n forwarded.WrappedComponent = WrappedComponent;\n return hoistStatics(forwarded, WrappedComponent);\n }\n\n return hoistStatics(Connect, WrappedComponent);\n };\n\n return wrapWithConnect;\n}\n\nexport default connect;","import * as React from 'react';\nimport { ReactReduxContext } from './Context';\nimport { createSubscription } from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\n\nfunction Provider({\n store,\n context,\n children,\n serverState,\n stabilityCheck = 'once',\n noopCheck = 'once'\n}) {\n const contextValue = React.useMemo(() => {\n const subscription = createSubscription(store);\n return {\n store,\n subscription,\n getServerState: serverState ? () => serverState : undefined,\n stabilityCheck,\n noopCheck\n };\n }, [store, serverState, stabilityCheck, noopCheck]);\n const previousState = React.useMemo(() => store.getState(), [store]);\n useIsomorphicLayoutEffect(() => {\n const {\n subscription\n } = contextValue;\n subscription.onStateChange = subscription.notifyNestedSubs;\n subscription.trySubscribe();\n\n if (previousState !== store.getState()) {\n subscription.notifyNestedSubs();\n }\n\n return () => {\n subscription.tryUnsubscribe();\n subscription.onStateChange = undefined;\n };\n }, [contextValue, previousState]);\n const Context = context || ReactReduxContext; // @ts-ignore 'AnyAction' is assignable to the constraint of type 'A', but 'A' could be instantiated with a different subtype\n\n return /*#__PURE__*/React.createElement(Context.Provider, {\n value: contextValue\n }, children);\n}\n\nexport default Provider;","import { ReactReduxContext } from '../components/Context';\nimport { useReduxContext as useDefaultReduxContext, createReduxContextHook } from './useReduxContext';\n/**\r\n * Hook factory, which creates a `useStore` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useStore` hook bound to the specified context.\r\n */\n\nexport function createStoreHook(context = ReactReduxContext) {\n const useReduxContext = // @ts-ignore\n context === ReactReduxContext ? useDefaultReduxContext : // @ts-ignore\n createReduxContextHook(context);\n return function useStore() {\n const {\n store\n } = useReduxContext(); // @ts-ignore\n\n return store;\n };\n}\n/**\r\n * A hook to access the redux store.\r\n *\r\n * @returns {any} the redux store\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useStore } from 'react-redux'\r\n *\r\n * export const ExampleComponent = () => {\r\n * const store = useStore()\r\n * return
{store.getState()}
\r\n * }\r\n */\n\nexport const useStore = /*#__PURE__*/createStoreHook();","import { ReactReduxContext } from '../components/Context';\nimport { useStore as useDefaultStore, createStoreHook } from './useStore';\n/**\r\n * Hook factory, which creates a `useDispatch` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useDispatch` hook bound to the specified context.\r\n */\n\nexport function createDispatchHook(context = ReactReduxContext) {\n const useStore = // @ts-ignore\n context === ReactReduxContext ? useDefaultStore : createStoreHook(context);\n return function useDispatch() {\n const store = useStore(); // @ts-ignore\n\n return store.dispatch;\n };\n}\n/**\r\n * A hook to access the redux `dispatch` function.\r\n *\r\n * @returns {any|function} redux store's `dispatch` function\r\n *\r\n * @example\r\n *\r\n * import React, { useCallback } from 'react'\r\n * import { useDispatch } from 'react-redux'\r\n *\r\n * export const CounterComponent = ({ value }) => {\r\n * const dispatch = useDispatch()\r\n * const increaseCounter = useCallback(() => dispatch({ type: 'increase-counter' }), [])\r\n * return (\r\n *
\r\n * {value}\r\n * \r\n *
\r\n * )\r\n * }\r\n */\n\nexport const useDispatch = /*#__PURE__*/createDispatchHook();","const errors = {\n\t0: \"Illegal state\",\n\t1: \"Immer drafts cannot have computed properties\",\n\t2: \"This object has been frozen and should not be mutated\",\n\t3(data: any) {\n\t\treturn (\n\t\t\t\"Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? \" +\n\t\t\tdata\n\t\t)\n\t},\n\t4: \"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.\",\n\t5: \"Immer forbids circular references\",\n\t6: \"The first or second argument to `produce` must be a function\",\n\t7: \"The third argument to `produce` must be a function or undefined\",\n\t8: \"First argument to `createDraft` must be a plain object, an array, or an immerable object\",\n\t9: \"First argument to `finishDraft` must be a draft returned by `createDraft`\",\n\t10: \"The given draft is already finalized\",\n\t11: \"Object.defineProperty() cannot be used on an Immer draft\",\n\t12: \"Object.setPrototypeOf() cannot be used on an Immer draft\",\n\t13: \"Immer only supports deleting array indices\",\n\t14: \"Immer only supports setting array indices and the 'length' property\",\n\t15(path: string) {\n\t\treturn \"Cannot apply patch, path doesn't resolve: \" + path\n\t},\n\t16: 'Sets cannot have \"replace\" patches.',\n\t17(op: string) {\n\t\treturn \"Unsupported patch operation: \" + op\n\t},\n\t18(plugin: string) {\n\t\treturn `The plugin for '${plugin}' has not been loaded into Immer. To enable the plugin, import and call \\`enable${plugin}()\\` when initializing your application.`\n\t},\n\t20: \"Cannot use proxies if Proxy, Proxy.revocable or Reflect are not available\",\n\t21(thing: string) {\n\t\treturn `produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '${thing}'`\n\t},\n\t22(thing: string) {\n\t\treturn `'current' expects a draft, got: ${thing}`\n\t},\n\t23(thing: string) {\n\t\treturn `'original' expects a draft, got: ${thing}`\n\t},\n\t24: \"Patching reserved attributes like __proto__, prototype and constructor is not allowed\"\n} as const\n\nexport function die(error: keyof typeof errors, ...args: any[]): never {\n\tif (__DEV__) {\n\t\tconst e = errors[error]\n\t\tconst msg = !e\n\t\t\t? \"unknown error nr: \" + error\n\t\t\t: typeof e === \"function\"\n\t\t\t? e.apply(null, args as any)\n\t\t\t: e\n\t\tthrow new Error(`[Immer] ${msg}`)\n\t}\n\tthrow new Error(\n\t\t`[Immer] minified error nr: ${error}${\n\t\t\targs.length ? \" \" + args.map(s => `'${s}'`).join(\",\") : \"\"\n\t\t}. Find the full error at: https://bit.ly/3cXEKWf`\n\t)\n}\n","import {\n\tDRAFT_STATE,\n\tDRAFTABLE,\n\thasSet,\n\tObjectish,\n\tDrafted,\n\tAnyObject,\n\tAnyMap,\n\tAnySet,\n\tImmerState,\n\thasMap,\n\tArchtype,\n\tdie\n} from \"../internal\"\n\n/** Returns true if the given value is an Immer draft */\n/*#__PURE__*/\nexport function isDraft(value: any): boolean {\n\treturn !!value && !!value[DRAFT_STATE]\n}\n\n/** Returns true if the given value can be drafted by Immer */\n/*#__PURE__*/\nexport function isDraftable(value: any): boolean {\n\tif (!value) return false\n\treturn (\n\t\tisPlainObject(value) ||\n\t\tArray.isArray(value) ||\n\t\t!!value[DRAFTABLE] ||\n\t\t!!value.constructor?.[DRAFTABLE] ||\n\t\tisMap(value) ||\n\t\tisSet(value)\n\t)\n}\n\nconst objectCtorString = Object.prototype.constructor.toString()\n/*#__PURE__*/\nexport function isPlainObject(value: any): boolean {\n\tif (!value || typeof value !== \"object\") return false\n\tconst proto = Object.getPrototypeOf(value)\n\tif (proto === null) {\n\t\treturn true\n\t}\n\tconst Ctor =\n\t\tObject.hasOwnProperty.call(proto, \"constructor\") && proto.constructor\n\n\tif (Ctor === Object) return true\n\n\treturn (\n\t\ttypeof Ctor == \"function\" &&\n\t\tFunction.toString.call(Ctor) === objectCtorString\n\t)\n}\n\n/** Get the underlying object that is represented by the given draft */\n/*#__PURE__*/\nexport function original(value: T): T | undefined\nexport function original(value: Drafted): any {\n\tif (!isDraft(value)) die(23, value)\n\treturn value[DRAFT_STATE].base_\n}\n\n/*#__PURE__*/\nexport const ownKeys: (target: AnyObject) => PropertyKey[] =\n\ttypeof Reflect !== \"undefined\" && Reflect.ownKeys\n\t\t? Reflect.ownKeys\n\t\t: typeof Object.getOwnPropertySymbols !== \"undefined\"\n\t\t? obj =>\n\t\t\t\tObject.getOwnPropertyNames(obj).concat(\n\t\t\t\t\tObject.getOwnPropertySymbols(obj) as any\n\t\t\t\t)\n\t\t: /* istanbul ignore next */ Object.getOwnPropertyNames\n\nexport const getOwnPropertyDescriptors =\n\tObject.getOwnPropertyDescriptors ||\n\tfunction getOwnPropertyDescriptors(target: any) {\n\t\t// Polyfill needed for Hermes and IE, see https://github.com/facebook/hermes/issues/274\n\t\tconst res: any = {}\n\t\townKeys(target).forEach(key => {\n\t\t\tres[key] = Object.getOwnPropertyDescriptor(target, key)\n\t\t})\n\t\treturn res\n\t}\n\nexport function each(\n\tobj: T,\n\titer: (key: string | number, value: any, source: T) => void,\n\tenumerableOnly?: boolean\n): void\nexport function each(obj: any, iter: any, enumerableOnly = false) {\n\tif (getArchtype(obj) === Archtype.Object) {\n\t\t;(enumerableOnly ? Object.keys : ownKeys)(obj).forEach(key => {\n\t\t\tif (!enumerableOnly || typeof key !== \"symbol\") iter(key, obj[key], obj)\n\t\t})\n\t} else {\n\t\tobj.forEach((entry: any, index: any) => iter(index, entry, obj))\n\t}\n}\n\n/*#__PURE__*/\nexport function getArchtype(thing: any): Archtype {\n\t/* istanbul ignore next */\n\tconst state: undefined | ImmerState = thing[DRAFT_STATE]\n\treturn state\n\t\t? state.type_ > 3\n\t\t\t? state.type_ - 4 // cause Object and Array map back from 4 and 5\n\t\t\t: (state.type_ as any) // others are the same\n\t\t: Array.isArray(thing)\n\t\t? Archtype.Array\n\t\t: isMap(thing)\n\t\t? Archtype.Map\n\t\t: isSet(thing)\n\t\t? Archtype.Set\n\t\t: Archtype.Object\n}\n\n/*#__PURE__*/\nexport function has(thing: any, prop: PropertyKey): boolean {\n\treturn getArchtype(thing) === Archtype.Map\n\t\t? thing.has(prop)\n\t\t: Object.prototype.hasOwnProperty.call(thing, prop)\n}\n\n/*#__PURE__*/\nexport function get(thing: AnyMap | AnyObject, prop: PropertyKey): any {\n\t// @ts-ignore\n\treturn getArchtype(thing) === Archtype.Map ? thing.get(prop) : thing[prop]\n}\n\n/*#__PURE__*/\nexport function set(thing: any, propOrOldValue: PropertyKey, value: any) {\n\tconst t = getArchtype(thing)\n\tif (t === Archtype.Map) thing.set(propOrOldValue, value)\n\telse if (t === Archtype.Set) {\n\t\tthing.add(value)\n\t} else thing[propOrOldValue] = value\n}\n\n/*#__PURE__*/\nexport function is(x: any, y: any): boolean {\n\t// From: https://github.com/facebook/fbjs/blob/c69904a511b900266935168223063dd8772dfc40/packages/fbjs/src/core/shallowEqual.js\n\tif (x === y) {\n\t\treturn x !== 0 || 1 / x === 1 / y\n\t} else {\n\t\treturn x !== x && y !== y\n\t}\n}\n\n/*#__PURE__*/\nexport function isMap(target: any): target is AnyMap {\n\treturn hasMap && target instanceof Map\n}\n\n/*#__PURE__*/\nexport function isSet(target: any): target is AnySet {\n\treturn hasSet && target instanceof Set\n}\n/*#__PURE__*/\nexport function latest(state: ImmerState): any {\n\treturn state.copy_ || state.base_\n}\n\n/*#__PURE__*/\nexport function shallowCopy(base: any) {\n\tif (Array.isArray(base)) return Array.prototype.slice.call(base)\n\tconst descriptors = getOwnPropertyDescriptors(base)\n\tdelete descriptors[DRAFT_STATE as any]\n\tlet keys = ownKeys(descriptors)\n\tfor (let i = 0; i < keys.length; i++) {\n\t\tconst key: any = keys[i]\n\t\tconst desc = descriptors[key]\n\t\tif (desc.writable === false) {\n\t\t\tdesc.writable = true\n\t\t\tdesc.configurable = true\n\t\t}\n\t\t// like object.assign, we will read any _own_, get/set accessors. This helps in dealing\n\t\t// with libraries that trap values, like mobx or vue\n\t\t// unlike object.assign, non-enumerables will be copied as well\n\t\tif (desc.get || desc.set)\n\t\t\tdescriptors[key] = {\n\t\t\t\tconfigurable: true,\n\t\t\t\twritable: true, // could live with !!desc.set as well here...\n\t\t\t\tenumerable: desc.enumerable,\n\t\t\t\tvalue: base[key]\n\t\t\t}\n\t}\n\treturn Object.create(Object.getPrototypeOf(base), descriptors)\n}\n\n/**\n * Freezes draftable objects. Returns the original object.\n * By default freezes shallowly, but if the second argument is `true` it will freeze recursively.\n *\n * @param obj\n * @param deep\n */\nexport function freeze(obj: T, deep?: boolean): T\nexport function freeze(obj: any, deep: boolean = false): T {\n\tif (isFrozen(obj) || isDraft(obj) || !isDraftable(obj)) return obj\n\tif (getArchtype(obj) > 1 /* Map or Set */) {\n\t\tobj.set = obj.add = obj.clear = obj.delete = dontMutateFrozenCollections as any\n\t}\n\tObject.freeze(obj)\n\tif (deep) each(obj, (key, value) => freeze(value, true), true)\n\treturn obj\n}\n\nfunction dontMutateFrozenCollections() {\n\tdie(2)\n}\n\nexport function isFrozen(obj: any): boolean {\n\tif (obj == null || typeof obj !== \"object\") return true\n\t// See #600, IE dies on non-objects in Object.isFrozen\n\treturn Object.isFrozen(obj)\n}\n","import {\n\tImmerState,\n\tPatch,\n\tImmerScope,\n\tDrafted,\n\tAnyObject,\n\tImmerBaseState,\n\tAnyMap,\n\tAnySet,\n\tProxyType,\n\tdie\n} from \"../internal\"\n\n/** Plugin utilities */\nconst plugins: {\n\tPatches?: {\n\t\tgeneratePatches_(\n\t\t\tstate: ImmerState,\n\t\t\tbasePath: PatchPath,\n\t\t\tpatches: Patch[],\n\t\t\tinversePatches: Patch[]\n\t\t): void\n\t\tgenerateReplacementPatches_(\n\t\t\tbase: any,\n\t\t\treplacement: any,\n\t\t\tpatches: Patch[],\n\t\t\tinversePatches: Patch[]\n\t\t): void\n\t\tapplyPatches_(draft: T, patches: Patch[]): T\n\t}\n\tES5?: {\n\t\twillFinalizeES5_(scope: ImmerScope, result: any, isReplaced: boolean): void\n\t\tcreateES5Proxy_(\n\t\t\tbase: T,\n\t\t\tparent?: ImmerState\n\t\t): Drafted\n\t\thasChanges_(state: ES5ArrayState | ES5ObjectState): boolean\n\t}\n\tMapSet?: {\n\t\tproxyMap_(target: T, parent?: ImmerState): T\n\t\tproxySet_(target: T, parent?: ImmerState): T\n\t}\n} = {}\n\ntype Plugins = typeof plugins\n\nexport function getPlugin(\n\tpluginKey: K\n): Exclude {\n\tconst plugin = plugins[pluginKey]\n\tif (!plugin) {\n\t\tdie(18, pluginKey)\n\t}\n\t// @ts-ignore\n\treturn plugin\n}\n\nexport function loadPlugin(\n\tpluginKey: K,\n\timplementation: Plugins[K]\n): void {\n\tif (!plugins[pluginKey]) plugins[pluginKey] = implementation\n}\n\n/** ES5 Plugin */\n\ninterface ES5BaseState extends ImmerBaseState {\n\tassigned_: {[key: string]: any}\n\tparent_?: ImmerState\n\trevoked_: boolean\n}\n\nexport interface ES5ObjectState extends ES5BaseState {\n\ttype_: ProxyType.ES5Object\n\tdraft_: Drafted\n\tbase_: AnyObject\n\tcopy_: AnyObject | null\n}\n\nexport interface ES5ArrayState extends ES5BaseState {\n\ttype_: ProxyType.ES5Array\n\tdraft_: Drafted\n\tbase_: any\n\tcopy_: any\n}\n\n/** Map / Set plugin */\n\nexport interface MapState extends ImmerBaseState {\n\ttype_: ProxyType.Map\n\tcopy_: AnyMap | undefined\n\tassigned_: Map | undefined\n\tbase_: AnyMap\n\trevoked_: boolean\n\tdraft_: Drafted\n}\n\nexport interface SetState extends ImmerBaseState {\n\ttype_: ProxyType.Set\n\tcopy_: AnySet | undefined\n\tbase_: AnySet\n\tdrafts_: Map // maps the original value to the draft value in the new set\n\trevoked_: boolean\n\tdraft_: Drafted\n}\n\n/** Patches plugin */\n\nexport type PatchPath = (string | number)[]\n","import {\n\tPatch,\n\tPatchListener,\n\tDrafted,\n\tImmer,\n\tDRAFT_STATE,\n\tImmerState,\n\tProxyType,\n\tgetPlugin\n} from \"../internal\"\nimport {die} from \"../utils/errors\"\n\n/** Each scope represents a `produce` call. */\n\nexport interface ImmerScope {\n\tpatches_?: Patch[]\n\tinversePatches_?: Patch[]\n\tcanAutoFreeze_: boolean\n\tdrafts_: any[]\n\tparent_?: ImmerScope\n\tpatchListener_?: PatchListener\n\timmer_: Immer\n\tunfinalizedDrafts_: number\n}\n\nlet currentScope: ImmerScope | undefined\n\nexport function getCurrentScope() {\n\tif (__DEV__ && !currentScope) die(0)\n\treturn currentScope!\n}\n\nfunction createScope(\n\tparent_: ImmerScope | undefined,\n\timmer_: Immer\n): ImmerScope {\n\treturn {\n\t\tdrafts_: [],\n\t\tparent_,\n\t\timmer_,\n\t\t// Whenever the modified draft contains a draft from another scope, we\n\t\t// need to prevent auto-freezing so the unowned draft can be finalized.\n\t\tcanAutoFreeze_: true,\n\t\tunfinalizedDrafts_: 0\n\t}\n}\n\nexport function usePatchesInScope(\n\tscope: ImmerScope,\n\tpatchListener?: PatchListener\n) {\n\tif (patchListener) {\n\t\tgetPlugin(\"Patches\") // assert we have the plugin\n\t\tscope.patches_ = []\n\t\tscope.inversePatches_ = []\n\t\tscope.patchListener_ = patchListener\n\t}\n}\n\nexport function revokeScope(scope: ImmerScope) {\n\tleaveScope(scope)\n\tscope.drafts_.forEach(revokeDraft)\n\t// @ts-ignore\n\tscope.drafts_ = null\n}\n\nexport function leaveScope(scope: ImmerScope) {\n\tif (scope === currentScope) {\n\t\tcurrentScope = scope.parent_\n\t}\n}\n\nexport function enterScope(immer: Immer) {\n\treturn (currentScope = createScope(currentScope, immer))\n}\n\nfunction revokeDraft(draft: Drafted) {\n\tconst state: ImmerState = draft[DRAFT_STATE]\n\tif (\n\t\tstate.type_ === ProxyType.ProxyObject ||\n\t\tstate.type_ === ProxyType.ProxyArray\n\t)\n\t\tstate.revoke_()\n\telse state.revoked_ = true\n}\n","import {\n\tImmerScope,\n\tDRAFT_STATE,\n\tisDraftable,\n\tNOTHING,\n\tPatchPath,\n\teach,\n\thas,\n\tfreeze,\n\tImmerState,\n\tisDraft,\n\tSetState,\n\tset,\n\tProxyType,\n\tgetPlugin,\n\tdie,\n\trevokeScope,\n\tisFrozen,\n\tshallowCopy\n} from \"../internal\"\n\nexport function processResult(result: any, scope: ImmerScope) {\n\tscope.unfinalizedDrafts_ = scope.drafts_.length\n\tconst baseDraft = scope.drafts_![0]\n\tconst isReplaced = result !== undefined && result !== baseDraft\n\tif (!scope.immer_.useProxies_)\n\t\tgetPlugin(\"ES5\").willFinalizeES5_(scope, result, isReplaced)\n\tif (isReplaced) {\n\t\tif (baseDraft[DRAFT_STATE].modified_) {\n\t\t\trevokeScope(scope)\n\t\t\tdie(4)\n\t\t}\n\t\tif (isDraftable(result)) {\n\t\t\t// Finalize the result in case it contains (or is) a subset of the draft.\n\t\t\tresult = finalize(scope, result)\n\t\t\tif (!scope.parent_) maybeFreeze(scope, result)\n\t\t}\n\t\tif (scope.patches_) {\n\t\t\tgetPlugin(\"Patches\").generateReplacementPatches_(\n\t\t\t\tbaseDraft[DRAFT_STATE].base_,\n\t\t\t\tresult,\n\t\t\t\tscope.patches_,\n\t\t\t\tscope.inversePatches_!\n\t\t\t)\n\t\t}\n\t} else {\n\t\t// Finalize the base draft.\n\t\tresult = finalize(scope, baseDraft, [])\n\t}\n\trevokeScope(scope)\n\tif (scope.patches_) {\n\t\tscope.patchListener_!(scope.patches_, scope.inversePatches_!)\n\t}\n\treturn result !== NOTHING ? result : undefined\n}\n\nfunction finalize(rootScope: ImmerScope, value: any, path?: PatchPath) {\n\t// Don't recurse in tho recursive data structures\n\tif (isFrozen(value)) return value\n\n\tconst state: ImmerState = value[DRAFT_STATE]\n\t// A plain object, might need freezing, might contain drafts\n\tif (!state) {\n\t\teach(\n\t\t\tvalue,\n\t\t\t(key, childValue) =>\n\t\t\t\tfinalizeProperty(rootScope, state, value, key, childValue, path),\n\t\t\ttrue // See #590, don't recurse into non-enumerable of non drafted objects\n\t\t)\n\t\treturn value\n\t}\n\t// Never finalize drafts owned by another scope.\n\tif (state.scope_ !== rootScope) return value\n\t// Unmodified draft, return the (frozen) original\n\tif (!state.modified_) {\n\t\tmaybeFreeze(rootScope, state.base_, true)\n\t\treturn state.base_\n\t}\n\t// Not finalized yet, let's do that now\n\tif (!state.finalized_) {\n\t\tstate.finalized_ = true\n\t\tstate.scope_.unfinalizedDrafts_--\n\t\tconst result =\n\t\t\t// For ES5, create a good copy from the draft first, with added keys and without deleted keys.\n\t\t\tstate.type_ === ProxyType.ES5Object || state.type_ === ProxyType.ES5Array\n\t\t\t\t? (state.copy_ = shallowCopy(state.draft_))\n\t\t\t\t: state.copy_\n\t\t// Finalize all children of the copy\n\t\t// For sets we clone before iterating, otherwise we can get in endless loop due to modifying during iteration, see #628\n\t\t// To preserve insertion order in all cases we then clear the set\n\t\t// And we let finalizeProperty know it needs to re-add non-draft children back to the target\n\t\tlet resultEach = result\n\t\tlet isSet = false\n\t\tif (state.type_ === ProxyType.Set) {\n\t\t\tresultEach = new Set(result)\n\t\t\tresult.clear()\n\t\t\tisSet = true\n\t\t}\n\t\teach(resultEach, (key, childValue) =>\n\t\t\tfinalizeProperty(rootScope, state, result, key, childValue, path, isSet)\n\t\t)\n\t\t// everything inside is frozen, we can freeze here\n\t\tmaybeFreeze(rootScope, result, false)\n\t\t// first time finalizing, let's create those patches\n\t\tif (path && rootScope.patches_) {\n\t\t\tgetPlugin(\"Patches\").generatePatches_(\n\t\t\t\tstate,\n\t\t\t\tpath,\n\t\t\t\trootScope.patches_,\n\t\t\t\trootScope.inversePatches_!\n\t\t\t)\n\t\t}\n\t}\n\treturn state.copy_\n}\n\nfunction finalizeProperty(\n\trootScope: ImmerScope,\n\tparentState: undefined | ImmerState,\n\ttargetObject: any,\n\tprop: string | number,\n\tchildValue: any,\n\trootPath?: PatchPath,\n\ttargetIsSet?: boolean\n) {\n\tif (__DEV__ && childValue === targetObject) die(5)\n\tif (isDraft(childValue)) {\n\t\tconst path =\n\t\t\trootPath &&\n\t\t\tparentState &&\n\t\t\tparentState!.type_ !== ProxyType.Set && // Set objects are atomic since they have no keys.\n\t\t\t!has((parentState as Exclude).assigned_!, prop) // Skip deep patches for assigned keys.\n\t\t\t\t? rootPath!.concat(prop)\n\t\t\t\t: undefined\n\t\t// Drafts owned by `scope` are finalized here.\n\t\tconst res = finalize(rootScope, childValue, path)\n\t\tset(targetObject, prop, res)\n\t\t// Drafts from another scope must prevented to be frozen\n\t\t// if we got a draft back from finalize, we're in a nested produce and shouldn't freeze\n\t\tif (isDraft(res)) {\n\t\t\trootScope.canAutoFreeze_ = false\n\t\t} else return\n\t} else if (targetIsSet) {\n\t\ttargetObject.add(childValue)\n\t}\n\t// Search new objects for unfinalized drafts. Frozen objects should never contain drafts.\n\tif (isDraftable(childValue) && !isFrozen(childValue)) {\n\t\tif (!rootScope.immer_.autoFreeze_ && rootScope.unfinalizedDrafts_ < 1) {\n\t\t\t// optimization: if an object is not a draft, and we don't have to\n\t\t\t// deepfreeze everything, and we are sure that no drafts are left in the remaining object\n\t\t\t// cause we saw and finalized all drafts already; we can stop visiting the rest of the tree.\n\t\t\t// This benefits especially adding large data tree's without further processing.\n\t\t\t// See add-data.js perf test\n\t\t\treturn\n\t\t}\n\t\tfinalize(rootScope, childValue)\n\t\t// immer deep freezes plain objects, so if there is no parent state, we freeze as well\n\t\tif (!parentState || !parentState.scope_.parent_)\n\t\t\tmaybeFreeze(rootScope, childValue)\n\t}\n}\n\nfunction maybeFreeze(scope: ImmerScope, value: any, deep = false) {\n\t// we never freeze for a non-root scope; as it would prevent pruning for drafts inside wrapping objects\n\tif (!scope.parent_ && scope.immer_.autoFreeze_ && scope.canAutoFreeze_) {\n\t\tfreeze(value, deep)\n\t}\n}\n","import {\n\teach,\n\thas,\n\tis,\n\tisDraftable,\n\tshallowCopy,\n\tlatest,\n\tImmerBaseState,\n\tImmerState,\n\tDrafted,\n\tAnyObject,\n\tAnyArray,\n\tObjectish,\n\tgetCurrentScope,\n\tDRAFT_STATE,\n\tdie,\n\tcreateProxy,\n\tProxyType\n} from \"../internal\"\n\ninterface ProxyBaseState extends ImmerBaseState {\n\tassigned_: {\n\t\t[property: string]: boolean\n\t}\n\tparent_?: ImmerState\n\trevoke_(): void\n}\n\nexport interface ProxyObjectState extends ProxyBaseState {\n\ttype_: ProxyType.ProxyObject\n\tbase_: any\n\tcopy_: any\n\tdraft_: Drafted\n}\n\nexport interface ProxyArrayState extends ProxyBaseState {\n\ttype_: ProxyType.ProxyArray\n\tbase_: AnyArray\n\tcopy_: AnyArray | null\n\tdraft_: Drafted\n}\n\ntype ProxyState = ProxyObjectState | ProxyArrayState\n\n/**\n * Returns a new draft of the `base` object.\n *\n * The second argument is the parent draft-state (used internally).\n */\nexport function createProxyProxy(\n\tbase: T,\n\tparent?: ImmerState\n): Drafted {\n\tconst isArray = Array.isArray(base)\n\tconst state: ProxyState = {\n\t\ttype_: isArray ? ProxyType.ProxyArray : (ProxyType.ProxyObject as any),\n\t\t// Track which produce call this is associated with.\n\t\tscope_: parent ? parent.scope_ : getCurrentScope()!,\n\t\t// True for both shallow and deep changes.\n\t\tmodified_: false,\n\t\t// Used during finalization.\n\t\tfinalized_: false,\n\t\t// Track which properties have been assigned (true) or deleted (false).\n\t\tassigned_: {},\n\t\t// The parent draft state.\n\t\tparent_: parent,\n\t\t// The base state.\n\t\tbase_: base,\n\t\t// The base proxy.\n\t\tdraft_: null as any, // set below\n\t\t// The base copy with any updated values.\n\t\tcopy_: null,\n\t\t// Called by the `produce` function.\n\t\trevoke_: null as any,\n\t\tisManual_: false\n\t}\n\n\t// the traps must target something, a bit like the 'real' base.\n\t// but also, we need to be able to determine from the target what the relevant state is\n\t// (to avoid creating traps per instance to capture the state in closure,\n\t// and to avoid creating weird hidden properties as well)\n\t// So the trick is to use 'state' as the actual 'target'! (and make sure we intercept everything)\n\t// Note that in the case of an array, we put the state in an array to have better Reflect defaults ootb\n\tlet target: T = state as any\n\tlet traps: ProxyHandler> = objectTraps\n\tif (isArray) {\n\t\ttarget = [state] as any\n\t\ttraps = arrayTraps\n\t}\n\n\tconst {revoke, proxy} = Proxy.revocable(target, traps)\n\tstate.draft_ = proxy as any\n\tstate.revoke_ = revoke\n\treturn proxy as any\n}\n\n/**\n * Object drafts\n */\nexport const objectTraps: ProxyHandler = {\n\tget(state, prop) {\n\t\tif (prop === DRAFT_STATE) return state\n\n\t\tconst source = latest(state)\n\t\tif (!has(source, prop)) {\n\t\t\t// non-existing or non-own property...\n\t\t\treturn readPropFromProto(state, source, prop)\n\t\t}\n\t\tconst value = source[prop]\n\t\tif (state.finalized_ || !isDraftable(value)) {\n\t\t\treturn value\n\t\t}\n\t\t// Check for existing draft in modified state.\n\t\t// Assigned values are never drafted. This catches any drafts we created, too.\n\t\tif (value === peek(state.base_, prop)) {\n\t\t\tprepareCopy(state)\n\t\t\treturn (state.copy_![prop as any] = createProxy(\n\t\t\t\tstate.scope_.immer_,\n\t\t\t\tvalue,\n\t\t\t\tstate\n\t\t\t))\n\t\t}\n\t\treturn value\n\t},\n\thas(state, prop) {\n\t\treturn prop in latest(state)\n\t},\n\townKeys(state) {\n\t\treturn Reflect.ownKeys(latest(state))\n\t},\n\tset(\n\t\tstate: ProxyObjectState,\n\t\tprop: string /* strictly not, but helps TS */,\n\t\tvalue\n\t) {\n\t\tconst desc = getDescriptorFromProto(latest(state), prop)\n\t\tif (desc?.set) {\n\t\t\t// special case: if this write is captured by a setter, we have\n\t\t\t// to trigger it with the correct context\n\t\t\tdesc.set.call(state.draft_, value)\n\t\t\treturn true\n\t\t}\n\t\tif (!state.modified_) {\n\t\t\t// the last check is because we need to be able to distinguish setting a non-existing to undefined (which is a change)\n\t\t\t// from setting an existing property with value undefined to undefined (which is not a change)\n\t\t\tconst current = peek(latest(state), prop)\n\t\t\t// special case, if we assigning the original value to a draft, we can ignore the assignment\n\t\t\tconst currentState: ProxyObjectState = current?.[DRAFT_STATE]\n\t\t\tif (currentState && currentState.base_ === value) {\n\t\t\t\tstate.copy_![prop] = value\n\t\t\t\tstate.assigned_[prop] = false\n\t\t\t\treturn true\n\t\t\t}\n\t\t\tif (is(value, current) && (value !== undefined || has(state.base_, prop)))\n\t\t\t\treturn true\n\t\t\tprepareCopy(state)\n\t\t\tmarkChanged(state)\n\t\t}\n\n\t\tif (\n\t\t\t(state.copy_![prop] === value &&\n\t\t\t\t// special case: handle new props with value 'undefined'\n\t\t\t\t(value !== undefined || prop in state.copy_)) ||\n\t\t\t// special case: NaN\n\t\t\t(Number.isNaN(value) && Number.isNaN(state.copy_![prop]))\n\t\t)\n\t\t\treturn true\n\n\t\t// @ts-ignore\n\t\tstate.copy_![prop] = value\n\t\tstate.assigned_[prop] = true\n\t\treturn true\n\t},\n\tdeleteProperty(state, prop: string) {\n\t\t// The `undefined` check is a fast path for pre-existing keys.\n\t\tif (peek(state.base_, prop) !== undefined || prop in state.base_) {\n\t\t\tstate.assigned_[prop] = false\n\t\t\tprepareCopy(state)\n\t\t\tmarkChanged(state)\n\t\t} else {\n\t\t\t// if an originally not assigned property was deleted\n\t\t\tdelete state.assigned_[prop]\n\t\t}\n\t\t// @ts-ignore\n\t\tif (state.copy_) delete state.copy_[prop]\n\t\treturn true\n\t},\n\t// Note: We never coerce `desc.value` into an Immer draft, because we can't make\n\t// the same guarantee in ES5 mode.\n\tgetOwnPropertyDescriptor(state, prop) {\n\t\tconst owner = latest(state)\n\t\tconst desc = Reflect.getOwnPropertyDescriptor(owner, prop)\n\t\tif (!desc) return desc\n\t\treturn {\n\t\t\twritable: true,\n\t\t\tconfigurable: state.type_ !== ProxyType.ProxyArray || prop !== \"length\",\n\t\t\tenumerable: desc.enumerable,\n\t\t\tvalue: owner[prop]\n\t\t}\n\t},\n\tdefineProperty() {\n\t\tdie(11)\n\t},\n\tgetPrototypeOf(state) {\n\t\treturn Object.getPrototypeOf(state.base_)\n\t},\n\tsetPrototypeOf() {\n\t\tdie(12)\n\t}\n}\n\n/**\n * Array drafts\n */\n\nconst arrayTraps: ProxyHandler<[ProxyArrayState]> = {}\neach(objectTraps, (key, fn) => {\n\t// @ts-ignore\n\tarrayTraps[key] = function() {\n\t\targuments[0] = arguments[0][0]\n\t\treturn fn.apply(this, arguments)\n\t}\n})\narrayTraps.deleteProperty = function(state, prop) {\n\tif (__DEV__ && isNaN(parseInt(prop as any))) die(13)\n\t// @ts-ignore\n\treturn arrayTraps.set!.call(this, state, prop, undefined)\n}\narrayTraps.set = function(state, prop, value) {\n\tif (__DEV__ && prop !== \"length\" && isNaN(parseInt(prop as any))) die(14)\n\treturn objectTraps.set!.call(this, state[0], prop, value, state[0])\n}\n\n// Access a property without creating an Immer draft.\nfunction peek(draft: Drafted, prop: PropertyKey) {\n\tconst state = draft[DRAFT_STATE]\n\tconst source = state ? latest(state) : draft\n\treturn source[prop]\n}\n\nfunction readPropFromProto(state: ImmerState, source: any, prop: PropertyKey) {\n\tconst desc = getDescriptorFromProto(source, prop)\n\treturn desc\n\t\t? `value` in desc\n\t\t\t? desc.value\n\t\t\t: // This is a very special case, if the prop is a getter defined by the\n\t\t\t // prototype, we should invoke it with the draft as context!\n\t\t\t desc.get?.call(state.draft_)\n\t\t: undefined\n}\n\nfunction getDescriptorFromProto(\n\tsource: any,\n\tprop: PropertyKey\n): PropertyDescriptor | undefined {\n\t// 'in' checks proto!\n\tif (!(prop in source)) return undefined\n\tlet proto = Object.getPrototypeOf(source)\n\twhile (proto) {\n\t\tconst desc = Object.getOwnPropertyDescriptor(proto, prop)\n\t\tif (desc) return desc\n\t\tproto = Object.getPrototypeOf(proto)\n\t}\n\treturn undefined\n}\n\nexport function markChanged(state: ImmerState) {\n\tif (!state.modified_) {\n\t\tstate.modified_ = true\n\t\tif (state.parent_) {\n\t\t\tmarkChanged(state.parent_)\n\t\t}\n\t}\n}\n\nexport function prepareCopy(state: {base_: any; copy_: any}) {\n\tif (!state.copy_) {\n\t\tstate.copy_ = shallowCopy(state.base_)\n\t}\n}\n","import {\n\tIProduceWithPatches,\n\tIProduce,\n\tImmerState,\n\tDrafted,\n\tisDraftable,\n\tprocessResult,\n\tPatch,\n\tObjectish,\n\tDRAFT_STATE,\n\tDraft,\n\tPatchListener,\n\tisDraft,\n\tisMap,\n\tisSet,\n\tcreateProxyProxy,\n\tgetPlugin,\n\tdie,\n\thasProxies,\n\tenterScope,\n\trevokeScope,\n\tleaveScope,\n\tusePatchesInScope,\n\tgetCurrentScope,\n\tNOTHING,\n\tfreeze,\n\tcurrent\n} from \"../internal\"\n\ninterface ProducersFns {\n\tproduce: IProduce\n\tproduceWithPatches: IProduceWithPatches\n}\n\nexport class Immer implements ProducersFns {\n\tuseProxies_: boolean = hasProxies\n\n\tautoFreeze_: boolean = true\n\n\tconstructor(config?: {useProxies?: boolean; autoFreeze?: boolean}) {\n\t\tif (typeof config?.useProxies === \"boolean\")\n\t\t\tthis.setUseProxies(config!.useProxies)\n\t\tif (typeof config?.autoFreeze === \"boolean\")\n\t\t\tthis.setAutoFreeze(config!.autoFreeze)\n\t}\n\n\t/**\n\t * The `produce` function takes a value and a \"recipe function\" (whose\n\t * return value often depends on the base state). The recipe function is\n\t * free to mutate its first argument however it wants. All mutations are\n\t * only ever applied to a __copy__ of the base state.\n\t *\n\t * Pass only a function to create a \"curried producer\" which relieves you\n\t * from passing the recipe function every time.\n\t *\n\t * Only plain objects and arrays are made mutable. All other objects are\n\t * considered uncopyable.\n\t *\n\t * Note: This function is __bound__ to its `Immer` instance.\n\t *\n\t * @param {any} base - the initial state\n\t * @param {Function} recipe - function that receives a proxy of the base state as first argument and which can be freely modified\n\t * @param {Function} patchListener - optional function that will be called with all the patches produced here\n\t * @returns {any} a new state, or the initial state if nothing was modified\n\t */\n\tproduce: IProduce = (base: any, recipe?: any, patchListener?: any) => {\n\t\t// curried invocation\n\t\tif (typeof base === \"function\" && typeof recipe !== \"function\") {\n\t\t\tconst defaultBase = recipe\n\t\t\trecipe = base\n\n\t\t\tconst self = this\n\t\t\treturn function curriedProduce(\n\t\t\t\tthis: any,\n\t\t\t\tbase = defaultBase,\n\t\t\t\t...args: any[]\n\t\t\t) {\n\t\t\t\treturn self.produce(base, (draft: Drafted) => recipe.call(this, draft, ...args)) // prettier-ignore\n\t\t\t}\n\t\t}\n\n\t\tif (typeof recipe !== \"function\") die(6)\n\t\tif (patchListener !== undefined && typeof patchListener !== \"function\")\n\t\t\tdie(7)\n\n\t\tlet result\n\n\t\t// Only plain objects, arrays, and \"immerable classes\" are drafted.\n\t\tif (isDraftable(base)) {\n\t\t\tconst scope = enterScope(this)\n\t\t\tconst proxy = createProxy(this, base, undefined)\n\t\t\tlet hasError = true\n\t\t\ttry {\n\t\t\t\tresult = recipe(proxy)\n\t\t\t\thasError = false\n\t\t\t} finally {\n\t\t\t\t// finally instead of catch + rethrow better preserves original stack\n\t\t\t\tif (hasError) revokeScope(scope)\n\t\t\t\telse leaveScope(scope)\n\t\t\t}\n\t\t\tif (typeof Promise !== \"undefined\" && result instanceof Promise) {\n\t\t\t\treturn result.then(\n\t\t\t\t\tresult => {\n\t\t\t\t\t\tusePatchesInScope(scope, patchListener)\n\t\t\t\t\t\treturn processResult(result, scope)\n\t\t\t\t\t},\n\t\t\t\t\terror => {\n\t\t\t\t\t\trevokeScope(scope)\n\t\t\t\t\t\tthrow error\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t}\n\t\t\tusePatchesInScope(scope, patchListener)\n\t\t\treturn processResult(result, scope)\n\t\t} else if (!base || typeof base !== \"object\") {\n\t\t\tresult = recipe(base)\n\t\t\tif (result === undefined) result = base\n\t\t\tif (result === NOTHING) result = undefined\n\t\t\tif (this.autoFreeze_) freeze(result, true)\n\t\t\tif (patchListener) {\n\t\t\t\tconst p: Patch[] = []\n\t\t\t\tconst ip: Patch[] = []\n\t\t\t\tgetPlugin(\"Patches\").generateReplacementPatches_(base, result, p, ip)\n\t\t\t\tpatchListener(p, ip)\n\t\t\t}\n\t\t\treturn result\n\t\t} else die(21, base)\n\t}\n\n\tproduceWithPatches: IProduceWithPatches = (base: any, recipe?: any): any => {\n\t\t// curried invocation\n\t\tif (typeof base === \"function\") {\n\t\t\treturn (state: any, ...args: any[]) =>\n\t\t\t\tthis.produceWithPatches(state, (draft: any) => base(draft, ...args))\n\t\t}\n\n\t\tlet patches: Patch[], inversePatches: Patch[]\n\t\tconst result = this.produce(base, recipe, (p: Patch[], ip: Patch[]) => {\n\t\t\tpatches = p\n\t\t\tinversePatches = ip\n\t\t})\n\n\t\tif (typeof Promise !== \"undefined\" && result instanceof Promise) {\n\t\t\treturn result.then(nextState => [nextState, patches!, inversePatches!])\n\t\t}\n\t\treturn [result, patches!, inversePatches!]\n\t}\n\n\tcreateDraft(base: T): Draft {\n\t\tif (!isDraftable(base)) die(8)\n\t\tif (isDraft(base)) base = current(base)\n\t\tconst scope = enterScope(this)\n\t\tconst proxy = createProxy(this, base, undefined)\n\t\tproxy[DRAFT_STATE].isManual_ = true\n\t\tleaveScope(scope)\n\t\treturn proxy as any\n\t}\n\n\tfinishDraft>(\n\t\tdraft: D,\n\t\tpatchListener?: PatchListener\n\t): D extends Draft ? T : never {\n\t\tconst state: ImmerState = draft && (draft as any)[DRAFT_STATE]\n\t\tif (__DEV__) {\n\t\t\tif (!state || !state.isManual_) die(9)\n\t\t\tif (state.finalized_) die(10)\n\t\t}\n\t\tconst {scope_: scope} = state\n\t\tusePatchesInScope(scope, patchListener)\n\t\treturn processResult(undefined, scope)\n\t}\n\n\t/**\n\t * Pass true to automatically freeze all copies created by Immer.\n\t *\n\t * By default, auto-freezing is enabled.\n\t */\n\tsetAutoFreeze(value: boolean) {\n\t\tthis.autoFreeze_ = value\n\t}\n\n\t/**\n\t * Pass true to use the ES2015 `Proxy` class when creating drafts, which is\n\t * always faster than using ES5 proxies.\n\t *\n\t * By default, feature detection is used, so calling this is rarely necessary.\n\t */\n\tsetUseProxies(value: boolean) {\n\t\tif (value && !hasProxies) {\n\t\t\tdie(20)\n\t\t}\n\t\tthis.useProxies_ = value\n\t}\n\n\tapplyPatches(base: T, patches: Patch[]): T {\n\t\t// If a patch replaces the entire state, take that replacement as base\n\t\t// before applying patches\n\t\tlet i: number\n\t\tfor (i = patches.length - 1; i >= 0; i--) {\n\t\t\tconst patch = patches[i]\n\t\t\tif (patch.path.length === 0 && patch.op === \"replace\") {\n\t\t\t\tbase = patch.value\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\t// If there was a patch that replaced the entire state, start from the\n\t\t// patch after that.\n\t\tif (i > -1) {\n\t\t\tpatches = patches.slice(i + 1)\n\t\t}\n\n\t\tconst applyPatchesImpl = getPlugin(\"Patches\").applyPatches_\n\t\tif (isDraft(base)) {\n\t\t\t// N.B: never hits if some patch a replacement, patches are never drafts\n\t\t\treturn applyPatchesImpl(base, patches)\n\t\t}\n\t\t// Otherwise, produce a copy of the base state.\n\t\treturn this.produce(base, (draft: Drafted) =>\n\t\t\tapplyPatchesImpl(draft, patches)\n\t\t)\n\t}\n}\n\nexport function createProxy(\n\timmer: Immer,\n\tvalue: T,\n\tparent?: ImmerState\n): Drafted {\n\t// precondition: createProxy should be guarded by isDraftable, so we know we can safely draft\n\tconst draft: Drafted = isMap(value)\n\t\t? getPlugin(\"MapSet\").proxyMap_(value, parent)\n\t\t: isSet(value)\n\t\t? getPlugin(\"MapSet\").proxySet_(value, parent)\n\t\t: immer.useProxies_\n\t\t? createProxyProxy(value, parent)\n\t\t: getPlugin(\"ES5\").createES5Proxy_(value, parent)\n\n\tconst scope = parent ? parent.scope_ : getCurrentScope()\n\tscope.drafts_.push(draft)\n\treturn draft\n}\n","import {\n\tdie,\n\tisDraft,\n\tshallowCopy,\n\teach,\n\tDRAFT_STATE,\n\tget,\n\tset,\n\tImmerState,\n\tisDraftable,\n\tArchtype,\n\tgetArchtype,\n\tgetPlugin\n} from \"../internal\"\n\n/** Takes a snapshot of the current state of a draft and finalizes it (but without freezing). This is a great utility to print the current state during debugging (no Proxies in the way). The output of current can also be safely leaked outside the producer. */\nexport function current(value: T): T\nexport function current(value: any): any {\n\tif (!isDraft(value)) die(22, value)\n\treturn currentImpl(value)\n}\n\nfunction currentImpl(value: any): any {\n\tif (!isDraftable(value)) return value\n\tconst state: ImmerState | undefined = value[DRAFT_STATE]\n\tlet copy: any\n\tconst archType = getArchtype(value)\n\tif (state) {\n\t\tif (\n\t\t\t!state.modified_ &&\n\t\t\t(state.type_ < 4 || !getPlugin(\"ES5\").hasChanges_(state as any))\n\t\t)\n\t\t\treturn state.base_\n\t\t// Optimization: avoid generating new drafts during copying\n\t\tstate.finalized_ = true\n\t\tcopy = copyHelper(value, archType)\n\t\tstate.finalized_ = false\n\t} else {\n\t\tcopy = copyHelper(value, archType)\n\t}\n\n\teach(copy, (key, childValue) => {\n\t\tif (state && get(state.base_, key) === childValue) return // no need to copy or search in something that didn't change\n\t\tset(copy, key, currentImpl(childValue))\n\t})\n\t// In the future, we might consider freezing here, based on the current settings\n\treturn archType === Archtype.Set ? new Set(copy) : copy\n}\n\nfunction copyHelper(value: any, archType: number): any {\n\t// creates a shallow copy, even if it is a map or set\n\tswitch (archType) {\n\t\tcase Archtype.Map:\n\t\t\treturn new Map(value)\n\t\tcase Archtype.Set:\n\t\t\t// Set will be cloned as array temporarily, so that we can replace individual items\n\t\t\treturn Array.from(value)\n\t}\n\treturn shallowCopy(value)\n}\n","import {\n\tImmerState,\n\tDrafted,\n\tES5ArrayState,\n\tES5ObjectState,\n\teach,\n\thas,\n\tisDraft,\n\tlatest,\n\tDRAFT_STATE,\n\tis,\n\tloadPlugin,\n\tImmerScope,\n\tProxyType,\n\tgetCurrentScope,\n\tdie,\n\tmarkChanged,\n\tobjectTraps,\n\townKeys,\n\tgetOwnPropertyDescriptors\n} from \"../internal\"\n\ntype ES5State = ES5ArrayState | ES5ObjectState\n\nexport function enableES5() {\n\tfunction willFinalizeES5_(\n\t\tscope: ImmerScope,\n\t\tresult: any,\n\t\tisReplaced: boolean\n\t) {\n\t\tif (!isReplaced) {\n\t\t\tif (scope.patches_) {\n\t\t\t\tmarkChangesRecursively(scope.drafts_![0])\n\t\t\t}\n\t\t\t// This is faster when we don't care about which attributes changed.\n\t\t\tmarkChangesSweep(scope.drafts_)\n\t\t}\n\t\t// When a child draft is returned, look for changes.\n\t\telse if (\n\t\t\tisDraft(result) &&\n\t\t\t(result[DRAFT_STATE] as ES5State).scope_ === scope\n\t\t) {\n\t\t\tmarkChangesSweep(scope.drafts_)\n\t\t}\n\t}\n\n\tfunction createES5Draft(isArray: boolean, base: any) {\n\t\tif (isArray) {\n\t\t\tconst draft = new Array(base.length)\n\t\t\tfor (let i = 0; i < base.length; i++)\n\t\t\t\tObject.defineProperty(draft, \"\" + i, proxyProperty(i, true))\n\t\t\treturn draft\n\t\t} else {\n\t\t\tconst descriptors = getOwnPropertyDescriptors(base)\n\t\t\tdelete descriptors[DRAFT_STATE as any]\n\t\t\tconst keys = ownKeys(descriptors)\n\t\t\tfor (let i = 0; i < keys.length; i++) {\n\t\t\t\tconst key: any = keys[i]\n\t\t\t\tdescriptors[key] = proxyProperty(\n\t\t\t\t\tkey,\n\t\t\t\t\tisArray || !!descriptors[key].enumerable\n\t\t\t\t)\n\t\t\t}\n\t\t\treturn Object.create(Object.getPrototypeOf(base), descriptors)\n\t\t}\n\t}\n\n\tfunction createES5Proxy_(\n\t\tbase: T,\n\t\tparent?: ImmerState\n\t): Drafted {\n\t\tconst isArray = Array.isArray(base)\n\t\tconst draft = createES5Draft(isArray, base)\n\n\t\tconst state: ES5ObjectState | ES5ArrayState = {\n\t\t\ttype_: isArray ? ProxyType.ES5Array : (ProxyType.ES5Object as any),\n\t\t\tscope_: parent ? parent.scope_ : getCurrentScope(),\n\t\t\tmodified_: false,\n\t\t\tfinalized_: false,\n\t\t\tassigned_: {},\n\t\t\tparent_: parent,\n\t\t\t// base is the object we are drafting\n\t\t\tbase_: base,\n\t\t\t// draft is the draft object itself, that traps all reads and reads from either the base (if unmodified) or copy (if modified)\n\t\t\tdraft_: draft,\n\t\t\tcopy_: null,\n\t\t\trevoked_: false,\n\t\t\tisManual_: false\n\t\t}\n\n\t\tObject.defineProperty(draft, DRAFT_STATE, {\n\t\t\tvalue: state,\n\t\t\t// enumerable: false <- the default\n\t\t\twritable: true\n\t\t})\n\t\treturn draft\n\t}\n\n\t// property descriptors are recycled to make sure we don't create a get and set closure per property,\n\t// but share them all instead\n\tconst descriptors: {[prop: string]: PropertyDescriptor} = {}\n\n\tfunction proxyProperty(\n\t\tprop: string | number,\n\t\tenumerable: boolean\n\t): PropertyDescriptor {\n\t\tlet desc = descriptors[prop]\n\t\tif (desc) {\n\t\t\tdesc.enumerable = enumerable\n\t\t} else {\n\t\t\tdescriptors[prop] = desc = {\n\t\t\t\tconfigurable: true,\n\t\t\t\tenumerable,\n\t\t\t\tget(this: any) {\n\t\t\t\t\tconst state = this[DRAFT_STATE]\n\t\t\t\t\tif (__DEV__) assertUnrevoked(state)\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\treturn objectTraps.get(state, prop)\n\t\t\t\t},\n\t\t\t\tset(this: any, value) {\n\t\t\t\t\tconst state = this[DRAFT_STATE]\n\t\t\t\t\tif (__DEV__) assertUnrevoked(state)\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\tobjectTraps.set(state, prop, value)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn desc\n\t}\n\n\t// This looks expensive, but only proxies are visited, and only objects without known changes are scanned.\n\tfunction markChangesSweep(drafts: Drafted[]) {\n\t\t// The natural order of drafts in the `scope` array is based on when they\n\t\t// were accessed. By processing drafts in reverse natural order, we have a\n\t\t// better chance of processing leaf nodes first. When a leaf node is known to\n\t\t// have changed, we can avoid any traversal of its ancestor nodes.\n\t\tfor (let i = drafts.length - 1; i >= 0; i--) {\n\t\t\tconst state: ES5State = drafts[i][DRAFT_STATE]\n\t\t\tif (!state.modified_) {\n\t\t\t\tswitch (state.type_) {\n\t\t\t\t\tcase ProxyType.ES5Array:\n\t\t\t\t\t\tif (hasArrayChanges(state)) markChanged(state)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase ProxyType.ES5Object:\n\t\t\t\t\t\tif (hasObjectChanges(state)) markChanged(state)\n\t\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction markChangesRecursively(object: any) {\n\t\tif (!object || typeof object !== \"object\") return\n\t\tconst state: ES5State | undefined = object[DRAFT_STATE]\n\t\tif (!state) return\n\t\tconst {base_, draft_, assigned_, type_} = state\n\t\tif (type_ === ProxyType.ES5Object) {\n\t\t\t// Look for added keys.\n\t\t\t// probably there is a faster way to detect changes, as sweep + recurse seems to do some\n\t\t\t// unnecessary work.\n\t\t\t// also: probably we can store the information we detect here, to speed up tree finalization!\n\t\t\teach(draft_, key => {\n\t\t\t\tif ((key as any) === DRAFT_STATE) return\n\t\t\t\t// The `undefined` check is a fast path for pre-existing keys.\n\t\t\t\tif ((base_ as any)[key] === undefined && !has(base_, key)) {\n\t\t\t\t\tassigned_[key] = true\n\t\t\t\t\tmarkChanged(state)\n\t\t\t\t} else if (!assigned_[key]) {\n\t\t\t\t\t// Only untouched properties trigger recursion.\n\t\t\t\t\tmarkChangesRecursively(draft_[key])\n\t\t\t\t}\n\t\t\t})\n\t\t\t// Look for removed keys.\n\t\t\teach(base_, key => {\n\t\t\t\t// The `undefined` check is a fast path for pre-existing keys.\n\t\t\t\tif (draft_[key] === undefined && !has(draft_, key)) {\n\t\t\t\t\tassigned_[key] = false\n\t\t\t\t\tmarkChanged(state)\n\t\t\t\t}\n\t\t\t})\n\t\t} else if (type_ === ProxyType.ES5Array) {\n\t\t\tif (hasArrayChanges(state as ES5ArrayState)) {\n\t\t\t\tmarkChanged(state)\n\t\t\t\tassigned_.length = true\n\t\t\t}\n\n\t\t\tif (draft_.length < base_.length) {\n\t\t\t\tfor (let i = draft_.length; i < base_.length; i++) assigned_[i] = false\n\t\t\t} else {\n\t\t\t\tfor (let i = base_.length; i < draft_.length; i++) assigned_[i] = true\n\t\t\t}\n\n\t\t\t// Minimum count is enough, the other parts has been processed.\n\t\t\tconst min = Math.min(draft_.length, base_.length)\n\n\t\t\tfor (let i = 0; i < min; i++) {\n\t\t\t\t// Only untouched indices trigger recursion.\n\t\t\t\tif (!draft_.hasOwnProperty(i)) {\n\t\t\t\t\tassigned_[i] = true\n\t\t\t\t}\n\t\t\t\tif (assigned_[i] === undefined) markChangesRecursively(draft_[i])\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction hasObjectChanges(state: ES5ObjectState) {\n\t\tconst {base_, draft_} = state\n\n\t\t// Search for added keys and changed keys. Start at the back, because\n\t\t// non-numeric keys are ordered by time of definition on the object.\n\t\tconst keys = ownKeys(draft_)\n\t\tfor (let i = keys.length - 1; i >= 0; i--) {\n\t\t\tconst key: any = keys[i]\n\t\t\tif (key === DRAFT_STATE) continue\n\t\t\tconst baseValue = base_[key]\n\t\t\t// The `undefined` check is a fast path for pre-existing keys.\n\t\t\tif (baseValue === undefined && !has(base_, key)) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\t// Once a base key is deleted, future changes go undetected, because its\n\t\t\t// descriptor is erased. This branch detects any missed changes.\n\t\t\telse {\n\t\t\t\tconst value = draft_[key]\n\t\t\t\tconst state: ImmerState = value && value[DRAFT_STATE]\n\t\t\t\tif (state ? state.base_ !== baseValue : !is(value, baseValue)) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// At this point, no keys were added or changed.\n\t\t// Compare key count to determine if keys were deleted.\n\t\tconst baseIsDraft = !!base_[DRAFT_STATE as any]\n\t\treturn keys.length !== ownKeys(base_).length + (baseIsDraft ? 0 : 1) // + 1 to correct for DRAFT_STATE\n\t}\n\n\tfunction hasArrayChanges(state: ES5ArrayState) {\n\t\tconst {draft_} = state\n\t\tif (draft_.length !== state.base_.length) return true\n\t\t// See #116\n\t\t// If we first shorten the length, our array interceptors will be removed.\n\t\t// If after that new items are added, result in the same original length,\n\t\t// those last items will have no intercepting property.\n\t\t// So if there is no own descriptor on the last position, we know that items were removed and added\n\t\t// N.B.: splice, unshift, etc only shift values around, but not prop descriptors, so we only have to check\n\t\t// the last one\n\t\t// last descriptor can be not a trap, if the array was extended\n\t\tconst descriptor = Object.getOwnPropertyDescriptor(\n\t\t\tdraft_,\n\t\t\tdraft_.length - 1\n\t\t)\n\t\t// descriptor can be null, but only for newly created sparse arrays, eg. new Array(10)\n\t\tif (descriptor && !descriptor.get) return true\n\t\t// if we miss a property, it has been deleted, so array probobaly changed\n\t\tfor (let i = 0; i < draft_.length; i++) {\n\t\t\tif (!draft_.hasOwnProperty(i)) return true\n\t\t}\n\t\t// For all other cases, we don't have to compare, as they would have been picked up by the index setters\n\t\treturn false\n\t}\n\n\tfunction hasChanges_(state: ES5State) {\n\t\treturn state.type_ === ProxyType.ES5Object\n\t\t\t? hasObjectChanges(state)\n\t\t\t: hasArrayChanges(state)\n\t}\n\n\tfunction assertUnrevoked(state: any /*ES5State | MapState | SetState*/) {\n\t\tif (state.revoked_) die(3, JSON.stringify(latest(state)))\n\t}\n\n\tloadPlugin(\"ES5\", {\n\t\tcreateES5Proxy_,\n\t\twillFinalizeES5_,\n\t\thasChanges_\n\t})\n}\n","// The primary entry point assumes we're working with standard ReactDOM/RN, but\n// older versions that do not include `useSyncExternalStore` (React 16.9 - 17.x).\n// Because of that, the useSyncExternalStore compat shim is needed.\nimport { useSyncExternalStore } from 'use-sync-external-store/shim';\nimport { useSyncExternalStoreWithSelector } from 'use-sync-external-store/shim/with-selector';\nimport { unstable_batchedUpdates as batch } from './utils/reactBatchedUpdates';\nimport { setBatch } from './utils/batch';\nimport { initializeUseSelector } from './hooks/useSelector';\nimport { initializeConnect } from './components/connect';\ninitializeUseSelector(useSyncExternalStoreWithSelector);\ninitializeConnect(useSyncExternalStore); // Enable batched updates in our subscriptions for use\n// with standard React renderers (ReactDOM, React Native)\n\nsetBatch(batch);\nexport { batch };\nexport * from './exports';","import {\n\tIProduce,\n\tIProduceWithPatches,\n\tImmer,\n\tDraft,\n\tImmutable\n} from \"./internal\"\n\nexport {\n\tDraft,\n\tImmutable,\n\tPatch,\n\tPatchListener,\n\toriginal,\n\tcurrent,\n\tisDraft,\n\tisDraftable,\n\tNOTHING as nothing,\n\tDRAFTABLE as immerable,\n\tfreeze\n} from \"./internal\"\n\nconst immer = new Immer()\n\n/**\n * The `produce` function takes a value and a \"recipe function\" (whose\n * return value often depends on the base state). The recipe function is\n * free to mutate its first argument however it wants. All mutations are\n * only ever applied to a __copy__ of the base state.\n *\n * Pass only a function to create a \"curried producer\" which relieves you\n * from passing the recipe function every time.\n *\n * Only plain objects and arrays are made mutable. All other objects are\n * considered uncopyable.\n *\n * Note: This function is __bound__ to its `Immer` instance.\n *\n * @param {any} base - the initial state\n * @param {Function} producer - function that receives a proxy of the base state as first argument and which can be freely modified\n * @param {Function} patchListener - optional function that will be called with all the patches produced here\n * @returns {any} a new state, or the initial state if nothing was modified\n */\nexport const produce: IProduce = immer.produce\nexport default produce\n\n/**\n * Like `produce`, but `produceWithPatches` always returns a tuple\n * [nextState, patches, inversePatches] (instead of just the next state)\n */\nexport const produceWithPatches: IProduceWithPatches = immer.produceWithPatches.bind(\n\timmer\n)\n\n/**\n * Pass true to automatically freeze all copies created by Immer.\n *\n * Always freeze by default, even in production mode\n */\nexport const setAutoFreeze = immer.setAutoFreeze.bind(immer)\n\n/**\n * Pass true to use the ES2015 `Proxy` class when creating drafts, which is\n * always faster than using ES5 proxies.\n *\n * By default, feature detection is used, so calling this is rarely necessary.\n */\nexport const setUseProxies = immer.setUseProxies.bind(immer)\n\n/**\n * Apply an array of Immer patches to the first argument.\n *\n * This function is a producer, which means copy-on-write is in effect.\n */\nexport const applyPatches = immer.applyPatches.bind(immer)\n\n/**\n * Create an Immer draft from the given base state, which may be a draft itself.\n * The draft can be modified until you finalize it with the `finishDraft` function.\n */\nexport const createDraft = immer.createDraft.bind(immer)\n\n/**\n * Finalize an Immer draft from a `createDraft` call, returning the base state\n * (if no changes were made) or a modified copy. The draft must *not* be\n * mutated afterwards.\n *\n * Pass a function as the 2nd argument to generate Immer patches based on the\n * changes that were made.\n */\nexport const finishDraft = immer.finishDraft.bind(immer)\n\n/**\n * This function is actually a no-op, but can be used to cast an immutable type\n * to an draft type and make TypeScript happy\n *\n * @param value\n */\nexport function castDraft(value: T): Draft {\n\treturn value as any\n}\n\n/**\n * This function is actually a no-op, but can be used to cast a mutable type\n * to an immutable type and make TypeScript happy\n * @param value\n */\nexport function castImmutable(value: T): Immutable {\n\treturn value as any\n}\n\nexport {Immer}\n\nexport {enableES5} from \"./plugins/es5\"\nexport {enablePatches} from \"./plugins/patches\"\nexport {enableMapSet} from \"./plugins/mapset\"\nexport {enableAllPlugins} from \"./plugins/all\"\n","// Should be no imports here!\n\n// Some things that should be evaluated before all else...\n\n// We only want to know if non-polyfilled symbols are available\nconst hasSymbol =\n\ttypeof Symbol !== \"undefined\" && typeof Symbol(\"x\") === \"symbol\"\nexport const hasMap = typeof Map !== \"undefined\"\nexport const hasSet = typeof Set !== \"undefined\"\nexport const hasProxies =\n\ttypeof Proxy !== \"undefined\" &&\n\ttypeof Proxy.revocable !== \"undefined\" &&\n\ttypeof Reflect !== \"undefined\"\n\n/**\n * The sentinel value returned by producers to replace the draft with undefined.\n */\nexport const NOTHING: Nothing = hasSymbol\n\t? Symbol.for(\"immer-nothing\")\n\t: ({[\"immer-nothing\"]: true} as any)\n\n/**\n * To let Immer treat your class instances as plain immutable objects\n * (albeit with a custom prototype), you must define either an instance property\n * or a static property on each of your custom classes.\n *\n * Otherwise, your class instance will never be drafted, which means it won't be\n * safe to mutate in a produce callback.\n */\nexport const DRAFTABLE: unique symbol = hasSymbol\n\t? Symbol.for(\"immer-draftable\")\n\t: (\"__$immer_draftable\" as any)\n\nexport const DRAFT_STATE: unique symbol = hasSymbol\n\t? Symbol.for(\"immer-state\")\n\t: (\"__$immer_state\" as any)\n\n// Even a polyfilled Symbol might provide Symbol.iterator\nexport const iteratorSymbol: typeof Symbol.iterator =\n\t(typeof Symbol != \"undefined\" && Symbol.iterator) || (\"@@iterator\" as any)\n\n/** Use a class type for `nothing` so its type is unique */\nexport class Nothing {\n\t// This lets us do `Exclude`\n\t// @ts-ignore\n\tprivate _!: unique symbol\n}\n","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","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","/** A function that accepts a potential \"extra argument\" value to be injected later,\r\n * and returns an instance of the thunk middleware that uses that value\r\n */\nfunction createThunkMiddleware(extraArgument) {\n // Standard Redux middleware definition pattern:\n // See: https://redux.js.org/tutorials/fundamentals/part-4-store#writing-custom-middleware\n var middleware = function middleware(_ref) {\n var dispatch = _ref.dispatch,\n getState = _ref.getState;\n return function (next) {\n return function (action) {\n // The thunk middleware looks for any functions that were passed to `store.dispatch`.\n // If this \"action\" is really a function, call it and return the result.\n if (typeof action === 'function') {\n // Inject the store's `dispatch` and `getState` methods, as well as any \"extra arg\"\n return action(dispatch, getState, extraArgument);\n } // Otherwise, pass the action down the middleware chain as usual\n\n\n return next(action);\n };\n };\n };\n\n return middleware;\n}\n\nvar thunk = createThunkMiddleware(); // Attach the factory function so users can create a customized version\n// with whatever \"extra arg\" they want to inject into their thunks\n\nthunk.withExtraArgument = createThunkMiddleware;\nexport default thunk;","import type { Action, ActionCreator, StoreEnhancer } from 'redux'\r\nimport { compose } from 'redux'\r\n\r\n/**\r\n * @public\r\n */\r\nexport interface DevToolsEnhancerOptions {\r\n /**\r\n * the instance name to be showed on the monitor page. Default value is `document.title`.\r\n * If not specified and there's no document title, it will consist of `tabId` and `instanceId`.\r\n */\r\n name?: string\r\n /**\r\n * action creators functions to be available in the Dispatcher.\r\n */\r\n actionCreators?: ActionCreator[] | { [key: string]: ActionCreator }\r\n /**\r\n * if more than one action is dispatched in the indicated interval, all new actions will be collected and sent at once.\r\n * It is the joint between performance and speed. When set to `0`, all actions will be sent instantly.\r\n * Set it to a higher value when experiencing perf issues (also `maxAge` to a lower value).\r\n *\r\n * @default 500 ms.\r\n */\r\n latency?: number\r\n /**\r\n * (> 1) - maximum allowed actions to be stored in the history tree. The oldest actions are removed once maxAge is reached. It's critical for performance.\r\n *\r\n * @default 50\r\n */\r\n maxAge?: number\r\n /**\r\n * Customizes how actions and state are serialized and deserialized. Can be a boolean or object. If given a boolean, the behavior is the same as if you\r\n * were to pass an object and specify `options` as a boolean. Giving an object allows fine-grained customization using the `replacer` and `reviver`\r\n * functions.\r\n */\r\n serialize?:\r\n | boolean\r\n | {\r\n /**\r\n * - `undefined` - will use regular `JSON.stringify` to send data (it's the fast mode).\r\n * - `false` - will handle also circular references.\r\n * - `true` - will handle also date, regex, undefined, error objects, symbols, maps, sets and functions.\r\n * - object, which contains `date`, `regex`, `undefined`, `error`, `symbol`, `map`, `set` and `function` keys.\r\n * For each of them you can indicate if to include (by setting as `true`).\r\n * For `function` key you can also specify a custom function which handles serialization.\r\n * See [`jsan`](https://github.com/kolodny/jsan) for more details.\r\n */\r\n options?:\r\n | undefined\r\n | boolean\r\n | {\r\n date?: true\r\n regex?: true\r\n undefined?: true\r\n error?: true\r\n symbol?: true\r\n map?: true\r\n set?: true\r\n function?: true | ((fn: (...args: any[]) => any) => string)\r\n }\r\n /**\r\n * [JSON replacer function](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#The_replacer_parameter) used for both actions and states stringify.\r\n * In addition, you can specify a data type by adding a [`__serializedType__`](https://github.com/zalmoxisus/remotedev-serialize/blob/master/helpers/index.js#L4)\r\n * key. So you can deserialize it back while importing or persisting data.\r\n * Moreover, it will also [show a nice preview showing the provided custom type](https://cloud.githubusercontent.com/assets/7957859/21814330/a17d556a-d761-11e6-85ef-159dd12f36c5.png):\r\n */\r\n replacer?: (key: string, value: unknown) => any\r\n /**\r\n * [JSON `reviver` function](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse#Using_the_reviver_parameter)\r\n * used for parsing the imported actions and states. See [`remotedev-serialize`](https://github.com/zalmoxisus/remotedev-serialize/blob/master/immutable/serialize.js#L8-L41)\r\n * as an example on how to serialize special data types and get them back.\r\n */\r\n reviver?: (key: string, value: unknown) => any\r\n /**\r\n * Automatically serialize/deserialize immutablejs via [remotedev-serialize](https://github.com/zalmoxisus/remotedev-serialize).\r\n * Just pass the Immutable library. It will support all ImmutableJS structures. You can even export them into a file and get them back.\r\n * The only exception is `Record` class, for which you should pass this in addition the references to your classes in `refs`.\r\n */\r\n immutable?: any\r\n /**\r\n * ImmutableJS `Record` classes used to make possible restore its instances back when importing, persisting...\r\n */\r\n refs?: any\r\n }\r\n /**\r\n * function which takes `action` object and id number as arguments, and should return `action` object back.\r\n */\r\n actionSanitizer?: (action: A, id: number) => A\r\n /**\r\n * function which takes `state` object and index as arguments, and should return `state` object back.\r\n */\r\n stateSanitizer?: (state: S, index: number) => S\r\n /**\r\n * *string or array of strings as regex* - actions types to be hidden / shown in the monitors (while passed to the reducers).\r\n * If `actionsWhitelist` specified, `actionsBlacklist` is ignored.\r\n * @deprecated Use actionsDenylist instead.\r\n */\r\n actionsBlacklist?: string | string[]\r\n /**\r\n * *string or array of strings as regex* - actions types to be hidden / shown in the monitors (while passed to the reducers).\r\n * If `actionsWhitelist` specified, `actionsBlacklist` is ignored.\r\n * @deprecated Use actionsAllowlist instead.\r\n */\r\n actionsWhitelist?: string | string[]\r\n /**\r\n * *string or array of strings as regex* - actions types to be hidden / shown in the monitors (while passed to the reducers).\r\n * If `actionsAllowlist` specified, `actionsDenylist` is ignored.\r\n */\r\n actionsDenylist?: string | string[]\r\n /**\r\n * *string or array of strings as regex* - actions types to be hidden / shown in the monitors (while passed to the reducers).\r\n * If `actionsAllowlist` specified, `actionsDenylist` is ignored.\r\n */\r\n actionsAllowlist?: string | string[]\r\n /**\r\n * called for every action before sending, takes `state` and `action` object, and returns `true` in case it allows sending the current data to the monitor.\r\n * Use it as a more advanced version of `actionsDenylist`/`actionsAllowlist` parameters.\r\n */\r\n predicate?: (state: S, action: A) => boolean\r\n /**\r\n * if specified as `false`, it will not record the changes till clicking on `Start recording` button.\r\n * Available only for Redux enhancer, for others use `autoPause`.\r\n *\r\n * @default true\r\n */\r\n shouldRecordChanges?: boolean\r\n /**\r\n * if specified, whenever clicking on `Pause recording` button and there are actions in the history log, will add this action type.\r\n * If not specified, will commit when paused. Available only for Redux enhancer.\r\n *\r\n * @default \"@@PAUSED\"\"\r\n */\r\n pauseActionType?: string\r\n /**\r\n * auto pauses when the extension’s window is not opened, and so has zero impact on your app when not in use.\r\n * Not available for Redux enhancer (as it already does it but storing the data to be sent).\r\n *\r\n * @default false\r\n */\r\n autoPause?: boolean\r\n /**\r\n * if specified as `true`, it will not allow any non-monitor actions to be dispatched till clicking on `Unlock changes` button.\r\n * Available only for Redux enhancer.\r\n *\r\n * @default false\r\n */\r\n shouldStartLocked?: boolean\r\n /**\r\n * if set to `false`, will not recompute the states on hot reloading (or on replacing the reducers). Available only for Redux enhancer.\r\n *\r\n * @default true\r\n */\r\n shouldHotReload?: boolean\r\n /**\r\n * if specified as `true`, whenever there's an exception in reducers, the monitors will show the error message, and next actions will not be dispatched.\r\n *\r\n * @default false\r\n */\r\n shouldCatchErrors?: boolean\r\n /**\r\n * If you want to restrict the extension, specify the features you allow.\r\n * If not specified, all of the features are enabled. When set as an object, only those included as `true` will be allowed.\r\n * Note that except `true`/`false`, `import` and `export` can be set as `custom` (which is by default for Redux enhancer), meaning that the importing/exporting occurs on the client side.\r\n * Otherwise, you'll get/set the data right from the monitor part.\r\n */\r\n features?: {\r\n /**\r\n * start/pause recording of dispatched actions\r\n */\r\n pause?: boolean\r\n /**\r\n * lock/unlock dispatching actions and side effects\r\n */\r\n lock?: boolean\r\n /**\r\n * persist states on page reloading\r\n */\r\n persist?: boolean\r\n /**\r\n * export history of actions in a file\r\n */\r\n export?: boolean | 'custom'\r\n /**\r\n * import history of actions from a file\r\n */\r\n import?: boolean | 'custom'\r\n /**\r\n * jump back and forth (time travelling)\r\n */\r\n jump?: boolean\r\n /**\r\n * skip (cancel) actions\r\n */\r\n skip?: boolean\r\n /**\r\n * drag and drop actions in the history list\r\n */\r\n reorder?: boolean\r\n /**\r\n * dispatch custom actions or action creators\r\n */\r\n dispatch?: boolean\r\n /**\r\n * generate tests for the selected actions\r\n */\r\n test?: boolean\r\n }\r\n /**\r\n * Set to true or a stacktrace-returning function to record call stack traces for dispatched actions.\r\n * Defaults to false.\r\n */\r\n trace?: boolean | ((action: A) => string)\r\n /**\r\n * The maximum number of stack trace entries to record per action. Defaults to 10.\r\n */\r\n traceLimit?: number\r\n}\r\n\r\ntype Compose = typeof compose\r\n\r\ninterface ComposeWithDevTools {\r\n (options: DevToolsEnhancerOptions): Compose\r\n (...funcs: StoreEnhancer[]): StoreEnhancer\r\n}\r\n\r\n/**\r\n * @public\r\n */\r\nexport const composeWithDevTools: ComposeWithDevTools =\r\n typeof window !== 'undefined' &&\r\n (window as any).__REDUX_DEVTOOLS_EXTENSION_COMPOSE__\r\n ? (window as any).__REDUX_DEVTOOLS_EXTENSION_COMPOSE__\r\n : function () {\r\n if (arguments.length === 0) return undefined\r\n if (typeof arguments[0] === 'object') return compose\r\n return compose.apply(null, arguments as any as Function[])\r\n }\r\n\r\n/**\r\n * @public\r\n */\r\nexport const devToolsEnhancer: {\r\n (options: DevToolsEnhancerOptions): StoreEnhancer\r\n} =\r\n typeof window !== 'undefined' && (window as any).__REDUX_DEVTOOLS_EXTENSION__\r\n ? (window as any).__REDUX_DEVTOOLS_EXTENSION__\r\n : function () {\r\n return function (noop) {\r\n return noop\r\n }\r\n }\r\n","/**\r\n * Returns true if the passed value is \"plain\" object, i.e. an object whose\r\n * prototype is the root `Object.prototype`. This includes objects created\r\n * using object literals, but not for instance for class instances.\r\n *\r\n * @param {any} value The value to inspect.\r\n * @returns {boolean} True if the argument appears to be a plain object.\r\n *\r\n * @public\r\n */\r\nexport default function isPlainObject(value: unknown): value is object {\r\n if (typeof value !== 'object' || value === null) return false\r\n\r\n let proto = Object.getPrototypeOf(value)\r\n if (proto === null) return true\r\n\r\n let baseProto = proto\r\n while (Object.getPrototypeOf(baseProto) !== null) {\r\n baseProto = Object.getPrototypeOf(baseProto)\r\n }\r\n\r\n return proto === baseProto\r\n}\r\n","import type { Action } from 'redux'\r\nimport type {\r\n IsUnknownOrNonInferrable,\r\n IfMaybeUndefined,\r\n IfVoid,\r\n IsAny,\r\n} from './tsHelpers'\r\nimport { hasMatchFunction } from './tsHelpers'\r\nimport isPlainObject from './isPlainObject'\r\n\r\n/**\r\n * An action with a string type and an associated payload. This is the\r\n * type of action returned by `createAction()` action creators.\r\n *\r\n * @template P The type of the action's payload.\r\n * @template T the type used for the action type.\r\n * @template M The type of the action's meta (optional)\r\n * @template E The type of the action's error (optional)\r\n *\r\n * @public\r\n */\r\nexport type PayloadAction<\r\n P = void,\r\n T extends string = string,\r\n M = never,\r\n E = never\r\n> = {\r\n payload: P\r\n type: T\r\n} & ([M] extends [never]\r\n ? {}\r\n : {\r\n meta: M\r\n }) &\r\n ([E] extends [never]\r\n ? {}\r\n : {\r\n error: E\r\n })\r\n\r\n/**\r\n * A \"prepare\" method to be used as the second parameter of `createAction`.\r\n * Takes any number of arguments and returns a Flux Standard Action without\r\n * type (will be added later) that *must* contain a payload (might be undefined).\r\n *\r\n * @public\r\n */\r\nexport type PrepareAction

=\r\n | ((...args: any[]) => { payload: P })\r\n | ((...args: any[]) => { payload: P; meta: any })\r\n | ((...args: any[]) => { payload: P; error: any })\r\n | ((...args: any[]) => { payload: P; meta: any; error: any })\r\n\r\n/**\r\n * Internal version of `ActionCreatorWithPreparedPayload`. Not to be used externally.\r\n *\r\n * @internal\r\n */\r\nexport type _ActionCreatorWithPreparedPayload<\r\n PA extends PrepareAction | void,\r\n T extends string = string\r\n> = PA extends PrepareAction\r\n ? ActionCreatorWithPreparedPayload<\r\n Parameters,\r\n P,\r\n T,\r\n ReturnType extends {\r\n error: infer E\r\n }\r\n ? E\r\n : never,\r\n ReturnType extends {\r\n meta: infer M\r\n }\r\n ? M\r\n : never\r\n >\r\n : void\r\n\r\n/**\r\n * Basic type for all action creators.\r\n *\r\n * @inheritdoc {redux#ActionCreator}\r\n */\r\nexport interface BaseActionCreator {\r\n type: T\r\n match: (action: Action) => action is PayloadAction\r\n}\r\n\r\n/**\r\n * An action creator that takes multiple arguments that are passed\r\n * to a `PrepareAction` method to create the final Action.\r\n * @typeParam Args arguments for the action creator function\r\n * @typeParam P `payload` type\r\n * @typeParam T `type` name\r\n * @typeParam E optional `error` type\r\n * @typeParam M optional `meta` type\r\n *\r\n * @inheritdoc {redux#ActionCreator}\r\n *\r\n * @public\r\n */\r\nexport interface ActionCreatorWithPreparedPayload<\r\n Args extends unknown[],\r\n P,\r\n T extends string = string,\r\n E = never,\r\n M = never\r\n> extends BaseActionCreator {\r\n /**\r\n * Calling this {@link redux#ActionCreator} with `Args` will return\r\n * an Action with a payload of type `P` and (depending on the `PrepareAction`\r\n * method used) a `meta`- and `error` property of types `M` and `E` respectively.\r\n */\r\n (...args: Args): PayloadAction\r\n}\r\n\r\n/**\r\n * An action creator of type `T` that takes an optional payload of type `P`.\r\n *\r\n * @inheritdoc {redux#ActionCreator}\r\n *\r\n * @public\r\n */\r\nexport interface ActionCreatorWithOptionalPayload\r\n extends BaseActionCreator {\r\n /**\r\n * Calling this {@link redux#ActionCreator} with an argument will\r\n * return a {@link PayloadAction} of type `T` with a payload of `P`.\r\n * Calling it without an argument will return a PayloadAction with a payload of `undefined`.\r\n */\r\n (payload?: P): PayloadAction\r\n}\r\n\r\n/**\r\n * An action creator of type `T` that takes no payload.\r\n *\r\n * @inheritdoc {redux#ActionCreator}\r\n *\r\n * @public\r\n */\r\nexport interface ActionCreatorWithoutPayload\r\n extends BaseActionCreator {\r\n /**\r\n * Calling this {@link redux#ActionCreator} will\r\n * return a {@link PayloadAction} of type `T` with a payload of `undefined`\r\n */\r\n (noArgument: void): PayloadAction\r\n}\r\n\r\n/**\r\n * An action creator of type `T` that requires a payload of type P.\r\n *\r\n * @inheritdoc {redux#ActionCreator}\r\n *\r\n * @public\r\n */\r\nexport interface ActionCreatorWithPayload\r\n extends BaseActionCreator {\r\n /**\r\n * Calling this {@link redux#ActionCreator} with an argument will\r\n * return a {@link PayloadAction} of type `T` with a payload of `P`\r\n */\r\n (payload: P): PayloadAction\r\n}\r\n\r\n/**\r\n * An action creator of type `T` whose `payload` type could not be inferred. Accepts everything as `payload`.\r\n *\r\n * @inheritdoc {redux#ActionCreator}\r\n *\r\n * @public\r\n */\r\nexport interface ActionCreatorWithNonInferrablePayload<\r\n T extends string = string\r\n> extends BaseActionCreator {\r\n /**\r\n * Calling this {@link redux#ActionCreator} with an argument will\r\n * return a {@link PayloadAction} of type `T` with a payload\r\n * of exactly the type of the argument.\r\n */\r\n (payload: PT): PayloadAction\r\n}\r\n\r\n/**\r\n * An action creator that produces actions with a `payload` attribute.\r\n *\r\n * @typeParam P the `payload` type\r\n * @typeParam T the `type` of the resulting action\r\n * @typeParam PA if the resulting action is preprocessed by a `prepare` method, the signature of said method.\r\n *\r\n * @public\r\n */\r\nexport type PayloadActionCreator<\r\n P = void,\r\n T extends string = string,\r\n PA extends PrepareAction

| void = void\r\n> = IfPrepareActionMethodProvided<\r\n PA,\r\n _ActionCreatorWithPreparedPayload,\r\n // else\r\n IsAny<\r\n P,\r\n ActionCreatorWithPayload,\r\n IsUnknownOrNonInferrable<\r\n P,\r\n ActionCreatorWithNonInferrablePayload,\r\n // else\r\n IfVoid<\r\n P,\r\n ActionCreatorWithoutPayload,\r\n // else\r\n IfMaybeUndefined<\r\n P,\r\n ActionCreatorWithOptionalPayload,\r\n // else\r\n ActionCreatorWithPayload\r\n >\r\n >\r\n >\r\n >\r\n>\r\n\r\n/**\r\n * A utility function to create an action creator for the given action type\r\n * string. The action creator accepts a single argument, which will be included\r\n * in the action object as a field called payload. The action creator function\r\n * will also have its toString() overridden so that it returns the action type,\r\n * allowing it to be used in reducer logic that is looking for that action type.\r\n *\r\n * @param type The action type to use for created actions.\r\n * @param prepare (optional) a method that takes any number of arguments and returns { payload } or { payload, meta }.\r\n * If this is given, the resulting action creator will pass its arguments to this method to calculate payload & meta.\r\n *\r\n * @public\r\n */\r\nexport function createAction

(\r\n type: T\r\n): PayloadActionCreator\r\n\r\n/**\r\n * A utility function to create an action creator for the given action type\r\n * string. The action creator accepts a single argument, which will be included\r\n * in the action object as a field called payload. The action creator function\r\n * will also have its toString() overridden so that it returns the action type,\r\n * allowing it to be used in reducer logic that is looking for that action type.\r\n *\r\n * @param type The action type to use for created actions.\r\n * @param prepare (optional) a method that takes any number of arguments and returns { payload } or { payload, meta }.\r\n * If this is given, the resulting action creator will pass its arguments to this method to calculate payload & meta.\r\n *\r\n * @public\r\n */\r\nexport function createAction<\r\n PA extends PrepareAction,\r\n T extends string = string\r\n>(\r\n type: T,\r\n prepareAction: PA\r\n): PayloadActionCreator['payload'], T, PA>\r\n\r\nexport function createAction(type: string, prepareAction?: Function): any {\r\n function actionCreator(...args: any[]) {\r\n if (prepareAction) {\r\n let prepared = prepareAction(...args)\r\n if (!prepared) {\r\n throw new Error('prepareAction did not return an object')\r\n }\r\n\r\n return {\r\n type,\r\n payload: prepared.payload,\r\n ...('meta' in prepared && { meta: prepared.meta }),\r\n ...('error' in prepared && { error: prepared.error }),\r\n }\r\n }\r\n return { type, payload: args[0] }\r\n }\r\n\r\n actionCreator.toString = () => `${type}`\r\n\r\n actionCreator.type = type\r\n\r\n actionCreator.match = (action: Action): action is PayloadAction =>\r\n action.type === type\r\n\r\n return actionCreator\r\n}\r\n\r\n/**\r\n * Returns true if value is a plain object with a `type` property.\r\n */\r\nexport function isAction(action: unknown): action is Action {\r\n return isPlainObject(action) && 'type' in action\r\n}\r\n\r\n/**\r\n * Returns true if value is an RTK-like action creator, with a static type property and match method.\r\n */\r\nexport function isActionCreator(\r\n action: unknown\r\n): action is BaseActionCreator & Function {\r\n return (\r\n typeof action === 'function' &&\r\n 'type' in action &&\r\n // hasMatchFunction only wants Matchers but I don't see the point in rewriting it\r\n hasMatchFunction(action as any)\r\n )\r\n}\r\n\r\n/**\r\n * Returns true if value is an action with a string type and valid Flux Standard Action keys.\r\n */\r\nexport function isFSA(action: unknown): action is {\r\n type: string\r\n payload?: unknown\r\n error?: unknown\r\n meta?: unknown\r\n} {\r\n return (\r\n isAction(action) &&\r\n typeof action.type === 'string' &&\r\n Object.keys(action).every(isValidKey)\r\n )\r\n}\r\n\r\nfunction isValidKey(key: string) {\r\n return ['type', 'payload', 'error', 'meta'].indexOf(key) > -1\r\n}\r\n\r\n/**\r\n * Returns the action type of the actions created by the passed\r\n * `createAction()`-generated action creator (arbitrary action creators\r\n * are not supported).\r\n *\r\n * @param action The action creator whose action type to get.\r\n * @returns The action type used by the action creator.\r\n *\r\n * @public\r\n */\r\nexport function getType(\r\n actionCreator: PayloadActionCreator\r\n): T {\r\n return `${actionCreator}` as T\r\n}\r\n\r\n// helper types for more readable typings\r\n\r\ntype IfPrepareActionMethodProvided<\r\n PA extends PrepareAction | void,\r\n True,\r\n False\r\n> = PA extends (...args: any[]) => any ? True : False\r\n","import createNextState, { isDraftable } from 'immer'\r\nimport type { Middleware, StoreEnhancer } from 'redux'\r\n\r\nexport function getTimeMeasureUtils(maxDelay: number, fnName: string) {\r\n let elapsed = 0\r\n return {\r\n measureTime(fn: () => T): T {\r\n const started = Date.now()\r\n try {\r\n return fn()\r\n } finally {\r\n const finished = Date.now()\r\n elapsed += finished - started\r\n }\r\n },\r\n warnIfExceeded() {\r\n if (elapsed > maxDelay) {\r\n console.warn(`${fnName} took ${elapsed}ms, which is more than the warning threshold of ${maxDelay}ms. \r\nIf your state or actions are very large, you may want to disable the middleware as it might cause too much of a slowdown in development mode. See https://redux-toolkit.js.org/api/getDefaultMiddleware for instructions.\r\nIt is disabled in production builds, so you don't need to worry about that.`)\r\n }\r\n },\r\n }\r\n}\r\n\r\nexport function delay(ms: number) {\r\n return new Promise((resolve) => setTimeout(resolve, ms))\r\n}\r\n\r\n/**\r\n * @public\r\n */\r\nexport class MiddlewareArray<\r\n Middlewares extends Middleware[]\r\n> extends Array {\r\n constructor(...items: Middlewares)\r\n constructor(...args: any[]) {\r\n super(...args)\r\n Object.setPrototypeOf(this, MiddlewareArray.prototype)\r\n }\r\n\r\n static get [Symbol.species]() {\r\n return MiddlewareArray as any\r\n }\r\n\r\n concat>>(\r\n items: AdditionalMiddlewares\r\n ): MiddlewareArray<[...Middlewares, ...AdditionalMiddlewares]>\r\n\r\n concat>>(\r\n ...items: AdditionalMiddlewares\r\n ): MiddlewareArray<[...Middlewares, ...AdditionalMiddlewares]>\r\n concat(...arr: any[]) {\r\n return super.concat.apply(this, arr)\r\n }\r\n\r\n prepend>>(\r\n items: AdditionalMiddlewares\r\n ): MiddlewareArray<[...AdditionalMiddlewares, ...Middlewares]>\r\n\r\n prepend>>(\r\n ...items: AdditionalMiddlewares\r\n ): MiddlewareArray<[...AdditionalMiddlewares, ...Middlewares]>\r\n\r\n prepend(...arr: any[]) {\r\n if (arr.length === 1 && Array.isArray(arr[0])) {\r\n return new MiddlewareArray(...arr[0].concat(this))\r\n }\r\n return new MiddlewareArray(...arr.concat(this))\r\n }\r\n}\r\n\r\n/**\r\n * @public\r\n */\r\nexport class EnhancerArray<\r\n Enhancers extends StoreEnhancer[]\r\n> extends Array {\r\n constructor(...items: Enhancers)\r\n constructor(...args: any[]) {\r\n super(...args)\r\n Object.setPrototypeOf(this, EnhancerArray.prototype)\r\n }\r\n\r\n static get [Symbol.species]() {\r\n return EnhancerArray as any\r\n }\r\n\r\n concat>>(\r\n items: AdditionalEnhancers\r\n ): EnhancerArray<[...Enhancers, ...AdditionalEnhancers]>\r\n\r\n concat>>(\r\n ...items: AdditionalEnhancers\r\n ): EnhancerArray<[...Enhancers, ...AdditionalEnhancers]>\r\n concat(...arr: any[]) {\r\n return super.concat.apply(this, arr)\r\n }\r\n\r\n prepend>>(\r\n items: AdditionalEnhancers\r\n ): EnhancerArray<[...AdditionalEnhancers, ...Enhancers]>\r\n\r\n prepend>>(\r\n ...items: AdditionalEnhancers\r\n ): EnhancerArray<[...AdditionalEnhancers, ...Enhancers]>\r\n\r\n prepend(...arr: any[]) {\r\n if (arr.length === 1 && Array.isArray(arr[0])) {\r\n return new EnhancerArray(...arr[0].concat(this))\r\n }\r\n return new EnhancerArray(...arr.concat(this))\r\n }\r\n}\r\n\r\nexport function freezeDraftable(val: T) {\r\n return isDraftable(val) ? createNextState(val, () => {}) : val\r\n}\r\n","import type { Middleware, AnyAction } from 'redux'\r\nimport type { ThunkMiddleware } from 'redux-thunk'\r\nimport thunkMiddleware from 'redux-thunk'\r\nimport type { ActionCreatorInvariantMiddlewareOptions } from './actionCreatorInvariantMiddleware'\r\nimport { createActionCreatorInvariantMiddleware } from './actionCreatorInvariantMiddleware'\r\nimport type { ImmutableStateInvariantMiddlewareOptions } from './immutableStateInvariantMiddleware'\r\n/* PROD_START_REMOVE_UMD */\r\nimport { createImmutableStateInvariantMiddleware } from './immutableStateInvariantMiddleware'\r\n/* PROD_STOP_REMOVE_UMD */\r\n\r\nimport type { SerializableStateInvariantMiddlewareOptions } from './serializableStateInvariantMiddleware'\r\nimport { createSerializableStateInvariantMiddleware } from './serializableStateInvariantMiddleware'\r\nimport type { ExcludeFromTuple } from './tsHelpers'\r\nimport { MiddlewareArray } from './utils'\r\n\r\nfunction isBoolean(x: any): x is boolean {\r\n return typeof x === 'boolean'\r\n}\r\n\r\ninterface ThunkOptions {\r\n extraArgument: E\r\n}\r\n\r\ninterface GetDefaultMiddlewareOptions {\r\n thunk?: boolean | ThunkOptions\r\n immutableCheck?: boolean | ImmutableStateInvariantMiddlewareOptions\r\n serializableCheck?: boolean | SerializableStateInvariantMiddlewareOptions\r\n actionCreatorCheck?: boolean | ActionCreatorInvariantMiddlewareOptions\r\n}\r\n\r\nexport type ThunkMiddlewareFor<\r\n S,\r\n O extends GetDefaultMiddlewareOptions = {}\r\n> = O extends {\r\n thunk: false\r\n}\r\n ? never\r\n : O extends { thunk: { extraArgument: infer E } }\r\n ? ThunkMiddleware\r\n : ThunkMiddleware\r\n\r\nexport type CurriedGetDefaultMiddleware = <\r\n O extends Partial = {\r\n thunk: true\r\n immutableCheck: true\r\n serializableCheck: true\r\n actionCreatorCheck: true\r\n }\r\n>(\r\n options?: O\r\n) => MiddlewareArray], never>>\r\n\r\nexport function curryGetDefaultMiddleware<\r\n S = any\r\n>(): CurriedGetDefaultMiddleware {\r\n return function curriedGetDefaultMiddleware(options) {\r\n return getDefaultMiddleware(options)\r\n }\r\n}\r\n\r\n/**\r\n * Returns any array containing the default middleware installed by\r\n * `configureStore()`. Useful if you want to configure your store with a custom\r\n * `middleware` array but still keep the default set.\r\n *\r\n * @return The default middleware used by `configureStore()`.\r\n *\r\n * @public\r\n *\r\n * @deprecated Prefer to use the callback notation for the `middleware` option in `configureStore`\r\n * to access a pre-typed `getDefaultMiddleware` instead.\r\n */\r\nexport function getDefaultMiddleware<\r\n S = any,\r\n O extends Partial = {\r\n thunk: true\r\n immutableCheck: true\r\n serializableCheck: true\r\n actionCreatorCheck: true\r\n }\r\n>(\r\n options: O = {} as O\r\n): MiddlewareArray], never>> {\r\n const {\r\n thunk = true,\r\n immutableCheck = true,\r\n serializableCheck = true,\r\n actionCreatorCheck = true,\r\n } = options\r\n\r\n let middlewareArray = new MiddlewareArray()\r\n\r\n if (thunk) {\r\n if (isBoolean(thunk)) {\r\n middlewareArray.push(thunkMiddleware)\r\n } else {\r\n middlewareArray.push(\r\n thunkMiddleware.withExtraArgument(thunk.extraArgument)\r\n )\r\n }\r\n }\r\n\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (immutableCheck) {\r\n /* PROD_START_REMOVE_UMD */\r\n let immutableOptions: ImmutableStateInvariantMiddlewareOptions = {}\r\n\r\n if (!isBoolean(immutableCheck)) {\r\n immutableOptions = immutableCheck\r\n }\r\n\r\n middlewareArray.unshift(\r\n createImmutableStateInvariantMiddleware(immutableOptions)\r\n )\r\n /* PROD_STOP_REMOVE_UMD */\r\n }\r\n\r\n if (serializableCheck) {\r\n let serializableOptions: SerializableStateInvariantMiddlewareOptions = {}\r\n\r\n if (!isBoolean(serializableCheck)) {\r\n serializableOptions = serializableCheck\r\n }\r\n\r\n middlewareArray.push(\r\n createSerializableStateInvariantMiddleware(serializableOptions)\r\n )\r\n }\r\n if (actionCreatorCheck) {\r\n let actionCreatorOptions: ActionCreatorInvariantMiddlewareOptions = {}\r\n\r\n if (!isBoolean(actionCreatorCheck)) {\r\n actionCreatorOptions = actionCreatorCheck\r\n }\r\n\r\n middlewareArray.unshift(\r\n createActionCreatorInvariantMiddleware(actionCreatorOptions)\r\n )\r\n }\r\n }\r\n\r\n return middlewareArray as any\r\n}\r\n","import type { Action, AnyAction } from 'redux'\r\nimport type {\r\n CaseReducer,\r\n CaseReducers,\r\n ActionMatcherDescriptionCollection,\r\n} from './createReducer'\r\nimport type { TypeGuard } from './tsHelpers'\r\n\r\nexport interface TypedActionCreator {\r\n (...args: any[]): Action\r\n type: Type\r\n}\r\n\r\n/**\r\n * A builder for an action <-> reducer map.\r\n *\r\n * @public\r\n */\r\nexport interface ActionReducerMapBuilder {\r\n /**\r\n * Adds a case reducer to handle a single exact action type.\r\n * @remarks\r\n * All calls to `builder.addCase` must come before any calls to `builder.addMatcher` or `builder.addDefaultCase`.\r\n * @param actionCreator - Either a plain action type string, or an action creator generated by [`createAction`](./createAction) that can be used to determine the action type.\r\n * @param reducer - The actual case reducer function.\r\n */\r\n addCase>(\r\n actionCreator: ActionCreator,\r\n reducer: CaseReducer>\r\n ): ActionReducerMapBuilder\r\n /**\r\n * Adds a case reducer to handle a single exact action type.\r\n * @remarks\r\n * All calls to `builder.addCase` must come before any calls to `builder.addMatcher` or `builder.addDefaultCase`.\r\n * @param actionCreator - Either a plain action type string, or an action creator generated by [`createAction`](./createAction) that can be used to determine the action type.\r\n * @param reducer - The actual case reducer function.\r\n */\r\n addCase>(\r\n type: Type,\r\n reducer: CaseReducer\r\n ): ActionReducerMapBuilder\r\n\r\n /**\r\n * Allows you to match your incoming actions against your own filter function instead of only the `action.type` property.\r\n * @remarks\r\n * If multiple matcher reducers match, all of them will be executed in the order\r\n * they were defined in - even if a case reducer already matched.\r\n * All calls to `builder.addMatcher` must come after any calls to `builder.addCase` and before any calls to `builder.addDefaultCase`.\r\n * @param matcher - A matcher function. In TypeScript, this should be a [type predicate](https://www.typescriptlang.org/docs/handbook/2/narrowing.html#using-type-predicates)\r\n * function\r\n * @param reducer - The actual case reducer function.\r\n *\r\n * @example\r\n```ts\r\nimport {\r\n createAction,\r\n createReducer,\r\n AsyncThunk,\r\n AnyAction,\r\n} from \"@reduxjs/toolkit\";\r\n\r\ntype GenericAsyncThunk = AsyncThunk;\r\n\r\ntype PendingAction = ReturnType;\r\ntype RejectedAction = ReturnType;\r\ntype FulfilledAction = ReturnType;\r\n\r\nconst initialState: Record = {};\r\nconst resetAction = createAction(\"reset-tracked-loading-state\");\r\n\r\nfunction isPendingAction(action: AnyAction): action is PendingAction {\r\n return action.type.endsWith(\"/pending\");\r\n}\r\n\r\nconst reducer = createReducer(initialState, (builder) => {\r\n builder\r\n .addCase(resetAction, () => initialState)\r\n // matcher can be defined outside as a type predicate function\r\n .addMatcher(isPendingAction, (state, action) => {\r\n state[action.meta.requestId] = \"pending\";\r\n })\r\n .addMatcher(\r\n // matcher can be defined inline as a type predicate function\r\n (action): action is RejectedAction => action.type.endsWith(\"/rejected\"),\r\n (state, action) => {\r\n state[action.meta.requestId] = \"rejected\";\r\n }\r\n )\r\n // matcher can just return boolean and the matcher can receive a generic argument\r\n .addMatcher(\r\n (action) => action.type.endsWith(\"/fulfilled\"),\r\n (state, action) => {\r\n state[action.meta.requestId] = \"fulfilled\";\r\n }\r\n );\r\n});\r\n```\r\n */\r\n addMatcher(\r\n matcher: TypeGuard | ((action: any) => boolean),\r\n reducer: CaseReducer\r\n ): Omit, 'addCase'>\r\n\r\n /**\r\n * Adds a \"default case\" reducer that is executed if no case reducer and no matcher\r\n * reducer was executed for this action.\r\n * @param reducer - The fallback \"default case\" reducer function.\r\n *\r\n * @example\r\n```ts\r\nimport { createReducer } from '@reduxjs/toolkit'\r\nconst initialState = { otherActions: 0 }\r\nconst reducer = createReducer(initialState, builder => {\r\n builder\r\n // .addCase(...)\r\n // .addMatcher(...)\r\n .addDefaultCase((state, action) => {\r\n state.otherActions++\r\n })\r\n})\r\n```\r\n */\r\n addDefaultCase(reducer: CaseReducer): {}\r\n}\r\n\r\nexport function executeReducerBuilderCallback(\r\n builderCallback: (builder: ActionReducerMapBuilder) => void\r\n): [\r\n CaseReducers,\r\n ActionMatcherDescriptionCollection,\r\n CaseReducer | undefined\r\n] {\r\n const actionsMap: CaseReducers = {}\r\n const actionMatchers: ActionMatcherDescriptionCollection = []\r\n let defaultCaseReducer: CaseReducer | undefined\r\n const builder = {\r\n addCase(\r\n typeOrActionCreator: string | TypedActionCreator,\r\n reducer: CaseReducer\r\n ) {\r\n if (process.env.NODE_ENV !== 'production') {\r\n /*\r\n to keep the definition by the user in line with actual behavior,\r\n we enforce `addCase` to always be called before calling `addMatcher`\r\n as matching cases take precedence over matchers\r\n */\r\n if (actionMatchers.length > 0) {\r\n throw new Error(\r\n '`builder.addCase` should only be called before calling `builder.addMatcher`'\r\n )\r\n }\r\n if (defaultCaseReducer) {\r\n throw new Error(\r\n '`builder.addCase` should only be called before calling `builder.addDefaultCase`'\r\n )\r\n }\r\n }\r\n const type =\r\n typeof typeOrActionCreator === 'string'\r\n ? typeOrActionCreator\r\n : typeOrActionCreator.type\r\n if (!type) {\r\n throw new Error(\r\n '`builder.addCase` cannot be called with an empty action type'\r\n )\r\n }\r\n if (type in actionsMap) {\r\n throw new Error(\r\n '`builder.addCase` cannot be called with two reducers for the same action type'\r\n )\r\n }\r\n actionsMap[type] = reducer\r\n return builder\r\n },\r\n addMatcher(\r\n matcher: TypeGuard,\r\n reducer: CaseReducer\r\n ) {\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (defaultCaseReducer) {\r\n throw new Error(\r\n '`builder.addMatcher` should only be called before calling `builder.addDefaultCase`'\r\n )\r\n }\r\n }\r\n actionMatchers.push({ matcher, reducer })\r\n return builder\r\n },\r\n addDefaultCase(reducer: CaseReducer) {\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (defaultCaseReducer) {\r\n throw new Error('`builder.addDefaultCase` can only be called once')\r\n }\r\n }\r\n defaultCaseReducer = reducer\r\n return builder\r\n },\r\n }\r\n builderCallback(builder)\r\n return [actionsMap, actionMatchers, defaultCaseReducer]\r\n}\r\n","// Borrowed from https://github.com/ai/nanoid/blob/3.0.2/non-secure/index.js\r\n// This alphabet uses `A-Za-z0-9_-` symbols. A genetic algorithm helped\r\n// optimize the gzip compression for this alphabet.\r\nlet urlAlphabet =\r\n 'ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW'\r\n\r\n/**\r\n *\r\n * @public\r\n */\r\nexport let nanoid = (size = 21) => {\r\n let id = ''\r\n // A compact alternative for `for (var i = 0; i < step; i++)`.\r\n let i = size\r\n while (i--) {\r\n // `| 0` is more compact and faster than `Math.floor()`.\r\n id += urlAlphabet[(Math.random() * 64) | 0]\r\n }\r\n return id\r\n}\r\n","import type { Dispatch, AnyAction } from 'redux'\r\nimport type {\r\n PayloadAction,\r\n ActionCreatorWithPreparedPayload,\r\n} from './createAction'\r\nimport { createAction } from './createAction'\r\nimport type { ThunkDispatch } from 'redux-thunk'\r\nimport type { FallbackIfUnknown, Id, IsAny, IsUnknown } from './tsHelpers'\r\nimport { nanoid } from './nanoid'\r\n\r\n// @ts-ignore we need the import of these types due to a bundling issue.\r\ntype _Keep = PayloadAction | ActionCreatorWithPreparedPayload\r\n\r\nexport type BaseThunkAPI<\r\n S,\r\n E,\r\n D extends Dispatch = Dispatch,\r\n RejectedValue = unknown,\r\n RejectedMeta = unknown,\r\n FulfilledMeta = unknown\r\n> = {\r\n dispatch: D\r\n getState: () => S\r\n extra: E\r\n requestId: string\r\n signal: AbortSignal\r\n abort: (reason?: string) => void\r\n rejectWithValue: IsUnknown<\r\n RejectedMeta,\r\n (value: RejectedValue) => RejectWithValue,\r\n (\r\n value: RejectedValue,\r\n meta: RejectedMeta\r\n ) => RejectWithValue\r\n >\r\n fulfillWithValue: IsUnknown<\r\n FulfilledMeta,\r\n (value: FulfilledValue) => FulfilledValue,\r\n (\r\n value: FulfilledValue,\r\n meta: FulfilledMeta\r\n ) => FulfillWithMeta\r\n >\r\n}\r\n\r\n/**\r\n * @public\r\n */\r\nexport interface SerializedError {\r\n name?: string\r\n message?: string\r\n stack?: string\r\n code?: string\r\n}\r\n\r\nconst commonProperties: Array = [\r\n 'name',\r\n 'message',\r\n 'stack',\r\n 'code',\r\n]\r\n\r\nclass RejectWithValue {\r\n /*\r\n type-only property to distinguish between RejectWithValue and FulfillWithMeta\r\n does not exist at runtime\r\n */\r\n private readonly _type!: 'RejectWithValue'\r\n constructor(\r\n public readonly payload: Payload,\r\n public readonly meta: RejectedMeta\r\n ) {}\r\n}\r\n\r\nclass FulfillWithMeta {\r\n /*\r\n type-only property to distinguish between RejectWithValue and FulfillWithMeta\r\n does not exist at runtime\r\n */\r\n private readonly _type!: 'FulfillWithMeta'\r\n constructor(\r\n public readonly payload: Payload,\r\n public readonly meta: FulfilledMeta\r\n ) {}\r\n}\r\n\r\n/**\r\n * Serializes an error into a plain object.\r\n * Reworked from https://github.com/sindresorhus/serialize-error\r\n *\r\n * @public\r\n */\r\nexport const miniSerializeError = (value: any): SerializedError => {\r\n if (typeof value === 'object' && value !== null) {\r\n const simpleError: SerializedError = {}\r\n for (const property of commonProperties) {\r\n if (typeof value[property] === 'string') {\r\n simpleError[property] = value[property]\r\n }\r\n }\r\n\r\n return simpleError\r\n }\r\n\r\n return { message: String(value) }\r\n}\r\n\r\ntype AsyncThunkConfig = {\r\n state?: unknown\r\n dispatch?: Dispatch\r\n extra?: unknown\r\n rejectValue?: unknown\r\n serializedErrorType?: unknown\r\n pendingMeta?: unknown\r\n fulfilledMeta?: unknown\r\n rejectedMeta?: unknown\r\n}\r\n\r\ntype GetState = ThunkApiConfig extends {\r\n state: infer State\r\n}\r\n ? State\r\n : unknown\r\ntype GetExtra = ThunkApiConfig extends { extra: infer Extra }\r\n ? Extra\r\n : unknown\r\ntype GetDispatch = ThunkApiConfig extends {\r\n dispatch: infer Dispatch\r\n}\r\n ? FallbackIfUnknown<\r\n Dispatch,\r\n ThunkDispatch<\r\n GetState,\r\n GetExtra,\r\n AnyAction\r\n >\r\n >\r\n : ThunkDispatch, GetExtra, AnyAction>\r\n\r\nexport type GetThunkAPI = BaseThunkAPI<\r\n GetState,\r\n GetExtra,\r\n GetDispatch,\r\n GetRejectValue,\r\n GetRejectedMeta,\r\n GetFulfilledMeta\r\n>\r\n\r\ntype GetRejectValue = ThunkApiConfig extends {\r\n rejectValue: infer RejectValue\r\n}\r\n ? RejectValue\r\n : unknown\r\n\r\ntype GetPendingMeta = ThunkApiConfig extends {\r\n pendingMeta: infer PendingMeta\r\n}\r\n ? PendingMeta\r\n : unknown\r\n\r\ntype GetFulfilledMeta = ThunkApiConfig extends {\r\n fulfilledMeta: infer FulfilledMeta\r\n}\r\n ? FulfilledMeta\r\n : unknown\r\n\r\ntype GetRejectedMeta = ThunkApiConfig extends {\r\n rejectedMeta: infer RejectedMeta\r\n}\r\n ? RejectedMeta\r\n : unknown\r\n\r\ntype GetSerializedErrorType = ThunkApiConfig extends {\r\n serializedErrorType: infer GetSerializedErrorType\r\n}\r\n ? GetSerializedErrorType\r\n : SerializedError\r\n\r\ntype MaybePromise = T | Promise | (T extends any ? Promise : never)\r\n\r\n/**\r\n * A type describing the return value of the `payloadCreator` argument to `createAsyncThunk`.\r\n * Might be useful for wrapping `createAsyncThunk` in custom abstractions.\r\n *\r\n * @public\r\n */\r\nexport type AsyncThunkPayloadCreatorReturnValue<\r\n Returned,\r\n ThunkApiConfig extends AsyncThunkConfig\r\n> = MaybePromise<\r\n | IsUnknown<\r\n GetFulfilledMeta,\r\n Returned,\r\n FulfillWithMeta>\r\n >\r\n | RejectWithValue<\r\n GetRejectValue,\r\n GetRejectedMeta\r\n >\r\n>\r\n/**\r\n * A type describing the `payloadCreator` argument to `createAsyncThunk`.\r\n * Might be useful for wrapping `createAsyncThunk` in custom abstractions.\r\n *\r\n * @public\r\n */\r\nexport type AsyncThunkPayloadCreator<\r\n Returned,\r\n ThunkArg = void,\r\n ThunkApiConfig extends AsyncThunkConfig = {}\r\n> = (\r\n arg: ThunkArg,\r\n thunkAPI: GetThunkAPI\r\n) => AsyncThunkPayloadCreatorReturnValue\r\n\r\n/**\r\n * A ThunkAction created by `createAsyncThunk`.\r\n * Dispatching it returns a Promise for either a\r\n * fulfilled or rejected action.\r\n * Also, the returned value contains an `abort()` method\r\n * that allows the asyncAction to be cancelled from the outside.\r\n *\r\n * @public\r\n */\r\nexport type AsyncThunkAction<\r\n Returned,\r\n ThunkArg,\r\n ThunkApiConfig extends AsyncThunkConfig\r\n> = (\r\n dispatch: GetDispatch,\r\n getState: () => GetState,\r\n extra: GetExtra\r\n) => Promise<\r\n | ReturnType>\r\n | ReturnType>\r\n> & {\r\n abort: (reason?: string) => void\r\n requestId: string\r\n arg: ThunkArg\r\n unwrap: () => Promise\r\n}\r\n\r\ntype AsyncThunkActionCreator<\r\n Returned,\r\n ThunkArg,\r\n ThunkApiConfig extends AsyncThunkConfig\r\n> = IsAny<\r\n ThunkArg,\r\n // any handling\r\n (arg: ThunkArg) => AsyncThunkAction,\r\n // unknown handling\r\n unknown extends ThunkArg\r\n ? (arg: ThunkArg) => AsyncThunkAction // argument not specified or specified as void or undefined\r\n : [ThunkArg] extends [void] | [undefined]\r\n ? () => AsyncThunkAction // argument contains void\r\n : [void] extends [ThunkArg] // make optional\r\n ? (arg?: ThunkArg) => AsyncThunkAction // argument contains undefined\r\n : [undefined] extends [ThunkArg]\r\n ? WithStrictNullChecks<\r\n // with strict nullChecks: make optional\r\n (\r\n arg?: ThunkArg\r\n ) => AsyncThunkAction,\r\n // without strict null checks this will match everything, so don't make it optional\r\n (arg: ThunkArg) => AsyncThunkAction\r\n > // default case: normal argument\r\n : (arg: ThunkArg) => AsyncThunkAction\r\n>\r\n\r\n/**\r\n * Options object for `createAsyncThunk`.\r\n *\r\n * @public\r\n */\r\nexport type AsyncThunkOptions<\r\n ThunkArg = void,\r\n ThunkApiConfig extends AsyncThunkConfig = {}\r\n> = {\r\n /**\r\n * A method to control whether the asyncThunk should be executed. Has access to the\r\n * `arg`, `api.getState()` and `api.extra` arguments.\r\n *\r\n * @returns `false` if it should be skipped\r\n */\r\n condition?(\r\n arg: ThunkArg,\r\n api: Pick, 'getState' | 'extra'>\r\n ): MaybePromise\r\n /**\r\n * If `condition` returns `false`, the asyncThunk will be skipped.\r\n * This option allows you to control whether a `rejected` action with `meta.condition == false`\r\n * will be dispatched or not.\r\n *\r\n * @default `false`\r\n */\r\n dispatchConditionRejection?: boolean\r\n\r\n serializeError?: (x: unknown) => GetSerializedErrorType\r\n\r\n /**\r\n * A function to use when generating the `requestId` for the request sequence.\r\n *\r\n * @default `nanoid`\r\n */\r\n idGenerator?: (arg: ThunkArg) => string\r\n} & IsUnknown<\r\n GetPendingMeta,\r\n {\r\n /**\r\n * A method to generate additional properties to be added to `meta` of the pending action.\r\n *\r\n * Using this optional overload will not modify the types correctly, this overload is only in place to support JavaScript users.\r\n * Please use the `ThunkApiConfig` parameter `pendingMeta` to get access to a correctly typed overload\r\n */\r\n getPendingMeta?(\r\n base: {\r\n arg: ThunkArg\r\n requestId: string\r\n },\r\n api: Pick, 'getState' | 'extra'>\r\n ): GetPendingMeta\r\n },\r\n {\r\n /**\r\n * A method to generate additional properties to be added to `meta` of the pending action.\r\n */\r\n getPendingMeta(\r\n base: {\r\n arg: ThunkArg\r\n requestId: string\r\n },\r\n api: Pick, 'getState' | 'extra'>\r\n ): GetPendingMeta\r\n }\r\n>\r\n\r\nexport type AsyncThunkPendingActionCreator<\r\n ThunkArg,\r\n ThunkApiConfig = {}\r\n> = ActionCreatorWithPreparedPayload<\r\n [string, ThunkArg, GetPendingMeta?],\r\n undefined,\r\n string,\r\n never,\r\n {\r\n arg: ThunkArg\r\n requestId: string\r\n requestStatus: 'pending'\r\n } & GetPendingMeta\r\n>\r\n\r\nexport type AsyncThunkRejectedActionCreator<\r\n ThunkArg,\r\n ThunkApiConfig = {}\r\n> = ActionCreatorWithPreparedPayload<\r\n [\r\n Error | null,\r\n string,\r\n ThunkArg,\r\n GetRejectValue?,\r\n GetRejectedMeta?\r\n ],\r\n GetRejectValue | undefined,\r\n string,\r\n GetSerializedErrorType,\r\n {\r\n arg: ThunkArg\r\n requestId: string\r\n requestStatus: 'rejected'\r\n aborted: boolean\r\n condition: boolean\r\n } & (\r\n | ({ rejectedWithValue: false } & {\r\n [K in keyof GetRejectedMeta]?: undefined\r\n })\r\n | ({ rejectedWithValue: true } & GetRejectedMeta)\r\n )\r\n>\r\n\r\nexport type AsyncThunkFulfilledActionCreator<\r\n Returned,\r\n ThunkArg,\r\n ThunkApiConfig = {}\r\n> = ActionCreatorWithPreparedPayload<\r\n [Returned, string, ThunkArg, GetFulfilledMeta?],\r\n Returned,\r\n string,\r\n never,\r\n {\r\n arg: ThunkArg\r\n requestId: string\r\n requestStatus: 'fulfilled'\r\n } & GetFulfilledMeta\r\n>\r\n\r\n/**\r\n * A type describing the return value of `createAsyncThunk`.\r\n * Might be useful for wrapping `createAsyncThunk` in custom abstractions.\r\n *\r\n * @public\r\n */\r\nexport type AsyncThunk<\r\n Returned,\r\n ThunkArg,\r\n ThunkApiConfig extends AsyncThunkConfig\r\n> = AsyncThunkActionCreator & {\r\n pending: AsyncThunkPendingActionCreator\r\n rejected: AsyncThunkRejectedActionCreator\r\n fulfilled: AsyncThunkFulfilledActionCreator<\r\n Returned,\r\n ThunkArg,\r\n ThunkApiConfig\r\n >\r\n typePrefix: string\r\n}\r\n\r\ntype OverrideThunkApiConfigs = Id<\r\n NewConfig & Omit\r\n>\r\n\r\ntype CreateAsyncThunk = {\r\n /**\r\n *\r\n * @param typePrefix\r\n * @param payloadCreator\r\n * @param options\r\n *\r\n * @public\r\n */\r\n // separate signature without `AsyncThunkConfig` for better inference\r\n (\r\n typePrefix: string,\r\n payloadCreator: AsyncThunkPayloadCreator<\r\n Returned,\r\n ThunkArg,\r\n CurriedThunkApiConfig\r\n >,\r\n options?: AsyncThunkOptions\r\n ): AsyncThunk\r\n\r\n /**\r\n *\r\n * @param typePrefix\r\n * @param payloadCreator\r\n * @param options\r\n *\r\n * @public\r\n */\r\n (\r\n typePrefix: string,\r\n payloadCreator: AsyncThunkPayloadCreator<\r\n Returned,\r\n ThunkArg,\r\n OverrideThunkApiConfigs\r\n >,\r\n options?: AsyncThunkOptions<\r\n ThunkArg,\r\n OverrideThunkApiConfigs\r\n >\r\n ): AsyncThunk<\r\n Returned,\r\n ThunkArg,\r\n OverrideThunkApiConfigs\r\n >\r\n\r\n withTypes(): CreateAsyncThunk<\r\n OverrideThunkApiConfigs\r\n >\r\n}\r\n\r\nexport const createAsyncThunk = (() => {\r\n function createAsyncThunk<\r\n Returned,\r\n ThunkArg,\r\n ThunkApiConfig extends AsyncThunkConfig\r\n >(\r\n typePrefix: string,\r\n payloadCreator: AsyncThunkPayloadCreator<\r\n Returned,\r\n ThunkArg,\r\n ThunkApiConfig\r\n >,\r\n options?: AsyncThunkOptions\r\n ): AsyncThunk {\r\n type RejectedValue = GetRejectValue\r\n type PendingMeta = GetPendingMeta\r\n type FulfilledMeta = GetFulfilledMeta\r\n type RejectedMeta = GetRejectedMeta\r\n\r\n const fulfilled: AsyncThunkFulfilledActionCreator<\r\n Returned,\r\n ThunkArg,\r\n ThunkApiConfig\r\n > = createAction(\r\n typePrefix + '/fulfilled',\r\n (\r\n payload: Returned,\r\n requestId: string,\r\n arg: ThunkArg,\r\n meta?: FulfilledMeta\r\n ) => ({\r\n payload,\r\n meta: {\r\n ...((meta as any) || {}),\r\n arg,\r\n requestId,\r\n requestStatus: 'fulfilled' as const,\r\n },\r\n })\r\n )\r\n\r\n const pending: AsyncThunkPendingActionCreator =\r\n createAction(\r\n typePrefix + '/pending',\r\n (requestId: string, arg: ThunkArg, meta?: PendingMeta) => ({\r\n payload: undefined,\r\n meta: {\r\n ...((meta as any) || {}),\r\n arg,\r\n requestId,\r\n requestStatus: 'pending' as const,\r\n },\r\n })\r\n )\r\n\r\n const rejected: AsyncThunkRejectedActionCreator =\r\n createAction(\r\n typePrefix + '/rejected',\r\n (\r\n error: Error | null,\r\n requestId: string,\r\n arg: ThunkArg,\r\n payload?: RejectedValue,\r\n meta?: RejectedMeta\r\n ) => ({\r\n payload,\r\n error: ((options && options.serializeError) || miniSerializeError)(\r\n error || 'Rejected'\r\n ) as GetSerializedErrorType,\r\n meta: {\r\n ...((meta as any) || {}),\r\n arg,\r\n requestId,\r\n rejectedWithValue: !!payload,\r\n requestStatus: 'rejected' as const,\r\n aborted: error?.name === 'AbortError',\r\n condition: error?.name === 'ConditionError',\r\n },\r\n })\r\n )\r\n\r\n let displayedWarning = false\r\n\r\n const AC =\r\n typeof AbortController !== 'undefined'\r\n ? AbortController\r\n : class implements AbortController {\r\n signal = {\r\n aborted: false,\r\n addEventListener() {},\r\n dispatchEvent() {\r\n return false\r\n },\r\n onabort() {},\r\n removeEventListener() {},\r\n reason: undefined,\r\n throwIfAborted() {},\r\n }\r\n abort() {\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (!displayedWarning) {\r\n displayedWarning = true\r\n console.info(\r\n `This platform does not implement AbortController. \r\nIf you want to use the AbortController to react to \\`abort\\` events, please consider importing a polyfill like 'abortcontroller-polyfill/dist/abortcontroller-polyfill-only'.`\r\n )\r\n }\r\n }\r\n }\r\n }\r\n\r\n function actionCreator(\r\n arg: ThunkArg\r\n ): AsyncThunkAction {\r\n return (dispatch, getState, extra) => {\r\n const requestId = options?.idGenerator\r\n ? options.idGenerator(arg)\r\n : nanoid()\r\n\r\n const abortController = new AC()\r\n let abortReason: string | undefined\r\n\r\n let started = false\r\n function abort(reason?: string) {\r\n abortReason = reason\r\n abortController.abort()\r\n }\r\n\r\n const promise = (async function () {\r\n let finalAction: ReturnType\r\n try {\r\n let conditionResult = options?.condition?.(arg, { getState, extra })\r\n if (isThenable(conditionResult)) {\r\n conditionResult = await conditionResult\r\n }\r\n\r\n if (conditionResult === false || abortController.signal.aborted) {\r\n // eslint-disable-next-line no-throw-literal\r\n throw {\r\n name: 'ConditionError',\r\n message: 'Aborted due to condition callback returning false.',\r\n }\r\n }\r\n started = true\r\n\r\n const abortedPromise = new Promise((_, reject) =>\r\n abortController.signal.addEventListener('abort', () =>\r\n reject({\r\n name: 'AbortError',\r\n message: abortReason || 'Aborted',\r\n })\r\n )\r\n )\r\n dispatch(\r\n pending(\r\n requestId,\r\n arg,\r\n options?.getPendingMeta?.(\r\n { requestId, arg },\r\n { getState, extra }\r\n )\r\n )\r\n )\r\n finalAction = await Promise.race([\r\n abortedPromise,\r\n Promise.resolve(\r\n payloadCreator(arg, {\r\n dispatch,\r\n getState,\r\n extra,\r\n requestId,\r\n signal: abortController.signal,\r\n abort,\r\n rejectWithValue: ((\r\n value: RejectedValue,\r\n meta?: RejectedMeta\r\n ) => {\r\n return new RejectWithValue(value, meta)\r\n }) as any,\r\n fulfillWithValue: ((value: unknown, meta?: FulfilledMeta) => {\r\n return new FulfillWithMeta(value, meta)\r\n }) as any,\r\n })\r\n ).then((result) => {\r\n if (result instanceof RejectWithValue) {\r\n throw result\r\n }\r\n if (result instanceof FulfillWithMeta) {\r\n return fulfilled(result.payload, requestId, arg, result.meta)\r\n }\r\n return fulfilled(result as any, requestId, arg)\r\n }),\r\n ])\r\n } catch (err) {\r\n finalAction =\r\n err instanceof RejectWithValue\r\n ? rejected(null, requestId, arg, err.payload, err.meta)\r\n : rejected(err as any, requestId, arg)\r\n }\r\n // We dispatch the result action _after_ the catch, to avoid having any errors\r\n // here get swallowed by the try/catch block,\r\n // per https://twitter.com/dan_abramov/status/770914221638942720\r\n // and https://github.com/reduxjs/redux-toolkit/blob/e85eb17b39a2118d859f7b7746e0f3fee523e089/docs/tutorials/advanced-tutorial.md#async-error-handling-logic-in-thunks\r\n\r\n const skipDispatch =\r\n options &&\r\n !options.dispatchConditionRejection &&\r\n rejected.match(finalAction) &&\r\n (finalAction as any).meta.condition\r\n\r\n if (!skipDispatch) {\r\n dispatch(finalAction)\r\n }\r\n return finalAction\r\n })()\r\n return Object.assign(promise as Promise, {\r\n abort,\r\n requestId,\r\n arg,\r\n unwrap() {\r\n return promise.then(unwrapResult)\r\n },\r\n })\r\n }\r\n }\r\n\r\n return Object.assign(\r\n actionCreator as AsyncThunkActionCreator<\r\n Returned,\r\n ThunkArg,\r\n ThunkApiConfig\r\n >,\r\n {\r\n pending,\r\n rejected,\r\n fulfilled,\r\n typePrefix,\r\n }\r\n )\r\n }\r\n createAsyncThunk.withTypes = () => createAsyncThunk\r\n\r\n return createAsyncThunk as CreateAsyncThunk\r\n})()\r\n\r\ninterface UnwrappableAction {\r\n payload: any\r\n meta?: any\r\n error?: any\r\n}\r\n\r\ntype UnwrappedActionPayload = Exclude<\r\n T,\r\n { error: any }\r\n>['payload']\r\n\r\n/**\r\n * @public\r\n */\r\nexport function unwrapResult(\r\n action: R\r\n): UnwrappedActionPayload {\r\n if (action.meta && action.meta.rejectedWithValue) {\r\n throw action.payload\r\n }\r\n if (action.error) {\r\n throw action.error\r\n }\r\n return action.payload\r\n}\r\n\r\ntype WithStrictNullChecks = undefined extends boolean\r\n ? False\r\n : True\r\n\r\nfunction isThenable(value: any): value is PromiseLike {\r\n return (\r\n value !== null &&\r\n typeof value === 'object' &&\r\n typeof value.then === 'function'\r\n )\r\n}\r\n","import type { Dispatch, AnyAction, MiddlewareAPI } from 'redux'\r\nimport type { ThunkDispatch } from 'redux-thunk'\r\nimport { createAction, isAction } from '../createAction'\r\nimport { nanoid } from '../nanoid'\r\n\r\nimport type {\r\n ListenerMiddleware,\r\n ListenerMiddlewareInstance,\r\n AddListenerOverloads,\r\n AnyListenerPredicate,\r\n CreateListenerMiddlewareOptions,\r\n TypedAddListener,\r\n TypedCreateListenerEntry,\r\n FallbackAddListenerOptions,\r\n ListenerEntry,\r\n ListenerErrorHandler,\r\n UnsubscribeListener,\r\n TakePattern,\r\n ListenerErrorInfo,\r\n ForkedTaskExecutor,\r\n ForkedTask,\r\n TypedRemoveListener,\r\n TaskResult,\r\n AbortSignalWithReason,\r\n UnsubscribeListenerOptions,\r\n ForkOptions,\r\n} from './types'\r\nimport {\r\n abortControllerWithReason,\r\n addAbortSignalListener,\r\n assertFunction,\r\n catchRejection,\r\n} from './utils'\r\nimport {\r\n listenerCancelled,\r\n listenerCompleted,\r\n TaskAbortError,\r\n taskCancelled,\r\n taskCompleted,\r\n} from './exceptions'\r\nimport {\r\n runTask,\r\n validateActive,\r\n createPause,\r\n createDelay,\r\n raceWithSignal,\r\n} from './task'\r\nexport { TaskAbortError } from './exceptions'\r\nexport type {\r\n ListenerEffect,\r\n ListenerMiddleware,\r\n ListenerEffectAPI,\r\n ListenerMiddlewareInstance,\r\n CreateListenerMiddlewareOptions,\r\n ListenerErrorHandler,\r\n TypedStartListening,\r\n TypedAddListener,\r\n TypedStopListening,\r\n TypedRemoveListener,\r\n UnsubscribeListener,\r\n UnsubscribeListenerOptions,\r\n ForkedTaskExecutor,\r\n ForkedTask,\r\n ForkedTaskAPI,\r\n AsyncTaskExecutor,\r\n SyncTaskExecutor,\r\n TaskCancelled,\r\n TaskRejected,\r\n TaskResolved,\r\n TaskResult,\r\n} from './types'\r\n\r\n//Overly-aggressive byte-shaving\r\nconst { assign } = Object\r\n/**\r\n * @internal\r\n */\r\nconst INTERNAL_NIL_TOKEN = {} as const\r\n\r\nconst alm = 'listenerMiddleware' as const\r\n\r\nconst createFork = (\r\n parentAbortSignal: AbortSignalWithReason,\r\n parentBlockingPromises: Promise[]\r\n) => {\r\n const linkControllers = (controller: AbortController) =>\r\n addAbortSignalListener(parentAbortSignal, () =>\r\n abortControllerWithReason(controller, parentAbortSignal.reason)\r\n )\r\n\r\n return (\r\n taskExecutor: ForkedTaskExecutor,\r\n opts?: ForkOptions\r\n ): ForkedTask => {\r\n assertFunction(taskExecutor, 'taskExecutor')\r\n const childAbortController = new AbortController()\r\n\r\n linkControllers(childAbortController)\r\n\r\n const result = runTask(\r\n async (): Promise => {\r\n validateActive(parentAbortSignal)\r\n validateActive(childAbortController.signal)\r\n const result = (await taskExecutor({\r\n pause: createPause(childAbortController.signal),\r\n delay: createDelay(childAbortController.signal),\r\n signal: childAbortController.signal,\r\n })) as T\r\n validateActive(childAbortController.signal)\r\n return result\r\n },\r\n () => abortControllerWithReason(childAbortController, taskCompleted)\r\n )\r\n\r\n if (opts?.autoJoin) {\r\n parentBlockingPromises.push(result)\r\n }\r\n\r\n return {\r\n result: createPause>(parentAbortSignal)(result),\r\n cancel() {\r\n abortControllerWithReason(childAbortController, taskCancelled)\r\n },\r\n }\r\n }\r\n}\r\n\r\nconst createTakePattern = (\r\n startListening: AddListenerOverloads<\r\n UnsubscribeListener,\r\n S,\r\n Dispatch\r\n >,\r\n signal: AbortSignal\r\n): TakePattern => {\r\n /**\r\n * A function that takes a ListenerPredicate and an optional timeout,\r\n * and resolves when either the predicate returns `true` based on an action\r\n * state combination or when the timeout expires.\r\n * If the parent listener is canceled while waiting, this will throw a\r\n * TaskAbortError.\r\n */\r\n const take = async

>(\r\n predicate: P,\r\n timeout: number | undefined\r\n ) => {\r\n validateActive(signal)\r\n\r\n // Placeholder unsubscribe function until the listener is added\r\n let unsubscribe: UnsubscribeListener = () => {}\r\n\r\n const tuplePromise = new Promise<[AnyAction, S, S]>((resolve, reject) => {\r\n // Inside the Promise, we synchronously add the listener.\r\n let stopListening = startListening({\r\n predicate: predicate as any,\r\n effect: (action, listenerApi): void => {\r\n // One-shot listener that cleans up as soon as the predicate passes\r\n listenerApi.unsubscribe()\r\n // Resolve the promise with the same arguments the predicate saw\r\n resolve([\r\n action,\r\n listenerApi.getState(),\r\n listenerApi.getOriginalState(),\r\n ])\r\n },\r\n })\r\n unsubscribe = () => {\r\n stopListening()\r\n reject()\r\n }\r\n })\r\n\r\n const promises: (Promise | Promise<[AnyAction, S, S]>)[] = [\r\n tuplePromise,\r\n ]\r\n\r\n if (timeout != null) {\r\n promises.push(\r\n new Promise((resolve) => setTimeout(resolve, timeout, null))\r\n )\r\n }\r\n\r\n try {\r\n const output = await raceWithSignal(signal, Promise.race(promises))\r\n\r\n validateActive(signal)\r\n return output\r\n } finally {\r\n // Always clean up the listener\r\n unsubscribe()\r\n }\r\n }\r\n\r\n return ((predicate: AnyListenerPredicate, timeout: number | undefined) =>\r\n catchRejection(take(predicate, timeout))) as TakePattern\r\n}\r\n\r\nconst getListenerEntryPropsFrom = (options: FallbackAddListenerOptions) => {\r\n let { type, actionCreator, matcher, predicate, effect } = options\r\n\r\n if (type) {\r\n predicate = createAction(type).match\r\n } else if (actionCreator) {\r\n type = actionCreator!.type\r\n predicate = actionCreator.match\r\n } else if (matcher) {\r\n predicate = matcher\r\n } else if (predicate) {\r\n // pass\r\n } else {\r\n throw new Error(\r\n 'Creating or removing a listener requires one of the known fields for matching an action'\r\n )\r\n }\r\n\r\n assertFunction(effect, 'options.listener')\r\n\r\n return { predicate, type, effect }\r\n}\r\n\r\n/** Accepts the possible options for creating a listener, and returns a formatted listener entry */\r\nexport const createListenerEntry: TypedCreateListenerEntry = (\r\n options: FallbackAddListenerOptions\r\n) => {\r\n const { type, predicate, effect } = getListenerEntryPropsFrom(options)\r\n\r\n const id = nanoid()\r\n const entry: ListenerEntry = {\r\n id,\r\n effect,\r\n type,\r\n predicate,\r\n pending: new Set(),\r\n unsubscribe: () => {\r\n throw new Error('Unsubscribe not initialized')\r\n },\r\n }\r\n\r\n return entry\r\n}\r\n\r\nconst cancelActiveListeners = (\r\n entry: ListenerEntry>\r\n) => {\r\n entry.pending.forEach((controller) => {\r\n abortControllerWithReason(controller, listenerCancelled)\r\n })\r\n}\r\n\r\nconst createClearListenerMiddleware = (\r\n listenerMap: Map\r\n) => {\r\n return () => {\r\n listenerMap.forEach(cancelActiveListeners)\r\n\r\n listenerMap.clear()\r\n }\r\n}\r\n\r\n/**\r\n * Safely reports errors to the `errorHandler` provided.\r\n * Errors that occur inside `errorHandler` are notified in a new task.\r\n * Inspired by [rxjs reportUnhandledError](https://github.com/ReactiveX/rxjs/blob/6fafcf53dc9e557439b25debaeadfd224b245a66/src/internal/util/reportUnhandledError.ts)\r\n * @param errorHandler\r\n * @param errorToNotify\r\n */\r\nconst safelyNotifyError = (\r\n errorHandler: ListenerErrorHandler,\r\n errorToNotify: unknown,\r\n errorInfo: ListenerErrorInfo\r\n): void => {\r\n try {\r\n errorHandler(errorToNotify, errorInfo)\r\n } catch (errorHandlerError) {\r\n // We cannot let an error raised here block the listener queue.\r\n // The error raised here will be picked up by `window.onerror`, `process.on('error')` etc...\r\n setTimeout(() => {\r\n throw errorHandlerError\r\n }, 0)\r\n }\r\n}\r\n\r\n/**\r\n * @public\r\n */\r\nexport const addListener = createAction(\r\n `${alm}/add`\r\n) as TypedAddListener\r\n\r\n/**\r\n * @public\r\n */\r\nexport const clearAllListeners = createAction(`${alm}/removeAll`)\r\n\r\n/**\r\n * @public\r\n */\r\nexport const removeListener = createAction(\r\n `${alm}/remove`\r\n) as TypedRemoveListener\r\n\r\nconst defaultErrorHandler: ListenerErrorHandler = (...args: unknown[]) => {\r\n console.error(`${alm}/error`, ...args)\r\n}\r\n\r\n/**\r\n * @public\r\n */\r\nexport function createListenerMiddleware<\r\n S = unknown,\r\n D extends Dispatch = ThunkDispatch,\r\n ExtraArgument = unknown\r\n>(middlewareOptions: CreateListenerMiddlewareOptions = {}) {\r\n const listenerMap = new Map()\r\n const { extra, onError = defaultErrorHandler } = middlewareOptions\r\n\r\n assertFunction(onError, 'onError')\r\n\r\n const insertEntry = (entry: ListenerEntry) => {\r\n entry.unsubscribe = () => listenerMap.delete(entry!.id)\r\n\r\n listenerMap.set(entry.id, entry)\r\n return (cancelOptions?: UnsubscribeListenerOptions) => {\r\n entry.unsubscribe()\r\n if (cancelOptions?.cancelActive) {\r\n cancelActiveListeners(entry)\r\n }\r\n }\r\n }\r\n\r\n const findListenerEntry = (\r\n comparator: (entry: ListenerEntry) => boolean\r\n ): ListenerEntry | undefined => {\r\n for (const entry of Array.from(listenerMap.values())) {\r\n if (comparator(entry)) {\r\n return entry\r\n }\r\n }\r\n\r\n return undefined\r\n }\r\n\r\n const startListening = (options: FallbackAddListenerOptions) => {\r\n let entry = findListenerEntry(\r\n (existingEntry) => existingEntry.effect === options.effect\r\n )\r\n\r\n if (!entry) {\r\n entry = createListenerEntry(options as any)\r\n }\r\n\r\n return insertEntry(entry)\r\n }\r\n\r\n const stopListening = (\r\n options: FallbackAddListenerOptions & UnsubscribeListenerOptions\r\n ): boolean => {\r\n const { type, effect, predicate } = getListenerEntryPropsFrom(options)\r\n\r\n const entry = findListenerEntry((entry) => {\r\n const matchPredicateOrType =\r\n typeof type === 'string'\r\n ? entry.type === type\r\n : entry.predicate === predicate\r\n\r\n return matchPredicateOrType && entry.effect === effect\r\n })\r\n\r\n if (entry) {\r\n entry.unsubscribe()\r\n if (options.cancelActive) {\r\n cancelActiveListeners(entry)\r\n }\r\n }\r\n\r\n return !!entry\r\n }\r\n\r\n const notifyListener = async (\r\n entry: ListenerEntry>,\r\n action: AnyAction,\r\n api: MiddlewareAPI,\r\n getOriginalState: () => S\r\n ) => {\r\n const internalTaskController = new AbortController()\r\n const take = createTakePattern(\r\n startListening,\r\n internalTaskController.signal\r\n )\r\n const autoJoinPromises: Promise[] = []\r\n\r\n try {\r\n entry.pending.add(internalTaskController)\r\n await Promise.resolve(\r\n entry.effect(\r\n action,\r\n // Use assign() rather than ... to avoid extra helper functions added to bundle\r\n assign({}, api, {\r\n getOriginalState,\r\n condition: (\r\n predicate: AnyListenerPredicate,\r\n timeout?: number\r\n ) => take(predicate, timeout).then(Boolean),\r\n take,\r\n delay: createDelay(internalTaskController.signal),\r\n pause: createPause(internalTaskController.signal),\r\n extra,\r\n signal: internalTaskController.signal,\r\n fork: createFork(internalTaskController.signal, autoJoinPromises),\r\n unsubscribe: entry.unsubscribe,\r\n subscribe: () => {\r\n listenerMap.set(entry.id, entry)\r\n },\r\n cancelActiveListeners: () => {\r\n entry.pending.forEach((controller, _, set) => {\r\n if (controller !== internalTaskController) {\r\n abortControllerWithReason(controller, listenerCancelled)\r\n set.delete(controller)\r\n }\r\n })\r\n },\r\n })\r\n )\r\n )\r\n } catch (listenerError) {\r\n if (!(listenerError instanceof TaskAbortError)) {\r\n safelyNotifyError(onError, listenerError, {\r\n raisedBy: 'effect',\r\n })\r\n }\r\n } finally {\r\n await Promise.allSettled(autoJoinPromises)\r\n\r\n abortControllerWithReason(internalTaskController, listenerCompleted) // Notify that the task has completed\r\n entry.pending.delete(internalTaskController)\r\n }\r\n }\r\n\r\n const clearListenerMiddleware = createClearListenerMiddleware(listenerMap)\r\n\r\n const middleware: ListenerMiddleware =\r\n (api) => (next) => (action) => {\r\n if (!isAction(action)) {\r\n // we only want to notify listeners for action objects\r\n return next(action)\r\n }\r\n\r\n if (addListener.match(action)) {\r\n return startListening(action.payload)\r\n }\r\n\r\n if (clearAllListeners.match(action)) {\r\n clearListenerMiddleware()\r\n return\r\n }\r\n\r\n if (removeListener.match(action)) {\r\n return stopListening(action.payload)\r\n }\r\n\r\n // Need to get this state _before_ the reducer processes the action\r\n let originalState: S | typeof INTERNAL_NIL_TOKEN = api.getState()\r\n\r\n // `getOriginalState` can only be called synchronously.\r\n // @see https://github.com/reduxjs/redux-toolkit/discussions/1648#discussioncomment-1932820\r\n const getOriginalState = (): S => {\r\n if (originalState === INTERNAL_NIL_TOKEN) {\r\n throw new Error(\r\n `${alm}: getOriginalState can only be called synchronously`\r\n )\r\n }\r\n\r\n return originalState as S\r\n }\r\n\r\n let result: unknown\r\n\r\n try {\r\n // Actually forward the action to the reducer before we handle listeners\r\n result = next(action)\r\n\r\n if (listenerMap.size > 0) {\r\n let currentState = api.getState()\r\n // Work around ESBuild+TS transpilation issue\r\n const listenerEntries = Array.from(listenerMap.values())\r\n for (let entry of listenerEntries) {\r\n let runListener = false\r\n\r\n try {\r\n runListener = entry.predicate(action, currentState, originalState)\r\n } catch (predicateError) {\r\n runListener = false\r\n\r\n safelyNotifyError(onError, predicateError, {\r\n raisedBy: 'predicate',\r\n })\r\n }\r\n\r\n if (!runListener) {\r\n continue\r\n }\r\n\r\n notifyListener(entry, action, api, getOriginalState)\r\n }\r\n }\r\n } finally {\r\n // Remove `originalState` store from this scope.\r\n originalState = INTERNAL_NIL_TOKEN\r\n }\r\n\r\n return result\r\n }\r\n\r\n return {\r\n middleware,\r\n startListening,\r\n stopListening,\r\n clearListeners: clearListenerMiddleware,\r\n } as ListenerMiddlewareInstance\r\n}\r\n","import { TaskAbortError } from './exceptions'\r\nimport type { AbortSignalWithReason, TaskResult } from './types'\r\nimport { addAbortSignalListener, catchRejection, noop } from './utils'\r\n\r\n/**\r\n * Synchronously raises {@link TaskAbortError} if the task tied to the input `signal` has been cancelled.\r\n * @param signal\r\n * @param reason\r\n * @see {TaskAbortError}\r\n */\r\nexport const validateActive = (signal: AbortSignal): void => {\r\n if (signal.aborted) {\r\n throw new TaskAbortError((signal as AbortSignalWithReason).reason)\r\n }\r\n}\r\n\r\n/**\r\n * Generates a race between the promise(s) and the AbortSignal\r\n * This avoids `Promise.race()`-related memory leaks:\r\n * https://github.com/nodejs/node/issues/17469#issuecomment-349794909\r\n */\r\nexport function raceWithSignal(\r\n signal: AbortSignalWithReason,\r\n promise: Promise\r\n): Promise {\r\n let cleanup = noop\r\n return new Promise((resolve, reject) => {\r\n const notifyRejection = () => reject(new TaskAbortError(signal.reason))\r\n\r\n if (signal.aborted) {\r\n notifyRejection()\r\n return\r\n }\r\n\r\n cleanup = addAbortSignalListener(signal, notifyRejection)\r\n promise.finally(() => cleanup()).then(resolve, reject)\r\n }).finally(() => {\r\n // after this point, replace `cleanup` with a noop, so there is no reference to `signal` any more\r\n cleanup = noop\r\n })\r\n}\r\n\r\n/**\r\n * Runs a task and returns promise that resolves to {@link TaskResult}.\r\n * Second argument is an optional `cleanUp` function that always runs after task.\r\n *\r\n * **Note:** `runTask` runs the executor in the next microtask.\r\n * @returns\r\n */\r\nexport const runTask = async (\r\n task: () => Promise,\r\n cleanUp?: () => void\r\n): Promise> => {\r\n try {\r\n await Promise.resolve()\r\n const value = await task()\r\n return {\r\n status: 'ok',\r\n value,\r\n }\r\n } catch (error: any) {\r\n return {\r\n status: error instanceof TaskAbortError ? 'cancelled' : 'rejected',\r\n error,\r\n }\r\n } finally {\r\n cleanUp?.()\r\n }\r\n}\r\n\r\n/**\r\n * Given an input `AbortSignal` and a promise returns another promise that resolves\r\n * as soon the input promise is provided or rejects as soon as\r\n * `AbortSignal.abort` is `true`.\r\n * @param signal\r\n * @returns\r\n */\r\nexport const createPause = (signal: AbortSignal) => {\r\n return (promise: Promise): Promise => {\r\n return catchRejection(\r\n raceWithSignal(signal, promise).then((output) => {\r\n validateActive(signal)\r\n return output\r\n })\r\n )\r\n }\r\n}\r\n\r\n/**\r\n * Given an input `AbortSignal` and `timeoutMs` returns a promise that resolves\r\n * after `timeoutMs` or rejects as soon as `AbortSignal.abort` is `true`.\r\n * @param signal\r\n * @returns\r\n */\r\nexport const createDelay = (signal: AbortSignal) => {\r\n const pause = createPause(signal)\r\n return (timeoutMs: number): Promise => {\r\n return pause(new Promise((resolve) => setTimeout(resolve, timeoutMs)))\r\n }\r\n}\r\n","import type { StoreEnhancer } from 'redux'\r\n\r\nexport const SHOULD_AUTOBATCH = 'RTK_autoBatch'\r\n\r\nexport const prepareAutoBatched =\r\n () =>\r\n (payload: T): { payload: T; meta: unknown } => ({\r\n payload,\r\n meta: { [SHOULD_AUTOBATCH]: true },\r\n })\r\n\r\n// TODO Remove this in 2.0\r\n// Copied from https://github.com/feross/queue-microtask\r\nlet promise: Promise\r\nconst queueMicrotaskShim =\r\n typeof queueMicrotask === 'function'\r\n ? queueMicrotask.bind(\r\n typeof window !== 'undefined'\r\n ? window\r\n : typeof global !== 'undefined'\r\n ? global\r\n : globalThis\r\n )\r\n : // reuse resolved promise, and allocate it lazily\r\n (cb: () => void) =>\r\n (promise || (promise = Promise.resolve())).then(cb).catch((err: any) =>\r\n setTimeout(() => {\r\n throw err\r\n }, 0)\r\n )\r\n\r\nconst createQueueWithTimer = (timeout: number) => {\r\n return (notify: () => void) => {\r\n setTimeout(notify, timeout)\r\n }\r\n}\r\n\r\n// requestAnimationFrame won't exist in SSR environments.\r\n// Fall back to a vague approximation just to keep from erroring.\r\nconst rAF =\r\n typeof window !== 'undefined' && window.requestAnimationFrame\r\n ? window.requestAnimationFrame\r\n : createQueueWithTimer(10)\r\n\r\nexport type AutoBatchOptions =\r\n | { type: 'tick' }\r\n | { type: 'timer'; timeout: number }\r\n | { type: 'raf' }\r\n | { type: 'callback'; queueNotification: (notify: () => void) => void }\r\n\r\n/**\r\n * A Redux store enhancer that watches for \"low-priority\" actions, and delays\r\n * notifying subscribers until either the queued callback executes or the\r\n * next \"standard-priority\" action is dispatched.\r\n *\r\n * This allows dispatching multiple \"low-priority\" actions in a row with only\r\n * a single subscriber notification to the UI after the sequence of actions\r\n * is finished, thus improving UI re-render performance.\r\n *\r\n * Watches for actions with the `action.meta[SHOULD_AUTOBATCH]` attribute.\r\n * This can be added to `action.meta` manually, or by using the\r\n * `prepareAutoBatched` helper.\r\n *\r\n * By default, it will queue a notification for the end of the event loop tick.\r\n * However, you can pass several other options to configure the behavior:\r\n * - `{type: 'tick'}: queues using `queueMicrotask` (default)\r\n * - `{type: 'timer, timeout: number}`: queues using `setTimeout`\r\n * - `{type: 'raf'}`: queues using `requestAnimationFrame`\r\n * - `{type: 'callback', queueNotification: (notify: () => void) => void}: lets you provide your own callback\r\n *\r\n *\r\n */\r\nexport const autoBatchEnhancer =\r\n (options: AutoBatchOptions = { type: 'raf' }): StoreEnhancer =>\r\n (next) =>\r\n (...args) => {\r\n const store = next(...args)\r\n\r\n let notifying = true\r\n let shouldNotifyAtEndOfTick = false\r\n let notificationQueued = false\r\n\r\n const listeners = new Set<() => void>()\r\n\r\n const queueCallback =\r\n options.type === 'tick'\r\n ? queueMicrotaskShim\r\n : options.type === 'raf'\r\n ? rAF\r\n : options.type === 'callback'\r\n ? options.queueNotification\r\n : createQueueWithTimer(options.timeout)\r\n\r\n const notifyListeners = () => {\r\n // We're running at the end of the event loop tick.\r\n // Run the real listener callbacks to actually update the UI.\r\n notificationQueued = false\r\n if (shouldNotifyAtEndOfTick) {\r\n shouldNotifyAtEndOfTick = false\r\n listeners.forEach((l) => l())\r\n }\r\n }\r\n\r\n return Object.assign({}, store, {\r\n // Override the base `store.subscribe` method to keep original listeners\r\n // from running if we're delaying notifications\r\n subscribe(listener: () => void) {\r\n // Each wrapped listener will only call the real listener if\r\n // the `notifying` flag is currently active when it's called.\r\n // This lets the base store work as normal, while the actual UI\r\n // update becomes controlled by this enhancer.\r\n const wrappedListener: typeof listener = () => notifying && listener()\r\n const unsubscribe = store.subscribe(wrappedListener)\r\n listeners.add(listener)\r\n return () => {\r\n unsubscribe()\r\n listeners.delete(listener)\r\n }\r\n },\r\n // Override the base `store.dispatch` method so that we can check actions\r\n // for the `shouldAutoBatch` flag and determine if batching is active\r\n dispatch(action: any) {\r\n try {\r\n // If the action does _not_ have the `shouldAutoBatch` flag,\r\n // we resume/continue normal notify-after-each-dispatch behavior\r\n notifying = !action?.meta?.[SHOULD_AUTOBATCH]\r\n // If a `notifyListeners` microtask was queued, you can't cancel it.\r\n // Instead, we set a flag so that it's a no-op when it does run\r\n shouldNotifyAtEndOfTick = !notifying\r\n if (shouldNotifyAtEndOfTick) {\r\n // We've seen at least 1 action with `SHOULD_AUTOBATCH`. Try to queue\r\n // a microtask to notify listeners at the end of the event loop tick.\r\n // Make sure we only enqueue this _once_ per tick.\r\n if (!notificationQueued) {\r\n notificationQueued = true\r\n queueCallback(notifyListeners)\r\n }\r\n }\r\n // Go ahead and process the action as usual, including reducers.\r\n // If normal notification behavior is enabled, the store will notify\r\n // all of its own listeners, and the wrapper callbacks above will\r\n // see `notifying` is true and pass on to the real listener callbacks.\r\n // If we're \"batching\" behavior, then the wrapped callbacks will\r\n // bail out, causing the base store notification behavior to be no-ops.\r\n return store.dispatch(action)\r\n } finally {\r\n // Assume we're back to normal behavior after each action\r\n notifying = true\r\n }\r\n },\r\n })\r\n }\r\n","import { enableES5 } from 'immer'\r\nexport * from 'redux'\r\nexport {\r\n default as createNextState,\r\n current,\r\n freeze,\r\n original,\r\n isDraft,\r\n} from 'immer'\r\nexport type { Draft } from 'immer'\r\nexport { createSelector } from 'reselect'\r\nexport type {\r\n Selector,\r\n OutputParametricSelector,\r\n OutputSelector,\r\n ParametricSelector,\r\n} from 'reselect'\r\nexport { createDraftSafeSelector } from './createDraftSafeSelector'\r\nexport type { ThunkAction, ThunkDispatch, ThunkMiddleware } from 'redux-thunk'\r\n\r\n// We deliberately enable Immer's ES5 support, on the grounds that\r\n// we assume RTK will be used with React Native and other Proxy-less\r\n// environments. In addition, that's how Immer 4 behaved, and since\r\n// we want to ship this in an RTK minor, we should keep the same behavior.\r\nenableES5()\r\n\r\nexport {\r\n // js\r\n configureStore,\r\n} from './configureStore'\r\nexport type {\r\n // types\r\n ConfigureEnhancersCallback,\r\n ConfigureStoreOptions,\r\n EnhancedStore,\r\n} from './configureStore'\r\nexport type { DevToolsEnhancerOptions } from './devtoolsExtension'\r\nexport {\r\n // js\r\n createAction,\r\n getType,\r\n isAction,\r\n isActionCreator,\r\n isFSA as isFluxStandardAction,\r\n} from './createAction'\r\nexport type {\r\n // types\r\n PayloadAction,\r\n PayloadActionCreator,\r\n ActionCreatorWithNonInferrablePayload,\r\n ActionCreatorWithOptionalPayload,\r\n ActionCreatorWithPayload,\r\n ActionCreatorWithoutPayload,\r\n ActionCreatorWithPreparedPayload,\r\n PrepareAction,\r\n} from './createAction'\r\nexport {\r\n // js\r\n createReducer,\r\n} from './createReducer'\r\nexport type {\r\n // types\r\n Actions,\r\n CaseReducer,\r\n CaseReducers,\r\n} from './createReducer'\r\nexport {\r\n // js\r\n createSlice,\r\n} from './createSlice'\r\n\r\nexport type {\r\n // types\r\n CreateSliceOptions,\r\n Slice,\r\n CaseReducerActions,\r\n SliceCaseReducers,\r\n ValidateSliceCaseReducers,\r\n CaseReducerWithPrepare,\r\n SliceActionCreator,\r\n} from './createSlice'\r\nexport type { ActionCreatorInvariantMiddlewareOptions } from './actionCreatorInvariantMiddleware'\r\nexport { createActionCreatorInvariantMiddleware } from './actionCreatorInvariantMiddleware'\r\nexport {\r\n // js\r\n createImmutableStateInvariantMiddleware,\r\n isImmutableDefault,\r\n} from './immutableStateInvariantMiddleware'\r\nexport type {\r\n // types\r\n ImmutableStateInvariantMiddlewareOptions,\r\n} from './immutableStateInvariantMiddleware'\r\nexport {\r\n // js\r\n createSerializableStateInvariantMiddleware,\r\n findNonSerializableValue,\r\n isPlain,\r\n} from './serializableStateInvariantMiddleware'\r\nexport type {\r\n // types\r\n SerializableStateInvariantMiddlewareOptions,\r\n} from './serializableStateInvariantMiddleware'\r\nexport {\r\n // js\r\n getDefaultMiddleware,\r\n} from './getDefaultMiddleware'\r\nexport type {\r\n // types\r\n ActionReducerMapBuilder,\r\n} from './mapBuilders'\r\nexport { MiddlewareArray, EnhancerArray } from './utils'\r\n\r\nexport { createEntityAdapter } from './entities/create_adapter'\r\nexport type {\r\n Dictionary,\r\n EntityState,\r\n EntityAdapter,\r\n EntitySelectors,\r\n EntityStateAdapter,\r\n EntityId,\r\n Update,\r\n IdSelector,\r\n Comparer,\r\n} from './entities/models'\r\n\r\nexport {\r\n createAsyncThunk,\r\n unwrapResult,\r\n miniSerializeError,\r\n} from './createAsyncThunk'\r\nexport type {\r\n AsyncThunk,\r\n AsyncThunkOptions,\r\n AsyncThunkAction,\r\n AsyncThunkPayloadCreatorReturnValue,\r\n AsyncThunkPayloadCreator,\r\n SerializedError,\r\n} from './createAsyncThunk'\r\n\r\nexport {\r\n // js\r\n isAllOf,\r\n isAnyOf,\r\n isPending,\r\n isRejected,\r\n isFulfilled,\r\n isAsyncThunkAction,\r\n isRejectedWithValue,\r\n} from './matchers'\r\nexport type {\r\n // types\r\n ActionMatchingAllOf,\r\n ActionMatchingAnyOf,\r\n} from './matchers'\r\n\r\nexport { nanoid } from './nanoid'\r\n\r\nexport { default as isPlainObject } from './isPlainObject'\r\n\r\nexport type {\r\n ListenerEffect,\r\n ListenerMiddleware,\r\n ListenerEffectAPI,\r\n ListenerMiddlewareInstance,\r\n CreateListenerMiddlewareOptions,\r\n ListenerErrorHandler,\r\n TypedStartListening,\r\n TypedAddListener,\r\n TypedStopListening,\r\n TypedRemoveListener,\r\n UnsubscribeListener,\r\n UnsubscribeListenerOptions,\r\n ForkedTaskExecutor,\r\n ForkedTask,\r\n ForkedTaskAPI,\r\n AsyncTaskExecutor,\r\n SyncTaskExecutor,\r\n TaskCancelled,\r\n TaskRejected,\r\n TaskResolved,\r\n TaskResult,\r\n} from './listenerMiddleware/index'\r\nexport type { AnyListenerPredicate } from './listenerMiddleware/types'\r\n\r\nexport {\r\n createListenerMiddleware,\r\n addListener,\r\n removeListener,\r\n clearAllListeners,\r\n TaskAbortError,\r\n} from './listenerMiddleware/index'\r\n\r\nexport {\r\n SHOULD_AUTOBATCH,\r\n prepareAutoBatched,\r\n autoBatchEnhancer,\r\n} from './autoBatchEnhancer'\r\nexport type { AutoBatchOptions } from './autoBatchEnhancer'\r\n\r\nexport type { ExtractDispatchExtensions as TSHelpersExtractDispatchExtensions } from './tsHelpers'\r\n","import {ChatMessage, ChatMessageResponse, FocusVehicle, MessageType, Role, WidgetSettings} from \"./chatbotSlice\";\n\nconst MAX_RETRIES = 3;\n\nexport const sendMessageToBotRequest = async (\n baseUrl: string,\n botId: string,\n chat_id: number | undefined,\n userMessage: string,\n currentLocation: string,\n messages: ChatMessage[],\n focusedVehicle?: FocusVehicle\n): Promise => {\n\n const prepareData = () => {\n const formattedMessages = messages.map((m) => ({\n role: m.role ? m.role : m.isBot ? \"assistant\" : \"user\",\n saved: m.saved ?? false,\n content: m.message.rowMessage,\n tool_calls: m.toolCalls,\n tool_call_id: m.toolCallId,\n }));\n\n formattedMessages.push({\n role: Role.USER,\n saved: false,\n content: userMessage,\n tool_calls: undefined,\n tool_call_id: undefined,\n });\n\n return {\n bot_id: botId,\n chat_id,\n messages: formattedMessages,\n location: currentLocation || \"\",\n currently_focused_vehicle: focusedVehicle || {},\n additional_context: focusedVehicle?.VIN\n ? `user is currently focused on a vehicle with VIN number ${focusedVehicle.VIN}` :\n focusedVehicle?.VRM\n ? `user is currently focused on a vehicle with registration number ${focusedVehicle.VRM}`: \"\",\n };\n };\n\n const fetchWithRetry = async (baseUrl: string, data: any, attempt = 1): Promise => {\n try {\n const response = await fetch(`${baseUrl}/query`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(data),\n });\n\n if (response.status === 200) {\n const result = await response.json();\n return result.messages;\n } else {\n console.warn(`Attempt ${attempt} failed with status ${response.status}`);\n if (attempt < MAX_RETRIES) {\n return fetchWithRetry(baseUrl, data, attempt + 1);\n }\n }\n } catch (error) {\n console.error(`Attempt ${attempt} failed with error`, error);\n if (attempt < MAX_RETRIES) {\n return fetchWithRetry(baseUrl, data, attempt + 1);\n }\n }\n\n // If all attempts fail, return fallback message\n return [\n {\n role: Role.ASSISTANT,\n content: JSON.stringify({\n message_type: MessageType.TEXT,\n message: \"Sorry, could you please try again?\",\n }),\n } as ChatMessageResponse,\n ];\n };\n\n const data = prepareData();\n return fetchWithRetry(baseUrl, data);\n};\n\n\nexport const sendStripeIntentRequest = (baseUrl: string, botId: string, chatId: number, messages: ChatMessage[]): Promise => {\n\n const body = {\n bot_id: botId,\n chat_id: chatId,\n messages: messages.map(m => {\n return {\n role: m.isBot ? \"assistant\" : \"user\",\n saved: m.saved ?? false,\n content: m.message.rowMessage ?? \"\",\n }\n })\n }\n\n return fetch(`${baseUrl}/stripe/create-intent`,\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(body)\n }).then(res => res.json())\n .then(res => res.client_secret);\n}\n\nexport const sendConfirmStripeIntentRequest = (baseUrl: string, stripeClientSecret: string, chatId: number, bot_id: string) => {\n fetch(`${baseUrl}/stripe/confirm-intent?secret=${stripeClientSecret}&chat_id=${chatId}&bot_id=${bot_id}`)\n}\n\nexport const getWidgetSettingsRequest = (baseUrl: string, botId: string): Promise => {\n return fetch(`${baseUrl}/widget/settings/${botId}`)\n .then(res => res.json())\n}\n","import {ChatMessage, MessageType, Role} from \"./chatbotSlice\";\n\nexport const generateTemplatedMessage = (message: string): ChatMessage => {\n return {\n isBot: true,\n saved: false,\n role: Role.ASSISTANT,\n message: {\n rowMessage: JSON.stringify({message_type: MessageType.TEXT, message}),\n message: message,\n messageType: MessageType.TEXT,\n },\n time: Date.now()\n }\n}\n\nexport const calcTimeDiff = (value: number) => {\n const now = new Date();\n const time = new Date(value);\n\n let diff = now.getTime() - time.getTime();\n\n if (Math.round(diff / 1000) < 10) {\n return \"Just Now\";\n } else {\n return time.toLocaleTimeString();\n }\n};\n\nexport const isDevEnv = (profile?: string) => {\n return profile && profile.toUpperCase() == \"DEV\";\n}\n\nexport const handleLinkInChatClick = (e: any, href?: string, websiteLocation?: string, isNewWindow?: boolean) => {\n if (websiteLocation) {\n e.preventDefault();\n window.parent.postMessage(\n {\n type: 'open-link',\n href: href,\n inNew: isNewWindow,\n },\n websiteLocation\n );\n }\n}\n","const LOCAL_STORAGE_CONVO_STARTERS_KEY = \"convoStartersData\";\n\nconst getKey = (botId: string) => {\n return `${LOCAL_STORAGE_CONVO_STARTERS_KEY}-${botId}`\n}\n\nexport const saveConvoStarterData = (botId: string, data: {\n firstMessage: string;\n convoStarters: any[];\n pageURL: string\n}[]) => {\n localStorage.setItem(getKey(botId), JSON.stringify(data));\n};\n\nexport const getConvoStarterData = (botId: string): {\n firstMessage: string;\n convoStarters: any[];\n pageURL: string\n}[] => {\n const data = localStorage.getItem(getKey(botId));\n return data ? JSON.parse(data) : [];\n};\n\nexport const getConvoStartersForPage = (botId: string, currentPageURL: string) => {\n const data = getConvoStarterData(botId);\n return data.filter((entry) => entry.pageURL === currentPageURL);\n};\n\nexport const updateEmptyPageURL = (botId: string, currentPageURL: string) => {\n const data = getConvoStarterData(botId);\n const updatedData = data.map((entry) => {\n if (!entry.pageURL && !(currentPageURL.includes(\"autotradervehiclelocator\") || currentPageURL.includes(\"redirect_vrm\") || currentPageURL.includes(\"vehicleredirect\"))) {\n return {...entry, pageURL: currentPageURL};\n }\n return entry;\n });\n saveConvoStarterData(botId, updatedData);\n};\n\nexport const clearConvoStarterData = (botId: string) => {\n localStorage.removeItem(getKey(botId));\n};\n\nexport const deleteConvoStarterDataForPage = (botId: string, currentPageURL: string) => {\n const data = getConvoStarterData(botId);\n const updatedData = data.filter((entry) => entry.pageURL !== currentPageURL);\n saveConvoStarterData(botId, updatedData);\n}\n","import {createAsyncThunk, createSlice, PayloadAction} from '@reduxjs/toolkit';\nimport {RootState} from \"../app/store\";\nimport {\n getWidgetSettingsRequest,\n sendConfirmStripeIntentRequest,\n sendMessageToBotRequest,\n sendStripeIntentRequest\n} from \"./chatbotApi\";\nimport {generateTemplatedMessage} from \"./chatbotUtil\";\nimport {\n clearConvoStarterData,\n deleteConvoStarterDataForPage,\n getConvoStartersForPage,\n updateEmptyPageURL\n} from \"./ConvoStartersLocalStorageUtil\";\n\nexport enum Role {\n USER = \"user\",\n ASSISTANT = \"assistant\",\n TOOL = \"tool\"\n}\n\nexport enum StripePaymentState {\n READY = \"READY\",\n PROCESSING = \"PROCESSING\",\n PAID = \"PAID\",\n DONE = \"DONE\"\n}\n\nexport enum MessageType {\n TEXT = \"TEXT\",\n IMAGE = \"IMAGE\",\n VIDEO = \"VIDEO\",\n GALLERY = \"GALLERY\",\n STRIPE = \"STRIPE\",\n TOOL = \"TOOL\",\n}\n\nexport enum BotType {\n AIME = \"AIME\",\n TMC_AIME = \"TMC_AIME\",\n AILSA = \"AILSA\",\n AIDEN = \"AIDEN\",\n}\n\nexport interface VehicleDetails {\n image_url: string\n vin: string\n redirect_url?: string\n registration: string\n make: string\n model: string\n derivative: string\n price: string\n}\n\nexport interface WidgetSettings {\n name: string\n botType: BotType,\n showWidget: boolean\n stripePublicKey: string\n convoStarterFirstMessage: string\n convoStarters: ConvoStarter[]\n}\n\nexport interface ChatMessageResponse {\n role: Role,\n saved: boolean,\n content?: string,\n tool_calls?: any[],\n tool_call_id?: string\n}\n\nexport interface Message {\n rowMessage?: string,\n messageType: MessageType,\n message?: string,\n vehicle?: VehicleDetails,\n videoLink?: string,\n vehicleList?: VehicleDetails[],\n stripePaymentState?: StripePaymentState,\n stripePaymentId?: number\n}\n\n\nexport interface ChatMessage {\n isBot: boolean,\n saved: boolean,\n role: Role,\n message: Message,\n toolCalls?: any[],\n toolCallId?: string,\n time: number\n}\n\nexport interface ConvoStartersVisibilityState {\n showOnBubbleOnMobile: boolean,\n showOnBubbleOnDesktop: boolean,\n showOnChatOnMobile: boolean,\n showOnChatOnDesktop: boolean,\n showFirstMessageOnMobile: boolean,\n showFirstMessageOnDesktop: boolean,\n}\n\nexport interface ConvoStarterScriptConditions {\n disableConvoStartersButtonsOnChatOnMobile: boolean;\n disableConvoStartersButtonsOnChatOnDesktop: boolean;\n disableConvoStartersButtonsOnBubbleOnMobile: boolean;\n disableConvoStartersButtonsOnBubbleOnDesktop: boolean;\n disableFirstMessageOnBubbleOnMobile: boolean;\n disableFirstMessageOnBubbleOnDesktop: boolean;\n}\n\nexport interface FocusVehicle {\n VIN?: string;\n VRM?: string;\n}\n\nexport interface ChatbotState {\n messages: ChatMessage[];\n open: boolean;\n chat_id?: number;\n focusedVehicle?: FocusVehicle;\n thinking: boolean;\n initialBotMessage: string;\n convoStarters: ConvoStarter[];\n hasExperience: boolean;\n focusedStripePaymentId?: number;\n stripePublicKey?: string;\n stripeClientSecret?: string;\n stripeErrorMessage?: string;\n isBotInitialized: boolean;\n websiteLocation?: string;\n botId?: string;\n location: string;\n isMobile: boolean;\n convoStartersTimeout: number;\n convoStartersScriptConditions: ConvoStarterScriptConditions;\n hasConvoStartersTimeoutElapsed: boolean;\n convoStarterFirstMessage: string;\n allowSMS: boolean;\n botType?: BotType;\n name?: string;\n userScroll: boolean;\n showWidget: boolean;\n convoStartersVisibility: ConvoStartersVisibilityState;\n\n profile?: string;\n platformBaseURL?: string;\n llmEngineBaseURL?: string;\n}\n\nexport interface ConvoStarter {\n action: ConvoStarterAction\n message: string;\n visible: ConvoStarterVisibility;\n}\n\nexport enum ConvoStarterAction {\n SEND_MESSAGE = 'send-message',\n CLOSE_CHAT = 'close-chat'\n}\n\nexport enum ConvoStarterVisibility {\n CHAT = 'chat',\n BUBBLE = 'bubble',\n BOTH = 'both'\n}\n\nconst initialState: ChatbotState = {\n showWidget: false,\n messages: [],\n isMobile: false,\n open: false,\n thinking: false,\n hasExperience: false,\n allowSMS: false,\n initialBotMessage: `Hi, I'm your AI powered sales assistant. I can help you with everything, from helping you find your perfect vehicle, right through to reserving it. What can I do for you today?`,\n convoStarterFirstMessage: `Hi, I'm Aime, I'm online and ready to help find your next vehicle`,\n convoStarters: [],\n isBotInitialized: false,\n convoStartersTimeout: 5000,\n convoStartersScriptConditions: {\n disableConvoStartersButtonsOnChatOnMobile: true,\n disableConvoStartersButtonsOnChatOnDesktop: true,\n disableConvoStartersButtonsOnBubbleOnMobile: true,\n disableConvoStartersButtonsOnBubbleOnDesktop: true,\n disableFirstMessageOnBubbleOnMobile: false,\n disableFirstMessageOnBubbleOnDesktop: false,\n },\n hasConvoStartersTimeoutElapsed: false,\n userScroll: false,\n location: '/',\n convoStartersVisibility: {\n showOnBubbleOnMobile: true,\n showOnBubbleOnDesktop: true,\n showOnChatOnMobile: true,\n showOnChatOnDesktop: true,\n showFirstMessageOnMobile: true,\n showFirstMessageOnDesktop: true,\n },\n focusedVehicle: {\n VIN: '',\n VRM: ''\n }\n};\n\nexport const sendStripeIntent = createAsyncThunk(\n 'chatbot/sendStripeIntent',\n async (payload, {getState, dispatch}) => {\n // @ts-ignore\n const state = getState();\n // @ts-ignore\n const botId = state.chatbot.botId;\n const chatId = state.chatbot.chat_id!;\n const messages = state.chatbot.messages;\n // @ts-ignore\n const llmEngineBaseURL = state.chatbot.llmEngineBaseURL\n const focusedStripePaymentIdFromState = state.chatbot.focusedStripePaymentId\n\n if (!botId) {\n throw new Error(\"Missed botId\")\n }\n\n if (focusedStripePaymentIdFromState) {\n throw new Error(\"Please wait on previous payment completion\")\n }\n\n if (!llmEngineBaseURL) {\n throw new Error(\"Missed llmEngineBaseURL\")\n }\n\n dispatch(updateFocusedStripePaymentId(payload))\n\n return sendStripeIntentRequest(llmEngineBaseURL, botId, chatId, messages);\n }\n);\n\nexport const sendConfirmStripeIntent = createAsyncThunk(\n 'chatbot/sendConfirmStripeIntent',\n (_payload, {getState}) => {\n const state = getState();\n const stripeClientSecret = state.chatbot.stripeClientSecret\n const chatId = state.chatbot.chat_id\n const botId = state.chatbot.botId\n const llmEngineBaseURL = state.chatbot.llmEngineBaseURL\n\n if (stripeClientSecret && chatId && botId && llmEngineBaseURL) {\n sendConfirmStripeIntentRequest(llmEngineBaseURL, stripeClientSecret, chatId, botId);\n } else {\n throw new Error(\"stripeClientSecret must be present\")\n }\n }\n);\n\nexport const sendMessageToBot = createAsyncThunk(\n 'chatbot/sendMessageToBot',\n async (payload, {getState, dispatch}) => {\n // @ts-ignore\n const state = getState();\n dispatch(addHumanMessage(payload));\n // @ts-ignore\n const botId = state.chatbot.botId;\n const chatId = state.chatbot.chat_id;\n const currentLocation = state.chatbot.location;\n // @ts-ignore\n const llmEngineBaseURL = state.chatbot.llmEngineBaseURL;\n if (!botId) {\n throw new Error(\"Missed botId\")\n }\n if (!llmEngineBaseURL) {\n throw new Error(\"Missed llmEngineBaseURL\")\n }\n const messages = state.chatbot.messages;\n const focusedVehicle = state.chatbot.focusedVehicle;\n return sendMessageToBotRequest(llmEngineBaseURL, botId, chatId, payload, currentLocation, messages, focusedVehicle);\n }\n);\n\nexport const getWidgetSettings = createAsyncThunk(\n 'chatbot/getWidgetSettings',\n async (payload, {getState}) => {\n if (!payload) {\n throw new Error(\"Missed botId\")\n }\n // @ts-ignore\n const state = getState();\n // @ts-ignore\n const platformBaseURL = state.chatbot.platformBaseURL;\n if (!platformBaseURL) {\n throw new Error(\"Missed platformBaseURL\")\n }\n return getWidgetSettingsRequest(platformBaseURL, payload);\n }\n);\n\nexport const handleConvoStarterClick = createAsyncThunk(\n 'chatbot/handleConvoStarterClick',\n async (payload, {getState, dispatch}) => {\n const state = getState();\n const botId = state.chatbot.botId;\n deleteConvoStarterDataForPage(botId!, `${state.chatbot.websiteLocation}${state.chatbot.location}`)\n\n switch (payload.action) {\n case ConvoStarterAction.SEND_MESSAGE:\n await dispatch(openChatbot());\n await dispatch(sendMessageToBot(payload.message));\n return payload.message;\n case ConvoStarterAction.CLOSE_CHAT:\n dispatch(closeConvoStartersInBubble());\n return \"chat-closed\";\n default:\n throw new Error(`Unknown action: ${payload.action}`);\n }\n }\n);\n\nconst normalizeConvoStarter = (starter: Partial): ConvoStarter => {\n return {\n action: starter.action || ConvoStarterAction.SEND_MESSAGE,\n message: starter.message || \"\",\n visible: starter.visible || ConvoStarterVisibility.BOTH\n };\n};\n\nconst updateConvoStartersVisibility = (state: ChatbotState) => {\n const {\n isMobile,\n convoStartersScriptConditions: conditions,\n hasConvoStartersTimeoutElapsed: timeoutElapsed,\n messages,\n open,\n hasExperience,\n convoStarters,\n } = state;\n\n const messagesLength = messages.length;\n const convoStartersLength = convoStarters.length;\n\n const withinStarterLimit = convoStartersLength >= 1;\n const noMessagesOrOne = messagesLength <= 1;\n\n const isVisible = (disableCondition: boolean, otherConditions: boolean) =>\n !disableCondition && otherConditions;\n\n state.convoStartersVisibility.showOnBubbleOnMobile = isVisible(\n conditions.disableConvoStartersButtonsOnBubbleOnMobile,\n isMobile && timeoutElapsed && noMessagesOrOne && !open && !hasExperience && withinStarterLimit\n );\n\n state.convoStartersVisibility.showOnBubbleOnDesktop = isVisible(\n conditions.disableConvoStartersButtonsOnBubbleOnDesktop,\n !isMobile && timeoutElapsed && noMessagesOrOne && !open && !hasExperience && withinStarterLimit\n );\n\n state.convoStartersVisibility.showOnChatOnMobile = isVisible(\n conditions.disableConvoStartersButtonsOnChatOnMobile,\n isMobile && noMessagesOrOne && withinStarterLimit\n );\n\n state.convoStartersVisibility.showOnChatOnDesktop = isVisible(\n conditions.disableConvoStartersButtonsOnChatOnDesktop,\n !isMobile && noMessagesOrOne && withinStarterLimit\n );\n\n state.convoStartersVisibility.showFirstMessageOnMobile = isVisible(\n conditions.disableFirstMessageOnBubbleOnMobile,\n isMobile && timeoutElapsed && noMessagesOrOne && !hasExperience\n );\n\n state.convoStartersVisibility.showFirstMessageOnDesktop = isVisible(\n conditions.disableFirstMessageOnBubbleOnDesktop,\n !isMobile && timeoutElapsed && noMessagesOrOne && !hasExperience\n );\n};\n\nconst updateConvoStartersVisibilityForCurrentDevice = (\n state: ChatbotState,\n showBubble: boolean,\n showFirstMessage: boolean\n) => {\n if (state.isMobile) {\n state.convoStartersVisibility.showOnBubbleOnMobile = showBubble;\n state.convoStartersVisibility.showFirstMessageOnMobile = showFirstMessage;\n } else {\n state.convoStartersVisibility.showOnBubbleOnDesktop = showBubble;\n state.convoStartersVisibility.showFirstMessageOnDesktop = showFirstMessage;\n }\n};\n\nconst applyCarouselConvoStarters = (state: ChatbotState, currentPageURL: string) => {\n const entry = getConvoStartersForPage(state.botId!, currentPageURL)\n if (entry.length > 0) {\n state.convoStarters = entry[0].convoStarters;\n state.convoStarterFirstMessage = entry[0].firstMessage;\n updateConvoStartersVisibilityForCurrentDevice(state, true, true);\n }\n};\n\nexport const chatbotSlice = createSlice({\n name: 'chatbot',\n initialState,\n reducers: {\n initializeState: (state, {payload, type}) => {\n state.botId = payload.botId\n state.profile = payload.profile ?? \"PROD\"\n state.platformBaseURL = payload.platformBaseURL ?? \"https://platform.motortech.ai/api\"\n state.llmEngineBaseURL = payload.llmEngineBaseURL ?? \"https://llm.motortech.ai\"\n state.location = payload.location\n state.convoStartersTimeout = Number.parseInt(payload.convoStartersTimeout)\n state.convoStartersScriptConditions = {\n disableConvoStartersButtonsOnChatOnMobile: payload.disableConvoStartersButtonsOnChatOnMobile !== \"false\",\n disableConvoStartersButtonsOnChatOnDesktop: payload.disableConvoStartersButtonsOnChatOnDesktop !== \"false\",\n disableConvoStartersButtonsOnBubbleOnMobile: payload.disableConvoStartersButtonsOnBubbleOnMobile !== \"false\",\n disableConvoStartersButtonsOnBubbleOnDesktop: payload.disableConvoStartersButtonsOnBubbleOnDesktop !== \"false\",\n disableFirstMessageOnBubbleOnMobile: payload.disableFirstMessageOnBubbleOnMobile !== \"false\",\n disableFirstMessageOnBubbleOnDesktop: payload.disableFirstMessageOnBubbleOnDesktop !== \"false\",\n }\n state.hasConvoStartersTimeoutElapsed = false\n updateConvoStartersVisibility(state)\n state.open = payload.open\n state.isMobile = payload.isMobile\n state.websiteLocation = new URL(payload.websiteLocation).origin\n\n let chat_id = payload.chatId\n if (!chat_id) {\n chat_id = new Date().getTime();\n\n if (state.websiteLocation) {\n window.parent.postMessage(\n {\n type: \"update-local-storage\",\n key: \"chat_id\",\n value: JSON.stringify(chat_id),\n botId: state.botId\n },\n state.websiteLocation\n )\n }\n }\n\n state.chat_id = chat_id\n state.hasExperience = payload.hasExperience\n state.focusedVehicle = payload.focusedVehicle\n chatbotSlice.caseReducers.initMessage(state, {payload: payload.messages, type})\n state.isBotInitialized = true\n },\n addBotMessageManually: (state, {payload, type}) => {\n const messages = state.messages;\n const lastMessage = state.messages[state.messages.length - 1];\n if (messages.length == 1) {\n state.initialBotMessage = payload;\n chatbotSlice.caseReducers.initMessage(state, {payload: [], type})\n } else if (messages.length > 2 && lastMessage?.isBot && lastMessage.message !== payload) {\n chatbotSlice.caseReducers.addBotMessage(state, {\n payload: [{role: Role.ASSISTANT, content: payload} as ChatMessageResponse], type\n })\n }\n },\n addBotMessage: (state, {payload}: PayloadAction) => {\n payload.forEach(chatMessage => {\n const content = chatMessage.content\n if (chatMessage.tool_calls || chatMessage.tool_call_id) {\n state.messages.push({\n isBot: true,\n role: chatMessage.role,\n saved: chatMessage.saved,\n toolCalls: chatMessage.tool_calls,\n toolCallId: chatMessage.tool_call_id,\n message: {\n rowMessage: content,\n messageType: MessageType.TOOL,\n },\n time: Date.now()\n })\n } else if (content) {\n const parsedContent = JSON.parse(content)\n\n state.messages.push({\n isBot: true,\n role: chatMessage.role,\n saved: chatMessage.saved,\n toolCalls: chatMessage.tool_calls,\n toolCallId: chatMessage.tool_call_id,\n message: {\n rowMessage: content,\n messageType: parsedContent.message_type,\n message: parsedContent.message,\n vehicle: parsedContent.vehicle,\n videoLink: parsedContent.video_link,\n vehicleList: parsedContent.vehicle_list,\n stripePaymentState: parsedContent.message_type == MessageType.STRIPE ? StripePaymentState.READY : undefined,\n stripePaymentId: parsedContent.message_type == MessageType.STRIPE ? Date.now() : undefined,\n },\n time: Date.now()\n })\n }\n })\n\n if (state.websiteLocation) {\n window.parent.postMessage(\n {\n type: \"update-local-storage\",\n key: \"messages\",\n value: JSON.stringify(state.messages),\n botId: state.botId\n },\n state.websiteLocation\n )\n }\n },\n addHumanMessage: (state, {payload}: PayloadAction) => {\n state.messages.push({\n isBot: false,\n role: Role.USER,\n saved: false,\n message: {\n messageType: MessageType.TEXT,\n rowMessage: payload,\n message: payload\n },\n time: Date.now()\n });\n\n if (state.websiteLocation) {\n window.parent.postMessage(\n {\n type: \"update-local-storage\",\n key: \"messages\",\n value: JSON.stringify(state.messages),\n botId: state.botId\n },\n state.websiteLocation\n )\n deleteConvoStarterDataForPage(state.botId!, `${state.websiteLocation}${state.location}`)\n }\n\n updateConvoStartersVisibility(state);\n },\n openChatbot: (state) => {\n if (!state.open) {\n state.open = true;\n\n if (state.websiteLocation) {\n window.parent.postMessage(\n {\n type: \"update-local-storage\",\n key: \"open\",\n value: JSON.stringify(true),\n botId: state.botId\n },\n state.websiteLocation\n )\n\n window.parent.postMessage(\n {\n type: \"update-local-storage\",\n key: \"hasExperience\",\n value: JSON.stringify(true),\n botId: state.botId\n },\n state.websiteLocation\n )\n }\n\n let chat_id = state.chat_id\n if (!chat_id) {\n chat_id = new Date().getTime();\n\n if (state.websiteLocation) {\n window.parent.postMessage(\n {\n type: \"update-local-storage\",\n key: \"chat_id\",\n value: JSON.stringify(chat_id),\n botId: state.botId\n },\n state.websiteLocation\n )\n }\n\n state.chat_id = chat_id;\n }\n\n state.hasExperience = true\n }\n\n updateConvoStartersVisibility(state);\n },\n markConvoStartersTimeoutAsElapsed: (state) => {\n state.hasConvoStartersTimeoutElapsed = true;\n updateConvoStartersVisibility(state)\n },\n openConvoStartersInBubble: (state) => {\n updateConvoStartersVisibilityForCurrentDevice(state, true, false);\n },\n closeConvoStartersInBubble: (state) => {\n if (state.websiteLocation) {\n window.parent.postMessage(\n {\n type: \"update-local-storage\",\n key: \"hasExperience\",\n value: JSON.stringify(true),\n botId: state.botId\n },\n state.websiteLocation\n )\n }\n state.hasExperience = true;\n updateConvoStartersVisibility(state)\n },\n closeChatbot: (state) => {\n state.open = false;\n\n if (state.websiteLocation) {\n window.parent.postMessage(\n {\n type: \"update-local-storage\",\n key: \"open\",\n value: JSON.stringify(false),\n botId: state.botId\n },\n state.websiteLocation\n )\n }\n\n updateConvoStartersVisibility(state)\n },\n setAllMessagesSaved: (state) => {\n state.messages.forEach(message => message.saved = true)\n\n if (state.websiteLocation) {\n window.parent.postMessage(\n {\n type: \"update-local-storage\",\n key: \"messages\",\n value: JSON.stringify(state.messages),\n botId: state.botId\n },\n state.websiteLocation\n )\n }\n },\n thinkChatbot: (state, {payload}: PayloadAction) => {\n state.thinking = payload;\n },\n initMessage: (state, {payload}: PayloadAction) => {\n if (!!payload.length) {\n state.messages = payload;\n } else if (!state.messages.length || state.messages.length === 1) {\n state.messages = [generateTemplatedMessage(state.initialBotMessage)];\n }\n },\n focusVehicle: (state, {payload}: PayloadAction) => {\n state.focusedVehicle = payload;\n if (state.websiteLocation) {\n window.parent.postMessage(\n {\n type: \"update-local-storage\",\n key: \"focusedVehicle\",\n value: JSON.stringify(payload),\n botId: state.botId\n },\n state.websiteLocation\n )\n }\n },\n clearChatHistory: (state) => {\n state.messages = [generateTemplatedMessage(state.initialBotMessage)]\n state.stripeClientSecret = undefined;\n state.stripeErrorMessage = undefined;\n state.focusedVehicle = undefined;\n state.thinking = false;\n\n const newChatId = new Date().getTime();\n state.chat_id = newChatId;\n\n if (state.websiteLocation && state.botId) {\n window.parent.postMessage(\n {\n type: \"remove-from-local-storage\",\n key: \"messages\",\n botId: state.botId\n },\n state.websiteLocation\n )\n\n window.parent.postMessage(\n {\n type: \"remove-from-local-storage\",\n key: \"state\",\n botId: state.botId\n },\n state.websiteLocation\n )\n\n window.parent.postMessage(\n {\n type: \"update-local-storage\",\n key: \"chat_id\",\n value: JSON.stringify(newChatId),\n botId: state.botId\n },\n state.websiteLocation\n )\n\n window.parent.postMessage(\n {\n type: \"check-focused-vehicle\"\n },\n state.websiteLocation\n )\n clearConvoStarterData(state.botId);\n }\n },\n updateFirstBotMessage: (state, {payload}: PayloadAction) => {\n state.initialBotMessage = payload;\n },\n updateConvoStarterFirstMessage: (state, {payload}: PayloadAction) => {\n state.convoStarterFirstMessage = payload;\n },\n updateConvoStarters: (state, {payload}: PayloadAction<(ConvoStarter)[]>) => {\n if (getConvoStartersForPage(state.botId!, `${state.websiteLocation}${state.location}`).length > 0) {\n return;\n }\n state.convoStarters = payload.map(item => {\n return normalizeConvoStarter(item);\n }).slice(0, 5);\n updateConvoStartersVisibility(state);\n },\n updateLocation: (state, {payload}: PayloadAction) => {\n state.location = payload;\n\n if (state.websiteLocation && state.botId) {\n updateEmptyPageURL(state.botId, `${state.websiteLocation}${state.location}`)\n applyCarouselConvoStarters(state, `${state.websiteLocation}${state.location}`)\n }\n },\n updateUserScroll: (state, {payload}: PayloadAction) => {\n state.userScroll = payload;\n },\n updateFocusedStripePaymentId: (state, {payload}: PayloadAction) => {\n state.focusedStripePaymentId = payload;\n },\n clearFocusedStripePaymentId: (state) => {\n state.focusedStripePaymentId = undefined;\n },\n updateStripePaymentStateInMessage: (state, {payload}: PayloadAction) => {\n state.messages.forEach(message => {\n if (message.message.messageType == MessageType.STRIPE) {\n if (message.message.stripePaymentId == state.focusedStripePaymentId && message.message.stripePaymentState != StripePaymentState.DONE) {\n message.message.stripePaymentState = payload;\n }\n }\n })\n\n if (state.websiteLocation) {\n window.parent.postMessage(\n {\n type: \"update-local-storage\",\n key: \"messages\",\n value: JSON.stringify(state.messages),\n botId: state.botId\n },\n state.websiteLocation\n )\n }\n }\n },\n extraReducers: (builder) => {\n builder.addCase(getWidgetSettings.fulfilled, (state, {payload, type}) => {\n state.allowSMS = false;\n state.botType = payload.botType;\n state.name = payload.name;\n state.showWidget = payload.showWidget;\n state.stripePublicKey = payload.stripePublicKey;\n if (payload.convoStarters && payload.convoStarters.length > 0 && state.convoStarters.length === 0) {\n state.convoStarters = payload.convoStarters.map(item => {\n return normalizeConvoStarter(item);\n }).slice(0, 5);\n }\n\n state.initialBotMessage = payload.convoStarterFirstMessage ?? `Hi, I'm Aime, your AI powered sales assistant. I can help you with everything, from helping you find your perfect vehicle, right through to reserving it. What can I do for you today?`\n state.convoStarterFirstMessage = payload.convoStarterFirstMessage ?? `Hi, I'm Aime, I'm online and ready to help find your next vehicle`\n\n updateConvoStartersVisibility(state)\n if (state.websiteLocation && state.botId) {\n updateEmptyPageURL(state.botId, `${state.websiteLocation}${state.location}`)\n applyCarouselConvoStarters(state, `${state.websiteLocation}${state.location}`)\n }\n })\n builder.addCase(sendConfirmStripeIntent.fulfilled, (state, {type}) => {\n chatbotSlice.caseReducers.updateStripePaymentStateInMessage(state, {\n payload: StripePaymentState.DONE,\n type\n })\n chatbotSlice.caseReducers.clearFocusedStripePaymentId(state)\n })\n builder.addCase(sendStripeIntent.fulfilled, (state, {payload, type}) => {\n state.stripeClientSecret = payload;\n chatbotSlice.caseReducers.updateStripePaymentStateInMessage(state, {\n payload: StripePaymentState.PAID,\n type\n })\n chatbotSlice.caseReducers.clearFocusedStripePaymentId(state)\n })\n builder.addCase(sendStripeIntent.pending, (state, {type}) => {\n chatbotSlice.caseReducers.updateStripePaymentStateInMessage(state, {\n payload: StripePaymentState.PROCESSING,\n type\n })\n })\n builder.addCase(sendStripeIntent.rejected, (state, {error, type}) => {\n state.stripeErrorMessage = error.message;\n chatbotSlice.caseReducers.updateStripePaymentStateInMessage(state, {\n payload: StripePaymentState.READY,\n type\n })\n chatbotSlice.caseReducers.clearFocusedStripePaymentId(state)\n })\n builder.addCase(sendMessageToBot.fulfilled, (state, action) => {\n state.thinking = false;\n chatbotSlice.caseReducers.addBotMessage(state, action)\n chatbotSlice.caseReducers.setAllMessagesSaved(state)\n })\n builder.addCase(sendMessageToBot.pending, (state, action) => {\n state.thinking = true;\n })\n builder.addCase(sendMessageToBot.rejected, (state, action) => {\n state.thinking = false;\n })\n },\n});\n\nexport const {\n initializeState,\n addBotMessage,\n addHumanMessage,\n openChatbot,\n markConvoStartersTimeoutAsElapsed,\n openConvoStartersInBubble,\n closeConvoStartersInBubble,\n updateUserScroll,\n closeChatbot,\n thinkChatbot,\n initMessage,\n focusVehicle,\n clearChatHistory,\n updateFirstBotMessage,\n updateConvoStarterFirstMessage,\n updateConvoStarters,\n updateLocation,\n addBotMessageManually,\n updateFocusedStripePaymentId,\n clearFocusedStripePaymentId,\n updateStripePaymentStateInMessage,\n} = chatbotSlice.actions;\n\nexport const isConvoStartersOnBubbleVisibleSelector = (state: RootState): boolean => {\n return state.chatbot.isMobile\n ? state.chatbot.convoStartersVisibility.showOnBubbleOnMobile\n : state.chatbot.convoStartersVisibility.showOnBubbleOnDesktop;\n}\n\nexport const isConvoStartersOnChatVisibleSelector = (state: RootState): boolean => {\n return state.chatbot.isMobile\n ? state.chatbot.convoStartersVisibility.showOnChatOnMobile\n : state.chatbot.convoStartersVisibility.showOnChatOnDesktop;\n}\n\nexport const showFirstMessageVisibleSelector = (state: RootState): boolean => {\n return state.chatbot.isMobile\n ? state.chatbot.convoStartersVisibility.showFirstMessageOnMobile\n : state.chatbot.convoStartersVisibility.showFirstMessageOnDesktop;\n}\n\nexport const profileSelector = (state: RootState): string | undefined => state.chatbot.profile;\nexport const llmEngineBaseURLSelector = (state: RootState): string | undefined => state.chatbot.llmEngineBaseURL;\n\nexport const showWidgetSelector = (state: RootState): boolean => state.chatbot.showWidget;\nexport const isBotOpenSelector = (state: RootState): boolean => state.chatbot.open;\nexport const allowSMSSelector = (state: RootState): boolean => state.chatbot.allowSMS;\nexport const botIdSelector = (state: RootState): string | undefined => state.chatbot.botId;\nexport const botNameSelector = (state: RootState): string | undefined => state.chatbot.name;\nexport const botTypeSelector = (state: RootState): BotType | undefined => state.chatbot.botType;\nexport const isMobileSelector = (state: RootState): boolean => state.chatbot.isMobile;\nexport const convoStartersTimeoutSelector = (state: RootState): number | undefined => state.chatbot.convoStartersTimeout;\nexport const initialBotMessageSelector = (state: RootState): string => state.chatbot.initialBotMessage;\nexport const convoStarterFirstMessageSelector = (state: RootState): string => state.chatbot.convoStarterFirstMessage;\nexport const convoStartersSelector = (state: RootState): ConvoStarter[] => state.chatbot.convoStarters;\nexport const isUserScrollSelector = (state: RootState): boolean => state.chatbot.userScroll;\nexport const isBotThinkingSelector = (state: RootState): boolean => state.chatbot.thinking;\nexport const messagesSelector = (state: RootState): ChatMessage[] => state.chatbot.messages;\nexport const hasExperienceSelector = (state: RootState): boolean => state.chatbot.hasExperience;\nexport const isBotInitializedSelector = (state: RootState): boolean => state.chatbot.isBotInitialized;\nexport const websiteLocationSelector = (state: RootState): string => state.chatbot.websiteLocation || \"/\";\nexport const focusedVehicleSelector = (state: RootState): string | undefined => state.chatbot.focusedVehicle?.VIN;\nexport const isBubbleContentVisibleSelector = (state: RootState): boolean => {\n return isConvoStartersOnBubbleVisibleSelector(state) || showFirstMessageVisibleSelector(state);\n}\n\nexport const stripePublicKeySelector = (state: RootState): string | undefined => state.chatbot.stripePublicKey;\nexport const stripeClientSecretSelector = (state: RootState): string | undefined => state.chatbot.stripeClientSecret;\nexport const stripeErrorMessageSelector = (state: RootState): string | undefined => state.chatbot.stripeErrorMessage;\n\nexport default chatbotSlice.reducer;\n","import type { AnyAction, Reducer } from 'redux'\r\nimport { createNextState } from '.'\r\nimport type {\r\n ActionCreatorWithoutPayload,\r\n PayloadAction,\r\n PayloadActionCreator,\r\n PrepareAction,\r\n _ActionCreatorWithPreparedPayload,\r\n} from './createAction'\r\nimport { createAction } from './createAction'\r\nimport type {\r\n CaseReducer,\r\n CaseReducers,\r\n ReducerWithInitialState,\r\n} from './createReducer'\r\nimport { createReducer, NotFunction } from './createReducer'\r\nimport type { ActionReducerMapBuilder } from './mapBuilders'\r\nimport { executeReducerBuilderCallback } from './mapBuilders'\r\nimport type { NoInfer } from './tsHelpers'\r\nimport { freezeDraftable } from './utils'\r\n\r\nlet hasWarnedAboutObjectNotation = false\r\n\r\n/**\r\n * An action creator attached to a slice.\r\n *\r\n * @deprecated please use PayloadActionCreator directly\r\n *\r\n * @public\r\n */\r\nexport type SliceActionCreator

= PayloadActionCreator

\r\n\r\n/**\r\n * The return value of `createSlice`\r\n *\r\n * @public\r\n */\r\nexport interface Slice<\r\n State = any,\r\n CaseReducers extends SliceCaseReducers = SliceCaseReducers,\r\n Name extends string = string\r\n> {\r\n /**\r\n * The slice name.\r\n */\r\n name: Name\r\n\r\n /**\r\n * The slice's reducer.\r\n */\r\n reducer: Reducer\r\n\r\n /**\r\n * Action creators for the types of actions that are handled by the slice\r\n * reducer.\r\n */\r\n actions: CaseReducerActions\r\n\r\n /**\r\n * The individual case reducer functions that were passed in the `reducers` parameter.\r\n * This enables reuse and testing if they were defined inline when calling `createSlice`.\r\n */\r\n caseReducers: SliceDefinedCaseReducers\r\n\r\n /**\r\n * Provides access to the initial state value given to the slice.\r\n * If a lazy state initializer was provided, it will be called and a fresh value returned.\r\n */\r\n getInitialState: () => State\r\n}\r\n\r\n/**\r\n * Options for `createSlice()`.\r\n *\r\n * @public\r\n */\r\nexport interface CreateSliceOptions<\r\n State = any,\r\n CR extends SliceCaseReducers = SliceCaseReducers,\r\n Name extends string = string\r\n> {\r\n /**\r\n * The slice's name. Used to namespace the generated action types.\r\n */\r\n name: Name\r\n\r\n /**\r\n * The initial state that should be used when the reducer is called the first time. This may also be a \"lazy initializer\" function, which should return an initial state value when called. This will be used whenever the reducer is called with `undefined` as its state value, and is primarily useful for cases like reading initial state from `localStorage`.\r\n */\r\n initialState: State | (() => State)\r\n\r\n /**\r\n * A mapping from action types to action-type-specific *case reducer*\r\n * functions. For every action type, a matching action creator will be\r\n * generated using `createAction()`.\r\n */\r\n reducers: ValidateSliceCaseReducers\r\n\r\n /**\r\n * A callback that receives a *builder* object to define\r\n * case reducers via calls to `builder.addCase(actionCreatorOrType, reducer)`.\r\n * \r\n * Alternatively, a mapping from action types to action-type-specific *case reducer*\r\n * functions. These reducers should have existing action types used\r\n * as the keys, and action creators will _not_ be generated.\r\n * \r\n * @example\r\n```ts\r\nimport { createAction, createSlice, Action, AnyAction } from '@reduxjs/toolkit'\r\nconst incrementBy = createAction('incrementBy')\r\nconst decrement = createAction('decrement')\r\n\r\ninterface RejectedAction extends Action {\r\n error: Error\r\n}\r\n\r\nfunction isRejectedAction(action: AnyAction): action is RejectedAction {\r\n return action.type.endsWith('rejected')\r\n}\r\n\r\ncreateSlice({\r\n name: 'counter',\r\n initialState: 0,\r\n reducers: {},\r\n extraReducers: builder => {\r\n builder\r\n .addCase(incrementBy, (state, action) => {\r\n // action is inferred correctly here if using TS\r\n })\r\n // You can chain calls, or have separate `builder.addCase()` lines each time\r\n .addCase(decrement, (state, action) => {})\r\n // You can match a range of action types\r\n .addMatcher(\r\n isRejectedAction,\r\n // `action` will be inferred as a RejectedAction due to isRejectedAction being defined as a type guard\r\n (state, action) => {}\r\n )\r\n // and provide a default case if no other handlers matched\r\n .addDefaultCase((state, action) => {})\r\n }\r\n})\r\n```\r\n */\r\n extraReducers?:\r\n | CaseReducers, any>\r\n | ((builder: ActionReducerMapBuilder>) => void)\r\n}\r\n\r\n/**\r\n * A CaseReducer with a `prepare` method.\r\n *\r\n * @public\r\n */\r\nexport type CaseReducerWithPrepare = {\r\n reducer: CaseReducer\r\n prepare: PrepareAction\r\n}\r\n\r\n/**\r\n * The type describing a slice's `reducers` option.\r\n *\r\n * @public\r\n */\r\nexport type SliceCaseReducers = {\r\n [K: string]:\r\n | CaseReducer>\r\n | CaseReducerWithPrepare>\r\n}\r\n\r\ntype SliceActionType<\r\n SliceName extends string,\r\n ActionName extends keyof any\r\n> = ActionName extends string | number ? `${SliceName}/${ActionName}` : string\r\n\r\n/**\r\n * Derives the slice's `actions` property from the `reducers` options\r\n *\r\n * @public\r\n */\r\nexport type CaseReducerActions<\r\n CaseReducers extends SliceCaseReducers,\r\n SliceName extends string\r\n> = {\r\n [Type in keyof CaseReducers]: CaseReducers[Type] extends { prepare: any }\r\n ? ActionCreatorForCaseReducerWithPrepare<\r\n CaseReducers[Type],\r\n SliceActionType\r\n >\r\n : ActionCreatorForCaseReducer<\r\n CaseReducers[Type],\r\n SliceActionType\r\n >\r\n}\r\n\r\n/**\r\n * Get a `PayloadActionCreator` type for a passed `CaseReducerWithPrepare`\r\n *\r\n * @internal\r\n */\r\ntype ActionCreatorForCaseReducerWithPrepare<\r\n CR extends { prepare: any },\r\n Type extends string\r\n> = _ActionCreatorWithPreparedPayload\r\n\r\n/**\r\n * Get a `PayloadActionCreator` type for a passed `CaseReducer`\r\n *\r\n * @internal\r\n */\r\ntype ActionCreatorForCaseReducer = CR extends (\r\n state: any,\r\n action: infer Action\r\n) => any\r\n ? Action extends { payload: infer P }\r\n ? PayloadActionCreator\r\n : ActionCreatorWithoutPayload\r\n : ActionCreatorWithoutPayload\r\n\r\n/**\r\n * Extracts the CaseReducers out of a `reducers` object, even if they are\r\n * tested into a `CaseReducerWithPrepare`.\r\n *\r\n * @internal\r\n */\r\ntype SliceDefinedCaseReducers> = {\r\n [Type in keyof CaseReducers]: CaseReducers[Type] extends {\r\n reducer: infer Reducer\r\n }\r\n ? Reducer\r\n : CaseReducers[Type]\r\n}\r\n\r\n/**\r\n * Used on a SliceCaseReducers object.\r\n * Ensures that if a CaseReducer is a `CaseReducerWithPrepare`, that\r\n * the `reducer` and the `prepare` function use the same type of `payload`.\r\n *\r\n * Might do additional such checks in the future.\r\n *\r\n * This type is only ever useful if you want to write your own wrapper around\r\n * `createSlice`. Please don't use it otherwise!\r\n *\r\n * @public\r\n */\r\nexport type ValidateSliceCaseReducers<\r\n S,\r\n ACR extends SliceCaseReducers\r\n> = ACR &\r\n {\r\n [T in keyof ACR]: ACR[T] extends {\r\n reducer(s: S, action?: infer A): any\r\n }\r\n ? {\r\n prepare(...a: never[]): Omit\r\n }\r\n : {}\r\n }\r\n\r\nfunction getType(slice: string, actionKey: string): string {\r\n return `${slice}/${actionKey}`\r\n}\r\n\r\n/**\r\n * A function that accepts an initial state, an object full of reducer\r\n * functions, and a \"slice name\", and automatically generates\r\n * action creators and action types that correspond to the\r\n * reducers and state.\r\n *\r\n * The `reducer` argument is passed to `createReducer()`.\r\n *\r\n * @public\r\n */\r\nexport function createSlice<\r\n State,\r\n CaseReducers extends SliceCaseReducers,\r\n Name extends string = string\r\n>(\r\n options: CreateSliceOptions\r\n): Slice {\r\n const { name } = options\r\n if (!name) {\r\n throw new Error('`name` is a required option for createSlice')\r\n }\r\n\r\n if (\r\n typeof process !== 'undefined' &&\r\n process.env.NODE_ENV === 'development'\r\n ) {\r\n if (options.initialState === undefined) {\r\n console.error(\r\n 'You must provide an `initialState` value that is not `undefined`. You may have misspelled `initialState`'\r\n )\r\n }\r\n }\r\n\r\n const initialState =\r\n typeof options.initialState == 'function'\r\n ? options.initialState\r\n : freezeDraftable(options.initialState)\r\n\r\n const reducers = options.reducers || {}\r\n\r\n const reducerNames = Object.keys(reducers)\r\n\r\n const sliceCaseReducersByName: Record = {}\r\n const sliceCaseReducersByType: Record = {}\r\n const actionCreators: Record = {}\r\n\r\n reducerNames.forEach((reducerName) => {\r\n const maybeReducerWithPrepare = reducers[reducerName]\r\n const type = getType(name, reducerName)\r\n\r\n let caseReducer: CaseReducer\r\n let prepareCallback: PrepareAction | undefined\r\n\r\n if ('reducer' in maybeReducerWithPrepare) {\r\n caseReducer = maybeReducerWithPrepare.reducer\r\n prepareCallback = maybeReducerWithPrepare.prepare\r\n } else {\r\n caseReducer = maybeReducerWithPrepare\r\n }\r\n\r\n sliceCaseReducersByName[reducerName] = caseReducer\r\n sliceCaseReducersByType[type] = caseReducer\r\n actionCreators[reducerName] = prepareCallback\r\n ? createAction(type, prepareCallback)\r\n : createAction(type)\r\n })\r\n\r\n function buildReducer() {\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (typeof options.extraReducers === 'object') {\r\n if (!hasWarnedAboutObjectNotation) {\r\n hasWarnedAboutObjectNotation = true\r\n console.warn(\r\n \"The object notation for `createSlice.extraReducers` is deprecated, and will be removed in RTK 2.0. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createSlice\"\r\n )\r\n }\r\n }\r\n }\r\n const [\r\n extraReducers = {},\r\n actionMatchers = [],\r\n defaultCaseReducer = undefined,\r\n ] =\r\n typeof options.extraReducers === 'function'\r\n ? executeReducerBuilderCallback(options.extraReducers)\r\n : [options.extraReducers]\r\n\r\n const finalCaseReducers = { ...extraReducers, ...sliceCaseReducersByType }\r\n\r\n return createReducer(initialState, (builder) => {\r\n for (let key in finalCaseReducers) {\r\n builder.addCase(key, finalCaseReducers[key] as CaseReducer)\r\n }\r\n for (let m of actionMatchers) {\r\n builder.addMatcher(m.matcher, m.reducer)\r\n }\r\n if (defaultCaseReducer) {\r\n builder.addDefaultCase(defaultCaseReducer)\r\n }\r\n })\r\n }\r\n\r\n let _reducer: ReducerWithInitialState\r\n\r\n return {\r\n name,\r\n reducer(state, action) {\r\n if (!_reducer) _reducer = buildReducer()\r\n\r\n return _reducer(state, action)\r\n },\r\n actions: actionCreators as any,\r\n caseReducers: sliceCaseReducersByName as any,\r\n getInitialState() {\r\n if (!_reducer) _reducer = buildReducer()\r\n\r\n return _reducer.getInitialState()\r\n },\r\n }\r\n}\r\n","import type { Draft } from 'immer'\r\nimport createNextState, { isDraft, isDraftable } from 'immer'\r\nimport type { AnyAction, Action, Reducer } from 'redux'\r\nimport type { ActionReducerMapBuilder } from './mapBuilders'\r\nimport { executeReducerBuilderCallback } from './mapBuilders'\r\nimport type { NoInfer } from './tsHelpers'\r\nimport { freezeDraftable } from './utils'\r\n\r\n/**\r\n * Defines a mapping from action types to corresponding action object shapes.\r\n *\r\n * @deprecated This should not be used manually - it is only used for internal\r\n * inference purposes and should not have any further value.\r\n * It might be removed in the future.\r\n * @public\r\n */\r\nexport type Actions = Record\r\n\r\n/**\r\n * @deprecated use `TypeGuard` instead\r\n */\r\nexport interface ActionMatcher {\r\n (action: AnyAction): action is A\r\n}\r\n\r\nexport type ActionMatcherDescription = {\r\n matcher: ActionMatcher\r\n reducer: CaseReducer>\r\n}\r\n\r\nexport type ReadonlyActionMatcherDescriptionCollection = ReadonlyArray<\r\n ActionMatcherDescription\r\n>\r\n\r\nexport type ActionMatcherDescriptionCollection = Array<\r\n ActionMatcherDescription\r\n>\r\n\r\n/**\r\n * A *case reducer* is a reducer function for a specific action type. Case\r\n * reducers can be composed to full reducers using `createReducer()`.\r\n *\r\n * Unlike a normal Redux reducer, a case reducer is never called with an\r\n * `undefined` state to determine the initial state. Instead, the initial\r\n * state is explicitly specified as an argument to `createReducer()`.\r\n *\r\n * In addition, a case reducer can choose to mutate the passed-in `state`\r\n * value directly instead of returning a new state. This does not actually\r\n * cause the store state to be mutated directly; instead, thanks to\r\n * [immer](https://github.com/mweststrate/immer), the mutations are\r\n * translated to copy operations that result in a new state.\r\n *\r\n * @public\r\n */\r\nexport type CaseReducer = (\r\n state: Draft,\r\n action: A\r\n) => NoInfer | void | Draft>\r\n\r\n/**\r\n * A mapping from action types to case reducers for `createReducer()`.\r\n *\r\n * @deprecated This should not be used manually - it is only used\r\n * for internal inference purposes and using it manually\r\n * would lead to type erasure.\r\n * It might be removed in the future.\r\n * @public\r\n */\r\nexport type CaseReducers = {\r\n [T in keyof AS]: AS[T] extends Action ? CaseReducer : void\r\n}\r\n\r\nexport type NotFunction = T extends Function ? never : T\r\n\r\nfunction isStateFunction(x: unknown): x is () => S {\r\n return typeof x === 'function'\r\n}\r\n\r\nexport type ReducerWithInitialState> = Reducer & {\r\n getInitialState: () => S\r\n}\r\n\r\nlet hasWarnedAboutObjectNotation = false\r\n\r\n/**\r\n * A utility function that allows defining a reducer as a mapping from action\r\n * type to *case reducer* functions that handle these action types. The\r\n * reducer's initial state is passed as the first argument.\r\n *\r\n * @remarks\r\n * The body of every case reducer is implicitly wrapped with a call to\r\n * `produce()` from the [immer](https://github.com/mweststrate/immer) library.\r\n * This means that rather than returning a new state object, you can also\r\n * mutate the passed-in state object directly; these mutations will then be\r\n * automatically and efficiently translated into copies, giving you both\r\n * convenience and immutability.\r\n *\r\n * @overloadSummary\r\n * This overload accepts a callback function that receives a `builder` object as its argument.\r\n * That builder provides `addCase`, `addMatcher` and `addDefaultCase` functions that may be\r\n * called to define what actions this reducer will handle.\r\n *\r\n * @param initialState - `State | (() => State)`: The initial state that should be used when the reducer is called the first time. This may also be a \"lazy initializer\" function, which should return an initial state value when called. This will be used whenever the reducer is called with `undefined` as its state value, and is primarily useful for cases like reading initial state from `localStorage`.\r\n * @param builderCallback - `(builder: Builder) => void` A callback that receives a *builder* object to define\r\n * case reducers via calls to `builder.addCase(actionCreatorOrType, reducer)`.\r\n * @example\r\n```ts\r\nimport {\r\n createAction,\r\n createReducer,\r\n AnyAction,\r\n PayloadAction,\r\n} from \"@reduxjs/toolkit\";\r\n\r\nconst increment = createAction(\"increment\");\r\nconst decrement = createAction(\"decrement\");\r\n\r\nfunction isActionWithNumberPayload(\r\n action: AnyAction\r\n): action is PayloadAction {\r\n return typeof action.payload === \"number\";\r\n}\r\n\r\nconst reducer = createReducer(\r\n {\r\n counter: 0,\r\n sumOfNumberPayloads: 0,\r\n unhandledActions: 0,\r\n },\r\n (builder) => {\r\n builder\r\n .addCase(increment, (state, action) => {\r\n // action is inferred correctly here\r\n state.counter += action.payload;\r\n })\r\n // You can chain calls, or have separate `builder.addCase()` lines each time\r\n .addCase(decrement, (state, action) => {\r\n state.counter -= action.payload;\r\n })\r\n // You can apply a \"matcher function\" to incoming actions\r\n .addMatcher(isActionWithNumberPayload, (state, action) => {})\r\n // and provide a default case if no other handlers matched\r\n .addDefaultCase((state, action) => {});\r\n }\r\n);\r\n```\r\n * @public\r\n */\r\nexport function createReducer>(\r\n initialState: S | (() => S),\r\n builderCallback: (builder: ActionReducerMapBuilder) => void\r\n): ReducerWithInitialState\r\n\r\n/**\r\n * A utility function that allows defining a reducer as a mapping from action\r\n * type to *case reducer* functions that handle these action types. The\r\n * reducer's initial state is passed as the first argument.\r\n *\r\n * The body of every case reducer is implicitly wrapped with a call to\r\n * `produce()` from the [immer](https://github.com/mweststrate/immer) library.\r\n * This means that rather than returning a new state object, you can also\r\n * mutate the passed-in state object directly; these mutations will then be\r\n * automatically and efficiently translated into copies, giving you both\r\n * convenience and immutability.\r\n * \r\n * @overloadSummary\r\n * This overload accepts an object where the keys are string action types, and the values\r\n * are case reducer functions to handle those action types.\r\n *\r\n * @param initialState - `State | (() => State)`: The initial state that should be used when the reducer is called the first time. This may also be a \"lazy initializer\" function, which should return an initial state value when called. This will be used whenever the reducer is called with `undefined` as its state value, and is primarily useful for cases like reading initial state from `localStorage`.\r\n * @param actionsMap - An object mapping from action types to _case reducers_, each of which handles one specific action type.\r\n * @param actionMatchers - An array of matcher definitions in the form `{matcher, reducer}`.\r\n * All matching reducers will be executed in order, independently if a case reducer matched or not.\r\n * @param defaultCaseReducer - A \"default case\" reducer that is executed if no case reducer and no matcher\r\n * reducer was executed for this action.\r\n *\r\n * @example\r\n```js\r\nconst counterReducer = createReducer(0, {\r\n increment: (state, action) => state + action.payload,\r\n decrement: (state, action) => state - action.payload\r\n})\r\n\r\n// Alternately, use a \"lazy initializer\" to provide the initial state\r\n// (works with either form of createReducer)\r\nconst initialState = () => 0\r\nconst counterReducer = createReducer(initialState, {\r\n increment: (state, action) => state + action.payload,\r\n decrement: (state, action) => state - action.payload\r\n})\r\n```\r\n \r\n * Action creators that were generated using [`createAction`](./createAction) may be used directly as the keys here, using computed property syntax:\r\n\r\n```js\r\nconst increment = createAction('increment')\r\nconst decrement = createAction('decrement')\r\n\r\nconst counterReducer = createReducer(0, {\r\n [increment]: (state, action) => state + action.payload,\r\n [decrement.type]: (state, action) => state - action.payload\r\n})\r\n```\r\n * @public\r\n */\r\nexport function createReducer<\r\n S extends NotFunction,\r\n CR extends CaseReducers = CaseReducers\r\n>(\r\n initialState: S | (() => S),\r\n actionsMap: CR,\r\n actionMatchers?: ActionMatcherDescriptionCollection,\r\n defaultCaseReducer?: CaseReducer\r\n): ReducerWithInitialState\r\n\r\nexport function createReducer>(\r\n initialState: S | (() => S),\r\n mapOrBuilderCallback:\r\n | CaseReducers\r\n | ((builder: ActionReducerMapBuilder) => void),\r\n actionMatchers: ReadonlyActionMatcherDescriptionCollection = [],\r\n defaultCaseReducer?: CaseReducer\r\n): ReducerWithInitialState {\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (typeof mapOrBuilderCallback === 'object') {\r\n if (!hasWarnedAboutObjectNotation) {\r\n hasWarnedAboutObjectNotation = true\r\n console.warn(\r\n \"The object notation for `createReducer` is deprecated, and will be removed in RTK 2.0. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createReducer\"\r\n )\r\n }\r\n }\r\n }\r\n\r\n let [actionsMap, finalActionMatchers, finalDefaultCaseReducer] =\r\n typeof mapOrBuilderCallback === 'function'\r\n ? executeReducerBuilderCallback(mapOrBuilderCallback)\r\n : [mapOrBuilderCallback, actionMatchers, defaultCaseReducer]\r\n\r\n // Ensure the initial state gets frozen either way (if draftable)\r\n let getInitialState: () => S\r\n if (isStateFunction(initialState)) {\r\n getInitialState = () => freezeDraftable(initialState())\r\n } else {\r\n const frozenInitialState = freezeDraftable(initialState)\r\n getInitialState = () => frozenInitialState\r\n }\r\n\r\n function reducer(state = getInitialState(), action: any): S {\r\n let caseReducers = [\r\n actionsMap[action.type],\r\n ...finalActionMatchers\r\n .filter(({ matcher }) => matcher(action))\r\n .map(({ reducer }) => reducer),\r\n ]\r\n if (caseReducers.filter((cr) => !!cr).length === 0) {\r\n caseReducers = [finalDefaultCaseReducer]\r\n }\r\n\r\n return caseReducers.reduce((previousState, caseReducer): S => {\r\n if (caseReducer) {\r\n if (isDraft(previousState)) {\r\n // If it's already a draft, we must already be inside a `createNextState` call,\r\n // likely because this is being wrapped in `createReducer`, `createSlice`, or nested\r\n // inside an existing draft. It's safe to just pass the draft to the mutator.\r\n const draft = previousState as Draft // We can assume this is already a draft\r\n const result = caseReducer(draft, action)\r\n\r\n if (result === undefined) {\r\n return previousState\r\n }\r\n\r\n return result as S\r\n } else if (!isDraftable(previousState)) {\r\n // If state is not draftable (ex: a primitive, such as 0), we want to directly\r\n // return the caseReducer func and not wrap it with produce.\r\n const result = caseReducer(previousState as any, action)\r\n\r\n if (result === undefined) {\r\n if (previousState === null) {\r\n return previousState\r\n }\r\n throw Error(\r\n 'A case reducer on a non-draftable value must not return undefined'\r\n )\r\n }\r\n\r\n return result as S\r\n } else {\r\n // @ts-ignore createNextState() produces an Immutable> rather\r\n // than an Immutable, and TypeScript cannot find out how to reconcile\r\n // these two types.\r\n return createNextState(previousState, (draft: Draft) => {\r\n return caseReducer(draft, action)\r\n })\r\n }\r\n }\r\n\r\n return previousState\r\n }, state)\r\n }\r\n\r\n reducer.getInitialState = getInitialState\r\n\r\n return reducer as ReducerWithInitialState\r\n}\r\n","import {Action, configureStore, ThunkAction} from '@reduxjs/toolkit';\nimport chatbotReducer from '../features/chatbotSlice';\n\nexport const store = configureStore({\n reducer: {\n chatbot: chatbotReducer\n },\n});\n\nexport type AppDispatch = typeof store.dispatch;\nexport type RootState = ReturnType;\nexport type AppThunk = ThunkAction<\n ReturnType,\n RootState,\n unknown,\n Action\n>;\n","import type {\r\n Reducer,\r\n ReducersMapObject,\r\n Middleware,\r\n Action,\r\n AnyAction,\r\n StoreEnhancer,\r\n Store,\r\n Dispatch,\r\n PreloadedState,\r\n CombinedState,\r\n} from 'redux'\r\nimport { createStore, compose, applyMiddleware, combineReducers } from 'redux'\r\nimport type { DevToolsEnhancerOptions as DevToolsOptions } from './devtoolsExtension'\r\nimport { composeWithDevTools } from './devtoolsExtension'\r\n\r\nimport isPlainObject from './isPlainObject'\r\nimport type {\r\n ThunkMiddlewareFor,\r\n CurriedGetDefaultMiddleware,\r\n} from './getDefaultMiddleware'\r\nimport { curryGetDefaultMiddleware } from './getDefaultMiddleware'\r\nimport type {\r\n NoInfer,\r\n ExtractDispatchExtensions,\r\n ExtractStoreExtensions,\r\n ExtractStateExtensions,\r\n} from './tsHelpers'\r\nimport { EnhancerArray } from './utils'\r\n\r\nconst IS_PRODUCTION = process.env.NODE_ENV === 'production'\r\n\r\n/**\r\n * Callback function type, to be used in `ConfigureStoreOptions.enhancers`\r\n *\r\n * @public\r\n */\r\nexport type ConfigureEnhancersCallback = (\r\n defaultEnhancers: EnhancerArray<[StoreEnhancer<{}, {}>]>\r\n) => E\r\n\r\n/**\r\n * Options for `configureStore()`.\r\n *\r\n * @public\r\n */\r\nexport interface ConfigureStoreOptions<\r\n S = any,\r\n A extends Action = AnyAction,\r\n M extends Middlewares = Middlewares,\r\n E extends Enhancers = Enhancers\r\n> {\r\n /**\r\n * A single reducer function that will be used as the root reducer, or an\r\n * object of slice reducers that will be passed to `combineReducers()`.\r\n */\r\n reducer: Reducer | ReducersMapObject\r\n\r\n /**\r\n * An array of Redux middleware to install. If not supplied, defaults to\r\n * the set of middleware returned by `getDefaultMiddleware()`.\r\n *\r\n * @example `middleware: (gDM) => gDM().concat(logger, apiMiddleware, yourCustomMiddleware)`\r\n * @see https://redux-toolkit.js.org/api/getDefaultMiddleware#intended-usage\r\n */\r\n middleware?: ((getDefaultMiddleware: CurriedGetDefaultMiddleware) => M) | M\r\n\r\n /**\r\n * Whether to enable Redux DevTools integration. Defaults to `true`.\r\n *\r\n * Additional configuration can be done by passing Redux DevTools options\r\n */\r\n devTools?: boolean | DevToolsOptions\r\n\r\n /**\r\n * The initial state, same as Redux's createStore.\r\n * You may optionally specify it to hydrate the state\r\n * from the server in universal apps, or to restore a previously serialized\r\n * user session. If you use `combineReducers()` to produce the root reducer\r\n * function (either directly or indirectly by passing an object as `reducer`),\r\n * this must be an object with the same shape as the reducer map keys.\r\n */\r\n /*\r\n Not 100% correct but the best approximation we can get:\r\n - if S is a `CombinedState` applying a second `CombinedState` on it does not change anything.\r\n - if it is not, there could be two cases:\r\n - `ReducersMapObject` is being passed in. In this case, we will call `combineReducers` on it and `CombinedState` is correct\r\n - `Reducer` is being passed in. In this case, actually `CombinedState` is wrong and `S` would be correct.\r\n As we cannot distinguish between those two cases without adding another generic parameter,\r\n we just make the pragmatic assumption that the latter almost never happens.\r\n */\r\n preloadedState?: PreloadedState>>\r\n\r\n /**\r\n * The store enhancers to apply. See Redux's `createStore()`.\r\n * All enhancers will be included before the DevTools Extension enhancer.\r\n * If you need to customize the order of enhancers, supply a callback\r\n * function that will receive the original array (ie, `[applyMiddleware]`),\r\n * and should return a new array (such as `[applyMiddleware, offline]`).\r\n * If you only need to add middleware, you can use the `middleware` parameter instead.\r\n */\r\n enhancers?: E | ConfigureEnhancersCallback\r\n}\r\n\r\ntype Middlewares = ReadonlyArray>\r\n\r\ntype Enhancers = ReadonlyArray\r\n\r\nexport interface ToolkitStore<\r\n S = any,\r\n A extends Action = AnyAction,\r\n M extends Middlewares = Middlewares\r\n> extends Store {\r\n /**\r\n * The `dispatch` method of your store, enhanced by all its middlewares.\r\n *\r\n * @inheritdoc\r\n */\r\n dispatch: ExtractDispatchExtensions & Dispatch\r\n}\r\n\r\n/**\r\n * A Redux store returned by `configureStore()`. Supports dispatching\r\n * side-effectful _thunks_ in addition to plain actions.\r\n *\r\n * @public\r\n */\r\nexport type EnhancedStore<\r\n S = any,\r\n A extends Action = AnyAction,\r\n M extends Middlewares = Middlewares,\r\n E extends Enhancers = Enhancers\r\n> = ToolkitStore, A, M> &\r\n ExtractStoreExtensions\r\n\r\n/**\r\n * A friendly abstraction over the standard Redux `createStore()` function.\r\n *\r\n * @param options The store configuration.\r\n * @returns A configured Redux store.\r\n *\r\n * @public\r\n */\r\nexport function configureStore<\r\n S = any,\r\n A extends Action = AnyAction,\r\n M extends Middlewares = [ThunkMiddlewareFor],\r\n E extends Enhancers = [StoreEnhancer]\r\n>(options: ConfigureStoreOptions): EnhancedStore {\r\n const curriedGetDefaultMiddleware = curryGetDefaultMiddleware()\r\n\r\n const {\r\n reducer = undefined,\r\n middleware = curriedGetDefaultMiddleware(),\r\n devTools = true,\r\n preloadedState = undefined,\r\n enhancers = undefined,\r\n } = options || {}\r\n\r\n let rootReducer: Reducer\r\n\r\n if (typeof reducer === 'function') {\r\n rootReducer = reducer\r\n } else if (isPlainObject(reducer)) {\r\n rootReducer = combineReducers(reducer) as unknown as Reducer\r\n } else {\r\n throw new Error(\r\n '\"reducer\" is a required argument, and must be a function or an object of functions that can be passed to combineReducers'\r\n )\r\n }\r\n\r\n let finalMiddleware = middleware\r\n if (typeof finalMiddleware === 'function') {\r\n finalMiddleware = finalMiddleware(curriedGetDefaultMiddleware)\r\n\r\n if (!IS_PRODUCTION && !Array.isArray(finalMiddleware)) {\r\n throw new Error(\r\n 'when using a middleware builder function, an array of middleware must be returned'\r\n )\r\n }\r\n }\r\n if (\r\n !IS_PRODUCTION &&\r\n finalMiddleware.some((item: any) => typeof item !== 'function')\r\n ) {\r\n throw new Error(\r\n 'each middleware provided to configureStore must be a function'\r\n )\r\n }\r\n\r\n const middlewareEnhancer: StoreEnhancer = applyMiddleware(...finalMiddleware)\r\n\r\n let finalCompose = compose\r\n\r\n if (devTools) {\r\n finalCompose = composeWithDevTools({\r\n // Enable capture of stack traces for dispatched Redux actions\r\n trace: !IS_PRODUCTION,\r\n ...(typeof devTools === 'object' && devTools),\r\n })\r\n }\r\n\r\n const defaultEnhancers = new EnhancerArray(middlewareEnhancer)\r\n let storeEnhancers: Enhancers = defaultEnhancers\r\n\r\n if (Array.isArray(enhancers)) {\r\n storeEnhancers = [middlewareEnhancer, ...enhancers]\r\n } else if (typeof enhancers === 'function') {\r\n storeEnhancers = enhancers(defaultEnhancers)\r\n }\r\n\r\n const composedEnhancer = finalCompose(...storeEnhancers) as StoreEnhancer\r\n\r\n return createStore(rootReducer, preloadedState, composedEnhancer)\r\n}\r\n","import {ReportHandler} from 'web-vitals';\n\nconst reportWebVitals = (onPerfEntry?: ReportHandler) => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({getCLS, getFID, getFCP, getLCP, getTTFB}) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import {TypedUseSelectorHook, useDispatch, useSelector} from 'react-redux';\nimport type {AppDispatch, RootState} from './store';\n\n// Use throughout your app instead of plain `useDispatch` and `useSelector`\nexport const useAppDispatch = () => useDispatch();\nexport const useAppSelector: TypedUseSelectorHook = useSelector;\n","import React, {useState} from \"react\";\nimport {useAppDispatch, useAppSelector} from \"../../app/hooks\";\nimport {isBotThinkingSelector, sendMessageToBot} from \"../chatbotSlice\";\n\nexport const InputField: React.FC = () => {\n\n const dispatch = useAppDispatch();\n\n const [text, setText] = useState(\"\");\n\n const sendUserMessageToBot = (userMessage: any) => {\n dispatch(sendMessageToBot(userMessage))\n };\n\n const thinking = useAppSelector(isBotThinkingSelector);\n\n return

\n \n setText(e.target.value)}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" && !thinking) {\n e.preventDefault();\n if (text.length > 0) {\n sendUserMessageToBot(text);\n setText(\"\");\n }\n }\n }}\n value={text}\n placeholder=\"Type your message...\"\n className=\"placeholder-gray-600 bg-transparent outline-[none] selectionText ml-3 w-full leading-[48px] transition-all duration-200 resize-none border-2 border-none outline-none whitespace-pre-wrap break-words selection:border-blue-800 text-base target:border-none active:border-none border-blue-800 focus:border-blue-900 focus-within:border-blue-900 focus-visible:border-none\"\n />\n {\n if (text.length > 0 && !thinking) {\n sendUserMessageToBot(text);\n setText(\"\");\n }\n }}\n className=\"w-12 h-full flex justify-center align-content-center items-center rounded-full\"\n >\n \n \n \n \n
\n \n}\n","import React from \"react\";\nimport {useAppDispatch} from \"../../app/hooks\";\nimport {clearChatHistory} from \"../chatbotSlice\";\n\ninterface ClearChatHistoryModalProps {\n isOpen: boolean\n setIsOpen: (isOpen: boolean) => void\n}\n\nexport const ClearChatHistoryModal: React.FC = ({\n isOpen,\n setIsOpen\n }) => {\n const dispatch = useAppDispatch();\n\n return \n
\n
\n {\n setIsOpen(false);\n }}\n >\n \n \n \n Close modal\n \n
\n \n \n \n

\n Do you want to clear the chat history?\n

\n {\n localStorage.removeItem(\"jwtToken\");\n localStorage.removeItem(\"user\");\n setIsOpen(false);\n dispatch(clearChatHistory());\n }}\n >\n Yes\n \n {\n setIsOpen(false);\n }}\n >\n No\n \n
\n
\n
\n \n}\n","import React from \"react\";\nimport {useAppDispatch, useAppSelector} from \"../../app/hooks\";\nimport {botNameSelector, closeChatbot, botTypeSelector, profileSelector} from \"../chatbotSlice\";\nimport {isDevEnv} from \"../chatbotUtil\";\n\ninterface WidgetHeaderProps {\n setIsClearChatHistoryModalOpen: (open: boolean) => void\n}\n\nexport const WidgetHeader: React.FC = ({\n setIsClearChatHistoryModalOpen\n }) => {\n\n const dispatch = useAppDispatch();\n const profile = useAppSelector(profileSelector);\n const botName = useAppSelector(botNameSelector);\n const botType = useAppSelector(botTypeSelector);\n\n const closeWidget = () => {\n dispatch(closeChatbot())\n }\n\n return \n
\n \n \n
\n
\n

Aime Assistant

\n

Online

\n {isDevEnv(profile) &&

{botName} ({botType})

}\n
\n \n
\n {\n setIsClearChatHistoryModalOpen(true);\n }}\n >\n \n \n \n \n \n
\n \n \n \n \n \n \n \n}\n","import React from \"react\";\nimport {calcTimeDiff} from \"../chatbotUtil\";\nimport {ChatMessage} from \"../chatbotSlice\";\n\ninterface UserMessageProps {\n index: number;\n message: ChatMessage;\n messages: ChatMessage[];\n}\n\nexport const UserMessage: React.FC = ({index, message, messages}) => {\n\n return \n
\n
\n \n {message.message.message}\n
\n {(index === messages.length - 1 ||\n messages[index + 1].isBot) && (\n \n {calcTimeDiff(message.time)}\n
\n )}\n \n \n \n}\n","import React from \"react\";\nimport {useAppSelector} from \"../../app/hooks\";\nimport {isBotThinkingSelector} from \"../chatbotSlice\";\n\nexport const Thinking: React.FC = () => {\n\n const isBotThinking = useAppSelector(isBotThinkingSelector);\n\n if (isBotThinking) {\n return
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n } else {\n return <>\n }\n}\n","import React from \"react\";\nimport {useAppDispatch, useAppSelector} from \"../../../app/hooks\";\nimport {ConvoStarter, convoStartersSelector, ConvoStarterVisibility, handleConvoStarterClick} from \"../../chatbotSlice\";\n\ninterface ConvoStarterButtonsProps {\n isInBubble: boolean;\n}\n\nexport const ConvoStarterButtons: React.FC = ({isInBubble}) => {\n const starters = useAppSelector(convoStartersSelector);\n const dispatch = useAppDispatch();\n const isStarterVisible = (starter: ConvoStarter): boolean => {\n if (starter.visible !== ConvoStarterVisibility.BOTH) {\n return starter.visible === (isInBubble ? ConvoStarterVisibility.BUBBLE : ConvoStarterVisibility.CHAT);\n }\n return true;\n }\n\n return
\n {starters.map((starter: ConvoStarter, index: number) => (\n isStarterVisible(starter) && (\n dispatch(handleConvoStarterClick(starter))}>\n {starter.message}\n \n )\n ))}\n
\n};\n","/**\n * @typedef Options\n * Configuration.\n * @property {boolean | null | undefined} [jsx=false]\n * Support JSX identifiers (default: `false`).\n */\n\nconst startRe = /[$_\\p{ID_Start}]/u\nconst contRe = /[$_\\u{200C}\\u{200D}\\p{ID_Continue}]/u\nconst contReJsx = /[-$_\\u{200C}\\u{200D}\\p{ID_Continue}]/u\nconst nameRe = /^[$_\\p{ID_Start}][$_\\u{200C}\\u{200D}\\p{ID_Continue}]*$/u\nconst nameReJsx = /^[$_\\p{ID_Start}][-$_\\u{200C}\\u{200D}\\p{ID_Continue}]*$/u\n\n/** @type {Options} */\nconst emptyOptions = {}\n\n/**\n * Checks if the given code point can start an identifier.\n *\n * @param {number | undefined} code\n * Code point to check.\n * @returns {boolean}\n * Whether `code` can start an identifier.\n */\n// Note: `undefined` is supported so you can pass the result from `''.codePointAt`.\nexport function start(code) {\n return code ? startRe.test(String.fromCodePoint(code)) : false\n}\n\n/**\n * Checks if the given code point can continue an identifier.\n *\n * @param {number | undefined} code\n * Code point to check.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {boolean}\n * Whether `code` can continue an identifier.\n */\n// Note: `undefined` is supported so you can pass the result from `''.codePointAt`.\nexport function cont(code, options) {\n const settings = options || emptyOptions\n const re = settings.jsx ? contReJsx : contRe\n return code ? re.test(String.fromCodePoint(code)) : false\n}\n\n/**\n * Checks if the given value is a valid identifier name.\n *\n * @param {string} name\n * Identifier to check.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {boolean}\n * Whether `name` can be an identifier.\n */\nexport function name(name, options) {\n const settings = options || emptyOptions\n const re = settings.jsx ? nameReJsx : nameRe\n return re.test(name)\n}\n","/**\n * @typedef {import('hast').Nodes} Nodes\n */\n\n// HTML whitespace expression.\n// See .\nconst re = /[ \\t\\n\\f\\r]/g\n\n/**\n * Check if the given value is *inter-element whitespace*.\n *\n * @param {Nodes | string} thing\n * Thing to check (`Node` or `string`).\n * @returns {boolean}\n * Whether the `value` is inter-element whitespace (`boolean`): consisting of\n * zero or more of space, tab (`\\t`), line feed (`\\n`), carriage return\n * (`\\r`), or form feed (`\\f`); if a node is passed it must be a `Text` node,\n * whose `value` field is checked.\n */\nexport function whitespace(thing) {\n return typeof thing === 'object'\n ? thing.type === 'text'\n ? empty(thing.value)\n : false\n : empty(thing)\n}\n\n/**\n * @param {string} value\n * @returns {boolean}\n */\nfunction empty(value) {\n return value.replace(re, '') === ''\n}\n","/**\n * @import {Schema as SchemaType, Space} from 'property-information'\n */\n\n/** @type {SchemaType} */\nexport class Schema {\n /**\n * @param {SchemaType['property']} property\n * Property.\n * @param {SchemaType['normal']} normal\n * Normal.\n * @param {Space | undefined} [space]\n * Space.\n * @returns\n * Schema.\n */\n constructor(property, normal, space) {\n this.normal = normal\n this.property = property\n\n if (space) {\n this.space = space\n }\n }\n}\n\nSchema.prototype.normal = {}\nSchema.prototype.property = {}\nSchema.prototype.space = undefined\n","/**\n * @import {Info, Space} from 'property-information'\n */\n\nimport {Schema} from './schema.js'\n\n/**\n * @param {ReadonlyArray} definitions\n * Definitions.\n * @param {Space | undefined} [space]\n * Space.\n * @returns {Schema}\n * Schema.\n */\nexport function merge(definitions, space) {\n /** @type {Record} */\n const property = {}\n /** @type {Record} */\n const normal = {}\n\n for (const definition of definitions) {\n Object.assign(property, definition.property)\n Object.assign(normal, definition.normal)\n }\n\n return new Schema(property, normal, space)\n}\n","/**\n * Get the cleaned case insensitive form of an attribute or property.\n *\n * @param {string} value\n * An attribute-like or property-like name.\n * @returns {string}\n * Value that can be used to look up the properly cased property on a\n * `Schema`.\n */\nexport function normalize(value) {\n return value.toLowerCase()\n}\n","/**\n * @import {Info as InfoType} from 'property-information'\n */\n\n/** @type {InfoType} */\nexport class Info {\n /**\n * @param {string} property\n * Property.\n * @param {string} attribute\n * Attribute.\n * @returns\n * Info.\n */\n constructor(property, attribute) {\n this.attribute = attribute\n this.property = property\n }\n}\n\nInfo.prototype.attribute = ''\nInfo.prototype.booleanish = false\nInfo.prototype.boolean = false\nInfo.prototype.commaOrSpaceSeparated = false\nInfo.prototype.commaSeparated = false\nInfo.prototype.defined = false\nInfo.prototype.mustUseProperty = false\nInfo.prototype.number = false\nInfo.prototype.overloadedBoolean = false\nInfo.prototype.property = ''\nInfo.prototype.spaceSeparated = false\nInfo.prototype.space = undefined\n","let powers = 0\n\nexport const boolean = increment()\nexport const booleanish = increment()\nexport const overloadedBoolean = increment()\nexport const number = increment()\nexport const spaceSeparated = increment()\nexport const commaSeparated = increment()\nexport const commaOrSpaceSeparated = increment()\n\nfunction increment() {\n return 2 ** ++powers\n}\n","/**\n * @import {Space} from 'property-information'\n */\n\nimport {Info} from './info.js'\nimport * as types from './types.js'\n\nconst checks = /** @type {ReadonlyArray} */ (\n Object.keys(types)\n)\n\nexport class DefinedInfo extends Info {\n /**\n * @constructor\n * @param {string} property\n * Property.\n * @param {string} attribute\n * Attribute.\n * @param {number | null | undefined} [mask]\n * Mask.\n * @param {Space | undefined} [space]\n * Space.\n * @returns\n * Info.\n */\n constructor(property, attribute, mask, space) {\n let index = -1\n\n super(property, attribute)\n\n mark(this, 'space', space)\n\n if (typeof mask === 'number') {\n while (++index < checks.length) {\n const check = checks[index]\n mark(this, checks[index], (mask & types[check]) === types[check])\n }\n }\n }\n}\n\nDefinedInfo.prototype.defined = true\n\n/**\n * @template {keyof DefinedInfo} Key\n * Key type.\n * @param {DefinedInfo} values\n * Info.\n * @param {Key} key\n * Key.\n * @param {DefinedInfo[Key]} value\n * Value.\n * @returns {undefined}\n * Nothing.\n */\nfunction mark(values, key, value) {\n if (value) {\n values[key] = value\n }\n}\n","/**\n * @import {Info, Space} from 'property-information'\n */\n\n/**\n * @typedef Definition\n * Definition of a schema.\n * @property {Record | undefined} [attributes]\n * Normalzed names to special attribute case.\n * @property {ReadonlyArray | undefined} [mustUseProperty]\n * Normalized names that must be set as properties.\n * @property {Record} properties\n * Property names to their types.\n * @property {Space | undefined} [space]\n * Space.\n * @property {Transform} transform\n * Transform a property name.\n */\n\n/**\n * @callback Transform\n * Transform.\n * @param {Record} attributes\n * Attributes.\n * @param {string} property\n * Property.\n * @returns {string}\n * Attribute.\n */\n\nimport {normalize} from '../normalize.js'\nimport {DefinedInfo} from './defined-info.js'\nimport {Schema} from './schema.js'\n\n/**\n * @param {Definition} definition\n * Definition.\n * @returns {Schema}\n * Schema.\n */\nexport function create(definition) {\n /** @type {Record} */\n const properties = {}\n /** @type {Record} */\n const normals = {}\n\n for (const [property, value] of Object.entries(definition.properties)) {\n const info = new DefinedInfo(\n property,\n definition.transform(definition.attributes || {}, property),\n value,\n definition.space\n )\n\n if (\n definition.mustUseProperty &&\n definition.mustUseProperty.includes(property)\n ) {\n info.mustUseProperty = true\n }\n\n properties[property] = info\n\n normals[normalize(property)] = property\n normals[normalize(info.attribute)] = property\n }\n\n return new Schema(properties, normals, definition.space)\n}\n","import {create} from './util/create.js'\nimport {booleanish, number, spaceSeparated} from './util/types.js'\n\nexport const aria = create({\n properties: {\n ariaActiveDescendant: null,\n ariaAtomic: booleanish,\n ariaAutoComplete: null,\n ariaBusy: booleanish,\n ariaChecked: booleanish,\n ariaColCount: number,\n ariaColIndex: number,\n ariaColSpan: number,\n ariaControls: spaceSeparated,\n ariaCurrent: null,\n ariaDescribedBy: spaceSeparated,\n ariaDetails: null,\n ariaDisabled: booleanish,\n ariaDropEffect: spaceSeparated,\n ariaErrorMessage: null,\n ariaExpanded: booleanish,\n ariaFlowTo: spaceSeparated,\n ariaGrabbed: booleanish,\n ariaHasPopup: null,\n ariaHidden: booleanish,\n ariaInvalid: null,\n ariaKeyShortcuts: null,\n ariaLabel: null,\n ariaLabelledBy: spaceSeparated,\n ariaLevel: number,\n ariaLive: null,\n ariaModal: booleanish,\n ariaMultiLine: booleanish,\n ariaMultiSelectable: booleanish,\n ariaOrientation: null,\n ariaOwns: spaceSeparated,\n ariaPlaceholder: null,\n ariaPosInSet: number,\n ariaPressed: booleanish,\n ariaReadOnly: booleanish,\n ariaRelevant: null,\n ariaRequired: booleanish,\n ariaRoleDescription: spaceSeparated,\n ariaRowCount: number,\n ariaRowIndex: number,\n ariaRowSpan: number,\n ariaSelected: booleanish,\n ariaSetSize: number,\n ariaSort: null,\n ariaValueMax: number,\n ariaValueMin: number,\n ariaValueNow: number,\n ariaValueText: null,\n role: null\n },\n transform(_, property) {\n return property === 'role'\n ? property\n : 'aria-' + property.slice(4).toLowerCase()\n }\n})\n","/**\n * @param {Record} attributes\n * Attributes.\n * @param {string} attribute\n * Attribute.\n * @returns {string}\n * Transformed attribute.\n */\nexport function caseSensitiveTransform(attributes, attribute) {\n return attribute in attributes ? attributes[attribute] : attribute\n}\n","import {caseSensitiveTransform} from './case-sensitive-transform.js'\n\n/**\n * @param {Record} attributes\n * Attributes.\n * @param {string} property\n * Property.\n * @returns {string}\n * Transformed property.\n */\nexport function caseInsensitiveTransform(attributes, property) {\n return caseSensitiveTransform(attributes, property.toLowerCase())\n}\n","import {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\nimport {create} from './util/create.js'\nimport {\n booleanish,\n boolean,\n commaSeparated,\n number,\n overloadedBoolean,\n spaceSeparated\n} from './util/types.js'\n\nexport const html = create({\n attributes: {\n acceptcharset: 'accept-charset',\n classname: 'class',\n htmlfor: 'for',\n httpequiv: 'http-equiv'\n },\n mustUseProperty: ['checked', 'multiple', 'muted', 'selected'],\n properties: {\n // Standard Properties.\n abbr: null,\n accept: commaSeparated,\n acceptCharset: spaceSeparated,\n accessKey: spaceSeparated,\n action: null,\n allow: null,\n allowFullScreen: boolean,\n allowPaymentRequest: boolean,\n allowUserMedia: boolean,\n alt: null,\n as: null,\n async: boolean,\n autoCapitalize: null,\n autoComplete: spaceSeparated,\n autoFocus: boolean,\n autoPlay: boolean,\n blocking: spaceSeparated,\n capture: null,\n charSet: null,\n checked: boolean,\n cite: null,\n className: spaceSeparated,\n cols: number,\n colSpan: null,\n content: null,\n contentEditable: booleanish,\n controls: boolean,\n controlsList: spaceSeparated,\n coords: number | commaSeparated,\n crossOrigin: null,\n data: null,\n dateTime: null,\n decoding: null,\n default: boolean,\n defer: boolean,\n dir: null,\n dirName: null,\n disabled: boolean,\n download: overloadedBoolean,\n draggable: booleanish,\n encType: null,\n enterKeyHint: null,\n fetchPriority: null,\n form: null,\n formAction: null,\n formEncType: null,\n formMethod: null,\n formNoValidate: boolean,\n formTarget: null,\n headers: spaceSeparated,\n height: number,\n hidden: boolean,\n high: number,\n href: null,\n hrefLang: null,\n htmlFor: spaceSeparated,\n httpEquiv: spaceSeparated,\n id: null,\n imageSizes: null,\n imageSrcSet: null,\n inert: boolean,\n inputMode: null,\n integrity: null,\n is: null,\n isMap: boolean,\n itemId: null,\n itemProp: spaceSeparated,\n itemRef: spaceSeparated,\n itemScope: boolean,\n itemType: spaceSeparated,\n kind: null,\n label: null,\n lang: null,\n language: null,\n list: null,\n loading: null,\n loop: boolean,\n low: number,\n manifest: null,\n max: null,\n maxLength: number,\n media: null,\n method: null,\n min: null,\n minLength: number,\n multiple: boolean,\n muted: boolean,\n name: null,\n nonce: null,\n noModule: boolean,\n noValidate: boolean,\n onAbort: null,\n onAfterPrint: null,\n onAuxClick: null,\n onBeforeMatch: null,\n onBeforePrint: null,\n onBeforeToggle: null,\n onBeforeUnload: null,\n onBlur: null,\n onCancel: null,\n onCanPlay: null,\n onCanPlayThrough: null,\n onChange: null,\n onClick: null,\n onClose: null,\n onContextLost: null,\n onContextMenu: null,\n onContextRestored: null,\n onCopy: null,\n onCueChange: null,\n onCut: null,\n onDblClick: null,\n onDrag: null,\n onDragEnd: null,\n onDragEnter: null,\n onDragExit: null,\n onDragLeave: null,\n onDragOver: null,\n onDragStart: null,\n onDrop: null,\n onDurationChange: null,\n onEmptied: null,\n onEnded: null,\n onError: null,\n onFocus: null,\n onFormData: null,\n onHashChange: null,\n onInput: null,\n onInvalid: null,\n onKeyDown: null,\n onKeyPress: null,\n onKeyUp: null,\n onLanguageChange: null,\n onLoad: null,\n onLoadedData: null,\n onLoadedMetadata: null,\n onLoadEnd: null,\n onLoadStart: null,\n onMessage: null,\n onMessageError: null,\n onMouseDown: null,\n onMouseEnter: null,\n onMouseLeave: null,\n onMouseMove: null,\n onMouseOut: null,\n onMouseOver: null,\n onMouseUp: null,\n onOffline: null,\n onOnline: null,\n onPageHide: null,\n onPageShow: null,\n onPaste: null,\n onPause: null,\n onPlay: null,\n onPlaying: null,\n onPopState: null,\n onProgress: null,\n onRateChange: null,\n onRejectionHandled: null,\n onReset: null,\n onResize: null,\n onScroll: null,\n onScrollEnd: null,\n onSecurityPolicyViolation: null,\n onSeeked: null,\n onSeeking: null,\n onSelect: null,\n onSlotChange: null,\n onStalled: null,\n onStorage: null,\n onSubmit: null,\n onSuspend: null,\n onTimeUpdate: null,\n onToggle: null,\n onUnhandledRejection: null,\n onUnload: null,\n onVolumeChange: null,\n onWaiting: null,\n onWheel: null,\n open: boolean,\n optimum: number,\n pattern: null,\n ping: spaceSeparated,\n placeholder: null,\n playsInline: boolean,\n popover: null,\n popoverTarget: null,\n popoverTargetAction: null,\n poster: null,\n preload: null,\n readOnly: boolean,\n referrerPolicy: null,\n rel: spaceSeparated,\n required: boolean,\n reversed: boolean,\n rows: number,\n rowSpan: number,\n sandbox: spaceSeparated,\n scope: null,\n scoped: boolean,\n seamless: boolean,\n selected: boolean,\n shadowRootClonable: boolean,\n shadowRootDelegatesFocus: boolean,\n shadowRootMode: null,\n shape: null,\n size: number,\n sizes: null,\n slot: null,\n span: number,\n spellCheck: booleanish,\n src: null,\n srcDoc: null,\n srcLang: null,\n srcSet: null,\n start: number,\n step: null,\n style: null,\n tabIndex: number,\n target: null,\n title: null,\n translate: null,\n type: null,\n typeMustMatch: boolean,\n useMap: null,\n value: booleanish,\n width: number,\n wrap: null,\n writingSuggestions: null,\n\n // Legacy.\n // See: https://html.spec.whatwg.org/#other-elements,-attributes-and-apis\n align: null, // Several. Use CSS `text-align` instead,\n aLink: null, // ``. Use CSS `a:active {color}` instead\n archive: spaceSeparated, // ``. List of URIs to archives\n axis: null, // `` and ``. Use `scope` on ``\n background: null, // ``. Use CSS `background-image` instead\n bgColor: null, // `` and table elements. Use CSS `background-color` instead\n border: number, // ``. Use CSS `border-width` instead,\n borderColor: null, // `
`. Use CSS `border-color` instead,\n bottomMargin: number, // ``\n cellPadding: null, // `
`\n cellSpacing: null, // `
`\n char: null, // Several table elements. When `align=char`, sets the character to align on\n charOff: null, // Several table elements. When `char`, offsets the alignment\n classId: null, // ``\n clear: null, // `
`. Use CSS `clear` instead\n code: null, // ``\n codeBase: null, // ``\n codeType: null, // ``\n color: null, // `` and `
`. Use CSS instead\n compact: boolean, // Lists. Use CSS to reduce space between items instead\n declare: boolean, // ``\n event: null, // `\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationRawTagOpen(code) {\n if (code === 47) {\n effects.consume(code);\n buffer = '';\n return continuationRawEndTag;\n }\n return continuation(code);\n }\n\n /**\n * In raw continuation, after ` | \n * ^^^^^^\n * ```\n *\n * @type {State}\n */\n function continuationRawEndTag(code) {\n if (code === 62) {\n const name = buffer.toLowerCase();\n if (htmlRawNames.includes(name)) {\n effects.consume(code);\n return continuationClose;\n }\n return continuation(code);\n }\n if (asciiAlpha(code) && buffer.length < 8) {\n // Always the case.\n effects.consume(code);\n buffer += String.fromCharCode(code);\n return continuationRawEndTag;\n }\n return continuation(code);\n }\n\n /**\n * In cdata continuation, after `]`, expecting `]>`.\n *\n * ```markdown\n * > | &<]]>\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationCdataInside(code) {\n if (code === 93) {\n effects.consume(code);\n return continuationDeclarationInside;\n }\n return continuation(code);\n }\n\n /**\n * In declaration or instruction continuation, at `>`.\n *\n * ```markdown\n * > | \n * ^\n * > | \n * ^\n * > | \n * ^\n * > | \n * ^\n * > | &<]]>\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationDeclarationInside(code) {\n if (code === 62) {\n effects.consume(code);\n return continuationClose;\n }\n\n // More dashes.\n if (code === 45 && marker === 2) {\n effects.consume(code);\n return continuationDeclarationInside;\n }\n return continuation(code);\n }\n\n /**\n * In closed continuation: everything we get until the eol/eof is part of it.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function continuationClose(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"htmlFlowData\");\n return continuationAfter(code);\n }\n effects.consume(code);\n return continuationClose;\n }\n\n /**\n * Done.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function continuationAfter(code) {\n effects.exit(\"htmlFlow\");\n // // Feel free to interrupt.\n // tokenizer.interrupt = false\n // // No longer concrete.\n // tokenizer.concrete = false\n return ok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeNonLazyContinuationStart(effects, ok, nok) {\n const self = this;\n return start;\n\n /**\n * At eol, before continuation.\n *\n * ```markdown\n * > | * ```js\n * ^\n * | b\n * ```\n *\n * @type {State}\n */\n function start(code) {\n if (markdownLineEnding(code)) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return after;\n }\n return nok(code);\n }\n\n /**\n * A continuation.\n *\n * ```markdown\n * | * ```js\n * > | b\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n return self.parser.lazy[self.now().line] ? nok(code) : ok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeBlankLineBefore(effects, ok, nok) {\n return start;\n\n /**\n * Before eol, expecting blank line.\n *\n * ```markdown\n * > |
\n * ^\n * |\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return effects.attempt(blankLine, ok, nok);\n }\n}","/**\n * @import {\n * Code,\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding, markdownSpace } from 'micromark-util-character';\n/** @type {Construct} */\nconst nonLazyContinuation = {\n partial: true,\n tokenize: tokenizeNonLazyContinuation\n};\n\n/** @type {Construct} */\nexport const codeFenced = {\n concrete: true,\n name: 'codeFenced',\n tokenize: tokenizeCodeFenced\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeCodeFenced(effects, ok, nok) {\n const self = this;\n /** @type {Construct} */\n const closeStart = {\n partial: true,\n tokenize: tokenizeCloseStart\n };\n let initialPrefix = 0;\n let sizeOpen = 0;\n /** @type {NonNullable} */\n let marker;\n return start;\n\n /**\n * Start of code.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // To do: parse whitespace like `markdown-rs`.\n return beforeSequenceOpen(code);\n }\n\n /**\n * In opening fence, after prefix, at sequence.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function beforeSequenceOpen(code) {\n const tail = self.events[self.events.length - 1];\n initialPrefix = tail && tail[1].type === \"linePrefix\" ? tail[2].sliceSerialize(tail[1], true).length : 0;\n marker = code;\n effects.enter(\"codeFenced\");\n effects.enter(\"codeFencedFence\");\n effects.enter(\"codeFencedFenceSequence\");\n return sequenceOpen(code);\n }\n\n /**\n * In opening fence sequence.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function sequenceOpen(code) {\n if (code === marker) {\n sizeOpen++;\n effects.consume(code);\n return sequenceOpen;\n }\n if (sizeOpen < 3) {\n return nok(code);\n }\n effects.exit(\"codeFencedFenceSequence\");\n return markdownSpace(code) ? factorySpace(effects, infoBefore, \"whitespace\")(code) : infoBefore(code);\n }\n\n /**\n * In opening fence, after the sequence (and optional whitespace), before info.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function infoBefore(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"codeFencedFence\");\n return self.interrupt ? ok(code) : effects.check(nonLazyContinuation, atNonLazyBreak, after)(code);\n }\n effects.enter(\"codeFencedFenceInfo\");\n effects.enter(\"chunkString\", {\n contentType: \"string\"\n });\n return info(code);\n }\n\n /**\n * In info.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function info(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"chunkString\");\n effects.exit(\"codeFencedFenceInfo\");\n return infoBefore(code);\n }\n if (markdownSpace(code)) {\n effects.exit(\"chunkString\");\n effects.exit(\"codeFencedFenceInfo\");\n return factorySpace(effects, metaBefore, \"whitespace\")(code);\n }\n if (code === 96 && code === marker) {\n return nok(code);\n }\n effects.consume(code);\n return info;\n }\n\n /**\n * In opening fence, after info and whitespace, before meta.\n *\n * ```markdown\n * > | ~~~js eval\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function metaBefore(code) {\n if (code === null || markdownLineEnding(code)) {\n return infoBefore(code);\n }\n effects.enter(\"codeFencedFenceMeta\");\n effects.enter(\"chunkString\", {\n contentType: \"string\"\n });\n return meta(code);\n }\n\n /**\n * In meta.\n *\n * ```markdown\n * > | ~~~js eval\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function meta(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"chunkString\");\n effects.exit(\"codeFencedFenceMeta\");\n return infoBefore(code);\n }\n if (code === 96 && code === marker) {\n return nok(code);\n }\n effects.consume(code);\n return meta;\n }\n\n /**\n * At eol/eof in code, before a non-lazy closing fence or content.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * > | alert(1)\n * ^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function atNonLazyBreak(code) {\n return effects.attempt(closeStart, after, contentBefore)(code);\n }\n\n /**\n * Before code content, not a closing fence, at eol.\n *\n * ```markdown\n * | ~~~js\n * > | alert(1)\n * ^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function contentBefore(code) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return contentStart;\n }\n\n /**\n * Before code content, not a closing fence.\n *\n * ```markdown\n * | ~~~js\n * > | alert(1)\n * ^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function contentStart(code) {\n return initialPrefix > 0 && markdownSpace(code) ? factorySpace(effects, beforeContentChunk, \"linePrefix\", initialPrefix + 1)(code) : beforeContentChunk(code);\n }\n\n /**\n * Before code content, after optional prefix.\n *\n * ```markdown\n * | ~~~js\n * > | alert(1)\n * ^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function beforeContentChunk(code) {\n if (code === null || markdownLineEnding(code)) {\n return effects.check(nonLazyContinuation, atNonLazyBreak, after)(code);\n }\n effects.enter(\"codeFlowValue\");\n return contentChunk(code);\n }\n\n /**\n * In code content.\n *\n * ```markdown\n * | ~~~js\n * > | alert(1)\n * ^^^^^^^^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function contentChunk(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"codeFlowValue\");\n return beforeContentChunk(code);\n }\n effects.consume(code);\n return contentChunk;\n }\n\n /**\n * After code.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n effects.exit(\"codeFenced\");\n return ok(code);\n }\n\n /**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\n function tokenizeCloseStart(effects, ok, nok) {\n let size = 0;\n return startBefore;\n\n /**\n *\n *\n * @type {State}\n */\n function startBefore(code) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return start;\n }\n\n /**\n * Before closing fence, at optional whitespace.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // Always populated by defaults.\n\n // To do: `enter` here or in next state?\n effects.enter(\"codeFencedFence\");\n return markdownSpace(code) ? factorySpace(effects, beforeSequenceClose, \"linePrefix\", self.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4)(code) : beforeSequenceClose(code);\n }\n\n /**\n * In closing fence, after optional whitespace, at sequence.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function beforeSequenceClose(code) {\n if (code === marker) {\n effects.enter(\"codeFencedFenceSequence\");\n return sequenceClose(code);\n }\n return nok(code);\n }\n\n /**\n * In closing fence sequence.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceClose(code) {\n if (code === marker) {\n size++;\n effects.consume(code);\n return sequenceClose;\n }\n if (size >= sizeOpen) {\n effects.exit(\"codeFencedFenceSequence\");\n return markdownSpace(code) ? factorySpace(effects, sequenceCloseAfter, \"whitespace\")(code) : sequenceCloseAfter(code);\n }\n return nok(code);\n }\n\n /**\n * After closing fence sequence, after optional whitespace.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceCloseAfter(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"codeFencedFence\");\n return ok(code);\n }\n return nok(code);\n }\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeNonLazyContinuation(effects, ok, nok) {\n const self = this;\n return start;\n\n /**\n *\n *\n * @type {State}\n */\n function start(code) {\n if (code === null) {\n return nok(code);\n }\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return lineStart;\n }\n\n /**\n *\n *\n * @type {State}\n */\n function lineStart(code) {\n return self.parser.lazy[self.now().line] ? nok(code) : ok(code);\n }\n}","/// \n\n/* eslint-env browser */\n\nconst element = document.createElement('i')\n\n/**\n * @param {string} value\n * @returns {string | false}\n */\nexport function decodeNamedCharacterReference(value) {\n const characterReference = '&' + value + ';'\n element.innerHTML = characterReference\n const character = element.textContent\n\n // Some named character references do not require the closing semicolon\n // (`¬`, for instance), which leads to situations where parsing the assumed\n // named reference of `¬it;` will result in the string `¬it;`.\n // When we encounter a trailing semicolon after parsing, and the character\n // reference to decode was not a semicolon (`;`), we can assume that the\n // matching was not complete.\n if (\n // @ts-expect-error: TypeScript is wrong that `textContent` on elements can\n // yield `null`.\n character.charCodeAt(character.length - 1) === 59 /* `;` */ &&\n value !== 'semi'\n ) {\n return false\n }\n\n // If the decoded string is equal to the input, the character reference was\n // not valid.\n // @ts-expect-error: TypeScript is wrong that `textContent` on elements can\n // yield `null`.\n return character === characterReference ? false : character\n}\n","/**\n * @import {\n * Code,\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { decodeNamedCharacterReference } from 'decode-named-character-reference';\nimport { asciiAlphanumeric, asciiDigit, asciiHexDigit } from 'micromark-util-character';\n/** @type {Construct} */\nexport const characterReference = {\n name: 'characterReference',\n tokenize: tokenizeCharacterReference\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeCharacterReference(effects, ok, nok) {\n const self = this;\n let size = 0;\n /** @type {number} */\n let max;\n /** @type {(code: Code) => boolean} */\n let test;\n return start;\n\n /**\n * Start of character reference.\n *\n * ```markdown\n * > | a&b\n * ^\n * > | a{b\n * ^\n * > | a b\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"characterReference\");\n effects.enter(\"characterReferenceMarker\");\n effects.consume(code);\n effects.exit(\"characterReferenceMarker\");\n return open;\n }\n\n /**\n * After `&`, at `#` for numeric references or alphanumeric for named\n * references.\n *\n * ```markdown\n * > | a&b\n * ^\n * > | a{b\n * ^\n * > | a b\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (code === 35) {\n effects.enter(\"characterReferenceMarkerNumeric\");\n effects.consume(code);\n effects.exit(\"characterReferenceMarkerNumeric\");\n return numeric;\n }\n effects.enter(\"characterReferenceValue\");\n max = 31;\n test = asciiAlphanumeric;\n return value(code);\n }\n\n /**\n * After `#`, at `x` for hexadecimals or digit for decimals.\n *\n * ```markdown\n * > | a{b\n * ^\n * > | a b\n * ^\n * ```\n *\n * @type {State}\n */\n function numeric(code) {\n if (code === 88 || code === 120) {\n effects.enter(\"characterReferenceMarkerHexadecimal\");\n effects.consume(code);\n effects.exit(\"characterReferenceMarkerHexadecimal\");\n effects.enter(\"characterReferenceValue\");\n max = 6;\n test = asciiHexDigit;\n return value;\n }\n effects.enter(\"characterReferenceValue\");\n max = 7;\n test = asciiDigit;\n return value(code);\n }\n\n /**\n * After markers (`&#x`, `&#`, or `&`), in value, before `;`.\n *\n * The character reference kind defines what and how many characters are\n * allowed.\n *\n * ```markdown\n * > | a&b\n * ^^^\n * > | a{b\n * ^^^\n * > | a b\n * ^\n * ```\n *\n * @type {State}\n */\n function value(code) {\n if (code === 59 && size) {\n const token = effects.exit(\"characterReferenceValue\");\n if (test === asciiAlphanumeric && !decodeNamedCharacterReference(self.sliceSerialize(token))) {\n return nok(code);\n }\n\n // To do: `markdown-rs` uses a different name:\n // `CharacterReferenceMarkerSemi`.\n effects.enter(\"characterReferenceMarker\");\n effects.consume(code);\n effects.exit(\"characterReferenceMarker\");\n effects.exit(\"characterReference\");\n return ok;\n }\n if (test(code) && size++ < max) {\n effects.consume(code);\n return value;\n }\n return nok(code);\n }\n}","/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { asciiPunctuation } from 'micromark-util-character';\n/** @type {Construct} */\nexport const characterEscape = {\n name: 'characterEscape',\n tokenize: tokenizeCharacterEscape\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeCharacterEscape(effects, ok, nok) {\n return start;\n\n /**\n * Start of character escape.\n *\n * ```markdown\n * > | a\\*b\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"characterEscape\");\n effects.enter(\"escapeMarker\");\n effects.consume(code);\n effects.exit(\"escapeMarker\");\n return inside;\n }\n\n /**\n * After `\\`, at punctuation.\n *\n * ```markdown\n * > | a\\*b\n * ^\n * ```\n *\n * @type {State}\n */\n function inside(code) {\n // ASCII punctuation.\n if (asciiPunctuation(code)) {\n effects.enter(\"characterEscapeValue\");\n effects.consume(code);\n effects.exit(\"characterEscapeValue\");\n effects.exit(\"characterEscape\");\n return ok;\n }\n return nok(code);\n }\n}","/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding } from 'micromark-util-character';\n/** @type {Construct} */\nexport const lineEnding = {\n name: 'lineEnding',\n tokenize: tokenizeLineEnding\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeLineEnding(effects, ok) {\n return start;\n\n /** @type {State} */\n function start(code) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return factorySpace(effects, ok, \"linePrefix\");\n }\n}","/**\n * @import {Event, Resolver, TokenizeContext} from 'micromark-util-types'\n */\n\n/**\n * Call all `resolveAll`s.\n *\n * @param {ReadonlyArray<{resolveAll?: Resolver | undefined}>} constructs\n * List of constructs, optionally with `resolveAll`s.\n * @param {Array} events\n * List of events.\n * @param {TokenizeContext} context\n * Context used by `tokenize`.\n * @returns {Array}\n * Changed events.\n */\nexport function resolveAll(constructs, events, context) {\n /** @type {Array} */\n const called = []\n let index = -1\n\n while (++index < constructs.length) {\n const resolve = constructs[index].resolveAll\n\n if (resolve && !called.includes(resolve)) {\n events = resolve(events, context)\n called.push(resolve)\n }\n }\n\n return events\n}\n","/**\n * @import {\n * Construct,\n * Event,\n * Resolver,\n * State,\n * TokenizeContext,\n * Tokenizer,\n * Token\n * } from 'micromark-util-types'\n */\n\nimport { factoryDestination } from 'micromark-factory-destination';\nimport { factoryLabel } from 'micromark-factory-label';\nimport { factoryTitle } from 'micromark-factory-title';\nimport { factoryWhitespace } from 'micromark-factory-whitespace';\nimport { markdownLineEndingOrSpace } from 'micromark-util-character';\nimport { push, splice } from 'micromark-util-chunked';\nimport { normalizeIdentifier } from 'micromark-util-normalize-identifier';\nimport { resolveAll } from 'micromark-util-resolve-all';\n/** @type {Construct} */\nexport const labelEnd = {\n name: 'labelEnd',\n resolveAll: resolveAllLabelEnd,\n resolveTo: resolveToLabelEnd,\n tokenize: tokenizeLabelEnd\n};\n\n/** @type {Construct} */\nconst resourceConstruct = {\n tokenize: tokenizeResource\n};\n/** @type {Construct} */\nconst referenceFullConstruct = {\n tokenize: tokenizeReferenceFull\n};\n/** @type {Construct} */\nconst referenceCollapsedConstruct = {\n tokenize: tokenizeReferenceCollapsed\n};\n\n/** @type {Resolver} */\nfunction resolveAllLabelEnd(events) {\n let index = -1;\n /** @type {Array} */\n const newEvents = [];\n while (++index < events.length) {\n const token = events[index][1];\n newEvents.push(events[index]);\n if (token.type === \"labelImage\" || token.type === \"labelLink\" || token.type === \"labelEnd\") {\n // Remove the marker.\n const offset = token.type === \"labelImage\" ? 4 : 2;\n token.type = \"data\";\n index += offset;\n }\n }\n\n // If the events are equal, we don't have to copy newEvents to events\n if (events.length !== newEvents.length) {\n splice(events, 0, events.length, newEvents);\n }\n return events;\n}\n\n/** @type {Resolver} */\nfunction resolveToLabelEnd(events, context) {\n let index = events.length;\n let offset = 0;\n /** @type {Token} */\n let token;\n /** @type {number | undefined} */\n let open;\n /** @type {number | undefined} */\n let close;\n /** @type {Array} */\n let media;\n\n // Find an opening.\n while (index--) {\n token = events[index][1];\n if (open) {\n // If we see another link, or inactive link label, we’ve been here before.\n if (token.type === \"link\" || token.type === \"labelLink\" && token._inactive) {\n break;\n }\n\n // Mark other link openings as inactive, as we can’t have links in\n // links.\n if (events[index][0] === 'enter' && token.type === \"labelLink\") {\n token._inactive = true;\n }\n } else if (close) {\n if (events[index][0] === 'enter' && (token.type === \"labelImage\" || token.type === \"labelLink\") && !token._balanced) {\n open = index;\n if (token.type !== \"labelLink\") {\n offset = 2;\n break;\n }\n }\n } else if (token.type === \"labelEnd\") {\n close = index;\n }\n }\n const group = {\n type: events[open][1].type === \"labelLink\" ? \"link\" : \"image\",\n start: {\n ...events[open][1].start\n },\n end: {\n ...events[events.length - 1][1].end\n }\n };\n const label = {\n type: \"label\",\n start: {\n ...events[open][1].start\n },\n end: {\n ...events[close][1].end\n }\n };\n const text = {\n type: \"labelText\",\n start: {\n ...events[open + offset + 2][1].end\n },\n end: {\n ...events[close - 2][1].start\n }\n };\n media = [['enter', group, context], ['enter', label, context]];\n\n // Opening marker.\n media = push(media, events.slice(open + 1, open + offset + 3));\n\n // Text open.\n media = push(media, [['enter', text, context]]);\n\n // Always populated by defaults.\n\n // Between.\n media = push(media, resolveAll(context.parser.constructs.insideSpan.null, events.slice(open + offset + 4, close - 3), context));\n\n // Text close, marker close, label close.\n media = push(media, [['exit', text, context], events[close - 2], events[close - 1], ['exit', label, context]]);\n\n // Reference, resource, or so.\n media = push(media, events.slice(close + 1));\n\n // Media close.\n media = push(media, [['exit', group, context]]);\n splice(events, open, events.length, media);\n return events;\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeLabelEnd(effects, ok, nok) {\n const self = this;\n let index = self.events.length;\n /** @type {Token} */\n let labelStart;\n /** @type {boolean} */\n let defined;\n\n // Find an opening.\n while (index--) {\n if ((self.events[index][1].type === \"labelImage\" || self.events[index][1].type === \"labelLink\") && !self.events[index][1]._balanced) {\n labelStart = self.events[index][1];\n break;\n }\n }\n return start;\n\n /**\n * Start of label end.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * > | [a][b] c\n * ^\n * > | [a][] b\n * ^\n * > | [a] b\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // If there is not an okay opening.\n if (!labelStart) {\n return nok(code);\n }\n\n // If the corresponding label (link) start is marked as inactive,\n // it means we’d be wrapping a link, like this:\n //\n // ```markdown\n // > | a [b [c](d) e](f) g.\n // ^\n // ```\n //\n // We can’t have that, so it’s just balanced brackets.\n if (labelStart._inactive) {\n return labelEndNok(code);\n }\n defined = self.parser.defined.includes(normalizeIdentifier(self.sliceSerialize({\n start: labelStart.end,\n end: self.now()\n })));\n effects.enter(\"labelEnd\");\n effects.enter(\"labelMarker\");\n effects.consume(code);\n effects.exit(\"labelMarker\");\n effects.exit(\"labelEnd\");\n return after;\n }\n\n /**\n * After `]`.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * > | [a][b] c\n * ^\n * > | [a][] b\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n // Note: `markdown-rs` also parses GFM footnotes here, which for us is in\n // an extension.\n\n // Resource (`[asd](fgh)`)?\n if (code === 40) {\n return effects.attempt(resourceConstruct, labelEndOk, defined ? labelEndOk : labelEndNok)(code);\n }\n\n // Full (`[asd][fgh]`) or collapsed (`[asd][]`) reference?\n if (code === 91) {\n return effects.attempt(referenceFullConstruct, labelEndOk, defined ? referenceNotFull : labelEndNok)(code);\n }\n\n // Shortcut (`[asd]`) reference?\n return defined ? labelEndOk(code) : labelEndNok(code);\n }\n\n /**\n * After `]`, at `[`, but not at a full reference.\n *\n * > 👉 **Note**: we only get here if the label is defined.\n *\n * ```markdown\n * > | [a][] b\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceNotFull(code) {\n return effects.attempt(referenceCollapsedConstruct, labelEndOk, labelEndNok)(code);\n }\n\n /**\n * Done, we found something.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * > | [a][b] c\n * ^\n * > | [a][] b\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function labelEndOk(code) {\n // Note: `markdown-rs` does a bunch of stuff here.\n return ok(code);\n }\n\n /**\n * Done, it’s nothing.\n *\n * There was an okay opening, but we didn’t match anything.\n *\n * ```markdown\n * > | [a](b c\n * ^\n * > | [a][b c\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function labelEndNok(code) {\n labelStart._balanced = true;\n return nok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeResource(effects, ok, nok) {\n return resourceStart;\n\n /**\n * At a resource.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceStart(code) {\n effects.enter(\"resource\");\n effects.enter(\"resourceMarker\");\n effects.consume(code);\n effects.exit(\"resourceMarker\");\n return resourceBefore;\n }\n\n /**\n * In resource, after `(`, at optional whitespace.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceBefore(code) {\n return markdownLineEndingOrSpace(code) ? factoryWhitespace(effects, resourceOpen)(code) : resourceOpen(code);\n }\n\n /**\n * In resource, after optional whitespace, at `)` or a destination.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceOpen(code) {\n if (code === 41) {\n return resourceEnd(code);\n }\n return factoryDestination(effects, resourceDestinationAfter, resourceDestinationMissing, \"resourceDestination\", \"resourceDestinationLiteral\", \"resourceDestinationLiteralMarker\", \"resourceDestinationRaw\", \"resourceDestinationString\", 32)(code);\n }\n\n /**\n * In resource, after destination, at optional whitespace.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceDestinationAfter(code) {\n return markdownLineEndingOrSpace(code) ? factoryWhitespace(effects, resourceBetween)(code) : resourceEnd(code);\n }\n\n /**\n * At invalid destination.\n *\n * ```markdown\n * > | [a](<<) b\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceDestinationMissing(code) {\n return nok(code);\n }\n\n /**\n * In resource, after destination and whitespace, at `(` or title.\n *\n * ```markdown\n * > | [a](b ) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceBetween(code) {\n if (code === 34 || code === 39 || code === 40) {\n return factoryTitle(effects, resourceTitleAfter, nok, \"resourceTitle\", \"resourceTitleMarker\", \"resourceTitleString\")(code);\n }\n return resourceEnd(code);\n }\n\n /**\n * In resource, after title, at optional whitespace.\n *\n * ```markdown\n * > | [a](b \"c\") d\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceTitleAfter(code) {\n return markdownLineEndingOrSpace(code) ? factoryWhitespace(effects, resourceEnd)(code) : resourceEnd(code);\n }\n\n /**\n * In resource, at `)`.\n *\n * ```markdown\n * > | [a](b) d\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceEnd(code) {\n if (code === 41) {\n effects.enter(\"resourceMarker\");\n effects.consume(code);\n effects.exit(\"resourceMarker\");\n effects.exit(\"resource\");\n return ok;\n }\n return nok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeReferenceFull(effects, ok, nok) {\n const self = this;\n return referenceFull;\n\n /**\n * In a reference (full), at the `[`.\n *\n * ```markdown\n * > | [a][b] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceFull(code) {\n return factoryLabel.call(self, effects, referenceFullAfter, referenceFullMissing, \"reference\", \"referenceMarker\", \"referenceString\")(code);\n }\n\n /**\n * In a reference (full), after `]`.\n *\n * ```markdown\n * > | [a][b] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceFullAfter(code) {\n return self.parser.defined.includes(normalizeIdentifier(self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1))) ? ok(code) : nok(code);\n }\n\n /**\n * In reference (full) that was missing.\n *\n * ```markdown\n * > | [a][b d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceFullMissing(code) {\n return nok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeReferenceCollapsed(effects, ok, nok) {\n return referenceCollapsedStart;\n\n /**\n * In reference (collapsed), at `[`.\n *\n * > 👉 **Note**: we only get here if the label is defined.\n *\n * ```markdown\n * > | [a][] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceCollapsedStart(code) {\n // We only attempt a collapsed label if there’s a `[`.\n\n effects.enter(\"reference\");\n effects.enter(\"referenceMarker\");\n effects.consume(code);\n effects.exit(\"referenceMarker\");\n return referenceCollapsedOpen;\n }\n\n /**\n * In reference (collapsed), at `]`.\n *\n * > 👉 **Note**: we only get here if the label is defined.\n *\n * ```markdown\n * > | [a][] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceCollapsedOpen(code) {\n if (code === 93) {\n effects.enter(\"referenceMarker\");\n effects.consume(code);\n effects.exit(\"referenceMarker\");\n effects.exit(\"reference\");\n return ok;\n }\n return nok(code);\n }\n}","/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { labelEnd } from './label-end.js';\n\n/** @type {Construct} */\nexport const labelStartImage = {\n name: 'labelStartImage',\n resolveAll: labelEnd.resolveAll,\n tokenize: tokenizeLabelStartImage\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeLabelStartImage(effects, ok, nok) {\n const self = this;\n return start;\n\n /**\n * Start of label (image) start.\n *\n * ```markdown\n * > | a ![b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"labelImage\");\n effects.enter(\"labelImageMarker\");\n effects.consume(code);\n effects.exit(\"labelImageMarker\");\n return open;\n }\n\n /**\n * After `!`, at `[`.\n *\n * ```markdown\n * > | a ![b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (code === 91) {\n effects.enter(\"labelMarker\");\n effects.consume(code);\n effects.exit(\"labelMarker\");\n effects.exit(\"labelImage\");\n return after;\n }\n return nok(code);\n }\n\n /**\n * After `![`.\n *\n * ```markdown\n * > | a ![b] c\n * ^\n * ```\n *\n * This is needed in because, when GFM footnotes are enabled, images never\n * form when started with a `^`.\n * Instead, links form:\n *\n * ```markdown\n * ![^a](b)\n *\n * ![^a][b]\n *\n * [b]: c\n * ```\n *\n * ```html\n *

!^a

\n *

!^a

\n * ```\n *\n * @type {State}\n */\n function after(code) {\n // To do: use a new field to do this, this is still needed for\n // `micromark-extension-gfm-footnote`, but the `label-start-link`\n // behavior isn’t.\n // Hidden footnotes hook.\n /* c8 ignore next 3 */\n return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs ? nok(code) : ok(code);\n }\n}","/**\n * @import {Code} from 'micromark-util-types'\n */\n\nimport { markdownLineEndingOrSpace, unicodePunctuation, unicodeWhitespace } from 'micromark-util-character';\n/**\n * Classify whether a code represents whitespace, punctuation, or something\n * else.\n *\n * Used for attention (emphasis, strong), whose sequences can open or close\n * based on the class of surrounding characters.\n *\n * > 👉 **Note**: eof (`null`) is seen as whitespace.\n *\n * @param {Code} code\n * Code.\n * @returns {typeof constants.characterGroupWhitespace | typeof constants.characterGroupPunctuation | undefined}\n * Group.\n */\nexport function classifyCharacter(code) {\n if (code === null || markdownLineEndingOrSpace(code) || unicodeWhitespace(code)) {\n return 1;\n }\n if (unicodePunctuation(code)) {\n return 2;\n }\n}","/**\n * @import {\n * Code,\n * Construct,\n * Event,\n * Point,\n * Resolver,\n * State,\n * TokenizeContext,\n * Tokenizer,\n * Token\n * } from 'micromark-util-types'\n */\n\nimport { push, splice } from 'micromark-util-chunked';\nimport { classifyCharacter } from 'micromark-util-classify-character';\nimport { resolveAll } from 'micromark-util-resolve-all';\n/** @type {Construct} */\nexport const attention = {\n name: 'attention',\n resolveAll: resolveAllAttention,\n tokenize: tokenizeAttention\n};\n\n/**\n * Take all events and resolve attention to emphasis or strong.\n *\n * @type {Resolver}\n */\n// eslint-disable-next-line complexity\nfunction resolveAllAttention(events, context) {\n let index = -1;\n /** @type {number} */\n let open;\n /** @type {Token} */\n let group;\n /** @type {Token} */\n let text;\n /** @type {Token} */\n let openingSequence;\n /** @type {Token} */\n let closingSequence;\n /** @type {number} */\n let use;\n /** @type {Array} */\n let nextEvents;\n /** @type {number} */\n let offset;\n\n // Walk through all events.\n //\n // Note: performance of this is fine on an mb of normal markdown, but it’s\n // a bottleneck for malicious stuff.\n while (++index < events.length) {\n // Find a token that can close.\n if (events[index][0] === 'enter' && events[index][1].type === 'attentionSequence' && events[index][1]._close) {\n open = index;\n\n // Now walk back to find an opener.\n while (open--) {\n // Find a token that can open the closer.\n if (events[open][0] === 'exit' && events[open][1].type === 'attentionSequence' && events[open][1]._open &&\n // If the markers are the same:\n context.sliceSerialize(events[open][1]).charCodeAt(0) === context.sliceSerialize(events[index][1]).charCodeAt(0)) {\n // If the opening can close or the closing can open,\n // and the close size *is not* a multiple of three,\n // but the sum of the opening and closing size *is* multiple of three,\n // then don’t match.\n if ((events[open][1]._close || events[index][1]._open) && (events[index][1].end.offset - events[index][1].start.offset) % 3 && !((events[open][1].end.offset - events[open][1].start.offset + events[index][1].end.offset - events[index][1].start.offset) % 3)) {\n continue;\n }\n\n // Number of markers to use from the sequence.\n use = events[open][1].end.offset - events[open][1].start.offset > 1 && events[index][1].end.offset - events[index][1].start.offset > 1 ? 2 : 1;\n const start = {\n ...events[open][1].end\n };\n const end = {\n ...events[index][1].start\n };\n movePoint(start, -use);\n movePoint(end, use);\n openingSequence = {\n type: use > 1 ? \"strongSequence\" : \"emphasisSequence\",\n start,\n end: {\n ...events[open][1].end\n }\n };\n closingSequence = {\n type: use > 1 ? \"strongSequence\" : \"emphasisSequence\",\n start: {\n ...events[index][1].start\n },\n end\n };\n text = {\n type: use > 1 ? \"strongText\" : \"emphasisText\",\n start: {\n ...events[open][1].end\n },\n end: {\n ...events[index][1].start\n }\n };\n group = {\n type: use > 1 ? \"strong\" : \"emphasis\",\n start: {\n ...openingSequence.start\n },\n end: {\n ...closingSequence.end\n }\n };\n events[open][1].end = {\n ...openingSequence.start\n };\n events[index][1].start = {\n ...closingSequence.end\n };\n nextEvents = [];\n\n // If there are more markers in the opening, add them before.\n if (events[open][1].end.offset - events[open][1].start.offset) {\n nextEvents = push(nextEvents, [['enter', events[open][1], context], ['exit', events[open][1], context]]);\n }\n\n // Opening.\n nextEvents = push(nextEvents, [['enter', group, context], ['enter', openingSequence, context], ['exit', openingSequence, context], ['enter', text, context]]);\n\n // Always populated by defaults.\n\n // Between.\n nextEvents = push(nextEvents, resolveAll(context.parser.constructs.insideSpan.null, events.slice(open + 1, index), context));\n\n // Closing.\n nextEvents = push(nextEvents, [['exit', text, context], ['enter', closingSequence, context], ['exit', closingSequence, context], ['exit', group, context]]);\n\n // If there are more markers in the closing, add them after.\n if (events[index][1].end.offset - events[index][1].start.offset) {\n offset = 2;\n nextEvents = push(nextEvents, [['enter', events[index][1], context], ['exit', events[index][1], context]]);\n } else {\n offset = 0;\n }\n splice(events, open - 1, index - open + 3, nextEvents);\n index = open + nextEvents.length - offset - 2;\n break;\n }\n }\n }\n }\n\n // Remove remaining sequences.\n index = -1;\n while (++index < events.length) {\n if (events[index][1].type === 'attentionSequence') {\n events[index][1].type = 'data';\n }\n }\n return events;\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeAttention(effects, ok) {\n const attentionMarkers = this.parser.constructs.attentionMarkers.null;\n const previous = this.previous;\n const before = classifyCharacter(previous);\n\n /** @type {NonNullable} */\n let marker;\n return start;\n\n /**\n * Before a sequence.\n *\n * ```markdown\n * > | **\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n marker = code;\n effects.enter('attentionSequence');\n return inside(code);\n }\n\n /**\n * In a sequence.\n *\n * ```markdown\n * > | **\n * ^^\n * ```\n *\n * @type {State}\n */\n function inside(code) {\n if (code === marker) {\n effects.consume(code);\n return inside;\n }\n const token = effects.exit('attentionSequence');\n\n // To do: next major: move this to resolver, just like `markdown-rs`.\n const after = classifyCharacter(code);\n\n // Always populated by defaults.\n\n const open = !after || after === 2 && before || attentionMarkers.includes(code);\n const close = !before || before === 2 && after || attentionMarkers.includes(previous);\n token._open = Boolean(marker === 42 ? open : open && (before || !close));\n token._close = Boolean(marker === 42 ? close : close && (after || !open));\n return ok(code);\n }\n}\n\n/**\n * Move a point a bit.\n *\n * Note: `move` only works inside lines! It’s not possible to move past other\n * chunks (replacement characters, tabs, or line endings).\n *\n * @param {Point} point\n * Point.\n * @param {number} offset\n * Amount to move.\n * @returns {undefined}\n * Nothing.\n */\nfunction movePoint(point, offset) {\n point.column += offset;\n point.offset += offset;\n point._bufferIndex += offset;\n}","/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { asciiAlphanumeric, asciiAlpha, asciiAtext, asciiControl } from 'micromark-util-character';\n/** @type {Construct} */\nexport const autolink = {\n name: 'autolink',\n tokenize: tokenizeAutolink\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeAutolink(effects, ok, nok) {\n let size = 0;\n return start;\n\n /**\n * Start of an autolink.\n *\n * ```markdown\n * > | ab\n * ^\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"autolink\");\n effects.enter(\"autolinkMarker\");\n effects.consume(code);\n effects.exit(\"autolinkMarker\");\n effects.enter(\"autolinkProtocol\");\n return open;\n }\n\n /**\n * After `<`, at protocol or atext.\n *\n * ```markdown\n * > | ab\n * ^\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (asciiAlpha(code)) {\n effects.consume(code);\n return schemeOrEmailAtext;\n }\n if (code === 64) {\n return nok(code);\n }\n return emailAtext(code);\n }\n\n /**\n * At second byte of protocol or atext.\n *\n * ```markdown\n * > | ab\n * ^\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function schemeOrEmailAtext(code) {\n // ASCII alphanumeric and `+`, `-`, and `.`.\n if (code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)) {\n // Count the previous alphabetical from `open` too.\n size = 1;\n return schemeInsideOrEmailAtext(code);\n }\n return emailAtext(code);\n }\n\n /**\n * In ambiguous protocol or atext.\n *\n * ```markdown\n * > | ab\n * ^\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function schemeInsideOrEmailAtext(code) {\n if (code === 58) {\n effects.consume(code);\n size = 0;\n return urlInside;\n }\n\n // ASCII alphanumeric and `+`, `-`, and `.`.\n if ((code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)) && size++ < 32) {\n effects.consume(code);\n return schemeInsideOrEmailAtext;\n }\n size = 0;\n return emailAtext(code);\n }\n\n /**\n * After protocol, in URL.\n *\n * ```markdown\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function urlInside(code) {\n if (code === 62) {\n effects.exit(\"autolinkProtocol\");\n effects.enter(\"autolinkMarker\");\n effects.consume(code);\n effects.exit(\"autolinkMarker\");\n effects.exit(\"autolink\");\n return ok;\n }\n\n // ASCII control, space, or `<`.\n if (code === null || code === 32 || code === 60 || asciiControl(code)) {\n return nok(code);\n }\n effects.consume(code);\n return urlInside;\n }\n\n /**\n * In email atext.\n *\n * ```markdown\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function emailAtext(code) {\n if (code === 64) {\n effects.consume(code);\n return emailAtSignOrDot;\n }\n if (asciiAtext(code)) {\n effects.consume(code);\n return emailAtext;\n }\n return nok(code);\n }\n\n /**\n * In label, after at-sign or dot.\n *\n * ```markdown\n * > | ab\n * ^ ^\n * ```\n *\n * @type {State}\n */\n function emailAtSignOrDot(code) {\n return asciiAlphanumeric(code) ? emailLabel(code) : nok(code);\n }\n\n /**\n * In label, where `.` and `>` are allowed.\n *\n * ```markdown\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function emailLabel(code) {\n if (code === 46) {\n effects.consume(code);\n size = 0;\n return emailAtSignOrDot;\n }\n if (code === 62) {\n // Exit, then change the token type.\n effects.exit(\"autolinkProtocol\").type = \"autolinkEmail\";\n effects.enter(\"autolinkMarker\");\n effects.consume(code);\n effects.exit(\"autolinkMarker\");\n effects.exit(\"autolink\");\n return ok;\n }\n return emailValue(code);\n }\n\n /**\n * In label, where `.` and `>` are *not* allowed.\n *\n * Though, this is also used in `emailLabel` to parse other values.\n *\n * ```markdown\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function emailValue(code) {\n // ASCII alphanumeric or `-`.\n if ((code === 45 || asciiAlphanumeric(code)) && size++ < 63) {\n const next = code === 45 ? emailValue : emailLabel;\n effects.consume(code);\n return next;\n }\n return nok(code);\n }\n}","/**\n * @import {\n * Code,\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { asciiAlphanumeric, asciiAlpha, markdownLineEndingOrSpace, markdownLineEnding, markdownSpace } from 'micromark-util-character';\n/** @type {Construct} */\nexport const htmlText = {\n name: 'htmlText',\n tokenize: tokenizeHtmlText\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeHtmlText(effects, ok, nok) {\n const self = this;\n /** @type {NonNullable | undefined} */\n let marker;\n /** @type {number} */\n let index;\n /** @type {State} */\n let returnState;\n return start;\n\n /**\n * Start of HTML (text).\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"htmlText\");\n effects.enter(\"htmlTextData\");\n effects.consume(code);\n return open;\n }\n\n /**\n * After `<`, at tag name or other stuff.\n *\n * ```markdown\n * > | a c\n * ^\n * > | a c\n * ^\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (code === 33) {\n effects.consume(code);\n return declarationOpen;\n }\n if (code === 47) {\n effects.consume(code);\n return tagCloseStart;\n }\n if (code === 63) {\n effects.consume(code);\n return instruction;\n }\n\n // ASCII alphabetical.\n if (asciiAlpha(code)) {\n effects.consume(code);\n return tagOpen;\n }\n return nok(code);\n }\n\n /**\n * After ` | a c\n * ^\n * > | a c\n * ^\n * > | a &<]]> c\n * ^\n * ```\n *\n * @type {State}\n */\n function declarationOpen(code) {\n if (code === 45) {\n effects.consume(code);\n return commentOpenInside;\n }\n if (code === 91) {\n effects.consume(code);\n index = 0;\n return cdataOpenInside;\n }\n if (asciiAlpha(code)) {\n effects.consume(code);\n return declaration;\n }\n return nok(code);\n }\n\n /**\n * In a comment, after ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function commentOpenInside(code) {\n if (code === 45) {\n effects.consume(code);\n return commentEnd;\n }\n return nok(code);\n }\n\n /**\n * In comment.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function comment(code) {\n if (code === null) {\n return nok(code);\n }\n if (code === 45) {\n effects.consume(code);\n return commentClose;\n }\n if (markdownLineEnding(code)) {\n returnState = comment;\n return lineEndingBefore(code);\n }\n effects.consume(code);\n return comment;\n }\n\n /**\n * In comment, after `-`.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function commentClose(code) {\n if (code === 45) {\n effects.consume(code);\n return commentEnd;\n }\n return comment(code);\n }\n\n /**\n * In comment, after `--`.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function commentEnd(code) {\n return code === 62 ? end(code) : code === 45 ? commentClose(code) : comment(code);\n }\n\n /**\n * After ` | a &<]]> b\n * ^^^^^^\n * ```\n *\n * @type {State}\n */\n function cdataOpenInside(code) {\n const value = \"CDATA[\";\n if (code === value.charCodeAt(index++)) {\n effects.consume(code);\n return index === value.length ? cdata : cdataOpenInside;\n }\n return nok(code);\n }\n\n /**\n * In CDATA.\n *\n * ```markdown\n * > | a &<]]> b\n * ^^^\n * ```\n *\n * @type {State}\n */\n function cdata(code) {\n if (code === null) {\n return nok(code);\n }\n if (code === 93) {\n effects.consume(code);\n return cdataClose;\n }\n if (markdownLineEnding(code)) {\n returnState = cdata;\n return lineEndingBefore(code);\n }\n effects.consume(code);\n return cdata;\n }\n\n /**\n * In CDATA, after `]`, at another `]`.\n *\n * ```markdown\n * > | a &<]]> b\n * ^\n * ```\n *\n * @type {State}\n */\n function cdataClose(code) {\n if (code === 93) {\n effects.consume(code);\n return cdataEnd;\n }\n return cdata(code);\n }\n\n /**\n * In CDATA, after `]]`, at `>`.\n *\n * ```markdown\n * > | a &<]]> b\n * ^\n * ```\n *\n * @type {State}\n */\n function cdataEnd(code) {\n if (code === 62) {\n return end(code);\n }\n if (code === 93) {\n effects.consume(code);\n return cdataEnd;\n }\n return cdata(code);\n }\n\n /**\n * In declaration.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function declaration(code) {\n if (code === null || code === 62) {\n return end(code);\n }\n if (markdownLineEnding(code)) {\n returnState = declaration;\n return lineEndingBefore(code);\n }\n effects.consume(code);\n return declaration;\n }\n\n /**\n * In instruction.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function instruction(code) {\n if (code === null) {\n return nok(code);\n }\n if (code === 63) {\n effects.consume(code);\n return instructionClose;\n }\n if (markdownLineEnding(code)) {\n returnState = instruction;\n return lineEndingBefore(code);\n }\n effects.consume(code);\n return instruction;\n }\n\n /**\n * In instruction, after `?`, at `>`.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function instructionClose(code) {\n return code === 62 ? end(code) : instruction(code);\n }\n\n /**\n * After ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagCloseStart(code) {\n // ASCII alphabetical.\n if (asciiAlpha(code)) {\n effects.consume(code);\n return tagClose;\n }\n return nok(code);\n }\n\n /**\n * After ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagClose(code) {\n // ASCII alphanumerical and `-`.\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code);\n return tagClose;\n }\n return tagCloseBetween(code);\n }\n\n /**\n * In closing tag, after tag name.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagCloseBetween(code) {\n if (markdownLineEnding(code)) {\n returnState = tagCloseBetween;\n return lineEndingBefore(code);\n }\n if (markdownSpace(code)) {\n effects.consume(code);\n return tagCloseBetween;\n }\n return end(code);\n }\n\n /**\n * After ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpen(code) {\n // ASCII alphanumerical and `-`.\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code);\n return tagOpen;\n }\n if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code);\n }\n return nok(code);\n }\n\n /**\n * In opening tag, after tag name.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenBetween(code) {\n if (code === 47) {\n effects.consume(code);\n return end;\n }\n\n // ASCII alphabetical and `:` and `_`.\n if (code === 58 || code === 95 || asciiAlpha(code)) {\n effects.consume(code);\n return tagOpenAttributeName;\n }\n if (markdownLineEnding(code)) {\n returnState = tagOpenBetween;\n return lineEndingBefore(code);\n }\n if (markdownSpace(code)) {\n effects.consume(code);\n return tagOpenBetween;\n }\n return end(code);\n }\n\n /**\n * In attribute name.\n *\n * ```markdown\n * > | a d\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeName(code) {\n // ASCII alphabetical and `-`, `.`, `:`, and `_`.\n if (code === 45 || code === 46 || code === 58 || code === 95 || asciiAlphanumeric(code)) {\n effects.consume(code);\n return tagOpenAttributeName;\n }\n return tagOpenAttributeNameAfter(code);\n }\n\n /**\n * After attribute name, before initializer, the end of the tag, or\n * whitespace.\n *\n * ```markdown\n * > | a d\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeNameAfter(code) {\n if (code === 61) {\n effects.consume(code);\n return tagOpenAttributeValueBefore;\n }\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeNameAfter;\n return lineEndingBefore(code);\n }\n if (markdownSpace(code)) {\n effects.consume(code);\n return tagOpenAttributeNameAfter;\n }\n return tagOpenBetween(code);\n }\n\n /**\n * Before unquoted, double quoted, or single quoted attribute value, allowing\n * whitespace.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueBefore(code) {\n if (code === null || code === 60 || code === 61 || code === 62 || code === 96) {\n return nok(code);\n }\n if (code === 34 || code === 39) {\n effects.consume(code);\n marker = code;\n return tagOpenAttributeValueQuoted;\n }\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueBefore;\n return lineEndingBefore(code);\n }\n if (markdownSpace(code)) {\n effects.consume(code);\n return tagOpenAttributeValueBefore;\n }\n effects.consume(code);\n return tagOpenAttributeValueUnquoted;\n }\n\n /**\n * In double or single quoted attribute value.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueQuoted(code) {\n if (code === marker) {\n effects.consume(code);\n marker = undefined;\n return tagOpenAttributeValueQuotedAfter;\n }\n if (code === null) {\n return nok(code);\n }\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueQuoted;\n return lineEndingBefore(code);\n }\n effects.consume(code);\n return tagOpenAttributeValueQuoted;\n }\n\n /**\n * In unquoted attribute value.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueUnquoted(code) {\n if (code === null || code === 34 || code === 39 || code === 60 || code === 61 || code === 96) {\n return nok(code);\n }\n if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code);\n }\n effects.consume(code);\n return tagOpenAttributeValueUnquoted;\n }\n\n /**\n * After double or single quoted attribute value, before whitespace or the end\n * of the tag.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueQuotedAfter(code) {\n if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code);\n }\n return nok(code);\n }\n\n /**\n * In certain circumstances of a tag where only an `>` is allowed.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function end(code) {\n if (code === 62) {\n effects.consume(code);\n effects.exit(\"htmlTextData\");\n effects.exit(\"htmlText\");\n return ok;\n }\n return nok(code);\n }\n\n /**\n * At eol.\n *\n * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about\n * > empty tokens.\n *\n * ```markdown\n * > | a \n * ```\n *\n * @type {State}\n */\n function lineEndingBefore(code) {\n effects.exit(\"htmlTextData\");\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return lineEndingAfter;\n }\n\n /**\n * After eol, at optional whitespace.\n *\n * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about\n * > empty tokens.\n *\n * ```markdown\n * | a \n * ^\n * ```\n *\n * @type {State}\n */\n function lineEndingAfter(code) {\n // Always populated by defaults.\n\n return markdownSpace(code) ? factorySpace(effects, lineEndingAfterPrefix, \"linePrefix\", self.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4)(code) : lineEndingAfterPrefix(code);\n }\n\n /**\n * After eol, after optional whitespace.\n *\n * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about\n * > empty tokens.\n *\n * ```markdown\n * | a \n * ^\n * ```\n *\n * @type {State}\n */\n function lineEndingAfterPrefix(code) {\n effects.enter(\"htmlTextData\");\n return returnState(code);\n }\n}","/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { labelEnd } from './label-end.js';\n\n/** @type {Construct} */\nexport const labelStartLink = {\n name: 'labelStartLink',\n resolveAll: labelEnd.resolveAll,\n tokenize: tokenizeLabelStartLink\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeLabelStartLink(effects, ok, nok) {\n const self = this;\n return start;\n\n /**\n * Start of label (link) start.\n *\n * ```markdown\n * > | a [b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"labelLink\");\n effects.enter(\"labelMarker\");\n effects.consume(code);\n effects.exit(\"labelMarker\");\n effects.exit(\"labelLink\");\n return after;\n }\n\n /** @type {State} */\n function after(code) {\n // To do: this isn’t needed in `micromark-extension-gfm-footnote`,\n // remove.\n // Hidden footnotes hook.\n /* c8 ignore next 3 */\n return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs ? nok(code) : ok(code);\n }\n}","/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { markdownLineEnding } from 'micromark-util-character';\n/** @type {Construct} */\nexport const hardBreakEscape = {\n name: 'hardBreakEscape',\n tokenize: tokenizeHardBreakEscape\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeHardBreakEscape(effects, ok, nok) {\n return start;\n\n /**\n * Start of a hard break (escape).\n *\n * ```markdown\n * > | a\\\n * ^\n * | b\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"hardBreakEscape\");\n effects.consume(code);\n return after;\n }\n\n /**\n * After `\\`, at eol.\n *\n * ```markdown\n * > | a\\\n * ^\n * | b\n * ```\n *\n * @type {State}\n */\n function after(code) {\n if (markdownLineEnding(code)) {\n effects.exit(\"hardBreakEscape\");\n return ok(code);\n }\n return nok(code);\n }\n}","/**\n * @import {\n * Construct,\n * Previous,\n * Resolver,\n * State,\n * TokenizeContext,\n * Tokenizer,\n * Token\n * } from 'micromark-util-types'\n */\n\nimport { markdownLineEnding } from 'micromark-util-character';\n/** @type {Construct} */\nexport const codeText = {\n name: 'codeText',\n previous,\n resolve: resolveCodeText,\n tokenize: tokenizeCodeText\n};\n\n// To do: next major: don’t resolve, like `markdown-rs`.\n/** @type {Resolver} */\nfunction resolveCodeText(events) {\n let tailExitIndex = events.length - 4;\n let headEnterIndex = 3;\n /** @type {number} */\n let index;\n /** @type {number | undefined} */\n let enter;\n\n // If we start and end with an EOL or a space.\n if ((events[headEnterIndex][1].type === \"lineEnding\" || events[headEnterIndex][1].type === 'space') && (events[tailExitIndex][1].type === \"lineEnding\" || events[tailExitIndex][1].type === 'space')) {\n index = headEnterIndex;\n\n // And we have data.\n while (++index < tailExitIndex) {\n if (events[index][1].type === \"codeTextData\") {\n // Then we have padding.\n events[headEnterIndex][1].type = \"codeTextPadding\";\n events[tailExitIndex][1].type = \"codeTextPadding\";\n headEnterIndex += 2;\n tailExitIndex -= 2;\n break;\n }\n }\n }\n\n // Merge adjacent spaces and data.\n index = headEnterIndex - 1;\n tailExitIndex++;\n while (++index <= tailExitIndex) {\n if (enter === undefined) {\n if (index !== tailExitIndex && events[index][1].type !== \"lineEnding\") {\n enter = index;\n }\n } else if (index === tailExitIndex || events[index][1].type === \"lineEnding\") {\n events[enter][1].type = \"codeTextData\";\n if (index !== enter + 2) {\n events[enter][1].end = events[index - 1][1].end;\n events.splice(enter + 2, index - enter - 2);\n tailExitIndex -= index - enter - 2;\n index = enter + 2;\n }\n enter = undefined;\n }\n }\n return events;\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Previous}\n */\nfunction previous(code) {\n // If there is a previous code, there will always be a tail.\n return code !== 96 || this.events[this.events.length - 1][1].type === \"characterEscape\";\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeCodeText(effects, ok, nok) {\n const self = this;\n let sizeOpen = 0;\n /** @type {number} */\n let size;\n /** @type {Token} */\n let token;\n return start;\n\n /**\n * Start of code (text).\n *\n * ```markdown\n * > | `a`\n * ^\n * > | \\`a`\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"codeText\");\n effects.enter(\"codeTextSequence\");\n return sequenceOpen(code);\n }\n\n /**\n * In opening sequence.\n *\n * ```markdown\n * > | `a`\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceOpen(code) {\n if (code === 96) {\n effects.consume(code);\n sizeOpen++;\n return sequenceOpen;\n }\n effects.exit(\"codeTextSequence\");\n return between(code);\n }\n\n /**\n * Between something and something else.\n *\n * ```markdown\n * > | `a`\n * ^^\n * ```\n *\n * @type {State}\n */\n function between(code) {\n // EOF.\n if (code === null) {\n return nok(code);\n }\n\n // To do: next major: don’t do spaces in resolve, but when compiling,\n // like `markdown-rs`.\n // Tabs don’t work, and virtual spaces don’t make sense.\n if (code === 32) {\n effects.enter('space');\n effects.consume(code);\n effects.exit('space');\n return between;\n }\n\n // Closing fence? Could also be data.\n if (code === 96) {\n token = effects.enter(\"codeTextSequence\");\n size = 0;\n return sequenceClose(code);\n }\n if (markdownLineEnding(code)) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return between;\n }\n\n // Data.\n effects.enter(\"codeTextData\");\n return data(code);\n }\n\n /**\n * In data.\n *\n * ```markdown\n * > | `a`\n * ^\n * ```\n *\n * @type {State}\n */\n function data(code) {\n if (code === null || code === 32 || code === 96 || markdownLineEnding(code)) {\n effects.exit(\"codeTextData\");\n return between(code);\n }\n effects.consume(code);\n return data;\n }\n\n /**\n * In closing sequence.\n *\n * ```markdown\n * > | `a`\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceClose(code) {\n // More.\n if (code === 96) {\n effects.consume(code);\n size++;\n return sequenceClose;\n }\n\n // Done!\n if (size === sizeOpen) {\n effects.exit(\"codeTextSequence\");\n effects.exit(\"codeText\");\n return ok(code);\n }\n\n // More or less accents: mark as data.\n token.type = \"codeTextData\";\n return data(code);\n }\n}","/**\n * @import {Extension} from 'micromark-util-types'\n */\n\nimport { attention, autolink, blockQuote, characterEscape, characterReference, codeFenced, codeIndented, codeText, definition, hardBreakEscape, headingAtx, htmlFlow, htmlText, labelEnd, labelStartImage, labelStartLink, lineEnding, list, setextUnderline, thematicBreak } from 'micromark-core-commonmark';\nimport { resolver as resolveText } from './initialize/text.js';\n\n/** @satisfies {Extension['document']} */\nexport const document = {\n [42]: list,\n [43]: list,\n [45]: list,\n [48]: list,\n [49]: list,\n [50]: list,\n [51]: list,\n [52]: list,\n [53]: list,\n [54]: list,\n [55]: list,\n [56]: list,\n [57]: list,\n [62]: blockQuote\n};\n\n/** @satisfies {Extension['contentInitial']} */\nexport const contentInitial = {\n [91]: definition\n};\n\n/** @satisfies {Extension['flowInitial']} */\nexport const flowInitial = {\n [-2]: codeIndented,\n [-1]: codeIndented,\n [32]: codeIndented\n};\n\n/** @satisfies {Extension['flow']} */\nexport const flow = {\n [35]: headingAtx,\n [42]: thematicBreak,\n [45]: [setextUnderline, thematicBreak],\n [60]: htmlFlow,\n [61]: setextUnderline,\n [95]: thematicBreak,\n [96]: codeFenced,\n [126]: codeFenced\n};\n\n/** @satisfies {Extension['string']} */\nexport const string = {\n [38]: characterReference,\n [92]: characterEscape\n};\n\n/** @satisfies {Extension['text']} */\nexport const text = {\n [-5]: lineEnding,\n [-4]: lineEnding,\n [-3]: lineEnding,\n [33]: labelStartImage,\n [38]: characterReference,\n [42]: attention,\n [60]: [autolink, htmlText],\n [91]: labelStartLink,\n [92]: [hardBreakEscape, characterEscape],\n [93]: labelEnd,\n [95]: attention,\n [96]: codeText\n};\n\n/** @satisfies {Extension['insideSpan']} */\nexport const insideSpan = {\n null: [attention, resolveText]\n};\n\n/** @satisfies {Extension['attentionMarkers']} */\nexport const attentionMarkers = {\n null: [42, 95]\n};\n\n/** @satisfies {Extension['disable']} */\nexport const disable = {\n null: []\n};","/**\n * @import {\n * Chunk,\n * Code,\n * ConstructRecord,\n * Construct,\n * Effects,\n * InitialConstruct,\n * ParseContext,\n * Point,\n * State,\n * TokenizeContext,\n * Token\n * } from 'micromark-util-types'\n */\n\n/**\n * @callback Restore\n * Restore the state.\n * @returns {undefined}\n * Nothing.\n *\n * @typedef Info\n * Info.\n * @property {Restore} restore\n * Restore.\n * @property {number} from\n * From.\n *\n * @callback ReturnHandle\n * Handle a successful run.\n * @param {Construct} construct\n * Construct.\n * @param {Info} info\n * Info.\n * @returns {undefined}\n * Nothing.\n */\n\nimport { markdownLineEnding } from 'micromark-util-character';\nimport { push, splice } from 'micromark-util-chunked';\nimport { resolveAll } from 'micromark-util-resolve-all';\n/**\n * Create a tokenizer.\n * Tokenizers deal with one type of data (e.g., containers, flow, text).\n * The parser is the object dealing with it all.\n * `initialize` works like other constructs, except that only its `tokenize`\n * function is used, in which case it doesn’t receive an `ok` or `nok`.\n * `from` can be given to set the point before the first character, although\n * when further lines are indented, they must be set with `defineSkip`.\n *\n * @param {ParseContext} parser\n * Parser.\n * @param {InitialConstruct} initialize\n * Construct.\n * @param {Omit | undefined} [from]\n * Point (optional).\n * @returns {TokenizeContext}\n * Context.\n */\nexport function createTokenizer(parser, initialize, from) {\n /** @type {Point} */\n let point = {\n _bufferIndex: -1,\n _index: 0,\n line: from && from.line || 1,\n column: from && from.column || 1,\n offset: from && from.offset || 0\n };\n /** @type {Record} */\n const columnStart = {};\n /** @type {Array} */\n const resolveAllConstructs = [];\n /** @type {Array} */\n let chunks = [];\n /** @type {Array} */\n let stack = [];\n /** @type {boolean | undefined} */\n let consumed = true;\n\n /**\n * Tools used for tokenizing.\n *\n * @type {Effects}\n */\n const effects = {\n attempt: constructFactory(onsuccessfulconstruct),\n check: constructFactory(onsuccessfulcheck),\n consume,\n enter,\n exit,\n interrupt: constructFactory(onsuccessfulcheck, {\n interrupt: true\n })\n };\n\n /**\n * State and tools for resolving and serializing.\n *\n * @type {TokenizeContext}\n */\n const context = {\n code: null,\n containerState: {},\n defineSkip,\n events: [],\n now,\n parser,\n previous: null,\n sliceSerialize,\n sliceStream,\n write\n };\n\n /**\n * The state function.\n *\n * @type {State | undefined}\n */\n let state = initialize.tokenize.call(context, effects);\n\n /**\n * Track which character we expect to be consumed, to catch bugs.\n *\n * @type {Code}\n */\n let expectedCode;\n if (initialize.resolveAll) {\n resolveAllConstructs.push(initialize);\n }\n return context;\n\n /** @type {TokenizeContext['write']} */\n function write(slice) {\n chunks = push(chunks, slice);\n main();\n\n // Exit if we’re not done, resolve might change stuff.\n if (chunks[chunks.length - 1] !== null) {\n return [];\n }\n addResult(initialize, 0);\n\n // Otherwise, resolve, and exit.\n context.events = resolveAll(resolveAllConstructs, context.events, context);\n return context.events;\n }\n\n //\n // Tools.\n //\n\n /** @type {TokenizeContext['sliceSerialize']} */\n function sliceSerialize(token, expandTabs) {\n return serializeChunks(sliceStream(token), expandTabs);\n }\n\n /** @type {TokenizeContext['sliceStream']} */\n function sliceStream(token) {\n return sliceChunks(chunks, token);\n }\n\n /** @type {TokenizeContext['now']} */\n function now() {\n // This is a hot path, so we clone manually instead of `Object.assign({}, point)`\n const {\n _bufferIndex,\n _index,\n line,\n column,\n offset\n } = point;\n return {\n _bufferIndex,\n _index,\n line,\n column,\n offset\n };\n }\n\n /** @type {TokenizeContext['defineSkip']} */\n function defineSkip(value) {\n columnStart[value.line] = value.column;\n accountForPotentialSkip();\n }\n\n //\n // State management.\n //\n\n /**\n * Main loop (note that `_index` and `_bufferIndex` in `point` are modified by\n * `consume`).\n * Here is where we walk through the chunks, which either include strings of\n * several characters, or numerical character codes.\n * The reason to do this in a loop instead of a call is so the stack can\n * drain.\n *\n * @returns {undefined}\n * Nothing.\n */\n function main() {\n /** @type {number} */\n let chunkIndex;\n while (point._index < chunks.length) {\n const chunk = chunks[point._index];\n\n // If we’re in a buffer chunk, loop through it.\n if (typeof chunk === 'string') {\n chunkIndex = point._index;\n if (point._bufferIndex < 0) {\n point._bufferIndex = 0;\n }\n while (point._index === chunkIndex && point._bufferIndex < chunk.length) {\n go(chunk.charCodeAt(point._bufferIndex));\n }\n } else {\n go(chunk);\n }\n }\n }\n\n /**\n * Deal with one code.\n *\n * @param {Code} code\n * Code.\n * @returns {undefined}\n * Nothing.\n */\n function go(code) {\n consumed = undefined;\n expectedCode = code;\n state = state(code);\n }\n\n /** @type {Effects['consume']} */\n function consume(code) {\n if (markdownLineEnding(code)) {\n point.line++;\n point.column = 1;\n point.offset += code === -3 ? 2 : 1;\n accountForPotentialSkip();\n } else if (code !== -1) {\n point.column++;\n point.offset++;\n }\n\n // Not in a string chunk.\n if (point._bufferIndex < 0) {\n point._index++;\n } else {\n point._bufferIndex++;\n\n // At end of string chunk.\n if (point._bufferIndex ===\n // Points w/ non-negative `_bufferIndex` reference\n // strings.\n /** @type {string} */\n chunks[point._index].length) {\n point._bufferIndex = -1;\n point._index++;\n }\n }\n\n // Expose the previous character.\n context.previous = code;\n\n // Mark as consumed.\n consumed = true;\n }\n\n /** @type {Effects['enter']} */\n function enter(type, fields) {\n /** @type {Token} */\n // @ts-expect-error Patch instead of assign required fields to help GC.\n const token = fields || {};\n token.type = type;\n token.start = now();\n context.events.push(['enter', token, context]);\n stack.push(token);\n return token;\n }\n\n /** @type {Effects['exit']} */\n function exit(type) {\n const token = stack.pop();\n token.end = now();\n context.events.push(['exit', token, context]);\n return token;\n }\n\n /**\n * Use results.\n *\n * @type {ReturnHandle}\n */\n function onsuccessfulconstruct(construct, info) {\n addResult(construct, info.from);\n }\n\n /**\n * Discard results.\n *\n * @type {ReturnHandle}\n */\n function onsuccessfulcheck(_, info) {\n info.restore();\n }\n\n /**\n * Factory to attempt/check/interrupt.\n *\n * @param {ReturnHandle} onreturn\n * Callback.\n * @param {{interrupt?: boolean | undefined} | undefined} [fields]\n * Fields.\n */\n function constructFactory(onreturn, fields) {\n return hook;\n\n /**\n * Handle either an object mapping codes to constructs, a list of\n * constructs, or a single construct.\n *\n * @param {Array | ConstructRecord | Construct} constructs\n * Constructs.\n * @param {State} returnState\n * State.\n * @param {State | undefined} [bogusState]\n * State.\n * @returns {State}\n * State.\n */\n function hook(constructs, returnState, bogusState) {\n /** @type {ReadonlyArray} */\n let listOfConstructs;\n /** @type {number} */\n let constructIndex;\n /** @type {Construct} */\n let currentConstruct;\n /** @type {Info} */\n let info;\n return Array.isArray(constructs) ? /* c8 ignore next 1 */\n handleListOfConstructs(constructs) : 'tokenize' in constructs ?\n // Looks like a construct.\n handleListOfConstructs([(/** @type {Construct} */constructs)]) : handleMapOfConstructs(constructs);\n\n /**\n * Handle a list of construct.\n *\n * @param {ConstructRecord} map\n * Constructs.\n * @returns {State}\n * State.\n */\n function handleMapOfConstructs(map) {\n return start;\n\n /** @type {State} */\n function start(code) {\n const left = code !== null && map[code];\n const all = code !== null && map.null;\n const list = [\n // To do: add more extension tests.\n /* c8 ignore next 2 */\n ...(Array.isArray(left) ? left : left ? [left] : []), ...(Array.isArray(all) ? all : all ? [all] : [])];\n return handleListOfConstructs(list)(code);\n }\n }\n\n /**\n * Handle a list of construct.\n *\n * @param {ReadonlyArray} list\n * Constructs.\n * @returns {State}\n * State.\n */\n function handleListOfConstructs(list) {\n listOfConstructs = list;\n constructIndex = 0;\n if (list.length === 0) {\n return bogusState;\n }\n return handleConstruct(list[constructIndex]);\n }\n\n /**\n * Handle a single construct.\n *\n * @param {Construct} construct\n * Construct.\n * @returns {State}\n * State.\n */\n function handleConstruct(construct) {\n return start;\n\n /** @type {State} */\n function start(code) {\n // To do: not needed to store if there is no bogus state, probably?\n // Currently doesn’t work because `inspect` in document does a check\n // w/o a bogus, which doesn’t make sense. But it does seem to help perf\n // by not storing.\n info = store();\n currentConstruct = construct;\n if (!construct.partial) {\n context.currentConstruct = construct;\n }\n\n // Always populated by defaults.\n\n if (construct.name && context.parser.constructs.disable.null.includes(construct.name)) {\n return nok(code);\n }\n return construct.tokenize.call(\n // If we do have fields, create an object w/ `context` as its\n // prototype.\n // This allows a “live binding”, which is needed for `interrupt`.\n fields ? Object.assign(Object.create(context), fields) : context, effects, ok, nok)(code);\n }\n }\n\n /** @type {State} */\n function ok(code) {\n consumed = true;\n onreturn(currentConstruct, info);\n return returnState;\n }\n\n /** @type {State} */\n function nok(code) {\n consumed = true;\n info.restore();\n if (++constructIndex < listOfConstructs.length) {\n return handleConstruct(listOfConstructs[constructIndex]);\n }\n return bogusState;\n }\n }\n }\n\n /**\n * @param {Construct} construct\n * Construct.\n * @param {number} from\n * From.\n * @returns {undefined}\n * Nothing.\n */\n function addResult(construct, from) {\n if (construct.resolveAll && !resolveAllConstructs.includes(construct)) {\n resolveAllConstructs.push(construct);\n }\n if (construct.resolve) {\n splice(context.events, from, context.events.length - from, construct.resolve(context.events.slice(from), context));\n }\n if (construct.resolveTo) {\n context.events = construct.resolveTo(context.events, context);\n }\n }\n\n /**\n * Store state.\n *\n * @returns {Info}\n * Info.\n */\n function store() {\n const startPoint = now();\n const startPrevious = context.previous;\n const startCurrentConstruct = context.currentConstruct;\n const startEventsIndex = context.events.length;\n const startStack = Array.from(stack);\n return {\n from: startEventsIndex,\n restore\n };\n\n /**\n * Restore state.\n *\n * @returns {undefined}\n * Nothing.\n */\n function restore() {\n point = startPoint;\n context.previous = startPrevious;\n context.currentConstruct = startCurrentConstruct;\n context.events.length = startEventsIndex;\n stack = startStack;\n accountForPotentialSkip();\n }\n }\n\n /**\n * Move the current point a bit forward in the line when it’s on a column\n * skip.\n *\n * @returns {undefined}\n * Nothing.\n */\n function accountForPotentialSkip() {\n if (point.line in columnStart && point.column < 2) {\n point.column = columnStart[point.line];\n point.offset += columnStart[point.line] - 1;\n }\n }\n}\n\n/**\n * Get the chunks from a slice of chunks in the range of a token.\n *\n * @param {ReadonlyArray} chunks\n * Chunks.\n * @param {Pick} token\n * Token.\n * @returns {Array}\n * Chunks.\n */\nfunction sliceChunks(chunks, token) {\n const startIndex = token.start._index;\n const startBufferIndex = token.start._bufferIndex;\n const endIndex = token.end._index;\n const endBufferIndex = token.end._bufferIndex;\n /** @type {Array} */\n let view;\n if (startIndex === endIndex) {\n // @ts-expect-error `_bufferIndex` is used on string chunks.\n view = [chunks[startIndex].slice(startBufferIndex, endBufferIndex)];\n } else {\n view = chunks.slice(startIndex, endIndex);\n if (startBufferIndex > -1) {\n const head = view[0];\n if (typeof head === 'string') {\n view[0] = head.slice(startBufferIndex);\n /* c8 ignore next 4 -- used to be used, no longer */\n } else {\n view.shift();\n }\n }\n if (endBufferIndex > 0) {\n // @ts-expect-error `_bufferIndex` is used on string chunks.\n view.push(chunks[endIndex].slice(0, endBufferIndex));\n }\n }\n return view;\n}\n\n/**\n * Get the string value of a slice of chunks.\n *\n * @param {ReadonlyArray} chunks\n * Chunks.\n * @param {boolean | undefined} [expandTabs=false]\n * Whether to expand tabs (default: `false`).\n * @returns {string}\n * Result.\n */\nfunction serializeChunks(chunks, expandTabs) {\n let index = -1;\n /** @type {Array} */\n const result = [];\n /** @type {boolean | undefined} */\n let atTab;\n while (++index < chunks.length) {\n const chunk = chunks[index];\n /** @type {string} */\n let value;\n if (typeof chunk === 'string') {\n value = chunk;\n } else switch (chunk) {\n case -5:\n {\n value = \"\\r\";\n break;\n }\n case -4:\n {\n value = \"\\n\";\n break;\n }\n case -3:\n {\n value = \"\\r\" + \"\\n\";\n break;\n }\n case -2:\n {\n value = expandTabs ? \" \" : \"\\t\";\n break;\n }\n case -1:\n {\n if (!expandTabs && atTab) continue;\n value = \" \";\n break;\n }\n default:\n {\n // Currently only replacement character.\n value = String.fromCharCode(chunk);\n }\n }\n atTab = chunk === -2;\n result.push(value);\n }\n return result.join('');\n}","/**\n * @import {\n * Create,\n * FullNormalizedExtension,\n * InitialConstruct,\n * ParseContext,\n * ParseOptions\n * } from 'micromark-util-types'\n */\n\nimport { combineExtensions } from 'micromark-util-combine-extensions';\nimport { content } from './initialize/content.js';\nimport { document } from './initialize/document.js';\nimport { flow } from './initialize/flow.js';\nimport { string, text } from './initialize/text.js';\nimport * as defaultConstructs from './constructs.js';\nimport { createTokenizer } from './create-tokenizer.js';\n\n/**\n * @param {ParseOptions | null | undefined} [options]\n * Configuration (optional).\n * @returns {ParseContext}\n * Parser.\n */\nexport function parse(options) {\n const settings = options || {};\n const constructs = /** @type {FullNormalizedExtension} */\n combineExtensions([defaultConstructs, ...(settings.extensions || [])]);\n\n /** @type {ParseContext} */\n const parser = {\n constructs,\n content: create(content),\n defined: [],\n document: create(document),\n flow: create(flow),\n lazy: {},\n string: create(string),\n text: create(text)\n };\n return parser;\n\n /**\n * @param {InitialConstruct} initial\n * Construct to start with.\n * @returns {Create}\n * Create a tokenizer.\n */\n function create(initial) {\n return creator;\n /** @type {Create} */\n function creator(from) {\n return createTokenizer(parser, initial, from);\n }\n }\n}","/**\n * @import {Chunk, Code, Encoding, Value} from 'micromark-util-types'\n */\n\n/**\n * @callback Preprocessor\n * Preprocess a value.\n * @param {Value} value\n * Value.\n * @param {Encoding | null | undefined} [encoding]\n * Encoding when `value` is a typed array (optional).\n * @param {boolean | null | undefined} [end=false]\n * Whether this is the last chunk (default: `false`).\n * @returns {Array}\n * Chunks.\n */\n\nconst search = /[\\0\\t\\n\\r]/g;\n\n/**\n * @returns {Preprocessor}\n * Preprocess a value.\n */\nexport function preprocess() {\n let column = 1;\n let buffer = '';\n /** @type {boolean | undefined} */\n let start = true;\n /** @type {boolean | undefined} */\n let atCarriageReturn;\n return preprocessor;\n\n /** @type {Preprocessor} */\n // eslint-disable-next-line complexity\n function preprocessor(value, encoding, end) {\n /** @type {Array} */\n const chunks = [];\n /** @type {RegExpMatchArray | null} */\n let match;\n /** @type {number} */\n let next;\n /** @type {number} */\n let startPosition;\n /** @type {number} */\n let endPosition;\n /** @type {Code} */\n let code;\n value = buffer + (typeof value === 'string' ? value.toString() : new TextDecoder(encoding || undefined).decode(value));\n startPosition = 0;\n buffer = '';\n if (start) {\n // To do: `markdown-rs` actually parses BOMs (byte order mark).\n if (value.charCodeAt(0) === 65279) {\n startPosition++;\n }\n start = undefined;\n }\n while (startPosition < value.length) {\n search.lastIndex = startPosition;\n match = search.exec(value);\n endPosition = match && match.index !== undefined ? match.index : value.length;\n code = value.charCodeAt(endPosition);\n if (!match) {\n buffer = value.slice(startPosition);\n break;\n }\n if (code === 10 && startPosition === endPosition && atCarriageReturn) {\n chunks.push(-3);\n atCarriageReturn = undefined;\n } else {\n if (atCarriageReturn) {\n chunks.push(-5);\n atCarriageReturn = undefined;\n }\n if (startPosition < endPosition) {\n chunks.push(value.slice(startPosition, endPosition));\n column += endPosition - startPosition;\n }\n switch (code) {\n case 0:\n {\n chunks.push(65533);\n column++;\n break;\n }\n case 9:\n {\n next = Math.ceil(column / 4) * 4;\n chunks.push(-2);\n while (column++ < next) chunks.push(-1);\n break;\n }\n case 10:\n {\n chunks.push(-4);\n column = 1;\n break;\n }\n default:\n {\n atCarriageReturn = true;\n column = 1;\n }\n }\n }\n startPosition = endPosition + 1;\n }\n if (end) {\n if (atCarriageReturn) chunks.push(-5);\n if (buffer) chunks.push(buffer);\n chunks.push(null);\n }\n return chunks;\n }\n}","/**\n * Turn the number (in string form as either hexa- or plain decimal) coming from\n * a numeric character reference into a character.\n *\n * Sort of like `String.fromCodePoint(Number.parseInt(value, base))`, but makes\n * non-characters and control characters safe.\n *\n * @param {string} value\n * Value to decode.\n * @param {number} base\n * Numeric base.\n * @returns {string}\n * Character.\n */\nexport function decodeNumericCharacterReference(value, base) {\n const code = Number.parseInt(value, base);\n if (\n // C0 except for HT, LF, FF, CR, space.\n code < 9 || code === 11 || code > 13 && code < 32 ||\n // Control character (DEL) of C0, and C1 controls.\n code > 126 && code < 160 ||\n // Lone high surrogates and low surrogates.\n code > 55_295 && code < 57_344 ||\n // Noncharacters.\n code > 64_975 && code < 65_008 || /* eslint-disable no-bitwise */\n (code & 65_535) === 65_535 || (code & 65_535) === 65_534 || /* eslint-enable no-bitwise */\n // Out of range\n code > 1_114_111) {\n return \"\\uFFFD\";\n }\n return String.fromCodePoint(code);\n}","import { decodeNamedCharacterReference } from 'decode-named-character-reference';\nimport { decodeNumericCharacterReference } from 'micromark-util-decode-numeric-character-reference';\nconst characterEscapeOrReference = /\\\\([!-/:-@[-`{-~])|&(#(?:\\d{1,7}|x[\\da-f]{1,6})|[\\da-z]{1,31});/gi;\n\n/**\n * Decode markdown strings (which occur in places such as fenced code info\n * strings, destinations, labels, and titles).\n *\n * The “string” content type allows character escapes and -references.\n * This decodes those.\n *\n * @param {string} value\n * Value to decode.\n * @returns {string}\n * Decoded value.\n */\nexport function decodeString(value) {\n return value.replace(characterEscapeOrReference, decode);\n}\n\n/**\n * @param {string} $0\n * Match.\n * @param {string} $1\n * Character escape.\n * @param {string} $2\n * Character reference.\n * @returns {string}\n * Decoded value\n */\nfunction decode($0, $1, $2) {\n if ($1) {\n // Escape.\n return $1;\n }\n\n // Reference.\n const head = $2.charCodeAt(0);\n if (head === 35) {\n const head = $2.charCodeAt(1);\n const hex = head === 120 || head === 88;\n return decodeNumericCharacterReference($2.slice(hex ? 2 : 1), hex ? 16 : 10);\n }\n return decodeNamedCharacterReference($2) || $0;\n}","/**\n * @import {\n * Break,\n * Blockquote,\n * Code,\n * Definition,\n * Emphasis,\n * Heading,\n * Html,\n * Image,\n * InlineCode,\n * Link,\n * ListItem,\n * List,\n * Nodes,\n * Paragraph,\n * PhrasingContent,\n * ReferenceType,\n * Root,\n * Strong,\n * Text,\n * ThematicBreak\n * } from 'mdast'\n * @import {\n * Encoding,\n * Event,\n * Token,\n * Value\n * } from 'micromark-util-types'\n * @import {Point} from 'unist'\n * @import {\n * CompileContext,\n * CompileData,\n * Config,\n * Extension,\n * Handle,\n * OnEnterError,\n * Options\n * } from './types.js'\n */\n\nimport { toString } from 'mdast-util-to-string';\nimport { parse, postprocess, preprocess } from 'micromark';\nimport { decodeNumericCharacterReference } from 'micromark-util-decode-numeric-character-reference';\nimport { decodeString } from 'micromark-util-decode-string';\nimport { normalizeIdentifier } from 'micromark-util-normalize-identifier';\nimport { decodeNamedCharacterReference } from 'decode-named-character-reference';\nimport { stringifyPosition } from 'unist-util-stringify-position';\nconst own = {}.hasOwnProperty;\n\n/**\n * Turn markdown into a syntax tree.\n *\n * @overload\n * @param {Value} value\n * @param {Encoding | null | undefined} [encoding]\n * @param {Options | null | undefined} [options]\n * @returns {Root}\n *\n * @overload\n * @param {Value} value\n * @param {Options | null | undefined} [options]\n * @returns {Root}\n *\n * @param {Value} value\n * Markdown to parse.\n * @param {Encoding | Options | null | undefined} [encoding]\n * Character encoding for when `value` is `Buffer`.\n * @param {Options | null | undefined} [options]\n * Configuration.\n * @returns {Root}\n * mdast tree.\n */\nexport function fromMarkdown(value, encoding, options) {\n if (typeof encoding !== 'string') {\n options = encoding;\n encoding = undefined;\n }\n return compiler(options)(postprocess(parse(options).document().write(preprocess()(value, encoding, true))));\n}\n\n/**\n * Note this compiler only understand complete buffering, not streaming.\n *\n * @param {Options | null | undefined} [options]\n */\nfunction compiler(options) {\n /** @type {Config} */\n const config = {\n transforms: [],\n canContainEols: ['emphasis', 'fragment', 'heading', 'paragraph', 'strong'],\n enter: {\n autolink: opener(link),\n autolinkProtocol: onenterdata,\n autolinkEmail: onenterdata,\n atxHeading: opener(heading),\n blockQuote: opener(blockQuote),\n characterEscape: onenterdata,\n characterReference: onenterdata,\n codeFenced: opener(codeFlow),\n codeFencedFenceInfo: buffer,\n codeFencedFenceMeta: buffer,\n codeIndented: opener(codeFlow, buffer),\n codeText: opener(codeText, buffer),\n codeTextData: onenterdata,\n data: onenterdata,\n codeFlowValue: onenterdata,\n definition: opener(definition),\n definitionDestinationString: buffer,\n definitionLabelString: buffer,\n definitionTitleString: buffer,\n emphasis: opener(emphasis),\n hardBreakEscape: opener(hardBreak),\n hardBreakTrailing: opener(hardBreak),\n htmlFlow: opener(html, buffer),\n htmlFlowData: onenterdata,\n htmlText: opener(html, buffer),\n htmlTextData: onenterdata,\n image: opener(image),\n label: buffer,\n link: opener(link),\n listItem: opener(listItem),\n listItemValue: onenterlistitemvalue,\n listOrdered: opener(list, onenterlistordered),\n listUnordered: opener(list),\n paragraph: opener(paragraph),\n reference: onenterreference,\n referenceString: buffer,\n resourceDestinationString: buffer,\n resourceTitleString: buffer,\n setextHeading: opener(heading),\n strong: opener(strong),\n thematicBreak: opener(thematicBreak)\n },\n exit: {\n atxHeading: closer(),\n atxHeadingSequence: onexitatxheadingsequence,\n autolink: closer(),\n autolinkEmail: onexitautolinkemail,\n autolinkProtocol: onexitautolinkprotocol,\n blockQuote: closer(),\n characterEscapeValue: onexitdata,\n characterReferenceMarkerHexadecimal: onexitcharacterreferencemarker,\n characterReferenceMarkerNumeric: onexitcharacterreferencemarker,\n characterReferenceValue: onexitcharacterreferencevalue,\n characterReference: onexitcharacterreference,\n codeFenced: closer(onexitcodefenced),\n codeFencedFence: onexitcodefencedfence,\n codeFencedFenceInfo: onexitcodefencedfenceinfo,\n codeFencedFenceMeta: onexitcodefencedfencemeta,\n codeFlowValue: onexitdata,\n codeIndented: closer(onexitcodeindented),\n codeText: closer(onexitcodetext),\n codeTextData: onexitdata,\n data: onexitdata,\n definition: closer(),\n definitionDestinationString: onexitdefinitiondestinationstring,\n definitionLabelString: onexitdefinitionlabelstring,\n definitionTitleString: onexitdefinitiontitlestring,\n emphasis: closer(),\n hardBreakEscape: closer(onexithardbreak),\n hardBreakTrailing: closer(onexithardbreak),\n htmlFlow: closer(onexithtmlflow),\n htmlFlowData: onexitdata,\n htmlText: closer(onexithtmltext),\n htmlTextData: onexitdata,\n image: closer(onexitimage),\n label: onexitlabel,\n labelText: onexitlabeltext,\n lineEnding: onexitlineending,\n link: closer(onexitlink),\n listItem: closer(),\n listOrdered: closer(),\n listUnordered: closer(),\n paragraph: closer(),\n referenceString: onexitreferencestring,\n resourceDestinationString: onexitresourcedestinationstring,\n resourceTitleString: onexitresourcetitlestring,\n resource: onexitresource,\n setextHeading: closer(onexitsetextheading),\n setextHeadingLineSequence: onexitsetextheadinglinesequence,\n setextHeadingText: onexitsetextheadingtext,\n strong: closer(),\n thematicBreak: closer()\n }\n };\n configure(config, (options || {}).mdastExtensions || []);\n\n /** @type {CompileData} */\n const data = {};\n return compile;\n\n /**\n * Turn micromark events into an mdast tree.\n *\n * @param {Array} events\n * Events.\n * @returns {Root}\n * mdast tree.\n */\n function compile(events) {\n /** @type {Root} */\n let tree = {\n type: 'root',\n children: []\n };\n /** @type {Omit} */\n const context = {\n stack: [tree],\n tokenStack: [],\n config,\n enter,\n exit,\n buffer,\n resume,\n data\n };\n /** @type {Array} */\n const listStack = [];\n let index = -1;\n while (++index < events.length) {\n // We preprocess lists to add `listItem` tokens, and to infer whether\n // items the list itself are spread out.\n if (events[index][1].type === \"listOrdered\" || events[index][1].type === \"listUnordered\") {\n if (events[index][0] === 'enter') {\n listStack.push(index);\n } else {\n const tail = listStack.pop();\n index = prepareList(events, tail, index);\n }\n }\n }\n index = -1;\n while (++index < events.length) {\n const handler = config[events[index][0]];\n if (own.call(handler, events[index][1].type)) {\n handler[events[index][1].type].call(Object.assign({\n sliceSerialize: events[index][2].sliceSerialize\n }, context), events[index][1]);\n }\n }\n\n // Handle tokens still being open.\n if (context.tokenStack.length > 0) {\n const tail = context.tokenStack[context.tokenStack.length - 1];\n const handler = tail[1] || defaultOnError;\n handler.call(context, undefined, tail[0]);\n }\n\n // Figure out `root` position.\n tree.position = {\n start: point(events.length > 0 ? events[0][1].start : {\n line: 1,\n column: 1,\n offset: 0\n }),\n end: point(events.length > 0 ? events[events.length - 2][1].end : {\n line: 1,\n column: 1,\n offset: 0\n })\n };\n\n // Call transforms.\n index = -1;\n while (++index < config.transforms.length) {\n tree = config.transforms[index](tree) || tree;\n }\n return tree;\n }\n\n /**\n * @param {Array} events\n * @param {number} start\n * @param {number} length\n * @returns {number}\n */\n function prepareList(events, start, length) {\n let index = start - 1;\n let containerBalance = -1;\n let listSpread = false;\n /** @type {Token | undefined} */\n let listItem;\n /** @type {number | undefined} */\n let lineIndex;\n /** @type {number | undefined} */\n let firstBlankLineIndex;\n /** @type {boolean | undefined} */\n let atMarker;\n while (++index <= length) {\n const event = events[index];\n switch (event[1].type) {\n case \"listUnordered\":\n case \"listOrdered\":\n case \"blockQuote\":\n {\n if (event[0] === 'enter') {\n containerBalance++;\n } else {\n containerBalance--;\n }\n atMarker = undefined;\n break;\n }\n case \"lineEndingBlank\":\n {\n if (event[0] === 'enter') {\n if (listItem && !atMarker && !containerBalance && !firstBlankLineIndex) {\n firstBlankLineIndex = index;\n }\n atMarker = undefined;\n }\n break;\n }\n case \"linePrefix\":\n case \"listItemValue\":\n case \"listItemMarker\":\n case \"listItemPrefix\":\n case \"listItemPrefixWhitespace\":\n {\n // Empty.\n\n break;\n }\n default:\n {\n atMarker = undefined;\n }\n }\n if (!containerBalance && event[0] === 'enter' && event[1].type === \"listItemPrefix\" || containerBalance === -1 && event[0] === 'exit' && (event[1].type === \"listUnordered\" || event[1].type === \"listOrdered\")) {\n if (listItem) {\n let tailIndex = index;\n lineIndex = undefined;\n while (tailIndex--) {\n const tailEvent = events[tailIndex];\n if (tailEvent[1].type === \"lineEnding\" || tailEvent[1].type === \"lineEndingBlank\") {\n if (tailEvent[0] === 'exit') continue;\n if (lineIndex) {\n events[lineIndex][1].type = \"lineEndingBlank\";\n listSpread = true;\n }\n tailEvent[1].type = \"lineEnding\";\n lineIndex = tailIndex;\n } else if (tailEvent[1].type === \"linePrefix\" || tailEvent[1].type === \"blockQuotePrefix\" || tailEvent[1].type === \"blockQuotePrefixWhitespace\" || tailEvent[1].type === \"blockQuoteMarker\" || tailEvent[1].type === \"listItemIndent\") {\n // Empty\n } else {\n break;\n }\n }\n if (firstBlankLineIndex && (!lineIndex || firstBlankLineIndex < lineIndex)) {\n listItem._spread = true;\n }\n\n // Fix position.\n listItem.end = Object.assign({}, lineIndex ? events[lineIndex][1].start : event[1].end);\n events.splice(lineIndex || index, 0, ['exit', listItem, event[2]]);\n index++;\n length++;\n }\n\n // Create a new list item.\n if (event[1].type === \"listItemPrefix\") {\n /** @type {Token} */\n const item = {\n type: 'listItem',\n _spread: false,\n start: Object.assign({}, event[1].start),\n // @ts-expect-error: we’ll add `end` in a second.\n end: undefined\n };\n listItem = item;\n events.splice(index, 0, ['enter', item, event[2]]);\n index++;\n length++;\n firstBlankLineIndex = undefined;\n atMarker = true;\n }\n }\n }\n events[start][1]._spread = listSpread;\n return length;\n }\n\n /**\n * Create an opener handle.\n *\n * @param {(token: Token) => Nodes} create\n * Create a node.\n * @param {Handle | undefined} [and]\n * Optional function to also run.\n * @returns {Handle}\n * Handle.\n */\n function opener(create, and) {\n return open;\n\n /**\n * @this {CompileContext}\n * @param {Token} token\n * @returns {undefined}\n */\n function open(token) {\n enter.call(this, create(token), token);\n if (and) and.call(this, token);\n }\n }\n\n /**\n * @type {CompileContext['buffer']}\n */\n function buffer() {\n this.stack.push({\n type: 'fragment',\n children: []\n });\n }\n\n /**\n * @type {CompileContext['enter']}\n */\n function enter(node, token, errorHandler) {\n const parent = this.stack[this.stack.length - 1];\n /** @type {Array} */\n const siblings = parent.children;\n siblings.push(node);\n this.stack.push(node);\n this.tokenStack.push([token, errorHandler || undefined]);\n node.position = {\n start: point(token.start),\n // @ts-expect-error: `end` will be patched later.\n end: undefined\n };\n }\n\n /**\n * Create a closer handle.\n *\n * @param {Handle | undefined} [and]\n * Optional function to also run.\n * @returns {Handle}\n * Handle.\n */\n function closer(and) {\n return close;\n\n /**\n * @this {CompileContext}\n * @param {Token} token\n * @returns {undefined}\n */\n function close(token) {\n if (and) and.call(this, token);\n exit.call(this, token);\n }\n }\n\n /**\n * @type {CompileContext['exit']}\n */\n function exit(token, onExitError) {\n const node = this.stack.pop();\n const open = this.tokenStack.pop();\n if (!open) {\n throw new Error('Cannot close `' + token.type + '` (' + stringifyPosition({\n start: token.start,\n end: token.end\n }) + '): it’s not open');\n } else if (open[0].type !== token.type) {\n if (onExitError) {\n onExitError.call(this, token, open[0]);\n } else {\n const handler = open[1] || defaultOnError;\n handler.call(this, token, open[0]);\n }\n }\n node.position.end = point(token.end);\n }\n\n /**\n * @type {CompileContext['resume']}\n */\n function resume() {\n return toString(this.stack.pop());\n }\n\n //\n // Handlers.\n //\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onenterlistordered() {\n this.data.expectingFirstListItemValue = true;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onenterlistitemvalue(token) {\n if (this.data.expectingFirstListItemValue) {\n const ancestor = this.stack[this.stack.length - 2];\n ancestor.start = Number.parseInt(this.sliceSerialize(token), 10);\n this.data.expectingFirstListItemValue = undefined;\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefencedfenceinfo() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.lang = data;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefencedfencemeta() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.meta = data;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefencedfence() {\n // Exit if this is the closing fence.\n if (this.data.flowCodeInside) return;\n this.buffer();\n this.data.flowCodeInside = true;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefenced() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.value = data.replace(/^(\\r?\\n|\\r)|(\\r?\\n|\\r)$/g, '');\n this.data.flowCodeInside = undefined;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodeindented() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.value = data.replace(/(\\r?\\n|\\r)$/g, '');\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitdefinitionlabelstring(token) {\n const label = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.label = label;\n node.identifier = normalizeIdentifier(this.sliceSerialize(token)).toLowerCase();\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitdefinitiontitlestring() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.title = data;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitdefinitiondestinationstring() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.url = data;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitatxheadingsequence(token) {\n const node = this.stack[this.stack.length - 1];\n if (!node.depth) {\n const depth = this.sliceSerialize(token).length;\n node.depth = depth;\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitsetextheadingtext() {\n this.data.setextHeadingSlurpLineEnding = true;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitsetextheadinglinesequence(token) {\n const node = this.stack[this.stack.length - 1];\n node.depth = this.sliceSerialize(token).codePointAt(0) === 61 ? 1 : 2;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitsetextheading() {\n this.data.setextHeadingSlurpLineEnding = undefined;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onenterdata(token) {\n const node = this.stack[this.stack.length - 1];\n /** @type {Array} */\n const siblings = node.children;\n let tail = siblings[siblings.length - 1];\n if (!tail || tail.type !== 'text') {\n // Add a new text node.\n tail = text();\n tail.position = {\n start: point(token.start),\n // @ts-expect-error: we’ll add `end` later.\n end: undefined\n };\n siblings.push(tail);\n }\n this.stack.push(tail);\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitdata(token) {\n const tail = this.stack.pop();\n tail.value += this.sliceSerialize(token);\n tail.position.end = point(token.end);\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlineending(token) {\n const context = this.stack[this.stack.length - 1];\n // If we’re at a hard break, include the line ending in there.\n if (this.data.atHardBreak) {\n const tail = context.children[context.children.length - 1];\n tail.position.end = point(token.end);\n this.data.atHardBreak = undefined;\n return;\n }\n if (!this.data.setextHeadingSlurpLineEnding && config.canContainEols.includes(context.type)) {\n onenterdata.call(this, token);\n onexitdata.call(this, token);\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexithardbreak() {\n this.data.atHardBreak = true;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexithtmlflow() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.value = data;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexithtmltext() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.value = data;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitcodetext() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.value = data;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlink() {\n const node = this.stack[this.stack.length - 1];\n // Note: there are also `identifier` and `label` fields on this link node!\n // These are used / cleaned here.\n\n // To do: clean.\n if (this.data.inReference) {\n /** @type {ReferenceType} */\n const referenceType = this.data.referenceType || 'shortcut';\n node.type += 'Reference';\n // @ts-expect-error: mutate.\n node.referenceType = referenceType;\n // @ts-expect-error: mutate.\n delete node.url;\n delete node.title;\n } else {\n // @ts-expect-error: mutate.\n delete node.identifier;\n // @ts-expect-error: mutate.\n delete node.label;\n }\n this.data.referenceType = undefined;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitimage() {\n const node = this.stack[this.stack.length - 1];\n // Note: there are also `identifier` and `label` fields on this link node!\n // These are used / cleaned here.\n\n // To do: clean.\n if (this.data.inReference) {\n /** @type {ReferenceType} */\n const referenceType = this.data.referenceType || 'shortcut';\n node.type += 'Reference';\n // @ts-expect-error: mutate.\n node.referenceType = referenceType;\n // @ts-expect-error: mutate.\n delete node.url;\n delete node.title;\n } else {\n // @ts-expect-error: mutate.\n delete node.identifier;\n // @ts-expect-error: mutate.\n delete node.label;\n }\n this.data.referenceType = undefined;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlabeltext(token) {\n const string = this.sliceSerialize(token);\n const ancestor = this.stack[this.stack.length - 2];\n // @ts-expect-error: stash this on the node, as it might become a reference\n // later.\n ancestor.label = decodeString(string);\n // @ts-expect-error: same as above.\n ancestor.identifier = normalizeIdentifier(string).toLowerCase();\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlabel() {\n const fragment = this.stack[this.stack.length - 1];\n const value = this.resume();\n const node = this.stack[this.stack.length - 1];\n // Assume a reference.\n this.data.inReference = true;\n if (node.type === 'link') {\n /** @type {Array} */\n const children = fragment.children;\n node.children = children;\n } else {\n node.alt = value;\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitresourcedestinationstring() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.url = data;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitresourcetitlestring() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.title = data;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitresource() {\n this.data.inReference = undefined;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onenterreference() {\n this.data.referenceType = 'collapsed';\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitreferencestring(token) {\n const label = this.resume();\n const node = this.stack[this.stack.length - 1];\n // @ts-expect-error: stash this on the node, as it might become a reference\n // later.\n node.label = label;\n // @ts-expect-error: same as above.\n node.identifier = normalizeIdentifier(this.sliceSerialize(token)).toLowerCase();\n this.data.referenceType = 'full';\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitcharacterreferencemarker(token) {\n this.data.characterReferenceType = token.type;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcharacterreferencevalue(token) {\n const data = this.sliceSerialize(token);\n const type = this.data.characterReferenceType;\n /** @type {string} */\n let value;\n if (type) {\n value = decodeNumericCharacterReference(data, type === \"characterReferenceMarkerNumeric\" ? 10 : 16);\n this.data.characterReferenceType = undefined;\n } else {\n const result = decodeNamedCharacterReference(data);\n value = result;\n }\n const tail = this.stack[this.stack.length - 1];\n tail.value += value;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcharacterreference(token) {\n const tail = this.stack.pop();\n tail.position.end = point(token.end);\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitautolinkprotocol(token) {\n onexitdata.call(this, token);\n const node = this.stack[this.stack.length - 1];\n node.url = this.sliceSerialize(token);\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitautolinkemail(token) {\n onexitdata.call(this, token);\n const node = this.stack[this.stack.length - 1];\n node.url = 'mailto:' + this.sliceSerialize(token);\n }\n\n //\n // Creaters.\n //\n\n /** @returns {Blockquote} */\n function blockQuote() {\n return {\n type: 'blockquote',\n children: []\n };\n }\n\n /** @returns {Code} */\n function codeFlow() {\n return {\n type: 'code',\n lang: null,\n meta: null,\n value: ''\n };\n }\n\n /** @returns {InlineCode} */\n function codeText() {\n return {\n type: 'inlineCode',\n value: ''\n };\n }\n\n /** @returns {Definition} */\n function definition() {\n return {\n type: 'definition',\n identifier: '',\n label: null,\n title: null,\n url: ''\n };\n }\n\n /** @returns {Emphasis} */\n function emphasis() {\n return {\n type: 'emphasis',\n children: []\n };\n }\n\n /** @returns {Heading} */\n function heading() {\n return {\n type: 'heading',\n // @ts-expect-error `depth` will be set later.\n depth: 0,\n children: []\n };\n }\n\n /** @returns {Break} */\n function hardBreak() {\n return {\n type: 'break'\n };\n }\n\n /** @returns {Html} */\n function html() {\n return {\n type: 'html',\n value: ''\n };\n }\n\n /** @returns {Image} */\n function image() {\n return {\n type: 'image',\n title: null,\n url: '',\n alt: null\n };\n }\n\n /** @returns {Link} */\n function link() {\n return {\n type: 'link',\n title: null,\n url: '',\n children: []\n };\n }\n\n /**\n * @param {Token} token\n * @returns {List}\n */\n function list(token) {\n return {\n type: 'list',\n ordered: token.type === 'listOrdered',\n start: null,\n spread: token._spread,\n children: []\n };\n }\n\n /**\n * @param {Token} token\n * @returns {ListItem}\n */\n function listItem(token) {\n return {\n type: 'listItem',\n spread: token._spread,\n checked: null,\n children: []\n };\n }\n\n /** @returns {Paragraph} */\n function paragraph() {\n return {\n type: 'paragraph',\n children: []\n };\n }\n\n /** @returns {Strong} */\n function strong() {\n return {\n type: 'strong',\n children: []\n };\n }\n\n /** @returns {Text} */\n function text() {\n return {\n type: 'text',\n value: ''\n };\n }\n\n /** @returns {ThematicBreak} */\n function thematicBreak() {\n return {\n type: 'thematicBreak'\n };\n }\n}\n\n/**\n * Copy a point-like value.\n *\n * @param {Point} d\n * Point-like value.\n * @returns {Point}\n * unist point.\n */\nfunction point(d) {\n return {\n line: d.line,\n column: d.column,\n offset: d.offset\n };\n}\n\n/**\n * @param {Config} combined\n * @param {Array | Extension>} extensions\n * @returns {undefined}\n */\nfunction configure(combined, extensions) {\n let index = -1;\n while (++index < extensions.length) {\n const value = extensions[index];\n if (Array.isArray(value)) {\n configure(combined, value);\n } else {\n extension(combined, value);\n }\n }\n}\n\n/**\n * @param {Config} combined\n * @param {Extension} extension\n * @returns {undefined}\n */\nfunction extension(combined, extension) {\n /** @type {keyof Extension} */\n let key;\n for (key in extension) {\n if (own.call(extension, key)) {\n switch (key) {\n case 'canContainEols':\n {\n const right = extension[key];\n if (right) {\n combined[key].push(...right);\n }\n break;\n }\n case 'transforms':\n {\n const right = extension[key];\n if (right) {\n combined[key].push(...right);\n }\n break;\n }\n case 'enter':\n case 'exit':\n {\n const right = extension[key];\n if (right) {\n Object.assign(combined[key], right);\n }\n break;\n }\n // No default\n }\n }\n }\n}\n\n/** @type {OnEnterError} */\nfunction defaultOnError(left, right) {\n if (left) {\n throw new Error('Cannot close `' + left.type + '` (' + stringifyPosition({\n start: left.start,\n end: left.end\n }) + '): a different token (`' + right.type + '`, ' + stringifyPosition({\n start: right.start,\n end: right.end\n }) + ') is open');\n } else {\n throw new Error('Cannot close document, a token (`' + right.type + '`, ' + stringifyPosition({\n start: right.start,\n end: right.end\n }) + ') is still open');\n }\n}","/**\n * @import {Event} from 'micromark-util-types'\n */\n\nimport { subtokenize } from 'micromark-util-subtokenize';\n\n/**\n * @param {Array} events\n * Events.\n * @returns {Array}\n * Events.\n */\nexport function postprocess(events) {\n while (!subtokenize(events)) {\n // Empty\n }\n return events;\n}","/**\n * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast-util-from-markdown').Options} FromMarkdownOptions\n * @typedef {import('unified').Parser} Parser\n * @typedef {import('unified').Processor} Processor\n */\n\n/**\n * @typedef {Omit} Options\n */\n\nimport {fromMarkdown} from 'mdast-util-from-markdown'\n\n/**\n * Aadd support for parsing from markdown.\n *\n * @param {Readonly | null | undefined} [options]\n * Configuration (optional).\n * @returns {undefined}\n * Nothing.\n */\nexport default function remarkParse(options) {\n /** @type {Processor} */\n // @ts-expect-error: TS in JSDoc generates wrong types if `this` is typed regularly.\n const self = this\n\n self.parser = parser\n\n /**\n * @type {Parser}\n */\n function parser(doc) {\n return fromMarkdown(doc, {\n ...self.data('settings'),\n ...options,\n // Note: these options are not in the readme.\n // The goal is for them to be set by plugins on `data` instead of being\n // passed by users.\n extensions: self.data('micromarkExtensions') || [],\n mdastExtensions: self.data('fromMarkdownExtensions') || []\n })\n }\n}\n","export const VOID = -1;\nexport const PRIMITIVE = 0;\nexport const ARRAY = 1;\nexport const OBJECT = 2;\nexport const DATE = 3;\nexport const REGEXP = 4;\nexport const MAP = 5;\nexport const SET = 6;\nexport const ERROR = 7;\nexport const BIGINT = 8;\n// export const SYMBOL = 9;\n","import {\n VOID, PRIMITIVE,\n ARRAY, OBJECT,\n DATE, REGEXP, MAP, SET,\n ERROR, BIGINT\n} from './types.js';\n\nconst env = typeof self === 'object' ? self : globalThis;\n\nconst deserializer = ($, _) => {\n const as = (out, index) => {\n $.set(index, out);\n return out;\n };\n\n const unpair = index => {\n if ($.has(index))\n return $.get(index);\n\n const [type, value] = _[index];\n switch (type) {\n case PRIMITIVE:\n case VOID:\n return as(value, index);\n case ARRAY: {\n const arr = as([], index);\n for (const index of value)\n arr.push(unpair(index));\n return arr;\n }\n case OBJECT: {\n const object = as({}, index);\n for (const [key, index] of value)\n object[unpair(key)] = unpair(index);\n return object;\n }\n case DATE:\n return as(new Date(value), index);\n case REGEXP: {\n const {source, flags} = value;\n return as(new RegExp(source, flags), index);\n }\n case MAP: {\n const map = as(new Map, index);\n for (const [key, index] of value)\n map.set(unpair(key), unpair(index));\n return map;\n }\n case SET: {\n const set = as(new Set, index);\n for (const index of value)\n set.add(unpair(index));\n return set;\n }\n case ERROR: {\n const {name, message} = value;\n return as(new env[name](message), index);\n }\n case BIGINT:\n return as(BigInt(value), index);\n case 'BigInt':\n return as(Object(BigInt(value)), index);\n case 'ArrayBuffer':\n return as(new Uint8Array(value).buffer, value);\n case 'DataView': {\n const { buffer } = new Uint8Array(value);\n return as(new DataView(buffer), value);\n }\n }\n return as(new env[type](value), index);\n };\n\n return unpair;\n};\n\n/**\n * @typedef {Array} Record a type representation\n */\n\n/**\n * Returns a deserialized value from a serialized array of Records.\n * @param {Record[]} serialized a previously serialized value.\n * @returns {any}\n */\nexport const deserialize = serialized => deserializer(new Map, serialized)(0);\n","import {\n VOID, PRIMITIVE,\n ARRAY, OBJECT,\n DATE, REGEXP, MAP, SET,\n ERROR, BIGINT\n} from './types.js';\n\nconst EMPTY = '';\n\nconst {toString} = {};\nconst {keys} = Object;\n\nconst typeOf = value => {\n const type = typeof value;\n if (type !== 'object' || !value)\n return [PRIMITIVE, type];\n\n const asString = toString.call(value).slice(8, -1);\n switch (asString) {\n case 'Array':\n return [ARRAY, EMPTY];\n case 'Object':\n return [OBJECT, EMPTY];\n case 'Date':\n return [DATE, EMPTY];\n case 'RegExp':\n return [REGEXP, EMPTY];\n case 'Map':\n return [MAP, EMPTY];\n case 'Set':\n return [SET, EMPTY];\n case 'DataView':\n return [ARRAY, asString];\n }\n\n if (asString.includes('Array'))\n return [ARRAY, asString];\n\n if (asString.includes('Error'))\n return [ERROR, asString];\n\n return [OBJECT, asString];\n};\n\nconst shouldSkip = ([TYPE, type]) => (\n TYPE === PRIMITIVE &&\n (type === 'function' || type === 'symbol')\n);\n\nconst serializer = (strict, json, $, _) => {\n\n const as = (out, value) => {\n const index = _.push(out) - 1;\n $.set(value, index);\n return index;\n };\n\n const pair = value => {\n if ($.has(value))\n return $.get(value);\n\n let [TYPE, type] = typeOf(value);\n switch (TYPE) {\n case PRIMITIVE: {\n let entry = value;\n switch (type) {\n case 'bigint':\n TYPE = BIGINT;\n entry = value.toString();\n break;\n case 'function':\n case 'symbol':\n if (strict)\n throw new TypeError('unable to serialize ' + type);\n entry = null;\n break;\n case 'undefined':\n return as([VOID], value);\n }\n return as([TYPE, entry], value);\n }\n case ARRAY: {\n if (type) {\n let spread = value;\n if (type === 'DataView') {\n spread = new Uint8Array(value.buffer);\n }\n else if (type === 'ArrayBuffer') {\n spread = new Uint8Array(value);\n }\n return as([type, [...spread]], value);\n }\n\n const arr = [];\n const index = as([TYPE, arr], value);\n for (const entry of value)\n arr.push(pair(entry));\n return index;\n }\n case OBJECT: {\n if (type) {\n switch (type) {\n case 'BigInt':\n return as([type, value.toString()], value);\n case 'Boolean':\n case 'Number':\n case 'String':\n return as([type, value.valueOf()], value);\n }\n }\n\n if (json && ('toJSON' in value))\n return pair(value.toJSON());\n\n const entries = [];\n const index = as([TYPE, entries], value);\n for (const key of keys(value)) {\n if (strict || !shouldSkip(typeOf(value[key])))\n entries.push([pair(key), pair(value[key])]);\n }\n return index;\n }\n case DATE:\n return as([TYPE, value.toISOString()], value);\n case REGEXP: {\n const {source, flags} = value;\n return as([TYPE, {source, flags}], value);\n }\n case MAP: {\n const entries = [];\n const index = as([TYPE, entries], value);\n for (const [key, entry] of value) {\n if (strict || !(shouldSkip(typeOf(key)) || shouldSkip(typeOf(entry))))\n entries.push([pair(key), pair(entry)]);\n }\n return index;\n }\n case SET: {\n const entries = [];\n const index = as([TYPE, entries], value);\n for (const entry of value) {\n if (strict || !shouldSkip(typeOf(entry)))\n entries.push(pair(entry));\n }\n return index;\n }\n }\n\n const {message} = value;\n return as([TYPE, {name: type, message}], value);\n };\n\n return pair;\n};\n\n/**\n * @typedef {Array} Record a type representation\n */\n\n/**\n * Returns an array of serialized Records.\n * @param {any} value a serializable value.\n * @param {{json?: boolean, lossy?: boolean}?} options an object with a `lossy` or `json` property that,\n * if `true`, will not throw errors on incompatible types, and behave more\n * like JSON stringify would behave. Symbol and Function will be discarded.\n * @returns {Record[]}\n */\n export const serialize = (value, {json, lossy} = {}) => {\n const _ = [];\n return serializer(!(json || lossy), !!json, new Map, _)(value), _;\n};\n","import {deserialize} from './deserialize.js';\nimport {serialize} from './serialize.js';\n\n/**\n * @typedef {Array} Record a type representation\n */\n\n/**\n * Returns an array of serialized Records.\n * @param {any} any a serializable value.\n * @param {{transfer?: any[], json?: boolean, lossy?: boolean}?} options an object with\n * a transfer option (ignored when polyfilled) and/or non standard fields that\n * fallback to the polyfill if present.\n * @returns {Record[]}\n */\nexport default typeof structuredClone === \"function\" ?\n /* c8 ignore start */\n (any, options) => (\n options && ('json' in options || 'lossy' in options) ?\n deserialize(serialize(any, options)) : structuredClone(any)\n ) :\n (any, options) => deserialize(serialize(any, options));\n /* c8 ignore stop */\n\nexport {deserialize, serialize};\n","import { asciiAlphanumeric } from 'micromark-util-character';\nimport { encode } from 'micromark-util-encode';\n/**\n * Make a value safe for injection as a URL.\n *\n * This encodes unsafe characters with percent-encoding and skips already\n * encoded sequences (see `normalizeUri`).\n * Further unsafe characters are encoded as character references (see\n * `micromark-util-encode`).\n *\n * A regex of allowed protocols can be given, in which case the URL is\n * sanitized.\n * For example, `/^(https?|ircs?|mailto|xmpp)$/i` can be used for `a[href]`, or\n * `/^https?$/i` for `img[src]` (this is what `github.com` allows).\n * If the URL includes an unknown protocol (one not matched by `protocol`, such\n * as a dangerous example, `javascript:`), the value is ignored.\n *\n * @param {string | null | undefined} url\n * URI to sanitize.\n * @param {RegExp | null | undefined} [protocol]\n * Allowed protocols.\n * @returns {string}\n * Sanitized URI.\n */\nexport function sanitizeUri(url, protocol) {\n const value = encode(normalizeUri(url || ''));\n if (!protocol) {\n return value;\n }\n const colon = value.indexOf(':');\n const questionMark = value.indexOf('?');\n const numberSign = value.indexOf('#');\n const slash = value.indexOf('/');\n if (\n // If there is no protocol, it’s relative.\n colon < 0 ||\n // If the first colon is after a `?`, `#`, or `/`, it’s not a protocol.\n slash > -1 && colon > slash || questionMark > -1 && colon > questionMark || numberSign > -1 && colon > numberSign ||\n // It is a protocol, it should be allowed.\n protocol.test(value.slice(0, colon))) {\n return value;\n }\n return '';\n}\n\n/**\n * Normalize a URL.\n *\n * Encode unsafe characters with percent-encoding, skipping already encoded\n * sequences.\n *\n * @param {string} value\n * URI to normalize.\n * @returns {string}\n * Normalized URI.\n */\nexport function normalizeUri(value) {\n /** @type {Array} */\n const result = [];\n let index = -1;\n let start = 0;\n let skip = 0;\n while (++index < value.length) {\n const code = value.charCodeAt(index);\n /** @type {string} */\n let replace = '';\n\n // A correct percent encoded value.\n if (code === 37 && asciiAlphanumeric(value.charCodeAt(index + 1)) && asciiAlphanumeric(value.charCodeAt(index + 2))) {\n skip = 2;\n }\n // ASCII.\n else if (code < 128) {\n if (!/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(code))) {\n replace = String.fromCharCode(code);\n }\n }\n // Astral.\n else if (code > 55_295 && code < 57_344) {\n const next = value.charCodeAt(index + 1);\n\n // A correct surrogate pair.\n if (code < 56_320 && next > 56_319 && next < 57_344) {\n replace = String.fromCharCode(code, next);\n skip = 1;\n }\n // Lone surrogate.\n else {\n replace = \"\\uFFFD\";\n }\n }\n // Unicode.\n else {\n replace = String.fromCharCode(code);\n }\n if (replace) {\n result.push(value.slice(start, index), encodeURIComponent(replace));\n start = index + skip + 1;\n replace = '';\n }\n if (skip) {\n index += skip;\n skip = 0;\n }\n }\n return result.join('') + value.slice(start);\n}","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n *\n * @typedef {import('./state.js').State} State\n */\n\n/**\n * @callback FootnoteBackContentTemplate\n * Generate content for the backreference dynamically.\n *\n * For the following markdown:\n *\n * ```markdown\n * Alpha[^micromark], bravo[^micromark], and charlie[^remark].\n *\n * [^remark]: things about remark\n * [^micromark]: things about micromark\n * ```\n *\n * This function will be called with:\n *\n * * `0` and `0` for the backreference from `things about micromark` to\n * `alpha`, as it is the first used definition, and the first call to it\n * * `0` and `1` for the backreference from `things about micromark` to\n * `bravo`, as it is the first used definition, and the second call to it\n * * `1` and `0` for the backreference from `things about remark` to\n * `charlie`, as it is the second used definition\n * @param {number} referenceIndex\n * Index of the definition in the order that they are first referenced,\n * 0-indexed.\n * @param {number} rereferenceIndex\n * Index of calls to the same definition, 0-indexed.\n * @returns {Array | ElementContent | string}\n * Content for the backreference when linking back from definitions to their\n * reference.\n *\n * @callback FootnoteBackLabelTemplate\n * Generate a back label dynamically.\n *\n * For the following markdown:\n *\n * ```markdown\n * Alpha[^micromark], bravo[^micromark], and charlie[^remark].\n *\n * [^remark]: things about remark\n * [^micromark]: things about micromark\n * ```\n *\n * This function will be called with:\n *\n * * `0` and `0` for the backreference from `things about micromark` to\n * `alpha`, as it is the first used definition, and the first call to it\n * * `0` and `1` for the backreference from `things about micromark` to\n * `bravo`, as it is the first used definition, and the second call to it\n * * `1` and `0` for the backreference from `things about remark` to\n * `charlie`, as it is the second used definition\n * @param {number} referenceIndex\n * Index of the definition in the order that they are first referenced,\n * 0-indexed.\n * @param {number} rereferenceIndex\n * Index of calls to the same definition, 0-indexed.\n * @returns {string}\n * Back label to use when linking back from definitions to their reference.\n */\n\nimport structuredClone from '@ungap/structured-clone'\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Generate the default content that GitHub uses on backreferences.\n *\n * @param {number} _\n * Index of the definition in the order that they are first referenced,\n * 0-indexed.\n * @param {number} rereferenceIndex\n * Index of calls to the same definition, 0-indexed.\n * @returns {Array}\n * Content.\n */\nexport function defaultFootnoteBackContent(_, rereferenceIndex) {\n /** @type {Array} */\n const result = [{type: 'text', value: '↩'}]\n\n if (rereferenceIndex > 1) {\n result.push({\n type: 'element',\n tagName: 'sup',\n properties: {},\n children: [{type: 'text', value: String(rereferenceIndex)}]\n })\n }\n\n return result\n}\n\n/**\n * Generate the default label that GitHub uses on backreferences.\n *\n * @param {number} referenceIndex\n * Index of the definition in the order that they are first referenced,\n * 0-indexed.\n * @param {number} rereferenceIndex\n * Index of calls to the same definition, 0-indexed.\n * @returns {string}\n * Label.\n */\nexport function defaultFootnoteBackLabel(referenceIndex, rereferenceIndex) {\n return (\n 'Back to reference ' +\n (referenceIndex + 1) +\n (rereferenceIndex > 1 ? '-' + rereferenceIndex : '')\n )\n}\n\n/**\n * Generate a hast footer for called footnote definitions.\n *\n * @param {State} state\n * Info passed around.\n * @returns {Element | undefined}\n * `section` element or `undefined`.\n */\n// eslint-disable-next-line complexity\nexport function footer(state) {\n const clobberPrefix =\n typeof state.options.clobberPrefix === 'string'\n ? state.options.clobberPrefix\n : 'user-content-'\n const footnoteBackContent =\n state.options.footnoteBackContent || defaultFootnoteBackContent\n const footnoteBackLabel =\n state.options.footnoteBackLabel || defaultFootnoteBackLabel\n const footnoteLabel = state.options.footnoteLabel || 'Footnotes'\n const footnoteLabelTagName = state.options.footnoteLabelTagName || 'h2'\n const footnoteLabelProperties = state.options.footnoteLabelProperties || {\n className: ['sr-only']\n }\n /** @type {Array} */\n const listItems = []\n let referenceIndex = -1\n\n while (++referenceIndex < state.footnoteOrder.length) {\n const definition = state.footnoteById.get(\n state.footnoteOrder[referenceIndex]\n )\n\n if (!definition) {\n continue\n }\n\n const content = state.all(definition)\n const id = String(definition.identifier).toUpperCase()\n const safeId = normalizeUri(id.toLowerCase())\n let rereferenceIndex = 0\n /** @type {Array} */\n const backReferences = []\n const counts = state.footnoteCounts.get(id)\n\n // eslint-disable-next-line no-unmodified-loop-condition\n while (counts !== undefined && ++rereferenceIndex <= counts) {\n if (backReferences.length > 0) {\n backReferences.push({type: 'text', value: ' '})\n }\n\n let children =\n typeof footnoteBackContent === 'string'\n ? footnoteBackContent\n : footnoteBackContent(referenceIndex, rereferenceIndex)\n\n if (typeof children === 'string') {\n children = {type: 'text', value: children}\n }\n\n backReferences.push({\n type: 'element',\n tagName: 'a',\n properties: {\n href:\n '#' +\n clobberPrefix +\n 'fnref-' +\n safeId +\n (rereferenceIndex > 1 ? '-' + rereferenceIndex : ''),\n dataFootnoteBackref: '',\n ariaLabel:\n typeof footnoteBackLabel === 'string'\n ? footnoteBackLabel\n : footnoteBackLabel(referenceIndex, rereferenceIndex),\n className: ['data-footnote-backref']\n },\n children: Array.isArray(children) ? children : [children]\n })\n }\n\n const tail = content[content.length - 1]\n\n if (tail && tail.type === 'element' && tail.tagName === 'p') {\n const tailTail = tail.children[tail.children.length - 1]\n if (tailTail && tailTail.type === 'text') {\n tailTail.value += ' '\n } else {\n tail.children.push({type: 'text', value: ' '})\n }\n\n tail.children.push(...backReferences)\n } else {\n content.push(...backReferences)\n }\n\n /** @type {Element} */\n const listItem = {\n type: 'element',\n tagName: 'li',\n properties: {id: clobberPrefix + 'fn-' + safeId},\n children: state.wrap(content, true)\n }\n\n state.patch(definition, listItem)\n\n listItems.push(listItem)\n }\n\n if (listItems.length === 0) {\n return\n }\n\n return {\n type: 'element',\n tagName: 'section',\n properties: {dataFootnotes: true, className: ['footnotes']},\n children: [\n {\n type: 'element',\n tagName: footnoteLabelTagName,\n properties: {\n ...structuredClone(footnoteLabelProperties),\n id: 'footnote-label'\n },\n children: [{type: 'text', value: footnoteLabel}]\n },\n {type: 'text', value: '\\n'},\n {\n type: 'element',\n tagName: 'ol',\n properties: {},\n children: state.wrap(listItems, true)\n },\n {type: 'text', value: '\\n'}\n ]\n }\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Parent} Parent\n */\n\n/**\n * @template Fn\n * @template Fallback\n * @typedef {Fn extends (value: any) => value is infer Thing ? Thing : Fallback} Predicate\n */\n\n/**\n * @callback Check\n * Check that an arbitrary value is a node.\n * @param {unknown} this\n * The given context.\n * @param {unknown} [node]\n * Anything (typically a node).\n * @param {number | null | undefined} [index]\n * The node’s position in its parent.\n * @param {Parent | null | undefined} [parent]\n * The node’s parent.\n * @returns {boolean}\n * Whether this is a node and passes a test.\n *\n * @typedef {Record | Node} Props\n * Object to check for equivalence.\n *\n * Note: `Node` is included as it is common but is not indexable.\n *\n * @typedef {Array | Props | TestFunction | string | null | undefined} Test\n * Check for an arbitrary node.\n *\n * @callback TestFunction\n * Check if a node passes a test.\n * @param {unknown} this\n * The given context.\n * @param {Node} node\n * A node.\n * @param {number | undefined} [index]\n * The node’s position in its parent.\n * @param {Parent | undefined} [parent]\n * The node’s parent.\n * @returns {boolean | undefined | void}\n * Whether this node passes the test.\n *\n * Note: `void` is included until TS sees no return as `undefined`.\n */\n\n/**\n * Check if `node` is a `Node` and whether it passes the given test.\n *\n * @param {unknown} node\n * Thing to check, typically `Node`.\n * @param {Test} test\n * A check for a specific node.\n * @param {number | null | undefined} index\n * The node’s position in its parent.\n * @param {Parent | null | undefined} parent\n * The node’s parent.\n * @param {unknown} context\n * Context object (`this`) to pass to `test` functions.\n * @returns {boolean}\n * Whether `node` is a node and passes a test.\n */\nexport const is =\n // Note: overloads in JSDoc can’t yet use different `@template`s.\n /**\n * @type {(\n * ((node: unknown, test: Condition, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & {type: Condition}) &\n * ((node: unknown, test: Condition, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Condition) &\n * ((node: unknown, test: Condition, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Predicate) &\n * ((node?: null | undefined) => false) &\n * ((node: unknown, test?: null | undefined, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node) &\n * ((node: unknown, test?: Test, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => boolean)\n * )}\n */\n (\n /**\n * @param {unknown} [node]\n * @param {Test} [test]\n * @param {number | null | undefined} [index]\n * @param {Parent | null | undefined} [parent]\n * @param {unknown} [context]\n * @returns {boolean}\n */\n // eslint-disable-next-line max-params\n function (node, test, index, parent, context) {\n const check = convert(test)\n\n if (\n index !== undefined &&\n index !== null &&\n (typeof index !== 'number' ||\n index < 0 ||\n index === Number.POSITIVE_INFINITY)\n ) {\n throw new Error('Expected positive finite index')\n }\n\n if (\n parent !== undefined &&\n parent !== null &&\n (!is(parent) || !parent.children)\n ) {\n throw new Error('Expected parent node')\n }\n\n if (\n (parent === undefined || parent === null) !==\n (index === undefined || index === null)\n ) {\n throw new Error('Expected both parent and index')\n }\n\n return looksLikeANode(node)\n ? check.call(context, node, index, parent)\n : false\n }\n )\n\n/**\n * Generate an assertion from a test.\n *\n * Useful if you’re going to test many nodes, for example when creating a\n * utility where something else passes a compatible test.\n *\n * The created function is a bit faster because it expects valid input only:\n * a `node`, `index`, and `parent`.\n *\n * @param {Test} test\n * * when nullish, checks if `node` is a `Node`.\n * * when `string`, works like passing `(node) => node.type === test`.\n * * when `function` checks if function passed the node is true.\n * * when `object`, checks that all keys in test are in node, and that they have (strictly) equal values.\n * * when `array`, checks if any one of the subtests pass.\n * @returns {Check}\n * An assertion.\n */\nexport const convert =\n // Note: overloads in JSDoc can’t yet use different `@template`s.\n /**\n * @type {(\n * ((test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & {type: Condition}) &\n * ((test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Condition) &\n * ((test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Predicate) &\n * ((test?: null | undefined) => (node?: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node) &\n * ((test?: Test) => Check)\n * )}\n */\n (\n /**\n * @param {Test} [test]\n * @returns {Check}\n */\n function (test) {\n if (test === null || test === undefined) {\n return ok\n }\n\n if (typeof test === 'function') {\n return castFactory(test)\n }\n\n if (typeof test === 'object') {\n return Array.isArray(test) ? anyFactory(test) : propsFactory(test)\n }\n\n if (typeof test === 'string') {\n return typeFactory(test)\n }\n\n throw new Error('Expected function, string, or object as test')\n }\n )\n\n/**\n * @param {Array} tests\n * @returns {Check}\n */\nfunction anyFactory(tests) {\n /** @type {Array} */\n const checks = []\n let index = -1\n\n while (++index < tests.length) {\n checks[index] = convert(tests[index])\n }\n\n return castFactory(any)\n\n /**\n * @this {unknown}\n * @type {TestFunction}\n */\n function any(...parameters) {\n let index = -1\n\n while (++index < checks.length) {\n if (checks[index].apply(this, parameters)) return true\n }\n\n return false\n }\n}\n\n/**\n * Turn an object into a test for a node with a certain fields.\n *\n * @param {Props} check\n * @returns {Check}\n */\nfunction propsFactory(check) {\n const checkAsRecord = /** @type {Record} */ (check)\n\n return castFactory(all)\n\n /**\n * @param {Node} node\n * @returns {boolean}\n */\n function all(node) {\n const nodeAsRecord = /** @type {Record} */ (\n /** @type {unknown} */ (node)\n )\n\n /** @type {string} */\n let key\n\n for (key in check) {\n if (nodeAsRecord[key] !== checkAsRecord[key]) return false\n }\n\n return true\n }\n}\n\n/**\n * Turn a string into a test for a node with a certain type.\n *\n * @param {string} check\n * @returns {Check}\n */\nfunction typeFactory(check) {\n return castFactory(type)\n\n /**\n * @param {Node} node\n */\n function type(node) {\n return node && node.type === check\n }\n}\n\n/**\n * Turn a custom test into a test for a node that passes that test.\n *\n * @param {TestFunction} testFunction\n * @returns {Check}\n */\nfunction castFactory(testFunction) {\n return check\n\n /**\n * @this {unknown}\n * @type {Check}\n */\n function check(value, index, parent) {\n return Boolean(\n looksLikeANode(value) &&\n testFunction.call(\n this,\n value,\n typeof index === 'number' ? index : undefined,\n parent || undefined\n )\n )\n }\n}\n\nfunction ok() {\n return true\n}\n\n/**\n * @param {unknown} value\n * @returns {value is Node}\n */\nfunction looksLikeANode(value) {\n return value !== null && typeof value === 'object' && 'type' in value\n}\n","/**\n * @typedef {import('unist').Node} UnistNode\n * @typedef {import('unist').Parent} UnistParent\n */\n\n/**\n * @typedef {Exclude | undefined} Test\n * Test from `unist-util-is`.\n *\n * Note: we have remove and add `undefined`, because otherwise when generating\n * automatic `.d.ts` files, TS tries to flatten paths from a local perspective,\n * which doesn’t work when publishing on npm.\n */\n\n/**\n * @typedef {(\n * Fn extends (value: any) => value is infer Thing\n * ? Thing\n * : Fallback\n * )} Predicate\n * Get the value of a type guard `Fn`.\n * @template Fn\n * Value; typically function that is a type guard (such as `(x): x is Y`).\n * @template Fallback\n * Value to yield if `Fn` is not a type guard.\n */\n\n/**\n * @typedef {(\n * Check extends null | undefined // No test.\n * ? Value\n * : Value extends {type: Check} // String (type) test.\n * ? Value\n * : Value extends Check // Partial test.\n * ? Value\n * : Check extends Function // Function test.\n * ? Predicate extends Value\n * ? Predicate\n * : never\n * : never // Some other test?\n * )} MatchesOne\n * Check whether a node matches a primitive check in the type system.\n * @template Value\n * Value; typically unist `Node`.\n * @template Check\n * Value; typically `unist-util-is`-compatible test, but not arrays.\n */\n\n/**\n * @typedef {(\n * Check extends Array\n * ? MatchesOne\n * : MatchesOne\n * )} Matches\n * Check whether a node matches a check in the type system.\n * @template Value\n * Value; typically unist `Node`.\n * @template Check\n * Value; typically `unist-util-is`-compatible test.\n */\n\n/**\n * @typedef {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10} Uint\n * Number; capped reasonably.\n */\n\n/**\n * @typedef {I extends 0 ? 1 : I extends 1 ? 2 : I extends 2 ? 3 : I extends 3 ? 4 : I extends 4 ? 5 : I extends 5 ? 6 : I extends 6 ? 7 : I extends 7 ? 8 : I extends 8 ? 9 : 10} Increment\n * Increment a number in the type system.\n * @template {Uint} [I=0]\n * Index.\n */\n\n/**\n * @typedef {(\n * Node extends UnistParent\n * ? Node extends {children: Array}\n * ? Child extends Children ? Node : never\n * : never\n * : never\n * )} InternalParent\n * Collect nodes that can be parents of `Child`.\n * @template {UnistNode} Node\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n */\n\n/**\n * @typedef {InternalParent, Child>} Parent\n * Collect nodes in `Tree` that can be parents of `Child`.\n * @template {UnistNode} Tree\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n */\n\n/**\n * @typedef {(\n * Depth extends Max\n * ? never\n * :\n * | InternalParent\n * | InternalAncestor, Max, Increment>\n * )} InternalAncestor\n * Collect nodes in `Tree` that can be ancestors of `Child`.\n * @template {UnistNode} Node\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n * @template {Uint} [Max=10]\n * Max; searches up to this depth.\n * @template {Uint} [Depth=0]\n * Current depth.\n */\n\n/**\n * @typedef {InternalAncestor, Child>} Ancestor\n * Collect nodes in `Tree` that can be ancestors of `Child`.\n * @template {UnistNode} Tree\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n */\n\n/**\n * @typedef {(\n * Tree extends UnistParent\n * ? Depth extends Max\n * ? Tree\n * : Tree | InclusiveDescendant>\n * : Tree\n * )} InclusiveDescendant\n * Collect all (inclusive) descendants of `Tree`.\n *\n * > 👉 **Note**: for performance reasons, this seems to be the fastest way to\n * > recurse without actually running into an infinite loop, which the\n * > previous version did.\n * >\n * > Practically, a max of `2` is typically enough assuming a `Root` is\n * > passed, but it doesn’t improve performance.\n * > It gets higher with `List > ListItem > Table > TableRow > TableCell`.\n * > Using up to `10` doesn’t hurt or help either.\n * @template {UnistNode} Tree\n * Tree type.\n * @template {Uint} [Max=10]\n * Max; searches up to this depth.\n * @template {Uint} [Depth=0]\n * Current depth.\n */\n\n/**\n * @typedef {'skip' | boolean} Action\n * Union of the action types.\n *\n * @typedef {number} Index\n * Move to the sibling at `index` next (after node itself is completely\n * traversed).\n *\n * Useful if mutating the tree, such as removing the node the visitor is\n * currently on, or any of its previous siblings.\n * Results less than 0 or greater than or equal to `children.length` stop\n * traversing the parent.\n *\n * @typedef {[(Action | null | undefined | void)?, (Index | null | undefined)?]} ActionTuple\n * List with one or two values, the first an action, the second an index.\n *\n * @typedef {Action | ActionTuple | Index | null | undefined | void} VisitorResult\n * Any value that can be returned from a visitor.\n */\n\n/**\n * @callback Visitor\n * Handle a node (matching `test`, if given).\n *\n * Visitors are free to transform `node`.\n * They can also transform the parent of node (the last of `ancestors`).\n *\n * Replacing `node` itself, if `SKIP` is not returned, still causes its\n * descendants to be walked (which is a bug).\n *\n * When adding or removing previous siblings of `node` (or next siblings, in\n * case of reverse), the `Visitor` should return a new `Index` to specify the\n * sibling to traverse after `node` is traversed.\n * Adding or removing next siblings of `node` (or previous siblings, in case\n * of reverse) is handled as expected without needing to return a new `Index`.\n *\n * Removing the children property of an ancestor still results in them being\n * traversed.\n * @param {Visited} node\n * Found node.\n * @param {Array} ancestors\n * Ancestors of `node`.\n * @returns {VisitorResult}\n * What to do next.\n *\n * An `Index` is treated as a tuple of `[CONTINUE, Index]`.\n * An `Action` is treated as a tuple of `[Action]`.\n *\n * Passing a tuple back only makes sense if the `Action` is `SKIP`.\n * When the `Action` is `EXIT`, that action can be returned.\n * When the `Action` is `CONTINUE`, `Index` can be returned.\n * @template {UnistNode} [Visited=UnistNode]\n * Visited node type.\n * @template {UnistParent} [VisitedParents=UnistParent]\n * Ancestor type.\n */\n\n/**\n * @typedef {Visitor, Check>, Ancestor, Check>>>} BuildVisitor\n * Build a typed `Visitor` function from a tree and a test.\n *\n * It will infer which values are passed as `node` and which as `parents`.\n * @template {UnistNode} [Tree=UnistNode]\n * Tree type.\n * @template {Test} [Check=Test]\n * Test type.\n */\n\nimport {convert} from 'unist-util-is'\nimport {color} from 'unist-util-visit-parents/do-not-use-color'\n\n/** @type {Readonly} */\nconst empty = []\n\n/**\n * Continue traversing as normal.\n */\nexport const CONTINUE = true\n\n/**\n * Stop traversing immediately.\n */\nexport const EXIT = false\n\n/**\n * Do not traverse this node’s children.\n */\nexport const SKIP = 'skip'\n\n/**\n * Visit nodes, with ancestral information.\n *\n * This algorithm performs *depth-first* *tree traversal* in *preorder*\n * (**NLR**) or if `reverse` is given, in *reverse preorder* (**NRL**).\n *\n * You can choose for which nodes `visitor` is called by passing a `test`.\n * For complex tests, you should test yourself in `visitor`, as it will be\n * faster and will have improved type information.\n *\n * Walking the tree is an intensive task.\n * Make use of the return values of the visitor when possible.\n * Instead of walking a tree multiple times, walk it once, use `unist-util-is`\n * to check if a node matches, and then perform different operations.\n *\n * You can change the tree.\n * See `Visitor` for more info.\n *\n * @overload\n * @param {Tree} tree\n * @param {Check} check\n * @param {BuildVisitor} visitor\n * @param {boolean | null | undefined} [reverse]\n * @returns {undefined}\n *\n * @overload\n * @param {Tree} tree\n * @param {BuildVisitor} visitor\n * @param {boolean | null | undefined} [reverse]\n * @returns {undefined}\n *\n * @param {UnistNode} tree\n * Tree to traverse.\n * @param {Visitor | Test} test\n * `unist-util-is`-compatible test\n * @param {Visitor | boolean | null | undefined} [visitor]\n * Handle each node.\n * @param {boolean | null | undefined} [reverse]\n * Traverse in reverse preorder (NRL) instead of the default preorder (NLR).\n * @returns {undefined}\n * Nothing.\n *\n * @template {UnistNode} Tree\n * Node type.\n * @template {Test} Check\n * `unist-util-is`-compatible test.\n */\nexport function visitParents(tree, test, visitor, reverse) {\n /** @type {Test} */\n let check\n\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n // @ts-expect-error no visitor given, so `visitor` is test.\n visitor = test\n } else {\n // @ts-expect-error visitor given, so `test` isn’t a visitor.\n check = test\n }\n\n const is = convert(check)\n const step = reverse ? -1 : 1\n\n factory(tree, undefined, [])()\n\n /**\n * @param {UnistNode} node\n * @param {number | undefined} index\n * @param {Array} parents\n */\n function factory(node, index, parents) {\n const value = /** @type {Record} */ (\n node && typeof node === 'object' ? node : {}\n )\n\n if (typeof value.type === 'string') {\n const name =\n // `hast`\n typeof value.tagName === 'string'\n ? value.tagName\n : // `xast`\n typeof value.name === 'string'\n ? value.name\n : undefined\n\n Object.defineProperty(visit, 'name', {\n value:\n 'node (' + color(node.type + (name ? '<' + name + '>' : '')) + ')'\n })\n }\n\n return visit\n\n function visit() {\n /** @type {Readonly} */\n let result = empty\n /** @type {Readonly} */\n let subresult\n /** @type {number} */\n let offset\n /** @type {Array} */\n let grandparents\n\n if (!test || is(node, index, parents[parents.length - 1] || undefined)) {\n // @ts-expect-error: `visitor` is now a visitor.\n result = toResult(visitor(node, parents))\n\n if (result[0] === EXIT) {\n return result\n }\n }\n\n if ('children' in node && node.children) {\n const nodeAsParent = /** @type {UnistParent} */ (node)\n\n if (nodeAsParent.children && result[0] !== SKIP) {\n offset = (reverse ? nodeAsParent.children.length : -1) + step\n grandparents = parents.concat(nodeAsParent)\n\n while (offset > -1 && offset < nodeAsParent.children.length) {\n const child = nodeAsParent.children[offset]\n\n subresult = factory(child, offset, grandparents)()\n\n if (subresult[0] === EXIT) {\n return subresult\n }\n\n offset =\n typeof subresult[1] === 'number' ? subresult[1] : offset + step\n }\n }\n }\n\n return result\n }\n }\n}\n\n/**\n * Turn a return value into a clean result.\n *\n * @param {VisitorResult} value\n * Valid return values from visitors.\n * @returns {Readonly}\n * Clean result.\n */\nfunction toResult(value) {\n if (Array.isArray(value)) {\n return value\n }\n\n if (typeof value === 'number') {\n return [CONTINUE, value]\n }\n\n return value === null || value === undefined ? empty : [value]\n}\n","/**\n * @typedef {import('unist').Node} UnistNode\n * @typedef {import('unist').Parent} UnistParent\n * @typedef {import('unist-util-visit-parents').VisitorResult} VisitorResult\n */\n\n/**\n * @typedef {Exclude | undefined} Test\n * Test from `unist-util-is`.\n *\n * Note: we have remove and add `undefined`, because otherwise when generating\n * automatic `.d.ts` files, TS tries to flatten paths from a local perspective,\n * which doesn’t work when publishing on npm.\n */\n\n// To do: use types from `unist-util-visit-parents` when it’s released.\n\n/**\n * @typedef {(\n * Fn extends (value: any) => value is infer Thing\n * ? Thing\n * : Fallback\n * )} Predicate\n * Get the value of a type guard `Fn`.\n * @template Fn\n * Value; typically function that is a type guard (such as `(x): x is Y`).\n * @template Fallback\n * Value to yield if `Fn` is not a type guard.\n */\n\n/**\n * @typedef {(\n * Check extends null | undefined // No test.\n * ? Value\n * : Value extends {type: Check} // String (type) test.\n * ? Value\n * : Value extends Check // Partial test.\n * ? Value\n * : Check extends Function // Function test.\n * ? Predicate extends Value\n * ? Predicate\n * : never\n * : never // Some other test?\n * )} MatchesOne\n * Check whether a node matches a primitive check in the type system.\n * @template Value\n * Value; typically unist `Node`.\n * @template Check\n * Value; typically `unist-util-is`-compatible test, but not arrays.\n */\n\n/**\n * @typedef {(\n * Check extends Array\n * ? MatchesOne\n * : MatchesOne\n * )} Matches\n * Check whether a node matches a check in the type system.\n * @template Value\n * Value; typically unist `Node`.\n * @template Check\n * Value; typically `unist-util-is`-compatible test.\n */\n\n/**\n * @typedef {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10} Uint\n * Number; capped reasonably.\n */\n\n/**\n * @typedef {I extends 0 ? 1 : I extends 1 ? 2 : I extends 2 ? 3 : I extends 3 ? 4 : I extends 4 ? 5 : I extends 5 ? 6 : I extends 6 ? 7 : I extends 7 ? 8 : I extends 8 ? 9 : 10} Increment\n * Increment a number in the type system.\n * @template {Uint} [I=0]\n * Index.\n */\n\n/**\n * @typedef {(\n * Node extends UnistParent\n * ? Node extends {children: Array}\n * ? Child extends Children ? Node : never\n * : never\n * : never\n * )} InternalParent\n * Collect nodes that can be parents of `Child`.\n * @template {UnistNode} Node\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n */\n\n/**\n * @typedef {InternalParent, Child>} Parent\n * Collect nodes in `Tree` that can be parents of `Child`.\n * @template {UnistNode} Tree\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n */\n\n/**\n * @typedef {(\n * Depth extends Max\n * ? never\n * :\n * | InternalParent\n * | InternalAncestor, Max, Increment>\n * )} InternalAncestor\n * Collect nodes in `Tree` that can be ancestors of `Child`.\n * @template {UnistNode} Node\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n * @template {Uint} [Max=10]\n * Max; searches up to this depth.\n * @template {Uint} [Depth=0]\n * Current depth.\n */\n\n/**\n * @typedef {(\n * Tree extends UnistParent\n * ? Depth extends Max\n * ? Tree\n * : Tree | InclusiveDescendant>\n * : Tree\n * )} InclusiveDescendant\n * Collect all (inclusive) descendants of `Tree`.\n *\n * > 👉 **Note**: for performance reasons, this seems to be the fastest way to\n * > recurse without actually running into an infinite loop, which the\n * > previous version did.\n * >\n * > Practically, a max of `2` is typically enough assuming a `Root` is\n * > passed, but it doesn’t improve performance.\n * > It gets higher with `List > ListItem > Table > TableRow > TableCell`.\n * > Using up to `10` doesn’t hurt or help either.\n * @template {UnistNode} Tree\n * Tree type.\n * @template {Uint} [Max=10]\n * Max; searches up to this depth.\n * @template {Uint} [Depth=0]\n * Current depth.\n */\n\n/**\n * @callback Visitor\n * Handle a node (matching `test`, if given).\n *\n * Visitors are free to transform `node`.\n * They can also transform `parent`.\n *\n * Replacing `node` itself, if `SKIP` is not returned, still causes its\n * descendants to be walked (which is a bug).\n *\n * When adding or removing previous siblings of `node` (or next siblings, in\n * case of reverse), the `Visitor` should return a new `Index` to specify the\n * sibling to traverse after `node` is traversed.\n * Adding or removing next siblings of `node` (or previous siblings, in case\n * of reverse) is handled as expected without needing to return a new `Index`.\n *\n * Removing the children property of `parent` still results in them being\n * traversed.\n * @param {Visited} node\n * Found node.\n * @param {Visited extends UnistNode ? number | undefined : never} index\n * Index of `node` in `parent`.\n * @param {Ancestor extends UnistParent ? Ancestor | undefined : never} parent\n * Parent of `node`.\n * @returns {VisitorResult}\n * What to do next.\n *\n * An `Index` is treated as a tuple of `[CONTINUE, Index]`.\n * An `Action` is treated as a tuple of `[Action]`.\n *\n * Passing a tuple back only makes sense if the `Action` is `SKIP`.\n * When the `Action` is `EXIT`, that action can be returned.\n * When the `Action` is `CONTINUE`, `Index` can be returned.\n * @template {UnistNode} [Visited=UnistNode]\n * Visited node type.\n * @template {UnistParent} [Ancestor=UnistParent]\n * Ancestor type.\n */\n\n/**\n * @typedef {Visitor>} BuildVisitorFromMatch\n * Build a typed `Visitor` function from a node and all possible parents.\n *\n * It will infer which values are passed as `node` and which as `parent`.\n * @template {UnistNode} Visited\n * Node type.\n * @template {UnistParent} Ancestor\n * Parent type.\n */\n\n/**\n * @typedef {(\n * BuildVisitorFromMatch<\n * Matches,\n * Extract\n * >\n * )} BuildVisitorFromDescendants\n * Build a typed `Visitor` function from a list of descendants and a test.\n *\n * It will infer which values are passed as `node` and which as `parent`.\n * @template {UnistNode} Descendant\n * Node type.\n * @template {Test} Check\n * Test type.\n */\n\n/**\n * @typedef {(\n * BuildVisitorFromDescendants<\n * InclusiveDescendant,\n * Check\n * >\n * )} BuildVisitor\n * Build a typed `Visitor` function from a tree and a test.\n *\n * It will infer which values are passed as `node` and which as `parent`.\n * @template {UnistNode} [Tree=UnistNode]\n * Node type.\n * @template {Test} [Check=Test]\n * Test type.\n */\n\nimport {visitParents} from 'unist-util-visit-parents'\n\nexport {CONTINUE, EXIT, SKIP} from 'unist-util-visit-parents'\n\n/**\n * Visit nodes.\n *\n * This algorithm performs *depth-first* *tree traversal* in *preorder*\n * (**NLR**) or if `reverse` is given, in *reverse preorder* (**NRL**).\n *\n * You can choose for which nodes `visitor` is called by passing a `test`.\n * For complex tests, you should test yourself in `visitor`, as it will be\n * faster and will have improved type information.\n *\n * Walking the tree is an intensive task.\n * Make use of the return values of the visitor when possible.\n * Instead of walking a tree multiple times, walk it once, use `unist-util-is`\n * to check if a node matches, and then perform different operations.\n *\n * You can change the tree.\n * See `Visitor` for more info.\n *\n * @overload\n * @param {Tree} tree\n * @param {Check} check\n * @param {BuildVisitor} visitor\n * @param {boolean | null | undefined} [reverse]\n * @returns {undefined}\n *\n * @overload\n * @param {Tree} tree\n * @param {BuildVisitor} visitor\n * @param {boolean | null | undefined} [reverse]\n * @returns {undefined}\n *\n * @param {UnistNode} tree\n * Tree to traverse.\n * @param {Visitor | Test} testOrVisitor\n * `unist-util-is`-compatible test (optional, omit to pass a visitor).\n * @param {Visitor | boolean | null | undefined} [visitorOrReverse]\n * Handle each node (when test is omitted, pass `reverse`).\n * @param {boolean | null | undefined} [maybeReverse=false]\n * Traverse in reverse preorder (NRL) instead of the default preorder (NLR).\n * @returns {undefined}\n * Nothing.\n *\n * @template {UnistNode} Tree\n * Node type.\n * @template {Test} Check\n * `unist-util-is`-compatible test.\n */\nexport function visit(tree, testOrVisitor, visitorOrReverse, maybeReverse) {\n /** @type {boolean | null | undefined} */\n let reverse\n /** @type {Test} */\n let test\n /** @type {Visitor} */\n let visitor\n\n if (\n typeof testOrVisitor === 'function' &&\n typeof visitorOrReverse !== 'function'\n ) {\n test = undefined\n visitor = testOrVisitor\n reverse = visitorOrReverse\n } else {\n // @ts-expect-error: assume the overload with test was given.\n test = testOrVisitor\n // @ts-expect-error: assume the overload with test was given.\n visitor = visitorOrReverse\n reverse = maybeReverse\n }\n\n visitParents(tree, test, overload, reverse)\n\n /**\n * @param {UnistNode} node\n * @param {Array} parents\n */\n function overload(node, parents) {\n const parent = parents[parents.length - 1]\n const index = parent ? parent.children.indexOf(node) : undefined\n return visitor(node, index, parent)\n }\n}\n","/**\n * @typedef {import('hast').ElementContent} ElementContent\n *\n * @typedef {import('mdast').Nodes} Nodes\n * @typedef {import('mdast').Reference} Reference\n *\n * @typedef {import('./state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Return the content of a reference without definition as plain text.\n *\n * @param {State} state\n * Info passed around.\n * @param {Extract} node\n * Reference node (image, link).\n * @returns {Array}\n * hast content.\n */\nexport function revert(state, node) {\n const subtype = node.referenceType\n let suffix = ']'\n\n if (subtype === 'collapsed') {\n suffix += '[]'\n } else if (subtype === 'full') {\n suffix += '[' + (node.label || node.identifier) + ']'\n }\n\n if (node.type === 'imageReference') {\n return [{type: 'text', value: '![' + node.alt + suffix}]\n }\n\n const contents = state.all(node)\n const head = contents[0]\n\n if (head && head.type === 'text') {\n head.value = '[' + head.value\n } else {\n contents.unshift({type: 'text', value: '['})\n }\n\n const tail = contents[contents.length - 1]\n\n if (tail && tail.type === 'text') {\n tail.value += suffix\n } else {\n contents.push({type: 'text', value: suffix})\n }\n\n return contents\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').ListItem} ListItem\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `listItem` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {ListItem} node\n * mdast node.\n * @param {Parents | undefined} parent\n * Parent of `node`.\n * @returns {Element}\n * hast node.\n */\nexport function listItem(state, node, parent) {\n const results = state.all(node)\n const loose = parent ? listLoose(parent) : listItemLoose(node)\n /** @type {Properties} */\n const properties = {}\n /** @type {Array} */\n const children = []\n\n if (typeof node.checked === 'boolean') {\n const head = results[0]\n /** @type {Element} */\n let paragraph\n\n if (head && head.type === 'element' && head.tagName === 'p') {\n paragraph = head\n } else {\n paragraph = {type: 'element', tagName: 'p', properties: {}, children: []}\n results.unshift(paragraph)\n }\n\n if (paragraph.children.length > 0) {\n paragraph.children.unshift({type: 'text', value: ' '})\n }\n\n paragraph.children.unshift({\n type: 'element',\n tagName: 'input',\n properties: {type: 'checkbox', checked: node.checked, disabled: true},\n children: []\n })\n\n // According to github-markdown-css, this class hides bullet.\n // See: .\n properties.className = ['task-list-item']\n }\n\n let index = -1\n\n while (++index < results.length) {\n const child = results[index]\n\n // Add eols before nodes, except if this is a loose, first paragraph.\n if (\n loose ||\n index !== 0 ||\n child.type !== 'element' ||\n child.tagName !== 'p'\n ) {\n children.push({type: 'text', value: '\\n'})\n }\n\n if (child.type === 'element' && child.tagName === 'p' && !loose) {\n children.push(...child.children)\n } else {\n children.push(child)\n }\n }\n\n const tail = results[results.length - 1]\n\n // Add a final eol.\n if (tail && (loose || tail.type !== 'element' || tail.tagName !== 'p')) {\n children.push({type: 'text', value: '\\n'})\n }\n\n /** @type {Element} */\n const result = {type: 'element', tagName: 'li', properties, children}\n state.patch(node, result)\n return state.applyData(node, result)\n}\n\n/**\n * @param {Parents} node\n * @return {Boolean}\n */\nfunction listLoose(node) {\n let loose = false\n if (node.type === 'list') {\n loose = node.spread || false\n const children = node.children\n let index = -1\n\n while (!loose && ++index < children.length) {\n loose = listItemLoose(children[index])\n }\n }\n\n return loose\n}\n\n/**\n * @param {ListItem} node\n * @return {Boolean}\n */\nfunction listItemLoose(node) {\n const spread = node.spread\n\n return spread === null || spread === undefined\n ? node.children.length > 1\n : spread\n}\n","const tab = 9 /* `\\t` */\nconst space = 32 /* ` ` */\n\n/**\n * Remove initial and final spaces and tabs at the line breaks in `value`.\n * Does not trim initial and final spaces and tabs of the value itself.\n *\n * @param {string} value\n * Value to trim.\n * @returns {string}\n * Trimmed value.\n */\nexport function trimLines(value) {\n const source = String(value)\n const search = /\\r?\\n|\\r/g\n let match = search.exec(source)\n let last = 0\n /** @type {Array} */\n const lines = []\n\n while (match) {\n lines.push(\n trimLine(source.slice(last, match.index), last > 0, true),\n match[0]\n )\n\n last = match.index + match[0].length\n match = search.exec(source)\n }\n\n lines.push(trimLine(source.slice(last), last > 0, false))\n\n return lines.join('')\n}\n\n/**\n * @param {string} value\n * Line to trim.\n * @param {boolean} start\n * Whether to trim the start of the line.\n * @param {boolean} end\n * Whether to trim the end of the line.\n * @returns {string}\n * Trimmed line.\n */\nfunction trimLine(value, start, end) {\n let startIndex = 0\n let endIndex = value.length\n\n if (start) {\n let code = value.codePointAt(startIndex)\n\n while (code === tab || code === space) {\n startIndex++\n code = value.codePointAt(startIndex)\n }\n }\n\n if (end) {\n let code = value.codePointAt(endIndex - 1)\n\n while (code === tab || code === space) {\n endIndex--\n code = value.codePointAt(endIndex - 1)\n }\n }\n\n return endIndex > startIndex ? value.slice(startIndex, endIndex) : ''\n}\n","import {blockquote} from './blockquote.js'\nimport {hardBreak} from './break.js'\nimport {code} from './code.js'\nimport {strikethrough} from './delete.js'\nimport {emphasis} from './emphasis.js'\nimport {footnoteReference} from './footnote-reference.js'\nimport {heading} from './heading.js'\nimport {html} from './html.js'\nimport {imageReference} from './image-reference.js'\nimport {image} from './image.js'\nimport {inlineCode} from './inline-code.js'\nimport {linkReference} from './link-reference.js'\nimport {link} from './link.js'\nimport {listItem} from './list-item.js'\nimport {list} from './list.js'\nimport {paragraph} from './paragraph.js'\nimport {root} from './root.js'\nimport {strong} from './strong.js'\nimport {table} from './table.js'\nimport {tableRow} from './table-row.js'\nimport {tableCell} from './table-cell.js'\nimport {text} from './text.js'\nimport {thematicBreak} from './thematic-break.js'\n\n/**\n * Default handlers for nodes.\n *\n * @satisfies {import('../state.js').Handlers}\n */\nexport const handlers = {\n blockquote,\n break: hardBreak,\n code,\n delete: strikethrough,\n emphasis,\n footnoteReference,\n heading,\n html,\n imageReference,\n image,\n inlineCode,\n linkReference,\n link,\n listItem,\n list,\n paragraph,\n // @ts-expect-error: root is different, but hard to type.\n root,\n strong,\n table,\n tableCell,\n tableRow,\n text,\n thematicBreak,\n toml: ignore,\n yaml: ignore,\n definition: ignore,\n footnoteDefinition: ignore\n}\n\n// Return nothing for nodes that are ignored.\nfunction ignore() {\n return undefined\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Blockquote} Blockquote\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `blockquote` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Blockquote} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function blockquote(state, node) {\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'blockquote',\n properties: {},\n children: state.wrap(state.all(node), true)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Text} Text\n * @typedef {import('mdast').Break} Break\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `break` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Break} node\n * mdast node.\n * @returns {Array}\n * hast element content.\n */\nexport function hardBreak(state, node) {\n /** @type {Element} */\n const result = {type: 'element', tagName: 'br', properties: {}, children: []}\n state.patch(node, result)\n return [state.applyData(node, result), {type: 'text', value: '\\n'}]\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').Code} Code\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `code` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Code} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function code(state, node) {\n const value = node.value ? node.value + '\\n' : ''\n /** @type {Properties} */\n const properties = {}\n\n if (node.lang) {\n properties.className = ['language-' + node.lang]\n }\n\n // Create ``.\n /** @type {Element} */\n let result = {\n type: 'element',\n tagName: 'code',\n properties,\n children: [{type: 'text', value}]\n }\n\n if (node.meta) {\n result.data = {meta: node.meta}\n }\n\n state.patch(node, result)\n result = state.applyData(node, result)\n\n // Create `
`.\n  result = {type: 'element', tagName: 'pre', properties: {}, children: [result]}\n  state.patch(node, result)\n  return result\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Delete} Delete\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `delete` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Delete} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function strikethrough(state, node) {\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'del',\n    properties: {},\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Emphasis} Emphasis\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `emphasis` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Emphasis} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function emphasis(state, node) {\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'em',\n    properties: {},\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').FootnoteReference} FootnoteReference\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Turn an mdast `footnoteReference` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {FootnoteReference} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function footnoteReference(state, node) {\n  const clobberPrefix =\n    typeof state.options.clobberPrefix === 'string'\n      ? state.options.clobberPrefix\n      : 'user-content-'\n  const id = String(node.identifier).toUpperCase()\n  const safeId = normalizeUri(id.toLowerCase())\n  const index = state.footnoteOrder.indexOf(id)\n  /** @type {number} */\n  let counter\n\n  let reuseCounter = state.footnoteCounts.get(id)\n\n  if (reuseCounter === undefined) {\n    reuseCounter = 0\n    state.footnoteOrder.push(id)\n    counter = state.footnoteOrder.length\n  } else {\n    counter = index + 1\n  }\n\n  reuseCounter += 1\n  state.footnoteCounts.set(id, reuseCounter)\n\n  /** @type {Element} */\n  const link = {\n    type: 'element',\n    tagName: 'a',\n    properties: {\n      href: '#' + clobberPrefix + 'fn-' + safeId,\n      id:\n        clobberPrefix +\n        'fnref-' +\n        safeId +\n        (reuseCounter > 1 ? '-' + reuseCounter : ''),\n      dataFootnoteRef: true,\n      ariaDescribedBy: ['footnote-label']\n    },\n    children: [{type: 'text', value: String(counter)}]\n  }\n  state.patch(node, link)\n\n  /** @type {Element} */\n  const sup = {\n    type: 'element',\n    tagName: 'sup',\n    properties: {},\n    children: [link]\n  }\n  state.patch(node, sup)\n  return state.applyData(node, sup)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Heading} Heading\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `heading` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Heading} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function heading(state, node) {\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'h' + node.depth,\n    properties: {},\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Html} Html\n * @typedef {import('../state.js').State} State\n * @typedef {import('../../index.js').Raw} Raw\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `html` node into hast (`raw` node in dangerous mode, otherwise\n * nothing).\n *\n * @param {State} state\n *   Info passed around.\n * @param {Html} node\n *   mdast node.\n * @returns {Element | Raw | undefined}\n *   hast node.\n */\nexport function html(state, node) {\n  if (state.options.allowDangerousHtml) {\n    /** @type {Raw} */\n    const result = {type: 'raw', value: node.value}\n    state.patch(node, result)\n    return state.applyData(node, result)\n  }\n\n  return undefined\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').ImageReference} ImageReference\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\nimport {revert} from '../revert.js'\n\n/**\n * Turn an mdast `imageReference` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {ImageReference} node\n *   mdast node.\n * @returns {Array | ElementContent}\n *   hast node.\n */\nexport function imageReference(state, node) {\n  const id = String(node.identifier).toUpperCase()\n  const definition = state.definitionById.get(id)\n\n  if (!definition) {\n    return revert(state, node)\n  }\n\n  /** @type {Properties} */\n  const properties = {src: normalizeUri(definition.url || ''), alt: node.alt}\n\n  if (definition.title !== null && definition.title !== undefined) {\n    properties.title = definition.title\n  }\n\n  /** @type {Element} */\n  const result = {type: 'element', tagName: 'img', properties, children: []}\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').Image} Image\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Turn an mdast `image` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Image} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function image(state, node) {\n  /** @type {Properties} */\n  const properties = {src: normalizeUri(node.url)}\n\n  if (node.alt !== null && node.alt !== undefined) {\n    properties.alt = node.alt\n  }\n\n  if (node.title !== null && node.title !== undefined) {\n    properties.title = node.title\n  }\n\n  /** @type {Element} */\n  const result = {type: 'element', tagName: 'img', properties, children: []}\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Text} Text\n * @typedef {import('mdast').InlineCode} InlineCode\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `inlineCode` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {InlineCode} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function inlineCode(state, node) {\n  /** @type {Text} */\n  const text = {type: 'text', value: node.value.replace(/\\r?\\n|\\r/g, ' ')}\n  state.patch(node, text)\n\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'code',\n    properties: {},\n    children: [text]\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').LinkReference} LinkReference\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\nimport {revert} from '../revert.js'\n\n/**\n * Turn an mdast `linkReference` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {LinkReference} node\n *   mdast node.\n * @returns {Array | ElementContent}\n *   hast node.\n */\nexport function linkReference(state, node) {\n  const id = String(node.identifier).toUpperCase()\n  const definition = state.definitionById.get(id)\n\n  if (!definition) {\n    return revert(state, node)\n  }\n\n  /** @type {Properties} */\n  const properties = {href: normalizeUri(definition.url || '')}\n\n  if (definition.title !== null && definition.title !== undefined) {\n    properties.title = definition.title\n  }\n\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'a',\n    properties,\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').Link} Link\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Turn an mdast `link` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Link} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function link(state, node) {\n  /** @type {Properties} */\n  const properties = {href: normalizeUri(node.url)}\n\n  if (node.title !== null && node.title !== undefined) {\n    properties.title = node.title\n  }\n\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'a',\n    properties,\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').List} List\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `list` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {List} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function list(state, node) {\n  /** @type {Properties} */\n  const properties = {}\n  const results = state.all(node)\n  let index = -1\n\n  if (typeof node.start === 'number' && node.start !== 1) {\n    properties.start = node.start\n  }\n\n  // Like GitHub, add a class for custom styling.\n  while (++index < results.length) {\n    const child = results[index]\n\n    if (\n      child.type === 'element' &&\n      child.tagName === 'li' &&\n      child.properties &&\n      Array.isArray(child.properties.className) &&\n      child.properties.className.includes('task-list-item')\n    ) {\n      properties.className = ['contains-task-list']\n      break\n    }\n  }\n\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: node.ordered ? 'ol' : 'ul',\n    properties,\n    children: state.wrap(results, true)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Paragraph} Paragraph\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `paragraph` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Paragraph} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function paragraph(state, node) {\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'p',\n    properties: {},\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Parents} HastParents\n * @typedef {import('hast').Root} HastRoot\n * @typedef {import('mdast').Root} MdastRoot\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `root` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {MdastRoot} node\n *   mdast node.\n * @returns {HastParents}\n *   hast node.\n */\nexport function root(state, node) {\n  /** @type {HastRoot} */\n  const result = {type: 'root', children: state.wrap(state.all(node))}\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Strong} Strong\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `strong` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Strong} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function strong(state, node) {\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'strong',\n    properties: {},\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Table} Table\n * @typedef {import('../state.js').State} State\n */\n\nimport {pointEnd, pointStart} from 'unist-util-position'\n\n/**\n * Turn an mdast `table` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Table} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function table(state, node) {\n  const rows = state.all(node)\n  const firstRow = rows.shift()\n  /** @type {Array} */\n  const tableContent = []\n\n  if (firstRow) {\n    /** @type {Element} */\n    const head = {\n      type: 'element',\n      tagName: 'thead',\n      properties: {},\n      children: state.wrap([firstRow], true)\n    }\n    state.patch(node.children[0], head)\n    tableContent.push(head)\n  }\n\n  if (rows.length > 0) {\n    /** @type {Element} */\n    const body = {\n      type: 'element',\n      tagName: 'tbody',\n      properties: {},\n      children: state.wrap(rows, true)\n    }\n\n    const start = pointStart(node.children[1])\n    const end = pointEnd(node.children[node.children.length - 1])\n    if (start && end) body.position = {start, end}\n    tableContent.push(body)\n  }\n\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'table',\n    properties: {},\n    children: state.wrap(tableContent, true)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').TableCell} TableCell\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `tableCell` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {TableCell} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function tableCell(state, node) {\n  // Note: this function is normally not called: see `table-row` for how rows\n  // and their cells are compiled.\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'td', // Assume body cell.\n    properties: {},\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('mdast').TableRow} TableRow\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `tableRow` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {TableRow} node\n *   mdast node.\n * @param {Parents | undefined} parent\n *   Parent of `node`.\n * @returns {Element}\n *   hast node.\n */\nexport function tableRow(state, node, parent) {\n  const siblings = parent ? parent.children : undefined\n  // Generate a body row when without parent.\n  const rowIndex = siblings ? siblings.indexOf(node) : 1\n  const tagName = rowIndex === 0 ? 'th' : 'td'\n  // To do: option to use `style`?\n  const align = parent && parent.type === 'table' ? parent.align : undefined\n  const length = align ? align.length : node.children.length\n  let cellIndex = -1\n  /** @type {Array} */\n  const cells = []\n\n  while (++cellIndex < length) {\n    // Note: can also be undefined.\n    const cell = node.children[cellIndex]\n    /** @type {Properties} */\n    const properties = {}\n    const alignValue = align ? align[cellIndex] : undefined\n\n    if (alignValue) {\n      properties.align = alignValue\n    }\n\n    /** @type {Element} */\n    let result = {type: 'element', tagName, properties, children: []}\n\n    if (cell) {\n      result.children = state.all(cell)\n      state.patch(cell, result)\n      result = state.applyData(cell, result)\n    }\n\n    cells.push(result)\n  }\n\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'tr',\n    properties: {},\n    children: state.wrap(cells, true)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} HastElement\n * @typedef {import('hast').Text} HastText\n * @typedef {import('mdast').Text} MdastText\n * @typedef {import('../state.js').State} State\n */\n\nimport {trimLines} from 'trim-lines'\n\n/**\n * Turn an mdast `text` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {MdastText} node\n *   mdast node.\n * @returns {HastElement | HastText}\n *   hast node.\n */\nexport function text(state, node) {\n  /** @type {HastText} */\n  const result = {type: 'text', value: trimLines(String(node.value))}\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').ThematicBreak} ThematicBreak\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `thematicBreak` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {ThematicBreak} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function thematicBreak(state, node) {\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'hr',\n    properties: {},\n    children: []\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} HastElement\n * @typedef {import('hast').ElementContent} HastElementContent\n * @typedef {import('hast').Nodes} HastNodes\n * @typedef {import('hast').Properties} HastProperties\n * @typedef {import('hast').RootContent} HastRootContent\n * @typedef {import('hast').Text} HastText\n *\n * @typedef {import('mdast').Definition} MdastDefinition\n * @typedef {import('mdast').FootnoteDefinition} MdastFootnoteDefinition\n * @typedef {import('mdast').Nodes} MdastNodes\n * @typedef {import('mdast').Parents} MdastParents\n *\n * @typedef {import('vfile').VFile} VFile\n *\n * @typedef {import('./footer.js').FootnoteBackContentTemplate} FootnoteBackContentTemplate\n * @typedef {import('./footer.js').FootnoteBackLabelTemplate} FootnoteBackLabelTemplate\n */\n\n/**\n * @callback Handler\n *   Handle a node.\n * @param {State} state\n *   Info passed around.\n * @param {any} node\n *   mdast node to handle.\n * @param {MdastParents | undefined} parent\n *   Parent of `node`.\n * @returns {Array | HastElementContent | undefined}\n *   hast node.\n *\n * @typedef {Partial>} Handlers\n *   Handle nodes.\n *\n * @typedef Options\n *   Configuration (optional).\n * @property {boolean | null | undefined} [allowDangerousHtml=false]\n *   Whether to persist raw HTML in markdown in the hast tree (default:\n *   `false`).\n * @property {string | null | undefined} [clobberPrefix='user-content-']\n *   Prefix to use before the `id` property on footnotes to prevent them from\n *   *clobbering* (default: `'user-content-'`).\n *\n *   Pass `''` for trusted markdown and when you are careful with\n *   polyfilling.\n *   You could pass a different prefix.\n *\n *   DOM clobbering is this:\n *\n *   ```html\n *   

\n * \n * ```\n *\n * The above example shows that elements are made available by browsers, by\n * their ID, on the `window` object.\n * This is a security risk because you might be expecting some other variable\n * at that place.\n * It can also break polyfills.\n * Using a prefix solves these problems.\n * @property {VFile | null | undefined} [file]\n * Corresponding virtual file representing the input document (optional).\n * @property {FootnoteBackContentTemplate | string | null | undefined} [footnoteBackContent]\n * Content of the backreference back to references (default: `defaultFootnoteBackContent`).\n *\n * The default value is:\n *\n * ```js\n * function defaultFootnoteBackContent(_, rereferenceIndex) {\n * const result = [{type: 'text', value: '↩'}]\n *\n * if (rereferenceIndex > 1) {\n * result.push({\n * type: 'element',\n * tagName: 'sup',\n * properties: {},\n * children: [{type: 'text', value: String(rereferenceIndex)}]\n * })\n * }\n *\n * return result\n * }\n * ```\n *\n * This content is used in the `a` element of each backreference (the `↩`\n * links).\n * @property {FootnoteBackLabelTemplate | string | null | undefined} [footnoteBackLabel]\n * Label to describe the backreference back to references (default:\n * `defaultFootnoteBackLabel`).\n *\n * The default value is:\n *\n * ```js\n * function defaultFootnoteBackLabel(referenceIndex, rereferenceIndex) {\n * return (\n * 'Back to reference ' +\n * (referenceIndex + 1) +\n * (rereferenceIndex > 1 ? '-' + rereferenceIndex : '')\n * )\n * }\n * ```\n *\n * Change it when the markdown is not in English.\n *\n * This label is used in the `ariaLabel` property on each backreference\n * (the `↩` links).\n * It affects users of assistive technology.\n * @property {string | null | undefined} [footnoteLabel='Footnotes']\n * Textual label to use for the footnotes section (default: `'Footnotes'`).\n *\n * Change it when the markdown is not in English.\n *\n * This label is typically hidden visually (assuming a `sr-only` CSS class\n * is defined that does that) and so affects screen readers only.\n * If you do have such a class, but want to show this section to everyone,\n * pass different properties with the `footnoteLabelProperties` option.\n * @property {HastProperties | null | undefined} [footnoteLabelProperties={className: ['sr-only']}]\n * Properties to use on the footnote label (default: `{className:\n * ['sr-only']}`).\n *\n * Change it to show the label and add other properties.\n *\n * This label is typically hidden visually (assuming an `sr-only` CSS class\n * is defined that does that) and so affects screen readers only.\n * If you do have such a class, but want to show this section to everyone,\n * pass an empty string.\n * You can also add different properties.\n *\n * > **Note**: `id: 'footnote-label'` is always added, because footnote\n * > calls use it with `aria-describedby` to provide an accessible label.\n * @property {string | null | undefined} [footnoteLabelTagName='h2']\n * HTML tag name to use for the footnote label element (default: `'h2'`).\n *\n * Change it to match your document structure.\n *\n * This label is typically hidden visually (assuming a `sr-only` CSS class\n * is defined that does that) and so affects screen readers only.\n * If you do have such a class, but want to show this section to everyone,\n * pass different properties with the `footnoteLabelProperties` option.\n * @property {Handlers | null | undefined} [handlers]\n * Extra handlers for nodes (optional).\n * @property {Array | null | undefined} [passThrough]\n * List of custom mdast node types to pass through (keep) in hast (note that\n * the node itself is passed, but eventual children are transformed)\n * (optional).\n * @property {Handler | null | undefined} [unknownHandler]\n * Handler for all unknown nodes (optional).\n *\n * @typedef State\n * Info passed around.\n * @property {(node: MdastNodes) => Array} all\n * Transform the children of an mdast parent to hast.\n * @property {(from: MdastNodes, to: Type) => HastElement | Type} applyData\n * Honor the `data` of `from`, and generate an element instead of `node`.\n * @property {Map} definitionById\n * Definitions by their identifier.\n * @property {Map} footnoteById\n * Footnote definitions by their identifier.\n * @property {Map} footnoteCounts\n * Counts for how often the same footnote was called.\n * @property {Array} footnoteOrder\n * Identifiers of order when footnote calls first appear in tree order.\n * @property {Handlers} handlers\n * Applied handlers.\n * @property {(node: MdastNodes, parent: MdastParents | undefined) => Array | HastElementContent | undefined} one\n * Transform an mdast node to hast.\n * @property {Options} options\n * Configuration.\n * @property {(from: MdastNodes, node: HastNodes) => undefined} patch\n * Copy a node’s positional info.\n * @property {(nodes: Array, loose?: boolean | undefined) => Array} wrap\n * Wrap `nodes` with line endings between each node, adds initial/final line endings when `loose`.\n */\n\nimport structuredClone from '@ungap/structured-clone'\nimport {visit} from 'unist-util-visit'\nimport {position} from 'unist-util-position'\nimport {handlers as defaultHandlers} from './handlers/index.js'\n\nconst own = {}.hasOwnProperty\n\n/** @type {Options} */\nconst emptyOptions = {}\n\n/**\n * Create `state` from an mdast tree.\n *\n * @param {MdastNodes} tree\n * mdast node to transform.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {State}\n * `state` function.\n */\nexport function createState(tree, options) {\n const settings = options || emptyOptions\n /** @type {Map} */\n const definitionById = new Map()\n /** @type {Map} */\n const footnoteById = new Map()\n /** @type {Map} */\n const footnoteCounts = new Map()\n /** @type {Handlers} */\n // @ts-expect-error: the root handler returns a root.\n // Hard to type.\n const handlers = {...defaultHandlers, ...settings.handlers}\n\n /** @type {State} */\n const state = {\n all,\n applyData,\n definitionById,\n footnoteById,\n footnoteCounts,\n footnoteOrder: [],\n handlers,\n one,\n options: settings,\n patch,\n wrap\n }\n\n visit(tree, function (node) {\n if (node.type === 'definition' || node.type === 'footnoteDefinition') {\n const map = node.type === 'definition' ? definitionById : footnoteById\n const id = String(node.identifier).toUpperCase()\n\n // Mimick CM behavior of link definitions.\n // See: .\n if (!map.has(id)) {\n // @ts-expect-error: node type matches map.\n map.set(id, node)\n }\n }\n })\n\n return state\n\n /**\n * Transform an mdast node into a hast node.\n *\n * @param {MdastNodes} node\n * mdast node.\n * @param {MdastParents | undefined} [parent]\n * Parent of `node`.\n * @returns {Array | HastElementContent | undefined}\n * Resulting hast node.\n */\n function one(node, parent) {\n const type = node.type\n const handle = state.handlers[type]\n\n if (own.call(state.handlers, type) && handle) {\n return handle(state, node, parent)\n }\n\n if (state.options.passThrough && state.options.passThrough.includes(type)) {\n if ('children' in node) {\n const {children, ...shallow} = node\n const result = structuredClone(shallow)\n // @ts-expect-error: TS doesn’t understand…\n result.children = state.all(node)\n // @ts-expect-error: TS doesn’t understand…\n return result\n }\n\n // @ts-expect-error: it’s custom.\n return structuredClone(node)\n }\n\n const unknown = state.options.unknownHandler || defaultUnknownHandler\n\n return unknown(state, node, parent)\n }\n\n /**\n * Transform the children of an mdast node into hast nodes.\n *\n * @param {MdastNodes} parent\n * mdast node to compile\n * @returns {Array}\n * Resulting hast nodes.\n */\n function all(parent) {\n /** @type {Array} */\n const values = []\n\n if ('children' in parent) {\n const nodes = parent.children\n let index = -1\n while (++index < nodes.length) {\n const result = state.one(nodes[index], parent)\n\n // To do: see if we van clean this? Can we merge texts?\n if (result) {\n if (index && nodes[index - 1].type === 'break') {\n if (!Array.isArray(result) && result.type === 'text') {\n result.value = trimMarkdownSpaceStart(result.value)\n }\n\n if (!Array.isArray(result) && result.type === 'element') {\n const head = result.children[0]\n\n if (head && head.type === 'text') {\n head.value = trimMarkdownSpaceStart(head.value)\n }\n }\n }\n\n if (Array.isArray(result)) {\n values.push(...result)\n } else {\n values.push(result)\n }\n }\n }\n }\n\n return values\n }\n}\n\n/**\n * Copy a node’s positional info.\n *\n * @param {MdastNodes} from\n * mdast node to copy from.\n * @param {HastNodes} to\n * hast node to copy into.\n * @returns {undefined}\n * Nothing.\n */\nfunction patch(from, to) {\n if (from.position) to.position = position(from)\n}\n\n/**\n * Honor the `data` of `from` and maybe generate an element instead of `to`.\n *\n * @template {HastNodes} Type\n * Node type.\n * @param {MdastNodes} from\n * mdast node to use data from.\n * @param {Type} to\n * hast node to change.\n * @returns {HastElement | Type}\n * Nothing.\n */\nfunction applyData(from, to) {\n /** @type {HastElement | Type} */\n let result = to\n\n // Handle `data.hName`, `data.hProperties, `data.hChildren`.\n if (from && from.data) {\n const hName = from.data.hName\n const hChildren = from.data.hChildren\n const hProperties = from.data.hProperties\n\n if (typeof hName === 'string') {\n // Transforming the node resulted in an element with a different name\n // than wanted:\n if (result.type === 'element') {\n result.tagName = hName\n }\n // Transforming the node resulted in a non-element, which happens for\n // raw, text, and root nodes (unless custom handlers are passed).\n // The intent of `hName` is to create an element, but likely also to keep\n // the content around (otherwise: pass `hChildren`).\n else {\n /** @type {Array} */\n // @ts-expect-error: assume no doctypes in `root`.\n const children = 'children' in result ? result.children : [result]\n result = {type: 'element', tagName: hName, properties: {}, children}\n }\n }\n\n if (result.type === 'element' && hProperties) {\n Object.assign(result.properties, structuredClone(hProperties))\n }\n\n if (\n 'children' in result &&\n result.children &&\n hChildren !== null &&\n hChildren !== undefined\n ) {\n result.children = hChildren\n }\n }\n\n return result\n}\n\n/**\n * Transform an unknown node.\n *\n * @param {State} state\n * Info passed around.\n * @param {MdastNodes} node\n * Unknown mdast node.\n * @returns {HastElement | HastText}\n * Resulting hast node.\n */\nfunction defaultUnknownHandler(state, node) {\n const data = node.data || {}\n /** @type {HastElement | HastText} */\n const result =\n 'value' in node &&\n !(own.call(data, 'hProperties') || own.call(data, 'hChildren'))\n ? {type: 'text', value: node.value}\n : {\n type: 'element',\n tagName: 'div',\n properties: {},\n children: state.all(node)\n }\n\n state.patch(node, result)\n return state.applyData(node, result)\n}\n\n/**\n * Wrap `nodes` with line endings between each node.\n *\n * @template {HastRootContent} Type\n * Node type.\n * @param {Array} nodes\n * List of nodes to wrap.\n * @param {boolean | undefined} [loose=false]\n * Whether to add line endings at start and end (default: `false`).\n * @returns {Array}\n * Wrapped nodes.\n */\nexport function wrap(nodes, loose) {\n /** @type {Array} */\n const result = []\n let index = -1\n\n if (loose) {\n result.push({type: 'text', value: '\\n'})\n }\n\n while (++index < nodes.length) {\n if (index) result.push({type: 'text', value: '\\n'})\n result.push(nodes[index])\n }\n\n if (loose && nodes.length > 0) {\n result.push({type: 'text', value: '\\n'})\n }\n\n return result\n}\n\n/**\n * Trim spaces and tabs at the start of `value`.\n *\n * @param {string} value\n * Value to trim.\n * @returns {string}\n * Result.\n */\nfunction trimMarkdownSpaceStart(value) {\n let index = 0\n let code = value.charCodeAt(index)\n\n while (code === 9 || code === 32) {\n index++\n code = value.charCodeAt(index)\n }\n\n return value.slice(index)\n}\n","/**\n * @typedef {import('hast').Nodes} HastNodes\n * @typedef {import('mdast').Nodes} MdastNodes\n * @typedef {import('./state.js').Options} Options\n */\n\nimport {ok as assert} from 'devlop'\nimport {footer} from './footer.js'\nimport {createState} from './state.js'\n\n/**\n * Transform mdast to hast.\n *\n * ##### Notes\n *\n * ###### HTML\n *\n * Raw HTML is available in mdast as `html` nodes and can be embedded in hast\n * as semistandard `raw` nodes.\n * Most utilities ignore `raw` nodes but two notable ones don’t:\n *\n * * `hast-util-to-html` also has an option `allowDangerousHtml` which will\n * output the raw HTML.\n * This is typically discouraged as noted by the option name but is useful\n * if you completely trust authors\n * * `hast-util-raw` can handle the raw embedded HTML strings by parsing them\n * into standard hast nodes (`element`, `text`, etc).\n * This is a heavy task as it needs a full HTML parser, but it is the only\n * way to support untrusted content\n *\n * ###### Footnotes\n *\n * Many options supported here relate to footnotes.\n * Footnotes are not specified by CommonMark, which we follow by default.\n * They are supported by GitHub, so footnotes can be enabled in markdown with\n * `mdast-util-gfm`.\n *\n * The options `footnoteBackLabel` and `footnoteLabel` define natural language\n * that explains footnotes, which is hidden for sighted users but shown to\n * assistive technology.\n * When your page is not in English, you must define translated values.\n *\n * Back references use ARIA attributes, but the section label itself uses a\n * heading that is hidden with an `sr-only` class.\n * To show it to sighted users, define different attributes in\n * `footnoteLabelProperties`.\n *\n * ###### Clobbering\n *\n * Footnotes introduces a problem, as it links footnote calls to footnote\n * definitions on the page through `id` attributes generated from user content,\n * which results in DOM clobbering.\n *\n * DOM clobbering is this:\n *\n * ```html\n *

\n * \n * ```\n *\n * Elements by their ID are made available by browsers on the `window` object,\n * which is a security risk.\n * Using a prefix solves this problem.\n *\n * More information on how to handle clobbering and the prefix is explained in\n * Example: headings (DOM clobbering) in `rehype-sanitize`.\n *\n * ###### Unknown nodes\n *\n * Unknown nodes are nodes with a type that isn’t in `handlers` or `passThrough`.\n * The default behavior for unknown nodes is:\n *\n * * when the node has a `value` (and doesn’t have `data.hName`,\n * `data.hProperties`, or `data.hChildren`, see later), create a hast `text`\n * node\n * * otherwise, create a `
` element (which could be changed with\n * `data.hName`), with its children mapped from mdast to hast as well\n *\n * This behavior can be changed by passing an `unknownHandler`.\n *\n * @param {MdastNodes} tree\n * mdast tree.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {HastNodes}\n * hast tree.\n */\nexport function toHast(tree, options) {\n const state = createState(tree, options)\n const node = state.one(tree, undefined)\n const foot = footer(state)\n /** @type {HastNodes} */\n const result = Array.isArray(node)\n ? {type: 'root', children: node}\n : node || {type: 'root', children: []}\n\n if (foot) {\n // If there’s a footer, there were definitions, meaning block\n // content.\n // So `result` is a parent node.\n assert('children' in result)\n result.children.push({type: 'text', value: '\\n'}, foot)\n }\n\n return result\n}\n","// Include `data` fields in mdast and `raw` nodes in hast.\n/// \n\n/**\n * @import {Root as HastRoot} from 'hast'\n * @import {Root as MdastRoot} from 'mdast'\n * @import {Options as ToHastOptions} from 'mdast-util-to-hast'\n * @import {Processor} from 'unified'\n * @import {VFile} from 'vfile'\n */\n\n/**\n * @typedef {Omit} Options\n *\n * @callback TransformBridge\n * Bridge-mode.\n *\n * Runs the destination with the new hast tree.\n * Discards result.\n * @param {MdastRoot} tree\n * Tree.\n * @param {VFile} file\n * File.\n * @returns {Promise}\n * Nothing.\n *\n * @callback TransformMutate\n * Mutate-mode.\n *\n * Further transformers run on the hast tree.\n * @param {MdastRoot} tree\n * Tree.\n * @param {VFile} file\n * File.\n * @returns {HastRoot}\n * Tree (hast).\n */\n\nimport {toHast} from 'mdast-util-to-hast'\n\n/**\n * Turn markdown into HTML.\n *\n * ##### Notes\n *\n * ###### Signature\n *\n * * if a processor is given, runs the (rehype) plugins used on it with a\n * hast tree, then discards the result (*bridge mode*)\n * * otherwise, returns a hast tree, the plugins used after `remarkRehype`\n * are rehype plugins (*mutate mode*)\n *\n * > 👉 **Note**: It’s highly unlikely that you want to pass a `processor`.\n *\n * ###### HTML\n *\n * Raw HTML is available in mdast as `html` nodes and can be embedded in hast\n * as semistandard `raw` nodes.\n * Most plugins ignore `raw` nodes but two notable ones don’t:\n *\n * * `rehype-stringify` also has an option `allowDangerousHtml` which will\n * output the raw HTML.\n * This is typically discouraged as noted by the option name but is useful if\n * you completely trust authors\n * * `rehype-raw` can handle the raw embedded HTML strings by parsing them\n * into standard hast nodes (`element`, `text`, etc).\n * This is a heavy task as it needs a full HTML parser, but it is the only way\n * to support untrusted content\n *\n * ###### Footnotes\n *\n * Many options supported here relate to footnotes.\n * Footnotes are not specified by CommonMark, which we follow by default.\n * They are supported by GitHub, so footnotes can be enabled in markdown with\n * `remark-gfm`.\n *\n * The options `footnoteBackLabel` and `footnoteLabel` define natural language\n * that explains footnotes, which is hidden for sighted users but shown to\n * assistive technology.\n * When your page is not in English, you must define translated values.\n *\n * Back references use ARIA attributes, but the section label itself uses a\n * heading that is hidden with an `sr-only` class.\n * To show it to sighted users, define different attributes in\n * `footnoteLabelProperties`.\n *\n * ###### Clobbering\n *\n * Footnotes introduces a problem, as it links footnote calls to footnote\n * definitions on the page through `id` attributes generated from user content,\n * which results in DOM clobbering.\n *\n * DOM clobbering is this:\n *\n * ```html\n *

\n * \n * ```\n *\n * Elements by their ID are made available by browsers on the `window` object,\n * which is a security risk.\n * Using a prefix solves this problem.\n *\n * More information on how to handle clobbering and the prefix is explained in\n * *Example: headings (DOM clobbering)* in `rehype-sanitize`.\n *\n * ###### Unknown nodes\n *\n * Unknown nodes are nodes with a type that isn’t in `handlers` or `passThrough`.\n * The default behavior for unknown nodes is:\n *\n * * when the node has a `value` (and doesn’t have `data.hName`,\n * `data.hProperties`, or `data.hChildren`, see later), create a hast `text`\n * node\n * * otherwise, create a `
` element (which could be changed with\n * `data.hName`), with its children mapped from mdast to hast as well\n *\n * This behavior can be changed by passing an `unknownHandler`.\n *\n * @overload\n * @param {Processor} processor\n * @param {Readonly | null | undefined} [options]\n * @returns {TransformBridge}\n *\n * @overload\n * @param {Readonly | null | undefined} [options]\n * @returns {TransformMutate}\n *\n * @param {Readonly | Processor | null | undefined} [destination]\n * Processor or configuration (optional).\n * @param {Readonly | null | undefined} [options]\n * When a processor was given, configuration (optional).\n * @returns {TransformBridge | TransformMutate}\n * Transform.\n */\nexport default function remarkRehype(destination, options) {\n if (destination && 'run' in destination) {\n /**\n * @type {TransformBridge}\n */\n return async function (tree, file) {\n // Cast because root in -> root out.\n const hastTree = /** @type {HastRoot} */ (\n toHast(tree, {file, ...options})\n )\n await destination.run(hastTree, file)\n }\n }\n\n /**\n * @type {TransformMutate}\n */\n return function (tree, file) {\n // Cast because root in -> root out.\n // To do: in the future, disallow ` || options` fallback.\n // With `unified-engine`, `destination` can be `undefined` but\n // `options` will be the file set.\n // We should not pass that as `options`.\n return /** @type {HastRoot} */ (\n toHast(tree, {file, ...(destination || options)})\n )\n }\n}\n","/**\n * Throw a given error.\n *\n * @param {Error|null|undefined} [error]\n * Maybe error.\n * @returns {asserts error is null|undefined}\n */\nexport function bail(error) {\n if (error) {\n throw error\n }\n}\n","export default function isPlainObject(value) {\n\tif (typeof value !== 'object' || value === null) {\n\t\treturn false;\n\t}\n\n\tconst prototype = Object.getPrototypeOf(value);\n\treturn (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in value) && !(Symbol.iterator in value);\n}\n","// To do: remove `void`s\n// To do: remove `null` from output of our APIs, allow it as user APIs.\n\n/**\n * @typedef {(error?: Error | null | undefined, ...output: Array) => void} Callback\n * Callback.\n *\n * @typedef {(...input: Array) => any} Middleware\n * Ware.\n *\n * @typedef Pipeline\n * Pipeline.\n * @property {Run} run\n * Run the pipeline.\n * @property {Use} use\n * Add middleware.\n *\n * @typedef {(...input: Array) => void} Run\n * Call all middleware.\n *\n * Calls `done` on completion with either an error or the output of the\n * last middleware.\n *\n * > 👉 **Note**: as the length of input defines whether async functions get a\n * > `next` function,\n * > it’s recommended to keep `input` at one value normally.\n\n *\n * @typedef {(fn: Middleware) => Pipeline} Use\n * Add middleware.\n */\n\n/**\n * Create new middleware.\n *\n * @returns {Pipeline}\n * Pipeline.\n */\nexport function trough() {\n /** @type {Array} */\n const fns = []\n /** @type {Pipeline} */\n const pipeline = {run, use}\n\n return pipeline\n\n /** @type {Run} */\n function run(...values) {\n let middlewareIndex = -1\n /** @type {Callback} */\n const callback = values.pop()\n\n if (typeof callback !== 'function') {\n throw new TypeError('Expected function as last argument, not ' + callback)\n }\n\n next(null, ...values)\n\n /**\n * Run the next `fn`, or we’re done.\n *\n * @param {Error | null | undefined} error\n * @param {Array} output\n */\n function next(error, ...output) {\n const fn = fns[++middlewareIndex]\n let index = -1\n\n if (error) {\n callback(error)\n return\n }\n\n // Copy non-nullish input into values.\n while (++index < values.length) {\n if (output[index] === null || output[index] === undefined) {\n output[index] = values[index]\n }\n }\n\n // Save the newly created `output` for the next call.\n values = output\n\n // Next or done.\n if (fn) {\n wrap(fn, next)(...output)\n } else {\n callback(null, ...output)\n }\n }\n }\n\n /** @type {Use} */\n function use(middelware) {\n if (typeof middelware !== 'function') {\n throw new TypeError(\n 'Expected `middelware` to be a function, not ' + middelware\n )\n }\n\n fns.push(middelware)\n return pipeline\n }\n}\n\n/**\n * Wrap `middleware` into a uniform interface.\n *\n * You can pass all input to the resulting function.\n * `callback` is then called with the output of `middleware`.\n *\n * If `middleware` accepts more arguments than the later given in input,\n * an extra `done` function is passed to it after that input,\n * which must be called by `middleware`.\n *\n * The first value in `input` is the main input value.\n * All other input values are the rest input values.\n * The values given to `callback` are the input values,\n * merged with every non-nullish output value.\n *\n * * if `middleware` throws an error,\n * returns a promise that is rejected,\n * or calls the given `done` function with an error,\n * `callback` is called with that error\n * * if `middleware` returns a value or returns a promise that is resolved,\n * that value is the main output value\n * * if `middleware` calls `done`,\n * all non-nullish values except for the first one (the error) overwrite the\n * output values\n *\n * @param {Middleware} middleware\n * Function to wrap.\n * @param {Callback} callback\n * Callback called with the output of `middleware`.\n * @returns {Run}\n * Wrapped middleware.\n */\nexport function wrap(middleware, callback) {\n /** @type {boolean} */\n let called\n\n return wrapped\n\n /**\n * Call `middleware`.\n * @this {any}\n * @param {Array} parameters\n * @returns {void}\n */\n function wrapped(...parameters) {\n const fnExpectsCallback = middleware.length > parameters.length\n /** @type {any} */\n let result\n\n if (fnExpectsCallback) {\n parameters.push(done)\n }\n\n try {\n result = middleware.apply(this, parameters)\n } catch (error) {\n const exception = /** @type {Error} */ (error)\n\n // Well, this is quite the pickle.\n // `middleware` received a callback and called it synchronously, but that\n // threw an error.\n // The only thing left to do is to throw the thing instead.\n if (fnExpectsCallback && called) {\n throw exception\n }\n\n return done(exception)\n }\n\n if (!fnExpectsCallback) {\n if (result && result.then && typeof result.then === 'function') {\n result.then(then, done)\n } else if (result instanceof Error) {\n done(result)\n } else {\n then(result)\n }\n }\n }\n\n /**\n * Call `callback`, only once.\n *\n * @type {Callback}\n */\n function done(error, ...output) {\n if (!called) {\n called = true\n callback(error, ...output)\n }\n }\n\n /**\n * Call `done` with one value.\n *\n * @param {any} [value]\n */\n function then(value) {\n done(null, value)\n }\n}\n","// A derivative work based on:\n// .\n// Which is licensed:\n//\n// MIT License\n//\n// Copyright (c) 2013 James Halliday\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy of\n// this software and associated documentation files (the \"Software\"), to deal in\n// the Software without restriction, including without limitation the rights to\n// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n// the Software, and to permit persons to whom the Software is furnished to do so,\n// subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in all\n// 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, FITNESS\n// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n// A derivative work based on:\n//\n// Parts of that are extracted from Node’s internal `path` module:\n// .\n// Which is licensed:\n//\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nexport const minpath = {basename, dirname, extname, join, sep: '/'}\n\n/* eslint-disable max-depth, complexity */\n\n/**\n * Get the basename from a path.\n *\n * @param {string} path\n * File path.\n * @param {string | null | undefined} [extname]\n * Extension to strip.\n * @returns {string}\n * Stem or basename.\n */\nfunction basename(path, extname) {\n if (extname !== undefined && typeof extname !== 'string') {\n throw new TypeError('\"ext\" argument must be a string')\n }\n\n assertPath(path)\n let start = 0\n let end = -1\n let index = path.length\n /** @type {boolean | undefined} */\n let seenNonSlash\n\n if (\n extname === undefined ||\n extname.length === 0 ||\n extname.length > path.length\n ) {\n while (index--) {\n if (path.codePointAt(index) === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (seenNonSlash) {\n start = index + 1\n break\n }\n } else if (end < 0) {\n // We saw the first non-path separator, mark this as the end of our\n // path component.\n seenNonSlash = true\n end = index + 1\n }\n }\n\n return end < 0 ? '' : path.slice(start, end)\n }\n\n if (extname === path) {\n return ''\n }\n\n let firstNonSlashEnd = -1\n let extnameIndex = extname.length - 1\n\n while (index--) {\n if (path.codePointAt(index) === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (seenNonSlash) {\n start = index + 1\n break\n }\n } else {\n if (firstNonSlashEnd < 0) {\n // We saw the first non-path separator, remember this index in case\n // we need it if the extension ends up not matching.\n seenNonSlash = true\n firstNonSlashEnd = index + 1\n }\n\n if (extnameIndex > -1) {\n // Try to match the explicit extension.\n if (path.codePointAt(index) === extname.codePointAt(extnameIndex--)) {\n if (extnameIndex < 0) {\n // We matched the extension, so mark this as the end of our path\n // component\n end = index\n }\n } else {\n // Extension does not match, so our result is the entire path\n // component\n extnameIndex = -1\n end = firstNonSlashEnd\n }\n }\n }\n }\n\n if (start === end) {\n end = firstNonSlashEnd\n } else if (end < 0) {\n end = path.length\n }\n\n return path.slice(start, end)\n}\n\n/**\n * Get the dirname from a path.\n *\n * @param {string} path\n * File path.\n * @returns {string}\n * File path.\n */\nfunction dirname(path) {\n assertPath(path)\n\n if (path.length === 0) {\n return '.'\n }\n\n let end = -1\n let index = path.length\n /** @type {boolean | undefined} */\n let unmatchedSlash\n\n // Prefix `--` is important to not run on `0`.\n while (--index) {\n if (path.codePointAt(index) === 47 /* `/` */) {\n if (unmatchedSlash) {\n end = index\n break\n }\n } else if (!unmatchedSlash) {\n // We saw the first non-path separator\n unmatchedSlash = true\n }\n }\n\n return end < 0\n ? path.codePointAt(0) === 47 /* `/` */\n ? '/'\n : '.'\n : end === 1 && path.codePointAt(0) === 47 /* `/` */\n ? '//'\n : path.slice(0, end)\n}\n\n/**\n * Get an extname from a path.\n *\n * @param {string} path\n * File path.\n * @returns {string}\n * Extname.\n */\nfunction extname(path) {\n assertPath(path)\n\n let index = path.length\n\n let end = -1\n let startPart = 0\n let startDot = -1\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find.\n let preDotState = 0\n /** @type {boolean | undefined} */\n let unmatchedSlash\n\n while (index--) {\n const code = path.codePointAt(index)\n\n if (code === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (unmatchedSlash) {\n startPart = index + 1\n break\n }\n\n continue\n }\n\n if (end < 0) {\n // We saw the first non-path separator, mark this as the end of our\n // extension.\n unmatchedSlash = true\n end = index + 1\n }\n\n if (code === 46 /* `.` */) {\n // If this is our first dot, mark it as the start of our extension.\n if (startDot < 0) {\n startDot = index\n } else if (preDotState !== 1) {\n preDotState = 1\n }\n } else if (startDot > -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension.\n preDotState = -1\n }\n }\n\n if (\n startDot < 0 ||\n end < 0 ||\n // We saw a non-dot character immediately before the dot.\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly `..`.\n (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1)\n ) {\n return ''\n }\n\n return path.slice(startDot, end)\n}\n\n/**\n * Join segments from a path.\n *\n * @param {Array} segments\n * Path segments.\n * @returns {string}\n * File path.\n */\nfunction join(...segments) {\n let index = -1\n /** @type {string | undefined} */\n let joined\n\n while (++index < segments.length) {\n assertPath(segments[index])\n\n if (segments[index]) {\n joined =\n joined === undefined ? segments[index] : joined + '/' + segments[index]\n }\n }\n\n return joined === undefined ? '.' : normalize(joined)\n}\n\n/**\n * Normalize a basic file path.\n *\n * @param {string} path\n * File path.\n * @returns {string}\n * File path.\n */\n// Note: `normalize` is not exposed as `path.normalize`, so some code is\n// manually removed from it.\nfunction normalize(path) {\n assertPath(path)\n\n const absolute = path.codePointAt(0) === 47 /* `/` */\n\n // Normalize the path according to POSIX rules.\n let value = normalizeString(path, !absolute)\n\n if (value.length === 0 && !absolute) {\n value = '.'\n }\n\n if (value.length > 0 && path.codePointAt(path.length - 1) === 47 /* / */) {\n value += '/'\n }\n\n return absolute ? '/' + value : value\n}\n\n/**\n * Resolve `.` and `..` elements in a path with directory names.\n *\n * @param {string} path\n * File path.\n * @param {boolean} allowAboveRoot\n * Whether `..` can move above root.\n * @returns {string}\n * File path.\n */\nfunction normalizeString(path, allowAboveRoot) {\n let result = ''\n let lastSegmentLength = 0\n let lastSlash = -1\n let dots = 0\n let index = -1\n /** @type {number | undefined} */\n let code\n /** @type {number} */\n let lastSlashIndex\n\n while (++index <= path.length) {\n if (index < path.length) {\n code = path.codePointAt(index)\n } else if (code === 47 /* `/` */) {\n break\n } else {\n code = 47 /* `/` */\n }\n\n if (code === 47 /* `/` */) {\n if (lastSlash === index - 1 || dots === 1) {\n // Empty.\n } else if (lastSlash !== index - 1 && dots === 2) {\n if (\n result.length < 2 ||\n lastSegmentLength !== 2 ||\n result.codePointAt(result.length - 1) !== 46 /* `.` */ ||\n result.codePointAt(result.length - 2) !== 46 /* `.` */\n ) {\n if (result.length > 2) {\n lastSlashIndex = result.lastIndexOf('/')\n\n if (lastSlashIndex !== result.length - 1) {\n if (lastSlashIndex < 0) {\n result = ''\n lastSegmentLength = 0\n } else {\n result = result.slice(0, lastSlashIndex)\n lastSegmentLength = result.length - 1 - result.lastIndexOf('/')\n }\n\n lastSlash = index\n dots = 0\n continue\n }\n } else if (result.length > 0) {\n result = ''\n lastSegmentLength = 0\n lastSlash = index\n dots = 0\n continue\n }\n }\n\n if (allowAboveRoot) {\n result = result.length > 0 ? result + '/..' : '..'\n lastSegmentLength = 2\n }\n } else {\n if (result.length > 0) {\n result += '/' + path.slice(lastSlash + 1, index)\n } else {\n result = path.slice(lastSlash + 1, index)\n }\n\n lastSegmentLength = index - lastSlash - 1\n }\n\n lastSlash = index\n dots = 0\n } else if (code === 46 /* `.` */ && dots > -1) {\n dots++\n } else {\n dots = -1\n }\n }\n\n return result\n}\n\n/**\n * Make sure `path` is a string.\n *\n * @param {string} path\n * File path.\n * @returns {asserts path is string}\n * Nothing.\n */\nfunction assertPath(path) {\n if (typeof path !== 'string') {\n throw new TypeError(\n 'Path must be a string. Received ' + JSON.stringify(path)\n )\n }\n}\n\n/* eslint-enable max-depth, complexity */\n","// Somewhat based on:\n// .\n// But I don’t think one tiny line of code can be copyrighted. 😅\nexport const minproc = {cwd}\n\nfunction cwd() {\n return '/'\n}\n","/**\n * Checks if a value has the shape of a WHATWG URL object.\n *\n * Using a symbol or instanceof would not be able to recognize URL objects\n * coming from other implementations (e.g. in Electron), so instead we are\n * checking some well known properties for a lack of a better test.\n *\n * We use `href` and `protocol` as they are the only properties that are\n * easy to retrieve and calculate due to the lazy nature of the getters.\n *\n * We check for auth attribute to distinguish legacy url instance with\n * WHATWG URL instance.\n *\n * @param {unknown} fileUrlOrPath\n * File path or URL.\n * @returns {fileUrlOrPath is URL}\n * Whether it’s a URL.\n */\n// From: \nexport function isUrl(fileUrlOrPath) {\n return Boolean(\n fileUrlOrPath !== null &&\n typeof fileUrlOrPath === 'object' &&\n 'href' in fileUrlOrPath &&\n fileUrlOrPath.href &&\n 'protocol' in fileUrlOrPath &&\n fileUrlOrPath.protocol &&\n // @ts-expect-error: indexing is fine.\n fileUrlOrPath.auth === undefined\n )\n}\n","import {isUrl} from './minurl.shared.js'\n\nexport {isUrl} from './minurl.shared.js'\n\n// See: \n\n/**\n * @param {URL | string} path\n * File URL.\n * @returns {string}\n * File URL.\n */\nexport function urlToPath(path) {\n if (typeof path === 'string') {\n path = new URL(path)\n } else if (!isUrl(path)) {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError(\n 'The \"path\" argument must be of type string or an instance of URL. Received `' +\n path +\n '`'\n )\n error.code = 'ERR_INVALID_ARG_TYPE'\n throw error\n }\n\n if (path.protocol !== 'file:') {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError('The URL must be of scheme file')\n error.code = 'ERR_INVALID_URL_SCHEME'\n throw error\n }\n\n return getPathFromURLPosix(path)\n}\n\n/**\n * Get a path from a POSIX URL.\n *\n * @param {URL} url\n * URL.\n * @returns {string}\n * File path.\n */\nfunction getPathFromURLPosix(url) {\n if (url.hostname !== '') {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError(\n 'File URL host must be \"localhost\" or empty on darwin'\n )\n error.code = 'ERR_INVALID_FILE_URL_HOST'\n throw error\n }\n\n const pathname = url.pathname\n let index = -1\n\n while (++index < pathname.length) {\n if (\n pathname.codePointAt(index) === 37 /* `%` */ &&\n pathname.codePointAt(index + 1) === 50 /* `2` */\n ) {\n const third = pathname.codePointAt(index + 2)\n if (third === 70 /* `F` */ || third === 102 /* `f` */) {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError(\n 'File URL path must not include encoded / characters'\n )\n error.code = 'ERR_INVALID_FILE_URL_PATH'\n throw error\n }\n }\n }\n\n return decodeURIComponent(pathname)\n}\n","/**\n * @import {Node, Point, Position} from 'unist'\n * @import {Options as MessageOptions} from 'vfile-message'\n * @import {Compatible, Data, Map, Options, Value} from 'vfile'\n */\n\n/**\n * @typedef {object & {type: string, position?: Position | undefined}} NodeLike\n */\n\nimport {VFileMessage} from 'vfile-message'\nimport {minpath} from '#minpath'\nimport {minproc} from '#minproc'\nimport {urlToPath, isUrl} from '#minurl'\n\n/**\n * Order of setting (least specific to most), we need this because otherwise\n * `{stem: 'a', path: '~/b.js'}` would throw, as a path is needed before a\n * stem can be set.\n */\nconst order = /** @type {const} */ ([\n 'history',\n 'path',\n 'basename',\n 'stem',\n 'extname',\n 'dirname'\n])\n\nexport class VFile {\n /**\n * Create a new virtual file.\n *\n * `options` is treated as:\n *\n * * `string` or `Uint8Array` — `{value: options}`\n * * `URL` — `{path: options}`\n * * `VFile` — shallow copies its data over to the new file\n * * `object` — all fields are shallow copied over to the new file\n *\n * Path related fields are set in the following order (least specific to\n * most specific): `history`, `path`, `basename`, `stem`, `extname`,\n * `dirname`.\n *\n * You cannot set `dirname` or `extname` without setting either `history`,\n * `path`, `basename`, or `stem` too.\n *\n * @param {Compatible | null | undefined} [value]\n * File value.\n * @returns\n * New instance.\n */\n constructor(value) {\n /** @type {Options | VFile} */\n let options\n\n if (!value) {\n options = {}\n } else if (isUrl(value)) {\n options = {path: value}\n } else if (typeof value === 'string' || isUint8Array(value)) {\n options = {value}\n } else {\n options = value\n }\n\n /* eslint-disable no-unused-expressions */\n\n /**\n * Base of `path` (default: `process.cwd()` or `'/'` in browsers).\n *\n * @type {string}\n */\n // Prevent calling `cwd` (which could be expensive) if it’s not needed;\n // the empty string will be overridden in the next block.\n this.cwd = 'cwd' in options ? '' : minproc.cwd()\n\n /**\n * Place to store custom info (default: `{}`).\n *\n * It’s OK to store custom data directly on the file but moving it to\n * `data` is recommended.\n *\n * @type {Data}\n */\n this.data = {}\n\n /**\n * List of file paths the file moved between.\n *\n * The first is the original path and the last is the current path.\n *\n * @type {Array}\n */\n this.history = []\n\n /**\n * List of messages associated with the file.\n *\n * @type {Array}\n */\n this.messages = []\n\n /**\n * Raw value.\n *\n * @type {Value}\n */\n this.value\n\n // The below are non-standard, they are “well-known”.\n // As in, used in several tools.\n /**\n * Source map.\n *\n * This type is equivalent to the `RawSourceMap` type from the `source-map`\n * module.\n *\n * @type {Map | null | undefined}\n */\n this.map\n\n /**\n * Custom, non-string, compiled, representation.\n *\n * This is used by unified to store non-string results.\n * One example is when turning markdown into React nodes.\n *\n * @type {unknown}\n */\n this.result\n\n /**\n * Whether a file was saved to disk.\n *\n * This is used by vfile reporters.\n *\n * @type {boolean}\n */\n this.stored\n /* eslint-enable no-unused-expressions */\n\n // Set path related properties in the correct order.\n let index = -1\n\n while (++index < order.length) {\n const field = order[index]\n\n // Note: we specifically use `in` instead of `hasOwnProperty` to accept\n // `vfile`s too.\n if (\n field in options &&\n options[field] !== undefined &&\n options[field] !== null\n ) {\n // @ts-expect-error: TS doesn’t understand basic reality.\n this[field] = field === 'history' ? [...options[field]] : options[field]\n }\n }\n\n /** @type {string} */\n let field\n\n // Set non-path related properties.\n for (field in options) {\n // @ts-expect-error: fine to set other things.\n if (!order.includes(field)) {\n // @ts-expect-error: fine to set other things.\n this[field] = options[field]\n }\n }\n }\n\n /**\n * Get the basename (including extname) (example: `'index.min.js'`).\n *\n * @returns {string | undefined}\n * Basename.\n */\n get basename() {\n return typeof this.path === 'string'\n ? minpath.basename(this.path)\n : undefined\n }\n\n /**\n * Set basename (including extname) (`'index.min.js'`).\n *\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be nullified (use `file.path = file.dirname` instead).\n *\n * @param {string} basename\n * Basename.\n * @returns {undefined}\n * Nothing.\n */\n set basename(basename) {\n assertNonEmpty(basename, 'basename')\n assertPart(basename, 'basename')\n this.path = minpath.join(this.dirname || '', basename)\n }\n\n /**\n * Get the parent path (example: `'~'`).\n *\n * @returns {string | undefined}\n * Dirname.\n */\n get dirname() {\n return typeof this.path === 'string'\n ? minpath.dirname(this.path)\n : undefined\n }\n\n /**\n * Set the parent path (example: `'~'`).\n *\n * Cannot be set if there’s no `path` yet.\n *\n * @param {string | undefined} dirname\n * Dirname.\n * @returns {undefined}\n * Nothing.\n */\n set dirname(dirname) {\n assertPath(this.basename, 'dirname')\n this.path = minpath.join(dirname || '', this.basename)\n }\n\n /**\n * Get the extname (including dot) (example: `'.js'`).\n *\n * @returns {string | undefined}\n * Extname.\n */\n get extname() {\n return typeof this.path === 'string'\n ? minpath.extname(this.path)\n : undefined\n }\n\n /**\n * Set the extname (including dot) (example: `'.js'`).\n *\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be set if there’s no `path` yet.\n *\n * @param {string | undefined} extname\n * Extname.\n * @returns {undefined}\n * Nothing.\n */\n set extname(extname) {\n assertPart(extname, 'extname')\n assertPath(this.dirname, 'extname')\n\n if (extname) {\n if (extname.codePointAt(0) !== 46 /* `.` */) {\n throw new Error('`extname` must start with `.`')\n }\n\n if (extname.includes('.', 1)) {\n throw new Error('`extname` cannot contain multiple dots')\n }\n }\n\n this.path = minpath.join(this.dirname, this.stem + (extname || ''))\n }\n\n /**\n * Get the full path (example: `'~/index.min.js'`).\n *\n * @returns {string}\n * Path.\n */\n get path() {\n return this.history[this.history.length - 1]\n }\n\n /**\n * Set the full path (example: `'~/index.min.js'`).\n *\n * Cannot be nullified.\n * You can set a file URL (a `URL` object with a `file:` protocol) which will\n * be turned into a path with `url.fileURLToPath`.\n *\n * @param {URL | string} path\n * Path.\n * @returns {undefined}\n * Nothing.\n */\n set path(path) {\n if (isUrl(path)) {\n path = urlToPath(path)\n }\n\n assertNonEmpty(path, 'path')\n\n if (this.path !== path) {\n this.history.push(path)\n }\n }\n\n /**\n * Get the stem (basename w/o extname) (example: `'index.min'`).\n *\n * @returns {string | undefined}\n * Stem.\n */\n get stem() {\n return typeof this.path === 'string'\n ? minpath.basename(this.path, this.extname)\n : undefined\n }\n\n /**\n * Set the stem (basename w/o extname) (example: `'index.min'`).\n *\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be nullified (use `file.path = file.dirname` instead).\n *\n * @param {string} stem\n * Stem.\n * @returns {undefined}\n * Nothing.\n */\n set stem(stem) {\n assertNonEmpty(stem, 'stem')\n assertPart(stem, 'stem')\n this.path = minpath.join(this.dirname || '', stem + (this.extname || ''))\n }\n\n // Normal prototypal methods.\n /**\n * Create a fatal message for `reason` associated with the file.\n *\n * The `fatal` field of the message is set to `true` (error; file not usable)\n * and the `file` field is set to the current file path.\n * The message is added to the `messages` field on `file`.\n *\n * > 🪦 **Note**: also has obsolete signatures.\n *\n * @overload\n * @param {string} reason\n * @param {MessageOptions | null | undefined} [options]\n * @returns {never}\n *\n * @overload\n * @param {string} reason\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns {never}\n *\n * @overload\n * @param {string} reason\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns {never}\n *\n * @overload\n * @param {string} reason\n * @param {string | null | undefined} [origin]\n * @returns {never}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns {never}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns {never}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {string | null | undefined} [origin]\n * @returns {never}\n *\n * @param {Error | VFileMessage | string} causeOrReason\n * Reason for message, should use markdown.\n * @param {Node | NodeLike | MessageOptions | Point | Position | string | null | undefined} [optionsOrParentOrPlace]\n * Configuration (optional).\n * @param {string | null | undefined} [origin]\n * Place in code where the message originates (example:\n * `'my-package:my-rule'` or `'my-rule'`).\n * @returns {never}\n * Never.\n * @throws {VFileMessage}\n * Message.\n */\n fail(causeOrReason, optionsOrParentOrPlace, origin) {\n // @ts-expect-error: the overloads are fine.\n const message = this.message(causeOrReason, optionsOrParentOrPlace, origin)\n\n message.fatal = true\n\n throw message\n }\n\n /**\n * Create an info message for `reason` associated with the file.\n *\n * The `fatal` field of the message is set to `undefined` (info; change\n * likely not needed) and the `file` field is set to the current file path.\n * The message is added to the `messages` field on `file`.\n *\n * > 🪦 **Note**: also has obsolete signatures.\n *\n * @overload\n * @param {string} reason\n * @param {MessageOptions | null | undefined} [options]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {string} reason\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {string} reason\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {string} reason\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @param {Error | VFileMessage | string} causeOrReason\n * Reason for message, should use markdown.\n * @param {Node | NodeLike | MessageOptions | Point | Position | string | null | undefined} [optionsOrParentOrPlace]\n * Configuration (optional).\n * @param {string | null | undefined} [origin]\n * Place in code where the message originates (example:\n * `'my-package:my-rule'` or `'my-rule'`).\n * @returns {VFileMessage}\n * Message.\n */\n info(causeOrReason, optionsOrParentOrPlace, origin) {\n // @ts-expect-error: the overloads are fine.\n const message = this.message(causeOrReason, optionsOrParentOrPlace, origin)\n\n message.fatal = undefined\n\n return message\n }\n\n /**\n * Create a message for `reason` associated with the file.\n *\n * The `fatal` field of the message is set to `false` (warning; change may be\n * needed) and the `file` field is set to the current file path.\n * The message is added to the `messages` field on `file`.\n *\n * > 🪦 **Note**: also has obsolete signatures.\n *\n * @overload\n * @param {string} reason\n * @param {MessageOptions | null | undefined} [options]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {string} reason\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {string} reason\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {string} reason\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @param {Error | VFileMessage | string} causeOrReason\n * Reason for message, should use markdown.\n * @param {Node | NodeLike | MessageOptions | Point | Position | string | null | undefined} [optionsOrParentOrPlace]\n * Configuration (optional).\n * @param {string | null | undefined} [origin]\n * Place in code where the message originates (example:\n * `'my-package:my-rule'` or `'my-rule'`).\n * @returns {VFileMessage}\n * Message.\n */\n message(causeOrReason, optionsOrParentOrPlace, origin) {\n const message = new VFileMessage(\n // @ts-expect-error: the overloads are fine.\n causeOrReason,\n optionsOrParentOrPlace,\n origin\n )\n\n if (this.path) {\n message.name = this.path + ':' + message.name\n message.file = this.path\n }\n\n message.fatal = false\n\n this.messages.push(message)\n\n return message\n }\n\n /**\n * Serialize the file.\n *\n * > **Note**: which encodings are supported depends on the engine.\n * > For info on Node.js, see:\n * > .\n *\n * @param {string | null | undefined} [encoding='utf8']\n * Character encoding to understand `value` as when it’s a `Uint8Array`\n * (default: `'utf-8'`).\n * @returns {string}\n * Serialized file.\n */\n toString(encoding) {\n if (this.value === undefined) {\n return ''\n }\n\n if (typeof this.value === 'string') {\n return this.value\n }\n\n const decoder = new TextDecoder(encoding || undefined)\n return decoder.decode(this.value)\n }\n}\n\n/**\n * Assert that `part` is not a path (as in, does not contain `path.sep`).\n *\n * @param {string | null | undefined} part\n * File path part.\n * @param {string} name\n * Part name.\n * @returns {undefined}\n * Nothing.\n */\nfunction assertPart(part, name) {\n if (part && part.includes(minpath.sep)) {\n throw new Error(\n '`' + name + '` cannot be a path: did not expect `' + minpath.sep + '`'\n )\n }\n}\n\n/**\n * Assert that `part` is not empty.\n *\n * @param {string | undefined} part\n * Thing.\n * @param {string} name\n * Part name.\n * @returns {asserts part is string}\n * Nothing.\n */\nfunction assertNonEmpty(part, name) {\n if (!part) {\n throw new Error('`' + name + '` cannot be empty')\n }\n}\n\n/**\n * Assert `path` exists.\n *\n * @param {string | undefined} path\n * Path.\n * @param {string} name\n * Dependency name.\n * @returns {asserts path is string}\n * Nothing.\n */\nfunction assertPath(path, name) {\n if (!path) {\n throw new Error('Setting `' + name + '` requires `path` to be set too')\n }\n}\n\n/**\n * Assert `value` is an `Uint8Array`.\n *\n * @param {unknown} value\n * thing.\n * @returns {value is Uint8Array}\n * Whether `value` is an `Uint8Array`.\n */\nfunction isUint8Array(value) {\n return Boolean(\n value &&\n typeof value === 'object' &&\n 'byteLength' in value &&\n 'byteOffset' in value\n )\n}\n","export const CallableInstance =\n /**\n * @type {new , Result>(property: string | symbol) => (...parameters: Parameters) => Result}\n */\n (\n /** @type {unknown} */\n (\n /**\n * @this {Function}\n * @param {string | symbol} property\n * @returns {(...parameters: Array) => unknown}\n */\n function (property) {\n const self = this\n const constr = self.constructor\n const proto = /** @type {Record} */ (\n // Prototypes do exist.\n // type-coverage:ignore-next-line\n constr.prototype\n )\n const value = proto[property]\n /** @type {(...parameters: Array) => unknown} */\n const apply = function () {\n return value.apply(apply, arguments)\n }\n\n Object.setPrototypeOf(apply, proto)\n\n // Not needed for us in `unified`: we only call this on the `copy`\n // function,\n // and we don't need to add its fields (`length`, `name`)\n // over.\n // See also: GH-246.\n // const names = Object.getOwnPropertyNames(value)\n //\n // for (const p of names) {\n // const descriptor = Object.getOwnPropertyDescriptor(value, p)\n // if (descriptor) Object.defineProperty(apply, p, descriptor)\n // }\n\n return apply\n }\n )\n )\n","/**\n * @typedef {import('trough').Pipeline} Pipeline\n *\n * @typedef {import('unist').Node} Node\n *\n * @typedef {import('vfile').Compatible} Compatible\n * @typedef {import('vfile').Value} Value\n *\n * @typedef {import('../index.js').CompileResultMap} CompileResultMap\n * @typedef {import('../index.js').Data} Data\n * @typedef {import('../index.js').Settings} Settings\n */\n\n/**\n * @typedef {CompileResultMap[keyof CompileResultMap]} CompileResults\n * Acceptable results from compilers.\n *\n * To register custom results, add them to\n * {@linkcode CompileResultMap}.\n */\n\n/**\n * @template {Node} [Tree=Node]\n * The node that the compiler receives (default: `Node`).\n * @template {CompileResults} [Result=CompileResults]\n * The thing that the compiler yields (default: `CompileResults`).\n * @callback Compiler\n * A **compiler** handles the compiling of a syntax tree to something else\n * (in most cases, text) (TypeScript type).\n *\n * It is used in the stringify phase and called with a {@linkcode Node}\n * and {@linkcode VFile} representation of the document to compile.\n * It should return the textual representation of the given tree (typically\n * `string`).\n *\n * > **Note**: unified typically compiles by serializing: most compilers\n * > return `string` (or `Uint8Array`).\n * > Some compilers, such as the one configured with\n * > [`rehype-react`][rehype-react], return other values (in this case, a\n * > React tree).\n * > If you’re using a compiler that doesn’t serialize, expect different\n * > result values.\n * >\n * > To register custom results in TypeScript, add them to\n * > {@linkcode CompileResultMap}.\n *\n * [rehype-react]: https://github.com/rehypejs/rehype-react\n * @param {Tree} tree\n * Tree to compile.\n * @param {VFile} file\n * File associated with `tree`.\n * @returns {Result}\n * New content: compiled text (`string` or `Uint8Array`, for `file.value`) or\n * something else (for `file.result`).\n */\n\n/**\n * @template {Node} [Tree=Node]\n * The node that the parser yields (default: `Node`)\n * @callback Parser\n * A **parser** handles the parsing of text to a syntax tree.\n *\n * It is used in the parse phase and is called with a `string` and\n * {@linkcode VFile} of the document to parse.\n * It must return the syntax tree representation of the given file\n * ({@linkcode Node}).\n * @param {string} document\n * Document to parse.\n * @param {VFile} file\n * File associated with `document`.\n * @returns {Tree}\n * Node representing the given file.\n */\n\n/**\n * @typedef {(\n * Plugin, any, any> |\n * PluginTuple, any, any> |\n * Preset\n * )} Pluggable\n * Union of the different ways to add plugins and settings.\n */\n\n/**\n * @typedef {Array} PluggableList\n * List of plugins and presets.\n */\n\n// Note: we can’t use `callback` yet as it messes up `this`:\n// .\n/**\n * @template {Array} [PluginParameters=[]]\n * Arguments passed to the plugin (default: `[]`, the empty tuple).\n * @template {Node | string | undefined} [Input=Node]\n * Value that is expected as input (default: `Node`).\n *\n * * If the plugin returns a {@linkcode Transformer}, this\n * should be the node it expects.\n * * If the plugin sets a {@linkcode Parser}, this should be\n * `string`.\n * * If the plugin sets a {@linkcode Compiler}, this should be the\n * node it expects.\n * @template [Output=Input]\n * Value that is yielded as output (default: `Input`).\n *\n * * If the plugin returns a {@linkcode Transformer}, this\n * should be the node that that yields.\n * * If the plugin sets a {@linkcode Parser}, this should be the\n * node that it yields.\n * * If the plugin sets a {@linkcode Compiler}, this should be\n * result it yields.\n * @typedef {(\n * (this: Processor, ...parameters: PluginParameters) =>\n * Input extends string ? // Parser.\n * Output extends Node | undefined ? undefined | void : never :\n * Output extends CompileResults ? // Compiler.\n * Input extends Node | undefined ? undefined | void : never :\n * Transformer<\n * Input extends Node ? Input : Node,\n * Output extends Node ? Output : Node\n * > | undefined | void\n * )} Plugin\n * Single plugin.\n *\n * Plugins configure the processors they are applied on in the following\n * ways:\n *\n * * they change the processor, such as the parser, the compiler, or by\n * configuring data\n * * they specify how to handle trees and files\n *\n * In practice, they are functions that can receive options and configure the\n * processor (`this`).\n *\n * > **Note**: plugins are called when the processor is *frozen*, not when\n * > they are applied.\n */\n\n/**\n * Tuple of a plugin and its configuration.\n *\n * The first item is a plugin, the rest are its parameters.\n *\n * @template {Array} [TupleParameters=[]]\n * Arguments passed to the plugin (default: `[]`, the empty tuple).\n * @template {Node | string | undefined} [Input=undefined]\n * Value that is expected as input (optional).\n *\n * * If the plugin returns a {@linkcode Transformer}, this\n * should be the node it expects.\n * * If the plugin sets a {@linkcode Parser}, this should be\n * `string`.\n * * If the plugin sets a {@linkcode Compiler}, this should be the\n * node it expects.\n * @template [Output=undefined] (optional).\n * Value that is yielded as output.\n *\n * * If the plugin returns a {@linkcode Transformer}, this\n * should be the node that that yields.\n * * If the plugin sets a {@linkcode Parser}, this should be the\n * node that it yields.\n * * If the plugin sets a {@linkcode Compiler}, this should be\n * result it yields.\n * @typedef {(\n * [\n * plugin: Plugin,\n * ...parameters: TupleParameters\n * ]\n * )} PluginTuple\n */\n\n/**\n * @typedef Preset\n * Sharable configuration.\n *\n * They can contain plugins and settings.\n * @property {PluggableList | undefined} [plugins]\n * List of plugins and presets (optional).\n * @property {Settings | undefined} [settings]\n * Shared settings for parsers and compilers (optional).\n */\n\n/**\n * @template {VFile} [File=VFile]\n * The file that the callback receives (default: `VFile`).\n * @callback ProcessCallback\n * Callback called when the process is done.\n *\n * Called with either an error or a result.\n * @param {Error | undefined} [error]\n * Fatal error (optional).\n * @param {File | undefined} [file]\n * Processed file (optional).\n * @returns {undefined}\n * Nothing.\n */\n\n/**\n * @template {Node} [Tree=Node]\n * The tree that the callback receives (default: `Node`).\n * @callback RunCallback\n * Callback called when transformers are done.\n *\n * Called with either an error or results.\n * @param {Error | undefined} [error]\n * Fatal error (optional).\n * @param {Tree | undefined} [tree]\n * Transformed tree (optional).\n * @param {VFile | undefined} [file]\n * File (optional).\n * @returns {undefined}\n * Nothing.\n */\n\n/**\n * @template {Node} [Output=Node]\n * Node type that the transformer yields (default: `Node`).\n * @callback TransformCallback\n * Callback passed to transforms.\n *\n * If the signature of a `transformer` accepts a third argument, the\n * transformer may perform asynchronous operations, and must call it.\n * @param {Error | undefined} [error]\n * Fatal error to stop the process (optional).\n * @param {Output | undefined} [tree]\n * New, changed, tree (optional).\n * @param {VFile | undefined} [file]\n * New, changed, file (optional).\n * @returns {undefined}\n * Nothing.\n */\n\n/**\n * @template {Node} [Input=Node]\n * Node type that the transformer expects (default: `Node`).\n * @template {Node} [Output=Input]\n * Node type that the transformer yields (default: `Input`).\n * @callback Transformer\n * Transformers handle syntax trees and files.\n *\n * They are functions that are called each time a syntax tree and file are\n * passed through the run phase.\n * When an error occurs in them (either because it’s thrown, returned,\n * rejected, or passed to `next`), the process stops.\n *\n * The run phase is handled by [`trough`][trough], see its documentation for\n * the exact semantics of these functions.\n *\n * > **Note**: you should likely ignore `next`: don’t accept it.\n * > it supports callback-style async work.\n * > But promises are likely easier to reason about.\n *\n * [trough]: https://github.com/wooorm/trough#function-fninput-next\n * @param {Input} tree\n * Tree to handle.\n * @param {VFile} file\n * File to handle.\n * @param {TransformCallback} next\n * Callback.\n * @returns {(\n * Promise |\n * Promise | // For some reason this is needed separately.\n * Output |\n * Error |\n * undefined |\n * void\n * )}\n * If you accept `next`, nothing.\n * Otherwise:\n *\n * * `Error` — fatal error to stop the process\n * * `Promise` or `undefined` — the next transformer keeps using\n * same tree\n * * `Promise` or `Node` — new, changed, tree\n */\n\n/**\n * @template {Node | undefined} ParseTree\n * Output of `parse`.\n * @template {Node | undefined} HeadTree\n * Input for `run`.\n * @template {Node | undefined} TailTree\n * Output for `run`.\n * @template {Node | undefined} CompileTree\n * Input of `stringify`.\n * @template {CompileResults | undefined} CompileResult\n * Output of `stringify`.\n * @template {Node | string | undefined} Input\n * Input of plugin.\n * @template Output\n * Output of plugin (optional).\n * @typedef {(\n * Input extends string\n * ? Output extends Node | undefined\n * ? // Parser.\n * Processor<\n * Output extends undefined ? ParseTree : Output,\n * HeadTree,\n * TailTree,\n * CompileTree,\n * CompileResult\n * >\n * : // Unknown.\n * Processor\n * : Output extends CompileResults\n * ? Input extends Node | undefined\n * ? // Compiler.\n * Processor<\n * ParseTree,\n * HeadTree,\n * TailTree,\n * Input extends undefined ? CompileTree : Input,\n * Output extends undefined ? CompileResult : Output\n * >\n * : // Unknown.\n * Processor\n * : Input extends Node | undefined\n * ? Output extends Node | undefined\n * ? // Transform.\n * Processor<\n * ParseTree,\n * HeadTree extends undefined ? Input : HeadTree,\n * Output extends undefined ? TailTree : Output,\n * CompileTree,\n * CompileResult\n * >\n * : // Unknown.\n * Processor\n * : // Unknown.\n * Processor\n * )} UsePlugin\n * Create a processor based on the input/output of a {@link Plugin plugin}.\n */\n\n/**\n * @template {CompileResults | undefined} Result\n * Node type that the transformer yields.\n * @typedef {(\n * Result extends Value | undefined ?\n * VFile :\n * VFile & {result: Result}\n * )} VFileWithOutput\n * Type to generate a {@linkcode VFile} corresponding to a compiler result.\n *\n * If a result that is not acceptable on a `VFile` is used, that will\n * be stored on the `result` field of {@linkcode VFile}.\n */\n\nimport {bail} from 'bail'\nimport extend from 'extend'\nimport {ok as assert} from 'devlop'\nimport isPlainObj from 'is-plain-obj'\nimport {trough} from 'trough'\nimport {VFile} from 'vfile'\nimport {CallableInstance} from './callable-instance.js'\n\n// To do: next major: drop `Compiler`, `Parser`: prefer lowercase.\n\n// To do: we could start yielding `never` in TS when a parser is missing and\n// `parse` is called.\n// Currently, we allow directly setting `processor.parser`, which is untyped.\n\nconst own = {}.hasOwnProperty\n\n/**\n * @template {Node | undefined} [ParseTree=undefined]\n * Output of `parse` (optional).\n * @template {Node | undefined} [HeadTree=undefined]\n * Input for `run` (optional).\n * @template {Node | undefined} [TailTree=undefined]\n * Output for `run` (optional).\n * @template {Node | undefined} [CompileTree=undefined]\n * Input of `stringify` (optional).\n * @template {CompileResults | undefined} [CompileResult=undefined]\n * Output of `stringify` (optional).\n * @extends {CallableInstance<[], Processor>}\n */\nexport class Processor extends CallableInstance {\n /**\n * Create a processor.\n */\n constructor() {\n // If `Processor()` is called (w/o new), `copy` is called instead.\n super('copy')\n\n /**\n * Compiler to use (deprecated).\n *\n * @deprecated\n * Use `compiler` instead.\n * @type {(\n * Compiler<\n * CompileTree extends undefined ? Node : CompileTree,\n * CompileResult extends undefined ? CompileResults : CompileResult\n * > |\n * undefined\n * )}\n */\n this.Compiler = undefined\n\n /**\n * Parser to use (deprecated).\n *\n * @deprecated\n * Use `parser` instead.\n * @type {(\n * Parser |\n * undefined\n * )}\n */\n this.Parser = undefined\n\n // Note: the following fields are considered private.\n // However, they are needed for tests, and TSC generates an untyped\n // `private freezeIndex` field for, which trips `type-coverage` up.\n // Instead, we use `@deprecated` to visualize that they shouldn’t be used.\n /**\n * Internal list of configured plugins.\n *\n * @deprecated\n * This is a private internal property and should not be used.\n * @type {Array>>}\n */\n this.attachers = []\n\n /**\n * Compiler to use.\n *\n * @type {(\n * Compiler<\n * CompileTree extends undefined ? Node : CompileTree,\n * CompileResult extends undefined ? CompileResults : CompileResult\n * > |\n * undefined\n * )}\n */\n this.compiler = undefined\n\n /**\n * Internal state to track where we are while freezing.\n *\n * @deprecated\n * This is a private internal property and should not be used.\n * @type {number}\n */\n this.freezeIndex = -1\n\n /**\n * Internal state to track whether we’re frozen.\n *\n * @deprecated\n * This is a private internal property and should not be used.\n * @type {boolean | undefined}\n */\n this.frozen = undefined\n\n /**\n * Internal state.\n *\n * @deprecated\n * This is a private internal property and should not be used.\n * @type {Data}\n */\n this.namespace = {}\n\n /**\n * Parser to use.\n *\n * @type {(\n * Parser |\n * undefined\n * )}\n */\n this.parser = undefined\n\n /**\n * Internal list of configured transformers.\n *\n * @deprecated\n * This is a private internal property and should not be used.\n * @type {Pipeline}\n */\n this.transformers = trough()\n }\n\n /**\n * Copy a processor.\n *\n * @deprecated\n * This is a private internal method and should not be used.\n * @returns {Processor}\n * New *unfrozen* processor ({@linkcode Processor}) that is\n * configured to work the same as its ancestor.\n * When the descendant processor is configured in the future it does not\n * affect the ancestral processor.\n */\n copy() {\n // Cast as the type parameters will be the same after attaching.\n const destination =\n /** @type {Processor} */ (\n new Processor()\n )\n let index = -1\n\n while (++index < this.attachers.length) {\n const attacher = this.attachers[index]\n destination.use(...attacher)\n }\n\n destination.data(extend(true, {}, this.namespace))\n\n return destination\n }\n\n /**\n * Configure the processor with info available to all plugins.\n * Information is stored in an object.\n *\n * Typically, options can be given to a specific plugin, but sometimes it\n * makes sense to have information shared with several plugins.\n * For example, a list of HTML elements that are self-closing, which is\n * needed during all phases.\n *\n * > **Note**: setting information cannot occur on *frozen* processors.\n * > Call the processor first to create a new unfrozen processor.\n *\n * > **Note**: to register custom data in TypeScript, augment the\n * > {@linkcode Data} interface.\n *\n * @example\n * This example show how to get and set info:\n *\n * ```js\n * import {unified} from 'unified'\n *\n * const processor = unified().data('alpha', 'bravo')\n *\n * processor.data('alpha') // => 'bravo'\n *\n * processor.data() // => {alpha: 'bravo'}\n *\n * processor.data({charlie: 'delta'})\n *\n * processor.data() // => {charlie: 'delta'}\n * ```\n *\n * @template {keyof Data} Key\n *\n * @overload\n * @returns {Data}\n *\n * @overload\n * @param {Data} dataset\n * @returns {Processor}\n *\n * @overload\n * @param {Key} key\n * @returns {Data[Key]}\n *\n * @overload\n * @param {Key} key\n * @param {Data[Key]} value\n * @returns {Processor}\n *\n * @param {Data | Key} [key]\n * Key to get or set, or entire dataset to set, or nothing to get the\n * entire dataset (optional).\n * @param {Data[Key]} [value]\n * Value to set (optional).\n * @returns {unknown}\n * The current processor when setting, the value at `key` when getting, or\n * the entire dataset when getting without key.\n */\n data(key, value) {\n if (typeof key === 'string') {\n // Set `key`.\n if (arguments.length === 2) {\n assertUnfrozen('data', this.frozen)\n this.namespace[key] = value\n return this\n }\n\n // Get `key`.\n return (own.call(this.namespace, key) && this.namespace[key]) || undefined\n }\n\n // Set space.\n if (key) {\n assertUnfrozen('data', this.frozen)\n this.namespace = key\n return this\n }\n\n // Get space.\n return this.namespace\n }\n\n /**\n * Freeze a processor.\n *\n * Frozen processors are meant to be extended and not to be configured\n * directly.\n *\n * When a processor is frozen it cannot be unfrozen.\n * New processors working the same way can be created by calling the\n * processor.\n *\n * It’s possible to freeze processors explicitly by calling `.freeze()`.\n * Processors freeze automatically when `.parse()`, `.run()`, `.runSync()`,\n * `.stringify()`, `.process()`, or `.processSync()` are called.\n *\n * @returns {Processor}\n * The current processor.\n */\n freeze() {\n if (this.frozen) {\n return this\n }\n\n // Cast so that we can type plugins easier.\n // Plugins are supposed to be usable on different processors, not just on\n // this exact processor.\n const self = /** @type {Processor} */ (/** @type {unknown} */ (this))\n\n while (++this.freezeIndex < this.attachers.length) {\n const [attacher, ...options] = this.attachers[this.freezeIndex]\n\n if (options[0] === false) {\n continue\n }\n\n if (options[0] === true) {\n options[0] = undefined\n }\n\n const transformer = attacher.call(self, ...options)\n\n if (typeof transformer === 'function') {\n this.transformers.use(transformer)\n }\n }\n\n this.frozen = true\n this.freezeIndex = Number.POSITIVE_INFINITY\n\n return this\n }\n\n /**\n * Parse text to a syntax tree.\n *\n * > **Note**: `parse` freezes the processor if not already *frozen*.\n *\n * > **Note**: `parse` performs the parse phase, not the run phase or other\n * > phases.\n *\n * @param {Compatible | undefined} [file]\n * file to parse (optional); typically `string` or `VFile`; any value\n * accepted as `x` in `new VFile(x)`.\n * @returns {ParseTree extends undefined ? Node : ParseTree}\n * Syntax tree representing `file`.\n */\n parse(file) {\n this.freeze()\n const realFile = vfile(file)\n const parser = this.parser || this.Parser\n assertParser('parse', parser)\n return parser(String(realFile), realFile)\n }\n\n /**\n * Process the given file as configured on the processor.\n *\n * > **Note**: `process` freezes the processor if not already *frozen*.\n *\n * > **Note**: `process` performs the parse, run, and stringify phases.\n *\n * @overload\n * @param {Compatible | undefined} file\n * @param {ProcessCallback>} done\n * @returns {undefined}\n *\n * @overload\n * @param {Compatible | undefined} [file]\n * @returns {Promise>}\n *\n * @param {Compatible | undefined} [file]\n * File (optional); typically `string` or `VFile`]; any value accepted as\n * `x` in `new VFile(x)`.\n * @param {ProcessCallback> | undefined} [done]\n * Callback (optional).\n * @returns {Promise | undefined}\n * Nothing if `done` is given.\n * Otherwise a promise, rejected with a fatal error or resolved with the\n * processed file.\n *\n * The parsed, transformed, and compiled value is available at\n * `file.value` (see note).\n *\n * > **Note**: unified typically compiles by serializing: most\n * > compilers return `string` (or `Uint8Array`).\n * > Some compilers, such as the one configured with\n * > [`rehype-react`][rehype-react], return other values (in this case, a\n * > React tree).\n * > If you’re using a compiler that doesn’t serialize, expect different\n * > result values.\n * >\n * > To register custom results in TypeScript, add them to\n * > {@linkcode CompileResultMap}.\n *\n * [rehype-react]: https://github.com/rehypejs/rehype-react\n */\n process(file, done) {\n const self = this\n\n this.freeze()\n assertParser('process', this.parser || this.Parser)\n assertCompiler('process', this.compiler || this.Compiler)\n\n return done ? executor(undefined, done) : new Promise(executor)\n\n // Note: `void`s needed for TS.\n /**\n * @param {((file: VFileWithOutput) => undefined | void) | undefined} resolve\n * @param {(error: Error | undefined) => undefined | void} reject\n * @returns {undefined}\n */\n function executor(resolve, reject) {\n const realFile = vfile(file)\n // Assume `ParseTree` (the result of the parser) matches `HeadTree` (the\n // input of the first transform).\n const parseTree =\n /** @type {HeadTree extends undefined ? Node : HeadTree} */ (\n /** @type {unknown} */ (self.parse(realFile))\n )\n\n self.run(parseTree, realFile, function (error, tree, file) {\n if (error || !tree || !file) {\n return realDone(error)\n }\n\n // Assume `TailTree` (the output of the last transform) matches\n // `CompileTree` (the input of the compiler).\n const compileTree =\n /** @type {CompileTree extends undefined ? Node : CompileTree} */ (\n /** @type {unknown} */ (tree)\n )\n\n const compileResult = self.stringify(compileTree, file)\n\n if (looksLikeAValue(compileResult)) {\n file.value = compileResult\n } else {\n file.result = compileResult\n }\n\n realDone(error, /** @type {VFileWithOutput} */ (file))\n })\n\n /**\n * @param {Error | undefined} error\n * @param {VFileWithOutput | undefined} [file]\n * @returns {undefined}\n */\n function realDone(error, file) {\n if (error || !file) {\n reject(error)\n } else if (resolve) {\n resolve(file)\n } else {\n assert(done, '`done` is defined if `resolve` is not')\n done(undefined, file)\n }\n }\n }\n }\n\n /**\n * Process the given file as configured on the processor.\n *\n * An error is thrown if asynchronous transforms are configured.\n *\n * > **Note**: `processSync` freezes the processor if not already *frozen*.\n *\n * > **Note**: `processSync` performs the parse, run, and stringify phases.\n *\n * @param {Compatible | undefined} [file]\n * File (optional); typically `string` or `VFile`; any value accepted as\n * `x` in `new VFile(x)`.\n * @returns {VFileWithOutput}\n * The processed file.\n *\n * The parsed, transformed, and compiled value is available at\n * `file.value` (see note).\n *\n * > **Note**: unified typically compiles by serializing: most\n * > compilers return `string` (or `Uint8Array`).\n * > Some compilers, such as the one configured with\n * > [`rehype-react`][rehype-react], return other values (in this case, a\n * > React tree).\n * > If you’re using a compiler that doesn’t serialize, expect different\n * > result values.\n * >\n * > To register custom results in TypeScript, add them to\n * > {@linkcode CompileResultMap}.\n *\n * [rehype-react]: https://github.com/rehypejs/rehype-react\n */\n processSync(file) {\n /** @type {boolean} */\n let complete = false\n /** @type {VFileWithOutput | undefined} */\n let result\n\n this.freeze()\n assertParser('processSync', this.parser || this.Parser)\n assertCompiler('processSync', this.compiler || this.Compiler)\n\n this.process(file, realDone)\n assertDone('processSync', 'process', complete)\n assert(result, 'we either bailed on an error or have a tree')\n\n return result\n\n /**\n * @type {ProcessCallback>}\n */\n function realDone(error, file) {\n complete = true\n bail(error)\n result = file\n }\n }\n\n /**\n * Run *transformers* on a syntax tree.\n *\n * > **Note**: `run` freezes the processor if not already *frozen*.\n *\n * > **Note**: `run` performs the run phase, not other phases.\n *\n * @overload\n * @param {HeadTree extends undefined ? Node : HeadTree} tree\n * @param {RunCallback} done\n * @returns {undefined}\n *\n * @overload\n * @param {HeadTree extends undefined ? Node : HeadTree} tree\n * @param {Compatible | undefined} file\n * @param {RunCallback} done\n * @returns {undefined}\n *\n * @overload\n * @param {HeadTree extends undefined ? Node : HeadTree} tree\n * @param {Compatible | undefined} [file]\n * @returns {Promise}\n *\n * @param {HeadTree extends undefined ? Node : HeadTree} tree\n * Tree to transform and inspect.\n * @param {(\n * RunCallback |\n * Compatible\n * )} [file]\n * File associated with `node` (optional); any value accepted as `x` in\n * `new VFile(x)`.\n * @param {RunCallback} [done]\n * Callback (optional).\n * @returns {Promise | undefined}\n * Nothing if `done` is given.\n * Otherwise, a promise rejected with a fatal error or resolved with the\n * transformed tree.\n */\n run(tree, file, done) {\n assertNode(tree)\n this.freeze()\n\n const transformers = this.transformers\n\n if (!done && typeof file === 'function') {\n done = file\n file = undefined\n }\n\n return done ? executor(undefined, done) : new Promise(executor)\n\n // Note: `void`s needed for TS.\n /**\n * @param {(\n * ((tree: TailTree extends undefined ? Node : TailTree) => undefined | void) |\n * undefined\n * )} resolve\n * @param {(error: Error) => undefined | void} reject\n * @returns {undefined}\n */\n function executor(resolve, reject) {\n assert(\n typeof file !== 'function',\n '`file` can’t be a `done` anymore, we checked'\n )\n const realFile = vfile(file)\n transformers.run(tree, realFile, realDone)\n\n /**\n * @param {Error | undefined} error\n * @param {Node} outputTree\n * @param {VFile} file\n * @returns {undefined}\n */\n function realDone(error, outputTree, file) {\n const resultingTree =\n /** @type {TailTree extends undefined ? Node : TailTree} */ (\n outputTree || tree\n )\n\n if (error) {\n reject(error)\n } else if (resolve) {\n resolve(resultingTree)\n } else {\n assert(done, '`done` is defined if `resolve` is not')\n done(undefined, resultingTree, file)\n }\n }\n }\n }\n\n /**\n * Run *transformers* on a syntax tree.\n *\n * An error is thrown if asynchronous transforms are configured.\n *\n * > **Note**: `runSync` freezes the processor if not already *frozen*.\n *\n * > **Note**: `runSync` performs the run phase, not other phases.\n *\n * @param {HeadTree extends undefined ? Node : HeadTree} tree\n * Tree to transform and inspect.\n * @param {Compatible | undefined} [file]\n * File associated with `node` (optional); any value accepted as `x` in\n * `new VFile(x)`.\n * @returns {TailTree extends undefined ? Node : TailTree}\n * Transformed tree.\n */\n runSync(tree, file) {\n /** @type {boolean} */\n let complete = false\n /** @type {(TailTree extends undefined ? Node : TailTree) | undefined} */\n let result\n\n this.run(tree, file, realDone)\n\n assertDone('runSync', 'run', complete)\n assert(result, 'we either bailed on an error or have a tree')\n return result\n\n /**\n * @type {RunCallback}\n */\n function realDone(error, tree) {\n bail(error)\n result = tree\n complete = true\n }\n }\n\n /**\n * Compile a syntax tree.\n *\n * > **Note**: `stringify` freezes the processor if not already *frozen*.\n *\n * > **Note**: `stringify` performs the stringify phase, not the run phase\n * > or other phases.\n *\n * @param {CompileTree extends undefined ? Node : CompileTree} tree\n * Tree to compile.\n * @param {Compatible | undefined} [file]\n * File associated with `node` (optional); any value accepted as `x` in\n * `new VFile(x)`.\n * @returns {CompileResult extends undefined ? Value : CompileResult}\n * Textual representation of the tree (see note).\n *\n * > **Note**: unified typically compiles by serializing: most compilers\n * > return `string` (or `Uint8Array`).\n * > Some compilers, such as the one configured with\n * > [`rehype-react`][rehype-react], return other values (in this case, a\n * > React tree).\n * > If you’re using a compiler that doesn’t serialize, expect different\n * > result values.\n * >\n * > To register custom results in TypeScript, add them to\n * > {@linkcode CompileResultMap}.\n *\n * [rehype-react]: https://github.com/rehypejs/rehype-react\n */\n stringify(tree, file) {\n this.freeze()\n const realFile = vfile(file)\n const compiler = this.compiler || this.Compiler\n assertCompiler('stringify', compiler)\n assertNode(tree)\n\n return compiler(tree, realFile)\n }\n\n /**\n * Configure the processor to use a plugin, a list of usable values, or a\n * preset.\n *\n * If the processor is already using a plugin, the previous plugin\n * configuration is changed based on the options that are passed in.\n * In other words, the plugin is not added a second time.\n *\n * > **Note**: `use` cannot be called on *frozen* processors.\n * > Call the processor first to create a new unfrozen processor.\n *\n * @example\n * There are many ways to pass plugins to `.use()`.\n * This example gives an overview:\n *\n * ```js\n * import {unified} from 'unified'\n *\n * unified()\n * // Plugin with options:\n * .use(pluginA, {x: true, y: true})\n * // Passing the same plugin again merges configuration (to `{x: true, y: false, z: true}`):\n * .use(pluginA, {y: false, z: true})\n * // Plugins:\n * .use([pluginB, pluginC])\n * // Two plugins, the second with options:\n * .use([pluginD, [pluginE, {}]])\n * // Preset with plugins and settings:\n * .use({plugins: [pluginF, [pluginG, {}]], settings: {position: false}})\n * // Settings only:\n * .use({settings: {position: false}})\n * ```\n *\n * @template {Array} [Parameters=[]]\n * @template {Node | string | undefined} [Input=undefined]\n * @template [Output=Input]\n *\n * @overload\n * @param {Preset | null | undefined} [preset]\n * @returns {Processor}\n *\n * @overload\n * @param {PluggableList} list\n * @returns {Processor}\n *\n * @overload\n * @param {Plugin} plugin\n * @param {...(Parameters | [boolean])} parameters\n * @returns {UsePlugin}\n *\n * @param {PluggableList | Plugin | Preset | null | undefined} value\n * Usable value.\n * @param {...unknown} parameters\n * Parameters, when a plugin is given as a usable value.\n * @returns {Processor}\n * Current processor.\n */\n use(value, ...parameters) {\n const attachers = this.attachers\n const namespace = this.namespace\n\n assertUnfrozen('use', this.frozen)\n\n if (value === null || value === undefined) {\n // Empty.\n } else if (typeof value === 'function') {\n addPlugin(value, parameters)\n } else if (typeof value === 'object') {\n if (Array.isArray(value)) {\n addList(value)\n } else {\n addPreset(value)\n }\n } else {\n throw new TypeError('Expected usable value, not `' + value + '`')\n }\n\n return this\n\n /**\n * @param {Pluggable} value\n * @returns {undefined}\n */\n function add(value) {\n if (typeof value === 'function') {\n addPlugin(value, [])\n } else if (typeof value === 'object') {\n if (Array.isArray(value)) {\n const [plugin, ...parameters] =\n /** @type {PluginTuple>} */ (value)\n addPlugin(plugin, parameters)\n } else {\n addPreset(value)\n }\n } else {\n throw new TypeError('Expected usable value, not `' + value + '`')\n }\n }\n\n /**\n * @param {Preset} result\n * @returns {undefined}\n */\n function addPreset(result) {\n if (!('plugins' in result) && !('settings' in result)) {\n throw new Error(\n 'Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither'\n )\n }\n\n addList(result.plugins)\n\n if (result.settings) {\n namespace.settings = extend(true, namespace.settings, result.settings)\n }\n }\n\n /**\n * @param {PluggableList | null | undefined} plugins\n * @returns {undefined}\n */\n function addList(plugins) {\n let index = -1\n\n if (plugins === null || plugins === undefined) {\n // Empty.\n } else if (Array.isArray(plugins)) {\n while (++index < plugins.length) {\n const thing = plugins[index]\n add(thing)\n }\n } else {\n throw new TypeError('Expected a list of plugins, not `' + plugins + '`')\n }\n }\n\n /**\n * @param {Plugin} plugin\n * @param {Array} parameters\n * @returns {undefined}\n */\n function addPlugin(plugin, parameters) {\n let index = -1\n let entryIndex = -1\n\n while (++index < attachers.length) {\n if (attachers[index][0] === plugin) {\n entryIndex = index\n break\n }\n }\n\n if (entryIndex === -1) {\n attachers.push([plugin, ...parameters])\n }\n // Only set if there was at least a `primary` value, otherwise we’d change\n // `arguments.length`.\n else if (parameters.length > 0) {\n let [primary, ...rest] = parameters\n const currentPrimary = attachers[entryIndex][1]\n if (isPlainObj(currentPrimary) && isPlainObj(primary)) {\n primary = extend(true, currentPrimary, primary)\n }\n\n attachers[entryIndex] = [plugin, primary, ...rest]\n }\n }\n }\n}\n\n// Note: this returns a *callable* instance.\n// That’s why it’s documented as a function.\n/**\n * Create a new processor.\n *\n * @example\n * This example shows how a new processor can be created (from `remark`) and linked\n * to **stdin**(4) and **stdout**(4).\n *\n * ```js\n * import process from 'node:process'\n * import concatStream from 'concat-stream'\n * import {remark} from 'remark'\n *\n * process.stdin.pipe(\n * concatStream(function (buf) {\n * process.stdout.write(String(remark().processSync(buf)))\n * })\n * )\n * ```\n *\n * @returns\n * New *unfrozen* processor (`processor`).\n *\n * This processor is configured to work the same as its ancestor.\n * When the descendant processor is configured in the future it does not\n * affect the ancestral processor.\n */\nexport const unified = new Processor().freeze()\n\n/**\n * Assert a parser is available.\n *\n * @param {string} name\n * @param {unknown} value\n * @returns {asserts value is Parser}\n */\nfunction assertParser(name, value) {\n if (typeof value !== 'function') {\n throw new TypeError('Cannot `' + name + '` without `parser`')\n }\n}\n\n/**\n * Assert a compiler is available.\n *\n * @param {string} name\n * @param {unknown} value\n * @returns {asserts value is Compiler}\n */\nfunction assertCompiler(name, value) {\n if (typeof value !== 'function') {\n throw new TypeError('Cannot `' + name + '` without `compiler`')\n }\n}\n\n/**\n * Assert the processor is not frozen.\n *\n * @param {string} name\n * @param {unknown} frozen\n * @returns {asserts frozen is false}\n */\nfunction assertUnfrozen(name, frozen) {\n if (frozen) {\n throw new Error(\n 'Cannot call `' +\n name +\n '` on a frozen processor.\\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.'\n )\n }\n}\n\n/**\n * Assert `node` is a unist node.\n *\n * @param {unknown} node\n * @returns {asserts node is Node}\n */\nfunction assertNode(node) {\n // `isPlainObj` unfortunately uses `any` instead of `unknown`.\n // type-coverage:ignore-next-line\n if (!isPlainObj(node) || typeof node.type !== 'string') {\n throw new TypeError('Expected node, got `' + node + '`')\n // Fine.\n }\n}\n\n/**\n * Assert that `complete` is `true`.\n *\n * @param {string} name\n * @param {string} asyncName\n * @param {unknown} complete\n * @returns {asserts complete is true}\n */\nfunction assertDone(name, asyncName, complete) {\n if (!complete) {\n throw new Error(\n '`' + name + '` finished async. Use `' + asyncName + '` instead'\n )\n }\n}\n\n/**\n * @param {Compatible | undefined} [value]\n * @returns {VFile}\n */\nfunction vfile(value) {\n return looksLikeAVFile(value) ? value : new VFile(value)\n}\n\n/**\n * @param {Compatible | undefined} [value]\n * @returns {value is VFile}\n */\nfunction looksLikeAVFile(value) {\n return Boolean(\n value &&\n typeof value === 'object' &&\n 'message' in value &&\n 'messages' in value\n )\n}\n\n/**\n * @param {unknown} [value]\n * @returns {value is Value}\n */\nfunction looksLikeAValue(value) {\n return typeof value === 'string' || isUint8Array(value)\n}\n\n/**\n * Assert `value` is an `Uint8Array`.\n *\n * @param {unknown} value\n * thing.\n * @returns {value is Uint8Array}\n * Whether `value` is an `Uint8Array`.\n */\nfunction isUint8Array(value) {\n return Boolean(\n value &&\n typeof value === 'object' &&\n 'byteLength' in value &&\n 'byteOffset' in value\n )\n}\n","/**\n * @import {Element, ElementContent, Nodes, Parents, Root} from 'hast'\n * @import {Root as MdastRoot} from 'mdast'\n * @import {ComponentProps, ElementType, ReactElement} from 'react'\n * @import {Options as RemarkRehypeOptions} from 'remark-rehype'\n * @import {BuildVisitor} from 'unist-util-visit'\n * @import {PluggableList, Processor} from 'unified'\n */\n\n/**\n * @callback AllowElement\n * Filter elements.\n * @param {Readonly} element\n * Element to check.\n * @param {number} index\n * Index of `element` in `parent`.\n * @param {Readonly | undefined} parent\n * Parent of `element`.\n * @returns {boolean | null | undefined}\n * Whether to allow `element` (default: `false`).\n */\n\n/**\n * @typedef ExtraProps\n * Extra fields we pass.\n * @property {Element | undefined} [node]\n * passed when `passNode` is on.\n */\n\n/**\n * @typedef {{\n * [Key in Extract]?: ElementType & ExtraProps>\n * }} Components\n * Map tag names to components.\n */\n\n/**\n * @typedef Deprecation\n * Deprecation.\n * @property {string} from\n * Old field.\n * @property {string} id\n * ID in readme.\n * @property {keyof Options} [to]\n * New field.\n */\n\n/**\n * @typedef Options\n * Configuration.\n * @property {AllowElement | null | undefined} [allowElement]\n * Filter elements (optional);\n * `allowedElements` / `disallowedElements` is used first.\n * @property {ReadonlyArray | null | undefined} [allowedElements]\n * Tag names to allow (default: all tag names);\n * cannot combine w/ `disallowedElements`.\n * @property {string | null | undefined} [children]\n * Markdown.\n * @property {string | null | undefined} [className]\n * Wrap in a `div` with this class name.\n * @property {Components | null | undefined} [components]\n * Map tag names to components.\n * @property {ReadonlyArray | null | undefined} [disallowedElements]\n * Tag names to disallow (default: `[]`);\n * cannot combine w/ `allowedElements`.\n * @property {PluggableList | null | undefined} [rehypePlugins]\n * List of rehype plugins to use.\n * @property {PluggableList | null | undefined} [remarkPlugins]\n * List of remark plugins to use.\n * @property {Readonly | null | undefined} [remarkRehypeOptions]\n * Options to pass through to `remark-rehype`.\n * @property {boolean | null | undefined} [skipHtml=false]\n * Ignore HTML in markdown completely (default: `false`).\n * @property {boolean | null | undefined} [unwrapDisallowed=false]\n * Extract (unwrap) what’s in disallowed elements (default: `false`);\n * normally when say `strong` is not allowed, it and it’s children are dropped,\n * with `unwrapDisallowed` the element itself is replaced by its children.\n * @property {UrlTransform | null | undefined} [urlTransform]\n * Change URLs (default: `defaultUrlTransform`)\n */\n\n/**\n * @callback UrlTransform\n * Transform all URLs.\n * @param {string} url\n * URL.\n * @param {string} key\n * Property name (example: `'href'`).\n * @param {Readonly} node\n * Node.\n * @returns {string | null | undefined}\n * Transformed URL (optional).\n */\n\nimport {unreachable} from 'devlop'\nimport {toJsxRuntime} from 'hast-util-to-jsx-runtime'\nimport {urlAttributes} from 'html-url-attributes'\nimport {Fragment, jsx, jsxs} from 'react/jsx-runtime'\nimport {createElement, useEffect, useState} from 'react'\nimport remarkParse from 'remark-parse'\nimport remarkRehype from 'remark-rehype'\nimport {unified} from 'unified'\nimport {visit} from 'unist-util-visit'\nimport {VFile} from 'vfile'\n\nconst changelog =\n 'https://github.com/remarkjs/react-markdown/blob/main/changelog.md'\n\n/** @type {PluggableList} */\nconst emptyPlugins = []\n/** @type {Readonly} */\nconst emptyRemarkRehypeOptions = {allowDangerousHtml: true}\nconst safeProtocol = /^(https?|ircs?|mailto|xmpp)$/i\n\n// Mutable because we `delete` any time it’s used and a message is sent.\n/** @type {ReadonlyArray>} */\nconst deprecations = [\n {from: 'astPlugins', id: 'remove-buggy-html-in-markdown-parser'},\n {from: 'allowDangerousHtml', id: 'remove-buggy-html-in-markdown-parser'},\n {\n from: 'allowNode',\n id: 'replace-allownode-allowedtypes-and-disallowedtypes',\n to: 'allowElement'\n },\n {\n from: 'allowedTypes',\n id: 'replace-allownode-allowedtypes-and-disallowedtypes',\n to: 'allowedElements'\n },\n {\n from: 'disallowedTypes',\n id: 'replace-allownode-allowedtypes-and-disallowedtypes',\n to: 'disallowedElements'\n },\n {from: 'escapeHtml', id: 'remove-buggy-html-in-markdown-parser'},\n {from: 'includeElementIndex', id: '#remove-includeelementindex'},\n {\n from: 'includeNodeIndex',\n id: 'change-includenodeindex-to-includeelementindex'\n },\n {from: 'linkTarget', id: 'remove-linktarget'},\n {from: 'plugins', id: 'change-plugins-to-remarkplugins', to: 'remarkPlugins'},\n {from: 'rawSourcePos', id: '#remove-rawsourcepos'},\n {from: 'renderers', id: 'change-renderers-to-components', to: 'components'},\n {from: 'source', id: 'change-source-to-children', to: 'children'},\n {from: 'sourcePos', id: '#remove-sourcepos'},\n {from: 'transformImageUri', id: '#add-urltransform', to: 'urlTransform'},\n {from: 'transformLinkUri', id: '#add-urltransform', to: 'urlTransform'}\n]\n\n/**\n * Component to render markdown.\n *\n * This is a synchronous component.\n * When using async plugins,\n * see {@linkcode MarkdownAsync} or {@linkcode MarkdownHooks}.\n *\n * @param {Readonly} options\n * Props.\n * @returns {ReactElement}\n * React element.\n */\nexport function Markdown(options) {\n const processor = createProcessor(options)\n const file = createFile(options)\n return post(processor.runSync(processor.parse(file), file), options)\n}\n\n/**\n * Component to render markdown with support for async plugins\n * through async/await.\n *\n * Components returning promises are supported on the server.\n * For async support on the client,\n * see {@linkcode MarkdownHooks}.\n *\n * @param {Readonly} options\n * Props.\n * @returns {Promise}\n * Promise to a React element.\n */\nexport async function MarkdownAsync(options) {\n const processor = createProcessor(options)\n const file = createFile(options)\n const tree = await processor.run(processor.parse(file), file)\n return post(tree, options)\n}\n\n/**\n * Component to render markdown with support for async plugins through hooks.\n *\n * This uses `useEffect` and `useState` hooks.\n * Hooks run on the client and do not immediately render something.\n * For async support on the server,\n * see {@linkcode MarkdownAsync}.\n *\n * @param {Readonly} options\n * Props.\n * @returns {ReactElement}\n * React element.\n */\nexport function MarkdownHooks(options) {\n const processor = createProcessor(options)\n const [error, setError] = useState(\n /** @type {Error | undefined} */ (undefined)\n )\n const [tree, setTree] = useState(/** @type {Root | undefined} */ (undefined))\n\n useEffect(\n /* c8 ignore next 7 -- hooks are client-only. */\n function () {\n const file = createFile(options)\n processor.run(processor.parse(file), file, function (error, tree) {\n setError(error)\n setTree(tree)\n })\n },\n [\n options.children,\n options.rehypePlugins,\n options.remarkPlugins,\n options.remarkRehypeOptions\n ]\n )\n\n /* c8 ignore next -- hooks are client-only. */\n if (error) throw error\n\n /* c8 ignore next -- hooks are client-only. */\n return tree ? post(tree, options) : createElement(Fragment)\n}\n\n/**\n * Set up the `unified` processor.\n *\n * @param {Readonly} options\n * Props.\n * @returns {Processor}\n * Result.\n */\nfunction createProcessor(options) {\n const rehypePlugins = options.rehypePlugins || emptyPlugins\n const remarkPlugins = options.remarkPlugins || emptyPlugins\n const remarkRehypeOptions = options.remarkRehypeOptions\n ? {...options.remarkRehypeOptions, ...emptyRemarkRehypeOptions}\n : emptyRemarkRehypeOptions\n\n const processor = unified()\n .use(remarkParse)\n .use(remarkPlugins)\n .use(remarkRehype, remarkRehypeOptions)\n .use(rehypePlugins)\n\n return processor\n}\n\n/**\n * Set up the virtual file.\n *\n * @param {Readonly} options\n * Props.\n * @returns {VFile}\n * Result.\n */\nfunction createFile(options) {\n const children = options.children || ''\n const file = new VFile()\n\n if (typeof children === 'string') {\n file.value = children\n } else {\n unreachable(\n 'Unexpected value `' +\n children +\n '` for `children` prop, expected `string`'\n )\n }\n\n return file\n}\n\n/**\n * Process the result from unified some more.\n *\n * @param {Nodes} tree\n * Tree.\n * @param {Readonly} options\n * Props.\n * @returns {ReactElement}\n * React element.\n */\nfunction post(tree, options) {\n const allowedElements = options.allowedElements\n const allowElement = options.allowElement\n const components = options.components\n const disallowedElements = options.disallowedElements\n const skipHtml = options.skipHtml\n const unwrapDisallowed = options.unwrapDisallowed\n const urlTransform = options.urlTransform || defaultUrlTransform\n\n for (const deprecation of deprecations) {\n if (Object.hasOwn(options, deprecation.from)) {\n unreachable(\n 'Unexpected `' +\n deprecation.from +\n '` prop, ' +\n (deprecation.to\n ? 'use `' + deprecation.to + '` instead'\n : 'remove it') +\n ' (see <' +\n changelog +\n '#' +\n deprecation.id +\n '> for more info)'\n )\n }\n }\n\n if (allowedElements && disallowedElements) {\n unreachable(\n 'Unexpected combined `allowedElements` and `disallowedElements`, expected one or the other'\n )\n }\n\n // Wrap in `div` if there’s a class name.\n if (options.className) {\n tree = {\n type: 'element',\n tagName: 'div',\n properties: {className: options.className},\n // Assume no doctypes.\n children: /** @type {Array} */ (\n tree.type === 'root' ? tree.children : [tree]\n )\n }\n }\n\n visit(tree, transform)\n\n return toJsxRuntime(tree, {\n Fragment,\n // @ts-expect-error\n // React components are allowed to return numbers,\n // but not according to the types in hast-util-to-jsx-runtime\n components,\n ignoreInvalidStyle: true,\n jsx,\n jsxs,\n passKeys: true,\n passNode: true\n })\n\n /** @type {BuildVisitor} */\n function transform(node, index, parent) {\n if (node.type === 'raw' && parent && typeof index === 'number') {\n if (skipHtml) {\n parent.children.splice(index, 1)\n } else {\n parent.children[index] = {type: 'text', value: node.value}\n }\n\n return index\n }\n\n if (node.type === 'element') {\n /** @type {string} */\n let key\n\n for (key in urlAttributes) {\n if (\n Object.hasOwn(urlAttributes, key) &&\n Object.hasOwn(node.properties, key)\n ) {\n const value = node.properties[key]\n const test = urlAttributes[key]\n if (test === null || test.includes(node.tagName)) {\n node.properties[key] = urlTransform(String(value || ''), key, node)\n }\n }\n }\n }\n\n if (node.type === 'element') {\n let remove = allowedElements\n ? !allowedElements.includes(node.tagName)\n : disallowedElements\n ? disallowedElements.includes(node.tagName)\n : false\n\n if (!remove && allowElement && typeof index === 'number') {\n remove = !allowElement(node, index, parent)\n }\n\n if (remove && parent && typeof index === 'number') {\n if (unwrapDisallowed && node.children) {\n parent.children.splice(index, 1, ...node.children)\n } else {\n parent.children.splice(index, 1)\n }\n\n return index\n }\n }\n }\n}\n\n/**\n * Make a URL safe.\n *\n * @satisfies {UrlTransform}\n * @param {string} value\n * URL.\n * @returns {string}\n * Safe URL.\n */\nexport function defaultUrlTransform(value) {\n // Same as:\n // \n // But without the `encode` part.\n const colon = value.indexOf(':')\n const questionMark = value.indexOf('?')\n const numberSign = value.indexOf('#')\n const slash = value.indexOf('/')\n\n if (\n // If there is no protocol, it’s relative.\n colon === -1 ||\n // If the first colon is after a `?`, `#`, or `/`, it’s not a protocol.\n (slash !== -1 && colon > slash) ||\n (questionMark !== -1 && colon > questionMark) ||\n (numberSign !== -1 && colon > numberSign) ||\n // It is a protocol, it should be allowed.\n safeProtocol.test(value.slice(0, colon))\n ) {\n return value\n }\n\n return ''\n}\n","import React from \"react\";\nimport ReactMarkdown, {Components} from \"react-markdown\";\nimport {calcTimeDiff, handleLinkInChatClick} from \"../../chatbotUtil\";\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\";\nimport {ChatMessage, websiteLocationSelector} from \"../../chatbotSlice\";\nimport {useAppSelector} from \"../../../app/hooks\";\n\ninterface BotTextMessageProps {\n index: number\n message: ChatMessage\n}\n\nexport const BotTextMessage: React.FC = ({\n index,\n message\n }) => {\n\n const websiteLocation = useAppSelector(websiteLocationSelector)\n\n const components = {\n // @ts-ignore\n a: ({href, children}) => {\n return (\n handleLinkInChatClick(e, href, websiteLocation, true)}\n >\n {children}\n \n );\n },\n } as Components;\n\n return (\n
\n
\n
\n
\n
\n \n {message.message.message}\n \n
\n
\n
\n {calcTimeDiff(message.time)}\n
\n
\n
\n
\n );\n}\n","import React from \"react\";\nimport ReactMarkdown, {Components} from \"react-markdown\";\nimport {calcTimeDiff} from \"../../chatbotUtil\";\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\";\nimport {ChatMessage} from \"../../chatbotSlice\";\nimport {BotTextMessage} from \"./BotTextMessage\";\n\nconst convertToEmbedURL = (url: string) => {\n if (url.startsWith(\"https://youtu.be/\")) {\n const videoID = url.split(\"youtu.be/\")[1];\n return `https://www.youtube.com/embed/${videoID}`;\n }\n if (url.startsWith(\"https://www.youtube.com/watch?v=\")) {\n const videoID = url.split(\"www.youtube.com/watch?v=\")[1];\n return `https://www.youtube.com/embed/${videoID}`;\n }\n return url;\n}\n\nconst components = {\n // @ts-ignore\n a: ({href, children}) => {\n return (\n \n {children}\n \n );\n },\n} as Components;\n\ninterface BotVideoMessageProps {\n index: number\n message: ChatMessage\n}\n\nexport const BotVideoMessage: React.FC = ({\n index,\n message\n }) => {\n if (message.message.videoLink) {\n return (\n
\n
\n
\n
\n \n
\n \n {message.message.message}\n \n
\n
\n
\n {calcTimeDiff(message.time)}\n
\n
\n
\n
\n );\n } else {\n return \n }\n}\n","import React from \"react\";\nimport {\n botIdSelector,\n closeChatbot,\n ConvoStarterAction,\n ConvoStarterVisibility,\n isBotThinkingSelector,\n isMobileSelector,\n sendMessageToBot,\n VehicleDetails,\n websiteLocationSelector\n} from \"../../chatbotSlice\";\nimport {useAppDispatch, useAppSelector} from \"../../../app/hooks\";\nimport {handleLinkInChatClick} from \"../../chatbotUtil\";\nimport {getConvoStarterData, saveConvoStarterData} from \"../../ConvoStartersLocalStorageUtil\";\n\ninterface VehicleCardProps {\n vehicle: VehicleDetails\n}\n\nexport const VehicleCard: React.FC = ({vehicle}) => {\n\n const dispatch = useAppDispatch()\n const botId = useAppSelector(botIdSelector);\n const isMobile = useAppSelector(isMobileSelector);\n const thinking = useAppSelector(isBotThinkingSelector);\n const websiteLocation = useAppSelector(websiteLocationSelector);\n\n const handleLinkClick = (e: any) => {\n if (!!vehicle.redirect_url) {\n if (isMobile) {\n const firstMessage = \"This is the vehicle you selected. I'm still here if you need anything else.\";\n const convoStarterData = {\n firstMessage,\n convoStarters: [\n {\n action: ConvoStarterAction.SEND_MESSAGE,\n message: \"Tell me more about this vehicle\",\n visible: ConvoStarterVisibility.BUBBLE,\n },\n ],\n pageURL: \"\",\n };\n\n const existingData = getConvoStarterData(botId!);\n saveConvoStarterData(botId!, [...existingData, convoStarterData]);\n dispatch(closeChatbot());\n }\n handleLinkInChatClick(e, vehicle.redirect_url, websiteLocation, false);\n } else {\n if (!thinking) {\n dispatch(sendMessageToBot(\"Tell me more about this vehicle\"))\n }\n }\n }\n\n const getButtonTitle = (): string => {\n return !!vehicle.redirect_url ? \"Open details\" : \"Tell me more\"\n }\n\n return
\n
handleLinkClick(e)} className=\"cursor-pointer\">\n \n
\n\n
\n
\n
\n

{vehicle.make ?? \"No make\"} {vehicle.model ?? \"No model\"}

\n

{vehicle.price ?? \"£0\"}

\n
\n

{vehicle.derivative ?? \"No description\"}

\n
\n handleLinkClick(e)}\n className=\"mt-2 py-2 px-6 font-semibold rounded-full hover:bg-gray-100 border-2 border-black w-full\">\n {getButtonTitle()}\n \n
\n
\n}\n","import \"react-responsive-carousel/lib/styles/carousel.min.css\";\nimport React from \"react\";\nimport {useAppDispatch} from \"../../../app/hooks\";\nimport {focusVehicle, VehicleDetails} from \"../../chatbotSlice\";\n\ninterface CarsSliderLeftIconProps {\n currentVehicleIndex: number,\n setCurrentVehicleIndex: (cur: number) => void,\n vehicles: VehicleDetails[]\n}\n\nexport const VehicleSliderLeftIcon: React.FC = ({\n currentVehicleIndex,\n setCurrentVehicleIndex,\n vehicles\n }) => {\n\n const dispatch = useAppDispatch();\n\n const setFocusVehicle = (value: string) => {\n dispatch(focusVehicle({VIN: value}));\n };\n\n return {\n if (currentVehicleIndex === 0) {\n if (!!vehicles.length) {\n setFocusVehicle(vehicles[vehicles.length - 1].vin);\n }\n setCurrentVehicleIndex(vehicles.length - 1);\n } else {\n if (!!vehicles.length) {\n setFocusVehicle(vehicles[currentVehicleIndex - 1].vin);\n }\n setCurrentVehicleIndex(currentVehicleIndex - 1);\n }\n }}\n className=\"flex w-[32px] h-[32px] justify-center items-center !absolute bottom-[7px] z-50 left-0 border-[1.5px] border-gray-800 -translate-y-2/4 bg-white hover:bg-gray-300 rounded-full active:bg-gray-700 hover:cursor-pointer\"\n >\n \n \n \n
\n}\n","import {IconButton} from \"@material-tailwind/react\";\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\";\nimport React from \"react\";\nimport {useAppDispatch} from \"../../../app/hooks\";\nimport {focusVehicle, VehicleDetails} from \"../../chatbotSlice\";\n\ninterface CarsSliderRightIconProps {\n currentVehicleIndex: number,\n setCurrentVehicleIndex: (cur: number) => void,\n vehicles: VehicleDetails[]\n}\n\nexport const VehicleSliderRightIcon: React.FC = ({\n currentVehicleIndex,\n setCurrentVehicleIndex,\n vehicles,\n }) => {\n\n const dispatch = useAppDispatch();\n\n const setFocusVehicle = (value: string) => {\n dispatch(focusVehicle({VIN: value}));\n };\n\n return {\n if (currentVehicleIndex === vehicles.length - 1) {\n if (!!vehicles.length) {\n setFocusVehicle(vehicles[0].vin);\n }\n setCurrentVehicleIndex(0);\n } else {\n if (!!vehicles.length) {\n setFocusVehicle(vehicles[currentVehicleIndex + 1].vin);\n }\n setCurrentVehicleIndex(currentVehicleIndex + 1);\n }\n }}\n className=\"flex w-[32px] h-[32px] justify-center items-center !absolute rotate-180 bottom-[7px] z-50 right-0 border-[1.5px] border-gray-900 -translate-y-2/4 bg-white hover:bg-gray-300 rounded-full active:bg-gray-700 hover:cursor-pointer\"\n >\n \n \n \n
\n}\n","import {Carousel} from \"react-responsive-carousel\";\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\";\nimport React, {useEffect, useState} from \"react\";\nimport {focusedVehicleSelector, focusVehicle, isMobileSelector, VehicleDetails} from \"../../chatbotSlice\";\nimport {useAppDispatch, useAppSelector} from \"../../../app/hooks\";\nimport {VehicleCard} from \"./VehicleCard\";\nimport {VehicleSliderLeftIcon} from \"./VehicleSliderLeftIcon\";\nimport {VehicleSliderRightIcon} from \"./VehicleSliderRightIcon\";\n\ninterface VehicleSliderProps {\n vehicles: VehicleDetails[]\n}\n\nexport const VehicleSlider: React.FC = ({vehicles}) => {\n\n const dispatch = useAppDispatch();\n const focusedVehicle = useAppSelector(focusedVehicleSelector);\n const isMobile = useAppSelector(isMobileSelector);\n\n function getInitialSlideIndex() {\n if (focusedVehicle && vehicles.findIndex(v => v.vin == focusedVehicle) != -1) {\n return vehicles.findIndex(v => v.vin == focusedVehicle)\n }\n return 0;\n }\n\n const initialSlideIndex = getInitialSlideIndex();\n\n const [currentVehicleIndex, setCurrentVehicleIndex] = useState(initialSlideIndex);\n\n useEffect(() => {\n setFocusVehicle(vehicles[currentVehicleIndex].vin)\n }, [vehicles, currentVehicleIndex])\n\n const setFocusVehicle = (value: string) => {\n dispatch(focusVehicle({VIN: value}))\n };\n\n return
\n {!isMobile && (\n <>\n
\n \n
\n
\n \n
\n \n )}\n {\n if (!!vehicles.length) {\n setFocusVehicle(vehicles[i].vin);\n }\n setCurrentVehicleIndex(i);\n }}\n >\n {vehicles.map((item, i) => (\n \n ))}\n \n
\n}\n","import React from \"react\";\nimport ReactMarkdown, {Components} from \"react-markdown\";\nimport {calcTimeDiff} from \"../../chatbotUtil\";\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\";\nimport {ChatMessage} from \"../../chatbotSlice\";\n\n\nconst components = {\n // @ts-ignore\n a: ({href, children}) => {\n return (\n \n {children}\n \n );\n },\n} as Components;\n\ninterface BotImageMessageProps {\n index: number\n message: ChatMessage\n registration?: string\n}\n\nexport const BotImageMessage: React.FC = ({\n index,\n message\n }) => {\n\n const vehicle = message.message.vehicle;\n\n return (\n
\n
\n
\n
\n {vehicle?.redirect_url ?\n (\n \n \n \n ) : (\n \n )}\n
\n \n {message.message.message}\n \n
\n
\n
\n {calcTimeDiff(message.time)}\n
\n
\n
\n
\n );\n}\n","import React from \"react\";\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\";\nimport {VehicleSlider} from \"../VehicleSlider/VehicleSlider\";\nimport {ChatMessage, websiteLocationSelector} from \"../../chatbotSlice\";\nimport {BotImageMessage} from \"./BotImageMessage\";\nimport {BotTextMessage} from \"./BotTextMessage\";\nimport {calcTimeDiff, handleLinkInChatClick} from \"../../chatbotUtil\";\nimport ReactMarkdown, {Components} from \"react-markdown\";\nimport {useAppSelector} from \"../../../app/hooks\";\n\ninterface BotGalleryMessageProps {\n index: number\n message: ChatMessage\n}\n\nexport const BotGalleryMessage: React.FC = ({\n index,\n message\n }) => {\n\n const websiteLocation = useAppSelector(websiteLocationSelector)\n\n const components = {\n // @ts-ignore\n a: ({href, children}) => {\n return (\n handleLinkInChatClick(e, href, websiteLocation, true)}\n >\n {children}\n \n );\n },\n } as Components;\n\n if (message.message.vehicleList && message.message.vehicleList.length > 1) {\n return (\n \n {message.message.message && (\n
\n
\n \n {message.message.message}\n \n
\n
\n )}\n \n
\n {calcTimeDiff(message.time)}\n
\n
\n );\n } else if (message.message.vehicleList && message.message.vehicleList.length == 1) {\n const preparedMessage = {\n ...message,\n message: {\n ...message.message,\n vehicle: message.message.vehicleList[0]\n }\n }\n return \n } else {\n return \n }\n}\n","var RELEASE_TRAIN = 'v3';\n\nvar runtimeVersionToUrlVersion = function runtimeVersionToUrlVersion(version) {\n return version === 3 ? 'v3' : version;\n};\n\nvar ORIGIN = 'https://js.stripe.com';\nvar STRIPE_JS_URL = \"\".concat(ORIGIN, \"/v3\") ;\nvar V3_URL_REGEX = /^https:\\/\\/js\\.stripe\\.com\\/v3\\/?(\\?.*)?$/;\nvar STRIPE_JS_URL_REGEX = /^https:\\/\\/js\\.stripe\\.com\\/(v3|[a-z]+)\\/stripe\\.js(\\?.*)?$/;\nvar EXISTING_SCRIPT_MESSAGE = 'loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used';\n\nvar isStripeJSURL = function isStripeJSURL(url) {\n return V3_URL_REGEX.test(url) || STRIPE_JS_URL_REGEX.test(url);\n};\n\nvar findScript = function findScript() {\n var scripts = document.querySelectorAll(\"script[src^=\\\"\".concat(ORIGIN, \"\\\"]\"));\n\n for (var i = 0; i < scripts.length; i++) {\n var script = scripts[i];\n\n if (!isStripeJSURL(script.src)) {\n continue;\n }\n\n return script;\n }\n\n return null;\n};\n\nvar injectScript = function injectScript(params) {\n var queryString = params && !params.advancedFraudSignals ? '?advancedFraudSignals=false' : '';\n var script = document.createElement('script');\n script.src = \"\".concat(STRIPE_JS_URL).concat(queryString);\n var headOrBody = document.head || document.body;\n\n if (!headOrBody) {\n throw new Error('Expected document.body not to be null. Stripe.js requires a element.');\n }\n\n headOrBody.appendChild(script);\n return script;\n};\n\nvar registerWrapper = function registerWrapper(stripe, startTime) {\n if (!stripe || !stripe._registerWrapper) {\n return;\n }\n\n stripe._registerWrapper({\n name: 'stripe-js',\n version: \"5.10.0\",\n startTime: startTime\n });\n};\n\nvar stripePromise$1 = null;\nvar onErrorListener = null;\nvar onLoadListener = null;\n\nvar onError = function onError(reject) {\n return function (cause) {\n reject(new Error('Failed to load Stripe.js', {\n cause: cause\n }));\n };\n};\n\nvar onLoad = function onLoad(resolve, reject) {\n return function () {\n if (window.Stripe) {\n resolve(window.Stripe);\n } else {\n reject(new Error('Stripe.js not available'));\n }\n };\n};\n\nvar loadScript = function loadScript(params) {\n // Ensure that we only attempt to load Stripe.js at most once\n if (stripePromise$1 !== null) {\n return stripePromise$1;\n }\n\n stripePromise$1 = new Promise(function (resolve, reject) {\n if (typeof window === 'undefined' || typeof document === 'undefined') {\n // Resolve to null when imported server side. This makes the module\n // safe to import in an isomorphic code base.\n resolve(null);\n return;\n }\n\n if (window.Stripe && params) {\n console.warn(EXISTING_SCRIPT_MESSAGE);\n }\n\n if (window.Stripe) {\n resolve(window.Stripe);\n return;\n }\n\n try {\n var script = findScript();\n\n if (script && params) {\n console.warn(EXISTING_SCRIPT_MESSAGE);\n } else if (!script) {\n script = injectScript(params);\n } else if (script && onLoadListener !== null && onErrorListener !== null) {\n var _script$parentNode;\n\n // remove event listeners\n script.removeEventListener('load', onLoadListener);\n script.removeEventListener('error', onErrorListener); // if script exists, but we are reloading due to an error,\n // reload script to trigger 'load' event\n\n (_script$parentNode = script.parentNode) === null || _script$parentNode === void 0 ? void 0 : _script$parentNode.removeChild(script);\n script = injectScript(params);\n }\n\n onLoadListener = onLoad(resolve, reject);\n onErrorListener = onError(reject);\n script.addEventListener('load', onLoadListener);\n script.addEventListener('error', onErrorListener);\n } catch (error) {\n reject(error);\n return;\n }\n }); // Resets stripePromise on error\n\n return stripePromise$1[\"catch\"](function (error) {\n stripePromise$1 = null;\n return Promise.reject(error);\n });\n};\nvar initStripe = function initStripe(maybeStripe, args, startTime) {\n if (maybeStripe === null) {\n return null;\n }\n\n var pk = args[0];\n var isTestKey = pk.match(/^pk_test/); // @ts-expect-error this is not publicly typed\n\n var version = runtimeVersionToUrlVersion(maybeStripe.version);\n var expectedVersion = RELEASE_TRAIN;\n\n if (isTestKey && version !== expectedVersion) {\n console.warn(\"Stripe.js@\".concat(version, \" was loaded on the page, but @stripe/stripe-js@\").concat(\"5.10.0\", \" expected Stripe.js@\").concat(expectedVersion, \". This may result in unexpected behavior. For more information, see https://docs.stripe.com/sdks/stripejs-versioning\"));\n }\n\n var stripe = maybeStripe.apply(undefined, args);\n registerWrapper(stripe, startTime);\n return stripe;\n}; // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\nvar stripePromise;\nvar loadCalled = false;\n\nvar getStripePromise = function getStripePromise() {\n if (stripePromise) {\n return stripePromise;\n }\n\n stripePromise = loadScript(null)[\"catch\"](function (error) {\n // clear cache on error\n stripePromise = null;\n return Promise.reject(error);\n });\n return stripePromise;\n}; // Execute our own script injection after a tick to give users time to do their\n// own script injection.\n\n\nPromise.resolve().then(function () {\n return getStripePromise();\n})[\"catch\"](function (error) {\n if (!loadCalled) {\n console.warn(error);\n }\n});\nvar loadStripe = function loadStripe() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n loadCalled = true;\n var startTime = Date.now(); // if previous attempts are unsuccessful, will re-load script\n\n return getStripePromise().then(function (maybeStripe) {\n return initStripe(maybeStripe, args, startTime);\n });\n};\n\nexport { loadStripe };\n","import {PaymentElement, useElements, useStripe} from \"@stripe/react-stripe-js\";\nimport React, {useEffect, useState} from \"react\";\nimport {\n llmEngineBaseURLSelector,\n Message,\n sendConfirmStripeIntent,\n sendMessageToBot,\n sendStripeIntent,\n stripeClientSecretSelector,\n stripeErrorMessageSelector,\n StripePaymentState,\n} from \"../../chatbotSlice\";\nimport {useAppDispatch, useAppSelector} from \"../../../app/hooks\";\n\ninterface BotCheckoutFormProps {\n message: Message\n}\n\nexport const BotCheckoutForm: React.FC = ({message}) => {\n const stripe = useStripe();\n const elements = useElements();\n const dispatch = useAppDispatch();\n\n const llmEngineBaseURL = useAppSelector(llmEngineBaseURLSelector);\n const stripeClientSecret = useAppSelector(stripeClientSecretSelector);\n const stripeErrorMessage = useAppSelector(stripeErrorMessageSelector);\n\n const [errorMessage, setErrorMessage] = useState();\n\n const handleSubmit = async (event: any) => {\n event.preventDefault();\n\n if (elements == null) {\n return;\n }\n\n // Trigger form validation and wallet collection\n const {error: submitError} = await elements.submit();\n if (submitError) {\n // Show error to your customer\n setErrorMessage(submitError.message);\n return;\n }\n\n dispatch(sendStripeIntent(message.stripePaymentId!));\n }\n\n useEffect(() => {\n if (stripeClientSecret) {\n stripe?.confirmPayment({\n //`Elements` instance that was used to create the Payment Element\n elements: elements ? elements : undefined,\n clientSecret: stripeClientSecret,\n confirmParams: {\n return_url: `${llmEngineBaseURL}/stripe/confirm-intent?secret=${stripeClientSecret}`,\n },\n redirect: \"if_required\"\n }).then((stripeResponse) => {\n if (stripeResponse.error) {\n setErrorMessage(stripeResponse.error.message);\n } else {\n dispatch(sendConfirmStripeIntent());\n dispatch(sendMessageToBot(\"All right. I just paid £149 to reserve.\"));\n }\n });\n } else if (stripeErrorMessage) {\n setErrorMessage(stripeErrorMessage);\n }\n }, [stripeClientSecret])\n\n const getButtonTitle = () => {\n switch (message.stripePaymentState) {\n case StripePaymentState.READY:\n return \"Reserve now for £149\"\n case StripePaymentState.PROCESSING:\n return \"Processing...\"\n case StripePaymentState.PAID:\n return \"Reserved\"\n }\n }\n\n return
\n \n {errorMessage &&
{errorMessage}
}\n \n {getButtonTitle()}\n \n \n};\n","import {Elements} from \"@stripe/react-stripe-js\";\nimport React from \"react\";\nimport {loadStripe} from \"@stripe/stripe-js\";\nimport {BotCheckoutForm} from \"./BotCheckoutForm\";\nimport {Message, stripePublicKeySelector} from \"../../chatbotSlice\";\nimport {useAppSelector} from \"../../../app/hooks\";\n\nconst options = {\n amount: 14900,\n currency: \"gbp\",\n mode: \"payment\",\n // Fully customizable with appearance API.\n appearance: {\n readOnly: true,\n theme: \"flat\",\n variables: {\n fontFamily: ' \"Gill Sans\", sans-serif',\n fontLineHeight: \"1.5\",\n borderRadius: \"10px\",\n colorBackground: \"#F6F8FA\",\n accessibleColorOnColorPrimary: \"#262626\",\n },\n rules: {\n \".Block\": {\n backgroundColor: \"var(--colorBackground)\",\n boxShadow: \"none\",\n padding: \"12px\",\n },\n \".Input\": {\n padding: \"12px\",\n borderRadius: \"9999px\",\n backgroundColor: \"#f6f6f6\",\n boxSizing: \"border-box\",\n borderWidth: \"2px\",\n borderStyle: \"solid\",\n borderColor: \"#eeeeee\",\n color: \"black\",\n },\n \".Input:disabled, .Input--invalid:disabled\": {\n color: \"lightgray\",\n },\n \".Tab\": {\n padding: \"10px 12px 8px 12px\",\n border: \"none\",\n },\n \".Tab:hover\": {\n border: \"none\",\n boxShadow:\n \"0px 1px 1px rgba(0, 0, 0, 0.03), 0px 3px 7px rgba(18, 42, 66, 0.04)\",\n },\n \".Tab--selected, .Tab--selected:focus, .Tab--selected:hover\": {\n border: \"none\",\n backgroundColor: \"#fff\",\n boxShadow:\n \"0 0 0 1.5px var(--colorPrimaryText), 0px 1px 1px rgba(0, 0, 0, 0.03), 0px 3px 7px rgba(18, 42, 66, 0.04)\",\n },\n \".Label\": {\n fontWeight: \"500\",\n },\n },\n },\n};\n\ninterface BotCheckoutFormWrapperProps {\n message: Message\n}\n\nexport const BotCheckoutFormWrapper: React.FC = ({message}) => {\n\n const stripePublicKey = useAppSelector(stripePublicKeySelector)\n\n return \n \n \n};\n","import React from \"react\";\nimport ReactMarkdown, {Components} from \"react-markdown\";\nimport {calcTimeDiff} from \"../../chatbotUtil\";\nimport {BotCheckoutFormWrapper} from \"../Stripe/BotCheckoutFormWrapper\";\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\";\nimport {ChatMessage, StripePaymentState} from \"../../chatbotSlice\";\n\nconst components = {\n // @ts-ignore\n a: ({href, children}) => {\n return (\n \n {children}\n \n );\n },\n} as Components;\n\ninterface BotStripeMessageProps {\n index: number\n message: ChatMessage\n}\n\nexport const BotStripeMessage: React.FC = ({\n index,\n message\n }) => {\n return (\n
\n
\n
\n
\n {message.message.stripePaymentState != StripePaymentState.DONE &&\n }\n
\n \n {message.message.message}\n \n
\n
\n
\n {calcTimeDiff(message.time)}\n
\n
\n
\n
\n );\n}\n","import React, {useEffect, useRef} from \"react\";\nimport {useAppSelector} from \"../../app/hooks\";\nimport {ChatMessage, isConvoStartersOnChatVisibleSelector, messagesSelector, MessageType,} from \"../chatbotSlice\";\nimport {UserMessage} from \"./UserMessage\";\nimport {Thinking} from \"./Thinking\";\nimport {ConvoStarterButtons} from \"./Convostarter/ConvoStarterButtons\";\nimport {BotTextMessage} from \"./Message/BotTextMessage\";\nimport {BotVideoMessage} from \"./Message/BotVideoMessage\";\nimport {BotGalleryMessage} from \"./Message/BotGalleryMessage\";\nimport {BotStripeMessage} from \"./Message/BotStripeMessage\";\nimport {BotImageMessage} from \"./Message/BotImageMessage\";\n\nexport const WidgetMessages: React.FC = () => {\n\n const messages = useAppSelector(messagesSelector);\n\n const scrollRef = useRef(null);\n\n const isConvoStartersOpen = useAppSelector(isConvoStartersOnChatVisibleSelector)\n\n useEffect(() => {\n if (scrollRef.current) {\n scrollRef.current.scrollTop = scrollRef.current.scrollHeight;\n }\n }, [messages]);\n\n\n return \n
\n {messages.map((message: ChatMessage, index: number) => {\n if (message.isBot) {\n switch (message.message.messageType) {\n case MessageType.TEXT:\n return \n \n {(messages.length <= 1 && isConvoStartersOpen) &&\n }\n \n case MessageType.VIDEO:\n return \n case MessageType.IMAGE:\n return \n case MessageType.GALLERY:\n return \n case MessageType.STRIPE:\n return \n case MessageType.TOOL:\n break\n default:\n console.error(\"Failed to handle MessageType: \", message.message.messageType)\n return \n }\n } else {\n return \n }\n })}\n \n
\n \n}\n","import React from \"react\";\nimport {useAppDispatch, useAppSelector} from \"../../app/hooks\";\nimport {isBotThinkingSelector, sendMessageToBot} from \"../chatbotSlice\";\n\nexport const SwitchTo: React.FC = () => {\n\n const dispatch = useAppDispatch();\n const thinking = useAppSelector(isBotThinkingSelector);\n\n const sendMessage = (message: string) => {\n if (!thinking) {\n dispatch(sendMessageToBot(message));\n }\n }\n\n const switchToWhatsApp = () => {\n sendMessage(\"I want to use WhatsApp\");\n }\n\n const switchToSMS = () => {\n sendMessage(\"I want to use SMS\");\n }\n\n return
\n

Switch to

\n
\n \"SMS\"/\n
\n
switchToWhatsApp()}>\n \"WhatsApp\"/\n
\n
switchToSMS()}>\n \"SMS\"/\n
\n
\n}\n","import React from \"react\";\n\nexport const PoweredBy: React.FC = () => {\n\n return \n Powered by\n \"MotorTech.ai\"/\n \n}\n","import {SwitchTo} from \"./SwitchTo\";\nimport {PoweredBy} from \"./PoweredBy\";\nimport React from \"react\";\nimport {useAppSelector} from \"../../app/hooks\";\nimport {allowSMSSelector} from \"../chatbotSlice\";\n\nexport const WidgetFooter: React.FC = () => {\n\n const allowSMS = useAppSelector(allowSMSSelector)\n\n return
\n
\n {allowSMS && }\n \n
\n
\n}\n","import React, {useState} from \"react\";\nimport {InputField} from \"./InputField\";\nimport {ClearChatHistoryModal} from \"./ClearChatHistoryModal\";\nimport {WidgetHeader} from \"./WidgetHeader\";\nimport {WidgetMessages} from \"./WidgetMessages\";\nimport {useAppSelector} from \"../../app/hooks\";\nimport {isBotOpenSelector, isMobileSelector} from \"../chatbotSlice\";\nimport {WidgetFooter} from \"./WidgetFooter\";\n\nexport const BotChatDialog: React.FC = () => {\n\n const isOpen = useAppSelector(isBotOpenSelector);\n const isMobile = useAppSelector(isMobileSelector);\n\n const [isClearChatHistoryModalOpen, setIsClearChatHistoryModalOpen] = useState(false);\n\n\n return document.body.style.overflow = \"hidden\"}\n onTouchEnd={(e) => document.body.style.overflow = \"\"}\n >\n \n \n \n \n \n \n \n \n}\n","import React from \"react\";\nimport {useAppDispatch, useAppSelector} from \"../../app/hooks\";\nimport { hasExperienceSelector, isBotOpenSelector, openChatbot} from \"../chatbotSlice\";\n\nexport const WidgetBubble: React.FC = () => {\n\n const dispatch = useAppDispatch();\n\n const isBotChatOpen = useAppSelector(isBotOpenSelector);\n const hasExperience = useAppSelector(hasExperienceSelector);\n\n const openBot = () => {\n dispatch(openChatbot());\n };\n\n return \n \n \n {hasExperience && (\n
\n )}\n
\n \n}\n","import React from \"react\";\nimport {\n closeConvoStartersInBubble,\n convoStarterFirstMessageSelector,\n isConvoStartersOnBubbleVisibleSelector,\n openChatbot, showFirstMessageVisibleSelector,\n} from \"../../chatbotSlice\";\nimport {useAppDispatch, useAppSelector} from \"../../../app/hooks\";\nimport {ConvoStarterButtons} from \"./ConvoStarterButtons\";\n\nexport const ConvoStarters: React.FC = () => {\n const convoStartFirstMessage = useAppSelector(convoStarterFirstMessageSelector);\n const convoStartersButtonsVisible = useAppSelector(isConvoStartersOnBubbleVisibleSelector);\n const firstMessageVisible = useAppSelector(showFirstMessageVisibleSelector);\n const dispatch = useAppDispatch();\n\n const handleClose = () => {\n dispatch(closeConvoStartersInBubble());\n }\n\n const handleOpen = () => {\n dispatch(openChatbot());\n }\n\n return (\n
\n {firstMessageVisible &&\n
\n
\n {convoStartFirstMessage}\n
\n \n ×\n \n
\n }\n {convoStartersButtonsVisible &&\n
\n \n
\n }\n
\n );\n};\n","import {WidgetBubble} from \"./WidgetBubble\";\nimport React, {useLayoutEffect, useRef} from \"react\";\nimport {ConvoStarters} from \"./Convostarter/ConvoStarters\";\nimport {useAppSelector} from \"../../app/hooks\";\nimport {isBubbleContentVisibleSelector} from \"../chatbotSlice\";\nimport {BUBBLE_WIDTH, BUBBLE_WITH_STARTERS_WIDTH} from \"./App/App\";\n\ninterface WidgetBubbleContainerProps {\n resizeWidget: (width: string, height: string) => void;\n}\n\nexport const WidgetBubbleContainer: React.FC = ({resizeWidget}) => {\n const divRef = useRef(null);\n const isBubbleContentVisible = useAppSelector(isBubbleContentVisibleSelector)\n const bubbleOffsetWidth = isBubbleContentVisible ? BUBBLE_WITH_STARTERS_WIDTH : BUBBLE_WIDTH\n\n useLayoutEffect(() => {\n if (divRef.current === null) {\n return;\n }\n const resizeObserver = new ResizeObserver(entries => {\n for (let entry of entries) {\n const {height} = entry.contentRect;\n // 20px - bottom position\n resizeWidget(bubbleOffsetWidth, (height + 20) + 'px')\n }\n })\n resizeObserver.observe(divRef.current)\n return () => {\n resizeObserver.disconnect();\n };\n }, [isBubbleContentVisible]);\n\n\n return
\n \n \n
\n}\n","import React, {useState} from \"react\";\nimport {BotChatDialog} from \"./BotChatDialog\";\nimport {WidgetBubbleContainer} from \"./WidgetBubbleContainer\";\nimport {useAppSelector} from \"../../app/hooks\";\nimport {\n isBotOpenSelector, isBubbleContentVisibleSelector\n} from \"../chatbotSlice\";\nimport {BUBBLE_HEIGHT, BUBBLE_WITH_STARTERS_HEIGHT} from \"./App/App\";\n\ninterface LiveChatProps {\n resizeWidget: (width: string, height: string) => void;\n}\n\nexport const LiveChat: React.FC = ({resizeWidget}) => {\n const isBubbleContentVisible = useAppSelector(isBubbleContentVisibleSelector)\n const [height, setHeight] = useState(isBubbleContentVisible ? BUBBLE_WITH_STARTERS_HEIGHT : BUBBLE_HEIGHT)\n const isBotOpen = useAppSelector(isBotOpenSelector)\n\n const handleResizeWidget = (width: string, height: string) => {\n resizeWidget(width, height)\n setHeight(height)\n }\n\n return
\n {!isBotOpen && }\n \n
\n}\n","import React, {useEffect} from \"react\";\nimport {useAppDispatch, useAppSelector} from \"../../../app/hooks\";\nimport {\n addBotMessageManually,\n clearChatHistory,\n convoStartersTimeoutSelector,\n focusVehicle,\n getWidgetSettings,\n initialBotMessageSelector,\n initializeState,\n initMessage,\n isBotInitializedSelector,\n isBotOpenSelector,\n isMobileSelector,\n markConvoStartersTimeoutAsElapsed,\n openChatbot,\n sendMessageToBot,\n showWidgetSelector,\n updateConvoStarterFirstMessage,\n updateConvoStarters,\n updateFirstBotMessage,\n updateLocation,\n updateUserScroll,\n websiteLocationSelector\n} from \"../../chatbotSlice\";\nimport {LiveChat} from \"../LiveChat\";\n\nexport const MOBILE_WIDGET_HEIGHT = '80%'\nexport const MOBILE_WIDGET_WIDTH = '100%'\n\nexport const WIDGET_HEIGHT = '684px'\nexport const WIDGET_WIDTH = '384px'\n\nexport const BUBBLE_WITH_STARTERS_WIDTH = '300px'\nexport const BUBBLE_WITH_STARTERS_HEIGHT = '450px'\n\nexport const BUBBLE_WIDTH = '120px'\nexport const BUBBLE_HEIGHT = '120px'\n\nexport const App: React.FC = () => {\n\n const dispatch = useAppDispatch();\n\n const isMobile = useAppSelector(isMobileSelector);\n const isBotOpen = useAppSelector(isBotOpenSelector);\n const showWidget = useAppSelector(showWidgetSelector);\n const convoStartersTimeout = useAppSelector(convoStartersTimeoutSelector);\n const isBotInitialized = useAppSelector(isBotInitializedSelector);\n const websiteLocation = useAppSelector(websiteLocationSelector);\n const initialBotMessage = useAppSelector(initialBotMessageSelector);\n\n useEffect(() => {\n window.addEventListener('message', handleMessage)\n initializeWidget()\n\n return () => {\n window.removeEventListener('message', handleMessage)\n }\n\n }, [])\n\n useEffect(() => {\n if (convoStartersTimeout) {\n const timeoutId = setTimeout(() => {\n dispatch(markConvoStartersTimeoutAsElapsed());\n }, convoStartersTimeout);\n\n return () => clearTimeout(timeoutId);\n }\n }, [convoStartersTimeout, dispatch])\n\n const handleMessage = (event: MessageEvent) => {\n if (event.data.type === 'initialization') {\n dispatch(initializeState({\n ...event.data.storage,\n botId: event.data.botId,\n profile: event.data.profile,\n platformBaseURL: event.data.platformBaseURL,\n llmEngineBaseURL: event.data.llmEngineBaseURL,\n location: event.data.location,\n convoStartersTimeout: event.data.convoStartersTimeout,\n disableConvoStartersButtonsOnChatOnMobile: event.data.disableConvoStartersButtonsOnChatOnMobile,\n disableConvoStartersButtonsOnChatOnDesktop: event.data.disableConvoStartersButtonsOnChatOnDesktop,\n disableConvoStartersButtonsOnBubbleOnMobile: event.data.disableConvoStartersButtonsOnBubbleOnMobile,\n disableConvoStartersButtonsOnBubbleOnDesktop: event.data.disableConvoStartersButtonsOnBubbleOnDesktop,\n disableFirstMessageOnBubbleOnMobile: event.data.disableFirstMessageOnBubbleOnMobile,\n disableFirstMessageOnBubbleOnDesktop: event.data.disableFirstMessageOnBubbleOnDesktop,\n isMobile: event.data.isMobile,\n websiteLocation: event.data.url\n }));\n dispatch(getWidgetSettings(event.data.botId))\n window.parent.postMessage(\n {\n type: 'widget-init-complete',\n },\n '*',\n )\n } else if (event.data.type === 'update-bot-first-message') {\n dispatch(updateFirstBotMessage(event.data.message));\n } else if (event.data.type === 'update-bot-convo-starters') {\n dispatch(updateConvoStarters(event.data.convoStarters));\n dispatch(updateConvoStarterFirstMessage(event.data.firstMessage));\n } else if (event.data.type === 'user-scroll') {\n dispatch(updateUserScroll(true));\n } else if (event.data.type === 'update-bot-focused-vehicle') {\n dispatch(focusVehicle({VIN: event.data.VIN ?? event.data.vinNumber, VRM: event.data.VRM}));\n } else if (event.data.type === 'open-widget') {\n dispatch(openChatbot());\n } else if (event.data.type === 'send-message-to-widget') {\n dispatch(sendMessageToBot(event.data.userMessage));\n } else if (event.data.type === 'add-bot-message') {\n dispatch(addBotMessageManually(event.data.botMessage));\n } else if (event.data.type === 'clear-chat-history') {\n dispatch(clearChatHistory());\n } else if (event.data.type === 'update-location') {\n dispatch(updateLocation(event.data.url));\n }\n }\n\n const initializeWidget = () => {\n window.parent.postMessage(\n {\n type: 'widget-init-request',\n },\n '*',\n )\n }\n\n useEffect(() => {\n if (isBotOpen) {\n dispatch(initMessage([]))\n }\n\n if (websiteLocation) {\n window.parent.postMessage(\n {\n type: 'toggle-widget',\n isWidgetOpen: isBotOpen\n },\n websiteLocation\n )\n resizeWidget()\n }\n }, [isBotOpen, websiteLocation, initialBotMessage])\n\n useEffect(() => {\n resizeWidget()\n }, [])\n\n const resizeWidget = () => {\n const widgetOffsetWidth = isBotOpen ? WIDGET_WIDTH : BUBBLE_WIDTH\n const widgetOffsetHeight = isBotOpen ? WIDGET_HEIGHT : BUBBLE_HEIGHT\n const mobileWidgetOffsetWidth = isBotOpen ? MOBILE_WIDGET_WIDTH : BUBBLE_WIDTH\n const mobileWidgetOffsetHeight = isBotOpen ? MOBILE_WIDGET_HEIGHT : BUBBLE_HEIGHT\n\n if (isMobile) {\n resizeWidgetEvent(mobileWidgetOffsetWidth, mobileWidgetOffsetHeight)\n } else {\n resizeWidgetEvent(widgetOffsetWidth, widgetOffsetHeight)\n }\n }\n\n const resizeWidgetEvent = (width: string, height: string) => {\n if (websiteLocation) {\n window.parent.postMessage(\n {\n type: 'resize-widget',\n width: width,\n height: height,\n isFullScreenWidget: false\n },\n websiteLocation\n )\n }\n }\n\n if (isBotInitialized && showWidget) {\n return \n } else {\n return <>\n }\n}\n","import React from 'react';\nimport {createRoot} from 'react-dom/client';\nimport {Provider} from 'react-redux';\nimport {store} from './app/store';\nimport './index.css'\nimport reportWebVitals from './reportWebVitals';\nimport {App} from \"./features/components/App/App\";\n\nconst container = document.getElementById('root')!;\nconst root = createRoot(container);\n\nroot.render(\n \n \n \n \n \n);\n\nreportWebVitals();\n"],"names":["module","exports","define","_react","_propTypes","Object","defineProperty","value","setHasSupportToCaptureOption","_react2","_interopRequireDefault","_propTypes2","obj","__esModule","default","_extends","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","_objectWithoutProperties","keys","indexOf","_classCallCheck","instance","Constructor","TypeError","_createClass","defineProperties","props","descriptor","enumerable","configurable","writable","protoProps","staticProps","_possibleConstructorReturn","self","ReferenceError","_inherits","subClass","superClass","create","constructor","setPrototypeOf","__proto__","supportsCaptureOption","hasSupport","addEventListener","get","e","getSafeEventHandlerOpts","options","undefined","capture","getPosition","event","_event$touches$","touches","x","pageX","y","pageY","screenX","screenY","ReactSwipe","_Component","_ref","this","_len","args","Array","_key","_this","getPrototypeOf","apply","concat","_handleSwipeStart","bind","_handleSwipeMove","_handleSwipeEnd","_onMouseDown","_onMouseMove","_onMouseUp","_setSwiperRef","swiper","passive","removeEventListener","allowMouseEvents","mouseDown","document","_getPosition","moveStart","onSwipeStart","_getPosition2","deltaX","deltaY","moving","onSwipeMove","cancelable","preventDefault","movePosition","onSwipeEnd","tolerance","onSwipeLeft","onSwipeRight","onSwipeUp","onSwipeDown","node","innerRef","_props","className","tagName","style","children","createElement","ref","onMouseDown","onTouchStart","onTouchEnd","Component","displayName","propTypes","string","object","bool","func","number","isRequired","defaultProps","CUSTOM_PROPERTY_REGEX","HYPHEN_REGEX","NO_HYPHEN_REGEX","VENDOR_PREFIX_REGEX","MS_VENDOR_PREFIX_REGEX","capitalize","match","character","toUpperCase","trimHyphen","prefix","property","test","skipCamelCase","toLowerCase","reactCompat","replace","f","require","k","Symbol","for","l","m","n","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ReactCurrentOwner","p","__self","__source","q","c","a","g","b","d","h","$$typeof","type","_owner","current","Fragment","jsx","jsxs","_typeof","cache","_getRequireWildcardCache","has","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","desc","set","_interopRequireWildcard","_cssClasses","_dimensions","_CSSTranslate","_reactEasySwipe","_window","WeakMap","iterator","_defineProperties","_setPrototypeOf","o","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Date","toString","_isNativeReflectConstruct","result","Super","_getPrototypeOf","NewTarget","_assertThisInitialized","_defineProperty","Thumbs","_super","itemsWrapperRef","itemsListRef","index","thumbsRef","total","Children","count","wrapperSize","clientWidth","itemSize","thumbWidth","outerWidth","visibleItems","Math","floor","showArrows","lastPosition","setState","_state","firstItem","getFirstItem","selectedItem","item","isKeyboardEvent","handler","onSelectItem","swiping","delta","state","childrenLength","currentPosition","max","position","forEach","prop","axis","positions","moveTo","setupThumbs","prevProps","updateSizes","destroyThumbs","_this2","map","img","itemClass","ITEM","thumbProps","setThumbsRef","onClick","handleClickItem","onKeyDown","labels","width","role","tabIndex","_this3","itemListStyles","isSwipeable","hasPrev","hasNext","transformProp","transitionTime","WebkitTransform","MozTransform","MsTransform","OTransform","transform","msTransform","WebkitTransitionDuration","MozTransitionDuration","MsTransitionDuration","OTransitionDuration","transitionDuration","msTransitionDuration","CAROUSEL","WRAPPER","setItemsWrapperRef","ARROW_PREV","slideRight","leftArrow","SLIDER","slideLeft","setItemsListRef","emulateTouch","renderItems","ARROW_NEXT","rightArrow","metric","positionPercent","join","r","t","u","v","w","z","B","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","C","D","E","context","refs","updater","F","G","isReactComponent","Error","forceUpdate","H","isPureReactComponent","I","isArray","J","K","L","M","O","P","Q","escape","R","N","push","A","next","done","String","S","T","_status","_result","then","U","V","transition","W","ReactCurrentDispatcher","ReactCurrentBatchConfig","X","toArray","only","Profiler","PureComponent","StrictMode","Suspense","act","cloneElement","createContext","_currentValue","_currentValue2","_threadCount","Provider","Consumer","_defaultValue","_globalName","_context","createFactory","createRef","forwardRef","render","isValidElement","lazy","_payload","_init","memo","compare","startTransition","unstable_act","useCallback","useContext","useDebugValue","useDeferredValue","useEffect","useId","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useReducer","useRef","useState","useSyncExternalStore","useTransition","version","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","KNOWN_STATICS","name","caller","callee","arity","MEMO_STATICS","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","Memo","getOwnPropertyNames","getOwnPropertySymbols","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","styleObject","declarations","inline_style_parser_1","hasIterator","declaration","__importDefault","fadeAnimationHandler","slideStopSwipingHandler","slideSwipeAnimationHandler","slideAnimationHandler","_utils","ownKeys","enumerableOnly","symbols","filter","sym","_objectSpread","getOwnPropertyDescriptors","returnStyles","previousItem","infiniteLoop","centerMode","centerSlidePercentage","itemListStyle","setPosition","isHorizontal","finalBoundry","axisDelta","handledDelta","hasMoved","abs","swipeScrollTolerance","preventMovementUntilSwipeScrollTolerance","swipeMovementStarted","cancelClick","transitionTimingFunction","slideStyle","display","zIndex","minHeight","opacity","top","right","left","bottom","msTransitionTimingFunction","MozTransitionTimingFunction","WebkitTransitionTimingFunction","OTransitionTimingFunction","selectedStyle","prevStyle","pop","sortIndex","id","performance","now","unstable_now","setTimeout","clearTimeout","setImmediate","callback","startTime","expirationTime","priorityLevel","navigator","scheduling","isInputPending","MessageChannel","port2","port1","onmessage","postMessage","unstable_IdlePriority","unstable_ImmediatePriority","unstable_LowPriority","unstable_NormalPriority","unstable_Profiling","unstable_UserBlockingPriority","unstable_cancelCallback","unstable_continueExecution","unstable_forceFrameRate","console","error","unstable_getCurrentPriorityLevel","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_requestPaint","unstable_runWithPriority","unstable_scheduleCallback","delay","unstable_shouldYield","unstable_wrapCallback","hasOwn","toStr","gOPD","arr","isPlainObject","hasOwnConstructor","hasIsPrototypeOf","setProperty","newValue","getProperty","extend","src","copy","copyIsArray","clone","deep","_reactSwipe","_reactSwipe2","el","offsetWidth","getComputedStyle","parseInt","marginLeft","marginRight","style_to_object_1","utilities_1","StyleToJS","output","camelCase","React","objectIs","is","checkIfSnapshotChanged","inst","latestGetSnapshot","getSnapshot","nextValue","shim","window","subscribe","_useState","createRoot","hydrateRoot","_objectSpread2","_objectWithoutPropertiesLoose","excluded","sourceKeys","sourceSymbolKeys","propertyIsEnumerable","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_i","_s","_e","_arr","_n","_d","err","minLen","_arrayLikeToArray","slice","from","len","arr2","getDefaultExportFromCjs","ReactPropTypesSecret_1","hasRequiredReactPropTypesSecret","factoryWithThrowingShims","hasRequiredFactoryWithThrowingShims","requireReactPropTypesSecret","requireFactoryWithThrowingShims","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","propName","componentName","location","propFullName","secret","getShim","ReactPropTypes","array","symbol","any","arrayOf","element","elementType","instanceOf","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","useAttachEvent","cb","cbDefined","cbRef","decoratedCb","on","off","usePrevious","isUnknownObject","raw","isPromise","isStripe","elements","createToken","createPaymentMethod","confirmCardPayment","PLAIN_OBJECT_STR","isEqual","leftArray","leftPlainObject","leftKeys","rightKeys","keySet","allKeys","pred","every","extractAllowedOptionsUpdates","prevOptions","immutableKeys","reduce","newOptions","isUpdated","includes","warn","INVALID_STRIPE_ERROR$2","validateStripe","maybeStripe","errorMsg","parseStripeProp","tag","stripePromise","Promise","resolve","stripe","registerWithStripeJs","_registerWrapper","registerAppInfo","url","ElementsContext","parseElementsContext","ctx","useCase","Elements","rawStripeProp","parsed","_React$useState2","setContext","safeSetContext","prevStripe","updates","update","useElementsContextWithUseCase","useCaseMessage","useElements","ElementsConsumer","_ref2","_excluded$1","CheckoutSdkContext","parseCheckoutSdkContext","CheckoutContext","extractCheckoutContextValue","checkoutSdk","sessionState","session","actions","INVALID_STRIPE_ERROR$1","CheckoutProvider","setSession","_React$useState4","initCheckoutCalledRef","initCheckout","_prevOptions$elements","_options$elementsOpti","previousAppearance","elementsOptions","appearance","currentAppearance","changeAppearance","checkoutContextValue","fetchClientSecret","useCheckoutSdkContextWithUseCase","useCaseString","useElementsOrCheckoutSdkContextWithUseCase","checkoutSdkContext","elementsContext","useCheckout","_excluded","capitalized","str","charAt","createElementComponent","isServer","Element","readyCallback","_ref$options","onBlur","onFocus","onReady","onChange","onEscape","onLoadError","onLoaderStart","onNetworksChange","onConfirm","onCancel","onShippingAddressChange","onShippingRateChange","setElement","elementRef","domNode","newElement","createPaymentElement","mode","restOptions","createShippingAddressElement","createBillingAddressElement","createExpressCheckoutElement","createCurrencySelectorElement","mount","destroy","__elementType","EmbeddedCheckoutContext","useEmbeddedCheckoutContext","INVALID_STRIPE_ERROR","EmbeddedCheckoutProvider","embeddedCheckoutPromise","loadedStripe","embeddedCheckout","setStripeAndInitEmbeddedCheckout","initEmbeddedCheckout","clientSecret","onComplete","onShippingDetailsChange","onLineItemsChange","EmbeddedCheckoutClientElement","unmount","EmbeddedCheckoutServerElement","EmbeddedCheckout","useStripe","AuBankAccountElement","CardElement","CardNumberElement","CardExpiryElement","CardCvcElement","FpxBankElement","IbanElement","IdealBankElement","P24BankElement","EpsBankElement","PaymentElement","ExpressCheckoutElement","CurrencySelectorElement","PaymentRequestButtonElement","LinkAuthenticationElement","AddressElement","ShippingAddressElement","PaymentMethodMessagingElement","AffirmMessageElement","AfterpayClearpayMessageElement","factory","COMMENT_REGEX","NEWLINE_REGEX","WHITESPACE_REGEX","PROPERTY_REGEX","COLON_REGEX","VALUE_REGEX","SEMICOLON_REGEX","TRIM_REGEX","EMPTY_STRING","trim","lineno","column","updatePosition","lines","lastIndexOf","start","line","Position","whitespace","end","content","errorsList","msg","reason","filename","silent","re","exec","comments","rules","comment","pos","val","ret","decl","decls","_Thumbs","_document","_animations","Carousel","_React$Component","carouselWrapperRef","listRef","itemsRef","clearAutoPlay","autoPlay","timer","increment","interval","isMouseEntered","activeElement","contains","isFocusWithinTheCarousel","prevKey","keyCode","decrement","initialized","clientHeight","hasMount","onClickItem","onClickThumb","animationHandlerResponse","swipeAnimationHandler","selectItem","resetAutoPlay","newIndex","animationHandler","handleOnChange","getElementsByTagName","slideImages","image","complete","onImageLoad","height","initState","setupCarousel","prevState","autoFocus","forceFocus","stopSwipingHandler","setupAutoPlay","destroyAutoPlay","destroyCarousel","bindEvents","initialImage","getInitialImage","setMountState","unbindEvents","carouselWrapper","stopOnHover","startOnLeave","useKeyboardArrows","navigateWithKeyboard","_this$carouselWrapper","focus","isClone","isSelected","isPrevious","minWidth","pointerEvents","slideProps","setItemsRef","renderItem","_this4","_this$props","showIndicators","renderIndicator","_","changeItem","showStatus","statusFormatter","showThumbs","handleClickThumb","renderThumbs","_this5","swipeable","canShowArrows","itemsClone","firstClone","shift","lastClone","swiperProps","containerStyles","onSwipeForward","onSwipeBackwards","dynamicHeight","itemHeight","getVariableItemHeight","verticalSwipe","ariaLabel","ROOT","setCarouselWrapperRef","renderControls","renderArrowPrev","onClickPrev","setListRef","renderArrowNext","onClickNext","renderStatus","noop","onClickHandler","label","DOT","images","find","defaultStatusFormatter","bigint","_Carousel","_types","classNames","classes","arg","argType","inner","_classnames","_default","customClassName","isSlider","carousel","isSwiping","thumbs","slider","animated","selected","previous","thumb","slide","disabled","dot","useSyncExternalStoreWithSelector","getServerSnapshot","selector","instRef","hasValue","memoizedSelector","nextSnapshot","hasMemo","memoizedSnapshot","currentSelection","memoizedSelection","nextSelection","maybeGetServerSnapshot","aa","ca","encodeURIComponent","da","Set","ea","fa","ha","add","ia","ja","ka","la","ma","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","split","ra","sa","ta","pa","isNaN","qa","oa","removeAttribute","setAttribute","setAttributeNS","xlinkHref","ua","va","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","stack","Na","Oa","prepareStackTrace","Pa","Qa","Ra","Sa","Ta","nodeName","Va","_valueTracker","getValue","setValue","stopTracking","Ua","Wa","checked","Xa","body","Ya","defaultChecked","defaultValue","_wrapperState","initialChecked","Za","initialValue","controlled","ab","bb","db","ownerDocument","eb","fb","defaultSelected","gb","dangerouslySetInnerHTML","hb","ib","jb","textContent","kb","lb","mb","nb","namespaceURI","innerHTML","valueOf","firstChild","removeChild","appendChild","MSApp","execUnsafeLocalFunction","ob","lastChild","nodeType","nodeValue","pb","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","order","orphans","tabSize","widows","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","qb","rb","sb","substring","tb","menuitem","area","base","br","col","embed","hr","input","keygen","link","meta","param","track","wbr","ub","vb","wb","xb","srcElement","correspondingUseElement","parentNode","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","onError","Ob","Pb","Qb","Rb","Sb","Tb","Vb","alternate","return","flags","Wb","memoizedState","dehydrated","Xb","Zb","child","sibling","Yb","$b","ac","bc","cc","dc","ec","fc","gc","hc","ic","jc","kc","lc","oc","clz32","pc","qc","log","LN2","rc","sc","tc","uc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","vc","xc","yc","zc","Ac","eventTimes","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Map","Pc","Qc","Rc","Sc","delete","pointerId","Tc","nativeEvent","blockedOn","domEventName","eventSystemFlags","targetContainers","Vc","Wc","priority","isDehydrated","containerInfo","Xc","Yc","dispatchEvent","Zc","$c","ad","bd","cd","dd","ed","fd","gd","hd","Uc","stopPropagation","jd","kd","ld","md","nd","od","charCode","pd","qd","rd","_reactName","_targetInst","currentTarget","isDefaultPrevented","defaultPrevented","returnValue","isPropagationStopped","cancelBubble","persist","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","timeStamp","isTrusted","td","ud","view","detail","vd","Ad","clientX","clientY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","zd","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","clipboardData","Jd","Ld","data","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","fromCharCode","code","repeat","locale","which","Rd","Td","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","targetTouches","changedTouches","Xd","Yd","wheelDeltaX","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","le","color","date","datetime","email","month","password","range","search","tel","text","time","week","me","ne","oe","listeners","pe","qe","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","offset","nextSibling","Le","compareDocumentPosition","Me","HTMLIFrameElement","contentWindow","href","Ne","contentEditable","Oe","focusedElem","selectionRange","documentElement","selectionStart","selectionEnd","min","defaultView","getSelection","rangeCount","anchorNode","anchorOffset","focusNode","focusOffset","createRange","setStart","removeAllRanges","addRange","setEnd","scrollLeft","scrollTop","Pe","Qe","Re","Se","Te","Ue","Ve","We","animationend","animationiteration","animationstart","transitionend","Xe","Ye","Ze","animation","$e","af","bf","cf","df","ef","ff","gf","hf","lf","mf","nf","Ub","listener","of","pf","qf","rf","random","sf","tf","uf","parentWindow","vf","wf","na","xa","$a","ba","je","char","ke","unshift","xf","yf","zf","Af","Bf","Cf","Df","Ef","__html","Ff","Gf","Hf","Jf","queueMicrotask","catch","If","Kf","Lf","Mf","previousSibling","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","Vf","Wf","Xf","Yf","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","$f","ag","bg","getChildContext","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","gg","hg","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","zg","Ag","Bg","deletions","Cg","pendingProps","overflow","treeContext","retryLane","Dg","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","_stringRef","Mg","Ng","Og","Pg","Qg","Rg","implementation","Sg","Tg","Ug","Vg","Wg","Xg","Yg","Zg","$g","ah","bh","childLanes","ch","dependencies","firstContext","lanes","dh","eh","memoizedValue","fh","gh","hh","interleaved","ih","jh","kh","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","effects","lh","mh","eventTime","lane","payload","nh","oh","ph","qh","rh","sh","th","uh","vh","wh","xh","yh","zh","Ah","Bh","Ch","revealOrder","Dh","Eh","_workInProgressVersionPrimary","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","Nh","Oh","Ph","Qh","Rh","Sh","Th","baseQueue","queue","Uh","Vh","Wh","lastRenderedReducer","action","hasEagerState","eagerState","lastRenderedState","dispatch","Xh","Yh","Zh","$h","ai","bi","ci","di","lastEffect","stores","ei","fi","gi","hi","ii","deps","ji","ki","li","mi","ni","oi","pi","qi","ri","si","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","readContext","useMutableSource","unstable_isNewReconciler","identifierPrefix","Ci","Di","Ei","_reactInternals","Fi","shouldComponentUpdate","Gi","Hi","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","Ii","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","Ji","message","digest","Ki","Li","Mi","Ni","Oi","Pi","Qi","componentDidCatch","Ri","componentStack","Si","pingCache","Ti","Ui","Vi","Wi","Xi","Yi","Zi","$i","aj","bj","cj","dj","baseLanes","cachePool","transitions","ej","fj","gj","hj","ij","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","jj","kj","pendingContext","lj","zj","Aj","Bj","Cj","mj","nj","oj","fallback","pj","qj","sj","dataset","dgst","tj","uj","_reactRetry","rj","subtreeFlags","vj","wj","isBackwards","rendering","renderingStartTime","last","tail","tailMode","xj","Dj","Ej","Fj","wasMultiple","multiple","suppressHydrationWarning","onclick","size","createElementNS","createTextNode","Gj","Hj","Ij","Jj","Kj","WeakSet","Lj","Mj","Nj","Pj","Qj","Rj","Sj","Tj","Uj","Vj","insertBefore","_reactRootContainer","Wj","Xj","Yj","Zj","onCommitFiberUnmount","componentWillUnmount","ak","bk","ck","dk","ek","isHidden","fk","gk","hk","ik","jk","kk","__reactInternalSnapshotBeforeUpdate","Vk","lk","ceil","mk","nk","ok","Y","Z","pk","qk","rk","sk","tk","Infinity","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","callbackNode","expirationTimes","expiredLanes","wc","callbackPriority","ig","Ek","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","finishedWork","finishedLanes","Pk","timeoutHandle","Qk","Rk","Sk","Tk","Uk","mutableReadLanes","Bc","Oj","onCommitFiberRoot","mc","onRecoverableError","Wk","onPostCommitFiberRoot","Xk","Yk","$k","pendingChildren","al","mutableSourceEagerHydrationData","bl","pendingSuspenseBoundaries","dl","fl","gl","hl","il","yj","Zk","kl","reportError","ll","_internalRoot","ml","nl","ol","pl","rl","ql","unstable_scheduleHydration","splice","querySelectorAll","JSON","stringify","form","sl","usingClientEntryPoint","Events","tl","findFiberByHostInstance","bundleType","rendererPackageName","ul","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","__REACT_DEVTOOLS_GLOBAL_HOOK__","vl","isDisabled","supportsFiber","inject","createPortal","cl","unstable_strictMode","findDOMNode","flushSync","hydrate","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Lazy","Portal","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","definition","chunkId","all","promises","miniCssF","globalThis","Function","inProgress","dataWebpackPrefix","script","needAttach","scripts","s","getAttribute","charset","timeout","nc","onScriptComplete","prev","onerror","onload","doneFns","fn","head","toStringTag","installedChunks","j","installedChunkData","promise","reject","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","chunkIds","moreModules","runtime","some","chunkLoadingGlobal","batch","getBatch","ContextKey","gT","getContext","_gT$ContextKey","contextMap","realContext","ReactReduxContext","createReduxContextHook","useReduxContext","notInitialized","refEquality","createSelectorHook","useDefaultReduxContext","equalityFnOrOptions","equalityFn","stabilityCheck","noopCheck","store","subscription","getServerState","globalStabilityCheck","globalNoopCheck","wrappedSelector","selectedState","addNestedSub","getState","useSelector","nullListeners","notify","createSubscription","parentSub","unsubscribe","subscriptionsAmount","selfSubscribed","handleChangeWrapper","onStateChange","trySubscribe","first","clear","isSubscribed","createListenerCollection","tryUnsubscribe","cleanupListener","removed","notifyNestedSubs","getListeners","useIsomorphicLayoutEffect","serverState","contextValue","previousState","Context","createStoreHook","useStore","createDispatchHook","useDefaultStore","useDispatch","newBatch","nn","rn","freeze","isFrozen","tn","en","revocable","revoke","proxy","initializeUseSelector","initializeConnect","Number","deleteProperty","un","produce","produceWithPatches","useProxies","setUseProxies","autoFreeze","setAutoFreeze","createDraft","finishDraft","applyPatches","path","op","$","an","toPropertyKey","toPrimitive","formatProdErrorMessage","$$observable","observable","randomString","ActionTypes","INIT","REPLACE","PROBE_UNKNOWN_ACTION","proto","createStore","reducer","preloadedState","enhancer","currentReducer","currentState","currentListeners","nextListeners","isDispatching","ensureCanMutateNextListeners","replaceReducer","nextReducer","outerSubscribe","observer","observeState","combineReducers","reducers","reducerKeys","finalReducers","process","shapeAssertionError","finalReducerKeys","assertReducerShape","hasChanged","nextState","previousStateForKey","nextStateForKey","compose","funcs","applyMiddleware","middlewares","_dispatch","middlewareAPI","chain","middleware","createThunkMiddleware","extraArgument","thunk","withExtraArgument","composeWithDevTools","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","__REDUX_DEVTOOLS_EXTENSION__","baseProto","createAction","prepareAction","actionCreator","prepared","__spreadValues","MiddlewareArray","__extends","species","prepend","__spreadArray","EnhancerArray","freezeDraftable","isDraftable","createNextState","curryGetDefaultMiddleware","_c","middlewareArray","immutableCheck","serializableCheck","actionCreatorCheck","isBoolean","thunkMiddleware","getDefaultMiddleware","executeReducerBuilderCallback","builderCallback","defaultCaseReducer","actionsMap","actionMatchers","builder","addCase","typeOrActionCreator","addMatcher","matcher","addDefaultCase","nanoid","commonProperties","RejectWithValue","FulfillWithMeta","miniSerializeError","simpleError","commonProperties_1","createAsyncThunk","createAsyncThunk2","typePrefix","payloadCreator","fulfilled","requestId","__spreadProps","requestStatus","rejected","serializeError","rejectedWithValue","aborted","condition","AC","AbortController","class_1","signal","onabort","throwIfAborted","abort","extra","abortReason","idGenerator","abortController","promise2","__async","conditionResult","_a","sent","abortedPromise","_b","getPendingMeta","race","rejectWithValue","fulfillWithValue","finalAction","err_1","dispatchConditionRejection","unwrap","unwrapResult","withTypes","alm","global","createQueueWithTimer","requestAnimationFrame","enableES5","generateTemplatedMessage","isBot","saved","Role","ASSISTANT","rowMessage","message_type","MessageType","TEXT","messageType","calcTimeDiff","diff","getTime","round","toLocaleTimeString","isDevEnv","profile","handleLinkInChatClick","websiteLocation","isNewWindow","parent","inNew","getKey","botId","saveConvoStarterData","localStorage","setItem","getConvoStarterData","getItem","parse","getConvoStartersForPage","currentPageURL","entry","pageURL","updateEmptyPageURL","updatedData","deleteConvoStarterDataForPage","StripePaymentState","ConvoStarterAction","ConvoStarterVisibility","initialState","showWidget","messages","isMobile","open","thinking","hasExperience","allowSMS","initialBotMessage","convoStarterFirstMessage","convoStarters","isBotInitialized","convoStartersTimeout","convoStartersScriptConditions","disableConvoStartersButtonsOnChatOnMobile","disableConvoStartersButtonsOnChatOnDesktop","disableConvoStartersButtonsOnBubbleOnMobile","disableConvoStartersButtonsOnBubbleOnDesktop","disableFirstMessageOnBubbleOnMobile","disableFirstMessageOnBubbleOnDesktop","hasConvoStartersTimeoutElapsed","userScroll","convoStartersVisibility","showOnBubbleOnMobile","showOnBubbleOnDesktop","showOnChatOnMobile","showOnChatOnDesktop","showFirstMessageOnMobile","showFirstMessageOnDesktop","focusedVehicle","VIN","VRM","sendStripeIntent","async","chatbot","chatId","chat_id","llmEngineBaseURL","focusedStripePaymentIdFromState","focusedStripePaymentId","updateFocusedStripePaymentId","sendStripeIntentRequest","baseUrl","bot_id","_m$saved2","_m$message$rowMessage","fetch","method","headers","res","json","client_secret","sendConfirmStripeIntent","stripeClientSecret","sendConfirmStripeIntentRequest","sendMessageToBot","_ref3","addHumanMessage","currentLocation","userMessage","fetchWithRetry","attempt","response","status","prepareData","formattedMessages","_m$saved","tool_calls","toolCalls","tool_call_id","toolCallId","USER","currently_focused_vehicle","additional_context","sendMessageToBotRequest","getWidgetSettings","_ref4","platformBaseURL","handleConvoStarterClick","_ref5","SEND_MESSAGE","openChatbot","CLOSE_CHAT","closeConvoStartersInBubble","normalizeConvoStarter","starter","visible","BOTH","updateConvoStartersVisibility","conditions","timeoutElapsed","messagesLength","withinStarterLimit","noMessagesOrOne","isVisible","disableCondition","otherConditions","updateConvoStartersVisibilityForCurrentDevice","showBubble","showFirstMessage","applyCarouselConvoStarters","firstMessage","chatbotSlice","_reducer","reducerNames","sliceCaseReducersByName","sliceCaseReducersByType","actionCreators","buildReducer","extraReducers","_f","finalCaseReducers","mapOrBuilderCallback","getInitialState","finalActionMatchers","finalDefaultCaseReducer","isStateFunction","frozenInitialState_1","caseReducers","cr","caseReducer","isDraft2","isDraftable2","createNextState2","draft","createReducer","actionMatchers_1","reducerName","prepareCallback","maybeReducerWithPrepare","prepare","createSlice","initializeState","_ref6","_payload$profile","_payload$platformBase","_payload$llmEngineBas","URL","origin","initMessage","addBotMessageManually","_ref7","lastMessage","addBotMessage","_ref8","chatMessage","TOOL","parsedContent","vehicle","videoLink","video_link","vehicleList","vehicle_list","stripePaymentState","STRIPE","READY","stripePaymentId","_ref9","markConvoStartersTimeoutAsElapsed","openConvoStartersInBubble","closeChatbot","setAllMessagesSaved","thinkChatbot","_ref10","_ref11","focusVehicle","_ref12","clearChatHistory","stripeErrorMessage","newChatId","removeItem","updateFirstBotMessage","_ref13","updateConvoStarterFirstMessage","_ref14","updateConvoStarters","_ref15","updateLocation","_ref16","updateUserScroll","_ref17","_ref18","clearFocusedStripePaymentId","updateStripePaymentStateInMessage","_ref19","DONE","_ref20","_payload$convoStarter","_payload$convoStarter2","botType","stripePublicKey","_ref21","_ref22","PAID","_ref23","PROCESSING","_ref24","isConvoStartersOnBubbleVisibleSelector","isConvoStartersOnChatVisibleSelector","showFirstMessageVisibleSelector","profileSelector","llmEngineBaseURLSelector","showWidgetSelector","isBotOpenSelector","allowSMSSelector","botIdSelector","botNameSelector","botTypeSelector","isMobileSelector","convoStartersTimeoutSelector","initialBotMessageSelector","convoStarterFirstMessageSelector","convoStartersSelector","isBotThinkingSelector","messagesSelector","hasExperienceSelector","isBotInitializedSelector","websiteLocationSelector","focusedVehicleSelector","_state$chatbot$focuse","isBubbleContentVisibleSelector","stripePublicKeySelector","stripeClientSecretSelector","stripeErrorMessageSelector","rootReducer","curriedGetDefaultMiddleware","devTools","_g","_h","enhancers","finalMiddleware","middlewareEnhancer","finalCompose","compose2","trace","defaultEnhancers","storeEnhancers","configureStore","onPerfEntry","getCLS","getFID","getFCP","getLCP","getTTFB","useAppDispatch","useAppSelector","InputField","setText","sendUserMessageToBot","_jsx","_jsxs","placeholder","viewBox","fill","xmlns","ClearChatHistoryModal","isOpen","setIsOpen","stroke","strokeLinecap","strokeLinejoin","WidgetHeader","setIsClearChatHistoryModalOpen","botName","itemProp","alt","closeWidget","x1","y1","x2","y2","UserMessage","Thinking","animationDelay","_Fragment","ConvoStarterButtons","isInBubble","starters","BUBBLE","CHAT","isStarterVisible","nameRe","nameReJsx","emptyOptions","empty","Schema","normal","space","merge","definitions","normalize","Info","attribute","booleanish","boolean","commaOrSpaceSeparated","commaSeparated","defined","overloadedBoolean","spaceSeparated","powers","checks","types","DefinedInfo","mask","super","mark","check","values","properties","normals","entries","info","attributes","aria","ariaActiveDescendant","ariaAtomic","ariaAutoComplete","ariaBusy","ariaChecked","ariaColCount","ariaColIndex","ariaColSpan","ariaControls","ariaCurrent","ariaDescribedBy","ariaDetails","ariaDisabled","ariaDropEffect","ariaErrorMessage","ariaExpanded","ariaFlowTo","ariaGrabbed","ariaHasPopup","ariaHidden","ariaInvalid","ariaKeyShortcuts","ariaLabelledBy","ariaLevel","ariaLive","ariaModal","ariaMultiLine","ariaMultiSelectable","ariaOrientation","ariaOwns","ariaPlaceholder","ariaPosInSet","ariaPressed","ariaReadOnly","ariaRelevant","ariaRequired","ariaRoleDescription","ariaRowCount","ariaRowIndex","ariaRowSpan","ariaSelected","ariaSetSize","ariaSort","ariaValueMax","ariaValueMin","ariaValueNow","ariaValueText","caseSensitiveTransform","caseInsensitiveTransform","html","acceptcharset","classname","htmlfor","httpequiv","abbr","accept","acceptCharset","accessKey","allow","allowFullScreen","allowPaymentRequest","allowUserMedia","as","autoCapitalize","autoComplete","blocking","charSet","cite","cols","colSpan","controls","controlsList","coords","crossOrigin","dateTime","decoding","defer","dir","dirName","download","draggable","encType","enterKeyHint","fetchPriority","formAction","formEncType","formMethod","formNoValidate","formTarget","hidden","high","hrefLang","htmlFor","httpEquiv","imageSizes","imageSrcSet","inert","inputMode","integrity","isMap","itemId","itemRef","itemScope","itemType","kind","lang","language","list","loading","loop","low","manifest","maxLength","media","minLength","muted","nonce","noModule","noValidate","onAbort","onAfterPrint","onAuxClick","onBeforeMatch","onBeforePrint","onBeforeToggle","onBeforeUnload","onCanPlay","onCanPlayThrough","onClose","onContextLost","onContextMenu","onContextRestored","onCopy","onCueChange","onCut","onDblClick","onDrag","onDragEnd","onDragEnter","onDragExit","onDragLeave","onDragOver","onDragStart","onDrop","onDurationChange","onEmptied","onEnded","onFormData","onHashChange","onInput","onInvalid","onKeyPress","onKeyUp","onLanguageChange","onLoad","onLoadedData","onLoadedMetadata","onLoadEnd","onLoadStart","onMessage","onMessageError","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","onMouseUp","onOffline","onOnline","onPageHide","onPageShow","onPaste","onPause","onPlay","onPlaying","onPopState","onProgress","onRateChange","onRejectionHandled","onReset","onResize","onScroll","onScrollEnd","onSecurityPolicyViolation","onSeeked","onSeeking","onSelect","onSlotChange","onStalled","onStorage","onSubmit","onSuspend","onTimeUpdate","onToggle","onUnhandledRejection","onUnload","onVolumeChange","onWaiting","onWheel","optimum","pattern","ping","playsInline","popover","popoverTarget","popoverTargetAction","poster","preload","readOnly","referrerPolicy","rel","required","reversed","rows","rowSpan","sandbox","scope","scoped","seamless","shadowRootClonable","shadowRootDelegatesFocus","shadowRootMode","sizes","slot","span","spellCheck","srcDoc","srcLang","srcSet","step","title","translate","typeMustMatch","useMap","wrap","writingSuggestions","align","aLink","archive","background","bgColor","border","borderColor","bottomMargin","cellPadding","cellSpacing","charOff","classId","codeBase","codeType","compact","declare","face","frame","frameBorder","hSpace","leftMargin","longDesc","lowSrc","marginHeight","marginWidth","noResize","noHref","noShade","noWrap","prompt","rev","rightMargin","scheme","scrolling","standby","summary","topMargin","valueType","vAlign","vLink","vSpace","allowTransparency","autoCorrect","autoSave","disablePictureInPicture","disableRemotePlayback","results","security","unselectable","svg","accentHeight","alignmentBaseline","arabicForm","baselineShift","capHeight","clipPath","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","dataType","dominantBaseline","enableBackground","fillRule","floodColor","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontStyle","fontVariant","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","horizAdvX","horizOriginX","horizOriginY","imageRendering","letterSpacing","lightingColor","markerEnd","markerMid","markerStart","navDown","navDownLeft","navDownRight","navLeft","navNext","navPrev","navRight","navUp","navUpLeft","navUpRight","onActivate","onBegin","onEnd","onFocusIn","onFocusOut","onMouseWheel","onRepeat","onShow","onZoom","overlinePosition","overlineThickness","paintOrder","panose1","renderingIntent","shapeRendering","stopColor","strikethroughPosition","strikethroughThickness","strokeDashArray","strokeDashOffset","strokeLineCap","strokeLineJoin","strokeMiterLimit","textAnchor","textDecoration","textRendering","transformOrigin","underlinePosition","underlineThickness","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","vHanging","vIdeographic","vMathematical","vectorEffect","vertAdvY","vertOriginX","vertOriginY","wordSpacing","writingMode","xHeight","playbackOrder","timelineBegin","about","accumulate","additive","alphabetic","amplitude","ascent","attributeType","azimuth","bandwidth","baseFrequency","baseProfile","bbox","begin","bias","by","calcMode","clip","clipPathUnits","contentScriptType","contentStyleType","cursor","cx","cy","defaultAction","descent","diffuseConstant","direction","dur","divisor","dx","dy","edgeMode","editable","elevation","exponent","externalResourcesRequired","filterRes","filterUnits","focusable","focusHighlight","format","fr","fx","fy","g1","g2","glyphRef","gradientTransform","gradientUnits","hanging","hatchContentUnits","hatchUnits","ideographic","initialVisibility","in","in2","intercept","k1","k2","k3","k4","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","kerning","lengthAdjust","limitingConeAngle","local","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","mathematical","mediaCharacterEncoding","mediaContentEncodings","mediaSize","mediaTime","numOctaves","operator","orient","orientation","overlay","pathLength","patternContentUnits","patternTransform","patternUnits","phase","pitch","points","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","propagate","radius","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","requiredFonts","requiredFormats","resource","restart","rotate","rx","ry","scale","seed","side","slope","snapshotTime","specularConstant","specularExponent","spreadMethod","spacing","startOffset","stdDeviation","stemh","stemv","stitchTiles","surfaceScale","syncBehavior","syncBehaviorDefault","syncMaster","syncTolerance","syncToleranceDefault","systemLanguage","tableValues","targetX","targetY","textLength","transformBehavior","to","u1","u2","unicode","viewTarget","visibility","widths","xChannelSelector","yChannelSelector","zoomAndPan","xlink","xLinkActuate","xLinkArcRole","xLinkHref","xLinkRole","xLinkShow","xLinkTitle","xLinkType","xmlnsxlink","xmlnsXLink","xml","xmlBase","xmlLang","xmlSpace","htmlBase","svgBase","cap","dash","valid","kebab","$0","camelcase","hastToReact","pointEnd","point","pointStart","stringifyPosition","VFileMessage","causeOrReason","optionsOrParentOrPlace","legacyCause","place","ancestors","cause","ruleId","fatal","file","actual","expected","note","own","emptyMap","tableElements","tableCellElement","docs","toJsxRuntime","tree","filePath","development","jsxDEV","isStaticChildren","columnNumber","fileName","lineNumber","developmentCreate","productionCreate","components","elementAttributeNameCase","evaluater","createEvaluater","ignoreInvalidStyle","passKeys","passNode","schema","stylePropertyNameCase","tableCellAlignToStyle","one","parentSchema","findComponentFromName","alignValue","createProperty","createElementProps","createChildren","thing","addNode","addChildren","estree","expression","evaluateExpression","crashEstree","mdxExpression","objectExpression","argument","createJsxElementProps","mdxJsxElement","evaluateProgram","mdxEsm","root","countsByName","Type","rest","dashes","settings","padRight","padLeft","commas","styleToJs","parseStyle","domCasing","cssCasing","transformStyleToCssCasing","transformStylesToCssCasing","allowExpression","identifiers","isIdentifierName","computed","Boolean","optional","toDash","urlAttributes","icon","includeImageAlt","includeHtml","remove","items","parameters","chunkStart","SpliceBuffer","initial","RangeError","setCursor","stop","POSITIVE_INFINITY","reverse","deleteCount","trunc","chunkedPush","pushMany","unshiftMany","subtokenize","eventsArray","jumps","lineIndex","otherIndex","otherEvent","subevents","more","events","_tokenizer","_isInFirstContentOfListItem","contentType","subcontent","_container","eventIndex","token","startPosition","startPositions","tokenizer","parser","_contentTypeTextTrailing","childEvents","gaps","stream","adjust","breaks","sliceStream","defineSkip","_gfmTasklistFirstContentOfListItem","write","syntaxExtension","extension","hook","constructs","existing","before","asciiAlpha","regexCheck","asciiAlphanumeric","asciiAtext","asciiControl","asciiDigit","asciiHexDigit","asciiPunctuation","markdownLineEnding","markdownLineEndingOrSpace","markdownSpace","unicodePunctuation","unicodeWhitespace","regex","factorySpace","limit","enter","consume","exit","tokenize","contentStart","contentInitial","lineStart","childFlow","childToken","lineStartOffset","continued","containerState","continuation","documentContinue","checkNewContainers","_closeFlow","closeFlow","indexBeforeExits","indexBeforeFlow","exitContainers","documentContinued","currentConstruct","concrete","flowStart","interrupt","_gfmTableDynamicInterruptHack","containerConstruct","thereIsANewContainer","thereIsNoNewContainer","containerContinue","flow","flowContinue","writeToChild","endOfFile","seen","nok","disable","null","blankLine","partial","after","chunkInside","contentEnd","continuationConstruct","contentContinue","prefixed","sliceSerialize","flowInitial","afterConstruct","resolver","resolveAll","createResolver","initializeFactory","field","resolveAllLineSuffixes","notText","atBreak","extraResolver","chunks","tabs","bufferIndex","chunk","charCodeAt","_bufferIndex","_index","thematicBreak","marker","sequence","onBlank","notBlank","furtherBlankLines","initialBlankLine","notInCurrentItem","indentConstruct","initialSize","atMarker","inside","listItemPrefixWhitespaceConstruct","endOfPrefix","otherPrefix","blockQuote","contBefore","factoryDestination","literalType","literalMarkerType","rawType","stringType","balance","enclosedBefore","enclosed","enclosedEscape","rawEscape","factoryLabel","markerType","labelInside","labelEscape","factoryTitle","factoryWhitespace","normalizeIdentifier","identifier","labelAfter","markerAfter","destinationBefore","destinationAfter","titleBefore","afterWhitespace","beforeMarker","titleAfter","titleAfterOptionalWhitespace","codeIndented","afterPrefix","furtherStart","headingAtx","sequenceOpen","sequenceFurther","setextUnderline","resolveTo","heading","paragraph","htmlBlockNames","htmlRawNames","htmlFlow","closingTag","buffer","markerB","declarationOpen","tagCloseStart","continuationDeclarationInside","commentOpenInside","cdataOpenInside","slash","basicSelfClosing","completeClosingTagAfter","completeAttributeNameBefore","completeEnd","completeAttributeName","completeAttributeNameAfter","completeAttributeValueBefore","completeAttributeValueQuoted","completeAttributeValueUnquoted","completeAttributeValueQuotedAfter","completeAfter","continuationCommentInside","continuationRawTagOpen","continuationClose","continuationCdataInside","continuationStart","blankLineBefore","continuationAfter","nonLazyContinuationStart","continuationStartNonLazy","continuationBefore","continuationRawEndTag","nonLazyContinuation","codeFenced","closeStart","startBefore","beforeSequenceClose","sequenceClose","sizeOpen","sequenceCloseAfter","initialPrefix","beforeSequenceOpen","infoBefore","atNonLazyBreak","metaBefore","contentBefore","beforeContentChunk","contentChunk","decodeNamedCharacterReference","characterReference","numeric","characterEscape","lineEnding","called","labelEnd","newEvents","close","_inactive","_balanced","group","insideSpan","labelStart","labelEndNok","resourceConstruct","labelEndOk","referenceFullConstruct","referenceNotFull","referenceCollapsedConstruct","resourceBefore","resourceOpen","resourceEnd","resourceDestinationAfter","resourceDestinationMissing","resourceBetween","resourceTitleAfter","referenceFullAfter","referenceFullMissing","referenceCollapsedOpen","labelStartImage","classifyCharacter","attention","openingSequence","closingSequence","use","nextEvents","_close","_open","movePoint","attentionMarkers","autolink","schemeOrEmailAtext","emailAtext","schemeInsideOrEmailAtext","urlInside","emailAtSignOrDot","emailLabel","emailValue","htmlText","returnState","instruction","tagOpen","commentEnd","commentClose","lineEndingBefore","cdata","cdataClose","cdataEnd","instructionClose","tagClose","tagCloseBetween","tagOpenBetween","tagOpenAttributeName","tagOpenAttributeNameAfter","tagOpenAttributeValueBefore","tagOpenAttributeValueQuoted","tagOpenAttributeValueUnquoted","tagOpenAttributeValueQuotedAfter","lineEndingAfter","lineEndingAfterPrefix","labelStartLink","hardBreakEscape","codeText","tailExitIndex","headEnterIndex","between","resolveText","createTokenizer","initialize","columnStart","resolveAllConstructs","consumed","constructFactory","addResult","onsuccessfulcheck","accountForPotentialSkip","fields","expandTabs","atTab","serializeChunks","main","expectedCode","startIndex","startBufferIndex","endIndex","endBufferIndex","sliceChunks","chunkIndex","go","restore","onreturn","bogusState","listOfConstructs","constructIndex","handleListOfConstructs","handleMapOfConstructs","handleConstruct","startPoint","startPrevious","startCurrentConstruct","startEventsIndex","startStack","extensions","combineExtensions","defaultConstructs","decodeNumericCharacterReference","fromCodePoint","characterEscapeOrReference","decode","$1","$2","hex","fromMarkdown","encoding","config","transforms","canContainEols","opener","autolinkProtocol","onenterdata","autolinkEmail","atxHeading","codeFlow","codeFencedFenceInfo","codeFencedFenceMeta","codeTextData","codeFlowValue","definitionDestinationString","definitionLabelString","definitionTitleString","emphasis","hardBreak","hardBreakTrailing","htmlFlowData","htmlTextData","listItem","listItemValue","onenterlistitemvalue","listOrdered","onenterlistordered","listUnordered","reference","onenterreference","referenceString","resourceDestinationString","resourceTitleString","setextHeading","strong","closer","atxHeadingSequence","onexitatxheadingsequence","onexitautolinkemail","onexitautolinkprotocol","characterEscapeValue","onexitdata","characterReferenceMarkerHexadecimal","onexitcharacterreferencemarker","characterReferenceMarkerNumeric","characterReferenceValue","onexitcharacterreferencevalue","onexitcharacterreference","onexitcodefenced","codeFencedFence","onexitcodefencedfence","onexitcodefencedfenceinfo","onexitcodefencedfencemeta","onexitcodeindented","onexitcodetext","onexitdefinitiondestinationstring","onexitdefinitionlabelstring","onexitdefinitiontitlestring","onexithardbreak","onexithtmlflow","onexithtmltext","onexitimage","onexitlabel","labelText","onexitlabeltext","onexitlineending","onexitlink","onexitreferencestring","onexitresourcedestinationstring","onexitresourcetitlestring","onexitresource","onexitsetextheading","setextHeadingLineSequence","onexitsetextheadinglinesequence","setextHeadingText","onexitsetextheadingtext","configure","mdastExtensions","compile","tokenStack","resume","listStack","prepareList","defaultOnError","firstBlankLineIndex","containerBalance","listSpread","tailIndex","tailEvent","_spread","and","errorHandler","onExitError","expectingFirstListItemValue","flowCodeInside","depth","setextHeadingSlurpLineEnding","codePointAt","siblings","atHardBreak","inReference","referenceType","ancestor","decodeString","fragment","characterReferenceType","ordered","spread","compiler","postprocess","atCarriageReturn","endPosition","TextDecoder","lastIndex","preprocess","combined","remarkParse","doc","env","deserialize","serialized","deserializer","out","unpair","RegExp","BigInt","Uint8Array","DataView","EMPTY","asString","shouldSkip","TYPE","serialize","lossy","serializer","strict","pair","toJSON","toISOString","structuredClone","normalizeUri","skip","defaultFootnoteBackContent","rereferenceIndex","defaultFootnoteBackLabel","referenceIndex","convert","castFactory","tests","anyFactory","checkAsRecord","nodeAsRecord","propsFactory","typeFactory","testFunction","looksLikeANode","CONTINUE","EXIT","visitParents","visitor","parents","visit","subresult","grandparents","toResult","nodeAsParent","testOrVisitor","visitorOrReverse","maybeReverse","revert","subtype","suffix","contents","listItemLoose","trimLines","trimLine","handlers","blockquote","patch","applyData","break","footnoteReference","clobberPrefix","safeId","footnoteOrder","counter","reuseCounter","footnoteCounts","dataFootnoteRef","sup","allowDangerousHtml","imageReference","definitionById","inlineCode","linkReference","loose","listLoose","table","firstRow","tableContent","tableCell","tableRow","cellIndex","cells","cell","toml","ignore","yaml","footnoteDefinition","hName","hChildren","hProperties","defaultUnknownHandler","nodes","trimMarkdownSpaceStart","toHast","footnoteById","defaultHandlers","handle","passThrough","shallow","unknownHandler","createState","foot","footnoteBackContent","footnoteBackLabel","footnoteLabel","footnoteLabelTagName","footnoteLabelProperties","listItems","backReferences","counts","dataFootnoteBackref","tailTail","dataFootnotes","footer","remarkRehype","destination","hastTree","run","bail","trough","fns","pipeline","middlewareIndex","_len2","_key2","wrapped","_len3","_key3","fnExpectsCallback","_len4","_key4","middelware","minpath","basename","extname","assertPath","seenNonSlash","firstNonSlashEnd","extnameIndex","dirname","unmatchedSlash","startPart","startDot","preDotState","joined","segments","absolute","allowAboveRoot","lastSlashIndex","lastSegmentLength","lastSlash","dots","normalizeString","sep","minproc","cwd","isUrl","fileUrlOrPath","protocol","auth","urlToPath","hostname","pathname","third","decodeURIComponent","getPathFromURLPosix","VFile","isUint8Array","history","stored","assertNonEmpty","assertPart","stem","fail","part","CallableInstance","Processor","Compiler","Parser","attachers","freezeIndex","frozen","namespace","transformers","attacher","assertUnfrozen","transformer","realFile","vfile","assertParser","assertCompiler","executor","parseTree","realDone","compileTree","compileResult","processSync","assertDone","assertNode","outputTree","resultingTree","runSync","addPlugin","addList","addPreset","plugin","plugins","entryIndex","primary","currentPrimary","isPlainObj","unified","asyncName","looksLikeAVFile","emptyPlugins","emptyRemarkRehypeOptions","safeProtocol","deprecations","Markdown","processor","createProcessor","createFile","post","rehypePlugins","remarkPlugins","remarkRehypeOptions","allowedElements","allowElement","disallowedElements","skipHtml","unwrapDisallowed","urlTransform","defaultUrlTransform","deprecation","colon","questionMark","numberSign","BotTextMessage","ReactMarkdown","convertToEmbedURL","startsWith","BotVideoMessage","VehicleCard","_vehicle$make","_vehicle$model","_vehicle$price","_vehicle$derivative","handleLinkClick","redirect_url","convoStarterData","existingData","image_url","make","model","price","derivative","VehicleSliderLeftIcon","currentVehicleIndex","setCurrentVehicleIndex","vehicles","setFocusVehicle","vin","VehicleSliderRightIcon","VehicleSlider","initialSlideIndex","findIndex","BotImageMessage","BotGalleryMessage","preparedMessage","ORIGIN","STRIPE_JS_URL","V3_URL_REGEX","STRIPE_JS_URL_REGEX","EXISTING_SCRIPT_MESSAGE","injectScript","params","queryString","advancedFraudSignals","headOrBody","stripePromise$1","onErrorListener","onLoadListener","loadScript","Stripe","findScript","_script$parentNode","loadCalled","getStripePromise","loadStripe","isTestKey","runtimeVersionToUrlVersion","registerWrapper","initStripe","BotCheckoutForm","errorMessage","setErrorMessage","confirmPayment","confirmParams","return_url","redirect","stripeResponse","submitError","submit","getButtonTitle","amount","currency","theme","variables","fontLineHeight","borderRadius","colorBackground","accessibleColorOnColorPrimary","backgroundColor","boxShadow","padding","boxSizing","borderWidth","borderStyle","BotCheckoutFormWrapper","BotStripeMessage","WidgetMessages","scrollRef","isConvoStartersOpen","scrollHeight","VIDEO","IMAGE","GALLERY","SwitchTo","sendMessage","PoweredBy","WidgetFooter","BotChatDialog","isClearChatHistoryModalOpen","WidgetBubble","isBotChatOpen","openBot","ConvoStarters","convoStartFirstMessage","convoStartersButtonsVisible","firstMessageVisible","handleOpen","handleClose","WidgetBubbleContainer","resizeWidget","divRef","isBubbleContentVisible","bubbleOffsetWidth","BUBBLE_WITH_STARTERS_WIDTH","BUBBLE_WIDTH","resizeObserver","ResizeObserver","contentRect","observe","disconnect","LiveChat","setHeight","BUBBLE_WITH_STARTERS_HEIGHT","BUBBLE_HEIGHT","isBotOpen","handleResizeWidget","App","handleMessage","initializeWidget","timeoutId","storage","_event$data$VIN","vinNumber","botMessage","isWidgetOpen","widgetOffsetWidth","widgetOffsetHeight","resizeWidgetEvent","isFullScreenWidget","container","getElementById","reportWebVitals"],"sourceRoot":""}