{"version":3,"file":"static/components/9891-faa64a0e4dac459f.js?cv=7","sources":["webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/../node_modules/react-router-scroll-memory/dist/ScrollMemory.min.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/../node_modules/react-use/esm/usePrevious.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/../node_modules/react-use/esm/useSessionStorage.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/../node_modules/uuid/dist/esm-browser/regex.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/../node_modules/uuid/dist/esm-browser/validate.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/../node_modules/core-js/es/string/replace-all.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/../node_modules/core-js/internals/entry-unbind.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/../node_modules/core-js/internals/is-regexp.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/../node_modules/core-js/modules/es.array.unscopables.flat.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/../node_modules/core-js/modules/es.string.replace-all.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/../node_modules/decode-uri-component/index.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/../node_modules/query-string/base.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/../node_modules/split-on-first/index.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/../node_modules/swr/dist/infinite/index.mjs"],"sourcesContent":["\"use strict\";var react=require(\"react\"),reactRouterDom=require(\"react-router-dom\");function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function _defineProperties(e,t){for(var o=0;o<t.length;o++){var r=t[o];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function _createClass(e,t,o){return t&&_defineProperties(e.prototype,t),o&&_defineProperties(e,o),e}function _inherits(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&_setPrototypeOf(e,t)}function _getPrototypeOf(e){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function _setPrototypeOf(e,t){return(_setPrototypeOf=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function _possibleConstructorReturn(e,t){return!t||\"object\"!=typeof t&&\"function\"!=typeof t?_assertThisInitialized(e):t}var getScrollPage=function(){var e=0;return document.documentElement&&null!==document.documentElement&&(e=document.documentElement.scrollTop),window.pageYOffset||e},getScrollElement=function(e){var t=0,o=document.getElementById(e);return null!==o&&(t=o.scrollTop),t},scrollTo=function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:0;return window.requestAnimationFrame(function(){window.scrollTo(0,e)})},scrollToElement=function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:0,t=1<arguments.length?arguments[1]:void 0,o=document.getElementById(t);o&&(o.scrollTop=e)},isBrowser=function(){return\"undefined\"!=typeof window},ScrollMemory=function(e){function o(e){var t;return _classCallCheck(this,o),(t=_possibleConstructorReturn(this,_getPrototypeOf(o).call(this,e))).detectPop=t.detectPop.bind(_assertThisInitialized(_assertThisInitialized(t))),t.url=new Map,t}return _inherits(o,react.Component),_createClass(o,[{key:\"componentDidMount\",value:function(){window.addEventListener(\"popstate\",this.detectPop)}},{key:\"componentWillUnmount\",value:function(){window.removeEventListener(\"popstate\",this.detectPop)}},{key:\"shouldComponentUpdate\",value:function(e){if(!isBrowser())return!1;var t=this.props.location,o=e.location,r=t.key||\"enter\",n=(o.pathname!==t.pathname||o.search!==t.search)&&\"\"===o.hash,i=this.props.elementID?getScrollElement(this.props.elementID):getScrollPage();return n&&(this.props.elementID?scrollToElement(0,this.props.elementID):scrollTo(0),this.url.set(r,i)),!1}},{key:\"detectPop\",value:function(e){if(isBrowser()){var t=e.state,o=t&&t.key?t.key:\"enter\",r=this.url.get(o);r&&(this.props.elementID?scrollToElement(r,this.props.elementID):scrollTo(r))}}},{key:\"render\",value:function(){return null}}]),o}(),ScrollMemory$1=reactRouterDom.withRouter(ScrollMemory);module.exports=ScrollMemory$1;\n","import { useEffect, useRef } from 'react';\nexport default function usePrevious(state) {\n    var ref = useRef();\n    useEffect(function () {\n        ref.current = state;\n    });\n    return ref.current;\n}\n","import { useEffect, useState } from 'react';\nimport { isBrowser } from './misc/util';\nvar useSessionStorage = function (key, initialValue, raw) {\n    if (!isBrowser) {\n        return [initialValue, function () { }];\n    }\n    // eslint-disable-next-line react-hooks/rules-of-hooks\n    var _a = useState(function () {\n        try {\n            var sessionStorageValue = sessionStorage.getItem(key);\n            if (typeof sessionStorageValue !== 'string') {\n                sessionStorage.setItem(key, raw ? String(initialValue) : JSON.stringify(initialValue));\n                return initialValue;\n            }\n            else {\n                return raw ? sessionStorageValue : JSON.parse(sessionStorageValue || 'null');\n            }\n        }\n        catch (_a) {\n            // If user is in private mode or has storage restriction\n            // sessionStorage can throw. JSON.parse and JSON.stringify\n            // can throw, too.\n            return initialValue;\n        }\n    }), state = _a[0], setState = _a[1];\n    // eslint-disable-next-line react-hooks/rules-of-hooks\n    useEffect(function () {\n        try {\n            var serializedState = raw ? String(state) : JSON.stringify(state);\n            sessionStorage.setItem(key, serializedState);\n        }\n        catch (_a) {\n            // If user is in private mode or has storage restriction\n            // sessionStorage can throw. Also JSON.stringify can throw.\n        }\n    });\n    return [state, setState];\n};\nexport default useSessionStorage;\n","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n  return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","'use strict';\nrequire('../../modules/es.regexp.exec');\nrequire('../../modules/es.string.replace');\nrequire('../../modules/es.string.replace-all');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('String', 'replaceAll');\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (CONSTRUCTOR, METHOD) {\n  return uncurryThis(globalThis[CONSTRUCTOR].prototype[METHOD]);\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n  var isRegExp;\n  return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) === 'RegExp');\n};\n","'use strict';\n// this method was added to unscopables after implementation\n// in popular engines, so it's moved to a separate module\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('flat');\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\nvar getSubstitution = require('../internals/get-substitution');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar $TypeError = TypeError;\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\nvar max = Math.max;\n\n// `String.prototype.replaceAll` method\n// https://tc39.es/ecma262/#sec-string.prototype.replaceall\n$({ target: 'String', proto: true }, {\n  replaceAll: function replaceAll(searchValue, replaceValue) {\n    var O = requireObjectCoercible(this);\n    var IS_REG_EXP, flags, replacer, string, searchString, functionalReplace, searchLength, advanceBy, position, replacement;\n    var endOfLastMatch = 0;\n    var result = '';\n    if (isObject(searchValue)) {\n      IS_REG_EXP = isRegExp(searchValue);\n      if (IS_REG_EXP) {\n        flags = toString(requireObjectCoercible(getRegExpFlags(searchValue)));\n        if (!~indexOf(flags, 'g')) throw new $TypeError('`.replaceAll` does not allow non-global regexes');\n      }\n      replacer = getMethod(searchValue, REPLACE);\n      if (replacer) return call(replacer, searchValue, O, replaceValue);\n      if (IS_PURE && IS_REG_EXP) return replace(toString(O), searchValue, replaceValue);\n    }\n    string = toString(O);\n    searchString = toString(searchValue);\n    functionalReplace = isCallable(replaceValue);\n    if (!functionalReplace) replaceValue = toString(replaceValue);\n    searchLength = searchString.length;\n    advanceBy = max(1, searchLength);\n    position = indexOf(string, searchString);\n    while (position !== -1) {\n      replacement = functionalReplace\n        ? toString(replaceValue(searchString, position, string))\n        : getSubstitution(searchString, string, position, [], undefined, replaceValue);\n      result += stringSlice(string, endOfLastMatch, position) + replacement;\n      endOfLastMatch = position + searchLength;\n      position = position + advanceBy > string.length ? -1 : indexOf(string, searchString, position + advanceBy);\n    }\n    if (endOfLastMatch < string.length) {\n      result += stringSlice(string, endOfLastMatch);\n    }\n    return result;\n  }\n});\n","// Matches one or more consecutive percent-encoded bytes (e.g. `%C3%A5`).\nconst token = '%[a-f0-9]{2}';\nconst multiMatcher = new RegExp(`(${token})+`, 'gi');\n\nconst hexPair = /^[a-f\\d]{2}$/i;\n\n// Read a `%XX` sequence at `position`, returning the byte value and where to continue scanning.\nfunction parsePercentByte(input, position) {\n\tif (input.codePointAt(position) !== 37 || position + 3 > input.length) {\n\t\treturn;\n\t}\n\n\tconst digits = input.slice(position + 1, position + 3);\n\n\tif (!hexPair.test(digits)) {\n\t\treturn;\n\t}\n\n\treturn {byte: Number.parseInt(digits, 16), next: position + 3};\n}\n\n/**\n * Return how many bytes a UTF-8 code point needs based on its lead byte.\n * Returns 0 for continuation bytes and other invalid lead bytes.\n */\nfunction utf8SequenceLength(byte) {\n\tif (byte <= 0x7F) {\n\t\treturn 1;\n\t}\n\n\t// Start at 0xC2 to exclude overlong 2-byte encodings (0xC0/0xC1).\n\tif (byte >= 0xC2 && byte <= 0xDF) {\n\t\treturn 2;\n\t}\n\n\tif (byte >= 0xE0 && byte <= 0xEF) {\n\t\treturn 3;\n\t}\n\n\tif (byte >= 0xF0 && byte <= 0xF4) {\n\t\treturn 4;\n\t}\n\n\treturn 0;\n}\n\nfunction isContinuationByte(byte) {\n\treturn byte >= 0x80 && byte <= 0xBF;\n}\n\n/**\n * Decode as much of `input` as possible without throwing.\n *Scans left-to-right in O(n), decoding valid UTF-8 runs and leaving the rest literal.\n */\nfunction decode(input) {\n\ttry {\n\t\treturn decodeURIComponent(input);\n\t} catch {\n\t\tlet output = '';\n\t\tlet position = 0;\n\n\t\twhile (position < input.length) {\n\t\t\tif (input.codePointAt(position) !== 37) {\n\t\t\t\toutput += input.charAt(position);\n\t\t\t\tposition++;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst firstByte = parsePercentByte(input, position);\n\n\t\t\t// `%` not followed by two hex digits (e.g. `%` or `%G`).\n\t\t\tif (!firstByte) {\n\t\t\t\toutput += input.charAt(position);\n\t\t\t\tposition++;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst sequenceLength = utf8SequenceLength(firstByte.byte);\n\n\t\t\t// Continuation byte or invalid lead byte — emit one `%XX` literally.\n\t\t\tif (sequenceLength === 0) {\n\t\t\t\toutput += input.slice(position, position + 3);\n\t\t\t\tposition += 3;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tlet end = firstByte.next;\n\t\t\tlet validSequence = true;\n\n\t\t\tfor (let index = 1; index < sequenceLength; index++) {\n\t\t\t\tconst nextByte = parsePercentByte(input, end);\n\n\t\t\t\tif (!nextByte || !isContinuationByte(nextByte.byte)) {\n\t\t\t\t\tvalidSequence = false;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tend = nextByte.next;\n\t\t\t}\n\n\t\t\tif (validSequence) {\n\t\t\t\tconst encodedSequence = input.slice(position, end);\n\n\t\t\t\ttry {\n\t\t\t\t\toutput += decodeURIComponent(encodedSequence);\n\t\t\t\t\tposition = end;\n\t\t\t\t\tcontinue;\n\t\t\t\t} catch {\n\t\t\t\t\t// Invalid UTF-8 despite correct structure — emit the first byte literally.\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Missing continuation bytes or decode failure — emit the first byte literally.\n\t\t\toutput += input.slice(position, position + 3);\n\t\t\tposition += 3;\n\t\t}\n\n\t\treturn output;\n\t}\n}\n\nfunction customDecodeURIComponent(input) {\n\t// Keep track of all the replacements and prefill the map with the `BOM`\n\tconst replaceMap = {\n\t\t'%FE%FF': '\\uFFFD\\uFFFD',\n\t\t'%FF%FE': '\\uFFFD\\uFFFD',\n\t};\n\n\t// Find percent-encoded runs separated by literal text or lone `%` characters.\n\tlet match = multiMatcher.exec(input);\n\n\twhile (match) {\n\t\ttry {\n\t\t\t// Decode as big chunks as possible\n\t\t\treplaceMap[match[0]] = decodeURIComponent(match[0]);\n\t\t} catch {\n\t\t\tconst result = decode(match[0]);\n\n\t\t\tif (result !== match[0]) {\n\t\t\t\treplaceMap[match[0]] = result;\n\t\t\t}\n\t\t}\n\n\t\tmatch = multiMatcher.exec(input);\n\t}\n\n\t// Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else\n\treplaceMap['%C2'] = '\\uFFFD';\n\n\tconst entries = Object.keys(replaceMap);\n\n\tfor (const key of entries) {\n\t\t// Replace all decoded components\n\t\tinput = input.replace(new RegExp(key, 'g'), replaceMap[key]);\n\t}\n\n\treturn input;\n}\n\nexport default function decodeUriComponent(encodedURI) {\n\tif (typeof encodedURI !== 'string') {\n\t\tthrow new TypeError(`Expected \\`encodedURI\\` to be of type \\`string\\`, got \\`${typeof encodedURI}\\``);\n\t}\n\n\ttry {\n\t\t// Try the built in decoder first\n\t\treturn decodeURIComponent(encodedURI);\n\t} catch {\n\t\t// Fallback to a more advanced decoder\n\t\treturn customDecodeURIComponent(encodedURI);\n\t}\n}\n","import decodeComponent from 'decode-uri-component';\nimport {includeKeys} from 'filter-obj';\nimport splitOnFirst from 'split-on-first';\n\nconst isNullOrUndefined = value => value === null || value === undefined;\n\n// eslint-disable-next-line unicorn/prefer-code-point\nconst strictUriEncode = string => encodeURIComponent(string).replaceAll(/[!'()*]/g, x => `%${x.charCodeAt(0).toString(16).toUpperCase()}`);\n\nconst encodeFragmentIdentifier = Symbol('encodeFragmentIdentifier');\n\nfunction encoderForArrayFormat(options) {\n\tswitch (options.arrayFormat) {\n\t\tcase 'index': {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tconst index = result.length;\n\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\tresult.push([encode(key, options), '[', index, ']'].join(''));\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tresult.push([encode(key, options), '[', encode(index, options), ']=', encode(value, options)].join(''));\n\t\t\t\treturn result;\n\t\t\t};\n\t\t}\n\n\t\tcase 'bracket': {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\tresult.push([encode(key, options), '[]'].join(''));\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tresult.push([encode(key, options), '[]=', encode(value, options)].join(''));\n\t\t\t\treturn result;\n\t\t\t};\n\t\t}\n\n\t\tcase 'colon-list-separator': {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\tresult.push([encode(key, options), ':list='].join(''));\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tresult.push([encode(key, options), ':list=', encode(value, options)].join(''));\n\t\t\t\treturn result;\n\t\t\t};\n\t\t}\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\tcase 'bracket-separator': {\n\t\t\tconst keyValueSeparator = options.arrayFormat === 'bracket-separator'\n\t\t\t\t? '[]='\n\t\t\t\t: '=';\n\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\t// Translate null to an empty string so that it doesn't serialize as 'null'\n\t\t\t\tvalue = value === null ? '' : value;\n\n\t\t\t\tif (result.length === 0) {\n\t\t\t\t\tresult.push([encode(key, options), keyValueSeparator, encode(value, options)].join(''));\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tresult.push(encode(value, options));\n\t\t\t\treturn result;\n\t\t\t};\n\t\t}\n\n\t\tdefault: {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\tresult.push(encode(key, options));\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tresult.push([encode(key, options), '=', encode(value, options)].join(''));\n\t\t\t\treturn result;\n\t\t\t};\n\t\t}\n\t}\n}\n\nfunction parserForArrayFormat(options) {\n\tlet result;\n\n\tswitch (options.arrayFormat) {\n\t\tcase 'index': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /\\[(\\d*)]$/.exec(key);\n\n\t\t\t\tkey = key.replace(/\\[\\d*]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = {};\n\t\t\t\t}\n\n\t\t\t\taccumulator[key][result[1]] = value;\n\t\t\t};\n\t\t}\n\n\t\tcase 'bracket': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(\\[])$/.exec(key);\n\t\t\t\tkey = key.replace(/\\[]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (!Array.isArray(accumulator[key])) {\n\t\t\t\t\taccumulator[key] = [accumulator[key], value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key].push(value);\n\t\t\t};\n\t\t}\n\n\t\tcase 'colon-list-separator': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(:list)$/.exec(key);\n\t\t\t\tkey = key.replace(/:list$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (!Array.isArray(accumulator[key])) {\n\t\t\t\t\taccumulator[key] = [accumulator[key], value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key].push(value);\n\t\t\t};\n\t\t}\n\n\t\tcase 'comma':\n\t\tcase 'separator': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = typeof value === 'string' && value.includes(options.arrayFormatSeparator);\n\t\t\t\tconst newValue = isArray ? value.split(options.arrayFormatSeparator).map(item => decode(item, options)) : (value === null ? value : decode(value, options));\n\t\t\t\taccumulator[key] = newValue;\n\t\t\t};\n\t\t}\n\n\t\tcase 'bracket-separator': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = /(\\[])$/.test(key);\n\t\t\t\tkey = key.replace(/\\[]$/, '');\n\n\t\t\t\tif (!isArray) {\n\t\t\t\t\taccumulator[key] = value ? decode(value, options) : value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst arrayValue = value === null\n\t\t\t\t\t? []\n\t\t\t\t\t: decode(value, options).split(options.arrayFormatSeparator);\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = arrayValue;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (!Array.isArray(accumulator[key])) {\n\t\t\t\t\taccumulator[key] = [accumulator[key]];\n\t\t\t\t}\n\n\t\t\t\tfor (const item of arrayValue) {\n\t\t\t\t\taccumulator[key].push(item);\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\n\t\tdefault: {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (Array.isArray(accumulator[key])) {\n\t\t\t\t\taccumulator[key].push(value);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [accumulator[key], value];\n\t\t\t};\n\t\t}\n\t}\n}\n\nfunction validateArrayFormatSeparator(value) {\n\tif (typeof value !== 'string' || value.length !== 1) {\n\t\tthrow new TypeError('arrayFormatSeparator must be single character string');\n\t}\n}\n\nfunction encode(value, options) {\n\tif (options.encode) {\n\t\treturn options.strict ? strictUriEncode(value) : encodeURIComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction decode(value, options) {\n\tif (options.decode) {\n\t\treturn decodeComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction keysSorter(input) {\n\tif (Array.isArray(input)) {\n\t\treturn input.sort();\n\t}\n\n\tif (typeof input === 'object') {\n\t\treturn keysSorter(Object.keys(input))\n\t\t\t.sort((a, b) => Number(a) - Number(b))\n\t\t\t.map(key => input[key]);\n\t}\n\n\treturn input;\n}\n\nfunction removeHash(input) {\n\tconst hashStart = input.indexOf('#');\n\tif (hashStart !== -1) {\n\t\tinput = input.slice(0, hashStart);\n\t}\n\n\treturn input;\n}\n\nfunction getHash(url) {\n\tlet hash = '';\n\tconst hashStart = url.indexOf('#');\n\tif (hashStart !== -1) {\n\t\thash = url.slice(hashStart);\n\t}\n\n\treturn hash;\n}\n\nfunction getUrlWithoutQuery(url) {\n\t// Avoid `split('?')` so query-heavy URLs don't allocate large arrays.\n\tconst queryStart = url.indexOf('?');\n\treturn queryStart === -1 ? url : url.slice(0, queryStart);\n}\n\nfunction parseValue(value, options, type) {\n\tif (type === 'string' && typeof value === 'string') {\n\t\treturn value;\n\t}\n\n\tif (typeof type === 'function' && typeof value === 'string') {\n\t\treturn type(value);\n\t}\n\n\tif (type === 'boolean' && value === null) {\n\t\treturn true;\n\t}\n\n\tif (type === 'boolean' && value !== null && (value.toLowerCase() === 'true' || value.toLowerCase() === 'false')) {\n\t\treturn value.toLowerCase() === 'true';\n\t}\n\n\tif (type === 'boolean' && value !== null && (value.toLowerCase() === '1' || value.toLowerCase() === '0')) {\n\t\treturn value.toLowerCase() === '1';\n\t}\n\n\tif (type === 'string[]' && options.arrayFormat !== 'none' && typeof value === 'string') {\n\t\treturn [value];\n\t}\n\n\tif (type === 'number[]' && options.arrayFormat !== 'none' && !Number.isNaN(Number(value)) && (typeof value === 'string' && value.trim() !== '')) {\n\t\treturn [Number(value)];\n\t}\n\n\tif (type === 'number' && !Number.isNaN(Number(value)) && (typeof value === 'string' && value.trim() !== '')) {\n\t\treturn Number(value);\n\t}\n\n\tif (options.parseBooleans && value !== null && (value.toLowerCase() === 'true' || value.toLowerCase() === 'false')) {\n\t\treturn value.toLowerCase() === 'true';\n\t}\n\n\tif (options.parseNumbers && !Number.isNaN(Number(value)) && (typeof value === 'string' && value.trim() !== '')) {\n\t\treturn Number(value);\n\t}\n\n\treturn value;\n}\n\nexport function extract(input) {\n\tinput = removeHash(input);\n\tconst queryStart = input.indexOf('?');\n\tif (queryStart === -1) {\n\t\treturn '';\n\t}\n\n\treturn input.slice(queryStart + 1);\n}\n\nexport function parse(query, options) {\n\toptions = {\n\t\tdecode: true,\n\t\tsort: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',',\n\t\tparseNumbers: false,\n\t\tparseBooleans: false,\n\t\ttypes: Object.create(null),\n\t\t...options,\n\t};\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst formatter = parserForArrayFormat(options);\n\n\t// Create an object with no prototype\n\tconst returnValue = Object.create(null);\n\n\tif (typeof query !== 'string') {\n\t\treturn returnValue;\n\t}\n\n\tquery = query.trim().replace(/^[?#&]/, '');\n\n\tif (!query) {\n\t\treturn returnValue;\n\t}\n\n\tif (/^&+$/.test(query)) {\n\t\treturn returnValue;\n\t}\n\n\tlet parameterStart = 0;\n\tlet firstSeparator = query.indexOf('&');\n\tif (firstSeparator === -1) {\n\t\tfirstSeparator = query.length;\n\t}\n\n\tfor (let index = firstSeparator; index <= query.length; index++) {\n\t\tif (index < query.length && query[index] !== '&') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (index === parameterStart) {\n\t\t\tparameterStart = index + 1;\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst parameter = query.slice(parameterStart, index);\n\t\tconst parameter_ = options.decode ? parameter.replaceAll('+', ' ') : parameter;\n\n\t\tlet [key, value] = splitOnFirst(parameter_, '=');\n\n\t\tif (key === undefined) {\n\t\t\tkey = parameter_;\n\t\t}\n\n\t\t// Missing `=` should be `null`:\n\t\t// http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\t\tvalue = value === undefined ? null : (['comma', 'separator', 'bracket-separator'].includes(options.arrayFormat) ? value : decode(value, options));\n\t\tformatter(decode(key, options), value, returnValue);\n\n\t\tparameterStart = index + 1;\n\t}\n\n\tfor (const [key, value] of Object.entries(returnValue)) {\n\t\tif (typeof value === 'object' && value !== null && options.types[key] !== 'string') {\n\t\t\tfor (const [key2, value2] of Object.entries(value)) {\n\t\t\t\tconst typeOption = options.types[key];\n\t\t\t\tconst type = typeof typeOption === 'function' ? typeOption : (typeOption ? typeOption.replace('[]', '') : undefined);\n\t\t\t\tvalue[key2] = parseValue(value2, options, type);\n\t\t\t}\n\t\t} else if (typeof value === 'object' && value !== null && options.types[key] === 'string') {\n\t\t\treturnValue[key] = Object.values(value).join(options.arrayFormatSeparator);\n\t\t} else {\n\t\t\treturnValue[key] = parseValue(value, options, options.types[key]);\n\t\t}\n\t}\n\n\tif (options.sort === false) {\n\t\treturn returnValue;\n\t}\n\n\t// TODO: Remove the use of `reduce`.\n\t// eslint-disable-next-line unicorn/no-array-reduce\n\treturn (options.sort === true ? Object.keys(returnValue).sort() : Object.keys(returnValue).sort(options.sort)).reduce((result, key) => {\n\t\tconst value = returnValue[key];\n\t\tresult[key] = Boolean(value) && typeof value === 'object' && !Array.isArray(value) ? keysSorter(value) : value;\n\t\treturn result;\n\t}, Object.create(null));\n}\n\nexport function stringify(object, options) {\n\tif (!object) {\n\t\treturn '';\n\t}\n\n\toptions = {\n\t\tencode: true,\n\t\tstrict: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',',\n\t\t...options,\n\t};\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst shouldFilter = key => (\n\t\t(options.skipNull && isNullOrUndefined(object[key]))\n\t\t|| (options.skipEmptyString && object[key] === '')\n\t);\n\n\tconst formatter = encoderForArrayFormat(options);\n\n\tconst objectCopy = {};\n\n\tfor (const [key, value] of Object.entries(object)) {\n\t\tif (!shouldFilter(key)) {\n\t\t\tobjectCopy[key] = value;\n\t\t}\n\t}\n\n\tconst keys = Object.keys(objectCopy);\n\n\tif (options.sort !== false) {\n\t\tkeys.sort(options.sort);\n\t}\n\n\treturn keys.map(key => {\n\t\tlet value = object[key];\n\n\t\t// Apply replacer function if provided\n\t\tif (options.replacer) {\n\t\t\tvalue = options.replacer(key, value);\n\n\t\t\t// If replacer returns undefined, skip this key\n\t\t\tif (value === undefined) {\n\t\t\t\treturn '';\n\t\t\t}\n\t\t}\n\n\t\tif (value === undefined) {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (value === null) {\n\t\t\treturn encode(key, options);\n\t\t}\n\n\t\tif (Array.isArray(value)) {\n\t\t\tif (value.length === 0 && options.arrayFormat === 'bracket-separator') {\n\t\t\t\treturn encode(key, options) + '[]';\n\t\t\t}\n\n\t\t\t// Apply replacer to array elements if provided\n\t\t\t// Note: We don't re-apply replacer to the array itself, only to elements\n\t\t\tlet processedArray = value;\n\t\t\tif (options.replacer) {\n\t\t\t\tprocessedArray = value.map((item, index) =>\n\t\t\t\t\toptions.replacer(`${key}[${index}]`, item),\n\t\t\t\t).filter(item => item !== undefined);\n\t\t\t}\n\n\t\t\tconst result = processedArray.reduce(formatter(key), []);\n\t\t\tconst arrayFormatSeparator = ['comma', 'separator', 'bracket-separator'].includes(options.arrayFormat) ? options.arrayFormatSeparator : '&';\n\t\t\treturn result.join(arrayFormatSeparator);\n\t\t}\n\n\t\treturn encode(key, options) + '=' + encode(value, options);\n\t}).filter(x => x.length > 0).join('&');\n}\n\nexport function parseUrl(url, options) {\n\toptions = {\n\t\tdecode: true,\n\t\t...options,\n\t};\n\n\tlet [url_, hash] = splitOnFirst(url, '#');\n\n\tif (url_ === undefined) {\n\t\turl_ = url;\n\t}\n\n\treturn {\n\t\turl: getUrlWithoutQuery(url_ ?? ''),\n\t\tquery: parse(extract(url), options),\n\t\t...(options && options.parseFragmentIdentifier && hash ? {fragmentIdentifier: decode(hash, options)} : {}),\n\t};\n}\n\nexport function stringifyUrl(object, options) {\n\toptions = {\n\t\tencode: true,\n\t\tstrict: true,\n\t\t[encodeFragmentIdentifier]: true,\n\t\t...options,\n\t};\n\n\tconst url = getUrlWithoutQuery(removeHash(object.url)) || '';\n\tconst queryFromUrl = extract(object.url);\n\n\tconst query = {\n\t\t...parse(queryFromUrl, {sort: false, ...options}),\n\t\t...object.query,\n\t};\n\n\tlet queryString = stringify(query, options);\n\tqueryString &&= `?${queryString}`;\n\n\tlet hash = getHash(object.url);\n\tif (typeof object.fragmentIdentifier === 'string') {\n\t\tconst urlObjectForFragmentEncode = new URL(url, 'https://query-string.invalid');\n\t\turlObjectForFragmentEncode.hash = object.fragmentIdentifier;\n\t\thash = options[encodeFragmentIdentifier] ? urlObjectForFragmentEncode.hash : `#${object.fragmentIdentifier}`;\n\t}\n\n\treturn `${url}${queryString}${hash}`;\n}\n\nexport function pick(input, filter, options) {\n\toptions = {\n\t\tparseFragmentIdentifier: true,\n\t\t[encodeFragmentIdentifier]: false,\n\t\t...options,\n\t};\n\n\tconst {url, query, fragmentIdentifier} = parseUrl(input, options);\n\n\treturn stringifyUrl({\n\t\turl,\n\t\tquery: includeKeys(query, filter),\n\t\tfragmentIdentifier,\n\t}, options);\n}\n\nexport function exclude(input, filter, options) {\n\tif (Array.isArray(filter)) {\n\t\tconst filterSet = new Set(filter);\n\t\treturn pick(input, key => !filterSet.has(key), options);\n\t}\n\n\treturn pick(input, (key, value) => !filter(key, value), options);\n}\n","export default function splitOnFirst(string, separator) {\n\tif (!(typeof string === 'string' && typeof separator === 'string')) {\n\t\tthrow new TypeError('Expected the arguments to be of type `string`');\n\t}\n\n\tif (string === '' || separator === '') {\n\t\treturn [];\n\t}\n\n\tconst separatorIndex = string.indexOf(separator);\n\n\tif (separatorIndex === -1) {\n\t\treturn [];\n\t}\n\n\treturn [\n\t\tstring.slice(0, separatorIndex),\n\t\tstring.slice(separatorIndex + separator.length)\n\t];\n}\n","import { useRef, useCallback } from 'react';\nimport useSWR from '../index/index.mjs';\nimport { withMiddleware, SWRGlobalState, cache, INFINITE_PREFIX as INFINITE_PREFIX$1, createCacheHelper, isUndefined as isUndefined$1, useIsomorphicLayoutEffect, UNDEFINED as UNDEFINED$1, serialize as serialize$1, isFunction as isFunction$1 } from '../_internal/index.mjs';\nimport { useSyncExternalStore } from 'use-sync-external-store/shim';\nimport { INFINITE_PREFIX } from '../_internal/constants.mjs';\n\n// Shared state between server components and client components\nconst noop = ()=>{};\n// Using noop() as the undefined value as undefined can be replaced\n// by something else. Prettier ignore and extra parentheses are necessary here\n// to ensure that tsc doesn't remove the __NOINLINE__ comment.\n// prettier-ignore\nconst UNDEFINED = /*#__NOINLINE__*/ noop();\nconst OBJECT = Object;\nconst isUndefined = (v)=>v === UNDEFINED;\nconst isFunction = (v)=>typeof v == 'function';\n\n// use WeakMap to store the object->key mapping\n// so the objects can be garbage collected.\n// WeakMap uses a hashtable under the hood, so the lookup\n// complexity is almost O(1).\nconst table = new WeakMap();\nconst getTypeName = (value)=>OBJECT.prototype.toString.call(value);\nconst isObjectTypeName = (typeName, type)=>typeName === `[object ${type}]`;\n// counter of the key\nlet counter = 0;\n// A stable hash implementation that supports:\n// - Fast and ensures unique hash properties\n// - Handles unserializable values\n// - Handles object key ordering\n// - Generates short results\n//\n// This is not a serialization function, and the result is not guaranteed to be\n// parsable.\nconst stableHash = (arg)=>{\n    const type = typeof arg;\n    const typeName = getTypeName(arg);\n    const isDate = isObjectTypeName(typeName, 'Date');\n    const isRegex = isObjectTypeName(typeName, 'RegExp');\n    const isPlainObject = isObjectTypeName(typeName, 'Object');\n    let result;\n    let index;\n    if (OBJECT(arg) === arg && !isDate && !isRegex) {\n        // Object/function, not null/date/regexp. Use WeakMap to store the id first.\n        // If it's already hashed, directly return the result.\n        result = table.get(arg);\n        if (result) return result;\n        // Store the hash first for circular reference detection before entering the\n        // recursive `stableHash` calls.\n        // For other objects like set and map, we use this id directly as the hash.\n        result = ++counter + '~';\n        table.set(arg, result);\n        if (Array.isArray(arg)) {\n            // Array.\n            result = '@';\n            for(index = 0; index < arg.length; index++){\n                result += stableHash(arg[index]) + ',';\n            }\n            table.set(arg, result);\n        }\n        if (isPlainObject) {\n            // Object, sort keys.\n            result = '#';\n            const keys = OBJECT.keys(arg).sort();\n            while(!isUndefined(index = keys.pop())){\n                if (!isUndefined(arg[index])) {\n                    result += index + ':' + stableHash(arg[index]) + ',';\n                }\n            }\n            table.set(arg, result);\n        }\n    } else {\n        result = isDate ? arg.toJSON() : type == 'symbol' ? arg.toString() : type == 'string' ? JSON.stringify(arg) : '' + arg;\n    }\n    return result;\n};\n\nconst serialize = (key)=>{\n    if (isFunction(key)) {\n        try {\n            key = key();\n        } catch (err) {\n            // dependencies not ready\n            key = '';\n        }\n    }\n    // Use the original key as the argument of fetcher. This can be a string or an\n    // array of values.\n    const args = key;\n    // If key is not falsy, or not an empty array, hash it.\n    key = typeof key == 'string' ? key : (Array.isArray(key) ? key.length : key) ? stableHash(key) : '';\n    return [\n        key,\n        args\n    ];\n};\n\nconst getFirstPageKey = (getKey)=>{\n    return serialize(getKey ? getKey(0, null) : null)[0];\n};\nconst unstable_serialize = (getKey)=>{\n    return INFINITE_PREFIX + getFirstPageKey(getKey);\n};\n\n// We have to several type castings here because `useSWRInfinite` is a special\n// hook where `key` and return type are not like the normal `useSWR` types.\nconst EMPTY_PROMISE = Promise.resolve();\nconst infinite = (useSWRNext)=>(getKey, fn, config)=>{\n        const didMountRef = useRef(false);\n        const { cache: cache$1, initialSize = 1, revalidateAll = false, persistSize = false, revalidateFirstPage = true, revalidateOnMount = false, parallel = false } = config;\n        const [, , , PRELOAD] = SWRGlobalState.get(cache);\n        // The serialized key of the first page. This key will be used to store\n        // metadata of this SWR infinite hook.\n        let infiniteKey;\n        try {\n            infiniteKey = getFirstPageKey(getKey);\n            if (infiniteKey) infiniteKey = INFINITE_PREFIX$1 + infiniteKey;\n        } catch (err) {\n        // Not ready yet.\n        }\n        const [get, set, subscribeCache] = createCacheHelper(cache$1, infiniteKey);\n        const getSnapshot = useCallback(()=>{\n            const size = isUndefined$1(get()._l) ? initialSize : get()._l;\n            return size;\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n        }, [\n            cache$1,\n            infiniteKey,\n            initialSize\n        ]);\n        useSyncExternalStore(useCallback((callback)=>{\n            if (infiniteKey) return subscribeCache(infiniteKey, ()=>{\n                callback();\n            });\n            return ()=>{};\n        }, // eslint-disable-next-line react-hooks/exhaustive-deps\n        [\n            cache$1,\n            infiniteKey\n        ]), getSnapshot, getSnapshot);\n        const resolvePageSize = useCallback(()=>{\n            const cachedPageSize = get()._l;\n            return isUndefined$1(cachedPageSize) ? initialSize : cachedPageSize;\n        // `cache` isn't allowed to change during the lifecycle\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n        }, [\n            infiniteKey,\n            initialSize\n        ]);\n        // keep the last page size to restore it with the persistSize option\n        const lastPageSizeRef = useRef(resolvePageSize());\n        // When the page key changes, we reset the page size if it's not persisted\n        useIsomorphicLayoutEffect(()=>{\n            if (!didMountRef.current) {\n                didMountRef.current = true;\n                return;\n            }\n            if (infiniteKey) {\n                // If the key has been changed, we keep the current page size if persistSize is enabled\n                // Otherwise, we reset the page size to cached pageSize\n                set({\n                    _l: persistSize ? lastPageSizeRef.current : resolvePageSize()\n                });\n            }\n        // `initialSize` isn't allowed to change during the lifecycle\n        }, [\n            infiniteKey,\n            cache$1\n        ]);\n        // Needs to check didMountRef during mounting, not in the fetcher\n        const shouldRevalidateOnMount = revalidateOnMount && !didMountRef.current;\n        // Actual SWR hook to load all pages in one fetcher.\n        const swr = useSWRNext(infiniteKey, async (key)=>{\n            // get the revalidate context\n            const forceRevalidateAll = get()._i;\n            const shouldRevalidatePage = get()._r;\n            set({\n                _r: UNDEFINED$1\n            });\n            // return an array of page data\n            const data = [];\n            const pageSize = resolvePageSize();\n            const [getCache] = createCacheHelper(cache$1, key);\n            const cacheData = getCache().data;\n            const revalidators = [];\n            let previousPageData = null;\n            for(let i = 0; i < pageSize; ++i){\n                const [pageKey, pageArg] = serialize$1(getKey(i, parallel ? null : previousPageData));\n                if (!pageKey) {\n                    break;\n                }\n                const [getSWRCache, setSWRCache] = createCacheHelper(cache$1, pageKey);\n                // Get the cached page data.\n                let pageData = getSWRCache().data;\n                // should fetch (or revalidate) if:\n                // - `revalidateAll` is enabled\n                // - `mutate()` called\n                // - the cache is missing\n                // - it's the first page and it's not the initial render\n                // - `revalidateOnMount` is enabled and it's on mount\n                // - cache for that page has changed\n                const shouldFetchPage = revalidateAll || forceRevalidateAll || isUndefined$1(pageData) || revalidateFirstPage && !i && !isUndefined$1(cacheData) || shouldRevalidateOnMount || cacheData && !isUndefined$1(cacheData[i]) && !config.compare(cacheData[i], pageData);\n                if (fn && (typeof shouldRevalidatePage === 'function' ? shouldRevalidatePage(pageData, pageArg) : shouldFetchPage)) {\n                    const revalidate = async ()=>{\n                        const hasPreloadedRequest = pageKey in PRELOAD;\n                        if (!hasPreloadedRequest) {\n                            pageData = await fn(pageArg);\n                        } else {\n                            const req = PRELOAD[pageKey];\n                            // delete the preload cache key before resolving it\n                            // in case there's an error\n                            delete PRELOAD[pageKey];\n                            // get the page data from the preload cache\n                            pageData = await req;\n                        }\n                        setSWRCache({\n                            data: pageData,\n                            _k: pageArg\n                        });\n                        data[i] = pageData;\n                    };\n                    if (parallel) {\n                        revalidators.push(revalidate);\n                    } else {\n                        await revalidate();\n                    }\n                } else {\n                    data[i] = pageData;\n                }\n                if (!parallel) {\n                    previousPageData = pageData;\n                }\n            }\n            // flush all revalidateions in parallel\n            if (parallel) {\n                await Promise.all(revalidators.map((r)=>r()));\n            }\n            // once we executed the data fetching based on the context, clear the context\n            set({\n                _i: UNDEFINED$1\n            });\n            // return the data\n            return data;\n        }, config);\n        const mutate = useCallback(// eslint-disable-next-line func-names\n        function(data, opts) {\n            // When passing as a boolean, it's explicitly used to disable/enable\n            // revalidation.\n            const options = typeof opts === 'boolean' ? {\n                revalidate: opts\n            } : opts || {};\n            // Default to true.\n            const shouldRevalidate = options.revalidate !== false;\n            // It is possible that the key is still falsy.\n            if (!infiniteKey) return EMPTY_PROMISE;\n            if (shouldRevalidate) {\n                if (!isUndefined$1(data)) {\n                    // We only revalidate the pages that are changed\n                    set({\n                        _i: false,\n                        _r: options.revalidate\n                    });\n                } else {\n                    // Calling `mutate()`, we revalidate all pages\n                    set({\n                        _i: true,\n                        _r: options.revalidate\n                    });\n                }\n            }\n            return arguments.length ? swr.mutate(data, {\n                ...options,\n                revalidate: shouldRevalidate\n            }) : swr.mutate();\n        }, // swr.mutate is always the same reference\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n        [\n            infiniteKey,\n            cache$1\n        ]);\n        // Extend the SWR API\n        const setSize = useCallback((arg)=>{\n            // It is possible that the key is still falsy.\n            if (!infiniteKey) return EMPTY_PROMISE;\n            const [, changeSize] = createCacheHelper(cache$1, infiniteKey);\n            let size;\n            if (isFunction$1(arg)) {\n                size = arg(resolvePageSize());\n            } else if (typeof arg == 'number') {\n                size = arg;\n            }\n            if (typeof size != 'number') return EMPTY_PROMISE;\n            changeSize({\n                _l: size\n            });\n            lastPageSizeRef.current = size;\n            // Calculate the page data after the size change.\n            const data = [];\n            const [getInfiniteCache] = createCacheHelper(cache$1, infiniteKey);\n            let previousPageData = null;\n            for(let i = 0; i < size; ++i){\n                const [pageKey] = serialize$1(getKey(i, previousPageData));\n                const [getCache] = createCacheHelper(cache$1, pageKey);\n                // Get the cached page data.\n                const pageData = pageKey ? getCache().data : UNDEFINED$1;\n                // Call `mutate` with infinte cache data if we can't get it from the page cache.\n                if (isUndefined$1(pageData)) {\n                    return mutate(getInfiniteCache().data);\n                }\n                data.push(pageData);\n                previousPageData = pageData;\n            }\n            return mutate(data);\n        }, // exclude getKey from the dependencies, which isn't allowed to change during the lifecycle\n        // eslint-disable-next-line react-hooks/exhaustive-deps\n        [\n            infiniteKey,\n            cache$1,\n            mutate,\n            resolvePageSize\n        ]);\n        // Use getter functions to avoid unnecessary re-renders caused by triggering\n        // all the getters of the returned swr object.\n        return {\n            size: resolvePageSize(),\n            setSize,\n            mutate,\n            get data () {\n                return swr.data;\n            },\n            get error () {\n                return swr.error;\n            },\n            get isValidating () {\n                return swr.isValidating;\n            },\n            get isLoading () {\n                return swr.isLoading;\n            }\n        };\n    };\nconst useSWRInfinite = withMiddleware(useSWR, infinite);\n\nexport { useSWRInfinite as default, infinite, unstable_serialize };\n"],"names":["r","e","Object","t","ReferenceError","document","window","arguments","TypeError","Map","sessionStorage","String","JSON","Math","RegExp","Number","encodeURIComponent","decodeURIComponent","Array","a","i","o","Symbol","WeakMap","Promise","g"],"mappings":"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"}