@strapi/plugin-users-permissions 5.0.2 → 5.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/admin/src/pages/Providers/utils/forms.js +15 -3
- package/admin/src/pages/Roles/pages/ListPage/index.jsx +0 -2
- package/dist/_chunks/{index-cL_YxyjM.js → index-9xzq093O.js} +12 -10
- package/dist/_chunks/index-9xzq093O.js.map +1 -0
- package/dist/_chunks/{index-B9cFxoCN.mjs → index-B7_bRAd_.mjs} +8 -6
- package/dist/_chunks/index-B7_bRAd_.mjs.map +1 -0
- package/dist/_chunks/{index-QPUYgtlo-BfJxOAzF.mjs → index-BJvNbZJA-C1E7ADbJ.mjs} +408 -269
- package/dist/_chunks/index-BJvNbZJA-C1E7ADbJ.mjs.map +1 -0
- package/dist/_chunks/{index-QPUYgtlo-QiBdpWEj.js → index-BJvNbZJA-fMZ4nmrb.js} +408 -269
- package/dist/_chunks/index-BJvNbZJA-fMZ4nmrb.js.map +1 -0
- package/dist/_chunks/{index-Cb03Ke48.js → index-BgApJgH8.js} +4 -4
- package/dist/_chunks/{index-Cb03Ke48.js.map → index-BgApJgH8.js.map} +1 -1
- package/dist/_chunks/{index-_vrdPeYp.js → index-CFI4CjXs.js} +7 -10
- package/dist/_chunks/{index-_vrdPeYp.js.map → index-CFI4CjXs.js.map} +1 -1
- package/dist/_chunks/{index-DJOPnOVo.mjs → index-CFJAXlSr.mjs} +3 -3
- package/dist/_chunks/{index-DJOPnOVo.mjs.map → index-CFJAXlSr.mjs.map} +1 -1
- package/dist/_chunks/{index-bDCZWhLO.mjs → index-Ca2RqmyB.mjs} +7 -10
- package/dist/_chunks/{index-bDCZWhLO.mjs.map → index-Ca2RqmyB.mjs.map} +1 -1
- package/dist/_chunks/{index-BJTnrL31.js → index-D77H0Prw.js} +2 -2
- package/dist/_chunks/{index-BJTnrL31.js.map → index-D77H0Prw.js.map} +1 -1
- package/dist/_chunks/{index-CI_b1cXd.mjs → index-DUwu4LLN.mjs} +3 -4
- package/dist/_chunks/{index-CI_b1cXd.mjs.map → index-DUwu4LLN.mjs.map} +1 -1
- package/dist/_chunks/{index-DDglyd0X.mjs → index-DWih5L4l.mjs} +2 -2
- package/dist/_chunks/{index-DDglyd0X.mjs.map → index-DWih5L4l.mjs.map} +1 -1
- package/dist/_chunks/{index-CAgV-G5k.js → index-IB3oIMzG.js} +3 -4
- package/dist/_chunks/{index-CAgV-G5k.js.map → index-IB3oIMzG.js.map} +1 -1
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +1 -1
- package/package.json +5 -5
- package/server/controllers/auth.js +15 -5
- package/server/controllers/validation/auth.js +81 -25
- package/dist/_chunks/index-B9cFxoCN.mjs.map +0 -1
- package/dist/_chunks/index-QPUYgtlo-BfJxOAzF.mjs.map +0 -1
- package/dist/_chunks/index-QPUYgtlo-QiBdpWEj.js.map +0 -1
- package/dist/_chunks/index-cL_YxyjM.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-BJvNbZJA-fMZ4nmrb.js","sources":["../../../../../node_modules/es-errors/index.js","../../../../../node_modules/es-errors/eval.js","../../../../../node_modules/es-errors/range.js","../../../../../node_modules/es-errors/ref.js","../../../../../node_modules/es-errors/syntax.js","../../../../../node_modules/es-errors/type.js","../../../../../node_modules/es-errors/uri.js","../../../../../node_modules/has-symbols/shams.js","../../../../../node_modules/has-symbols/index.js","../../../../../node_modules/has-proto/index.js","../../../../../node_modules/function-bind/implementation.js","../../../../../node_modules/function-bind/index.js","../../../../../node_modules/hasown/index.js","../../../../../node_modules/get-intrinsic/index.js","../../../../../node_modules/es-define-property/index.js","../../../../../node_modules/gopd/index.js","../../../../../node_modules/define-data-property/index.js","../../../../../node_modules/has-property-descriptors/index.js","../../../../../node_modules/set-function-length/index.js","../../../../../node_modules/call-bind/index.js","../../../../../node_modules/call-bind/callBound.js","../../__vite-browser-external","../../../../../node_modules/object-inspect/index.js","../../../../../node_modules/side-channel/index.js","../../../../../node_modules/qs/lib/formats.js","../../../../../node_modules/qs/lib/utils.js","../../../../../node_modules/qs/lib/stringify.js","../../../../../node_modules/qs/lib/parse.js","../../../../../node_modules/qs/lib/index.js","../../../../../node_modules/redux/es/redux.js","../../../../../node_modules/reselect/es/defaultMemoize.js","../../../../../node_modules/reselect/es/index.js","../../../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.esm.js","../../../../../node_modules/@reduxjs/toolkit/dist/query/rtk-query.esm.js","../../../../../node_modules/@reduxjs/toolkit/dist/query/react/rtk-query-react.esm.js","../../../../core/admin/dist/admin/admin-DIy_Bn_0.mjs","../../../../../node_modules/axios/lib/helpers/bind.js","../../../../../node_modules/axios/lib/utils.js","../../../../../node_modules/axios/lib/core/AxiosError.js","../../../../../node_modules/axios/lib/helpers/null.js","../../../../../node_modules/axios/lib/helpers/toFormData.js","../../../../../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../../../../../node_modules/axios/lib/helpers/buildURL.js","../../../../../node_modules/axios/lib/core/InterceptorManager.js","../../../../../node_modules/axios/lib/defaults/transitional.js","../../../../../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../../../../../node_modules/axios/lib/platform/browser/classes/FormData.js","../../../../../node_modules/axios/lib/platform/browser/classes/Blob.js","../../../../../node_modules/axios/lib/platform/browser/index.js","../../../../../node_modules/axios/lib/platform/common/utils.js","../../../../../node_modules/axios/lib/platform/index.js","../../../../../node_modules/axios/lib/helpers/toURLEncodedForm.js","../../../../../node_modules/axios/lib/helpers/formDataToJSON.js","../../../../../node_modules/axios/lib/defaults/index.js","../../../../../node_modules/axios/lib/helpers/parseHeaders.js","../../../../../node_modules/axios/lib/core/AxiosHeaders.js","../../../../../node_modules/axios/lib/core/transformData.js","../../../../../node_modules/axios/lib/cancel/isCancel.js","../../../../../node_modules/axios/lib/cancel/CanceledError.js","../../../../../node_modules/axios/lib/core/settle.js","../../../../../node_modules/axios/lib/helpers/parseProtocol.js","../../../../../node_modules/axios/lib/helpers/speedometer.js","../../../../../node_modules/axios/lib/helpers/throttle.js","../../../../../node_modules/axios/lib/helpers/progressEventReducer.js","../../../../../node_modules/axios/lib/helpers/isURLSameOrigin.js","../../../../../node_modules/axios/lib/helpers/cookies.js","../../../../../node_modules/axios/lib/helpers/isAbsoluteURL.js","../../../../../node_modules/axios/lib/helpers/combineURLs.js","../../../../../node_modules/axios/lib/core/buildFullPath.js","../../../../../node_modules/axios/lib/core/mergeConfig.js","../../../../../node_modules/axios/lib/helpers/resolveConfig.js","../../../../../node_modules/axios/lib/adapters/xhr.js","../../../../../node_modules/axios/lib/helpers/composeSignals.js","../../../../../node_modules/axios/lib/helpers/trackStream.js","../../../../../node_modules/axios/lib/adapters/fetch.js","../../../../../node_modules/axios/lib/adapters/adapters.js","../../../../../node_modules/axios/lib/core/dispatchRequest.js","../../../../../node_modules/axios/lib/env/data.js","../../../../../node_modules/axios/lib/helpers/validator.js","../../../../../node_modules/axios/lib/core/Axios.js","../../../../../node_modules/axios/lib/cancel/CancelToken.js","../../../../../node_modules/axios/lib/helpers/spread.js","../../../../../node_modules/axios/lib/helpers/isAxiosError.js","../../../../../node_modules/axios/lib/helpers/HttpStatusCode.js","../../../../../node_modules/axios/lib/axios.js","../../../../../node_modules/scheduler/cjs/scheduler.production.min.js","../../../../../node_modules/scheduler/cjs/scheduler.development.js","../../../../../node_modules/scheduler/index.js","../../../../../node_modules/use-context-selector/dist/index.modern.js","../../../../core/admin/dist/admin/Theme-NAd2H4cV.mjs","../../../../../node_modules/fractional-indexing/src/index.js","../../../../../node_modules/@internationalized/date/dist/utils.mjs","../../../../../node_modules/@internationalized/date/dist/GregorianCalendar.mjs","../../../../../node_modules/@internationalized/date/dist/queries.mjs","../../../../../node_modules/@internationalized/date/dist/conversion.mjs","../../../../../node_modules/@internationalized/date/dist/manipulation.mjs","../../../../../node_modules/@internationalized/date/dist/string.mjs","../../../../../node_modules/@swc/helpers/esm/_check_private_redeclaration.js","../../../../../node_modules/@swc/helpers/esm/_class_private_field_init.js","../../../../../node_modules/@internationalized/date/dist/CalendarDate.mjs","../../../../core/admin/dist/admin/index-BJvNbZJA.mjs"],"sourcesContent":["'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Error;\n","'use strict';\n\n/** @type {import('./eval')} */\nmodule.exports = EvalError;\n","'use strict';\n\n/** @type {import('./range')} */\nmodule.exports = RangeError;\n","'use strict';\n\n/** @type {import('./ref')} */\nmodule.exports = ReferenceError;\n","'use strict';\n\n/** @type {import('./syntax')} */\nmodule.exports = SyntaxError;\n","'use strict';\n\n/** @type {import('./type')} */\nmodule.exports = TypeError;\n","'use strict';\n\n/** @type {import('./uri')} */\nmodule.exports = URIError;\n","'use strict';\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\nvar test = {\n\tfoo: {}\n};\n\nvar $Object = Object;\n\nmodule.exports = function hasProto() {\n\treturn { __proto__: test }.foo === test.foo && !({ __proto__: null } instanceof $Object);\n};\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar call = Function.prototype.call;\nvar $hasOwn = Object.prototype.hasOwnProperty;\nvar bind = require('function-bind');\n\n/** @type {import('.')} */\nmodule.exports = bind.call(call, $hasOwn);\n","'use strict';\n\nvar undefined;\n\nvar $Error = require('es-errors');\nvar $EvalError = require('es-errors/eval');\nvar $RangeError = require('es-errors/range');\nvar $ReferenceError = require('es-errors/ref');\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\nvar $URIError = require('es-errors/uri');\n\nvar $Function = Function;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\nvar hasProto = require('has-proto')();\n\nvar getProto = Object.getPrototypeOf || (\n\thasProto\n\t\t? function (x) { return x.__proto__; } // eslint-disable-line no-proto\n\t\t: null\n);\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t__proto__: null,\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': $Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': $EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': $RangeError,\n\t'%ReferenceError%': $ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': $URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t__proto__: null,\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('hasown');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\n/** @type {import('.')} */\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true) || false;\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = false;\n\t}\n}\n\nmodule.exports = $defineProperty;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\n\nvar gopd = require('gopd');\n\n/** @type {import('.')} */\nmodule.exports = function defineDataProperty(\n\tobj,\n\tproperty,\n\tvalue\n) {\n\tif (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) {\n\t\tthrow new $TypeError('`obj` must be an object or a function`');\n\t}\n\tif (typeof property !== 'string' && typeof property !== 'symbol') {\n\t\tthrow new $TypeError('`property` must be a string or a symbol`');\n\t}\n\tif (arguments.length > 3 && typeof arguments[3] !== 'boolean' && arguments[3] !== null) {\n\t\tthrow new $TypeError('`nonEnumerable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 4 && typeof arguments[4] !== 'boolean' && arguments[4] !== null) {\n\t\tthrow new $TypeError('`nonWritable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 5 && typeof arguments[5] !== 'boolean' && arguments[5] !== null) {\n\t\tthrow new $TypeError('`nonConfigurable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 6 && typeof arguments[6] !== 'boolean') {\n\t\tthrow new $TypeError('`loose`, if provided, must be a boolean');\n\t}\n\n\tvar nonEnumerable = arguments.length > 3 ? arguments[3] : null;\n\tvar nonWritable = arguments.length > 4 ? arguments[4] : null;\n\tvar nonConfigurable = arguments.length > 5 ? arguments[5] : null;\n\tvar loose = arguments.length > 6 ? arguments[6] : false;\n\n\t/* @type {false | TypedPropertyDescriptor<unknown>} */\n\tvar desc = !!gopd && gopd(obj, property);\n\n\tif ($defineProperty) {\n\t\t$defineProperty(obj, property, {\n\t\t\tconfigurable: nonConfigurable === null && desc ? desc.configurable : !nonConfigurable,\n\t\t\tenumerable: nonEnumerable === null && desc ? desc.enumerable : !nonEnumerable,\n\t\t\tvalue: value,\n\t\t\twritable: nonWritable === null && desc ? desc.writable : !nonWritable\n\t\t});\n\t} else if (loose || (!nonEnumerable && !nonWritable && !nonConfigurable)) {\n\t\t// must fall back to [[Set]], and was not explicitly asked to make non-enumerable, non-writable, or non-configurable\n\t\tobj[property] = value; // eslint-disable-line no-param-reassign\n\t} else {\n\t\tthrow new $SyntaxError('This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.');\n\t}\n};\n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\treturn !!$defineProperty;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!$defineProperty) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar define = require('define-data-property');\nvar hasDescriptors = require('has-property-descriptors')();\nvar gOPD = require('gopd');\n\nvar $TypeError = require('es-errors/type');\nvar $floor = GetIntrinsic('%Math.floor%');\n\n/** @type {import('.')} */\nmodule.exports = function setFunctionLength(fn, length) {\n\tif (typeof fn !== 'function') {\n\t\tthrow new $TypeError('`fn` is not a function');\n\t}\n\tif (typeof length !== 'number' || length < 0 || length > 0xFFFFFFFF || $floor(length) !== length) {\n\t\tthrow new $TypeError('`length` must be a positive 32-bit integer');\n\t}\n\n\tvar loose = arguments.length > 2 && !!arguments[2];\n\n\tvar functionLengthIsConfigurable = true;\n\tvar functionLengthIsWritable = true;\n\tif ('length' in fn && gOPD) {\n\t\tvar desc = gOPD(fn, 'length');\n\t\tif (desc && !desc.configurable) {\n\t\t\tfunctionLengthIsConfigurable = false;\n\t\t}\n\t\tif (desc && !desc.writable) {\n\t\t\tfunctionLengthIsWritable = false;\n\t\t}\n\t}\n\n\tif (functionLengthIsConfigurable || functionLengthIsWritable || !loose) {\n\t\tif (hasDescriptors) {\n\t\t\tdefine(/** @type {Parameters<define>[0]} */ (fn), 'length', length, true, true);\n\t\t} else {\n\t\t\tdefine(/** @type {Parameters<define>[0]} */ (fn), 'length', length);\n\t\t}\n\t}\n\treturn fn;\n};\n","'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\nvar setFunctionLength = require('set-function-length');\n\nvar $TypeError = require('es-errors/type');\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $defineProperty = require('es-define-property');\nvar $max = GetIntrinsic('%Math.max%');\n\nmodule.exports = function callBind(originalFunction) {\n\tif (typeof originalFunction !== 'function') {\n\t\tthrow new $TypeError('a function is required');\n\t}\n\tvar func = $reflectApply(bind, $call, arguments);\n\treturn setFunctionLength(\n\t\tfunc,\n\t\t1 + $max(0, originalFunction.length - (arguments.length - 1)),\n\t\ttrue\n\t);\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","export default {}","var hasMap = typeof Map === 'function' && Map.prototype;\nvar mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, 'size') : null;\nvar mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === 'function' ? mapSizeDescriptor.get : null;\nvar mapForEach = hasMap && Map.prototype.forEach;\nvar hasSet = typeof Set === 'function' && Set.prototype;\nvar setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, 'size') : null;\nvar setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === 'function' ? setSizeDescriptor.get : null;\nvar setForEach = hasSet && Set.prototype.forEach;\nvar hasWeakMap = typeof WeakMap === 'function' && WeakMap.prototype;\nvar weakMapHas = hasWeakMap ? WeakMap.prototype.has : null;\nvar hasWeakSet = typeof WeakSet === 'function' && WeakSet.prototype;\nvar weakSetHas = hasWeakSet ? WeakSet.prototype.has : null;\nvar hasWeakRef = typeof WeakRef === 'function' && WeakRef.prototype;\nvar weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null;\nvar booleanValueOf = Boolean.prototype.valueOf;\nvar objectToString = Object.prototype.toString;\nvar functionToString = Function.prototype.toString;\nvar $match = String.prototype.match;\nvar $slice = String.prototype.slice;\nvar $replace = String.prototype.replace;\nvar $toUpperCase = String.prototype.toUpperCase;\nvar $toLowerCase = String.prototype.toLowerCase;\nvar $test = RegExp.prototype.test;\nvar $concat = Array.prototype.concat;\nvar $join = Array.prototype.join;\nvar $arrSlice = Array.prototype.slice;\nvar $floor = Math.floor;\nvar bigIntValueOf = typeof BigInt === 'function' ? BigInt.prototype.valueOf : null;\nvar gOPS = Object.getOwnPropertySymbols;\nvar symToString = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol.prototype.toString : null;\nvar hasShammedSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'object';\n// ie, `has-tostringtag/shams\nvar toStringTag = typeof Symbol === 'function' && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? 'object' : 'symbol')\n ? Symbol.toStringTag\n : null;\nvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\nvar gPO = (typeof Reflect === 'function' ? Reflect.getPrototypeOf : Object.getPrototypeOf) || (\n [].__proto__ === Array.prototype // eslint-disable-line no-proto\n ? function (O) {\n return O.__proto__; // eslint-disable-line no-proto\n }\n : null\n);\n\nfunction addNumericSeparator(num, str) {\n if (\n num === Infinity\n || num === -Infinity\n || num !== num\n || (num && num > -1000 && num < 1000)\n || $test.call(/e/, str)\n ) {\n return str;\n }\n var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;\n if (typeof num === 'number') {\n var int = num < 0 ? -$floor(-num) : $floor(num); // trunc(num)\n if (int !== num) {\n var intStr = String(int);\n var dec = $slice.call(str, intStr.length + 1);\n return $replace.call(intStr, sepRegex, '$&_') + '.' + $replace.call($replace.call(dec, /([0-9]{3})/g, '$&_'), /_$/, '');\n }\n }\n return $replace.call(str, sepRegex, '$&_');\n}\n\nvar utilInspect = require('./util.inspect');\nvar inspectCustom = utilInspect.custom;\nvar inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null;\n\nmodule.exports = function inspect_(obj, options, depth, seen) {\n var opts = options || {};\n\n if (has(opts, 'quoteStyle') && (opts.quoteStyle !== 'single' && opts.quoteStyle !== 'double')) {\n throw new TypeError('option \"quoteStyle\" must be \"single\" or \"double\"');\n }\n if (\n has(opts, 'maxStringLength') && (typeof opts.maxStringLength === 'number'\n ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity\n : opts.maxStringLength !== null\n )\n ) {\n throw new TypeError('option \"maxStringLength\", if provided, must be a positive integer, Infinity, or `null`');\n }\n var customInspect = has(opts, 'customInspect') ? opts.customInspect : true;\n if (typeof customInspect !== 'boolean' && customInspect !== 'symbol') {\n throw new TypeError('option \"customInspect\", if provided, must be `true`, `false`, or `\\'symbol\\'`');\n }\n\n if (\n has(opts, 'indent')\n && opts.indent !== null\n && opts.indent !== '\\t'\n && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)\n ) {\n throw new TypeError('option \"indent\" must be \"\\\\t\", an integer > 0, or `null`');\n }\n if (has(opts, 'numericSeparator') && typeof opts.numericSeparator !== 'boolean') {\n throw new TypeError('option \"numericSeparator\", if provided, must be `true` or `false`');\n }\n var numericSeparator = opts.numericSeparator;\n\n if (typeof obj === 'undefined') {\n return 'undefined';\n }\n if (obj === null) {\n return 'null';\n }\n if (typeof obj === 'boolean') {\n return obj ? 'true' : 'false';\n }\n\n if (typeof obj === 'string') {\n return inspectString(obj, opts);\n }\n if (typeof obj === 'number') {\n if (obj === 0) {\n return Infinity / obj > 0 ? '0' : '-0';\n }\n var str = String(obj);\n return numericSeparator ? addNumericSeparator(obj, str) : str;\n }\n if (typeof obj === 'bigint') {\n var bigIntStr = String(obj) + 'n';\n return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr;\n }\n\n var maxDepth = typeof opts.depth === 'undefined' ? 5 : opts.depth;\n if (typeof depth === 'undefined') { depth = 0; }\n if (depth >= maxDepth && maxDepth > 0 && typeof obj === 'object') {\n return isArray(obj) ? '[Array]' : '[Object]';\n }\n\n var indent = getIndent(opts, depth);\n\n if (typeof seen === 'undefined') {\n seen = [];\n } else if (indexOf(seen, obj) >= 0) {\n return '[Circular]';\n }\n\n function inspect(value, from, noIndent) {\n if (from) {\n seen = $arrSlice.call(seen);\n seen.push(from);\n }\n if (noIndent) {\n var newOpts = {\n depth: opts.depth\n };\n if (has(opts, 'quoteStyle')) {\n newOpts.quoteStyle = opts.quoteStyle;\n }\n return inspect_(value, newOpts, depth + 1, seen);\n }\n return inspect_(value, opts, depth + 1, seen);\n }\n\n if (typeof obj === 'function' && !isRegExp(obj)) { // in older engines, regexes are callable\n var name = nameOf(obj);\n var keys = arrObjKeys(obj, inspect);\n return '[Function' + (name ? ': ' + name : ' (anonymous)') + ']' + (keys.length > 0 ? ' { ' + $join.call(keys, ', ') + ' }' : '');\n }\n if (isSymbol(obj)) {\n var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\\(.*\\))_[^)]*$/, '$1') : symToString.call(obj);\n return typeof obj === 'object' && !hasShammedSymbols ? markBoxed(symString) : symString;\n }\n if (isElement(obj)) {\n var s = '<' + $toLowerCase.call(String(obj.nodeName));\n var attrs = obj.attributes || [];\n for (var i = 0; i < attrs.length; i++) {\n s += ' ' + attrs[i].name + '=' + wrapQuotes(quote(attrs[i].value), 'double', opts);\n }\n s += '>';\n if (obj.childNodes && obj.childNodes.length) { s += '...'; }\n s += '</' + $toLowerCase.call(String(obj.nodeName)) + '>';\n return s;\n }\n if (isArray(obj)) {\n if (obj.length === 0) { return '[]'; }\n var xs = arrObjKeys(obj, inspect);\n if (indent && !singleLineValues(xs)) {\n return '[' + indentedJoin(xs, indent) + ']';\n }\n return '[ ' + $join.call(xs, ', ') + ' ]';\n }\n if (isError(obj)) {\n var parts = arrObjKeys(obj, inspect);\n if (!('cause' in Error.prototype) && 'cause' in obj && !isEnumerable.call(obj, 'cause')) {\n return '{ [' + String(obj) + '] ' + $join.call($concat.call('[cause]: ' + inspect(obj.cause), parts), ', ') + ' }';\n }\n if (parts.length === 0) { return '[' + String(obj) + ']'; }\n return '{ [' + String(obj) + '] ' + $join.call(parts, ', ') + ' }';\n }\n if (typeof obj === 'object' && customInspect) {\n if (inspectSymbol && typeof obj[inspectSymbol] === 'function' && utilInspect) {\n return utilInspect(obj, { depth: maxDepth - depth });\n } else if (customInspect !== 'symbol' && typeof obj.inspect === 'function') {\n return obj.inspect();\n }\n }\n if (isMap(obj)) {\n var mapParts = [];\n if (mapForEach) {\n mapForEach.call(obj, function (value, key) {\n mapParts.push(inspect(key, obj, true) + ' => ' + inspect(value, obj));\n });\n }\n return collectionOf('Map', mapSize.call(obj), mapParts, indent);\n }\n if (isSet(obj)) {\n var setParts = [];\n if (setForEach) {\n setForEach.call(obj, function (value) {\n setParts.push(inspect(value, obj));\n });\n }\n return collectionOf('Set', setSize.call(obj), setParts, indent);\n }\n if (isWeakMap(obj)) {\n return weakCollectionOf('WeakMap');\n }\n if (isWeakSet(obj)) {\n return weakCollectionOf('WeakSet');\n }\n if (isWeakRef(obj)) {\n return weakCollectionOf('WeakRef');\n }\n if (isNumber(obj)) {\n return markBoxed(inspect(Number(obj)));\n }\n if (isBigInt(obj)) {\n return markBoxed(inspect(bigIntValueOf.call(obj)));\n }\n if (isBoolean(obj)) {\n return markBoxed(booleanValueOf.call(obj));\n }\n if (isString(obj)) {\n return markBoxed(inspect(String(obj)));\n }\n // note: in IE 8, sometimes `global !== window` but both are the prototypes of each other\n /* eslint-env browser */\n if (typeof window !== 'undefined' && obj === window) {\n return '{ [object Window] }';\n }\n if (\n (typeof globalThis !== 'undefined' && obj === globalThis)\n || (typeof global !== 'undefined' && obj === global)\n ) {\n return '{ [object globalThis] }';\n }\n if (!isDate(obj) && !isRegExp(obj)) {\n var ys = arrObjKeys(obj, inspect);\n var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object;\n var protoTag = obj instanceof Object ? '' : 'null prototype';\n var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? 'Object' : '';\n var constructorTag = isPlainObject || typeof obj.constructor !== 'function' ? '' : obj.constructor.name ? obj.constructor.name + ' ' : '';\n var tag = constructorTag + (stringTag || protoTag ? '[' + $join.call($concat.call([], stringTag || [], protoTag || []), ': ') + '] ' : '');\n if (ys.length === 0) { return tag + '{}'; }\n if (indent) {\n return tag + '{' + indentedJoin(ys, indent) + '}';\n }\n return tag + '{ ' + $join.call(ys, ', ') + ' }';\n }\n return String(obj);\n};\n\nfunction wrapQuotes(s, defaultStyle, opts) {\n var quoteChar = (opts.quoteStyle || defaultStyle) === 'double' ? '\"' : \"'\";\n return quoteChar + s + quoteChar;\n}\n\nfunction quote(s) {\n return $replace.call(String(s), /\"/g, '"');\n}\n\nfunction isArray(obj) { return toStr(obj) === '[object Array]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isDate(obj) { return toStr(obj) === '[object Date]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isRegExp(obj) { return toStr(obj) === '[object RegExp]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isError(obj) { return toStr(obj) === '[object Error]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isString(obj) { return toStr(obj) === '[object String]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isNumber(obj) { return toStr(obj) === '[object Number]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isBoolean(obj) { return toStr(obj) === '[object Boolean]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\n\n// Symbol and BigInt do have Symbol.toStringTag by spec, so that can't be used to eliminate false positives\nfunction isSymbol(obj) {\n if (hasShammedSymbols) {\n return obj && typeof obj === 'object' && obj instanceof Symbol;\n }\n if (typeof obj === 'symbol') {\n return true;\n }\n if (!obj || typeof obj !== 'object' || !symToString) {\n return false;\n }\n try {\n symToString.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isBigInt(obj) {\n if (!obj || typeof obj !== 'object' || !bigIntValueOf) {\n return false;\n }\n try {\n bigIntValueOf.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nvar hasOwn = Object.prototype.hasOwnProperty || function (key) { return key in this; };\nfunction has(obj, key) {\n return hasOwn.call(obj, key);\n}\n\nfunction toStr(obj) {\n return objectToString.call(obj);\n}\n\nfunction nameOf(f) {\n if (f.name) { return f.name; }\n var m = $match.call(functionToString.call(f), /^function\\s*([\\w$]+)/);\n if (m) { return m[1]; }\n return null;\n}\n\nfunction indexOf(xs, x) {\n if (xs.indexOf) { return xs.indexOf(x); }\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) { return i; }\n }\n return -1;\n}\n\nfunction isMap(x) {\n if (!mapSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n mapSize.call(x);\n try {\n setSize.call(x);\n } catch (s) {\n return true;\n }\n return x instanceof Map; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakMap(x) {\n if (!weakMapHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakMapHas.call(x, weakMapHas);\n try {\n weakSetHas.call(x, weakSetHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakMap; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakRef(x) {\n if (!weakRefDeref || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakRefDeref.call(x);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isSet(x) {\n if (!setSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n setSize.call(x);\n try {\n mapSize.call(x);\n } catch (m) {\n return true;\n }\n return x instanceof Set; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakSet(x) {\n if (!weakSetHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakSetHas.call(x, weakSetHas);\n try {\n weakMapHas.call(x, weakMapHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakSet; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isElement(x) {\n if (!x || typeof x !== 'object') { return false; }\n if (typeof HTMLElement !== 'undefined' && x instanceof HTMLElement) {\n return true;\n }\n return typeof x.nodeName === 'string' && typeof x.getAttribute === 'function';\n}\n\nfunction inspectString(str, opts) {\n if (str.length > opts.maxStringLength) {\n var remaining = str.length - opts.maxStringLength;\n var trailer = '... ' + remaining + ' more character' + (remaining > 1 ? 's' : '');\n return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer;\n }\n // eslint-disable-next-line no-control-regex\n var s = $replace.call($replace.call(str, /(['\\\\])/g, '\\\\$1'), /[\\x00-\\x1f]/g, lowbyte);\n return wrapQuotes(s, 'single', opts);\n}\n\nfunction lowbyte(c) {\n var n = c.charCodeAt(0);\n var x = {\n 8: 'b',\n 9: 't',\n 10: 'n',\n 12: 'f',\n 13: 'r'\n }[n];\n if (x) { return '\\\\' + x; }\n return '\\\\x' + (n < 0x10 ? '0' : '') + $toUpperCase.call(n.toString(16));\n}\n\nfunction markBoxed(str) {\n return 'Object(' + str + ')';\n}\n\nfunction weakCollectionOf(type) {\n return type + ' { ? }';\n}\n\nfunction collectionOf(type, size, entries, indent) {\n var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ', ');\n return type + ' (' + size + ') {' + joinedEntries + '}';\n}\n\nfunction singleLineValues(xs) {\n for (var i = 0; i < xs.length; i++) {\n if (indexOf(xs[i], '\\n') >= 0) {\n return false;\n }\n }\n return true;\n}\n\nfunction getIndent(opts, depth) {\n var baseIndent;\n if (opts.indent === '\\t') {\n baseIndent = '\\t';\n } else if (typeof opts.indent === 'number' && opts.indent > 0) {\n baseIndent = $join.call(Array(opts.indent + 1), ' ');\n } else {\n return null;\n }\n return {\n base: baseIndent,\n prev: $join.call(Array(depth + 1), baseIndent)\n };\n}\n\nfunction indentedJoin(xs, indent) {\n if (xs.length === 0) { return ''; }\n var lineJoiner = '\\n' + indent.prev + indent.base;\n return lineJoiner + $join.call(xs, ',' + lineJoiner) + '\\n' + indent.prev;\n}\n\nfunction arrObjKeys(obj, inspect) {\n var isArr = isArray(obj);\n var xs = [];\n if (isArr) {\n xs.length = obj.length;\n for (var i = 0; i < obj.length; i++) {\n xs[i] = has(obj, i) ? inspect(obj[i], obj) : '';\n }\n }\n var syms = typeof gOPS === 'function' ? gOPS(obj) : [];\n var symMap;\n if (hasShammedSymbols) {\n symMap = {};\n for (var k = 0; k < syms.length; k++) {\n symMap['$' + syms[k]] = syms[k];\n }\n }\n\n for (var key in obj) { // eslint-disable-line no-restricted-syntax\n if (!has(obj, key)) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (isArr && String(Number(key)) === key && key < obj.length) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (hasShammedSymbols && symMap['$' + key] instanceof Symbol) {\n // this is to prevent shammed Symbols, which are stored as strings, from being included in the string key section\n continue; // eslint-disable-line no-restricted-syntax, no-continue\n } else if ($test.call(/[^\\w$]/, key)) {\n xs.push(inspect(key, obj) + ': ' + inspect(obj[key], obj));\n } else {\n xs.push(key + ': ' + inspect(obj[key], obj));\n }\n }\n if (typeof gOPS === 'function') {\n for (var j = 0; j < syms.length; j++) {\n if (isEnumerable.call(obj, syms[j])) {\n xs.push('[' + inspect(syms[j]) + ']: ' + inspect(obj[syms[j]], obj));\n }\n }\n }\n return xs;\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar callBound = require('call-bind/callBound');\nvar inspect = require('object-inspect');\n\nvar $TypeError = require('es-errors/type');\nvar $WeakMap = GetIntrinsic('%WeakMap%', true);\nvar $Map = GetIntrinsic('%Map%', true);\n\nvar $weakMapGet = callBound('WeakMap.prototype.get', true);\nvar $weakMapSet = callBound('WeakMap.prototype.set', true);\nvar $weakMapHas = callBound('WeakMap.prototype.has', true);\nvar $mapGet = callBound('Map.prototype.get', true);\nvar $mapSet = callBound('Map.prototype.set', true);\nvar $mapHas = callBound('Map.prototype.has', true);\n\n/*\n* This function traverses the list returning the node corresponding to the given key.\n*\n* That node is also moved to the head of the list, so that if it's accessed again we don't need to traverse the whole list. By doing so, all the recently used nodes can be accessed relatively quickly.\n*/\n/** @type {import('.').listGetNode} */\nvar listGetNode = function (list, key) { // eslint-disable-line consistent-return\n\t/** @type {typeof list | NonNullable<(typeof list)['next']>} */\n\tvar prev = list;\n\t/** @type {(typeof list)['next']} */\n\tvar curr;\n\tfor (; (curr = prev.next) !== null; prev = curr) {\n\t\tif (curr.key === key) {\n\t\t\tprev.next = curr.next;\n\t\t\t// eslint-disable-next-line no-extra-parens\n\t\t\tcurr.next = /** @type {NonNullable<typeof list.next>} */ (list.next);\n\t\t\tlist.next = curr; // eslint-disable-line no-param-reassign\n\t\t\treturn curr;\n\t\t}\n\t}\n};\n\n/** @type {import('.').listGet} */\nvar listGet = function (objects, key) {\n\tvar node = listGetNode(objects, key);\n\treturn node && node.value;\n};\n/** @type {import('.').listSet} */\nvar listSet = function (objects, key, value) {\n\tvar node = listGetNode(objects, key);\n\tif (node) {\n\t\tnode.value = value;\n\t} else {\n\t\t// Prepend the new node to the beginning of the list\n\t\tobjects.next = /** @type {import('.').ListNode<typeof value>} */ ({ // eslint-disable-line no-param-reassign, no-extra-parens\n\t\t\tkey: key,\n\t\t\tnext: objects.next,\n\t\t\tvalue: value\n\t\t});\n\t}\n};\n/** @type {import('.').listHas} */\nvar listHas = function (objects, key) {\n\treturn !!listGetNode(objects, key);\n};\n\n/** @type {import('.')} */\nmodule.exports = function getSideChannel() {\n\t/** @type {WeakMap<object, unknown>} */ var $wm;\n\t/** @type {Map<object, unknown>} */ var $m;\n\t/** @type {import('.').RootNode<unknown>} */ var $o;\n\n\t/** @type {import('.').Channel} */\n\tvar channel = {\n\t\tassert: function (key) {\n\t\t\tif (!channel.has(key)) {\n\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t}\n\t\t},\n\t\tget: function (key) { // eslint-disable-line consistent-return\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapGet($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapGet($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listGet($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\thas: function (key) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapHas($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapHas($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listHas($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tset: function (key, value) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif (!$wm) {\n\t\t\t\t\t$wm = new $WeakMap();\n\t\t\t\t}\n\t\t\t\t$weakMapSet($wm, key, value);\n\t\t\t} else if ($Map) {\n\t\t\t\tif (!$m) {\n\t\t\t\t\t$m = new $Map();\n\t\t\t\t}\n\t\t\t\t$mapSet($m, key, value);\n\t\t\t} else {\n\t\t\t\tif (!$o) {\n\t\t\t\t\t// Initialize the linked list as an empty node, so that we don't have to special-case handling of the first node: we can always refer to it as (previous node).next, instead of something like (list).head\n\t\t\t\t\t$o = { key: {}, next: null };\n\t\t\t\t}\n\t\t\t\tlistSet($o, key, value);\n\t\t\t}\n\t\t}\n\t};\n\treturn channel;\n};\n","'use strict';\n\nvar replace = String.prototype.replace;\nvar percentTwenties = /%20/g;\n\nvar Format = {\n RFC1738: 'RFC1738',\n RFC3986: 'RFC3986'\n};\n\nmodule.exports = {\n 'default': Format.RFC3986,\n formatters: {\n RFC1738: function (value) {\n return replace.call(value, percentTwenties, '+');\n },\n RFC3986: function (value) {\n return String(value);\n }\n },\n RFC1738: Format.RFC1738,\n RFC3986: Format.RFC3986\n};\n","'use strict';\n\nvar formats = require('./formats');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar hexTable = (function () {\n var array = [];\n for (var i = 0; i < 256; ++i) {\n array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());\n }\n\n return array;\n}());\n\nvar compactQueue = function compactQueue(queue) {\n while (queue.length > 1) {\n var item = queue.pop();\n var obj = item.obj[item.prop];\n\n if (isArray(obj)) {\n var compacted = [];\n\n for (var j = 0; j < obj.length; ++j) {\n if (typeof obj[j] !== 'undefined') {\n compacted.push(obj[j]);\n }\n }\n\n item.obj[item.prop] = compacted;\n }\n }\n};\n\nvar arrayToObject = function arrayToObject(source, options) {\n var obj = options && options.plainObjects ? Object.create(null) : {};\n for (var i = 0; i < source.length; ++i) {\n if (typeof source[i] !== 'undefined') {\n obj[i] = source[i];\n }\n }\n\n return obj;\n};\n\nvar merge = function merge(target, source, options) {\n /* eslint no-param-reassign: 0 */\n if (!source) {\n return target;\n }\n\n if (typeof source !== 'object') {\n if (isArray(target)) {\n target.push(source);\n } else if (target && typeof target === 'object') {\n if ((options && (options.plainObjects || options.allowPrototypes)) || !has.call(Object.prototype, source)) {\n target[source] = true;\n }\n } else {\n return [target, source];\n }\n\n return target;\n }\n\n if (!target || typeof target !== 'object') {\n return [target].concat(source);\n }\n\n var mergeTarget = target;\n if (isArray(target) && !isArray(source)) {\n mergeTarget = arrayToObject(target, options);\n }\n\n if (isArray(target) && isArray(source)) {\n source.forEach(function (item, i) {\n if (has.call(target, i)) {\n var targetItem = target[i];\n if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {\n target[i] = merge(targetItem, item, options);\n } else {\n target.push(item);\n }\n } else {\n target[i] = item;\n }\n });\n return target;\n }\n\n return Object.keys(source).reduce(function (acc, key) {\n var value = source[key];\n\n if (has.call(acc, key)) {\n acc[key] = merge(acc[key], value, options);\n } else {\n acc[key] = value;\n }\n return acc;\n }, mergeTarget);\n};\n\nvar assign = function assignSingleSource(target, source) {\n return Object.keys(source).reduce(function (acc, key) {\n acc[key] = source[key];\n return acc;\n }, target);\n};\n\nvar decode = function (str, decoder, charset) {\n var strWithoutPlus = str.replace(/\\+/g, ' ');\n if (charset === 'iso-8859-1') {\n // unescape never throws, no try...catch needed:\n return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);\n }\n // utf-8\n try {\n return decodeURIComponent(strWithoutPlus);\n } catch (e) {\n return strWithoutPlus;\n }\n};\n\nvar encode = function encode(str, defaultEncoder, charset, kind, format) {\n // This code was originally written by Brian White (mscdex) for the io.js core querystring library.\n // It has been adapted here for stricter adherence to RFC 3986\n if (str.length === 0) {\n return str;\n }\n\n var string = str;\n if (typeof str === 'symbol') {\n string = Symbol.prototype.toString.call(str);\n } else if (typeof str !== 'string') {\n string = String(str);\n }\n\n if (charset === 'iso-8859-1') {\n return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {\n return '%26%23' + parseInt($0.slice(2), 16) + '%3B';\n });\n }\n\n var out = '';\n for (var i = 0; i < string.length; ++i) {\n var c = string.charCodeAt(i);\n\n if (\n c === 0x2D // -\n || c === 0x2E // .\n || c === 0x5F // _\n || c === 0x7E // ~\n || (c >= 0x30 && c <= 0x39) // 0-9\n || (c >= 0x41 && c <= 0x5A) // a-z\n || (c >= 0x61 && c <= 0x7A) // A-Z\n || (format === formats.RFC1738 && (c === 0x28 || c === 0x29)) // ( )\n ) {\n out += string.charAt(i);\n continue;\n }\n\n if (c < 0x80) {\n out = out + hexTable[c];\n continue;\n }\n\n if (c < 0x800) {\n out = out + (hexTable[0xC0 | (c >> 6)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n if (c < 0xD800 || c >= 0xE000) {\n out = out + (hexTable[0xE0 | (c >> 12)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n i += 1;\n c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF));\n /* eslint operator-linebreak: [2, \"before\"] */\n out += hexTable[0xF0 | (c >> 18)]\n + hexTable[0x80 | ((c >> 12) & 0x3F)]\n + hexTable[0x80 | ((c >> 6) & 0x3F)]\n + hexTable[0x80 | (c & 0x3F)];\n }\n\n return out;\n};\n\nvar compact = function compact(value) {\n var queue = [{ obj: { o: value }, prop: 'o' }];\n var refs = [];\n\n for (var i = 0; i < queue.length; ++i) {\n var item = queue[i];\n var obj = item.obj[item.prop];\n\n var keys = Object.keys(obj);\n for (var j = 0; j < keys.length; ++j) {\n var key = keys[j];\n var val = obj[key];\n if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {\n queue.push({ obj: obj, prop: key });\n refs.push(val);\n }\n }\n }\n\n compactQueue(queue);\n\n return value;\n};\n\nvar isRegExp = function isRegExp(obj) {\n return Object.prototype.toString.call(obj) === '[object RegExp]';\n};\n\nvar isBuffer = function isBuffer(obj) {\n if (!obj || typeof obj !== 'object') {\n return false;\n }\n\n return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));\n};\n\nvar combine = function combine(a, b) {\n return [].concat(a, b);\n};\n\nvar maybeMap = function maybeMap(val, fn) {\n if (isArray(val)) {\n var mapped = [];\n for (var i = 0; i < val.length; i += 1) {\n mapped.push(fn(val[i]));\n }\n return mapped;\n }\n return fn(val);\n};\n\nmodule.exports = {\n arrayToObject: arrayToObject,\n assign: assign,\n combine: combine,\n compact: compact,\n decode: decode,\n encode: encode,\n isBuffer: isBuffer,\n isRegExp: isRegExp,\n maybeMap: maybeMap,\n merge: merge\n};\n","'use strict';\n\nvar getSideChannel = require('side-channel');\nvar utils = require('./utils');\nvar formats = require('./formats');\nvar has = Object.prototype.hasOwnProperty;\n\nvar arrayPrefixGenerators = {\n brackets: function brackets(prefix) {\n return prefix + '[]';\n },\n comma: 'comma',\n indices: function indices(prefix, key) {\n return prefix + '[' + key + ']';\n },\n repeat: function repeat(prefix) {\n return prefix;\n }\n};\n\nvar isArray = Array.isArray;\nvar push = Array.prototype.push;\nvar pushToArray = function (arr, valueOrArray) {\n push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]);\n};\n\nvar toISO = Date.prototype.toISOString;\n\nvar defaultFormat = formats['default'];\nvar defaults = {\n addQueryPrefix: false,\n allowDots: false,\n charset: 'utf-8',\n charsetSentinel: false,\n delimiter: '&',\n encode: true,\n encoder: utils.encode,\n encodeValuesOnly: false,\n format: defaultFormat,\n formatter: formats.formatters[defaultFormat],\n // deprecated\n indices: false,\n serializeDate: function serializeDate(date) {\n return toISO.call(date);\n },\n skipNulls: false,\n strictNullHandling: false\n};\n\nvar isNonNullishPrimitive = function isNonNullishPrimitive(v) {\n return typeof v === 'string'\n || typeof v === 'number'\n || typeof v === 'boolean'\n || typeof v === 'symbol'\n || typeof v === 'bigint';\n};\n\nvar sentinel = {};\n\nvar stringify = function stringify(\n object,\n prefix,\n generateArrayPrefix,\n commaRoundTrip,\n strictNullHandling,\n skipNulls,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n sideChannel\n) {\n var obj = object;\n\n var tmpSc = sideChannel;\n var step = 0;\n var findFlag = false;\n while ((tmpSc = tmpSc.get(sentinel)) !== void undefined && !findFlag) {\n // Where object last appeared in the ref tree\n var pos = tmpSc.get(object);\n step += 1;\n if (typeof pos !== 'undefined') {\n if (pos === step) {\n throw new RangeError('Cyclic object value');\n } else {\n findFlag = true; // Break while\n }\n }\n if (typeof tmpSc.get(sentinel) === 'undefined') {\n step = 0;\n }\n }\n\n if (typeof filter === 'function') {\n obj = filter(prefix, obj);\n } else if (obj instanceof Date) {\n obj = serializeDate(obj);\n } else if (generateArrayPrefix === 'comma' && isArray(obj)) {\n obj = utils.maybeMap(obj, function (value) {\n if (value instanceof Date) {\n return serializeDate(value);\n }\n return value;\n });\n }\n\n if (obj === null) {\n if (strictNullHandling) {\n return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key', format) : prefix;\n }\n\n obj = '';\n }\n\n if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {\n if (encoder) {\n var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key', format);\n return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value', format))];\n }\n return [formatter(prefix) + '=' + formatter(String(obj))];\n }\n\n var values = [];\n\n if (typeof obj === 'undefined') {\n return values;\n }\n\n var objKeys;\n if (generateArrayPrefix === 'comma' && isArray(obj)) {\n // we need to join elements in\n if (encodeValuesOnly && encoder) {\n obj = utils.maybeMap(obj, encoder);\n }\n objKeys = [{ value: obj.length > 0 ? obj.join(',') || null : void undefined }];\n } else if (isArray(filter)) {\n objKeys = filter;\n } else {\n var keys = Object.keys(obj);\n objKeys = sort ? keys.sort(sort) : keys;\n }\n\n var adjustedPrefix = commaRoundTrip && isArray(obj) && obj.length === 1 ? prefix + '[]' : prefix;\n\n for (var j = 0; j < objKeys.length; ++j) {\n var key = objKeys[j];\n var value = typeof key === 'object' && typeof key.value !== 'undefined' ? key.value : obj[key];\n\n if (skipNulls && value === null) {\n continue;\n }\n\n var keyPrefix = isArray(obj)\n ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(adjustedPrefix, key) : adjustedPrefix\n : adjustedPrefix + (allowDots ? '.' + key : '[' + key + ']');\n\n sideChannel.set(object, step);\n var valueSideChannel = getSideChannel();\n valueSideChannel.set(sentinel, sideChannel);\n pushToArray(values, stringify(\n value,\n keyPrefix,\n generateArrayPrefix,\n commaRoundTrip,\n strictNullHandling,\n skipNulls,\n generateArrayPrefix === 'comma' && encodeValuesOnly && isArray(obj) ? null : encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n valueSideChannel\n ));\n }\n\n return values;\n};\n\nvar normalizeStringifyOptions = function normalizeStringifyOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (opts.encoder !== null && typeof opts.encoder !== 'undefined' && typeof opts.encoder !== 'function') {\n throw new TypeError('Encoder has to be a function.');\n }\n\n var charset = opts.charset || defaults.charset;\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n\n var format = formats['default'];\n if (typeof opts.format !== 'undefined') {\n if (!has.call(formats.formatters, opts.format)) {\n throw new TypeError('Unknown format option provided.');\n }\n format = opts.format;\n }\n var formatter = formats.formatters[format];\n\n var filter = defaults.filter;\n if (typeof opts.filter === 'function' || isArray(opts.filter)) {\n filter = opts.filter;\n }\n\n return {\n addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix,\n allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,\n encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,\n encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,\n encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,\n filter: filter,\n format: format,\n formatter: formatter,\n serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,\n skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,\n sort: typeof opts.sort === 'function' ? opts.sort : null,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (object, opts) {\n var obj = object;\n var options = normalizeStringifyOptions(opts);\n\n var objKeys;\n var filter;\n\n if (typeof options.filter === 'function') {\n filter = options.filter;\n obj = filter('', obj);\n } else if (isArray(options.filter)) {\n filter = options.filter;\n objKeys = filter;\n }\n\n var keys = [];\n\n if (typeof obj !== 'object' || obj === null) {\n return '';\n }\n\n var arrayFormat;\n if (opts && opts.arrayFormat in arrayPrefixGenerators) {\n arrayFormat = opts.arrayFormat;\n } else if (opts && 'indices' in opts) {\n arrayFormat = opts.indices ? 'indices' : 'repeat';\n } else {\n arrayFormat = 'indices';\n }\n\n var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];\n if (opts && 'commaRoundTrip' in opts && typeof opts.commaRoundTrip !== 'boolean') {\n throw new TypeError('`commaRoundTrip` must be a boolean, or absent');\n }\n var commaRoundTrip = generateArrayPrefix === 'comma' && opts && opts.commaRoundTrip;\n\n if (!objKeys) {\n objKeys = Object.keys(obj);\n }\n\n if (options.sort) {\n objKeys.sort(options.sort);\n }\n\n var sideChannel = getSideChannel();\n for (var i = 0; i < objKeys.length; ++i) {\n var key = objKeys[i];\n\n if (options.skipNulls && obj[key] === null) {\n continue;\n }\n pushToArray(keys, stringify(\n obj[key],\n key,\n generateArrayPrefix,\n commaRoundTrip,\n options.strictNullHandling,\n options.skipNulls,\n options.encode ? options.encoder : null,\n options.filter,\n options.sort,\n options.allowDots,\n options.serializeDate,\n options.format,\n options.formatter,\n options.encodeValuesOnly,\n options.charset,\n sideChannel\n ));\n }\n\n var joined = keys.join(options.delimiter);\n var prefix = options.addQueryPrefix === true ? '?' : '';\n\n if (options.charsetSentinel) {\n if (options.charset === 'iso-8859-1') {\n // encodeURIComponent('✓'), the \"numeric entity\" representation of a checkmark\n prefix += 'utf8=%26%2310003%3B&';\n } else {\n // encodeURIComponent('✓')\n prefix += 'utf8=%E2%9C%93&';\n }\n }\n\n return joined.length > 0 ? prefix + joined : '';\n};\n","'use strict';\n\nvar utils = require('./utils');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar defaults = {\n allowDots: false,\n allowPrototypes: false,\n allowSparse: false,\n arrayLimit: 20,\n charset: 'utf-8',\n charsetSentinel: false,\n comma: false,\n decoder: utils.decode,\n delimiter: '&',\n depth: 5,\n ignoreQueryPrefix: false,\n interpretNumericEntities: false,\n parameterLimit: 1000,\n parseArrays: true,\n plainObjects: false,\n strictNullHandling: false\n};\n\nvar interpretNumericEntities = function (str) {\n return str.replace(/&#(\\d+);/g, function ($0, numberStr) {\n return String.fromCharCode(parseInt(numberStr, 10));\n });\n};\n\nvar parseArrayValue = function (val, options) {\n if (val && typeof val === 'string' && options.comma && val.indexOf(',') > -1) {\n return val.split(',');\n }\n\n return val;\n};\n\n// This is what browsers will submit when the ✓ character occurs in an\n// application/x-www-form-urlencoded body and the encoding of the page containing\n// the form is iso-8859-1, or when the submitted form has an accept-charset\n// attribute of iso-8859-1. Presumably also with other charsets that do not contain\n// the ✓ character, such as us-ascii.\nvar isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('✓')\n\n// These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded.\nvar charsetSentinel = 'utf8=%E2%9C%93'; // encodeURIComponent('✓')\n\nvar parseValues = function parseQueryStringValues(str, options) {\n var obj = {};\n var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\\?/, '') : str;\n var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;\n var parts = cleanStr.split(options.delimiter, limit);\n var skipIndex = -1; // Keep track of where the utf8 sentinel was found\n var i;\n\n var charset = options.charset;\n if (options.charsetSentinel) {\n for (i = 0; i < parts.length; ++i) {\n if (parts[i].indexOf('utf8=') === 0) {\n if (parts[i] === charsetSentinel) {\n charset = 'utf-8';\n } else if (parts[i] === isoSentinel) {\n charset = 'iso-8859-1';\n }\n skipIndex = i;\n i = parts.length; // The eslint settings do not allow break;\n }\n }\n }\n\n for (i = 0; i < parts.length; ++i) {\n if (i === skipIndex) {\n continue;\n }\n var part = parts[i];\n\n var bracketEqualsPos = part.indexOf(']=');\n var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;\n\n var key, val;\n if (pos === -1) {\n key = options.decoder(part, defaults.decoder, charset, 'key');\n val = options.strictNullHandling ? null : '';\n } else {\n key = options.decoder(part.slice(0, pos), defaults.decoder, charset, 'key');\n val = utils.maybeMap(\n parseArrayValue(part.slice(pos + 1), options),\n function (encodedVal) {\n return options.decoder(encodedVal, defaults.decoder, charset, 'value');\n }\n );\n }\n\n if (val && options.interpretNumericEntities && charset === 'iso-8859-1') {\n val = interpretNumericEntities(val);\n }\n\n if (part.indexOf('[]=') > -1) {\n val = isArray(val) ? [val] : val;\n }\n\n if (has.call(obj, key)) {\n obj[key] = utils.combine(obj[key], val);\n } else {\n obj[key] = val;\n }\n }\n\n return obj;\n};\n\nvar parseObject = function (chain, val, options, valuesParsed) {\n var leaf = valuesParsed ? val : parseArrayValue(val, options);\n\n for (var i = chain.length - 1; i >= 0; --i) {\n var obj;\n var root = chain[i];\n\n if (root === '[]' && options.parseArrays) {\n obj = [].concat(leaf);\n } else {\n obj = options.plainObjects ? Object.create(null) : {};\n var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;\n var index = parseInt(cleanRoot, 10);\n if (!options.parseArrays && cleanRoot === '') {\n obj = { 0: leaf };\n } else if (\n !isNaN(index)\n && root !== cleanRoot\n && String(index) === cleanRoot\n && index >= 0\n && (options.parseArrays && index <= options.arrayLimit)\n ) {\n obj = [];\n obj[index] = leaf;\n } else if (cleanRoot !== '__proto__') {\n obj[cleanRoot] = leaf;\n }\n }\n\n leaf = obj;\n }\n\n return leaf;\n};\n\nvar parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) {\n if (!givenKey) {\n return;\n }\n\n // Transform dot notation to bracket notation\n var key = options.allowDots ? givenKey.replace(/\\.([^.[]+)/g, '[$1]') : givenKey;\n\n // The regex chunks\n\n var brackets = /(\\[[^[\\]]*])/;\n var child = /(\\[[^[\\]]*])/g;\n\n // Get the parent\n\n var segment = options.depth > 0 && brackets.exec(key);\n var parent = segment ? key.slice(0, segment.index) : key;\n\n // Stash the parent if it exists\n\n var keys = [];\n if (parent) {\n // If we aren't using plain objects, optionally prefix keys that would overwrite object prototype properties\n if (!options.plainObjects && has.call(Object.prototype, parent)) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n\n keys.push(parent);\n }\n\n // Loop through children appending to the array until we hit depth\n\n var i = 0;\n while (options.depth > 0 && (segment = child.exec(key)) !== null && i < options.depth) {\n i += 1;\n if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n keys.push(segment[1]);\n }\n\n // If there's a remainder, just add whatever is left\n\n if (segment) {\n keys.push('[' + key.slice(segment.index) + ']');\n }\n\n return parseObject(keys, val, options, valuesParsed);\n};\n\nvar normalizeParseOptions = function normalizeParseOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (opts.decoder !== null && opts.decoder !== undefined && typeof opts.decoder !== 'function') {\n throw new TypeError('Decoder has to be a function.');\n }\n\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset;\n\n return {\n allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,\n allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes,\n allowSparse: typeof opts.allowSparse === 'boolean' ? opts.allowSparse : defaults.allowSparse,\n arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma,\n decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder,\n delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,\n // eslint-disable-next-line no-implicit-coercion, no-extra-parens\n depth: (typeof opts.depth === 'number' || opts.depth === false) ? +opts.depth : defaults.depth,\n ignoreQueryPrefix: opts.ignoreQueryPrefix === true,\n interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities,\n parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit,\n parseArrays: opts.parseArrays !== false,\n plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (str, opts) {\n var options = normalizeParseOptions(opts);\n\n if (str === '' || str === null || typeof str === 'undefined') {\n return options.plainObjects ? Object.create(null) : {};\n }\n\n var tempObj = typeof str === 'string' ? parseValues(str, options) : str;\n var obj = options.plainObjects ? Object.create(null) : {};\n\n // Iterate over the keys and setup the new object\n\n var keys = Object.keys(tempObj);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n var newObj = parseKeys(key, tempObj[key], options, typeof str === 'string');\n obj = utils.merge(obj, newObj, options);\n }\n\n if (options.allowSparse === true) {\n return obj;\n }\n\n return utils.compact(obj);\n};\n","'use strict';\n\nvar stringify = require('./stringify');\nvar parse = require('./parse');\nvar formats = require('./formats');\n\nmodule.exports = {\n formats: formats,\n parse: parse,\n stringify: stringify\n};\n","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","// Cache implementation based on Erik Rasmussen's `lru-memoize`:\n// https://github.com/erikras/lru-memoize\nvar NOT_FOUND = 'NOT_FOUND';\n\nfunction createSingletonCache(equals) {\n var entry;\n return {\n get: function get(key) {\n if (entry && equals(entry.key, key)) {\n return entry.value;\n }\n\n return NOT_FOUND;\n },\n put: function put(key, value) {\n entry = {\n key: key,\n value: value\n };\n },\n getEntries: function getEntries() {\n return entry ? [entry] : [];\n },\n clear: function clear() {\n entry = undefined;\n }\n };\n}\n\nfunction createLruCache(maxSize, equals) {\n var entries = [];\n\n function get(key) {\n var cacheIndex = entries.findIndex(function (entry) {\n return equals(key, entry.key);\n }); // We found a cached entry\n\n if (cacheIndex > -1) {\n var entry = entries[cacheIndex]; // Cached entry not at top of cache, move it to the top\n\n if (cacheIndex > 0) {\n entries.splice(cacheIndex, 1);\n entries.unshift(entry);\n }\n\n return entry.value;\n } // No entry found in cache, return sentinel\n\n\n return NOT_FOUND;\n }\n\n function put(key, value) {\n if (get(key) === NOT_FOUND) {\n // TODO Is unshift slow?\n entries.unshift({\n key: key,\n value: value\n });\n\n if (entries.length > maxSize) {\n entries.pop();\n }\n }\n }\n\n function getEntries() {\n return entries;\n }\n\n function clear() {\n entries = [];\n }\n\n return {\n get: get,\n put: put,\n getEntries: getEntries,\n clear: clear\n };\n}\n\nexport var defaultEqualityCheck = function defaultEqualityCheck(a, b) {\n return a === b;\n};\nexport function createCacheKeyComparator(equalityCheck) {\n return function areArgumentsShallowlyEqual(prev, next) {\n if (prev === null || next === null || prev.length !== next.length) {\n return false;\n } // Do this in a for loop (and not a `forEach` or an `every`) so we can determine equality as fast as possible.\n\n\n var length = prev.length;\n\n for (var i = 0; i < length; i++) {\n if (!equalityCheck(prev[i], next[i])) {\n return false;\n }\n }\n\n return true;\n };\n}\n// defaultMemoize now supports a configurable cache size with LRU behavior,\n// and optional comparison of the result value with existing values\nexport function defaultMemoize(func, equalityCheckOrOptions) {\n var providedOptions = typeof equalityCheckOrOptions === 'object' ? equalityCheckOrOptions : {\n equalityCheck: equalityCheckOrOptions\n };\n var _providedOptions$equa = providedOptions.equalityCheck,\n equalityCheck = _providedOptions$equa === void 0 ? defaultEqualityCheck : _providedOptions$equa,\n _providedOptions$maxS = providedOptions.maxSize,\n maxSize = _providedOptions$maxS === void 0 ? 1 : _providedOptions$maxS,\n resultEqualityCheck = providedOptions.resultEqualityCheck;\n var comparator = createCacheKeyComparator(equalityCheck);\n var cache = maxSize === 1 ? createSingletonCache(comparator) : createLruCache(maxSize, comparator); // we reference arguments instead of spreading them for performance reasons\n\n function memoized() {\n var value = cache.get(arguments);\n\n if (value === NOT_FOUND) {\n // @ts-ignore\n value = func.apply(null, arguments);\n\n if (resultEqualityCheck) {\n var entries = cache.getEntries();\n var matchingEntry = entries.find(function (entry) {\n return resultEqualityCheck(entry.value, value);\n });\n\n if (matchingEntry) {\n value = matchingEntry.value;\n }\n }\n\n cache.put(arguments, value);\n }\n\n return value;\n }\n\n memoized.clearCache = function () {\n return cache.clear();\n };\n\n return memoized;\n}","import { defaultMemoize, defaultEqualityCheck } from './defaultMemoize';\nexport { defaultMemoize, defaultEqualityCheck };\n\nfunction getDependencies(funcs) {\n var dependencies = Array.isArray(funcs[0]) ? funcs[0] : funcs;\n\n if (!dependencies.every(function (dep) {\n return typeof dep === 'function';\n })) {\n var dependencyTypes = dependencies.map(function (dep) {\n return typeof dep === 'function' ? \"function \" + (dep.name || 'unnamed') + \"()\" : typeof dep;\n }).join(', ');\n throw new Error(\"createSelector expects all input-selectors to be functions, but received the following types: [\" + dependencyTypes + \"]\");\n }\n\n return dependencies;\n}\n\nexport function createSelectorCreator(memoize) {\n for (var _len = arguments.length, memoizeOptionsFromArgs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n memoizeOptionsFromArgs[_key - 1] = arguments[_key];\n }\n\n var createSelector = function createSelector() {\n for (var _len2 = arguments.length, funcs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n funcs[_key2] = arguments[_key2];\n }\n\n var _recomputations = 0;\n\n var _lastResult; // Due to the intricacies of rest params, we can't do an optional arg after `...funcs`.\n // So, start by declaring the default value here.\n // (And yes, the words 'memoize' and 'options' appear too many times in this next sequence.)\n\n\n var directlyPassedOptions = {\n memoizeOptions: undefined\n }; // Normally, the result func or \"output selector\" is the last arg\n\n var resultFunc = funcs.pop(); // If the result func is actually an _object_, assume it's our options object\n\n if (typeof resultFunc === 'object') {\n directlyPassedOptions = resultFunc; // and pop the real result func off\n\n resultFunc = funcs.pop();\n }\n\n if (typeof resultFunc !== 'function') {\n throw new Error(\"createSelector expects an output function after the inputs, but received: [\" + typeof resultFunc + \"]\");\n } // Determine which set of options we're using. Prefer options passed directly,\n // but fall back to options given to createSelectorCreator.\n\n\n var _directlyPassedOption = directlyPassedOptions,\n _directlyPassedOption2 = _directlyPassedOption.memoizeOptions,\n memoizeOptions = _directlyPassedOption2 === void 0 ? memoizeOptionsFromArgs : _directlyPassedOption2; // Simplifying assumption: it's unlikely that the first options arg of the provided memoizer\n // is an array. In most libs I've looked at, it's an equality function or options object.\n // Based on that, if `memoizeOptions` _is_ an array, we assume it's a full\n // user-provided array of options. Otherwise, it must be just the _first_ arg, and so\n // we wrap it in an array so we can apply it.\n\n var finalMemoizeOptions = Array.isArray(memoizeOptions) ? memoizeOptions : [memoizeOptions];\n var dependencies = getDependencies(funcs);\n var memoizedResultFunc = memoize.apply(void 0, [function recomputationWrapper() {\n _recomputations++; // apply arguments instead of spreading for performance.\n\n return resultFunc.apply(null, arguments);\n }].concat(finalMemoizeOptions)); // If a selector is called with the exact same arguments we don't need to traverse our dependencies again.\n\n var selector = memoize(function dependenciesChecker() {\n var params = [];\n var length = dependencies.length;\n\n for (var i = 0; i < length; i++) {\n // apply arguments instead of spreading and mutate a local list of params for performance.\n // @ts-ignore\n params.push(dependencies[i].apply(null, arguments));\n } // apply arguments instead of spreading for performance.\n\n\n _lastResult = memoizedResultFunc.apply(null, params);\n return _lastResult;\n });\n Object.assign(selector, {\n resultFunc: resultFunc,\n memoizedResultFunc: memoizedResultFunc,\n dependencies: dependencies,\n lastResult: function lastResult() {\n return _lastResult;\n },\n recomputations: function recomputations() {\n return _recomputations;\n },\n resetRecomputations: function resetRecomputations() {\n return _recomputations = 0;\n }\n });\n return selector;\n }; // @ts-ignore\n\n\n return createSelector;\n}\nexport var createSelector = /* #__PURE__ */createSelectorCreator(defaultMemoize);\n// Manual definition of state and output arguments\nexport var createStructuredSelector = function createStructuredSelector(selectors, selectorCreator) {\n if (selectorCreator === void 0) {\n selectorCreator = createSelector;\n }\n\n if (typeof selectors !== 'object') {\n throw new Error('createStructuredSelector expects first argument to be an object ' + (\"where each property is a selector, instead received a \" + typeof selectors));\n }\n\n var objectKeys = Object.keys(selectors);\n var resultSelector = selectorCreator( // @ts-ignore\n objectKeys.map(function (key) {\n return selectors[key];\n }), function () {\n for (var _len3 = arguments.length, values = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n values[_key3] = arguments[_key3];\n }\n\n return values.reduce(function (composition, value, index) {\n composition[objectKeys[index]] = value;\n return composition;\n }, {});\n });\n return resultSelector;\n};","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __generator = (this && this.__generator) || function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n};\r\nvar __spreadArray = (this && this.__spreadArray) || function (to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n};\r\nvar __defProp = Object.defineProperty;\r\nvar __defProps = Object.defineProperties;\r\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\r\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\r\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\r\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\r\nvar __defNormalProp = function (obj, key, value) { return key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value: value }) : obj[key] = value; };\r\nvar __spreadValues = function (a, b) {\r\n for (var prop in b || (b = {}))\r\n if (__hasOwnProp.call(b, prop))\r\n __defNormalProp(a, prop, b[prop]);\r\n if (__getOwnPropSymbols)\r\n for (var _i = 0, _c = __getOwnPropSymbols(b); _i < _c.length; _i++) {\r\n var prop = _c[_i];\r\n if (__propIsEnum.call(b, prop))\r\n __defNormalProp(a, prop, b[prop]);\r\n }\r\n return a;\r\n};\r\nvar __spreadProps = function (a, b) { return __defProps(a, __getOwnPropDescs(b)); };\r\nvar __async = function (__this, __arguments, generator) {\r\n return new Promise(function (resolve, reject) {\r\n var fulfilled = function (value) {\r\n try {\r\n step(generator.next(value));\r\n }\r\n catch (e) {\r\n reject(e);\r\n }\r\n };\r\n var rejected = function (value) {\r\n try {\r\n step(generator.throw(value));\r\n }\r\n catch (e) {\r\n reject(e);\r\n }\r\n };\r\n var step = function (x) { return x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected); };\r\n step((generator = generator.apply(__this, __arguments)).next());\r\n });\r\n};\r\n// src/index.ts\r\nimport { enableES5 } from \"immer\";\r\nexport * from \"redux\";\r\nimport { default as default2, current as current2, freeze, original, isDraft as isDraft4 } from \"immer\";\r\nimport { createSelector as createSelector2 } from \"reselect\";\r\n// src/createDraftSafeSelector.ts\r\nimport { current, isDraft } from \"immer\";\r\nimport { createSelector } from \"reselect\";\r\nvar createDraftSafeSelector = function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n var selector = createSelector.apply(void 0, args);\r\n var wrappedSelector = function (value) {\r\n var rest = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n rest[_i - 1] = arguments[_i];\r\n }\r\n return selector.apply(void 0, __spreadArray([isDraft(value) ? current(value) : value], rest));\r\n };\r\n return wrappedSelector;\r\n};\r\n// src/configureStore.ts\r\nimport { createStore, compose as compose2, applyMiddleware, combineReducers } from \"redux\";\r\n// src/devtoolsExtension.ts\r\nimport { compose } from \"redux\";\r\nvar composeWithDevTools = typeof window !== \"undefined\" && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ : function () {\r\n if (arguments.length === 0)\r\n return void 0;\r\n if (typeof arguments[0] === \"object\")\r\n return compose;\r\n return compose.apply(null, arguments);\r\n};\r\nvar devToolsEnhancer = typeof window !== \"undefined\" && window.__REDUX_DEVTOOLS_EXTENSION__ ? window.__REDUX_DEVTOOLS_EXTENSION__ : function () {\r\n return function (noop2) {\r\n return noop2;\r\n };\r\n};\r\n// src/isPlainObject.ts\r\nfunction isPlainObject(value) {\r\n if (typeof value !== \"object\" || value === null)\r\n return false;\r\n var proto = Object.getPrototypeOf(value);\r\n if (proto === null)\r\n return true;\r\n var baseProto = proto;\r\n while (Object.getPrototypeOf(baseProto) !== null) {\r\n baseProto = Object.getPrototypeOf(baseProto);\r\n }\r\n return proto === baseProto;\r\n}\r\n// src/getDefaultMiddleware.ts\r\nimport thunkMiddleware from \"redux-thunk\";\r\n// src/tsHelpers.ts\r\nvar hasMatchFunction = function (v) {\r\n return v && typeof v.match === \"function\";\r\n};\r\n// src/createAction.ts\r\nfunction createAction(type, prepareAction) {\r\n function actionCreator() {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n if (prepareAction) {\r\n var prepared = prepareAction.apply(void 0, args);\r\n if (!prepared) {\r\n throw new Error(\"prepareAction did not return an object\");\r\n }\r\n return __spreadValues(__spreadValues({\r\n type: type,\r\n payload: prepared.payload\r\n }, \"meta\" in prepared && { meta: prepared.meta }), \"error\" in prepared && { error: prepared.error });\r\n }\r\n return { type: type, payload: args[0] };\r\n }\r\n actionCreator.toString = function () { return \"\" + type; };\r\n actionCreator.type = type;\r\n actionCreator.match = function (action) { return action.type === type; };\r\n return actionCreator;\r\n}\r\nfunction isAction(action) {\r\n return isPlainObject(action) && \"type\" in action;\r\n}\r\nfunction isActionCreator(action) {\r\n return typeof action === \"function\" && \"type\" in action && hasMatchFunction(action);\r\n}\r\nfunction isFSA(action) {\r\n return isAction(action) && typeof action.type === \"string\" && Object.keys(action).every(isValidKey);\r\n}\r\nfunction isValidKey(key) {\r\n return [\"type\", \"payload\", \"error\", \"meta\"].indexOf(key) > -1;\r\n}\r\nfunction getType(actionCreator) {\r\n return \"\" + actionCreator;\r\n}\r\n// src/actionCreatorInvariantMiddleware.ts\r\nfunction getMessage(type) {\r\n var splitType = type ? (\"\" + type).split(\"/\") : [];\r\n var actionName = splitType[splitType.length - 1] || \"actionCreator\";\r\n return \"Detected an action creator with type \\\"\" + (type || \"unknown\") + \"\\\" being dispatched. \\nMake sure you're calling the action creator before dispatching, i.e. `dispatch(\" + actionName + \"())` instead of `dispatch(\" + actionName + \")`. This is necessary even if the action has no payload.\";\r\n}\r\nfunction createActionCreatorInvariantMiddleware(options) {\r\n if (options === void 0) { options = {}; }\r\n if (process.env.NODE_ENV === \"production\") {\r\n return function () { return function (next) { return function (action) { return next(action); }; }; };\r\n }\r\n var _c = options.isActionCreator, isActionCreator2 = _c === void 0 ? isActionCreator : _c;\r\n return function () { return function (next) { return function (action) {\r\n if (isActionCreator2(action)) {\r\n console.warn(getMessage(action.type));\r\n }\r\n return next(action);\r\n }; }; };\r\n}\r\n// src/utils.ts\r\nimport createNextState, { isDraftable } from \"immer\";\r\nfunction getTimeMeasureUtils(maxDelay, fnName) {\r\n var elapsed = 0;\r\n return {\r\n measureTime: function (fn) {\r\n var started = Date.now();\r\n try {\r\n return fn();\r\n }\r\n finally {\r\n var finished = Date.now();\r\n elapsed += finished - started;\r\n }\r\n },\r\n warnIfExceeded: function () {\r\n if (elapsed > maxDelay) {\r\n console.warn(fnName + \" took \" + elapsed + \"ms, which is more than the warning threshold of \" + maxDelay + \"ms. \\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.\\nIt is disabled in production builds, so you don't need to worry about that.\");\r\n }\r\n }\r\n };\r\n}\r\nvar MiddlewareArray = /** @class */ (function (_super) {\r\n __extends(MiddlewareArray, _super);\r\n function MiddlewareArray() {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n var _this = _super.apply(this, args) || this;\r\n Object.setPrototypeOf(_this, MiddlewareArray.prototype);\r\n return _this;\r\n }\r\n Object.defineProperty(MiddlewareArray, Symbol.species, {\r\n get: function () {\r\n return MiddlewareArray;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n MiddlewareArray.prototype.concat = function () {\r\n var arr = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n arr[_i] = arguments[_i];\r\n }\r\n return _super.prototype.concat.apply(this, arr);\r\n };\r\n MiddlewareArray.prototype.prepend = function () {\r\n var arr = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n arr[_i] = arguments[_i];\r\n }\r\n if (arr.length === 1 && Array.isArray(arr[0])) {\r\n return new (MiddlewareArray.bind.apply(MiddlewareArray, __spreadArray([void 0], arr[0].concat(this))))();\r\n }\r\n return new (MiddlewareArray.bind.apply(MiddlewareArray, __spreadArray([void 0], arr.concat(this))))();\r\n };\r\n return MiddlewareArray;\r\n}(Array));\r\nvar EnhancerArray = /** @class */ (function (_super) {\r\n __extends(EnhancerArray, _super);\r\n function EnhancerArray() {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n var _this = _super.apply(this, args) || this;\r\n Object.setPrototypeOf(_this, EnhancerArray.prototype);\r\n return _this;\r\n }\r\n Object.defineProperty(EnhancerArray, Symbol.species, {\r\n get: function () {\r\n return EnhancerArray;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n EnhancerArray.prototype.concat = function () {\r\n var arr = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n arr[_i] = arguments[_i];\r\n }\r\n return _super.prototype.concat.apply(this, arr);\r\n };\r\n EnhancerArray.prototype.prepend = function () {\r\n var arr = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n arr[_i] = arguments[_i];\r\n }\r\n if (arr.length === 1 && Array.isArray(arr[0])) {\r\n return new (EnhancerArray.bind.apply(EnhancerArray, __spreadArray([void 0], arr[0].concat(this))))();\r\n }\r\n return new (EnhancerArray.bind.apply(EnhancerArray, __spreadArray([void 0], arr.concat(this))))();\r\n };\r\n return EnhancerArray;\r\n}(Array));\r\nfunction freezeDraftable(val) {\r\n return isDraftable(val) ? createNextState(val, function () {\r\n }) : val;\r\n}\r\n// src/immutableStateInvariantMiddleware.ts\r\nvar isProduction = process.env.NODE_ENV === \"production\";\r\nvar prefix = \"Invariant failed\";\r\nfunction invariant(condition, message) {\r\n if (condition) {\r\n return;\r\n }\r\n if (isProduction) {\r\n throw new Error(prefix);\r\n }\r\n throw new Error(prefix + \": \" + (message || \"\"));\r\n}\r\nfunction stringify(obj, serializer, indent, decycler) {\r\n return JSON.stringify(obj, getSerialize(serializer, decycler), indent);\r\n}\r\nfunction getSerialize(serializer, decycler) {\r\n var stack = [], keys = [];\r\n if (!decycler)\r\n decycler = function (_, value) {\r\n if (stack[0] === value)\r\n return \"[Circular ~]\";\r\n return \"[Circular ~.\" + keys.slice(0, stack.indexOf(value)).join(\".\") + \"]\";\r\n };\r\n return function (key, value) {\r\n if (stack.length > 0) {\r\n var thisPos = stack.indexOf(this);\r\n ~thisPos ? stack.splice(thisPos + 1) : stack.push(this);\r\n ~thisPos ? keys.splice(thisPos, Infinity, key) : keys.push(key);\r\n if (~stack.indexOf(value))\r\n value = decycler.call(this, key, value);\r\n }\r\n else\r\n stack.push(value);\r\n return serializer == null ? value : serializer.call(this, key, value);\r\n };\r\n}\r\nfunction isImmutableDefault(value) {\r\n return typeof value !== \"object\" || value == null || Object.isFrozen(value);\r\n}\r\nfunction trackForMutations(isImmutable, ignorePaths, obj) {\r\n var trackedProperties = trackProperties(isImmutable, ignorePaths, obj);\r\n return {\r\n detectMutations: function () {\r\n return detectMutations(isImmutable, ignorePaths, trackedProperties, obj);\r\n }\r\n };\r\n}\r\nfunction trackProperties(isImmutable, ignorePaths, obj, path, checkedObjects) {\r\n if (ignorePaths === void 0) { ignorePaths = []; }\r\n if (path === void 0) { path = \"\"; }\r\n if (checkedObjects === void 0) { checkedObjects = new Set(); }\r\n var tracked = { value: obj };\r\n if (!isImmutable(obj) && !checkedObjects.has(obj)) {\r\n checkedObjects.add(obj);\r\n tracked.children = {};\r\n for (var key in obj) {\r\n var childPath = path ? path + \".\" + key : key;\r\n if (ignorePaths.length && ignorePaths.indexOf(childPath) !== -1) {\r\n continue;\r\n }\r\n tracked.children[key] = trackProperties(isImmutable, ignorePaths, obj[key], childPath);\r\n }\r\n }\r\n return tracked;\r\n}\r\nfunction detectMutations(isImmutable, ignoredPaths, trackedProperty, obj, sameParentRef, path) {\r\n if (ignoredPaths === void 0) { ignoredPaths = []; }\r\n if (sameParentRef === void 0) { sameParentRef = false; }\r\n if (path === void 0) { path = \"\"; }\r\n var prevObj = trackedProperty ? trackedProperty.value : void 0;\r\n var sameRef = prevObj === obj;\r\n if (sameParentRef && !sameRef && !Number.isNaN(obj)) {\r\n return { wasMutated: true, path: path };\r\n }\r\n if (isImmutable(prevObj) || isImmutable(obj)) {\r\n return { wasMutated: false };\r\n }\r\n var keysToDetect = {};\r\n for (var key in trackedProperty.children) {\r\n keysToDetect[key] = true;\r\n }\r\n for (var key in obj) {\r\n keysToDetect[key] = true;\r\n }\r\n var hasIgnoredPaths = ignoredPaths.length > 0;\r\n var _loop_1 = function (key) {\r\n var nestedPath = path ? path + \".\" + key : key;\r\n if (hasIgnoredPaths) {\r\n var hasMatches = ignoredPaths.some(function (ignored) {\r\n if (ignored instanceof RegExp) {\r\n return ignored.test(nestedPath);\r\n }\r\n return nestedPath === ignored;\r\n });\r\n if (hasMatches) {\r\n return \"continue\";\r\n }\r\n }\r\n var result = detectMutations(isImmutable, ignoredPaths, trackedProperty.children[key], obj[key], sameRef, nestedPath);\r\n if (result.wasMutated) {\r\n return { value: result };\r\n }\r\n };\r\n for (var key in keysToDetect) {\r\n var state_1 = _loop_1(key);\r\n if (typeof state_1 === \"object\")\r\n return state_1.value;\r\n }\r\n return { wasMutated: false };\r\n}\r\nfunction createImmutableStateInvariantMiddleware(options) {\r\n if (options === void 0) { options = {}; }\r\n if (process.env.NODE_ENV === \"production\") {\r\n return function () { return function (next) { return function (action) { return next(action); }; }; };\r\n }\r\n var _c = options.isImmutable, isImmutable = _c === void 0 ? isImmutableDefault : _c, ignoredPaths = options.ignoredPaths, _d = options.warnAfter, warnAfter = _d === void 0 ? 32 : _d, ignore = options.ignore;\r\n ignoredPaths = ignoredPaths || ignore;\r\n var track = trackForMutations.bind(null, isImmutable, ignoredPaths);\r\n return function (_c) {\r\n var getState = _c.getState;\r\n var state = getState();\r\n var tracker = track(state);\r\n var result;\r\n return function (next) { return function (action) {\r\n var measureUtils = getTimeMeasureUtils(warnAfter, \"ImmutableStateInvariantMiddleware\");\r\n measureUtils.measureTime(function () {\r\n state = getState();\r\n result = tracker.detectMutations();\r\n tracker = track(state);\r\n invariant(!result.wasMutated, \"A state mutation was detected between dispatches, in the path '\" + (result.path || \"\") + \"'. This may cause incorrect behavior. (https://redux.js.org/style-guide/style-guide#do-not-mutate-state)\");\r\n });\r\n var dispatchedAction = next(action);\r\n measureUtils.measureTime(function () {\r\n state = getState();\r\n result = tracker.detectMutations();\r\n tracker = track(state);\r\n result.wasMutated && invariant(!result.wasMutated, \"A state mutation was detected inside a dispatch, in the path: \" + (result.path || \"\") + \". Take a look at the reducer(s) handling the action \" + stringify(action) + \". (https://redux.js.org/style-guide/style-guide#do-not-mutate-state)\");\r\n });\r\n measureUtils.warnIfExceeded();\r\n return dispatchedAction;\r\n }; };\r\n };\r\n}\r\n// src/serializableStateInvariantMiddleware.ts\r\nfunction isPlain(val) {\r\n var type = typeof val;\r\n return val == null || type === \"string\" || type === \"boolean\" || type === \"number\" || Array.isArray(val) || isPlainObject(val);\r\n}\r\nfunction findNonSerializableValue(value, path, isSerializable, getEntries, ignoredPaths, cache) {\r\n if (path === void 0) { path = \"\"; }\r\n if (isSerializable === void 0) { isSerializable = isPlain; }\r\n if (ignoredPaths === void 0) { ignoredPaths = []; }\r\n var foundNestedSerializable;\r\n if (!isSerializable(value)) {\r\n return {\r\n keyPath: path || \"<root>\",\r\n value: value\r\n };\r\n }\r\n if (typeof value !== \"object\" || value === null) {\r\n return false;\r\n }\r\n if (cache == null ? void 0 : cache.has(value))\r\n return false;\r\n var entries = getEntries != null ? getEntries(value) : Object.entries(value);\r\n var hasIgnoredPaths = ignoredPaths.length > 0;\r\n var _loop_2 = function (key, nestedValue) {\r\n var nestedPath = path ? path + \".\" + key : key;\r\n if (hasIgnoredPaths) {\r\n var hasMatches = ignoredPaths.some(function (ignored) {\r\n if (ignored instanceof RegExp) {\r\n return ignored.test(nestedPath);\r\n }\r\n return nestedPath === ignored;\r\n });\r\n if (hasMatches) {\r\n return \"continue\";\r\n }\r\n }\r\n if (!isSerializable(nestedValue)) {\r\n return { value: {\r\n keyPath: nestedPath,\r\n value: nestedValue\r\n } };\r\n }\r\n if (typeof nestedValue === \"object\") {\r\n foundNestedSerializable = findNonSerializableValue(nestedValue, nestedPath, isSerializable, getEntries, ignoredPaths, cache);\r\n if (foundNestedSerializable) {\r\n return { value: foundNestedSerializable };\r\n }\r\n }\r\n };\r\n for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {\r\n var _c = entries_1[_i], key = _c[0], nestedValue = _c[1];\r\n var state_2 = _loop_2(key, nestedValue);\r\n if (typeof state_2 === \"object\")\r\n return state_2.value;\r\n }\r\n if (cache && isNestedFrozen(value))\r\n cache.add(value);\r\n return false;\r\n}\r\nfunction isNestedFrozen(value) {\r\n if (!Object.isFrozen(value))\r\n return false;\r\n for (var _i = 0, _c = Object.values(value); _i < _c.length; _i++) {\r\n var nestedValue = _c[_i];\r\n if (typeof nestedValue !== \"object\" || nestedValue === null)\r\n continue;\r\n if (!isNestedFrozen(nestedValue))\r\n return false;\r\n }\r\n return true;\r\n}\r\nfunction createSerializableStateInvariantMiddleware(options) {\r\n if (options === void 0) { options = {}; }\r\n if (process.env.NODE_ENV === \"production\") {\r\n return function () { return function (next) { return function (action) { return next(action); }; }; };\r\n }\r\n var _c = options.isSerializable, isSerializable = _c === void 0 ? isPlain : _c, getEntries = options.getEntries, _d = options.ignoredActions, ignoredActions = _d === void 0 ? [] : _d, _e = options.ignoredActionPaths, ignoredActionPaths = _e === void 0 ? [\"meta.arg\", \"meta.baseQueryMeta\"] : _e, _f = options.ignoredPaths, ignoredPaths = _f === void 0 ? [] : _f, _g = options.warnAfter, warnAfter = _g === void 0 ? 32 : _g, _h = options.ignoreState, ignoreState = _h === void 0 ? false : _h, _j = options.ignoreActions, ignoreActions = _j === void 0 ? false : _j, _k = options.disableCache, disableCache = _k === void 0 ? false : _k;\r\n var cache = !disableCache && WeakSet ? new WeakSet() : void 0;\r\n return function (storeAPI) { return function (next) { return function (action) {\r\n var result = next(action);\r\n var measureUtils = getTimeMeasureUtils(warnAfter, \"SerializableStateInvariantMiddleware\");\r\n if (!ignoreActions && !(ignoredActions.length && ignoredActions.indexOf(action.type) !== -1)) {\r\n measureUtils.measureTime(function () {\r\n var foundActionNonSerializableValue = findNonSerializableValue(action, \"\", isSerializable, getEntries, ignoredActionPaths, cache);\r\n if (foundActionNonSerializableValue) {\r\n var keyPath = foundActionNonSerializableValue.keyPath, value = foundActionNonSerializableValue.value;\r\n console.error(\"A non-serializable value was detected in an action, in the path: `\" + keyPath + \"`. Value:\", value, \"\\nTake a look at the logic that dispatched this action: \", action, \"\\n(See https://redux.js.org/faq/actions#why-should-type-be-a-string-or-at-least-serializable-why-should-my-action-types-be-constants)\", \"\\n(To allow non-serializable values see: https://redux-toolkit.js.org/usage/usage-guide#working-with-non-serializable-data)\");\r\n }\r\n });\r\n }\r\n if (!ignoreState) {\r\n measureUtils.measureTime(function () {\r\n var state = storeAPI.getState();\r\n var foundStateNonSerializableValue = findNonSerializableValue(state, \"\", isSerializable, getEntries, ignoredPaths, cache);\r\n if (foundStateNonSerializableValue) {\r\n var keyPath = foundStateNonSerializableValue.keyPath, value = foundStateNonSerializableValue.value;\r\n console.error(\"A non-serializable value was detected in the state, in the path: `\" + keyPath + \"`. Value:\", value, \"\\nTake a look at the reducer(s) handling this action type: \" + action.type + \".\\n(See https://redux.js.org/faq/organizing-state#can-i-put-functions-promises-or-other-non-serializable-items-in-my-store-state)\");\r\n }\r\n });\r\n measureUtils.warnIfExceeded();\r\n }\r\n return result;\r\n }; }; };\r\n}\r\n// src/getDefaultMiddleware.ts\r\nfunction isBoolean(x) {\r\n return typeof x === \"boolean\";\r\n}\r\nfunction curryGetDefaultMiddleware() {\r\n return function curriedGetDefaultMiddleware(options) {\r\n return getDefaultMiddleware(options);\r\n };\r\n}\r\nfunction getDefaultMiddleware(options) {\r\n if (options === void 0) { options = {}; }\r\n var _c = options.thunk, thunk = _c === void 0 ? true : _c, _d = options.immutableCheck, immutableCheck = _d === void 0 ? true : _d, _e = options.serializableCheck, serializableCheck = _e === void 0 ? true : _e, _f = options.actionCreatorCheck, actionCreatorCheck = _f === void 0 ? true : _f;\r\n var middlewareArray = new MiddlewareArray();\r\n if (thunk) {\r\n if (isBoolean(thunk)) {\r\n middlewareArray.push(thunkMiddleware);\r\n }\r\n else {\r\n middlewareArray.push(thunkMiddleware.withExtraArgument(thunk.extraArgument));\r\n }\r\n }\r\n if (process.env.NODE_ENV !== \"production\") {\r\n if (immutableCheck) {\r\n var immutableOptions = {};\r\n if (!isBoolean(immutableCheck)) {\r\n immutableOptions = immutableCheck;\r\n }\r\n middlewareArray.unshift(createImmutableStateInvariantMiddleware(immutableOptions));\r\n }\r\n if (serializableCheck) {\r\n var serializableOptions = {};\r\n if (!isBoolean(serializableCheck)) {\r\n serializableOptions = serializableCheck;\r\n }\r\n middlewareArray.push(createSerializableStateInvariantMiddleware(serializableOptions));\r\n }\r\n if (actionCreatorCheck) {\r\n var actionCreatorOptions = {};\r\n if (!isBoolean(actionCreatorCheck)) {\r\n actionCreatorOptions = actionCreatorCheck;\r\n }\r\n middlewareArray.unshift(createActionCreatorInvariantMiddleware(actionCreatorOptions));\r\n }\r\n }\r\n return middlewareArray;\r\n}\r\n// src/configureStore.ts\r\nvar IS_PRODUCTION = process.env.NODE_ENV === \"production\";\r\nfunction configureStore(options) {\r\n var curriedGetDefaultMiddleware = curryGetDefaultMiddleware();\r\n var _c = options || {}, _d = _c.reducer, reducer = _d === void 0 ? void 0 : _d, _e = _c.middleware, middleware = _e === void 0 ? curriedGetDefaultMiddleware() : _e, _f = _c.devTools, devTools = _f === void 0 ? true : _f, _g = _c.preloadedState, preloadedState = _g === void 0 ? void 0 : _g, _h = _c.enhancers, enhancers = _h === void 0 ? void 0 : _h;\r\n var rootReducer;\r\n if (typeof reducer === \"function\") {\r\n rootReducer = reducer;\r\n }\r\n else if (isPlainObject(reducer)) {\r\n rootReducer = combineReducers(reducer);\r\n }\r\n else {\r\n throw new Error('\"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 var finalMiddleware = middleware;\r\n if (typeof finalMiddleware === \"function\") {\r\n finalMiddleware = finalMiddleware(curriedGetDefaultMiddleware);\r\n if (!IS_PRODUCTION && !Array.isArray(finalMiddleware)) {\r\n throw new Error(\"when using a middleware builder function, an array of middleware must be returned\");\r\n }\r\n }\r\n if (!IS_PRODUCTION && finalMiddleware.some(function (item) { return typeof item !== \"function\"; })) {\r\n throw new Error(\"each middleware provided to configureStore must be a function\");\r\n }\r\n var middlewareEnhancer = applyMiddleware.apply(void 0, finalMiddleware);\r\n var finalCompose = compose2;\r\n if (devTools) {\r\n finalCompose = composeWithDevTools(__spreadValues({\r\n trace: !IS_PRODUCTION\r\n }, typeof devTools === \"object\" && devTools));\r\n }\r\n var defaultEnhancers = new EnhancerArray(middlewareEnhancer);\r\n var storeEnhancers = defaultEnhancers;\r\n if (Array.isArray(enhancers)) {\r\n storeEnhancers = __spreadArray([middlewareEnhancer], enhancers);\r\n }\r\n else if (typeof enhancers === \"function\") {\r\n storeEnhancers = enhancers(defaultEnhancers);\r\n }\r\n var composedEnhancer = finalCompose.apply(void 0, storeEnhancers);\r\n return createStore(rootReducer, preloadedState, composedEnhancer);\r\n}\r\n// src/createReducer.ts\r\nimport createNextState2, { isDraft as isDraft2, isDraftable as isDraftable2 } from \"immer\";\r\n// src/mapBuilders.ts\r\nfunction executeReducerBuilderCallback(builderCallback) {\r\n var actionsMap = {};\r\n var actionMatchers = [];\r\n var defaultCaseReducer;\r\n var builder = {\r\n addCase: function (typeOrActionCreator, reducer) {\r\n if (process.env.NODE_ENV !== \"production\") {\r\n if (actionMatchers.length > 0) {\r\n throw new Error(\"`builder.addCase` should only be called before calling `builder.addMatcher`\");\r\n }\r\n if (defaultCaseReducer) {\r\n throw new Error(\"`builder.addCase` should only be called before calling `builder.addDefaultCase`\");\r\n }\r\n }\r\n var type = typeof typeOrActionCreator === \"string\" ? typeOrActionCreator : typeOrActionCreator.type;\r\n if (!type) {\r\n throw new Error(\"`builder.addCase` cannot be called with an empty action type\");\r\n }\r\n if (type in actionsMap) {\r\n throw new Error(\"`builder.addCase` cannot be called with two reducers for the same action type\");\r\n }\r\n actionsMap[type] = reducer;\r\n return builder;\r\n },\r\n addMatcher: function (matcher, reducer) {\r\n if (process.env.NODE_ENV !== \"production\") {\r\n if (defaultCaseReducer) {\r\n throw new Error(\"`builder.addMatcher` should only be called before calling `builder.addDefaultCase`\");\r\n }\r\n }\r\n actionMatchers.push({ matcher: matcher, reducer: reducer });\r\n return builder;\r\n },\r\n addDefaultCase: function (reducer) {\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// src/createReducer.ts\r\nfunction isStateFunction(x) {\r\n return typeof x === \"function\";\r\n}\r\nvar hasWarnedAboutObjectNotation = false;\r\nfunction createReducer(initialState, mapOrBuilderCallback, actionMatchers, defaultCaseReducer) {\r\n if (actionMatchers === void 0) { actionMatchers = []; }\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(\"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 var _c = typeof mapOrBuilderCallback === \"function\" ? executeReducerBuilderCallback(mapOrBuilderCallback) : [mapOrBuilderCallback, actionMatchers, defaultCaseReducer], actionsMap = _c[0], finalActionMatchers = _c[1], finalDefaultCaseReducer = _c[2];\r\n var getInitialState;\r\n if (isStateFunction(initialState)) {\r\n getInitialState = function () { return freezeDraftable(initialState()); };\r\n }\r\n else {\r\n var frozenInitialState_1 = freezeDraftable(initialState);\r\n getInitialState = function () { return frozenInitialState_1; };\r\n }\r\n function reducer(state, action) {\r\n if (state === void 0) { state = getInitialState(); }\r\n var caseReducers = __spreadArray([\r\n actionsMap[action.type]\r\n ], finalActionMatchers.filter(function (_c) {\r\n var matcher = _c.matcher;\r\n return matcher(action);\r\n }).map(function (_c) {\r\n var reducer2 = _c.reducer;\r\n return reducer2;\r\n }));\r\n if (caseReducers.filter(function (cr) { return !!cr; }).length === 0) {\r\n caseReducers = [finalDefaultCaseReducer];\r\n }\r\n return caseReducers.reduce(function (previousState, caseReducer) {\r\n if (caseReducer) {\r\n if (isDraft2(previousState)) {\r\n var draft = previousState;\r\n var result = caseReducer(draft, action);\r\n if (result === void 0) {\r\n return previousState;\r\n }\r\n return result;\r\n }\r\n else if (!isDraftable2(previousState)) {\r\n var result = caseReducer(previousState, action);\r\n if (result === void 0) {\r\n if (previousState === null) {\r\n return previousState;\r\n }\r\n throw Error(\"A case reducer on a non-draftable value must not return undefined\");\r\n }\r\n return result;\r\n }\r\n else {\r\n return createNextState2(previousState, function (draft) {\r\n return caseReducer(draft, action);\r\n });\r\n }\r\n }\r\n return previousState;\r\n }, state);\r\n }\r\n reducer.getInitialState = getInitialState;\r\n return reducer;\r\n}\r\n// src/createSlice.ts\r\nvar hasWarnedAboutObjectNotation2 = false;\r\nfunction getType2(slice, actionKey) {\r\n return slice + \"/\" + actionKey;\r\n}\r\nfunction createSlice(options) {\r\n var name = options.name;\r\n if (!name) {\r\n throw new Error(\"`name` is a required option for createSlice\");\r\n }\r\n if (typeof process !== \"undefined\" && process.env.NODE_ENV === \"development\") {\r\n if (options.initialState === void 0) {\r\n console.error(\"You must provide an `initialState` value that is not `undefined`. You may have misspelled `initialState`\");\r\n }\r\n }\r\n var initialState = typeof options.initialState == \"function\" ? options.initialState : freezeDraftable(options.initialState);\r\n var reducers = options.reducers || {};\r\n var reducerNames = Object.keys(reducers);\r\n var sliceCaseReducersByName = {};\r\n var sliceCaseReducersByType = {};\r\n var actionCreators = {};\r\n reducerNames.forEach(function (reducerName) {\r\n var maybeReducerWithPrepare = reducers[reducerName];\r\n var type = getType2(name, reducerName);\r\n var caseReducer;\r\n var prepareCallback;\r\n if (\"reducer\" in maybeReducerWithPrepare) {\r\n caseReducer = maybeReducerWithPrepare.reducer;\r\n prepareCallback = maybeReducerWithPrepare.prepare;\r\n }\r\n else {\r\n caseReducer = maybeReducerWithPrepare;\r\n }\r\n sliceCaseReducersByName[reducerName] = caseReducer;\r\n sliceCaseReducersByType[type] = caseReducer;\r\n actionCreators[reducerName] = prepareCallback ? createAction(type, prepareCallback) : createAction(type);\r\n });\r\n function buildReducer() {\r\n if (process.env.NODE_ENV !== \"production\") {\r\n if (typeof options.extraReducers === \"object\") {\r\n if (!hasWarnedAboutObjectNotation2) {\r\n hasWarnedAboutObjectNotation2 = true;\r\n console.warn(\"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 var _c = typeof options.extraReducers === \"function\" ? executeReducerBuilderCallback(options.extraReducers) : [options.extraReducers], _d = _c[0], extraReducers = _d === void 0 ? {} : _d, _e = _c[1], actionMatchers = _e === void 0 ? [] : _e, _f = _c[2], defaultCaseReducer = _f === void 0 ? void 0 : _f;\r\n var finalCaseReducers = __spreadValues(__spreadValues({}, extraReducers), sliceCaseReducersByType);\r\n return createReducer(initialState, function (builder) {\r\n for (var key in finalCaseReducers) {\r\n builder.addCase(key, finalCaseReducers[key]);\r\n }\r\n for (var _i = 0, actionMatchers_1 = actionMatchers; _i < actionMatchers_1.length; _i++) {\r\n var m = actionMatchers_1[_i];\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 var _reducer;\r\n return {\r\n name: name,\r\n reducer: function (state, action) {\r\n if (!_reducer)\r\n _reducer = buildReducer();\r\n return _reducer(state, action);\r\n },\r\n actions: actionCreators,\r\n caseReducers: sliceCaseReducersByName,\r\n getInitialState: function () {\r\n if (!_reducer)\r\n _reducer = buildReducer();\r\n return _reducer.getInitialState();\r\n }\r\n };\r\n}\r\n// src/entities/entity_state.ts\r\nfunction getInitialEntityState() {\r\n return {\r\n ids: [],\r\n entities: {}\r\n };\r\n}\r\nfunction createInitialStateFactory() {\r\n function getInitialState(additionalState) {\r\n if (additionalState === void 0) { additionalState = {}; }\r\n return Object.assign(getInitialEntityState(), additionalState);\r\n }\r\n return { getInitialState: getInitialState };\r\n}\r\n// src/entities/state_selectors.ts\r\nfunction createSelectorsFactory() {\r\n function getSelectors(selectState) {\r\n var selectIds = function (state) { return state.ids; };\r\n var selectEntities = function (state) { return state.entities; };\r\n var selectAll = createDraftSafeSelector(selectIds, selectEntities, function (ids, entities) { return ids.map(function (id) { return entities[id]; }); });\r\n var selectId = function (_, id) { return id; };\r\n var selectById = function (entities, id) { return entities[id]; };\r\n var selectTotal = createDraftSafeSelector(selectIds, function (ids) { return ids.length; });\r\n if (!selectState) {\r\n return {\r\n selectIds: selectIds,\r\n selectEntities: selectEntities,\r\n selectAll: selectAll,\r\n selectTotal: selectTotal,\r\n selectById: createDraftSafeSelector(selectEntities, selectId, selectById)\r\n };\r\n }\r\n var selectGlobalizedEntities = createDraftSafeSelector(selectState, selectEntities);\r\n return {\r\n selectIds: createDraftSafeSelector(selectState, selectIds),\r\n selectEntities: selectGlobalizedEntities,\r\n selectAll: createDraftSafeSelector(selectState, selectAll),\r\n selectTotal: createDraftSafeSelector(selectState, selectTotal),\r\n selectById: createDraftSafeSelector(selectGlobalizedEntities, selectId, selectById)\r\n };\r\n }\r\n return { getSelectors: getSelectors };\r\n}\r\n// src/entities/state_adapter.ts\r\nimport createNextState3, { isDraft as isDraft3 } from \"immer\";\r\nfunction createSingleArgumentStateOperator(mutator) {\r\n var operator = createStateOperator(function (_, state) { return mutator(state); });\r\n return function operation(state) {\r\n return operator(state, void 0);\r\n };\r\n}\r\nfunction createStateOperator(mutator) {\r\n return function operation(state, arg) {\r\n function isPayloadActionArgument(arg2) {\r\n return isFSA(arg2);\r\n }\r\n var runMutator = function (draft) {\r\n if (isPayloadActionArgument(arg)) {\r\n mutator(arg.payload, draft);\r\n }\r\n else {\r\n mutator(arg, draft);\r\n }\r\n };\r\n if (isDraft3(state)) {\r\n runMutator(state);\r\n return state;\r\n }\r\n else {\r\n return createNextState3(state, runMutator);\r\n }\r\n };\r\n}\r\n// src/entities/utils.ts\r\nfunction selectIdValue(entity, selectId) {\r\n var key = selectId(entity);\r\n if (process.env.NODE_ENV !== \"production\" && key === void 0) {\r\n console.warn(\"The entity passed to the `selectId` implementation returned undefined.\", \"You should probably provide your own `selectId` implementation.\", \"The entity that was passed:\", entity, \"The `selectId` implementation:\", selectId.toString());\r\n }\r\n return key;\r\n}\r\nfunction ensureEntitiesArray(entities) {\r\n if (!Array.isArray(entities)) {\r\n entities = Object.values(entities);\r\n }\r\n return entities;\r\n}\r\nfunction splitAddedUpdatedEntities(newEntities, selectId, state) {\r\n newEntities = ensureEntitiesArray(newEntities);\r\n var added = [];\r\n var updated = [];\r\n for (var _i = 0, newEntities_1 = newEntities; _i < newEntities_1.length; _i++) {\r\n var entity = newEntities_1[_i];\r\n var id = selectIdValue(entity, selectId);\r\n if (id in state.entities) {\r\n updated.push({ id: id, changes: entity });\r\n }\r\n else {\r\n added.push(entity);\r\n }\r\n }\r\n return [added, updated];\r\n}\r\n// src/entities/unsorted_state_adapter.ts\r\nfunction createUnsortedStateAdapter(selectId) {\r\n function addOneMutably(entity, state) {\r\n var key = selectIdValue(entity, selectId);\r\n if (key in state.entities) {\r\n return;\r\n }\r\n state.ids.push(key);\r\n state.entities[key] = entity;\r\n }\r\n function addManyMutably(newEntities, state) {\r\n newEntities = ensureEntitiesArray(newEntities);\r\n for (var _i = 0, newEntities_2 = newEntities; _i < newEntities_2.length; _i++) {\r\n var entity = newEntities_2[_i];\r\n addOneMutably(entity, state);\r\n }\r\n }\r\n function setOneMutably(entity, state) {\r\n var key = selectIdValue(entity, selectId);\r\n if (!(key in state.entities)) {\r\n state.ids.push(key);\r\n }\r\n state.entities[key] = entity;\r\n }\r\n function setManyMutably(newEntities, state) {\r\n newEntities = ensureEntitiesArray(newEntities);\r\n for (var _i = 0, newEntities_3 = newEntities; _i < newEntities_3.length; _i++) {\r\n var entity = newEntities_3[_i];\r\n setOneMutably(entity, state);\r\n }\r\n }\r\n function setAllMutably(newEntities, state) {\r\n newEntities = ensureEntitiesArray(newEntities);\r\n state.ids = [];\r\n state.entities = {};\r\n addManyMutably(newEntities, state);\r\n }\r\n function removeOneMutably(key, state) {\r\n return removeManyMutably([key], state);\r\n }\r\n function removeManyMutably(keys, state) {\r\n var didMutate = false;\r\n keys.forEach(function (key) {\r\n if (key in state.entities) {\r\n delete state.entities[key];\r\n didMutate = true;\r\n }\r\n });\r\n if (didMutate) {\r\n state.ids = state.ids.filter(function (id) { return id in state.entities; });\r\n }\r\n }\r\n function removeAllMutably(state) {\r\n Object.assign(state, {\r\n ids: [],\r\n entities: {}\r\n });\r\n }\r\n function takeNewKey(keys, update, state) {\r\n var original2 = state.entities[update.id];\r\n var updated = Object.assign({}, original2, update.changes);\r\n var newKey = selectIdValue(updated, selectId);\r\n var hasNewKey = newKey !== update.id;\r\n if (hasNewKey) {\r\n keys[update.id] = newKey;\r\n delete state.entities[update.id];\r\n }\r\n state.entities[newKey] = updated;\r\n return hasNewKey;\r\n }\r\n function updateOneMutably(update, state) {\r\n return updateManyMutably([update], state);\r\n }\r\n function updateManyMutably(updates, state) {\r\n var newKeys = {};\r\n var updatesPerEntity = {};\r\n updates.forEach(function (update) {\r\n if (update.id in state.entities) {\r\n updatesPerEntity[update.id] = {\r\n id: update.id,\r\n changes: __spreadValues(__spreadValues({}, updatesPerEntity[update.id] ? updatesPerEntity[update.id].changes : null), update.changes)\r\n };\r\n }\r\n });\r\n updates = Object.values(updatesPerEntity);\r\n var didMutateEntities = updates.length > 0;\r\n if (didMutateEntities) {\r\n var didMutateIds = updates.filter(function (update) { return takeNewKey(newKeys, update, state); }).length > 0;\r\n if (didMutateIds) {\r\n state.ids = Object.keys(state.entities);\r\n }\r\n }\r\n }\r\n function upsertOneMutably(entity, state) {\r\n return upsertManyMutably([entity], state);\r\n }\r\n function upsertManyMutably(newEntities, state) {\r\n var _c = splitAddedUpdatedEntities(newEntities, selectId, state), added = _c[0], updated = _c[1];\r\n updateManyMutably(updated, state);\r\n addManyMutably(added, state);\r\n }\r\n return {\r\n removeAll: createSingleArgumentStateOperator(removeAllMutably),\r\n addOne: createStateOperator(addOneMutably),\r\n addMany: createStateOperator(addManyMutably),\r\n setOne: createStateOperator(setOneMutably),\r\n setMany: createStateOperator(setManyMutably),\r\n setAll: createStateOperator(setAllMutably),\r\n updateOne: createStateOperator(updateOneMutably),\r\n updateMany: createStateOperator(updateManyMutably),\r\n upsertOne: createStateOperator(upsertOneMutably),\r\n upsertMany: createStateOperator(upsertManyMutably),\r\n removeOne: createStateOperator(removeOneMutably),\r\n removeMany: createStateOperator(removeManyMutably)\r\n };\r\n}\r\n// src/entities/sorted_state_adapter.ts\r\nfunction createSortedStateAdapter(selectId, sort) {\r\n var _c = createUnsortedStateAdapter(selectId), removeOne = _c.removeOne, removeMany = _c.removeMany, removeAll = _c.removeAll;\r\n function addOneMutably(entity, state) {\r\n return addManyMutably([entity], state);\r\n }\r\n function addManyMutably(newEntities, state) {\r\n newEntities = ensureEntitiesArray(newEntities);\r\n var models = newEntities.filter(function (model) { return !(selectIdValue(model, selectId) in state.entities); });\r\n if (models.length !== 0) {\r\n merge(models, state);\r\n }\r\n }\r\n function setOneMutably(entity, state) {\r\n return setManyMutably([entity], state);\r\n }\r\n function setManyMutably(newEntities, state) {\r\n newEntities = ensureEntitiesArray(newEntities);\r\n if (newEntities.length !== 0) {\r\n merge(newEntities, state);\r\n }\r\n }\r\n function setAllMutably(newEntities, state) {\r\n newEntities = ensureEntitiesArray(newEntities);\r\n state.entities = {};\r\n state.ids = [];\r\n addManyMutably(newEntities, state);\r\n }\r\n function updateOneMutably(update, state) {\r\n return updateManyMutably([update], state);\r\n }\r\n function updateManyMutably(updates, state) {\r\n var appliedUpdates = false;\r\n for (var _i = 0, updates_1 = updates; _i < updates_1.length; _i++) {\r\n var update = updates_1[_i];\r\n var entity = state.entities[update.id];\r\n if (!entity) {\r\n continue;\r\n }\r\n appliedUpdates = true;\r\n Object.assign(entity, update.changes);\r\n var newId = selectId(entity);\r\n if (update.id !== newId) {\r\n delete state.entities[update.id];\r\n state.entities[newId] = entity;\r\n }\r\n }\r\n if (appliedUpdates) {\r\n resortEntities(state);\r\n }\r\n }\r\n function upsertOneMutably(entity, state) {\r\n return upsertManyMutably([entity], state);\r\n }\r\n function upsertManyMutably(newEntities, state) {\r\n var _c = splitAddedUpdatedEntities(newEntities, selectId, state), added = _c[0], updated = _c[1];\r\n updateManyMutably(updated, state);\r\n addManyMutably(added, state);\r\n }\r\n function areArraysEqual(a, b) {\r\n if (a.length !== b.length) {\r\n return false;\r\n }\r\n for (var i = 0; i < a.length && i < b.length; i++) {\r\n if (a[i] === b[i]) {\r\n continue;\r\n }\r\n return false;\r\n }\r\n return true;\r\n }\r\n function merge(models, state) {\r\n models.forEach(function (model) {\r\n state.entities[selectId(model)] = model;\r\n });\r\n resortEntities(state);\r\n }\r\n function resortEntities(state) {\r\n var allEntities = Object.values(state.entities);\r\n allEntities.sort(sort);\r\n var newSortedIds = allEntities.map(selectId);\r\n var ids = state.ids;\r\n if (!areArraysEqual(ids, newSortedIds)) {\r\n state.ids = newSortedIds;\r\n }\r\n }\r\n return {\r\n removeOne: removeOne,\r\n removeMany: removeMany,\r\n removeAll: removeAll,\r\n addOne: createStateOperator(addOneMutably),\r\n updateOne: createStateOperator(updateOneMutably),\r\n upsertOne: createStateOperator(upsertOneMutably),\r\n setOne: createStateOperator(setOneMutably),\r\n setMany: createStateOperator(setManyMutably),\r\n setAll: createStateOperator(setAllMutably),\r\n addMany: createStateOperator(addManyMutably),\r\n updateMany: createStateOperator(updateManyMutably),\r\n upsertMany: createStateOperator(upsertManyMutably)\r\n };\r\n}\r\n// src/entities/create_adapter.ts\r\nfunction createEntityAdapter(options) {\r\n if (options === void 0) { options = {}; }\r\n var _c = __spreadValues({\r\n sortComparer: false,\r\n selectId: function (instance) { return instance.id; }\r\n }, options), selectId = _c.selectId, sortComparer = _c.sortComparer;\r\n var stateFactory = createInitialStateFactory();\r\n var selectorsFactory = createSelectorsFactory();\r\n var stateAdapter = sortComparer ? createSortedStateAdapter(selectId, sortComparer) : createUnsortedStateAdapter(selectId);\r\n return __spreadValues(__spreadValues(__spreadValues({\r\n selectId: selectId,\r\n sortComparer: sortComparer\r\n }, stateFactory), selectorsFactory), stateAdapter);\r\n}\r\n// src/nanoid.ts\r\nvar urlAlphabet = \"ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW\";\r\nvar nanoid = function (size) {\r\n if (size === void 0) { size = 21; }\r\n var id = \"\";\r\n var i = size;\r\n while (i--) {\r\n id += urlAlphabet[Math.random() * 64 | 0];\r\n }\r\n return id;\r\n};\r\n// src/createAsyncThunk.ts\r\nvar commonProperties = [\r\n \"name\",\r\n \"message\",\r\n \"stack\",\r\n \"code\"\r\n];\r\nvar RejectWithValue = /** @class */ (function () {\r\n function RejectWithValue(payload, meta) {\r\n this.payload = payload;\r\n this.meta = meta;\r\n }\r\n return RejectWithValue;\r\n}());\r\nvar FulfillWithMeta = /** @class */ (function () {\r\n function FulfillWithMeta(payload, meta) {\r\n this.payload = payload;\r\n this.meta = meta;\r\n }\r\n return FulfillWithMeta;\r\n}());\r\nvar miniSerializeError = function (value) {\r\n if (typeof value === \"object\" && value !== null) {\r\n var simpleError = {};\r\n for (var _i = 0, commonProperties_1 = commonProperties; _i < commonProperties_1.length; _i++) {\r\n var property = commonProperties_1[_i];\r\n if (typeof value[property] === \"string\") {\r\n simpleError[property] = value[property];\r\n }\r\n }\r\n return simpleError;\r\n }\r\n return { message: String(value) };\r\n};\r\nvar createAsyncThunk = (function () {\r\n function createAsyncThunk2(typePrefix, payloadCreator, options) {\r\n var fulfilled = createAction(typePrefix + \"/fulfilled\", function (payload, requestId, arg, meta) { return ({\r\n payload: payload,\r\n meta: __spreadProps(__spreadValues({}, meta || {}), {\r\n arg: arg,\r\n requestId: requestId,\r\n requestStatus: \"fulfilled\"\r\n })\r\n }); });\r\n var pending = createAction(typePrefix + \"/pending\", function (requestId, arg, meta) { return ({\r\n payload: void 0,\r\n meta: __spreadProps(__spreadValues({}, meta || {}), {\r\n arg: arg,\r\n requestId: requestId,\r\n requestStatus: \"pending\"\r\n })\r\n }); });\r\n var rejected = createAction(typePrefix + \"/rejected\", function (error, requestId, arg, payload, meta) { return ({\r\n payload: payload,\r\n error: (options && options.serializeError || miniSerializeError)(error || \"Rejected\"),\r\n meta: __spreadProps(__spreadValues({}, meta || {}), {\r\n arg: arg,\r\n requestId: requestId,\r\n rejectedWithValue: !!payload,\r\n requestStatus: \"rejected\",\r\n aborted: (error == null ? void 0 : error.name) === \"AbortError\",\r\n condition: (error == null ? void 0 : error.name) === \"ConditionError\"\r\n })\r\n }); });\r\n var displayedWarning = false;\r\n var AC = typeof AbortController !== \"undefined\" ? AbortController : /** @class */ (function () {\r\n function class_1() {\r\n this.signal = {\r\n aborted: false,\r\n addEventListener: function () {\r\n },\r\n dispatchEvent: function () {\r\n return false;\r\n },\r\n onabort: function () {\r\n },\r\n removeEventListener: function () {\r\n },\r\n reason: void 0,\r\n throwIfAborted: function () {\r\n }\r\n };\r\n }\r\n class_1.prototype.abort = function () {\r\n if (process.env.NODE_ENV !== \"production\") {\r\n if (!displayedWarning) {\r\n displayedWarning = true;\r\n console.info(\"This platform does not implement AbortController. \\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 return class_1;\r\n }());\r\n function actionCreator(arg) {\r\n return function (dispatch, getState, extra) {\r\n var requestId = (options == null ? void 0 : options.idGenerator) ? options.idGenerator(arg) : nanoid();\r\n var abortController = new AC();\r\n var abortReason;\r\n var started = false;\r\n function abort(reason) {\r\n abortReason = reason;\r\n abortController.abort();\r\n }\r\n var promise2 = function () {\r\n return __async(this, null, function () {\r\n var _a, _b, finalAction, conditionResult, abortedPromise, err_1, skipDispatch;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0:\r\n _c.trys.push([0, 4, , 5]);\r\n conditionResult = (_a = options == null ? void 0 : options.condition) == null ? void 0 : _a.call(options, arg, { getState: getState, extra: extra });\r\n if (!isThenable(conditionResult)) return [3 /*break*/, 2];\r\n return [4 /*yield*/, conditionResult];\r\n case 1:\r\n conditionResult = _c.sent();\r\n _c.label = 2;\r\n case 2:\r\n if (conditionResult === false || abortController.signal.aborted) {\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 abortedPromise = new Promise(function (_, reject) { return abortController.signal.addEventListener(\"abort\", function () { return reject({\r\n name: \"AbortError\",\r\n message: abortReason || \"Aborted\"\r\n }); }); });\r\n dispatch(pending(requestId, arg, (_b = options == null ? void 0 : options.getPendingMeta) == null ? void 0 : _b.call(options, { requestId: requestId, arg: arg }, { getState: getState, extra: extra })));\r\n return [4 /*yield*/, Promise.race([\r\n abortedPromise,\r\n Promise.resolve(payloadCreator(arg, {\r\n dispatch: dispatch,\r\n getState: getState,\r\n extra: extra,\r\n requestId: requestId,\r\n signal: abortController.signal,\r\n abort: abort,\r\n rejectWithValue: function (value, meta) {\r\n return new RejectWithValue(value, meta);\r\n },\r\n fulfillWithValue: function (value, meta) {\r\n return new FulfillWithMeta(value, meta);\r\n }\r\n })).then(function (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, requestId, arg);\r\n })\r\n ])];\r\n case 3:\r\n finalAction = _c.sent();\r\n return [3 /*break*/, 5];\r\n case 4:\r\n err_1 = _c.sent();\r\n finalAction = err_1 instanceof RejectWithValue ? rejected(null, requestId, arg, err_1.payload, err_1.meta) : rejected(err_1, requestId, arg);\r\n return [3 /*break*/, 5];\r\n case 5:\r\n skipDispatch = options && !options.dispatchConditionRejection && rejected.match(finalAction) && finalAction.meta.condition;\r\n if (!skipDispatch) {\r\n dispatch(finalAction);\r\n }\r\n return [2 /*return*/, finalAction];\r\n }\r\n });\r\n });\r\n }();\r\n return Object.assign(promise2, {\r\n abort: abort,\r\n requestId: requestId,\r\n arg: arg,\r\n unwrap: function () {\r\n return promise2.then(unwrapResult);\r\n }\r\n });\r\n };\r\n }\r\n return Object.assign(actionCreator, {\r\n pending: pending,\r\n rejected: rejected,\r\n fulfilled: fulfilled,\r\n typePrefix: typePrefix\r\n });\r\n }\r\n createAsyncThunk2.withTypes = function () { return createAsyncThunk2; };\r\n return createAsyncThunk2;\r\n})();\r\nfunction unwrapResult(action) {\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\nfunction isThenable(value) {\r\n return value !== null && typeof value === \"object\" && typeof value.then === \"function\";\r\n}\r\n// src/matchers.ts\r\nvar matches = function (matcher, action) {\r\n if (hasMatchFunction(matcher)) {\r\n return matcher.match(action);\r\n }\r\n else {\r\n return matcher(action);\r\n }\r\n};\r\nfunction isAnyOf() {\r\n var matchers = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n matchers[_i] = arguments[_i];\r\n }\r\n return function (action) {\r\n return matchers.some(function (matcher) { return matches(matcher, action); });\r\n };\r\n}\r\nfunction isAllOf() {\r\n var matchers = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n matchers[_i] = arguments[_i];\r\n }\r\n return function (action) {\r\n return matchers.every(function (matcher) { return matches(matcher, action); });\r\n };\r\n}\r\nfunction hasExpectedRequestMetadata(action, validStatus) {\r\n if (!action || !action.meta)\r\n return false;\r\n var hasValidRequestId = typeof action.meta.requestId === \"string\";\r\n var hasValidRequestStatus = validStatus.indexOf(action.meta.requestStatus) > -1;\r\n return hasValidRequestId && hasValidRequestStatus;\r\n}\r\nfunction isAsyncThunkArray(a) {\r\n return typeof a[0] === \"function\" && \"pending\" in a[0] && \"fulfilled\" in a[0] && \"rejected\" in a[0];\r\n}\r\nfunction isPending() {\r\n var asyncThunks = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n asyncThunks[_i] = arguments[_i];\r\n }\r\n if (asyncThunks.length === 0) {\r\n return function (action) { return hasExpectedRequestMetadata(action, [\"pending\"]); };\r\n }\r\n if (!isAsyncThunkArray(asyncThunks)) {\r\n return isPending()(asyncThunks[0]);\r\n }\r\n return function (action) {\r\n var matchers = asyncThunks.map(function (asyncThunk) { return asyncThunk.pending; });\r\n var combinedMatcher = isAnyOf.apply(void 0, matchers);\r\n return combinedMatcher(action);\r\n };\r\n}\r\nfunction isRejected() {\r\n var asyncThunks = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n asyncThunks[_i] = arguments[_i];\r\n }\r\n if (asyncThunks.length === 0) {\r\n return function (action) { return hasExpectedRequestMetadata(action, [\"rejected\"]); };\r\n }\r\n if (!isAsyncThunkArray(asyncThunks)) {\r\n return isRejected()(asyncThunks[0]);\r\n }\r\n return function (action) {\r\n var matchers = asyncThunks.map(function (asyncThunk) { return asyncThunk.rejected; });\r\n var combinedMatcher = isAnyOf.apply(void 0, matchers);\r\n return combinedMatcher(action);\r\n };\r\n}\r\nfunction isRejectedWithValue() {\r\n var asyncThunks = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n asyncThunks[_i] = arguments[_i];\r\n }\r\n var hasFlag = function (action) {\r\n return action && action.meta && action.meta.rejectedWithValue;\r\n };\r\n if (asyncThunks.length === 0) {\r\n return function (action) {\r\n var combinedMatcher = isAllOf(isRejected.apply(void 0, asyncThunks), hasFlag);\r\n return combinedMatcher(action);\r\n };\r\n }\r\n if (!isAsyncThunkArray(asyncThunks)) {\r\n return isRejectedWithValue()(asyncThunks[0]);\r\n }\r\n return function (action) {\r\n var combinedMatcher = isAllOf(isRejected.apply(void 0, asyncThunks), hasFlag);\r\n return combinedMatcher(action);\r\n };\r\n}\r\nfunction isFulfilled() {\r\n var asyncThunks = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n asyncThunks[_i] = arguments[_i];\r\n }\r\n if (asyncThunks.length === 0) {\r\n return function (action) { return hasExpectedRequestMetadata(action, [\"fulfilled\"]); };\r\n }\r\n if (!isAsyncThunkArray(asyncThunks)) {\r\n return isFulfilled()(asyncThunks[0]);\r\n }\r\n return function (action) {\r\n var matchers = asyncThunks.map(function (asyncThunk) { return asyncThunk.fulfilled; });\r\n var combinedMatcher = isAnyOf.apply(void 0, matchers);\r\n return combinedMatcher(action);\r\n };\r\n}\r\nfunction isAsyncThunkAction() {\r\n var asyncThunks = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n asyncThunks[_i] = arguments[_i];\r\n }\r\n if (asyncThunks.length === 0) {\r\n return function (action) { return hasExpectedRequestMetadata(action, [\"pending\", \"fulfilled\", \"rejected\"]); };\r\n }\r\n if (!isAsyncThunkArray(asyncThunks)) {\r\n return isAsyncThunkAction()(asyncThunks[0]);\r\n }\r\n return function (action) {\r\n var matchers = [];\r\n for (var _i = 0, asyncThunks_1 = asyncThunks; _i < asyncThunks_1.length; _i++) {\r\n var asyncThunk = asyncThunks_1[_i];\r\n matchers.push(asyncThunk.pending, asyncThunk.rejected, asyncThunk.fulfilled);\r\n }\r\n var combinedMatcher = isAnyOf.apply(void 0, matchers);\r\n return combinedMatcher(action);\r\n };\r\n}\r\n// src/listenerMiddleware/utils.ts\r\nvar assertFunction = function (func, expected) {\r\n if (typeof func !== \"function\") {\r\n throw new TypeError(expected + \" is not a function\");\r\n }\r\n};\r\nvar noop = function () {\r\n};\r\nvar catchRejection = function (promise2, onError) {\r\n if (onError === void 0) { onError = noop; }\r\n promise2.catch(onError);\r\n return promise2;\r\n};\r\nvar addAbortSignalListener = function (abortSignal, callback) {\r\n abortSignal.addEventListener(\"abort\", callback, { once: true });\r\n return function () { return abortSignal.removeEventListener(\"abort\", callback); };\r\n};\r\nvar abortControllerWithReason = function (abortController, reason) {\r\n var signal = abortController.signal;\r\n if (signal.aborted) {\r\n return;\r\n }\r\n if (!(\"reason\" in signal)) {\r\n Object.defineProperty(signal, \"reason\", {\r\n enumerable: true,\r\n value: reason,\r\n configurable: true,\r\n writable: true\r\n });\r\n }\r\n ;\r\n abortController.abort(reason);\r\n};\r\n// src/listenerMiddleware/exceptions.ts\r\nvar task = \"task\";\r\nvar listener = \"listener\";\r\nvar completed = \"completed\";\r\nvar cancelled = \"cancelled\";\r\nvar taskCancelled = \"task-\" + cancelled;\r\nvar taskCompleted = \"task-\" + completed;\r\nvar listenerCancelled = listener + \"-\" + cancelled;\r\nvar listenerCompleted = listener + \"-\" + completed;\r\nvar TaskAbortError = /** @class */ (function () {\r\n function TaskAbortError(code) {\r\n this.code = code;\r\n this.name = \"TaskAbortError\";\r\n this.message = task + \" \" + cancelled + \" (reason: \" + code + \")\";\r\n }\r\n return TaskAbortError;\r\n}());\r\n// src/listenerMiddleware/task.ts\r\nvar validateActive = function (signal) {\r\n if (signal.aborted) {\r\n throw new TaskAbortError(signal.reason);\r\n }\r\n};\r\nfunction raceWithSignal(signal, promise2) {\r\n var cleanup = noop;\r\n return new Promise(function (resolve, reject) {\r\n var notifyRejection = function () { return reject(new TaskAbortError(signal.reason)); };\r\n if (signal.aborted) {\r\n notifyRejection();\r\n return;\r\n }\r\n cleanup = addAbortSignalListener(signal, notifyRejection);\r\n promise2.finally(function () { return cleanup(); }).then(resolve, reject);\r\n }).finally(function () {\r\n cleanup = noop;\r\n });\r\n}\r\nvar runTask = function (task2, cleanUp) { return __async(void 0, null, function () {\r\n var value, error_1;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0:\r\n _c.trys.push([0, 3, 4, 5]);\r\n return [4 /*yield*/, Promise.resolve()];\r\n case 1:\r\n _c.sent();\r\n return [4 /*yield*/, task2()];\r\n case 2:\r\n value = _c.sent();\r\n return [2 /*return*/, {\r\n status: \"ok\",\r\n value: value\r\n }];\r\n case 3:\r\n error_1 = _c.sent();\r\n return [2 /*return*/, {\r\n status: error_1 instanceof TaskAbortError ? \"cancelled\" : \"rejected\",\r\n error: error_1\r\n }];\r\n case 4:\r\n cleanUp == null ? void 0 : cleanUp();\r\n return [7 /*endfinally*/];\r\n case 5: return [2 /*return*/];\r\n }\r\n });\r\n}); };\r\nvar createPause = function (signal) {\r\n return function (promise2) {\r\n return catchRejection(raceWithSignal(signal, promise2).then(function (output) {\r\n validateActive(signal);\r\n return output;\r\n }));\r\n };\r\n};\r\nvar createDelay = function (signal) {\r\n var pause = createPause(signal);\r\n return function (timeoutMs) {\r\n return pause(new Promise(function (resolve) { return setTimeout(resolve, timeoutMs); }));\r\n };\r\n};\r\n// src/listenerMiddleware/index.ts\r\nvar assign = Object.assign;\r\nvar INTERNAL_NIL_TOKEN = {};\r\nvar alm = \"listenerMiddleware\";\r\nvar createFork = function (parentAbortSignal, parentBlockingPromises) {\r\n var linkControllers = function (controller) { return addAbortSignalListener(parentAbortSignal, function () { return abortControllerWithReason(controller, parentAbortSignal.reason); }); };\r\n return function (taskExecutor, opts) {\r\n assertFunction(taskExecutor, \"taskExecutor\");\r\n var childAbortController = new AbortController();\r\n linkControllers(childAbortController);\r\n var result = runTask(function () { return __async(void 0, null, function () {\r\n var result2;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0:\r\n validateActive(parentAbortSignal);\r\n validateActive(childAbortController.signal);\r\n return [4 /*yield*/, taskExecutor({\r\n pause: createPause(childAbortController.signal),\r\n delay: createDelay(childAbortController.signal),\r\n signal: childAbortController.signal\r\n })];\r\n case 1:\r\n result2 = _c.sent();\r\n validateActive(childAbortController.signal);\r\n return [2 /*return*/, result2];\r\n }\r\n });\r\n }); }, function () { return abortControllerWithReason(childAbortController, taskCompleted); });\r\n if (opts == null ? void 0 : opts.autoJoin) {\r\n parentBlockingPromises.push(result);\r\n }\r\n return {\r\n result: createPause(parentAbortSignal)(result),\r\n cancel: function () {\r\n abortControllerWithReason(childAbortController, taskCancelled);\r\n }\r\n };\r\n };\r\n};\r\nvar createTakePattern = function (startListening, signal) {\r\n var take = function (predicate, timeout) { return __async(void 0, null, function () {\r\n var unsubscribe, tuplePromise, promises, output;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0:\r\n validateActive(signal);\r\n unsubscribe = function () {\r\n };\r\n tuplePromise = new Promise(function (resolve, reject) {\r\n var stopListening = startListening({\r\n predicate: predicate,\r\n effect: function (action, listenerApi) {\r\n listenerApi.unsubscribe();\r\n resolve([\r\n action,\r\n listenerApi.getState(),\r\n listenerApi.getOriginalState()\r\n ]);\r\n }\r\n });\r\n unsubscribe = function () {\r\n stopListening();\r\n reject();\r\n };\r\n });\r\n promises = [\r\n tuplePromise\r\n ];\r\n if (timeout != null) {\r\n promises.push(new Promise(function (resolve) { return setTimeout(resolve, timeout, null); }));\r\n }\r\n _c.label = 1;\r\n case 1:\r\n _c.trys.push([1, , 3, 4]);\r\n return [4 /*yield*/, raceWithSignal(signal, Promise.race(promises))];\r\n case 2:\r\n output = _c.sent();\r\n validateActive(signal);\r\n return [2 /*return*/, output];\r\n case 3:\r\n unsubscribe();\r\n return [7 /*endfinally*/];\r\n case 4: return [2 /*return*/];\r\n }\r\n });\r\n }); };\r\n return function (predicate, timeout) { return catchRejection(take(predicate, timeout)); };\r\n};\r\nvar getListenerEntryPropsFrom = function (options) {\r\n var type = options.type, actionCreator = options.actionCreator, matcher = options.matcher, predicate = options.predicate, effect = options.effect;\r\n if (type) {\r\n predicate = createAction(type).match;\r\n }\r\n else if (actionCreator) {\r\n type = actionCreator.type;\r\n predicate = actionCreator.match;\r\n }\r\n else if (matcher) {\r\n predicate = matcher;\r\n }\r\n else if (predicate) {\r\n }\r\n else {\r\n throw new Error(\"Creating or removing a listener requires one of the known fields for matching an action\");\r\n }\r\n assertFunction(effect, \"options.listener\");\r\n return { predicate: predicate, type: type, effect: effect };\r\n};\r\nvar createListenerEntry = function (options) {\r\n var _c = getListenerEntryPropsFrom(options), type = _c.type, predicate = _c.predicate, effect = _c.effect;\r\n var id = nanoid();\r\n var entry = {\r\n id: id,\r\n effect: effect,\r\n type: type,\r\n predicate: predicate,\r\n pending: new Set(),\r\n unsubscribe: function () {\r\n throw new Error(\"Unsubscribe not initialized\");\r\n }\r\n };\r\n return entry;\r\n};\r\nvar cancelActiveListeners = function (entry) {\r\n entry.pending.forEach(function (controller) {\r\n abortControllerWithReason(controller, listenerCancelled);\r\n });\r\n};\r\nvar createClearListenerMiddleware = function (listenerMap) {\r\n return function () {\r\n listenerMap.forEach(cancelActiveListeners);\r\n listenerMap.clear();\r\n };\r\n};\r\nvar safelyNotifyError = function (errorHandler, errorToNotify, errorInfo) {\r\n try {\r\n errorHandler(errorToNotify, errorInfo);\r\n }\r\n catch (errorHandlerError) {\r\n setTimeout(function () {\r\n throw errorHandlerError;\r\n }, 0);\r\n }\r\n};\r\nvar addListener = createAction(alm + \"/add\");\r\nvar clearAllListeners = createAction(alm + \"/removeAll\");\r\nvar removeListener = createAction(alm + \"/remove\");\r\nvar defaultErrorHandler = function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n console.error.apply(console, __spreadArray([alm + \"/error\"], args));\r\n};\r\nfunction createListenerMiddleware(middlewareOptions) {\r\n var _this = this;\r\n if (middlewareOptions === void 0) { middlewareOptions = {}; }\r\n var listenerMap = new Map();\r\n var extra = middlewareOptions.extra, _c = middlewareOptions.onError, onError = _c === void 0 ? defaultErrorHandler : _c;\r\n assertFunction(onError, \"onError\");\r\n var insertEntry = function (entry) {\r\n entry.unsubscribe = function () { return listenerMap.delete(entry.id); };\r\n listenerMap.set(entry.id, entry);\r\n return function (cancelOptions) {\r\n entry.unsubscribe();\r\n if (cancelOptions == null ? void 0 : cancelOptions.cancelActive) {\r\n cancelActiveListeners(entry);\r\n }\r\n };\r\n };\r\n var findListenerEntry = function (comparator) {\r\n for (var _i = 0, _c = Array.from(listenerMap.values()); _i < _c.length; _i++) {\r\n var entry = _c[_i];\r\n if (comparator(entry)) {\r\n return entry;\r\n }\r\n }\r\n return void 0;\r\n };\r\n var startListening = function (options) {\r\n var entry = findListenerEntry(function (existingEntry) { return existingEntry.effect === options.effect; });\r\n if (!entry) {\r\n entry = createListenerEntry(options);\r\n }\r\n return insertEntry(entry);\r\n };\r\n var stopListening = function (options) {\r\n var _c = getListenerEntryPropsFrom(options), type = _c.type, effect = _c.effect, predicate = _c.predicate;\r\n var entry = findListenerEntry(function (entry2) {\r\n var matchPredicateOrType = typeof type === \"string\" ? entry2.type === type : entry2.predicate === predicate;\r\n return matchPredicateOrType && entry2.effect === effect;\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 return !!entry;\r\n };\r\n var notifyListener = function (entry, action, api, getOriginalState) { return __async(_this, null, function () {\r\n var internalTaskController, take, autoJoinPromises, listenerError_1;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0:\r\n internalTaskController = new AbortController();\r\n take = createTakePattern(startListening, internalTaskController.signal);\r\n autoJoinPromises = [];\r\n _c.label = 1;\r\n case 1:\r\n _c.trys.push([1, 3, 4, 6]);\r\n entry.pending.add(internalTaskController);\r\n return [4 /*yield*/, Promise.resolve(entry.effect(action, assign({}, api, {\r\n getOriginalState: getOriginalState,\r\n condition: function (predicate, timeout) { return take(predicate, timeout).then(Boolean); },\r\n take: take,\r\n delay: createDelay(internalTaskController.signal),\r\n pause: createPause(internalTaskController.signal),\r\n extra: extra,\r\n signal: internalTaskController.signal,\r\n fork: createFork(internalTaskController.signal, autoJoinPromises),\r\n unsubscribe: entry.unsubscribe,\r\n subscribe: function () {\r\n listenerMap.set(entry.id, entry);\r\n },\r\n cancelActiveListeners: function () {\r\n entry.pending.forEach(function (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 case 2:\r\n _c.sent();\r\n return [3 /*break*/, 6];\r\n case 3:\r\n listenerError_1 = _c.sent();\r\n if (!(listenerError_1 instanceof TaskAbortError)) {\r\n safelyNotifyError(onError, listenerError_1, {\r\n raisedBy: \"effect\"\r\n });\r\n }\r\n return [3 /*break*/, 6];\r\n case 4: return [4 /*yield*/, Promise.allSettled(autoJoinPromises)];\r\n case 5:\r\n _c.sent();\r\n abortControllerWithReason(internalTaskController, listenerCompleted);\r\n entry.pending.delete(internalTaskController);\r\n return [7 /*endfinally*/];\r\n case 6: return [2 /*return*/];\r\n }\r\n });\r\n }); };\r\n var clearListenerMiddleware = createClearListenerMiddleware(listenerMap);\r\n var middleware = function (api) { return function (next) { return function (action) {\r\n if (!isAction(action)) {\r\n return next(action);\r\n }\r\n if (addListener.match(action)) {\r\n return startListening(action.payload);\r\n }\r\n if (clearAllListeners.match(action)) {\r\n clearListenerMiddleware();\r\n return;\r\n }\r\n if (removeListener.match(action)) {\r\n return stopListening(action.payload);\r\n }\r\n var originalState = api.getState();\r\n var getOriginalState = function () {\r\n if (originalState === INTERNAL_NIL_TOKEN) {\r\n throw new Error(alm + \": getOriginalState can only be called synchronously\");\r\n }\r\n return originalState;\r\n };\r\n var result;\r\n try {\r\n result = next(action);\r\n if (listenerMap.size > 0) {\r\n var currentState = api.getState();\r\n var listenerEntries = Array.from(listenerMap.values());\r\n for (var _i = 0, listenerEntries_1 = listenerEntries; _i < listenerEntries_1.length; _i++) {\r\n var entry = listenerEntries_1[_i];\r\n var runListener = false;\r\n try {\r\n runListener = entry.predicate(action, currentState, originalState);\r\n }\r\n catch (predicateError) {\r\n runListener = false;\r\n safelyNotifyError(onError, predicateError, {\r\n raisedBy: \"predicate\"\r\n });\r\n }\r\n if (!runListener) {\r\n continue;\r\n }\r\n notifyListener(entry, action, api, getOriginalState);\r\n }\r\n }\r\n }\r\n finally {\r\n originalState = INTERNAL_NIL_TOKEN;\r\n }\r\n return result;\r\n }; }; };\r\n return {\r\n middleware: middleware,\r\n startListening: startListening,\r\n stopListening: stopListening,\r\n clearListeners: clearListenerMiddleware\r\n };\r\n}\r\n// src/autoBatchEnhancer.ts\r\nvar SHOULD_AUTOBATCH = \"RTK_autoBatch\";\r\nvar prepareAutoBatched = function () { return function (payload) {\r\n var _c;\r\n return ({\r\n payload: payload,\r\n meta: (_c = {}, _c[SHOULD_AUTOBATCH] = true, _c)\r\n });\r\n}; };\r\nvar promise;\r\nvar queueMicrotaskShim = typeof queueMicrotask === \"function\" ? queueMicrotask.bind(typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : globalThis) : function (cb) { return (promise || (promise = Promise.resolve())).then(cb).catch(function (err) { return setTimeout(function () {\r\n throw err;\r\n}, 0); }); };\r\nvar createQueueWithTimer = function (timeout) {\r\n return function (notify) {\r\n setTimeout(notify, timeout);\r\n };\r\n};\r\nvar rAF = typeof window !== \"undefined\" && window.requestAnimationFrame ? window.requestAnimationFrame : createQueueWithTimer(10);\r\nvar autoBatchEnhancer = function (options) {\r\n if (options === void 0) { options = { type: \"raf\" }; }\r\n return function (next) { return function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n var store = next.apply(void 0, args);\r\n var notifying = true;\r\n var shouldNotifyAtEndOfTick = false;\r\n var notificationQueued = false;\r\n var listeners = new Set();\r\n var queueCallback = options.type === \"tick\" ? queueMicrotaskShim : options.type === \"raf\" ? rAF : options.type === \"callback\" ? options.queueNotification : createQueueWithTimer(options.timeout);\r\n var notifyListeners = function () {\r\n notificationQueued = false;\r\n if (shouldNotifyAtEndOfTick) {\r\n shouldNotifyAtEndOfTick = false;\r\n listeners.forEach(function (l) { return l(); });\r\n }\r\n };\r\n return Object.assign({}, store, {\r\n subscribe: function (listener2) {\r\n var wrappedListener = function () { return notifying && listener2(); };\r\n var unsubscribe = store.subscribe(wrappedListener);\r\n listeners.add(listener2);\r\n return function () {\r\n unsubscribe();\r\n listeners.delete(listener2);\r\n };\r\n },\r\n dispatch: function (action) {\r\n var _a;\r\n try {\r\n notifying = !((_a = action == null ? void 0 : action.meta) == null ? void 0 : _a[SHOULD_AUTOBATCH]);\r\n shouldNotifyAtEndOfTick = !notifying;\r\n if (shouldNotifyAtEndOfTick) {\r\n if (!notificationQueued) {\r\n notificationQueued = true;\r\n queueCallback(notifyListeners);\r\n }\r\n }\r\n return store.dispatch(action);\r\n }\r\n finally {\r\n notifying = true;\r\n }\r\n }\r\n });\r\n }; };\r\n};\r\n// src/index.ts\r\nenableES5();\r\nexport { EnhancerArray, MiddlewareArray, SHOULD_AUTOBATCH, TaskAbortError, addListener, autoBatchEnhancer, clearAllListeners, configureStore, createAction, createActionCreatorInvariantMiddleware, createAsyncThunk, createDraftSafeSelector, createEntityAdapter, createImmutableStateInvariantMiddleware, createListenerMiddleware, default2 as createNextState, createReducer, createSelector2 as createSelector, createSerializableStateInvariantMiddleware, createSlice, current2 as current, findNonSerializableValue, freeze, getDefaultMiddleware, getType, isAction, isActionCreator, isAllOf, isAnyOf, isAsyncThunkAction, isDraft4 as isDraft, isFSA as isFluxStandardAction, isFulfilled, isImmutableDefault, isPending, isPlain, isPlainObject, isRejected, isRejectedWithValue, miniSerializeError, nanoid, original, prepareAutoBatched, removeListener, unwrapResult };\r\n//# sourceMappingURL=redux-toolkit.esm.js.map","var __generator = (this && this.__generator) || function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n};\r\nvar __spreadArray = (this && this.__spreadArray) || function (to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n};\r\nvar __defProp = Object.defineProperty;\r\nvar __defProps = Object.defineProperties;\r\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\r\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\r\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\r\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\r\nvar __defNormalProp = function (obj, key, value) { return key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value: value }) : obj[key] = value; };\r\nvar __spreadValues = function (a, b) {\r\n for (var prop in b || (b = {}))\r\n if (__hasOwnProp.call(b, prop))\r\n __defNormalProp(a, prop, b[prop]);\r\n if (__getOwnPropSymbols)\r\n for (var _j = 0, _k = __getOwnPropSymbols(b); _j < _k.length; _j++) {\r\n var prop = _k[_j];\r\n if (__propIsEnum.call(b, prop))\r\n __defNormalProp(a, prop, b[prop]);\r\n }\r\n return a;\r\n};\r\nvar __spreadProps = function (a, b) { return __defProps(a, __getOwnPropDescs(b)); };\r\nvar __objRest = function (source, exclude) {\r\n var target = {};\r\n for (var prop in source)\r\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\r\n target[prop] = source[prop];\r\n if (source != null && __getOwnPropSymbols)\r\n for (var _j = 0, _k = __getOwnPropSymbols(source); _j < _k.length; _j++) {\r\n var prop = _k[_j];\r\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\r\n target[prop] = source[prop];\r\n }\r\n return target;\r\n};\r\nvar __async = function (__this, __arguments, generator) {\r\n return new Promise(function (resolve, reject) {\r\n var fulfilled = function (value) {\r\n try {\r\n step(generator.next(value));\r\n }\r\n catch (e) {\r\n reject(e);\r\n }\r\n };\r\n var rejected = function (value) {\r\n try {\r\n step(generator.throw(value));\r\n }\r\n catch (e) {\r\n reject(e);\r\n }\r\n };\r\n var step = function (x) { return x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected); };\r\n step((generator = generator.apply(__this, __arguments)).next());\r\n });\r\n};\r\n// src/query/core/apiState.ts\r\nvar QueryStatus;\r\n(function (QueryStatus2) {\r\n QueryStatus2[\"uninitialized\"] = \"uninitialized\";\r\n QueryStatus2[\"pending\"] = \"pending\";\r\n QueryStatus2[\"fulfilled\"] = \"fulfilled\";\r\n QueryStatus2[\"rejected\"] = \"rejected\";\r\n})(QueryStatus || (QueryStatus = {}));\r\nfunction getRequestStatusFlags(status) {\r\n return {\r\n status: status,\r\n isUninitialized: status === QueryStatus.uninitialized,\r\n isLoading: status === QueryStatus.pending,\r\n isSuccess: status === QueryStatus.fulfilled,\r\n isError: status === QueryStatus.rejected\r\n };\r\n}\r\n// src/query/utils/isAbsoluteUrl.ts\r\nfunction isAbsoluteUrl(url) {\r\n return new RegExp(\"(^|:)//\").test(url);\r\n}\r\n// src/query/utils/joinUrls.ts\r\nvar withoutTrailingSlash = function (url) { return url.replace(/\\/$/, \"\"); };\r\nvar withoutLeadingSlash = function (url) { return url.replace(/^\\//, \"\"); };\r\nfunction joinUrls(base, url) {\r\n if (!base) {\r\n return url;\r\n }\r\n if (!url) {\r\n return base;\r\n }\r\n if (isAbsoluteUrl(url)) {\r\n return url;\r\n }\r\n var delimiter = base.endsWith(\"/\") || !url.startsWith(\"?\") ? \"/\" : \"\";\r\n base = withoutTrailingSlash(base);\r\n url = withoutLeadingSlash(url);\r\n return \"\" + base + delimiter + url;\r\n}\r\n// src/query/utils/flatten.ts\r\nvar flatten = function (arr) { return [].concat.apply([], arr); };\r\n// src/query/utils/isOnline.ts\r\nfunction isOnline() {\r\n return typeof navigator === \"undefined\" ? true : navigator.onLine === void 0 ? true : navigator.onLine;\r\n}\r\n// src/query/utils/isDocumentVisible.ts\r\nfunction isDocumentVisible() {\r\n if (typeof document === \"undefined\") {\r\n return true;\r\n }\r\n return document.visibilityState !== \"hidden\";\r\n}\r\n// src/query/utils/copyWithStructuralSharing.ts\r\nimport { isPlainObject as _iPO } from \"@reduxjs/toolkit\";\r\nvar isPlainObject = _iPO;\r\nfunction copyWithStructuralSharing(oldObj, newObj) {\r\n if (oldObj === newObj || !(isPlainObject(oldObj) && isPlainObject(newObj) || Array.isArray(oldObj) && Array.isArray(newObj))) {\r\n return newObj;\r\n }\r\n var newKeys = Object.keys(newObj);\r\n var oldKeys = Object.keys(oldObj);\r\n var isSameObject = newKeys.length === oldKeys.length;\r\n var mergeObj = Array.isArray(newObj) ? [] : {};\r\n for (var _j = 0, newKeys_1 = newKeys; _j < newKeys_1.length; _j++) {\r\n var key = newKeys_1[_j];\r\n mergeObj[key] = copyWithStructuralSharing(oldObj[key], newObj[key]);\r\n if (isSameObject)\r\n isSameObject = oldObj[key] === mergeObj[key];\r\n }\r\n return isSameObject ? oldObj : mergeObj;\r\n}\r\n// src/query/fetchBaseQuery.ts\r\nimport { isPlainObject as isPlainObject2 } from \"@reduxjs/toolkit\";\r\nvar defaultFetchFn = function () {\r\n var args = [];\r\n for (var _j = 0; _j < arguments.length; _j++) {\r\n args[_j] = arguments[_j];\r\n }\r\n return fetch.apply(void 0, args);\r\n};\r\nvar defaultValidateStatus = function (response) { return response.status >= 200 && response.status <= 299; };\r\nvar defaultIsJsonContentType = function (headers) { return /ion\\/(vnd\\.api\\+)?json/.test(headers.get(\"content-type\") || \"\"); };\r\nfunction stripUndefined(obj) {\r\n if (!isPlainObject2(obj)) {\r\n return obj;\r\n }\r\n var copy = __spreadValues({}, obj);\r\n for (var _j = 0, _k = Object.entries(copy); _j < _k.length; _j++) {\r\n var _l = _k[_j], k = _l[0], v = _l[1];\r\n if (v === void 0)\r\n delete copy[k];\r\n }\r\n return copy;\r\n}\r\nfunction fetchBaseQuery(_a) {\r\n var _this = this;\r\n if (_a === void 0) { _a = {}; }\r\n var _b = _a, baseUrl = _b.baseUrl, _j = _b.prepareHeaders, prepareHeaders = _j === void 0 ? function (x) { return x; } : _j, _k = _b.fetchFn, fetchFn = _k === void 0 ? defaultFetchFn : _k, paramsSerializer = _b.paramsSerializer, _l = _b.isJsonContentType, isJsonContentType = _l === void 0 ? defaultIsJsonContentType : _l, _m = _b.jsonContentType, jsonContentType = _m === void 0 ? \"application/json\" : _m, jsonReplacer = _b.jsonReplacer, defaultTimeout = _b.timeout, globalResponseHandler = _b.responseHandler, globalValidateStatus = _b.validateStatus, baseFetchOptions = __objRest(_b, [\r\n \"baseUrl\",\r\n \"prepareHeaders\",\r\n \"fetchFn\",\r\n \"paramsSerializer\",\r\n \"isJsonContentType\",\r\n \"jsonContentType\",\r\n \"jsonReplacer\",\r\n \"timeout\",\r\n \"responseHandler\",\r\n \"validateStatus\"\r\n ]);\r\n if (typeof fetch === \"undefined\" && fetchFn === defaultFetchFn) {\r\n console.warn(\"Warning: `fetch` is not available. Please supply a custom `fetchFn` property to use `fetchBaseQuery` on SSR environments.\");\r\n }\r\n return function (arg, api) { return __async(_this, null, function () {\r\n var signal, getState, extra, endpoint, forced, type, meta, _a2, url, _j, headers, _k, params, _l, responseHandler, _m, validateStatus, _o, timeout, rest, config, _p, isJsonifiable, divider, query, request, requestClone, response, timedOut, timeoutId, e_1, responseClone, resultData, responseText, handleResponseError_1, e_2;\r\n return __generator(this, function (_q) {\r\n switch (_q.label) {\r\n case 0:\r\n signal = api.signal, getState = api.getState, extra = api.extra, endpoint = api.endpoint, forced = api.forced, type = api.type;\r\n _a2 = typeof arg == \"string\" ? { url: arg } : arg, url = _a2.url, _j = _a2.headers, headers = _j === void 0 ? new Headers(baseFetchOptions.headers) : _j, _k = _a2.params, params = _k === void 0 ? void 0 : _k, _l = _a2.responseHandler, responseHandler = _l === void 0 ? globalResponseHandler != null ? globalResponseHandler : \"json\" : _l, _m = _a2.validateStatus, validateStatus = _m === void 0 ? globalValidateStatus != null ? globalValidateStatus : defaultValidateStatus : _m, _o = _a2.timeout, timeout = _o === void 0 ? defaultTimeout : _o, rest = __objRest(_a2, [\r\n \"url\",\r\n \"headers\",\r\n \"params\",\r\n \"responseHandler\",\r\n \"validateStatus\",\r\n \"timeout\"\r\n ]);\r\n config = __spreadValues(__spreadProps(__spreadValues({}, baseFetchOptions), {\r\n signal: signal\r\n }), rest);\r\n headers = new Headers(stripUndefined(headers));\r\n _p = config;\r\n return [4 /*yield*/, prepareHeaders(headers, {\r\n getState: getState,\r\n extra: extra,\r\n endpoint: endpoint,\r\n forced: forced,\r\n type: type\r\n })];\r\n case 1:\r\n _p.headers = (_q.sent()) || headers;\r\n isJsonifiable = function (body) { return typeof body === \"object\" && (isPlainObject2(body) || Array.isArray(body) || typeof body.toJSON === \"function\"); };\r\n if (!config.headers.has(\"content-type\") && isJsonifiable(config.body)) {\r\n config.headers.set(\"content-type\", jsonContentType);\r\n }\r\n if (isJsonifiable(config.body) && isJsonContentType(config.headers)) {\r\n config.body = JSON.stringify(config.body, jsonReplacer);\r\n }\r\n if (params) {\r\n divider = ~url.indexOf(\"?\") ? \"&\" : \"?\";\r\n query = paramsSerializer ? paramsSerializer(params) : new URLSearchParams(stripUndefined(params));\r\n url += divider + query;\r\n }\r\n url = joinUrls(baseUrl, url);\r\n request = new Request(url, config);\r\n requestClone = new Request(url, config);\r\n meta = { request: requestClone };\r\n timedOut = false, timeoutId = timeout && setTimeout(function () {\r\n timedOut = true;\r\n api.abort();\r\n }, timeout);\r\n _q.label = 2;\r\n case 2:\r\n _q.trys.push([2, 4, 5, 6]);\r\n return [4 /*yield*/, fetchFn(request)];\r\n case 3:\r\n response = _q.sent();\r\n return [3 /*break*/, 6];\r\n case 4:\r\n e_1 = _q.sent();\r\n return [2 /*return*/, {\r\n error: {\r\n status: timedOut ? \"TIMEOUT_ERROR\" : \"FETCH_ERROR\",\r\n error: String(e_1)\r\n },\r\n meta: meta\r\n }];\r\n case 5:\r\n if (timeoutId)\r\n clearTimeout(timeoutId);\r\n return [7 /*endfinally*/];\r\n case 6:\r\n responseClone = response.clone();\r\n meta.response = responseClone;\r\n responseText = \"\";\r\n _q.label = 7;\r\n case 7:\r\n _q.trys.push([7, 9, , 10]);\r\n return [4 /*yield*/, Promise.all([\r\n handleResponse(response, responseHandler).then(function (r) { return resultData = r; }, function (e) { return handleResponseError_1 = e; }),\r\n responseClone.text().then(function (r) { return responseText = r; }, function () {\r\n })\r\n ])];\r\n case 8:\r\n _q.sent();\r\n if (handleResponseError_1)\r\n throw handleResponseError_1;\r\n return [3 /*break*/, 10];\r\n case 9:\r\n e_2 = _q.sent();\r\n return [2 /*return*/, {\r\n error: {\r\n status: \"PARSING_ERROR\",\r\n originalStatus: response.status,\r\n data: responseText,\r\n error: String(e_2)\r\n },\r\n meta: meta\r\n }];\r\n case 10: return [2 /*return*/, validateStatus(response, resultData) ? {\r\n data: resultData,\r\n meta: meta\r\n } : {\r\n error: {\r\n status: response.status,\r\n data: resultData\r\n },\r\n meta: meta\r\n }];\r\n }\r\n });\r\n }); };\r\n function handleResponse(response, responseHandler) {\r\n return __async(this, null, function () {\r\n var text;\r\n return __generator(this, function (_j) {\r\n switch (_j.label) {\r\n case 0:\r\n if (typeof responseHandler === \"function\") {\r\n return [2 /*return*/, responseHandler(response)];\r\n }\r\n if (responseHandler === \"content-type\") {\r\n responseHandler = isJsonContentType(response.headers) ? \"json\" : \"text\";\r\n }\r\n if (!(responseHandler === \"json\")) return [3 /*break*/, 2];\r\n return [4 /*yield*/, response.text()];\r\n case 1:\r\n text = _j.sent();\r\n return [2 /*return*/, text.length ? JSON.parse(text) : null];\r\n case 2: return [2 /*return*/, response.text()];\r\n }\r\n });\r\n });\r\n }\r\n}\r\n// src/query/HandledError.ts\r\nvar HandledError = /** @class */ (function () {\r\n function HandledError(value, meta) {\r\n if (meta === void 0) { meta = void 0; }\r\n this.value = value;\r\n this.meta = meta;\r\n }\r\n return HandledError;\r\n}());\r\n// src/query/retry.ts\r\nfunction defaultBackoff(attempt, maxRetries) {\r\n if (attempt === void 0) { attempt = 0; }\r\n if (maxRetries === void 0) { maxRetries = 5; }\r\n return __async(this, null, function () {\r\n var attempts, timeout;\r\n return __generator(this, function (_j) {\r\n switch (_j.label) {\r\n case 0:\r\n attempts = Math.min(attempt, maxRetries);\r\n timeout = ~~((Math.random() + 0.4) * (300 << attempts));\r\n return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(function (res) { return resolve(res); }, timeout); })];\r\n case 1:\r\n _j.sent();\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n}\r\nfunction fail(e) {\r\n throw Object.assign(new HandledError({ error: e }), {\r\n throwImmediately: true\r\n });\r\n}\r\nvar EMPTY_OPTIONS = {};\r\nvar retryWithBackoff = function (baseQuery, defaultOptions) { return function (args, api, extraOptions) { return __async(void 0, null, function () {\r\n var possibleMaxRetries, maxRetries, defaultRetryCondition, options, retry2, result, e_3;\r\n return __generator(this, function (_j) {\r\n switch (_j.label) {\r\n case 0:\r\n possibleMaxRetries = [\r\n 5,\r\n (defaultOptions || EMPTY_OPTIONS).maxRetries,\r\n (extraOptions || EMPTY_OPTIONS).maxRetries\r\n ].filter(function (x) { return x !== void 0; });\r\n maxRetries = possibleMaxRetries.slice(-1)[0];\r\n defaultRetryCondition = function (_, __, _j) {\r\n var attempt = _j.attempt;\r\n return attempt <= maxRetries;\r\n };\r\n options = __spreadValues(__spreadValues({\r\n maxRetries: maxRetries,\r\n backoff: defaultBackoff,\r\n retryCondition: defaultRetryCondition\r\n }, defaultOptions), extraOptions);\r\n retry2 = 0;\r\n _j.label = 1;\r\n case 1:\r\n if (!true) return [3 /*break*/, 7];\r\n _j.label = 2;\r\n case 2:\r\n _j.trys.push([2, 4, , 6]);\r\n return [4 /*yield*/, baseQuery(args, api, extraOptions)];\r\n case 3:\r\n result = _j.sent();\r\n if (result.error) {\r\n throw new HandledError(result);\r\n }\r\n return [2 /*return*/, result];\r\n case 4:\r\n e_3 = _j.sent();\r\n retry2++;\r\n if (e_3.throwImmediately) {\r\n if (e_3 instanceof HandledError) {\r\n return [2 /*return*/, e_3.value];\r\n }\r\n throw e_3;\r\n }\r\n if (e_3 instanceof HandledError && !options.retryCondition(e_3.value.error, args, {\r\n attempt: retry2,\r\n baseQueryApi: api,\r\n extraOptions: extraOptions\r\n })) {\r\n return [2 /*return*/, e_3.value];\r\n }\r\n return [4 /*yield*/, options.backoff(retry2, options.maxRetries)];\r\n case 5:\r\n _j.sent();\r\n return [3 /*break*/, 6];\r\n case 6: return [3 /*break*/, 1];\r\n case 7: return [2 /*return*/];\r\n }\r\n });\r\n}); }; };\r\nvar retry = /* @__PURE__ */ Object.assign(retryWithBackoff, { fail: fail });\r\n// src/query/core/setupListeners.ts\r\nimport { createAction } from \"@reduxjs/toolkit\";\r\nvar onFocus = /* @__PURE__ */ createAction(\"__rtkq/focused\");\r\nvar onFocusLost = /* @__PURE__ */ createAction(\"__rtkq/unfocused\");\r\nvar onOnline = /* @__PURE__ */ createAction(\"__rtkq/online\");\r\nvar onOffline = /* @__PURE__ */ createAction(\"__rtkq/offline\");\r\nvar initialized = false;\r\nfunction setupListeners(dispatch, customHandler) {\r\n function defaultHandler() {\r\n var handleFocus = function () { return dispatch(onFocus()); };\r\n var handleFocusLost = function () { return dispatch(onFocusLost()); };\r\n var handleOnline = function () { return dispatch(onOnline()); };\r\n var handleOffline = function () { return dispatch(onOffline()); };\r\n var handleVisibilityChange = function () {\r\n if (window.document.visibilityState === \"visible\") {\r\n handleFocus();\r\n }\r\n else {\r\n handleFocusLost();\r\n }\r\n };\r\n if (!initialized) {\r\n if (typeof window !== \"undefined\" && window.addEventListener) {\r\n window.addEventListener(\"visibilitychange\", handleVisibilityChange, false);\r\n window.addEventListener(\"focus\", handleFocus, false);\r\n window.addEventListener(\"online\", handleOnline, false);\r\n window.addEventListener(\"offline\", handleOffline, false);\r\n initialized = true;\r\n }\r\n }\r\n var unsubscribe = function () {\r\n window.removeEventListener(\"focus\", handleFocus);\r\n window.removeEventListener(\"visibilitychange\", handleVisibilityChange);\r\n window.removeEventListener(\"online\", handleOnline);\r\n window.removeEventListener(\"offline\", handleOffline);\r\n initialized = false;\r\n };\r\n return unsubscribe;\r\n }\r\n return customHandler ? customHandler(dispatch, { onFocus: onFocus, onFocusLost: onFocusLost, onOffline: onOffline, onOnline: onOnline }) : defaultHandler();\r\n}\r\n// src/query/core/buildSelectors.ts\r\nimport { createNextState as createNextState2, createSelector } from \"@reduxjs/toolkit\";\r\n// src/query/endpointDefinitions.ts\r\nvar DefinitionType;\r\n(function (DefinitionType2) {\r\n DefinitionType2[\"query\"] = \"query\";\r\n DefinitionType2[\"mutation\"] = \"mutation\";\r\n})(DefinitionType || (DefinitionType = {}));\r\nfunction isQueryDefinition(e) {\r\n return e.type === DefinitionType.query;\r\n}\r\nfunction isMutationDefinition(e) {\r\n return e.type === DefinitionType.mutation;\r\n}\r\nfunction calculateProvidedBy(description, result, error, queryArg, meta, assertTagTypes) {\r\n if (isFunction(description)) {\r\n return description(result, error, queryArg, meta).map(expandTagDescription).map(assertTagTypes);\r\n }\r\n if (Array.isArray(description)) {\r\n return description.map(expandTagDescription).map(assertTagTypes);\r\n }\r\n return [];\r\n}\r\nfunction isFunction(t) {\r\n return typeof t === \"function\";\r\n}\r\nfunction expandTagDescription(description) {\r\n return typeof description === \"string\" ? { type: description } : description;\r\n}\r\n// src/query/core/buildSlice.ts\r\nimport { combineReducers, createAction as createAction2, createSlice, isAnyOf, isFulfilled as isFulfilled2, isRejectedWithValue as isRejectedWithValue2, createNextState, prepareAutoBatched } from \"@reduxjs/toolkit\";\r\n// src/query/utils/isNotNullish.ts\r\nfunction isNotNullish(v) {\r\n return v != null;\r\n}\r\n// src/query/core/buildInitiate.ts\r\nvar forceQueryFnSymbol = Symbol(\"forceQueryFn\");\r\nvar isUpsertQuery = function (arg) { return typeof arg[forceQueryFnSymbol] === \"function\"; };\r\nfunction buildInitiate(_j) {\r\n var serializeQueryArgs = _j.serializeQueryArgs, queryThunk = _j.queryThunk, mutationThunk = _j.mutationThunk, api = _j.api, context = _j.context;\r\n var runningQueries = new Map();\r\n var runningMutations = new Map();\r\n var _k = api.internalActions, unsubscribeQueryResult = _k.unsubscribeQueryResult, removeMutationResult = _k.removeMutationResult, updateSubscriptionOptions = _k.updateSubscriptionOptions;\r\n return {\r\n buildInitiateQuery: buildInitiateQuery,\r\n buildInitiateMutation: buildInitiateMutation,\r\n getRunningQueryThunk: getRunningQueryThunk,\r\n getRunningMutationThunk: getRunningMutationThunk,\r\n getRunningQueriesThunk: getRunningQueriesThunk,\r\n getRunningMutationsThunk: getRunningMutationsThunk,\r\n getRunningOperationPromises: getRunningOperationPromises,\r\n removalWarning: removalWarning\r\n };\r\n function removalWarning() {\r\n throw new Error(\"This method had to be removed due to a conceptual bug in RTK.\\n Please see https://github.com/reduxjs/redux-toolkit/pull/2481 for details.\\n See https://redux-toolkit.js.org/rtk-query/usage/server-side-rendering for new guidance on SSR.\");\r\n }\r\n function getRunningOperationPromises() {\r\n if (typeof process !== \"undefined\" && process.env.NODE_ENV === \"development\") {\r\n removalWarning();\r\n }\r\n else {\r\n var extract = function (v) { return Array.from(v.values()).flatMap(function (queriesForStore) { return queriesForStore ? Object.values(queriesForStore) : []; }); };\r\n return __spreadArray(__spreadArray([], extract(runningQueries)), extract(runningMutations)).filter(isNotNullish);\r\n }\r\n }\r\n function getRunningQueryThunk(endpointName, queryArgs) {\r\n return function (dispatch) {\r\n var _a;\r\n var endpointDefinition = context.endpointDefinitions[endpointName];\r\n var queryCacheKey = serializeQueryArgs({\r\n queryArgs: queryArgs,\r\n endpointDefinition: endpointDefinition,\r\n endpointName: endpointName\r\n });\r\n return (_a = runningQueries.get(dispatch)) == null ? void 0 : _a[queryCacheKey];\r\n };\r\n }\r\n function getRunningMutationThunk(_endpointName, fixedCacheKeyOrRequestId) {\r\n return function (dispatch) {\r\n var _a;\r\n return (_a = runningMutations.get(dispatch)) == null ? void 0 : _a[fixedCacheKeyOrRequestId];\r\n };\r\n }\r\n function getRunningQueriesThunk() {\r\n return function (dispatch) { return Object.values(runningQueries.get(dispatch) || {}).filter(isNotNullish); };\r\n }\r\n function getRunningMutationsThunk() {\r\n return function (dispatch) { return Object.values(runningMutations.get(dispatch) || {}).filter(isNotNullish); };\r\n }\r\n function middlewareWarning(dispatch) {\r\n if (process.env.NODE_ENV !== \"production\") {\r\n if (middlewareWarning.triggered)\r\n return;\r\n var registered = dispatch(api.internalActions.internal_probeSubscription({\r\n queryCacheKey: \"DOES_NOT_EXIST\",\r\n requestId: \"DUMMY_REQUEST_ID\"\r\n }));\r\n middlewareWarning.triggered = true;\r\n if (typeof registered !== \"boolean\") {\r\n throw new Error(\"Warning: Middleware for RTK-Query API at reducerPath \\\"\" + api.reducerPath + \"\\\" has not been added to the store.\\nYou must add the middleware for RTK-Query to function correctly!\");\r\n }\r\n }\r\n }\r\n function buildInitiateQuery(endpointName, endpointDefinition) {\r\n var queryAction = function (arg, _j) {\r\n var _k = _j === void 0 ? {} : _j, _l = _k.subscribe, subscribe = _l === void 0 ? true : _l, forceRefetch = _k.forceRefetch, subscriptionOptions = _k.subscriptionOptions, _m = forceQueryFnSymbol, forceQueryFn = _k[_m];\r\n return function (dispatch, getState) {\r\n var _j;\r\n var _a;\r\n var queryCacheKey = serializeQueryArgs({\r\n queryArgs: arg,\r\n endpointDefinition: endpointDefinition,\r\n endpointName: endpointName\r\n });\r\n var thunk = queryThunk((_j = {\r\n type: \"query\",\r\n subscribe: subscribe,\r\n forceRefetch: forceRefetch,\r\n subscriptionOptions: subscriptionOptions,\r\n endpointName: endpointName,\r\n originalArgs: arg,\r\n queryCacheKey: queryCacheKey\r\n },\r\n _j[forceQueryFnSymbol] = forceQueryFn,\r\n _j));\r\n var selector = api.endpoints[endpointName].select(arg);\r\n var thunkResult = dispatch(thunk);\r\n var stateAfter = selector(getState());\r\n middlewareWarning(dispatch);\r\n var requestId = thunkResult.requestId, abort = thunkResult.abort;\r\n var skippedSynchronously = stateAfter.requestId !== requestId;\r\n var runningQuery = (_a = runningQueries.get(dispatch)) == null ? void 0 : _a[queryCacheKey];\r\n var selectFromState = function () { return selector(getState()); };\r\n var statePromise = Object.assign(forceQueryFn ? thunkResult.then(selectFromState) : skippedSynchronously && !runningQuery ? Promise.resolve(stateAfter) : Promise.all([runningQuery, thunkResult]).then(selectFromState), {\r\n arg: arg,\r\n requestId: requestId,\r\n subscriptionOptions: subscriptionOptions,\r\n queryCacheKey: queryCacheKey,\r\n abort: abort,\r\n unwrap: function () {\r\n return __async(this, null, function () {\r\n var result;\r\n return __generator(this, function (_j) {\r\n switch (_j.label) {\r\n case 0: return [4 /*yield*/, statePromise];\r\n case 1:\r\n result = _j.sent();\r\n if (result.isError) {\r\n throw result.error;\r\n }\r\n return [2 /*return*/, result.data];\r\n }\r\n });\r\n });\r\n },\r\n refetch: function () { return dispatch(queryAction(arg, { subscribe: false, forceRefetch: true })); },\r\n unsubscribe: function () {\r\n if (subscribe)\r\n dispatch(unsubscribeQueryResult({\r\n queryCacheKey: queryCacheKey,\r\n requestId: requestId\r\n }));\r\n },\r\n updateSubscriptionOptions: function (options) {\r\n statePromise.subscriptionOptions = options;\r\n dispatch(updateSubscriptionOptions({\r\n endpointName: endpointName,\r\n requestId: requestId,\r\n queryCacheKey: queryCacheKey,\r\n options: options\r\n }));\r\n }\r\n });\r\n if (!runningQuery && !skippedSynchronously && !forceQueryFn) {\r\n var running_1 = runningQueries.get(dispatch) || {};\r\n running_1[queryCacheKey] = statePromise;\r\n runningQueries.set(dispatch, running_1);\r\n statePromise.then(function () {\r\n delete running_1[queryCacheKey];\r\n if (!Object.keys(running_1).length) {\r\n runningQueries.delete(dispatch);\r\n }\r\n });\r\n }\r\n return statePromise;\r\n };\r\n };\r\n return queryAction;\r\n }\r\n function buildInitiateMutation(endpointName) {\r\n return function (arg, _j) {\r\n var _k = _j === void 0 ? {} : _j, _l = _k.track, track = _l === void 0 ? true : _l, fixedCacheKey = _k.fixedCacheKey;\r\n return function (dispatch, getState) {\r\n var thunk = mutationThunk({\r\n type: \"mutation\",\r\n endpointName: endpointName,\r\n originalArgs: arg,\r\n track: track,\r\n fixedCacheKey: fixedCacheKey\r\n });\r\n var thunkResult = dispatch(thunk);\r\n middlewareWarning(dispatch);\r\n var requestId = thunkResult.requestId, abort = thunkResult.abort, unwrap = thunkResult.unwrap;\r\n var returnValuePromise = thunkResult.unwrap().then(function (data) { return ({ data: data }); }).catch(function (error) { return ({ error: error }); });\r\n var reset = function () {\r\n dispatch(removeMutationResult({ requestId: requestId, fixedCacheKey: fixedCacheKey }));\r\n };\r\n var ret = Object.assign(returnValuePromise, {\r\n arg: thunkResult.arg,\r\n requestId: requestId,\r\n abort: abort,\r\n unwrap: unwrap,\r\n unsubscribe: reset,\r\n reset: reset\r\n });\r\n var running = runningMutations.get(dispatch) || {};\r\n runningMutations.set(dispatch, running);\r\n running[requestId] = ret;\r\n ret.then(function () {\r\n delete running[requestId];\r\n if (!Object.keys(running).length) {\r\n runningMutations.delete(dispatch);\r\n }\r\n });\r\n if (fixedCacheKey) {\r\n running[fixedCacheKey] = ret;\r\n ret.then(function () {\r\n if (running[fixedCacheKey] === ret) {\r\n delete running[fixedCacheKey];\r\n if (!Object.keys(running).length) {\r\n runningMutations.delete(dispatch);\r\n }\r\n }\r\n });\r\n }\r\n return ret;\r\n };\r\n };\r\n }\r\n}\r\n// src/query/core/buildThunks.ts\r\nimport { isAllOf, isFulfilled, isPending, isRejected, isRejectedWithValue } from \"@reduxjs/toolkit\";\r\nimport { isDraftable, produceWithPatches } from \"immer\";\r\nimport { createAsyncThunk, SHOULD_AUTOBATCH } from \"@reduxjs/toolkit\";\r\nfunction defaultTransformResponse(baseQueryReturnValue) {\r\n return baseQueryReturnValue;\r\n}\r\nfunction buildThunks(_j) {\r\n var _this = this;\r\n var reducerPath = _j.reducerPath, baseQuery = _j.baseQuery, endpointDefinitions = _j.context.endpointDefinitions, serializeQueryArgs = _j.serializeQueryArgs, api = _j.api, assertTagType = _j.assertTagType;\r\n var patchQueryData = function (endpointName, args, patches, updateProvided) { return function (dispatch, getState) {\r\n var endpointDefinition = endpointDefinitions[endpointName];\r\n var queryCacheKey = serializeQueryArgs({\r\n queryArgs: args,\r\n endpointDefinition: endpointDefinition,\r\n endpointName: endpointName\r\n });\r\n dispatch(api.internalActions.queryResultPatched({ queryCacheKey: queryCacheKey, patches: patches }));\r\n if (!updateProvided) {\r\n return;\r\n }\r\n var newValue = api.endpoints[endpointName].select(args)(getState());\r\n var providedTags = calculateProvidedBy(endpointDefinition.providesTags, newValue.data, void 0, args, {}, assertTagType);\r\n dispatch(api.internalActions.updateProvidedBy({ queryCacheKey: queryCacheKey, providedTags: providedTags }));\r\n }; };\r\n var updateQueryData = function (endpointName, args, updateRecipe, updateProvided) {\r\n if (updateProvided === void 0) { updateProvided = true; }\r\n return function (dispatch, getState) {\r\n var _j, _k;\r\n var endpointDefinition = api.endpoints[endpointName];\r\n var currentState = endpointDefinition.select(args)(getState());\r\n var ret = {\r\n patches: [],\r\n inversePatches: [],\r\n undo: function () { return dispatch(api.util.patchQueryData(endpointName, args, ret.inversePatches, updateProvided)); }\r\n };\r\n if (currentState.status === QueryStatus.uninitialized) {\r\n return ret;\r\n }\r\n var newValue;\r\n if (\"data\" in currentState) {\r\n if (isDraftable(currentState.data)) {\r\n var _l = produceWithPatches(currentState.data, updateRecipe), value = _l[0], patches = _l[1], inversePatches = _l[2];\r\n (_j = ret.patches).push.apply(_j, patches);\r\n (_k = ret.inversePatches).push.apply(_k, inversePatches);\r\n newValue = value;\r\n }\r\n else {\r\n newValue = updateRecipe(currentState.data);\r\n ret.patches.push({ op: \"replace\", path: [], value: newValue });\r\n ret.inversePatches.push({\r\n op: \"replace\",\r\n path: [],\r\n value: currentState.data\r\n });\r\n }\r\n }\r\n dispatch(api.util.patchQueryData(endpointName, args, ret.patches, updateProvided));\r\n return ret;\r\n };\r\n };\r\n var upsertQueryData = function (endpointName, args, value) { return function (dispatch) {\r\n var _j;\r\n return dispatch(api.endpoints[endpointName].initiate(args, (_j = {\r\n subscribe: false,\r\n forceRefetch: true\r\n },\r\n _j[forceQueryFnSymbol] = function () { return ({\r\n data: value\r\n }); },\r\n _j)));\r\n }; };\r\n var executeEndpoint = function (_0, _1) { return __async(_this, [_0, _1], function (arg, _j) {\r\n var endpointDefinition, transformResponse, result, baseQueryApi_1, forceQueryFn, what, err, _k, _l, key, _m, error_1, catchedError, transformErrorResponse, _o, e_4;\r\n var _p, _q;\r\n var signal = _j.signal, abort = _j.abort, rejectWithValue = _j.rejectWithValue, fulfillWithValue = _j.fulfillWithValue, dispatch = _j.dispatch, getState = _j.getState, extra = _j.extra;\r\n return __generator(this, function (_r) {\r\n switch (_r.label) {\r\n case 0:\r\n endpointDefinition = endpointDefinitions[arg.endpointName];\r\n _r.label = 1;\r\n case 1:\r\n _r.trys.push([1, 8, , 13]);\r\n transformResponse = defaultTransformResponse;\r\n result = void 0;\r\n baseQueryApi_1 = {\r\n signal: signal,\r\n abort: abort,\r\n dispatch: dispatch,\r\n getState: getState,\r\n extra: extra,\r\n endpoint: arg.endpointName,\r\n type: arg.type,\r\n forced: arg.type === \"query\" ? isForcedQuery(arg, getState()) : void 0\r\n };\r\n forceQueryFn = arg.type === \"query\" ? arg[forceQueryFnSymbol] : void 0;\r\n if (!forceQueryFn) return [3 /*break*/, 2];\r\n result = forceQueryFn();\r\n return [3 /*break*/, 6];\r\n case 2:\r\n if (!endpointDefinition.query) return [3 /*break*/, 4];\r\n return [4 /*yield*/, baseQuery(endpointDefinition.query(arg.originalArgs), baseQueryApi_1, endpointDefinition.extraOptions)];\r\n case 3:\r\n result = _r.sent();\r\n if (endpointDefinition.transformResponse) {\r\n transformResponse = endpointDefinition.transformResponse;\r\n }\r\n return [3 /*break*/, 6];\r\n case 4: return [4 /*yield*/, endpointDefinition.queryFn(arg.originalArgs, baseQueryApi_1, endpointDefinition.extraOptions, function (arg2) { return baseQuery(arg2, baseQueryApi_1, endpointDefinition.extraOptions); })];\r\n case 5:\r\n result = _r.sent();\r\n _r.label = 6;\r\n case 6:\r\n if (typeof process !== \"undefined\" && process.env.NODE_ENV === \"development\") {\r\n what = endpointDefinition.query ? \"`baseQuery`\" : \"`queryFn`\";\r\n err = void 0;\r\n if (!result) {\r\n err = what + \" did not return anything.\";\r\n }\r\n else if (typeof result !== \"object\") {\r\n err = what + \" did not return an object.\";\r\n }\r\n else if (result.error && result.data) {\r\n err = what + \" returned an object containing both `error` and `result`.\";\r\n }\r\n else if (result.error === void 0 && result.data === void 0) {\r\n err = what + \" returned an object containing neither a valid `error` and `result`. At least one of them should not be `undefined`\";\r\n }\r\n else {\r\n for (_k = 0, _l = Object.keys(result); _k < _l.length; _k++) {\r\n key = _l[_k];\r\n if (key !== \"error\" && key !== \"data\" && key !== \"meta\") {\r\n err = \"The object returned by \" + what + \" has the unknown property \" + key + \".\";\r\n break;\r\n }\r\n }\r\n }\r\n if (err) {\r\n console.error(\"Error encountered handling the endpoint \" + arg.endpointName + \".\\n \" + err + \"\\n It needs to return an object with either the shape `{ data: <value> }` or `{ error: <value> }` that may contain an optional `meta` property.\\n Object returned was:\", result);\r\n }\r\n }\r\n if (result.error)\r\n throw new HandledError(result.error, result.meta);\r\n _m = fulfillWithValue;\r\n return [4 /*yield*/, transformResponse(result.data, result.meta, arg.originalArgs)];\r\n case 7: return [2 /*return*/, _m.apply(void 0, [_r.sent(), (_p = {\r\n fulfilledTimeStamp: Date.now(),\r\n baseQueryMeta: result.meta\r\n },\r\n _p[SHOULD_AUTOBATCH] = true,\r\n _p)])];\r\n case 8:\r\n error_1 = _r.sent();\r\n catchedError = error_1;\r\n if (!(catchedError instanceof HandledError)) return [3 /*break*/, 12];\r\n transformErrorResponse = defaultTransformResponse;\r\n if (endpointDefinition.query && endpointDefinition.transformErrorResponse) {\r\n transformErrorResponse = endpointDefinition.transformErrorResponse;\r\n }\r\n _r.label = 9;\r\n case 9:\r\n _r.trys.push([9, 11, , 12]);\r\n _o = rejectWithValue;\r\n return [4 /*yield*/, transformErrorResponse(catchedError.value, catchedError.meta, arg.originalArgs)];\r\n case 10: return [2 /*return*/, _o.apply(void 0, [_r.sent(), (_q = { baseQueryMeta: catchedError.meta }, _q[SHOULD_AUTOBATCH] = true, _q)])];\r\n case 11:\r\n e_4 = _r.sent();\r\n catchedError = e_4;\r\n return [3 /*break*/, 12];\r\n case 12:\r\n if (typeof process !== \"undefined\" && process.env.NODE_ENV !== \"production\") {\r\n console.error(\"An unhandled error occurred processing a request for the endpoint \\\"\" + arg.endpointName + \"\\\".\\nIn the case of an unhandled error, no tags will be \\\"provided\\\" or \\\"invalidated\\\".\", catchedError);\r\n }\r\n else {\r\n console.error(catchedError);\r\n }\r\n throw catchedError;\r\n case 13: return [2 /*return*/];\r\n }\r\n });\r\n }); };\r\n function isForcedQuery(arg, state) {\r\n var _a, _b, _c, _d;\r\n var requestState = (_b = (_a = state[reducerPath]) == null ? void 0 : _a.queries) == null ? void 0 : _b[arg.queryCacheKey];\r\n var baseFetchOnMountOrArgChange = (_c = state[reducerPath]) == null ? void 0 : _c.config.refetchOnMountOrArgChange;\r\n var fulfilledVal = requestState == null ? void 0 : requestState.fulfilledTimeStamp;\r\n var refetchVal = (_d = arg.forceRefetch) != null ? _d : arg.subscribe && baseFetchOnMountOrArgChange;\r\n if (refetchVal) {\r\n return refetchVal === true || (Number(new Date()) - Number(fulfilledVal)) / 1e3 >= refetchVal;\r\n }\r\n return false;\r\n }\r\n var queryThunk = createAsyncThunk(reducerPath + \"/executeQuery\", executeEndpoint, {\r\n getPendingMeta: function () {\r\n var _j;\r\n return _j = { startedTimeStamp: Date.now() }, _j[SHOULD_AUTOBATCH] = true, _j;\r\n },\r\n condition: function (queryThunkArgs, _j) {\r\n var getState = _j.getState;\r\n var _a, _b, _c;\r\n var state = getState();\r\n var requestState = (_b = (_a = state[reducerPath]) == null ? void 0 : _a.queries) == null ? void 0 : _b[queryThunkArgs.queryCacheKey];\r\n var fulfilledVal = requestState == null ? void 0 : requestState.fulfilledTimeStamp;\r\n var currentArg = queryThunkArgs.originalArgs;\r\n var previousArg = requestState == null ? void 0 : requestState.originalArgs;\r\n var endpointDefinition = endpointDefinitions[queryThunkArgs.endpointName];\r\n if (isUpsertQuery(queryThunkArgs)) {\r\n return true;\r\n }\r\n if ((requestState == null ? void 0 : requestState.status) === \"pending\") {\r\n return false;\r\n }\r\n if (isForcedQuery(queryThunkArgs, state)) {\r\n return true;\r\n }\r\n if (isQueryDefinition(endpointDefinition) && ((_c = endpointDefinition == null ? void 0 : endpointDefinition.forceRefetch) == null ? void 0 : _c.call(endpointDefinition, {\r\n currentArg: currentArg,\r\n previousArg: previousArg,\r\n endpointState: requestState,\r\n state: state\r\n }))) {\r\n return true;\r\n }\r\n if (fulfilledVal) {\r\n return false;\r\n }\r\n return true;\r\n },\r\n dispatchConditionRejection: true\r\n });\r\n var mutationThunk = createAsyncThunk(reducerPath + \"/executeMutation\", executeEndpoint, {\r\n getPendingMeta: function () {\r\n var _j;\r\n return _j = { startedTimeStamp: Date.now() }, _j[SHOULD_AUTOBATCH] = true, _j;\r\n }\r\n });\r\n var hasTheForce = function (options) { return \"force\" in options; };\r\n var hasMaxAge = function (options) { return \"ifOlderThan\" in options; };\r\n var prefetch = function (endpointName, arg, options) { return function (dispatch, getState) {\r\n var force = hasTheForce(options) && options.force;\r\n var maxAge = hasMaxAge(options) && options.ifOlderThan;\r\n var queryAction = function (force2) {\r\n if (force2 === void 0) { force2 = true; }\r\n return api.endpoints[endpointName].initiate(arg, { forceRefetch: force2 });\r\n };\r\n var latestStateValue = api.endpoints[endpointName].select(arg)(getState());\r\n if (force) {\r\n dispatch(queryAction());\r\n }\r\n else if (maxAge) {\r\n var lastFulfilledTs = latestStateValue == null ? void 0 : latestStateValue.fulfilledTimeStamp;\r\n if (!lastFulfilledTs) {\r\n dispatch(queryAction());\r\n return;\r\n }\r\n var shouldRetrigger = (Number(new Date()) - Number(new Date(lastFulfilledTs))) / 1e3 >= maxAge;\r\n if (shouldRetrigger) {\r\n dispatch(queryAction());\r\n }\r\n }\r\n else {\r\n dispatch(queryAction(false));\r\n }\r\n }; };\r\n function matchesEndpoint(endpointName) {\r\n return function (action) {\r\n var _a, _b;\r\n return ((_b = (_a = action == null ? void 0 : action.meta) == null ? void 0 : _a.arg) == null ? void 0 : _b.endpointName) === endpointName;\r\n };\r\n }\r\n function buildMatchThunkActions(thunk, endpointName) {\r\n return {\r\n matchPending: isAllOf(isPending(thunk), matchesEndpoint(endpointName)),\r\n matchFulfilled: isAllOf(isFulfilled(thunk), matchesEndpoint(endpointName)),\r\n matchRejected: isAllOf(isRejected(thunk), matchesEndpoint(endpointName))\r\n };\r\n }\r\n return {\r\n queryThunk: queryThunk,\r\n mutationThunk: mutationThunk,\r\n prefetch: prefetch,\r\n updateQueryData: updateQueryData,\r\n upsertQueryData: upsertQueryData,\r\n patchQueryData: patchQueryData,\r\n buildMatchThunkActions: buildMatchThunkActions\r\n };\r\n}\r\nfunction calculateProvidedByThunk(action, type, endpointDefinitions, assertTagType) {\r\n return calculateProvidedBy(endpointDefinitions[action.meta.arg.endpointName][type], isFulfilled(action) ? action.payload : void 0, isRejectedWithValue(action) ? action.payload : void 0, action.meta.arg.originalArgs, \"baseQueryMeta\" in action.meta ? action.meta.baseQueryMeta : void 0, assertTagType);\r\n}\r\n// src/query/core/buildSlice.ts\r\nimport { isDraft } from \"immer\";\r\nimport { applyPatches, original } from \"immer\";\r\nfunction updateQuerySubstateIfExists(state, queryCacheKey, update) {\r\n var substate = state[queryCacheKey];\r\n if (substate) {\r\n update(substate);\r\n }\r\n}\r\nfunction getMutationCacheKey(id) {\r\n var _a;\r\n return (_a = \"arg\" in id ? id.arg.fixedCacheKey : id.fixedCacheKey) != null ? _a : id.requestId;\r\n}\r\nfunction updateMutationSubstateIfExists(state, id, update) {\r\n var substate = state[getMutationCacheKey(id)];\r\n if (substate) {\r\n update(substate);\r\n }\r\n}\r\nvar initialState = {};\r\nfunction buildSlice(_j) {\r\n var reducerPath = _j.reducerPath, queryThunk = _j.queryThunk, mutationThunk = _j.mutationThunk, _k = _j.context, definitions = _k.endpointDefinitions, apiUid = _k.apiUid, extractRehydrationInfo = _k.extractRehydrationInfo, hasRehydrationInfo = _k.hasRehydrationInfo, assertTagType = _j.assertTagType, config = _j.config;\r\n var resetApiState = createAction2(reducerPath + \"/resetApiState\");\r\n var querySlice = createSlice({\r\n name: reducerPath + \"/queries\",\r\n initialState: initialState,\r\n reducers: {\r\n removeQueryResult: {\r\n reducer: function (draft, _j) {\r\n var queryCacheKey = _j.payload.queryCacheKey;\r\n delete draft[queryCacheKey];\r\n },\r\n prepare: prepareAutoBatched()\r\n },\r\n queryResultPatched: {\r\n reducer: function (draft, _j) {\r\n var _k = _j.payload, queryCacheKey = _k.queryCacheKey, patches = _k.patches;\r\n updateQuerySubstateIfExists(draft, queryCacheKey, function (substate) {\r\n substate.data = applyPatches(substate.data, patches.concat());\r\n });\r\n },\r\n prepare: prepareAutoBatched()\r\n }\r\n },\r\n extraReducers: function (builder) {\r\n builder.addCase(queryThunk.pending, function (draft, _j) {\r\n var meta = _j.meta, arg = _j.meta.arg;\r\n var _a, _b;\r\n var upserting = isUpsertQuery(arg);\r\n if (arg.subscribe || upserting) {\r\n (_b = draft[_a = arg.queryCacheKey]) != null ? _b : draft[_a] = {\r\n status: QueryStatus.uninitialized,\r\n endpointName: arg.endpointName\r\n };\r\n }\r\n updateQuerySubstateIfExists(draft, arg.queryCacheKey, function (substate) {\r\n substate.status = QueryStatus.pending;\r\n substate.requestId = upserting && substate.requestId ? substate.requestId : meta.requestId;\r\n if (arg.originalArgs !== void 0) {\r\n substate.originalArgs = arg.originalArgs;\r\n }\r\n substate.startedTimeStamp = meta.startedTimeStamp;\r\n });\r\n }).addCase(queryThunk.fulfilled, function (draft, _j) {\r\n var meta = _j.meta, payload = _j.payload;\r\n updateQuerySubstateIfExists(draft, meta.arg.queryCacheKey, function (substate) {\r\n var _a;\r\n if (substate.requestId !== meta.requestId && !isUpsertQuery(meta.arg))\r\n return;\r\n var merge = definitions[meta.arg.endpointName].merge;\r\n substate.status = QueryStatus.fulfilled;\r\n if (merge) {\r\n if (substate.data !== void 0) {\r\n var fulfilledTimeStamp_1 = meta.fulfilledTimeStamp, arg_1 = meta.arg, baseQueryMeta_1 = meta.baseQueryMeta, requestId_1 = meta.requestId;\r\n var newData = createNextState(substate.data, function (draftSubstateData) {\r\n return merge(draftSubstateData, payload, {\r\n arg: arg_1.originalArgs,\r\n baseQueryMeta: baseQueryMeta_1,\r\n fulfilledTimeStamp: fulfilledTimeStamp_1,\r\n requestId: requestId_1\r\n });\r\n });\r\n substate.data = newData;\r\n }\r\n else {\r\n substate.data = payload;\r\n }\r\n }\r\n else {\r\n substate.data = ((_a = definitions[meta.arg.endpointName].structuralSharing) != null ? _a : true) ? copyWithStructuralSharing(isDraft(substate.data) ? original(substate.data) : substate.data, payload) : payload;\r\n }\r\n delete substate.error;\r\n substate.fulfilledTimeStamp = meta.fulfilledTimeStamp;\r\n });\r\n }).addCase(queryThunk.rejected, function (draft, _j) {\r\n var _k = _j.meta, condition = _k.condition, arg = _k.arg, requestId = _k.requestId, error = _j.error, payload = _j.payload;\r\n updateQuerySubstateIfExists(draft, arg.queryCacheKey, function (substate) {\r\n if (condition) {\r\n }\r\n else {\r\n if (substate.requestId !== requestId)\r\n return;\r\n substate.status = QueryStatus.rejected;\r\n substate.error = payload != null ? payload : error;\r\n }\r\n });\r\n }).addMatcher(hasRehydrationInfo, function (draft, action) {\r\n var queries = extractRehydrationInfo(action).queries;\r\n for (var _j = 0, _k = Object.entries(queries); _j < _k.length; _j++) {\r\n var _l = _k[_j], key = _l[0], entry = _l[1];\r\n if ((entry == null ? void 0 : entry.status) === QueryStatus.fulfilled || (entry == null ? void 0 : entry.status) === QueryStatus.rejected) {\r\n draft[key] = entry;\r\n }\r\n }\r\n });\r\n }\r\n });\r\n var mutationSlice = createSlice({\r\n name: reducerPath + \"/mutations\",\r\n initialState: initialState,\r\n reducers: {\r\n removeMutationResult: {\r\n reducer: function (draft, _j) {\r\n var payload = _j.payload;\r\n var cacheKey = getMutationCacheKey(payload);\r\n if (cacheKey in draft) {\r\n delete draft[cacheKey];\r\n }\r\n },\r\n prepare: prepareAutoBatched()\r\n }\r\n },\r\n extraReducers: function (builder) {\r\n builder.addCase(mutationThunk.pending, function (draft, _j) {\r\n var meta = _j.meta, _k = _j.meta, requestId = _k.requestId, arg = _k.arg, startedTimeStamp = _k.startedTimeStamp;\r\n if (!arg.track)\r\n return;\r\n draft[getMutationCacheKey(meta)] = {\r\n requestId: requestId,\r\n status: QueryStatus.pending,\r\n endpointName: arg.endpointName,\r\n startedTimeStamp: startedTimeStamp\r\n };\r\n }).addCase(mutationThunk.fulfilled, function (draft, _j) {\r\n var payload = _j.payload, meta = _j.meta;\r\n if (!meta.arg.track)\r\n return;\r\n updateMutationSubstateIfExists(draft, meta, function (substate) {\r\n if (substate.requestId !== meta.requestId)\r\n return;\r\n substate.status = QueryStatus.fulfilled;\r\n substate.data = payload;\r\n substate.fulfilledTimeStamp = meta.fulfilledTimeStamp;\r\n });\r\n }).addCase(mutationThunk.rejected, function (draft, _j) {\r\n var payload = _j.payload, error = _j.error, meta = _j.meta;\r\n if (!meta.arg.track)\r\n return;\r\n updateMutationSubstateIfExists(draft, meta, function (substate) {\r\n if (substate.requestId !== meta.requestId)\r\n return;\r\n substate.status = QueryStatus.rejected;\r\n substate.error = payload != null ? payload : error;\r\n });\r\n }).addMatcher(hasRehydrationInfo, function (draft, action) {\r\n var mutations = extractRehydrationInfo(action).mutations;\r\n for (var _j = 0, _k = Object.entries(mutations); _j < _k.length; _j++) {\r\n var _l = _k[_j], key = _l[0], entry = _l[1];\r\n if (((entry == null ? void 0 : entry.status) === QueryStatus.fulfilled || (entry == null ? void 0 : entry.status) === QueryStatus.rejected) && key !== (entry == null ? void 0 : entry.requestId)) {\r\n draft[key] = entry;\r\n }\r\n }\r\n });\r\n }\r\n });\r\n var invalidationSlice = createSlice({\r\n name: reducerPath + \"/invalidation\",\r\n initialState: initialState,\r\n reducers: {\r\n updateProvidedBy: {\r\n reducer: function (draft, action) {\r\n var _a, _b, _c, _d;\r\n var _j = action.payload, queryCacheKey = _j.queryCacheKey, providedTags = _j.providedTags;\r\n for (var _k = 0, _l = Object.values(draft); _k < _l.length; _k++) {\r\n var tagTypeSubscriptions = _l[_k];\r\n for (var _m = 0, _o = Object.values(tagTypeSubscriptions); _m < _o.length; _m++) {\r\n var idSubscriptions = _o[_m];\r\n var foundAt = idSubscriptions.indexOf(queryCacheKey);\r\n if (foundAt !== -1) {\r\n idSubscriptions.splice(foundAt, 1);\r\n }\r\n }\r\n }\r\n for (var _p = 0, providedTags_1 = providedTags; _p < providedTags_1.length; _p++) {\r\n var _q = providedTags_1[_p], type = _q.type, id = _q.id;\r\n var subscribedQueries = (_d = (_b = (_a = draft[type]) != null ? _a : draft[type] = {})[_c = id || \"__internal_without_id\"]) != null ? _d : _b[_c] = [];\r\n var alreadySubscribed = subscribedQueries.includes(queryCacheKey);\r\n if (!alreadySubscribed) {\r\n subscribedQueries.push(queryCacheKey);\r\n }\r\n }\r\n },\r\n prepare: prepareAutoBatched()\r\n }\r\n },\r\n extraReducers: function (builder) {\r\n builder.addCase(querySlice.actions.removeQueryResult, function (draft, _j) {\r\n var queryCacheKey = _j.payload.queryCacheKey;\r\n for (var _k = 0, _l = Object.values(draft); _k < _l.length; _k++) {\r\n var tagTypeSubscriptions = _l[_k];\r\n for (var _m = 0, _o = Object.values(tagTypeSubscriptions); _m < _o.length; _m++) {\r\n var idSubscriptions = _o[_m];\r\n var foundAt = idSubscriptions.indexOf(queryCacheKey);\r\n if (foundAt !== -1) {\r\n idSubscriptions.splice(foundAt, 1);\r\n }\r\n }\r\n }\r\n }).addMatcher(hasRehydrationInfo, function (draft, action) {\r\n var _a, _b, _c, _d;\r\n var provided = extractRehydrationInfo(action).provided;\r\n for (var _j = 0, _k = Object.entries(provided); _j < _k.length; _j++) {\r\n var _l = _k[_j], type = _l[0], incomingTags = _l[1];\r\n for (var _m = 0, _o = Object.entries(incomingTags); _m < _o.length; _m++) {\r\n var _p = _o[_m], id = _p[0], cacheKeys = _p[1];\r\n var subscribedQueries = (_d = (_b = (_a = draft[type]) != null ? _a : draft[type] = {})[_c = id || \"__internal_without_id\"]) != null ? _d : _b[_c] = [];\r\n for (var _q = 0, cacheKeys_1 = cacheKeys; _q < cacheKeys_1.length; _q++) {\r\n var queryCacheKey = cacheKeys_1[_q];\r\n var alreadySubscribed = subscribedQueries.includes(queryCacheKey);\r\n if (!alreadySubscribed) {\r\n subscribedQueries.push(queryCacheKey);\r\n }\r\n }\r\n }\r\n }\r\n }).addMatcher(isAnyOf(isFulfilled2(queryThunk), isRejectedWithValue2(queryThunk)), function (draft, action) {\r\n var providedTags = calculateProvidedByThunk(action, \"providesTags\", definitions, assertTagType);\r\n var queryCacheKey = action.meta.arg.queryCacheKey;\r\n invalidationSlice.caseReducers.updateProvidedBy(draft, invalidationSlice.actions.updateProvidedBy({\r\n queryCacheKey: queryCacheKey,\r\n providedTags: providedTags\r\n }));\r\n });\r\n }\r\n });\r\n var subscriptionSlice = createSlice({\r\n name: reducerPath + \"/subscriptions\",\r\n initialState: initialState,\r\n reducers: {\r\n updateSubscriptionOptions: function (d, a) {\r\n },\r\n unsubscribeQueryResult: function (d, a) {\r\n },\r\n internal_probeSubscription: function (d, a) {\r\n }\r\n }\r\n });\r\n var internalSubscriptionsSlice = createSlice({\r\n name: reducerPath + \"/internalSubscriptions\",\r\n initialState: initialState,\r\n reducers: {\r\n subscriptionsUpdated: {\r\n reducer: function (state, action) {\r\n return applyPatches(state, action.payload);\r\n },\r\n prepare: prepareAutoBatched()\r\n }\r\n }\r\n });\r\n var configSlice = createSlice({\r\n name: reducerPath + \"/config\",\r\n initialState: __spreadValues({\r\n online: isOnline(),\r\n focused: isDocumentVisible(),\r\n middlewareRegistered: false\r\n }, config),\r\n reducers: {\r\n middlewareRegistered: function (state, _j) {\r\n var payload = _j.payload;\r\n state.middlewareRegistered = state.middlewareRegistered === \"conflict\" || apiUid !== payload ? \"conflict\" : true;\r\n }\r\n },\r\n extraReducers: function (builder) {\r\n builder.addCase(onOnline, function (state) {\r\n state.online = true;\r\n }).addCase(onOffline, function (state) {\r\n state.online = false;\r\n }).addCase(onFocus, function (state) {\r\n state.focused = true;\r\n }).addCase(onFocusLost, function (state) {\r\n state.focused = false;\r\n }).addMatcher(hasRehydrationInfo, function (draft) { return __spreadValues({}, draft); });\r\n }\r\n });\r\n var combinedReducer = combineReducers({\r\n queries: querySlice.reducer,\r\n mutations: mutationSlice.reducer,\r\n provided: invalidationSlice.reducer,\r\n subscriptions: internalSubscriptionsSlice.reducer,\r\n config: configSlice.reducer\r\n });\r\n var reducer = function (state, action) { return combinedReducer(resetApiState.match(action) ? void 0 : state, action); };\r\n var actions = __spreadProps(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues({}, configSlice.actions), querySlice.actions), subscriptionSlice.actions), internalSubscriptionsSlice.actions), mutationSlice.actions), invalidationSlice.actions), {\r\n unsubscribeMutationResult: mutationSlice.actions.removeMutationResult,\r\n resetApiState: resetApiState\r\n });\r\n return { reducer: reducer, actions: actions };\r\n}\r\n// src/query/core/buildSelectors.ts\r\nvar skipToken = /* @__PURE__ */ Symbol.for(\"RTKQ/skipToken\");\r\nvar skipSelector = skipToken;\r\nvar initialSubState = {\r\n status: QueryStatus.uninitialized\r\n};\r\nvar defaultQuerySubState = /* @__PURE__ */ createNextState2(initialSubState, function () {\r\n});\r\nvar defaultMutationSubState = /* @__PURE__ */ createNextState2(initialSubState, function () {\r\n});\r\nfunction buildSelectors(_j) {\r\n var serializeQueryArgs = _j.serializeQueryArgs, reducerPath = _j.reducerPath;\r\n var selectSkippedQuery = function (state) { return defaultQuerySubState; };\r\n var selectSkippedMutation = function (state) { return defaultMutationSubState; };\r\n return { buildQuerySelector: buildQuerySelector, buildMutationSelector: buildMutationSelector, selectInvalidatedBy: selectInvalidatedBy };\r\n function withRequestFlags(substate) {\r\n return __spreadValues(__spreadValues({}, substate), getRequestStatusFlags(substate.status));\r\n }\r\n function selectInternalState(rootState) {\r\n var state = rootState[reducerPath];\r\n if (process.env.NODE_ENV !== \"production\") {\r\n if (!state) {\r\n if (selectInternalState.triggered)\r\n return state;\r\n selectInternalState.triggered = true;\r\n console.error(\"Error: No data found at `state.\" + reducerPath + \"`. Did you forget to add the reducer to the store?\");\r\n }\r\n }\r\n return state;\r\n }\r\n function buildQuerySelector(endpointName, endpointDefinition) {\r\n return function (queryArgs) {\r\n var serializedArgs = serializeQueryArgs({\r\n queryArgs: queryArgs,\r\n endpointDefinition: endpointDefinition,\r\n endpointName: endpointName\r\n });\r\n var selectQuerySubstate = function (state) {\r\n var _a, _b, _c;\r\n return (_c = (_b = (_a = selectInternalState(state)) == null ? void 0 : _a.queries) == null ? void 0 : _b[serializedArgs]) != null ? _c : defaultQuerySubState;\r\n };\r\n var finalSelectQuerySubState = queryArgs === skipToken ? selectSkippedQuery : selectQuerySubstate;\r\n return createSelector(finalSelectQuerySubState, withRequestFlags);\r\n };\r\n }\r\n function buildMutationSelector() {\r\n return function (id) {\r\n var _a;\r\n var mutationId;\r\n if (typeof id === \"object\") {\r\n mutationId = (_a = getMutationCacheKey(id)) != null ? _a : skipToken;\r\n }\r\n else {\r\n mutationId = id;\r\n }\r\n var selectMutationSubstate = function (state) {\r\n var _a2, _b, _c;\r\n return (_c = (_b = (_a2 = selectInternalState(state)) == null ? void 0 : _a2.mutations) == null ? void 0 : _b[mutationId]) != null ? _c : defaultMutationSubState;\r\n };\r\n var finalSelectMutationSubstate = mutationId === skipToken ? selectSkippedMutation : selectMutationSubstate;\r\n return createSelector(finalSelectMutationSubstate, withRequestFlags);\r\n };\r\n }\r\n function selectInvalidatedBy(state, tags) {\r\n var _a;\r\n var apiState = state[reducerPath];\r\n var toInvalidate = new Set();\r\n for (var _j = 0, _k = tags.map(expandTagDescription); _j < _k.length; _j++) {\r\n var tag = _k[_j];\r\n var provided = apiState.provided[tag.type];\r\n if (!provided) {\r\n continue;\r\n }\r\n var invalidateSubscriptions = (_a = tag.id !== void 0 ? provided[tag.id] : flatten(Object.values(provided))) != null ? _a : [];\r\n for (var _l = 0, invalidateSubscriptions_1 = invalidateSubscriptions; _l < invalidateSubscriptions_1.length; _l++) {\r\n var invalidate = invalidateSubscriptions_1[_l];\r\n toInvalidate.add(invalidate);\r\n }\r\n }\r\n return flatten(Array.from(toInvalidate.values()).map(function (queryCacheKey) {\r\n var querySubState = apiState.queries[queryCacheKey];\r\n return querySubState ? [\r\n {\r\n queryCacheKey: queryCacheKey,\r\n endpointName: querySubState.endpointName,\r\n originalArgs: querySubState.originalArgs\r\n }\r\n ] : [];\r\n }));\r\n }\r\n}\r\n// src/query/defaultSerializeQueryArgs.ts\r\nimport { isPlainObject as isPlainObject3 } from \"@reduxjs/toolkit\";\r\nvar cache = WeakMap ? new WeakMap() : void 0;\r\nvar defaultSerializeQueryArgs = function (_j) {\r\n var endpointName = _j.endpointName, queryArgs = _j.queryArgs;\r\n var serialized = \"\";\r\n var cached = cache == null ? void 0 : cache.get(queryArgs);\r\n if (typeof cached === \"string\") {\r\n serialized = cached;\r\n }\r\n else {\r\n var stringified = JSON.stringify(queryArgs, function (key, value) { return isPlainObject3(value) ? Object.keys(value).sort().reduce(function (acc, key2) {\r\n acc[key2] = value[key2];\r\n return acc;\r\n }, {}) : value; });\r\n if (isPlainObject3(queryArgs)) {\r\n cache == null ? void 0 : cache.set(queryArgs, stringified);\r\n }\r\n serialized = stringified;\r\n }\r\n return endpointName + \"(\" + serialized + \")\";\r\n};\r\n// src/query/createApi.ts\r\nimport { nanoid } from \"@reduxjs/toolkit\";\r\nimport { defaultMemoize } from \"reselect\";\r\nfunction buildCreateApi() {\r\n var modules = [];\r\n for (var _j = 0; _j < arguments.length; _j++) {\r\n modules[_j] = arguments[_j];\r\n }\r\n return function baseCreateApi(options) {\r\n var extractRehydrationInfo = defaultMemoize(function (action) {\r\n var _a, _b;\r\n return (_b = options.extractRehydrationInfo) == null ? void 0 : _b.call(options, action, {\r\n reducerPath: (_a = options.reducerPath) != null ? _a : \"api\"\r\n });\r\n });\r\n var optionsWithDefaults = __spreadProps(__spreadValues({\r\n reducerPath: \"api\",\r\n keepUnusedDataFor: 60,\r\n refetchOnMountOrArgChange: false,\r\n refetchOnFocus: false,\r\n refetchOnReconnect: false\r\n }, options), {\r\n extractRehydrationInfo: extractRehydrationInfo,\r\n serializeQueryArgs: function (queryArgsApi) {\r\n var finalSerializeQueryArgs = defaultSerializeQueryArgs;\r\n if (\"serializeQueryArgs\" in queryArgsApi.endpointDefinition) {\r\n var endpointSQA_1 = queryArgsApi.endpointDefinition.serializeQueryArgs;\r\n finalSerializeQueryArgs = function (queryArgsApi2) {\r\n var initialResult = endpointSQA_1(queryArgsApi2);\r\n if (typeof initialResult === \"string\") {\r\n return initialResult;\r\n }\r\n else {\r\n return defaultSerializeQueryArgs(__spreadProps(__spreadValues({}, queryArgsApi2), {\r\n queryArgs: initialResult\r\n }));\r\n }\r\n };\r\n }\r\n else if (options.serializeQueryArgs) {\r\n finalSerializeQueryArgs = options.serializeQueryArgs;\r\n }\r\n return finalSerializeQueryArgs(queryArgsApi);\r\n },\r\n tagTypes: __spreadArray([], options.tagTypes || [])\r\n });\r\n var context = {\r\n endpointDefinitions: {},\r\n batch: function (fn) {\r\n fn();\r\n },\r\n apiUid: nanoid(),\r\n extractRehydrationInfo: extractRehydrationInfo,\r\n hasRehydrationInfo: defaultMemoize(function (action) { return extractRehydrationInfo(action) != null; })\r\n };\r\n var api = {\r\n injectEndpoints: injectEndpoints,\r\n enhanceEndpoints: function (_j) {\r\n var addTagTypes = _j.addTagTypes, endpoints = _j.endpoints;\r\n if (addTagTypes) {\r\n for (var _k = 0, addTagTypes_1 = addTagTypes; _k < addTagTypes_1.length; _k++) {\r\n var eT = addTagTypes_1[_k];\r\n if (!optionsWithDefaults.tagTypes.includes(eT)) {\r\n ;\r\n optionsWithDefaults.tagTypes.push(eT);\r\n }\r\n }\r\n }\r\n if (endpoints) {\r\n for (var _l = 0, _m = Object.entries(endpoints); _l < _m.length; _l++) {\r\n var _o = _m[_l], endpointName = _o[0], partialDefinition = _o[1];\r\n if (typeof partialDefinition === \"function\") {\r\n partialDefinition(context.endpointDefinitions[endpointName]);\r\n }\r\n else {\r\n Object.assign(context.endpointDefinitions[endpointName] || {}, partialDefinition);\r\n }\r\n }\r\n }\r\n return api;\r\n }\r\n };\r\n var initializedModules = modules.map(function (m) { return m.init(api, optionsWithDefaults, context); });\r\n function injectEndpoints(inject) {\r\n var evaluatedEndpoints = inject.endpoints({\r\n query: function (x) { return __spreadProps(__spreadValues({}, x), { type: DefinitionType.query }); },\r\n mutation: function (x) { return __spreadProps(__spreadValues({}, x), { type: DefinitionType.mutation }); }\r\n });\r\n for (var _j = 0, _k = Object.entries(evaluatedEndpoints); _j < _k.length; _j++) {\r\n var _l = _k[_j], endpointName = _l[0], definition = _l[1];\r\n if (!inject.overrideExisting && endpointName in context.endpointDefinitions) {\r\n if (typeof process !== \"undefined\" && process.env.NODE_ENV === \"development\") {\r\n console.error(\"called `injectEndpoints` to override already-existing endpointName \" + endpointName + \" without specifying `overrideExisting: true`\");\r\n }\r\n continue;\r\n }\r\n context.endpointDefinitions[endpointName] = definition;\r\n for (var _m = 0, initializedModules_1 = initializedModules; _m < initializedModules_1.length; _m++) {\r\n var m = initializedModules_1[_m];\r\n m.injectEndpoint(endpointName, definition);\r\n }\r\n }\r\n return api;\r\n }\r\n return api.injectEndpoints({ endpoints: options.endpoints });\r\n };\r\n}\r\n// src/query/fakeBaseQuery.ts\r\nfunction fakeBaseQuery() {\r\n return function () {\r\n throw new Error(\"When using `fakeBaseQuery`, all queries & mutations must use the `queryFn` definition syntax.\");\r\n };\r\n}\r\n// src/query/core/buildMiddleware/index.ts\r\nimport { createAction as createAction3 } from \"@reduxjs/toolkit\";\r\n// src/query/core/buildMiddleware/cacheCollection.ts\r\nfunction isObjectEmpty(obj) {\r\n for (var k in obj) {\r\n return false;\r\n }\r\n return true;\r\n}\r\nvar THIRTY_TWO_BIT_MAX_TIMER_SECONDS = 2147483647 / 1e3 - 1;\r\nvar buildCacheCollectionHandler = function (_j) {\r\n var reducerPath = _j.reducerPath, api = _j.api, context = _j.context, internalState = _j.internalState;\r\n var _k = api.internalActions, removeQueryResult = _k.removeQueryResult, unsubscribeQueryResult = _k.unsubscribeQueryResult;\r\n function anySubscriptionsRemainingForKey(queryCacheKey) {\r\n var subscriptions = internalState.currentSubscriptions[queryCacheKey];\r\n return !!subscriptions && !isObjectEmpty(subscriptions);\r\n }\r\n var currentRemovalTimeouts = {};\r\n var handler = function (action, mwApi, internalState2) {\r\n var _a;\r\n if (unsubscribeQueryResult.match(action)) {\r\n var state = mwApi.getState()[reducerPath];\r\n var queryCacheKey = action.payload.queryCacheKey;\r\n handleUnsubscribe(queryCacheKey, (_a = state.queries[queryCacheKey]) == null ? void 0 : _a.endpointName, mwApi, state.config);\r\n }\r\n if (api.util.resetApiState.match(action)) {\r\n for (var _j = 0, _k = Object.entries(currentRemovalTimeouts); _j < _k.length; _j++) {\r\n var _l = _k[_j], key = _l[0], timeout = _l[1];\r\n if (timeout)\r\n clearTimeout(timeout);\r\n delete currentRemovalTimeouts[key];\r\n }\r\n }\r\n if (context.hasRehydrationInfo(action)) {\r\n var state = mwApi.getState()[reducerPath];\r\n var queries = context.extractRehydrationInfo(action).queries;\r\n for (var _m = 0, _o = Object.entries(queries); _m < _o.length; _m++) {\r\n var _p = _o[_m], queryCacheKey = _p[0], queryState = _p[1];\r\n handleUnsubscribe(queryCacheKey, queryState == null ? void 0 : queryState.endpointName, mwApi, state.config);\r\n }\r\n }\r\n };\r\n function handleUnsubscribe(queryCacheKey, endpointName, api2, config) {\r\n var _a;\r\n var endpointDefinition = context.endpointDefinitions[endpointName];\r\n var keepUnusedDataFor = (_a = endpointDefinition == null ? void 0 : endpointDefinition.keepUnusedDataFor) != null ? _a : config.keepUnusedDataFor;\r\n if (keepUnusedDataFor === Infinity) {\r\n return;\r\n }\r\n var finalKeepUnusedDataFor = Math.max(0, Math.min(keepUnusedDataFor, THIRTY_TWO_BIT_MAX_TIMER_SECONDS));\r\n if (!anySubscriptionsRemainingForKey(queryCacheKey)) {\r\n var currentTimeout = currentRemovalTimeouts[queryCacheKey];\r\n if (currentTimeout) {\r\n clearTimeout(currentTimeout);\r\n }\r\n currentRemovalTimeouts[queryCacheKey] = setTimeout(function () {\r\n if (!anySubscriptionsRemainingForKey(queryCacheKey)) {\r\n api2.dispatch(removeQueryResult({ queryCacheKey: queryCacheKey }));\r\n }\r\n delete currentRemovalTimeouts[queryCacheKey];\r\n }, finalKeepUnusedDataFor * 1e3);\r\n }\r\n }\r\n return handler;\r\n};\r\n// src/query/core/buildMiddleware/invalidationByTags.ts\r\nimport { isAnyOf as isAnyOf2, isFulfilled as isFulfilled3, isRejectedWithValue as isRejectedWithValue3 } from \"@reduxjs/toolkit\";\r\nvar buildInvalidationByTagsHandler = function (_j) {\r\n var reducerPath = _j.reducerPath, context = _j.context, endpointDefinitions = _j.context.endpointDefinitions, mutationThunk = _j.mutationThunk, api = _j.api, assertTagType = _j.assertTagType, refetchQuery = _j.refetchQuery;\r\n var removeQueryResult = api.internalActions.removeQueryResult;\r\n var isThunkActionWithTags = isAnyOf2(isFulfilled3(mutationThunk), isRejectedWithValue3(mutationThunk));\r\n var handler = function (action, mwApi) {\r\n if (isThunkActionWithTags(action)) {\r\n invalidateTags(calculateProvidedByThunk(action, \"invalidatesTags\", endpointDefinitions, assertTagType), mwApi);\r\n }\r\n if (api.util.invalidateTags.match(action)) {\r\n invalidateTags(calculateProvidedBy(action.payload, void 0, void 0, void 0, void 0, assertTagType), mwApi);\r\n }\r\n };\r\n function invalidateTags(tags, mwApi) {\r\n var rootState = mwApi.getState();\r\n var state = rootState[reducerPath];\r\n var toInvalidate = api.util.selectInvalidatedBy(rootState, tags);\r\n context.batch(function () {\r\n var _a;\r\n var valuesArray = Array.from(toInvalidate.values());\r\n for (var _j = 0, valuesArray_1 = valuesArray; _j < valuesArray_1.length; _j++) {\r\n var queryCacheKey = valuesArray_1[_j].queryCacheKey;\r\n var querySubState = state.queries[queryCacheKey];\r\n var subscriptionSubState = (_a = state.subscriptions[queryCacheKey]) != null ? _a : {};\r\n if (querySubState) {\r\n if (Object.keys(subscriptionSubState).length === 0) {\r\n mwApi.dispatch(removeQueryResult({\r\n queryCacheKey: queryCacheKey\r\n }));\r\n }\r\n else if (querySubState.status !== QueryStatus.uninitialized) {\r\n mwApi.dispatch(refetchQuery(querySubState, queryCacheKey));\r\n }\r\n }\r\n }\r\n });\r\n }\r\n return handler;\r\n};\r\n// src/query/core/buildMiddleware/polling.ts\r\nvar buildPollingHandler = function (_j) {\r\n var reducerPath = _j.reducerPath, queryThunk = _j.queryThunk, api = _j.api, refetchQuery = _j.refetchQuery, internalState = _j.internalState;\r\n var currentPolls = {};\r\n var handler = function (action, mwApi) {\r\n if (api.internalActions.updateSubscriptionOptions.match(action) || api.internalActions.unsubscribeQueryResult.match(action)) {\r\n updatePollingInterval(action.payload, mwApi);\r\n }\r\n if (queryThunk.pending.match(action) || queryThunk.rejected.match(action) && action.meta.condition) {\r\n updatePollingInterval(action.meta.arg, mwApi);\r\n }\r\n if (queryThunk.fulfilled.match(action) || queryThunk.rejected.match(action) && !action.meta.condition) {\r\n startNextPoll(action.meta.arg, mwApi);\r\n }\r\n if (api.util.resetApiState.match(action)) {\r\n clearPolls();\r\n }\r\n };\r\n function startNextPoll(_j, api2) {\r\n var queryCacheKey = _j.queryCacheKey;\r\n var state = api2.getState()[reducerPath];\r\n var querySubState = state.queries[queryCacheKey];\r\n var subscriptions = internalState.currentSubscriptions[queryCacheKey];\r\n if (!querySubState || querySubState.status === QueryStatus.uninitialized)\r\n return;\r\n var lowestPollingInterval = findLowestPollingInterval(subscriptions);\r\n if (!Number.isFinite(lowestPollingInterval))\r\n return;\r\n var currentPoll = currentPolls[queryCacheKey];\r\n if (currentPoll == null ? void 0 : currentPoll.timeout) {\r\n clearTimeout(currentPoll.timeout);\r\n currentPoll.timeout = void 0;\r\n }\r\n var nextPollTimestamp = Date.now() + lowestPollingInterval;\r\n var currentInterval = currentPolls[queryCacheKey] = {\r\n nextPollTimestamp: nextPollTimestamp,\r\n pollingInterval: lowestPollingInterval,\r\n timeout: setTimeout(function () {\r\n currentInterval.timeout = void 0;\r\n api2.dispatch(refetchQuery(querySubState, queryCacheKey));\r\n }, lowestPollingInterval)\r\n };\r\n }\r\n function updatePollingInterval(_j, api2) {\r\n var queryCacheKey = _j.queryCacheKey;\r\n var state = api2.getState()[reducerPath];\r\n var querySubState = state.queries[queryCacheKey];\r\n var subscriptions = internalState.currentSubscriptions[queryCacheKey];\r\n if (!querySubState || querySubState.status === QueryStatus.uninitialized) {\r\n return;\r\n }\r\n var lowestPollingInterval = findLowestPollingInterval(subscriptions);\r\n if (!Number.isFinite(lowestPollingInterval)) {\r\n cleanupPollForKey(queryCacheKey);\r\n return;\r\n }\r\n var currentPoll = currentPolls[queryCacheKey];\r\n var nextPollTimestamp = Date.now() + lowestPollingInterval;\r\n if (!currentPoll || nextPollTimestamp < currentPoll.nextPollTimestamp) {\r\n startNextPoll({ queryCacheKey: queryCacheKey }, api2);\r\n }\r\n }\r\n function cleanupPollForKey(key) {\r\n var existingPoll = currentPolls[key];\r\n if (existingPoll == null ? void 0 : existingPoll.timeout) {\r\n clearTimeout(existingPoll.timeout);\r\n }\r\n delete currentPolls[key];\r\n }\r\n function clearPolls() {\r\n for (var _j = 0, _k = Object.keys(currentPolls); _j < _k.length; _j++) {\r\n var key = _k[_j];\r\n cleanupPollForKey(key);\r\n }\r\n }\r\n function findLowestPollingInterval(subscribers) {\r\n if (subscribers === void 0) { subscribers = {}; }\r\n var lowestPollingInterval = Number.POSITIVE_INFINITY;\r\n for (var key in subscribers) {\r\n if (!!subscribers[key].pollingInterval) {\r\n lowestPollingInterval = Math.min(subscribers[key].pollingInterval, lowestPollingInterval);\r\n }\r\n }\r\n return lowestPollingInterval;\r\n }\r\n return handler;\r\n};\r\n// src/query/core/buildMiddleware/windowEventHandling.ts\r\nvar buildWindowEventHandler = function (_j) {\r\n var reducerPath = _j.reducerPath, context = _j.context, api = _j.api, refetchQuery = _j.refetchQuery, internalState = _j.internalState;\r\n var removeQueryResult = api.internalActions.removeQueryResult;\r\n var handler = function (action, mwApi) {\r\n if (onFocus.match(action)) {\r\n refetchValidQueries(mwApi, \"refetchOnFocus\");\r\n }\r\n if (onOnline.match(action)) {\r\n refetchValidQueries(mwApi, \"refetchOnReconnect\");\r\n }\r\n };\r\n function refetchValidQueries(api2, type) {\r\n var state = api2.getState()[reducerPath];\r\n var queries = state.queries;\r\n var subscriptions = internalState.currentSubscriptions;\r\n context.batch(function () {\r\n for (var _j = 0, _k = Object.keys(subscriptions); _j < _k.length; _j++) {\r\n var queryCacheKey = _k[_j];\r\n var querySubState = queries[queryCacheKey];\r\n var subscriptionSubState = subscriptions[queryCacheKey];\r\n if (!subscriptionSubState || !querySubState)\r\n continue;\r\n var shouldRefetch = Object.values(subscriptionSubState).some(function (sub) { return sub[type] === true; }) || Object.values(subscriptionSubState).every(function (sub) { return sub[type] === void 0; }) && state.config[type];\r\n if (shouldRefetch) {\r\n if (Object.keys(subscriptionSubState).length === 0) {\r\n api2.dispatch(removeQueryResult({\r\n queryCacheKey: queryCacheKey\r\n }));\r\n }\r\n else if (querySubState.status !== QueryStatus.uninitialized) {\r\n api2.dispatch(refetchQuery(querySubState, queryCacheKey));\r\n }\r\n }\r\n }\r\n });\r\n }\r\n return handler;\r\n};\r\n// src/query/core/buildMiddleware/cacheLifecycle.ts\r\nimport { isAsyncThunkAction, isFulfilled as isFulfilled4 } from \"@reduxjs/toolkit\";\r\nvar neverResolvedError = new Error(\"Promise never resolved before cacheEntryRemoved.\");\r\nvar buildCacheLifecycleHandler = function (_j) {\r\n var api = _j.api, reducerPath = _j.reducerPath, context = _j.context, queryThunk = _j.queryThunk, mutationThunk = _j.mutationThunk, internalState = _j.internalState;\r\n var isQueryThunk = isAsyncThunkAction(queryThunk);\r\n var isMutationThunk = isAsyncThunkAction(mutationThunk);\r\n var isFulfilledThunk = isFulfilled4(queryThunk, mutationThunk);\r\n var lifecycleMap = {};\r\n var handler = function (action, mwApi, stateBefore) {\r\n var cacheKey = getCacheKey(action);\r\n if (queryThunk.pending.match(action)) {\r\n var oldState = stateBefore[reducerPath].queries[cacheKey];\r\n var state = mwApi.getState()[reducerPath].queries[cacheKey];\r\n if (!oldState && state) {\r\n handleNewKey(action.meta.arg.endpointName, action.meta.arg.originalArgs, cacheKey, mwApi, action.meta.requestId);\r\n }\r\n }\r\n else if (mutationThunk.pending.match(action)) {\r\n var state = mwApi.getState()[reducerPath].mutations[cacheKey];\r\n if (state) {\r\n handleNewKey(action.meta.arg.endpointName, action.meta.arg.originalArgs, cacheKey, mwApi, action.meta.requestId);\r\n }\r\n }\r\n else if (isFulfilledThunk(action)) {\r\n var lifecycle = lifecycleMap[cacheKey];\r\n if (lifecycle == null ? void 0 : lifecycle.valueResolved) {\r\n lifecycle.valueResolved({\r\n data: action.payload,\r\n meta: action.meta.baseQueryMeta\r\n });\r\n delete lifecycle.valueResolved;\r\n }\r\n }\r\n else if (api.internalActions.removeQueryResult.match(action) || api.internalActions.removeMutationResult.match(action)) {\r\n var lifecycle = lifecycleMap[cacheKey];\r\n if (lifecycle) {\r\n delete lifecycleMap[cacheKey];\r\n lifecycle.cacheEntryRemoved();\r\n }\r\n }\r\n else if (api.util.resetApiState.match(action)) {\r\n for (var _j = 0, _k = Object.entries(lifecycleMap); _j < _k.length; _j++) {\r\n var _l = _k[_j], cacheKey2 = _l[0], lifecycle = _l[1];\r\n delete lifecycleMap[cacheKey2];\r\n lifecycle.cacheEntryRemoved();\r\n }\r\n }\r\n };\r\n function getCacheKey(action) {\r\n if (isQueryThunk(action))\r\n return action.meta.arg.queryCacheKey;\r\n if (isMutationThunk(action))\r\n return action.meta.requestId;\r\n if (api.internalActions.removeQueryResult.match(action))\r\n return action.payload.queryCacheKey;\r\n if (api.internalActions.removeMutationResult.match(action))\r\n return getMutationCacheKey(action.payload);\r\n return \"\";\r\n }\r\n function handleNewKey(endpointName, originalArgs, queryCacheKey, mwApi, requestId) {\r\n var endpointDefinition = context.endpointDefinitions[endpointName];\r\n var onCacheEntryAdded = endpointDefinition == null ? void 0 : endpointDefinition.onCacheEntryAdded;\r\n if (!onCacheEntryAdded)\r\n return;\r\n var lifecycle = {};\r\n var cacheEntryRemoved = new Promise(function (resolve) {\r\n lifecycle.cacheEntryRemoved = resolve;\r\n });\r\n var cacheDataLoaded = Promise.race([\r\n new Promise(function (resolve) {\r\n lifecycle.valueResolved = resolve;\r\n }),\r\n cacheEntryRemoved.then(function () {\r\n throw neverResolvedError;\r\n })\r\n ]);\r\n cacheDataLoaded.catch(function () {\r\n });\r\n lifecycleMap[queryCacheKey] = lifecycle;\r\n var selector = api.endpoints[endpointName].select(endpointDefinition.type === DefinitionType.query ? originalArgs : queryCacheKey);\r\n var extra = mwApi.dispatch(function (_, __, extra2) { return extra2; });\r\n var lifecycleApi = __spreadProps(__spreadValues({}, mwApi), {\r\n getCacheEntry: function () { return selector(mwApi.getState()); },\r\n requestId: requestId,\r\n extra: extra,\r\n updateCachedData: endpointDefinition.type === DefinitionType.query ? function (updateRecipe) { return mwApi.dispatch(api.util.updateQueryData(endpointName, originalArgs, updateRecipe)); } : void 0,\r\n cacheDataLoaded: cacheDataLoaded,\r\n cacheEntryRemoved: cacheEntryRemoved\r\n });\r\n var runningHandler = onCacheEntryAdded(originalArgs, lifecycleApi);\r\n Promise.resolve(runningHandler).catch(function (e) {\r\n if (e === neverResolvedError)\r\n return;\r\n throw e;\r\n });\r\n }\r\n return handler;\r\n};\r\n// src/query/core/buildMiddleware/queryLifecycle.ts\r\nimport { isPending as isPending2, isRejected as isRejected2, isFulfilled as isFulfilled5 } from \"@reduxjs/toolkit\";\r\nvar buildQueryLifecycleHandler = function (_j) {\r\n var api = _j.api, context = _j.context, queryThunk = _j.queryThunk, mutationThunk = _j.mutationThunk;\r\n var isPendingThunk = isPending2(queryThunk, mutationThunk);\r\n var isRejectedThunk = isRejected2(queryThunk, mutationThunk);\r\n var isFullfilledThunk = isFulfilled5(queryThunk, mutationThunk);\r\n var lifecycleMap = {};\r\n var handler = function (action, mwApi) {\r\n var _a, _b, _c;\r\n if (isPendingThunk(action)) {\r\n var _j = action.meta, requestId = _j.requestId, _k = _j.arg, endpointName_1 = _k.endpointName, originalArgs_1 = _k.originalArgs;\r\n var endpointDefinition = context.endpointDefinitions[endpointName_1];\r\n var onQueryStarted = endpointDefinition == null ? void 0 : endpointDefinition.onQueryStarted;\r\n if (onQueryStarted) {\r\n var lifecycle_1 = {};\r\n var queryFulfilled = new Promise(function (resolve, reject) {\r\n lifecycle_1.resolve = resolve;\r\n lifecycle_1.reject = reject;\r\n });\r\n queryFulfilled.catch(function () {\r\n });\r\n lifecycleMap[requestId] = lifecycle_1;\r\n var selector_1 = api.endpoints[endpointName_1].select(endpointDefinition.type === DefinitionType.query ? originalArgs_1 : requestId);\r\n var extra = mwApi.dispatch(function (_, __, extra2) { return extra2; });\r\n var lifecycleApi = __spreadProps(__spreadValues({}, mwApi), {\r\n getCacheEntry: function () { return selector_1(mwApi.getState()); },\r\n requestId: requestId,\r\n extra: extra,\r\n updateCachedData: endpointDefinition.type === DefinitionType.query ? function (updateRecipe) { return mwApi.dispatch(api.util.updateQueryData(endpointName_1, originalArgs_1, updateRecipe)); } : void 0,\r\n queryFulfilled: queryFulfilled\r\n });\r\n onQueryStarted(originalArgs_1, lifecycleApi);\r\n }\r\n }\r\n else if (isFullfilledThunk(action)) {\r\n var _l = action.meta, requestId = _l.requestId, baseQueryMeta = _l.baseQueryMeta;\r\n (_a = lifecycleMap[requestId]) == null ? void 0 : _a.resolve({\r\n data: action.payload,\r\n meta: baseQueryMeta\r\n });\r\n delete lifecycleMap[requestId];\r\n }\r\n else if (isRejectedThunk(action)) {\r\n var _m = action.meta, requestId = _m.requestId, rejectedWithValue = _m.rejectedWithValue, baseQueryMeta = _m.baseQueryMeta;\r\n (_c = lifecycleMap[requestId]) == null ? void 0 : _c.reject({\r\n error: (_b = action.payload) != null ? _b : action.error,\r\n isUnhandledError: !rejectedWithValue,\r\n meta: baseQueryMeta\r\n });\r\n delete lifecycleMap[requestId];\r\n }\r\n };\r\n return handler;\r\n};\r\n// src/query/core/buildMiddleware/devMiddleware.ts\r\nvar buildDevCheckHandler = function (_j) {\r\n var api = _j.api, apiUid = _j.context.apiUid, reducerPath = _j.reducerPath;\r\n return function (action, mwApi) {\r\n var _a, _b;\r\n if (api.util.resetApiState.match(action)) {\r\n mwApi.dispatch(api.internalActions.middlewareRegistered(apiUid));\r\n }\r\n if (typeof process !== \"undefined\" && process.env.NODE_ENV === \"development\") {\r\n if (api.internalActions.middlewareRegistered.match(action) && action.payload === apiUid && ((_b = (_a = mwApi.getState()[reducerPath]) == null ? void 0 : _a.config) == null ? void 0 : _b.middlewareRegistered) === \"conflict\") {\r\n console.warn(\"There is a mismatch between slice and middleware for the reducerPath \\\"\" + reducerPath + \"\\\".\\nYou can only have one api per reducer path, this will lead to crashes in various situations!\" + (reducerPath === \"api\" ? \"\\nIf you have multiple apis, you *have* to specify the reducerPath option when using createApi!\" : \"\"));\r\n }\r\n }\r\n };\r\n};\r\n// src/query/core/buildMiddleware/batchActions.ts\r\nimport { produceWithPatches as produceWithPatches2 } from \"immer\";\r\nvar promise;\r\nvar queueMicrotaskShim = typeof queueMicrotask === \"function\" ? queueMicrotask.bind(typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : globalThis) : function (cb) { return (promise || (promise = Promise.resolve())).then(cb).catch(function (err) { return setTimeout(function () {\r\n throw err;\r\n}, 0); }); };\r\nvar buildBatchedActionsHandler = function (_j) {\r\n var api = _j.api, queryThunk = _j.queryThunk, internalState = _j.internalState;\r\n var subscriptionsPrefix = api.reducerPath + \"/subscriptions\";\r\n var previousSubscriptions = null;\r\n var dispatchQueued = false;\r\n var _k = api.internalActions, updateSubscriptionOptions = _k.updateSubscriptionOptions, unsubscribeQueryResult = _k.unsubscribeQueryResult;\r\n var actuallyMutateSubscriptions = function (mutableState, action) {\r\n var _a, _b, _c, _d, _e, _f, _g, _h, _i;\r\n if (updateSubscriptionOptions.match(action)) {\r\n var _j = action.payload, queryCacheKey = _j.queryCacheKey, requestId = _j.requestId, options = _j.options;\r\n if ((_a = mutableState == null ? void 0 : mutableState[queryCacheKey]) == null ? void 0 : _a[requestId]) {\r\n mutableState[queryCacheKey][requestId] = options;\r\n }\r\n return true;\r\n }\r\n if (unsubscribeQueryResult.match(action)) {\r\n var _k = action.payload, queryCacheKey = _k.queryCacheKey, requestId = _k.requestId;\r\n if (mutableState[queryCacheKey]) {\r\n delete mutableState[queryCacheKey][requestId];\r\n }\r\n return true;\r\n }\r\n if (api.internalActions.removeQueryResult.match(action)) {\r\n delete mutableState[action.payload.queryCacheKey];\r\n return true;\r\n }\r\n if (queryThunk.pending.match(action)) {\r\n var _l = action.meta, arg = _l.arg, requestId = _l.requestId;\r\n if (arg.subscribe) {\r\n var substate = (_c = mutableState[_b = arg.queryCacheKey]) != null ? _c : mutableState[_b] = {};\r\n substate[requestId] = (_e = (_d = arg.subscriptionOptions) != null ? _d : substate[requestId]) != null ? _e : {};\r\n return true;\r\n }\r\n }\r\n if (queryThunk.rejected.match(action)) {\r\n var _m = action.meta, condition = _m.condition, arg = _m.arg, requestId = _m.requestId;\r\n if (condition && arg.subscribe) {\r\n var substate = (_g = mutableState[_f = arg.queryCacheKey]) != null ? _g : mutableState[_f] = {};\r\n substate[requestId] = (_i = (_h = arg.subscriptionOptions) != null ? _h : substate[requestId]) != null ? _i : {};\r\n return true;\r\n }\r\n }\r\n return false;\r\n };\r\n return function (action, mwApi) {\r\n var _a, _b;\r\n if (!previousSubscriptions) {\r\n previousSubscriptions = JSON.parse(JSON.stringify(internalState.currentSubscriptions));\r\n }\r\n if (api.util.resetApiState.match(action)) {\r\n previousSubscriptions = internalState.currentSubscriptions = {};\r\n return [true, false];\r\n }\r\n if (api.internalActions.internal_probeSubscription.match(action)) {\r\n var _j = action.payload, queryCacheKey = _j.queryCacheKey, requestId = _j.requestId;\r\n var hasSubscription = !!((_a = internalState.currentSubscriptions[queryCacheKey]) == null ? void 0 : _a[requestId]);\r\n return [false, hasSubscription];\r\n }\r\n var didMutate = actuallyMutateSubscriptions(internalState.currentSubscriptions, action);\r\n if (didMutate) {\r\n if (!dispatchQueued) {\r\n queueMicrotaskShim(function () {\r\n var newSubscriptions = JSON.parse(JSON.stringify(internalState.currentSubscriptions));\r\n var _j = produceWithPatches2(previousSubscriptions, function () { return newSubscriptions; }), patches = _j[1];\r\n mwApi.next(api.internalActions.subscriptionsUpdated(patches));\r\n previousSubscriptions = newSubscriptions;\r\n dispatchQueued = false;\r\n });\r\n dispatchQueued = true;\r\n }\r\n var isSubscriptionSliceAction = !!((_b = action.type) == null ? void 0 : _b.startsWith(subscriptionsPrefix));\r\n var isAdditionalSubscriptionAction = queryThunk.rejected.match(action) && action.meta.condition && !!action.meta.arg.subscribe;\r\n var actionShouldContinue = !isSubscriptionSliceAction && !isAdditionalSubscriptionAction;\r\n return [actionShouldContinue, false];\r\n }\r\n return [true, false];\r\n };\r\n};\r\n// src/query/core/buildMiddleware/index.ts\r\nfunction buildMiddleware(input) {\r\n var reducerPath = input.reducerPath, queryThunk = input.queryThunk, api = input.api, context = input.context;\r\n var apiUid = context.apiUid;\r\n var actions = {\r\n invalidateTags: createAction3(reducerPath + \"/invalidateTags\")\r\n };\r\n var isThisApiSliceAction = function (action) {\r\n return !!action && typeof action.type === \"string\" && action.type.startsWith(reducerPath + \"/\");\r\n };\r\n var handlerBuilders = [\r\n buildDevCheckHandler,\r\n buildCacheCollectionHandler,\r\n buildInvalidationByTagsHandler,\r\n buildPollingHandler,\r\n buildCacheLifecycleHandler,\r\n buildQueryLifecycleHandler\r\n ];\r\n var middleware = function (mwApi) {\r\n var initialized2 = false;\r\n var internalState = {\r\n currentSubscriptions: {}\r\n };\r\n var builderArgs = __spreadProps(__spreadValues({}, input), {\r\n internalState: internalState,\r\n refetchQuery: refetchQuery\r\n });\r\n var handlers = handlerBuilders.map(function (build) { return build(builderArgs); });\r\n var batchedActionsHandler = buildBatchedActionsHandler(builderArgs);\r\n var windowEventsHandler = buildWindowEventHandler(builderArgs);\r\n return function (next) {\r\n return function (action) {\r\n if (!initialized2) {\r\n initialized2 = true;\r\n mwApi.dispatch(api.internalActions.middlewareRegistered(apiUid));\r\n }\r\n var mwApiWithNext = __spreadProps(__spreadValues({}, mwApi), { next: next });\r\n var stateBefore = mwApi.getState();\r\n var _j = batchedActionsHandler(action, mwApiWithNext, stateBefore), actionShouldContinue = _j[0], hasSubscription = _j[1];\r\n var res;\r\n if (actionShouldContinue) {\r\n res = next(action);\r\n }\r\n else {\r\n res = hasSubscription;\r\n }\r\n if (!!mwApi.getState()[reducerPath]) {\r\n windowEventsHandler(action, mwApiWithNext, stateBefore);\r\n if (isThisApiSliceAction(action) || context.hasRehydrationInfo(action)) {\r\n for (var _k = 0, handlers_1 = handlers; _k < handlers_1.length; _k++) {\r\n var handler = handlers_1[_k];\r\n handler(action, mwApiWithNext, stateBefore);\r\n }\r\n }\r\n }\r\n return res;\r\n };\r\n };\r\n };\r\n return { middleware: middleware, actions: actions };\r\n function refetchQuery(querySubState, queryCacheKey, override) {\r\n if (override === void 0) { override = {}; }\r\n return queryThunk(__spreadValues({\r\n type: \"query\",\r\n endpointName: querySubState.endpointName,\r\n originalArgs: querySubState.originalArgs,\r\n subscribe: false,\r\n forceRefetch: true,\r\n queryCacheKey: queryCacheKey\r\n }, override));\r\n }\r\n}\r\n// src/query/tsHelpers.ts\r\nfunction assertCast(v) {\r\n}\r\nfunction safeAssign(target) {\r\n var args = [];\r\n for (var _j = 1; _j < arguments.length; _j++) {\r\n args[_j - 1] = arguments[_j];\r\n }\r\n Object.assign.apply(Object, __spreadArray([target], args));\r\n}\r\n// src/query/core/module.ts\r\nimport { enablePatches } from \"immer\";\r\nvar coreModuleName = /* @__PURE__ */ Symbol();\r\nvar coreModule = function () { return ({\r\n name: coreModuleName,\r\n init: function (api, _j, context) {\r\n var baseQuery = _j.baseQuery, tagTypes = _j.tagTypes, reducerPath = _j.reducerPath, serializeQueryArgs = _j.serializeQueryArgs, keepUnusedDataFor = _j.keepUnusedDataFor, refetchOnMountOrArgChange = _j.refetchOnMountOrArgChange, refetchOnFocus = _j.refetchOnFocus, refetchOnReconnect = _j.refetchOnReconnect;\r\n enablePatches();\r\n assertCast(serializeQueryArgs);\r\n var assertTagType = function (tag) {\r\n if (typeof process !== \"undefined\" && process.env.NODE_ENV === \"development\") {\r\n if (!tagTypes.includes(tag.type)) {\r\n console.error(\"Tag type '\" + tag.type + \"' was used, but not specified in `tagTypes`!\");\r\n }\r\n }\r\n return tag;\r\n };\r\n Object.assign(api, {\r\n reducerPath: reducerPath,\r\n endpoints: {},\r\n internalActions: {\r\n onOnline: onOnline,\r\n onOffline: onOffline,\r\n onFocus: onFocus,\r\n onFocusLost: onFocusLost\r\n },\r\n util: {}\r\n });\r\n var _k = buildThunks({\r\n baseQuery: baseQuery,\r\n reducerPath: reducerPath,\r\n context: context,\r\n api: api,\r\n serializeQueryArgs: serializeQueryArgs,\r\n assertTagType: assertTagType\r\n }), queryThunk = _k.queryThunk, mutationThunk = _k.mutationThunk, patchQueryData = _k.patchQueryData, updateQueryData = _k.updateQueryData, upsertQueryData = _k.upsertQueryData, prefetch = _k.prefetch, buildMatchThunkActions = _k.buildMatchThunkActions;\r\n var _l = buildSlice({\r\n context: context,\r\n queryThunk: queryThunk,\r\n mutationThunk: mutationThunk,\r\n reducerPath: reducerPath,\r\n assertTagType: assertTagType,\r\n config: {\r\n refetchOnFocus: refetchOnFocus,\r\n refetchOnReconnect: refetchOnReconnect,\r\n refetchOnMountOrArgChange: refetchOnMountOrArgChange,\r\n keepUnusedDataFor: keepUnusedDataFor,\r\n reducerPath: reducerPath\r\n }\r\n }), reducer = _l.reducer, sliceActions = _l.actions;\r\n safeAssign(api.util, {\r\n patchQueryData: patchQueryData,\r\n updateQueryData: updateQueryData,\r\n upsertQueryData: upsertQueryData,\r\n prefetch: prefetch,\r\n resetApiState: sliceActions.resetApiState\r\n });\r\n safeAssign(api.internalActions, sliceActions);\r\n var _m = buildMiddleware({\r\n reducerPath: reducerPath,\r\n context: context,\r\n queryThunk: queryThunk,\r\n mutationThunk: mutationThunk,\r\n api: api,\r\n assertTagType: assertTagType\r\n }), middleware = _m.middleware, middlewareActions = _m.actions;\r\n safeAssign(api.util, middlewareActions);\r\n safeAssign(api, { reducer: reducer, middleware: middleware });\r\n var _o = buildSelectors({\r\n serializeQueryArgs: serializeQueryArgs,\r\n reducerPath: reducerPath\r\n }), buildQuerySelector = _o.buildQuerySelector, buildMutationSelector = _o.buildMutationSelector, selectInvalidatedBy = _o.selectInvalidatedBy;\r\n safeAssign(api.util, { selectInvalidatedBy: selectInvalidatedBy });\r\n var _p = buildInitiate({\r\n queryThunk: queryThunk,\r\n mutationThunk: mutationThunk,\r\n api: api,\r\n serializeQueryArgs: serializeQueryArgs,\r\n context: context\r\n }), buildInitiateQuery = _p.buildInitiateQuery, buildInitiateMutation = _p.buildInitiateMutation, getRunningMutationThunk = _p.getRunningMutationThunk, getRunningMutationsThunk = _p.getRunningMutationsThunk, getRunningQueriesThunk = _p.getRunningQueriesThunk, getRunningQueryThunk = _p.getRunningQueryThunk, getRunningOperationPromises = _p.getRunningOperationPromises, removalWarning = _p.removalWarning;\r\n safeAssign(api.util, {\r\n getRunningOperationPromises: getRunningOperationPromises,\r\n getRunningOperationPromise: removalWarning,\r\n getRunningMutationThunk: getRunningMutationThunk,\r\n getRunningMutationsThunk: getRunningMutationsThunk,\r\n getRunningQueryThunk: getRunningQueryThunk,\r\n getRunningQueriesThunk: getRunningQueriesThunk\r\n });\r\n return {\r\n name: coreModuleName,\r\n injectEndpoint: function (endpointName, definition) {\r\n var _a, _b;\r\n var anyApi = api;\r\n (_b = (_a = anyApi.endpoints)[endpointName]) != null ? _b : _a[endpointName] = {};\r\n if (isQueryDefinition(definition)) {\r\n safeAssign(anyApi.endpoints[endpointName], {\r\n name: endpointName,\r\n select: buildQuerySelector(endpointName, definition),\r\n initiate: buildInitiateQuery(endpointName, definition)\r\n }, buildMatchThunkActions(queryThunk, endpointName));\r\n }\r\n else if (isMutationDefinition(definition)) {\r\n safeAssign(anyApi.endpoints[endpointName], {\r\n name: endpointName,\r\n select: buildMutationSelector(),\r\n initiate: buildInitiateMutation(endpointName)\r\n }, buildMatchThunkActions(mutationThunk, endpointName));\r\n }\r\n }\r\n };\r\n }\r\n}); };\r\n// src/query/core/index.ts\r\nvar createApi = /* @__PURE__ */ buildCreateApi(coreModule());\r\nexport { QueryStatus, buildCreateApi, copyWithStructuralSharing, coreModule, coreModuleName, createApi, defaultSerializeQueryArgs, fakeBaseQuery, fetchBaseQuery, retry, setupListeners, skipSelector, skipToken };\r\n//# sourceMappingURL=rtk-query.esm.js.map","var __spreadArray = (this && this.__spreadArray) || function (to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n};\r\nvar __defProp = Object.defineProperty;\r\nvar __defProps = Object.defineProperties;\r\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\r\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\r\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\r\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\r\nvar __defNormalProp = function (obj, key, value) { return key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value: value }) : obj[key] = value; };\r\nvar __spreadValues = function (a, b) {\r\n for (var prop in b || (b = {}))\r\n if (__hasOwnProp.call(b, prop))\r\n __defNormalProp(a, prop, b[prop]);\r\n if (__getOwnPropSymbols)\r\n for (var _i = 0, _c = __getOwnPropSymbols(b); _i < _c.length; _i++) {\r\n var prop = _c[_i];\r\n if (__propIsEnum.call(b, prop))\r\n __defNormalProp(a, prop, b[prop]);\r\n }\r\n return a;\r\n};\r\nvar __spreadProps = function (a, b) { return __defProps(a, __getOwnPropDescs(b)); };\r\n// src/query/react/index.ts\r\nimport { coreModule, buildCreateApi } from \"@reduxjs/toolkit/query\";\r\n// src/query/react/buildHooks.ts\r\nimport { createSelector } from \"@reduxjs/toolkit\";\r\nimport { useCallback, useDebugValue, useEffect as useEffect3, useLayoutEffect, useMemo as useMemo2, useRef as useRef3, useState } from \"react\";\r\nimport { QueryStatus, skipToken } from \"@reduxjs/toolkit/query\";\r\nimport { shallowEqual as shallowEqual2 } from \"react-redux\";\r\n// src/query/react/useSerializedStableValue.ts\r\nimport { useEffect, useRef, useMemo } from \"react\";\r\nfunction useStableQueryArgs(queryArgs, serialize, endpointDefinition, endpointName) {\r\n var incoming = useMemo(function () { return ({\r\n queryArgs: queryArgs,\r\n serialized: typeof queryArgs == \"object\" ? serialize({ queryArgs: queryArgs, endpointDefinition: endpointDefinition, endpointName: endpointName }) : queryArgs\r\n }); }, [queryArgs, serialize, endpointDefinition, endpointName]);\r\n var cache2 = useRef(incoming);\r\n useEffect(function () {\r\n if (cache2.current.serialized !== incoming.serialized) {\r\n cache2.current = incoming;\r\n }\r\n }, [incoming]);\r\n return cache2.current.serialized === incoming.serialized ? cache2.current.queryArgs : queryArgs;\r\n}\r\n// src/query/react/constants.ts\r\nvar UNINITIALIZED_VALUE = Symbol();\r\n// src/query/react/useShallowStableValue.ts\r\nimport { useEffect as useEffect2, useRef as useRef2 } from \"react\";\r\nimport { shallowEqual } from \"react-redux\";\r\nfunction useShallowStableValue(value) {\r\n var cache2 = useRef2(value);\r\n useEffect2(function () {\r\n if (!shallowEqual(cache2.current, value)) {\r\n cache2.current = value;\r\n }\r\n }, [value]);\r\n return shallowEqual(cache2.current, value) ? cache2.current : value;\r\n}\r\n// src/query/defaultSerializeQueryArgs.ts\r\nimport { isPlainObject } from \"@reduxjs/toolkit\";\r\nvar cache = WeakMap ? new WeakMap() : void 0;\r\nvar defaultSerializeQueryArgs = function (_c) {\r\n var endpointName = _c.endpointName, queryArgs = _c.queryArgs;\r\n var serialized = \"\";\r\n var cached = cache == null ? void 0 : cache.get(queryArgs);\r\n if (typeof cached === \"string\") {\r\n serialized = cached;\r\n }\r\n else {\r\n var stringified = JSON.stringify(queryArgs, function (key, value) { return isPlainObject(value) ? Object.keys(value).sort().reduce(function (acc, key2) {\r\n acc[key2] = value[key2];\r\n return acc;\r\n }, {}) : value; });\r\n if (isPlainObject(queryArgs)) {\r\n cache == null ? void 0 : cache.set(queryArgs, stringified);\r\n }\r\n serialized = stringified;\r\n }\r\n return endpointName + \"(\" + serialized + \")\";\r\n};\r\n// src/query/react/buildHooks.ts\r\nvar useIsomorphicLayoutEffect = typeof window !== \"undefined\" && !!window.document && !!window.document.createElement ? useLayoutEffect : useEffect3;\r\nvar defaultMutationStateSelector = function (x) { return x; };\r\nvar noPendingQueryStateSelector = function (selected) {\r\n if (selected.isUninitialized) {\r\n return __spreadProps(__spreadValues({}, selected), {\r\n isUninitialized: false,\r\n isFetching: true,\r\n isLoading: selected.data !== void 0 ? false : true,\r\n status: QueryStatus.pending\r\n });\r\n }\r\n return selected;\r\n};\r\nfunction buildHooks(_c) {\r\n var api = _c.api, _d = _c.moduleOptions, batch = _d.batch, useDispatch = _d.useDispatch, useSelector = _d.useSelector, useStore = _d.useStore, unstable__sideEffectsInRender = _d.unstable__sideEffectsInRender, serializeQueryArgs = _c.serializeQueryArgs, context = _c.context;\r\n var usePossiblyImmediateEffect = unstable__sideEffectsInRender ? function (cb) { return cb(); } : useEffect3;\r\n return { buildQueryHooks: buildQueryHooks, buildMutationHook: buildMutationHook, usePrefetch: usePrefetch };\r\n function queryStatePreSelector(currentState, lastResult, queryArgs) {\r\n if ((lastResult == null ? void 0 : lastResult.endpointName) && currentState.isUninitialized) {\r\n var endpointName = lastResult.endpointName;\r\n var endpointDefinition = context.endpointDefinitions[endpointName];\r\n if (serializeQueryArgs({\r\n queryArgs: lastResult.originalArgs,\r\n endpointDefinition: endpointDefinition,\r\n endpointName: endpointName\r\n }) === serializeQueryArgs({\r\n queryArgs: queryArgs,\r\n endpointDefinition: endpointDefinition,\r\n endpointName: endpointName\r\n }))\r\n lastResult = void 0;\r\n }\r\n var data = currentState.isSuccess ? currentState.data : lastResult == null ? void 0 : lastResult.data;\r\n if (data === void 0)\r\n data = currentState.data;\r\n var hasData = data !== void 0;\r\n var isFetching = currentState.isLoading;\r\n var isLoading = !hasData && isFetching;\r\n var isSuccess = currentState.isSuccess || isFetching && hasData;\r\n return __spreadProps(__spreadValues({}, currentState), {\r\n data: data,\r\n currentData: currentState.data,\r\n isFetching: isFetching,\r\n isLoading: isLoading,\r\n isSuccess: isSuccess\r\n });\r\n }\r\n function usePrefetch(endpointName, defaultOptions) {\r\n var dispatch = useDispatch();\r\n var stableDefaultOptions = useShallowStableValue(defaultOptions);\r\n return useCallback(function (arg, options) { return dispatch(api.util.prefetch(endpointName, arg, __spreadValues(__spreadValues({}, stableDefaultOptions), options))); }, [endpointName, dispatch, stableDefaultOptions]);\r\n }\r\n function buildQueryHooks(name) {\r\n var useQuerySubscription = function (arg, _c) {\r\n var _d = _c === void 0 ? {} : _c, refetchOnReconnect = _d.refetchOnReconnect, refetchOnFocus = _d.refetchOnFocus, refetchOnMountOrArgChange = _d.refetchOnMountOrArgChange, _e = _d.skip, skip = _e === void 0 ? false : _e, _f = _d.pollingInterval, pollingInterval = _f === void 0 ? 0 : _f;\r\n var initiate = api.endpoints[name].initiate;\r\n var dispatch = useDispatch();\r\n var stableArg = useStableQueryArgs(skip ? skipToken : arg, defaultSerializeQueryArgs, context.endpointDefinitions[name], name);\r\n var stableSubscriptionOptions = useShallowStableValue({\r\n refetchOnReconnect: refetchOnReconnect,\r\n refetchOnFocus: refetchOnFocus,\r\n pollingInterval: pollingInterval\r\n });\r\n var lastRenderHadSubscription = useRef3(false);\r\n var promiseRef = useRef3();\r\n var _g = promiseRef.current || {}, queryCacheKey = _g.queryCacheKey, requestId = _g.requestId;\r\n var currentRenderHasSubscription = false;\r\n if (queryCacheKey && requestId) {\r\n var returnedValue = dispatch(api.internalActions.internal_probeSubscription({\r\n queryCacheKey: queryCacheKey,\r\n requestId: requestId\r\n }));\r\n if (process.env.NODE_ENV !== \"production\") {\r\n if (typeof returnedValue !== \"boolean\") {\r\n throw new Error(\"Warning: Middleware for RTK-Query API at reducerPath \\\"\" + api.reducerPath + \"\\\" has not been added to the store.\\n You must add the middleware for RTK-Query to function correctly!\");\r\n }\r\n }\r\n currentRenderHasSubscription = !!returnedValue;\r\n }\r\n var subscriptionRemoved = !currentRenderHasSubscription && lastRenderHadSubscription.current;\r\n usePossiblyImmediateEffect(function () {\r\n lastRenderHadSubscription.current = currentRenderHasSubscription;\r\n });\r\n usePossiblyImmediateEffect(function () {\r\n if (subscriptionRemoved) {\r\n promiseRef.current = void 0;\r\n }\r\n }, [subscriptionRemoved]);\r\n usePossiblyImmediateEffect(function () {\r\n var _a;\r\n var lastPromise = promiseRef.current;\r\n if (typeof process !== \"undefined\" && process.env.NODE_ENV === \"removeMeOnCompilation\") {\r\n console.log(subscriptionRemoved);\r\n }\r\n if (stableArg === skipToken) {\r\n lastPromise == null ? void 0 : lastPromise.unsubscribe();\r\n promiseRef.current = void 0;\r\n return;\r\n }\r\n var lastSubscriptionOptions = (_a = promiseRef.current) == null ? void 0 : _a.subscriptionOptions;\r\n if (!lastPromise || lastPromise.arg !== stableArg) {\r\n lastPromise == null ? void 0 : lastPromise.unsubscribe();\r\n var promise = dispatch(initiate(stableArg, {\r\n subscriptionOptions: stableSubscriptionOptions,\r\n forceRefetch: refetchOnMountOrArgChange\r\n }));\r\n promiseRef.current = promise;\r\n }\r\n else if (stableSubscriptionOptions !== lastSubscriptionOptions) {\r\n lastPromise.updateSubscriptionOptions(stableSubscriptionOptions);\r\n }\r\n }, [\r\n dispatch,\r\n initiate,\r\n refetchOnMountOrArgChange,\r\n stableArg,\r\n stableSubscriptionOptions,\r\n subscriptionRemoved\r\n ]);\r\n useEffect3(function () {\r\n return function () {\r\n var _a;\r\n (_a = promiseRef.current) == null ? void 0 : _a.unsubscribe();\r\n promiseRef.current = void 0;\r\n };\r\n }, []);\r\n return useMemo2(function () { return ({\r\n refetch: function () {\r\n var _a;\r\n if (!promiseRef.current)\r\n throw new Error(\"Cannot refetch a query that has not been started yet.\");\r\n return (_a = promiseRef.current) == null ? void 0 : _a.refetch();\r\n }\r\n }); }, []);\r\n };\r\n var useLazyQuerySubscription = function (_c) {\r\n var _d = _c === void 0 ? {} : _c, refetchOnReconnect = _d.refetchOnReconnect, refetchOnFocus = _d.refetchOnFocus, _e = _d.pollingInterval, pollingInterval = _e === void 0 ? 0 : _e;\r\n var initiate = api.endpoints[name].initiate;\r\n var dispatch = useDispatch();\r\n var _f = useState(UNINITIALIZED_VALUE), arg = _f[0], setArg = _f[1];\r\n var promiseRef = useRef3();\r\n var stableSubscriptionOptions = useShallowStableValue({\r\n refetchOnReconnect: refetchOnReconnect,\r\n refetchOnFocus: refetchOnFocus,\r\n pollingInterval: pollingInterval\r\n });\r\n usePossiblyImmediateEffect(function () {\r\n var _a, _b;\r\n var lastSubscriptionOptions = (_a = promiseRef.current) == null ? void 0 : _a.subscriptionOptions;\r\n if (stableSubscriptionOptions !== lastSubscriptionOptions) {\r\n (_b = promiseRef.current) == null ? void 0 : _b.updateSubscriptionOptions(stableSubscriptionOptions);\r\n }\r\n }, [stableSubscriptionOptions]);\r\n var subscriptionOptionsRef = useRef3(stableSubscriptionOptions);\r\n usePossiblyImmediateEffect(function () {\r\n subscriptionOptionsRef.current = stableSubscriptionOptions;\r\n }, [stableSubscriptionOptions]);\r\n var trigger = useCallback(function (arg2, preferCacheValue) {\r\n if (preferCacheValue === void 0) { preferCacheValue = false; }\r\n var promise;\r\n batch(function () {\r\n var _a;\r\n (_a = promiseRef.current) == null ? void 0 : _a.unsubscribe();\r\n promiseRef.current = promise = dispatch(initiate(arg2, {\r\n subscriptionOptions: subscriptionOptionsRef.current,\r\n forceRefetch: !preferCacheValue\r\n }));\r\n setArg(arg2);\r\n });\r\n return promise;\r\n }, [dispatch, initiate]);\r\n useEffect3(function () {\r\n return function () {\r\n var _a;\r\n (_a = promiseRef == null ? void 0 : promiseRef.current) == null ? void 0 : _a.unsubscribe();\r\n };\r\n }, []);\r\n useEffect3(function () {\r\n if (arg !== UNINITIALIZED_VALUE && !promiseRef.current) {\r\n trigger(arg, true);\r\n }\r\n }, [arg, trigger]);\r\n return useMemo2(function () { return [trigger, arg]; }, [trigger, arg]);\r\n };\r\n var useQueryState = function (arg, _c) {\r\n var _d = _c === void 0 ? {} : _c, _e = _d.skip, skip = _e === void 0 ? false : _e, selectFromResult = _d.selectFromResult;\r\n var select = api.endpoints[name].select;\r\n var stableArg = useStableQueryArgs(skip ? skipToken : arg, serializeQueryArgs, context.endpointDefinitions[name], name);\r\n var lastValue = useRef3();\r\n var selectDefaultResult = useMemo2(function () { return createSelector([\r\n select(stableArg),\r\n function (_, lastResult) { return lastResult; },\r\n function (_) { return stableArg; }\r\n ], queryStatePreSelector); }, [select, stableArg]);\r\n var querySelector = useMemo2(function () { return selectFromResult ? createSelector([selectDefaultResult], selectFromResult) : selectDefaultResult; }, [selectDefaultResult, selectFromResult]);\r\n var currentState = useSelector(function (state) { return querySelector(state, lastValue.current); }, shallowEqual2);\r\n var store = useStore();\r\n var newLastValue = selectDefaultResult(store.getState(), lastValue.current);\r\n useIsomorphicLayoutEffect(function () {\r\n lastValue.current = newLastValue;\r\n }, [newLastValue]);\r\n return currentState;\r\n };\r\n return {\r\n useQueryState: useQueryState,\r\n useQuerySubscription: useQuerySubscription,\r\n useLazyQuerySubscription: useLazyQuerySubscription,\r\n useLazyQuery: function (options) {\r\n var _c = useLazyQuerySubscription(options), trigger = _c[0], arg = _c[1];\r\n var queryStateResults = useQueryState(arg, __spreadProps(__spreadValues({}, options), {\r\n skip: arg === UNINITIALIZED_VALUE\r\n }));\r\n var info = useMemo2(function () { return ({ lastArg: arg }); }, [arg]);\r\n return useMemo2(function () { return [trigger, queryStateResults, info]; }, [trigger, queryStateResults, info]);\r\n },\r\n useQuery: function (arg, options) {\r\n var querySubscriptionResults = useQuerySubscription(arg, options);\r\n var queryStateResults = useQueryState(arg, __spreadValues({\r\n selectFromResult: arg === skipToken || (options == null ? void 0 : options.skip) ? void 0 : noPendingQueryStateSelector\r\n }, options));\r\n var data = queryStateResults.data, status = queryStateResults.status, isLoading = queryStateResults.isLoading, isSuccess = queryStateResults.isSuccess, isError = queryStateResults.isError, error = queryStateResults.error;\r\n useDebugValue({ data: data, status: status, isLoading: isLoading, isSuccess: isSuccess, isError: isError, error: error });\r\n return useMemo2(function () { return __spreadValues(__spreadValues({}, queryStateResults), querySubscriptionResults); }, [queryStateResults, querySubscriptionResults]);\r\n }\r\n };\r\n }\r\n function buildMutationHook(name) {\r\n return function (_c) {\r\n var _d = _c === void 0 ? {} : _c, _e = _d.selectFromResult, selectFromResult = _e === void 0 ? defaultMutationStateSelector : _e, fixedCacheKey = _d.fixedCacheKey;\r\n var _f = api.endpoints[name], select = _f.select, initiate = _f.initiate;\r\n var dispatch = useDispatch();\r\n var _g = useState(), promise = _g[0], setPromise = _g[1];\r\n useEffect3(function () { return function () {\r\n if (!(promise == null ? void 0 : promise.arg.fixedCacheKey)) {\r\n promise == null ? void 0 : promise.reset();\r\n }\r\n }; }, [promise]);\r\n var triggerMutation = useCallback(function (arg) {\r\n var promise2 = dispatch(initiate(arg, { fixedCacheKey: fixedCacheKey }));\r\n setPromise(promise2);\r\n return promise2;\r\n }, [dispatch, initiate, fixedCacheKey]);\r\n var requestId = (promise || {}).requestId;\r\n var mutationSelector = useMemo2(function () { return createSelector([select({ fixedCacheKey: fixedCacheKey, requestId: promise == null ? void 0 : promise.requestId })], selectFromResult); }, [select, promise, selectFromResult, fixedCacheKey]);\r\n var currentState = useSelector(mutationSelector, shallowEqual2);\r\n var originalArgs = fixedCacheKey == null ? promise == null ? void 0 : promise.arg.originalArgs : void 0;\r\n var reset = useCallback(function () {\r\n batch(function () {\r\n if (promise) {\r\n setPromise(void 0);\r\n }\r\n if (fixedCacheKey) {\r\n dispatch(api.internalActions.removeMutationResult({\r\n requestId: requestId,\r\n fixedCacheKey: fixedCacheKey\r\n }));\r\n }\r\n });\r\n }, [dispatch, fixedCacheKey, promise, requestId]);\r\n var endpointName = currentState.endpointName, data = currentState.data, status = currentState.status, isLoading = currentState.isLoading, isSuccess = currentState.isSuccess, isError = currentState.isError, error = currentState.error;\r\n useDebugValue({\r\n endpointName: endpointName,\r\n data: data,\r\n status: status,\r\n isLoading: isLoading,\r\n isSuccess: isSuccess,\r\n isError: isError,\r\n error: error\r\n });\r\n var finalState = useMemo2(function () { return __spreadProps(__spreadValues({}, currentState), { originalArgs: originalArgs, reset: reset }); }, [currentState, originalArgs, reset]);\r\n return useMemo2(function () { return [triggerMutation, finalState]; }, [triggerMutation, finalState]);\r\n };\r\n }\r\n}\r\n// src/query/endpointDefinitions.ts\r\nvar DefinitionType;\r\n(function (DefinitionType2) {\r\n DefinitionType2[\"query\"] = \"query\";\r\n DefinitionType2[\"mutation\"] = \"mutation\";\r\n})(DefinitionType || (DefinitionType = {}));\r\nfunction isQueryDefinition(e) {\r\n return e.type === DefinitionType.query;\r\n}\r\nfunction isMutationDefinition(e) {\r\n return e.type === DefinitionType.mutation;\r\n}\r\n// src/query/utils/capitalize.ts\r\nfunction capitalize(str) {\r\n return str.replace(str[0], str[0].toUpperCase());\r\n}\r\n// src/query/tsHelpers.ts\r\nfunction safeAssign(target) {\r\n var args = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n args[_i - 1] = arguments[_i];\r\n }\r\n Object.assign.apply(Object, __spreadArray([target], args));\r\n}\r\n// src/query/react/module.ts\r\nimport { useDispatch as rrUseDispatch, useSelector as rrUseSelector, useStore as rrUseStore, batch as rrBatch } from \"react-redux\";\r\nvar reactHooksModuleName = /* @__PURE__ */ Symbol();\r\nvar reactHooksModule = function (_c) {\r\n var _d = _c === void 0 ? {} : _c, _e = _d.batch, batch = _e === void 0 ? rrBatch : _e, _f = _d.useDispatch, useDispatch = _f === void 0 ? rrUseDispatch : _f, _g = _d.useSelector, useSelector = _g === void 0 ? rrUseSelector : _g, _h = _d.useStore, useStore = _h === void 0 ? rrUseStore : _h, _j = _d.unstable__sideEffectsInRender, unstable__sideEffectsInRender = _j === void 0 ? false : _j;\r\n return ({\r\n name: reactHooksModuleName,\r\n init: function (api, _c, context) {\r\n var serializeQueryArgs = _c.serializeQueryArgs;\r\n var anyApi = api;\r\n var _d = buildHooks({\r\n api: api,\r\n moduleOptions: {\r\n batch: batch,\r\n useDispatch: useDispatch,\r\n useSelector: useSelector,\r\n useStore: useStore,\r\n unstable__sideEffectsInRender: unstable__sideEffectsInRender\r\n },\r\n serializeQueryArgs: serializeQueryArgs,\r\n context: context\r\n }), buildQueryHooks = _d.buildQueryHooks, buildMutationHook = _d.buildMutationHook, usePrefetch = _d.usePrefetch;\r\n safeAssign(anyApi, { usePrefetch: usePrefetch });\r\n safeAssign(context, { batch: batch });\r\n return {\r\n injectEndpoint: function (endpointName, definition) {\r\n if (isQueryDefinition(definition)) {\r\n var _c = buildQueryHooks(endpointName), useQuery = _c.useQuery, useLazyQuery = _c.useLazyQuery, useLazyQuerySubscription = _c.useLazyQuerySubscription, useQueryState = _c.useQueryState, useQuerySubscription = _c.useQuerySubscription;\r\n safeAssign(anyApi.endpoints[endpointName], {\r\n useQuery: useQuery,\r\n useLazyQuery: useLazyQuery,\r\n useLazyQuerySubscription: useLazyQuerySubscription,\r\n useQueryState: useQueryState,\r\n useQuerySubscription: useQuerySubscription\r\n });\r\n api[\"use\" + capitalize(endpointName) + \"Query\"] = useQuery;\r\n api[\"useLazy\" + capitalize(endpointName) + \"Query\"] = useLazyQuery;\r\n }\r\n else if (isMutationDefinition(definition)) {\r\n var useMutation = buildMutationHook(endpointName);\r\n safeAssign(anyApi.endpoints[endpointName], {\r\n useMutation: useMutation\r\n });\r\n api[\"use\" + capitalize(endpointName) + \"Mutation\"] = useMutation;\r\n }\r\n }\r\n };\r\n }\r\n });\r\n};\r\n// src/query/react/index.ts\r\nexport * from \"@reduxjs/toolkit/query\";\r\n// src/query/react/ApiProvider.tsx\r\nimport { configureStore } from \"@reduxjs/toolkit\";\r\nimport { useEffect as useEffect4 } from \"react\";\r\nimport React from \"react\";\r\nimport { Provider } from \"react-redux\";\r\nimport { setupListeners } from \"@reduxjs/toolkit/query\";\r\nfunction ApiProvider(props) {\r\n var store = React.useState(function () {\r\n var _c;\r\n return configureStore({\r\n reducer: (_c = {},\r\n _c[props.api.reducerPath] = props.api.reducer,\r\n _c),\r\n middleware: function (gDM) { return gDM().concat(props.api.middleware); }\r\n });\r\n })[0];\r\n useEffect4(function () { return props.setupListeners === false ? void 0 : setupListeners(store.dispatch, props.setupListeners); }, [props.setupListeners, store.dispatch]);\r\n return /* @__PURE__ */ React.createElement(Provider, {\r\n store: store,\r\n context: props.context\r\n }, props.children);\r\n}\r\n// src/query/react/index.ts\r\nvar createApi = /* @__PURE__ */ buildCreateApi(coreModule(), reactHooksModule());\r\nexport { ApiProvider, createApi, reactHooksModule, reactHooksModuleName };\r\n//# sourceMappingURL=rtk-query-react.esm.js.map","import { createApi } from '@reduxjs/toolkit/query/react';\nimport pipe from 'lodash/fp/pipe';\nimport qs__default from 'qs';\n\nconst STORAGE_KEYS = {\n TOKEN: \"jwtToken\",\n USER: \"userInfo\"\n};\nclass FetchError extends Error {\n name;\n message;\n response;\n code;\n status;\n constructor(message, response) {\n super(message);\n this.name = \"FetchError\";\n this.message = message;\n this.response = response;\n this.code = response?.data?.error?.status;\n this.status = response?.data?.error?.status;\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, FetchError);\n }\n }\n}\nconst isFetchError = (error) => {\n return error instanceof FetchError;\n};\nconst getToken = () => JSON.parse(\n localStorage.getItem(STORAGE_KEYS.TOKEN) ?? sessionStorage.getItem(STORAGE_KEYS.TOKEN) ?? '\"\"'\n);\nconst getFetchClient = (defaultOptions = {}) => {\n const backendURL = window.strapi.backendURL;\n const defaultHeader = {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${getToken()}`\n };\n const isFormDataRequest = (body) => body instanceof FormData;\n const addPrependingSlash = (url) => url.charAt(0) !== \"/\" ? `/${url}` : url;\n const hasProtocol = (url) => new RegExp(\"^(?:[a-z+]+:)?//\", \"i\").test(url);\n const normalizeUrl = (url) => hasProtocol(url) ? url : addPrependingSlash(url);\n const responseInterceptor = async (response, validateStatus) => {\n try {\n const result = await response.json();\n if (!response.ok && result.error && !validateStatus?.(response.status)) {\n throw new FetchError(result.error.message, { data: result });\n }\n if (!response.ok && !validateStatus?.(response.status)) {\n throw new FetchError(\"Unknown Server Error\");\n }\n return { data: result };\n } catch (error) {\n if (error instanceof SyntaxError && response.ok) {\n return { data: [], status: response.status };\n } else {\n throw error;\n }\n }\n };\n const paramsSerializer = (params) => (url) => {\n if (params) {\n const serializedParams = qs__default.stringify(params, { encode: false });\n return `${url}?${serializedParams}`;\n }\n return url;\n };\n const addBaseUrl = (url) => {\n return `${backendURL}${url}`;\n };\n const makeCreateRequestUrl = (options) => pipe(normalizeUrl, addBaseUrl, paramsSerializer(options?.params));\n const fetchClient = {\n get: async (url, options) => {\n const headers = new Headers({\n ...defaultHeader,\n ...options?.headers\n });\n const createRequestUrl = makeCreateRequestUrl(options);\n const response = await fetch(createRequestUrl(url), {\n signal: options?.signal ?? defaultOptions.signal,\n method: \"GET\",\n headers\n });\n return responseInterceptor(response, options?.validateStatus);\n },\n post: async (url, data, options) => {\n const headers = new Headers({\n ...defaultHeader,\n ...options?.headers\n });\n const createRequestUrl = makeCreateRequestUrl(options);\n if (isFormDataRequest(data)) {\n headers.delete(\"Content-Type\");\n }\n const response = await fetch(createRequestUrl(url), {\n signal: options?.signal ?? defaultOptions.signal,\n method: \"POST\",\n headers,\n body: isFormDataRequest(data) ? data : JSON.stringify(data)\n });\n return responseInterceptor(response, options?.validateStatus);\n },\n put: async (url, data, options) => {\n const headers = new Headers({\n ...defaultHeader,\n ...options?.headers\n });\n const createRequestUrl = makeCreateRequestUrl(options);\n if (isFormDataRequest(data)) {\n headers.delete(\"Content-Type\");\n }\n const response = await fetch(createRequestUrl(url), {\n signal: options?.signal ?? defaultOptions.signal,\n method: \"PUT\",\n headers,\n body: isFormDataRequest(data) ? data : JSON.stringify(data)\n });\n return responseInterceptor(response, options?.validateStatus);\n },\n del: async (url, options) => {\n const headers = new Headers({\n ...defaultHeader,\n ...options?.headers\n });\n const createRequestUrl = makeCreateRequestUrl(options);\n const response = await fetch(createRequestUrl(url), {\n signal: options?.signal ?? defaultOptions.signal,\n method: \"DELETE\",\n headers\n });\n return responseInterceptor(response, options?.validateStatus);\n }\n };\n return fetchClient;\n};\n\nconst fetchBaseQuery = () => async (query, { signal }) => {\n try {\n const { get, post, del, put } = getFetchClient();\n if (typeof query === \"string\") {\n const result = await get(query, { signal });\n return { data: result.data };\n } else {\n const { url, method = \"GET\", data, config } = query;\n if (method === \"POST\") {\n const result2 = await post(url, data, {\n ...config,\n signal\n });\n return { data: result2.data };\n }\n if (method === \"DELETE\") {\n const result2 = await del(url, {\n ...config,\n signal\n });\n return { data: result2.data };\n }\n if (method === \"PUT\") {\n const result2 = await put(url, data, {\n ...config,\n signal\n });\n return { data: result2.data };\n }\n const result = await get(url, {\n ...config,\n signal\n });\n return { data: result.data };\n }\n } catch (err) {\n if (isFetchError(err)) {\n if (typeof err.response?.data === \"object\" && err.response?.data !== null && \"error\" in err.response?.data) {\n return { data: void 0, error: err.response?.data.error };\n } else {\n return {\n data: void 0,\n error: {\n name: \"UnknownError\",\n message: err.message,\n details: err.response,\n status: err.status\n }\n };\n }\n }\n const error = err;\n return {\n data: void 0,\n error: {\n name: error.name,\n message: error.message,\n stack: error.stack\n }\n };\n }\n};\nconst isBaseQueryError = (error) => {\n return error.name !== void 0;\n};\n\nconst adminApi = createApi({\n reducerPath: \"adminApi\",\n baseQuery: fetchBaseQuery(),\n tagTypes: [],\n endpoints: () => ({})\n});\n\nconst prefixFileUrlWithBackendUrl = (fileURL) => {\n return !!fileURL && fileURL.startsWith(\"/\") ? `${window.strapi.backendURL}${fileURL}` : fileURL;\n};\nconst createAbsoluteUrl = (url) => {\n if (!url) {\n return window.location.origin;\n }\n if (url.startsWith(\"/\")) {\n return new URL(url, window.location.origin).toString();\n } else {\n return url;\n }\n};\n\nconst admin = adminApi.enhanceEndpoints({\n addTagTypes: [\"ProjectSettings\", \"LicenseLimits\"]\n}).injectEndpoints({\n endpoints: (builder) => ({\n init: builder.query({\n query: () => ({\n url: \"/admin/init\",\n method: \"GET\"\n }),\n transformResponse(res) {\n return res.data;\n }\n }),\n information: builder.query({\n query: () => ({\n url: \"/admin/information\",\n method: \"GET\"\n }),\n transformResponse(res) {\n return res.data;\n }\n }),\n telemetryProperties: builder.query({\n query: () => ({\n url: \"/admin/telemetry-properties\",\n method: \"GET\",\n config: {\n validateStatus: (status) => status < 500\n }\n }),\n transformResponse(res) {\n return res.data;\n }\n }),\n projectSettings: builder.query({\n query: () => ({\n url: \"/admin/project-settings\",\n method: \"GET\"\n }),\n providesTags: [\"ProjectSettings\"],\n transformResponse(data) {\n return {\n authLogo: data.authLogo ? {\n name: data.authLogo.name,\n url: prefixFileUrlWithBackendUrl(data.authLogo.url)\n } : void 0,\n menuLogo: data.menuLogo ? {\n name: data.menuLogo.name,\n url: prefixFileUrlWithBackendUrl(data.menuLogo.url)\n } : void 0\n };\n }\n }),\n updateProjectSettings: builder.mutation({\n query: (data) => ({\n url: \"/admin/project-settings\",\n method: \"POST\",\n data,\n config: {\n headers: {\n \"Content-Type\": \"multipart/form-data\"\n }\n }\n }),\n invalidatesTags: [\"ProjectSettings\"]\n }),\n getPlugins: builder.query({\n query: () => ({\n url: \"/admin/plugins\",\n method: \"GET\"\n })\n }),\n getLicenseLimits: builder.query({\n query: () => ({\n url: \"/admin/license-limit-information\",\n method: \"GET\"\n }),\n providesTags: [\"LicenseLimits\"]\n })\n }),\n overrideExisting: false\n});\nconst {\n useInitQuery,\n useTelemetryPropertiesQuery,\n useInformationQuery,\n useProjectSettingsQuery,\n useUpdateProjectSettingsMutation,\n useGetPluginsQuery,\n useGetLicenseLimitsQuery\n} = admin;\n\nexport { FetchError as F, adminApi as a, useGetPluginsQuery as b, isFetchError as c, useInformationQuery as d, useInitQuery as e, useTelemetryPropertiesQuery as f, useProjectSettingsQuery as g, useUpdateProjectSettingsMutation as h, isBaseQueryError as i, createAbsoluteUrl as j, getFetchClient as k, fetchBaseQuery as l, useGetLicenseLimitsQuery as u };\n//# sourceMappingURL=admin-DIy_Bn_0.mjs.map\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = (\n (product) => {\n return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0\n })(typeof navigator !== 'undefined' && navigator.product);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn.apply(null, args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst composeSignals = (signals, timeout) => {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (cancel) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = cancel instanceof Error ? cancel : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal &&\n (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort));\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal && signal.addEventListener && signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = unsubscribe;\n\n return [signal, () => {\n timer && clearTimeout(timer);\n timer = null;\n }];\n}\n\nexport default composeSignals;\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize, encode) {\n for await (const chunk of iterable) {\n yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : (await encode(String(chunk))), chunkSize);\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => {\n const iterator = readBytes(stream, chunkSize, encode);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst supportsRequestStream = isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n});\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n return (await new Request(body).arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ?\n composeSignals([signal, cancelToken], timeout) : [];\n\n let finished, request;\n\n const onFinish = () => {\n !finished && setTimeout(() => {\n composedSignal && composedSignal.unsubscribe();\n });\n\n finished = true;\n }\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush, encodeText);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: withCredentials\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n isStreamResponse && onFinish();\n }, encodeText),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && onFinish();\n\n stopTimeout && stopTimeout();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n onFinish();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.7.4\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","/**\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<c;){var d=c-1>>>1,e=a[d];if(0<g(e,b))a[d]=b,a[c]=e,c=d;else break a}}function h(a){return 0===a.length?null:a[0]}function k(a){if(0===a.length)return null;var b=a[0],c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length,w=e>>>1;d<w;){var m=2*(d+1)-1,C=a[m],n=m+1,x=a[n];if(0>g(C,c))n<e&&0>g(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(n<e&&0>g(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()-Q<P?!1:!0}function R(){if(null!==O){var a=exports.unstable_now();Q=a;var b=!0;try{b=O(!0,a)}finally{b?S():(N=!1,O=null)}}else N=!1}var S;if(\"function\"===typeof F)S=function(){F(R)};else if(\"undefined\"!==typeof MessageChannel){var T=new MessageChannel,U=T.port2;T.port1.onmessage=R;S=function(){U.postMessage(null)}}else S=function(){D(R,0)};function I(a){O=a;N||(N=!0,S())}function K(a,b){L=D(function(){a(exports.unstable_now())},b)}\nexports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){A||z||(A=!0,I(J))};\nexports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):P=0<a?Math.floor(1E3/a):5};exports.unstable_getCurrentPriorityLevel=function(){return y};exports.unstable_getFirstCallbackNode=function(){return h(r)};exports.unstable_next=function(a){switch(y){case 1:case 2:case 3:var b=3;break;default:b=y}var c=y;y=b;try{return a()}finally{y=c}};exports.unstable_pauseExecution=function(){};\nexports.unstable_requestPaint=function(){};exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=y;y=a;try{return b()}finally{y=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0<c?d+c:d):c=d;switch(a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1E4;break;default:e=5E3}e=c+e;a={id:u++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1};c>d?(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","/**\n * @license React\n * scheduler.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var enableSchedulerDebugging = false;\nvar enableProfiling = false;\nvar frameYieldMs = 5;\n\nfunction push(heap, node) {\n var index = heap.length;\n heap.push(node);\n siftUp(heap, node, index);\n}\nfunction peek(heap) {\n return heap.length === 0 ? null : heap[0];\n}\nfunction pop(heap) {\n if (heap.length === 0) {\n return null;\n }\n\n var first = heap[0];\n var last = heap.pop();\n\n if (last !== first) {\n heap[0] = last;\n siftDown(heap, last, 0);\n }\n\n return first;\n}\n\nfunction siftUp(heap, node, i) {\n var index = i;\n\n while (index > 0) {\n var parentIndex = index - 1 >>> 1;\n var parent = heap[parentIndex];\n\n if (compare(parent, node) > 0) {\n // The parent is larger. Swap positions.\n heap[parentIndex] = node;\n heap[index] = parent;\n index = parentIndex;\n } else {\n // The parent is smaller. Exit.\n return;\n }\n }\n}\n\nfunction siftDown(heap, node, i) {\n var index = i;\n var length = heap.length;\n var halfLength = length >>> 1;\n\n while (index < halfLength) {\n var leftIndex = (index + 1) * 2 - 1;\n var left = heap[leftIndex];\n var rightIndex = leftIndex + 1;\n var right = heap[rightIndex]; // If the left or right node is smaller, swap with the smaller of those.\n\n if (compare(left, node) < 0) {\n if (rightIndex < length && compare(right, left) < 0) {\n heap[index] = right;\n heap[rightIndex] = node;\n index = rightIndex;\n } else {\n heap[index] = left;\n heap[leftIndex] = node;\n index = leftIndex;\n }\n } else if (rightIndex < length && compare(right, node) < 0) {\n heap[index] = right;\n heap[rightIndex] = node;\n index = rightIndex;\n } else {\n // Neither child is smaller. Exit.\n return;\n }\n }\n}\n\nfunction compare(a, b) {\n // Compare sort index first, then task id.\n var diff = a.sortIndex - b.sortIndex;\n return diff !== 0 ? diff : a.id - b.id;\n}\n\n// TODO: Use symbols?\nvar ImmediatePriority = 1;\nvar UserBlockingPriority = 2;\nvar NormalPriority = 3;\nvar LowPriority = 4;\nvar IdlePriority = 5;\n\nfunction markTaskErrored(task, ms) {\n}\n\n/* eslint-disable no-var */\n\nvar hasPerformanceNow = typeof performance === 'object' && typeof performance.now === 'function';\n\nif (hasPerformanceNow) {\n var localPerformance = performance;\n\n exports.unstable_now = function () {\n return localPerformance.now();\n };\n} else {\n var localDate = Date;\n var initialTime = localDate.now();\n\n exports.unstable_now = function () {\n return localDate.now() - initialTime;\n };\n} // Max 31 bit integer. The max integer size in V8 for 32-bit systems.\n// Math.pow(2, 30) - 1\n// 0b111111111111111111111111111111\n\n\nvar maxSigned31BitInt = 1073741823; // Times out immediately\n\nvar IMMEDIATE_PRIORITY_TIMEOUT = -1; // Eventually times out\n\nvar USER_BLOCKING_PRIORITY_TIMEOUT = 250;\nvar NORMAL_PRIORITY_TIMEOUT = 5000;\nvar LOW_PRIORITY_TIMEOUT = 10000; // Never times out\n\nvar IDLE_PRIORITY_TIMEOUT = maxSigned31BitInt; // Tasks are stored on a min heap\n\nvar taskQueue = [];\nvar timerQueue = []; // Incrementing id counter. Used to maintain insertion order.\n\nvar taskIdCounter = 1; // Pausing the scheduler is useful for debugging.\nvar currentTask = null;\nvar currentPriorityLevel = NormalPriority; // This is set while performing work, to prevent re-entrance.\n\nvar isPerformingWork = false;\nvar isHostCallbackScheduled = false;\nvar isHostTimeoutScheduled = false; // Capture local references to native APIs, in case a polyfill overrides them.\n\nvar localSetTimeout = typeof setTimeout === 'function' ? setTimeout : null;\nvar localClearTimeout = typeof clearTimeout === 'function' ? clearTimeout : null;\nvar localSetImmediate = typeof setImmediate !== 'undefined' ? setImmediate : null; // IE and Node.js + jsdom\n\nvar isInputPending = typeof navigator !== 'undefined' && navigator.scheduling !== undefined && navigator.scheduling.isInputPending !== undefined ? navigator.scheduling.isInputPending.bind(navigator.scheduling) : null;\n\nfunction advanceTimers(currentTime) {\n // Check for tasks that are no longer delayed and add them to the queue.\n var timer = peek(timerQueue);\n\n while (timer !== null) {\n if (timer.callback === null) {\n // Timer was cancelled.\n pop(timerQueue);\n } else if (timer.startTime <= currentTime) {\n // Timer fired. Transfer to the task queue.\n pop(timerQueue);\n timer.sortIndex = timer.expirationTime;\n push(taskQueue, timer);\n } else {\n // Remaining timers are pending.\n return;\n }\n\n timer = peek(timerQueue);\n }\n}\n\nfunction handleTimeout(currentTime) {\n isHostTimeoutScheduled = false;\n advanceTimers(currentTime);\n\n if (!isHostCallbackScheduled) {\n if (peek(taskQueue) !== null) {\n isHostCallbackScheduled = true;\n requestHostCallback(flushWork);\n } else {\n var firstTimer = peek(timerQueue);\n\n if (firstTimer !== null) {\n requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n }\n }\n }\n}\n\nfunction flushWork(hasTimeRemaining, initialTime) {\n\n\n isHostCallbackScheduled = false;\n\n if (isHostTimeoutScheduled) {\n // We scheduled a timeout but it's no longer needed. Cancel it.\n isHostTimeoutScheduled = false;\n cancelHostTimeout();\n }\n\n isPerformingWork = true;\n var previousPriorityLevel = currentPriorityLevel;\n\n try {\n if (enableProfiling) {\n try {\n return workLoop(hasTimeRemaining, initialTime);\n } catch (error) {\n if (currentTask !== null) {\n var currentTime = exports.unstable_now();\n markTaskErrored(currentTask, currentTime);\n currentTask.isQueued = false;\n }\n\n throw error;\n }\n } else {\n // No catch in prod code path.\n return workLoop(hasTimeRemaining, initialTime);\n }\n } finally {\n currentTask = null;\n currentPriorityLevel = previousPriorityLevel;\n isPerformingWork = false;\n }\n}\n\nfunction workLoop(hasTimeRemaining, initialTime) {\n var currentTime = initialTime;\n advanceTimers(currentTime);\n currentTask = peek(taskQueue);\n\n while (currentTask !== null && !(enableSchedulerDebugging )) {\n if (currentTask.expirationTime > currentTime && (!hasTimeRemaining || shouldYieldToHost())) {\n // This currentTask hasn't expired, and we've reached the deadline.\n break;\n }\n\n var callback = currentTask.callback;\n\n if (typeof callback === 'function') {\n currentTask.callback = null;\n currentPriorityLevel = currentTask.priorityLevel;\n var didUserCallbackTimeout = currentTask.expirationTime <= currentTime;\n\n var continuationCallback = callback(didUserCallbackTimeout);\n currentTime = exports.unstable_now();\n\n if (typeof continuationCallback === 'function') {\n currentTask.callback = continuationCallback;\n } else {\n\n if (currentTask === peek(taskQueue)) {\n pop(taskQueue);\n }\n }\n\n advanceTimers(currentTime);\n } else {\n pop(taskQueue);\n }\n\n currentTask = peek(taskQueue);\n } // Return whether there's additional work\n\n\n if (currentTask !== null) {\n return true;\n } else {\n var firstTimer = peek(timerQueue);\n\n if (firstTimer !== null) {\n requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n }\n\n return false;\n }\n}\n\nfunction unstable_runWithPriority(priorityLevel, eventHandler) {\n switch (priorityLevel) {\n case ImmediatePriority:\n case UserBlockingPriority:\n case NormalPriority:\n case LowPriority:\n case IdlePriority:\n break;\n\n default:\n priorityLevel = NormalPriority;\n }\n\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n}\n\nfunction unstable_next(eventHandler) {\n var priorityLevel;\n\n switch (currentPriorityLevel) {\n case ImmediatePriority:\n case UserBlockingPriority:\n case NormalPriority:\n // Shift down to normal priority\n priorityLevel = NormalPriority;\n break;\n\n default:\n // Anything lower than normal priority should remain at the current level.\n priorityLevel = currentPriorityLevel;\n break;\n }\n\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n}\n\nfunction unstable_wrapCallback(callback) {\n var parentPriorityLevel = currentPriorityLevel;\n return function () {\n // This is a fork of runWithPriority, inlined for performance.\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = parentPriorityLevel;\n\n try {\n return callback.apply(this, arguments);\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n };\n}\n\nfunction unstable_scheduleCallback(priorityLevel, callback, options) {\n var currentTime = exports.unstable_now();\n var startTime;\n\n if (typeof options === 'object' && options !== null) {\n var delay = options.delay;\n\n if (typeof delay === 'number' && delay > 0) {\n startTime = currentTime + delay;\n } else {\n startTime = currentTime;\n }\n } else {\n startTime = currentTime;\n }\n\n var timeout;\n\n switch (priorityLevel) {\n case ImmediatePriority:\n timeout = IMMEDIATE_PRIORITY_TIMEOUT;\n break;\n\n case UserBlockingPriority:\n timeout = USER_BLOCKING_PRIORITY_TIMEOUT;\n break;\n\n case IdlePriority:\n timeout = IDLE_PRIORITY_TIMEOUT;\n break;\n\n case LowPriority:\n timeout = LOW_PRIORITY_TIMEOUT;\n break;\n\n case NormalPriority:\n default:\n timeout = NORMAL_PRIORITY_TIMEOUT;\n break;\n }\n\n var expirationTime = startTime + timeout;\n var newTask = {\n id: taskIdCounter++,\n callback: callback,\n priorityLevel: priorityLevel,\n startTime: startTime,\n expirationTime: expirationTime,\n sortIndex: -1\n };\n\n if (startTime > currentTime) {\n // This is a delayed task.\n newTask.sortIndex = startTime;\n push(timerQueue, newTask);\n\n if (peek(taskQueue) === null && newTask === peek(timerQueue)) {\n // All tasks are delayed, and this is the task with the earliest delay.\n if (isHostTimeoutScheduled) {\n // Cancel an existing timeout.\n cancelHostTimeout();\n } else {\n isHostTimeoutScheduled = true;\n } // Schedule a timeout.\n\n\n requestHostTimeout(handleTimeout, startTime - currentTime);\n }\n } else {\n newTask.sortIndex = expirationTime;\n push(taskQueue, newTask);\n // wait until the next time we yield.\n\n\n if (!isHostCallbackScheduled && !isPerformingWork) {\n isHostCallbackScheduled = true;\n requestHostCallback(flushWork);\n }\n }\n\n return newTask;\n}\n\nfunction unstable_pauseExecution() {\n}\n\nfunction unstable_continueExecution() {\n\n if (!isHostCallbackScheduled && !isPerformingWork) {\n isHostCallbackScheduled = true;\n requestHostCallback(flushWork);\n }\n}\n\nfunction unstable_getFirstCallbackNode() {\n return peek(taskQueue);\n}\n\nfunction unstable_cancelCallback(task) {\n // remove from the queue because you can't remove arbitrary nodes from an\n // array based heap, only the first one.)\n\n\n task.callback = null;\n}\n\nfunction unstable_getCurrentPriorityLevel() {\n return currentPriorityLevel;\n}\n\nvar isMessageLoopRunning = false;\nvar scheduledHostCallback = null;\nvar taskTimeoutID = -1; // Scheduler periodically yields in case there is other work on the main\n// thread, like user events. By default, it yields multiple times per frame.\n// It does not attempt to align with frame boundaries, since most tasks don't\n// need to be frame aligned; for those that do, use requestAnimationFrame.\n\nvar frameInterval = frameYieldMs;\nvar startTime = -1;\n\nfunction shouldYieldToHost() {\n var timeElapsed = exports.unstable_now() - startTime;\n\n if (timeElapsed < frameInterval) {\n // The main thread has only been blocked for a really short amount of time;\n // smaller than a single frame. Don't yield yet.\n return false;\n } // The main thread has been blocked for a non-negligible amount of time. We\n\n\n return true;\n}\n\nfunction requestPaint() {\n\n}\n\nfunction forceFrameRate(fps) {\n if (fps < 0 || fps > 125) {\n // Using console['error'] to evade Babel and ESLint\n console['error']('forceFrameRate takes a positive int between 0 and 125, ' + 'forcing frame rates higher than 125 fps is not supported');\n return;\n }\n\n if (fps > 0) {\n frameInterval = Math.floor(1000 / fps);\n } else {\n // reset the framerate\n frameInterval = frameYieldMs;\n }\n}\n\nvar performWorkUntilDeadline = function () {\n if (scheduledHostCallback !== null) {\n var currentTime = exports.unstable_now(); // Keep track of the start time so we can measure how long the main thread\n // has been blocked.\n\n startTime = currentTime;\n var hasTimeRemaining = true; // If a scheduler task throws, exit the current browser task so the\n // error can be observed.\n //\n // Intentionally not using a try-catch, since that makes some debugging\n // techniques harder. Instead, if `scheduledHostCallback` errors, then\n // `hasMoreWork` will remain true, and we'll continue the work loop.\n\n var hasMoreWork = true;\n\n try {\n hasMoreWork = scheduledHostCallback(hasTimeRemaining, currentTime);\n } finally {\n if (hasMoreWork) {\n // If there's more work, schedule the next message event at the end\n // of the preceding one.\n schedulePerformWorkUntilDeadline();\n } else {\n isMessageLoopRunning = false;\n scheduledHostCallback = null;\n }\n }\n } else {\n isMessageLoopRunning = false;\n } // Yielding to the browser will give it a chance to paint, so we can\n};\n\nvar schedulePerformWorkUntilDeadline;\n\nif (typeof localSetImmediate === 'function') {\n // Node.js and old IE.\n // There's a few reasons for why we prefer setImmediate.\n //\n // Unlike MessageChannel, it doesn't prevent a Node.js process from exiting.\n // (Even though this is a DOM fork of the Scheduler, you could get here\n // with a mix of Node.js 15+, which has a MessageChannel, and jsdom.)\n // https://github.com/facebook/react/issues/20756\n //\n // But also, it runs earlier which is the semantic we want.\n // If other browsers ever implement it, it's better to use it.\n // Although both of these would be inferior to native scheduling.\n schedulePerformWorkUntilDeadline = function () {\n localSetImmediate(performWorkUntilDeadline);\n };\n} else if (typeof MessageChannel !== 'undefined') {\n // DOM and Worker environments.\n // We prefer MessageChannel because of the 4ms setTimeout clamping.\n var channel = new MessageChannel();\n var port = channel.port2;\n channel.port1.onmessage = performWorkUntilDeadline;\n\n schedulePerformWorkUntilDeadline = function () {\n port.postMessage(null);\n };\n} else {\n // We should only fallback here in non-browser environments.\n schedulePerformWorkUntilDeadline = function () {\n localSetTimeout(performWorkUntilDeadline, 0);\n };\n}\n\nfunction requestHostCallback(callback) {\n scheduledHostCallback = callback;\n\n if (!isMessageLoopRunning) {\n isMessageLoopRunning = true;\n schedulePerformWorkUntilDeadline();\n }\n}\n\nfunction requestHostTimeout(callback, ms) {\n taskTimeoutID = localSetTimeout(function () {\n callback(exports.unstable_now());\n }, ms);\n}\n\nfunction cancelHostTimeout() {\n localClearTimeout(taskTimeoutID);\n taskTimeoutID = -1;\n}\n\nvar unstable_requestPaint = requestPaint;\nvar unstable_Profiling = null;\n\nexports.unstable_IdlePriority = IdlePriority;\nexports.unstable_ImmediatePriority = ImmediatePriority;\nexports.unstable_LowPriority = LowPriority;\nexports.unstable_NormalPriority = NormalPriority;\nexports.unstable_Profiling = unstable_Profiling;\nexports.unstable_UserBlockingPriority = UserBlockingPriority;\nexports.unstable_cancelCallback = unstable_cancelCallback;\nexports.unstable_continueExecution = unstable_continueExecution;\nexports.unstable_forceFrameRate = forceFrameRate;\nexports.unstable_getCurrentPriorityLevel = unstable_getCurrentPriorityLevel;\nexports.unstable_getFirstCallbackNode = unstable_getFirstCallbackNode;\nexports.unstable_next = unstable_next;\nexports.unstable_pauseExecution = unstable_pauseExecution;\nexports.unstable_requestPaint = unstable_requestPaint;\nexports.unstable_runWithPriority = unstable_runWithPriority;\nexports.unstable_scheduleCallback = unstable_scheduleCallback;\nexports.unstable_shouldYield = shouldYieldToHost;\nexports.unstable_wrapCallback = unstable_wrapCallback;\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n \n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","import{createContext as e,useContext as r,useReducer as t,createElement as n,useEffect as o,useLayoutEffect as c,useRef as u,useState as s}from\"react\";import{unstable_runWithPriority as i,unstable_NormalPriority as p}from\"scheduler\";import{unstable_batchedUpdates as l}from\"react-dom\";const d=Symbol(),f=Symbol(),v=\"undefined\"==typeof window||/ServerSideRendering/.test(window.navigator&&window.navigator.userAgent)?o:c,a=i?e=>i(p,e):e=>e(),w=e=>e;function E(r){const t=e({[d]:{v:{current:r},n:{current:-1},l:new Set,u:e=>e()}});var o;return t[f]=t.Provider,t.Provider=(o=t.Provider,({value:e,children:r})=>{const t=u(e),c=u(0),[i,p]=s(null);i&&(i(e),p(null));const f=u();if(!f.current){const e=new Set,r=(r,t)=>{l(()=>{c.current+=1;const n={n:c.current};null!=t&&t.suspense&&(n.n*=-1,n.p=new Promise(e=>{p(()=>r=>{n.v=r,delete n.p,e(r)})})),e.forEach(e=>e(n)),r()})};f.current={[d]:{v:t,n:c,l:e,u:r}}}return v(()=>{t.current=e,c.current+=1,a(()=>{f.current[d].l.forEach(r=>{r({n:c.current,v:e})})})},[e]),n(o,{value:f.current},r)}),delete t.Consumer,t}function h(e,n){const o=r(e)[d];if(\"object\"==typeof process&&\"production\"!==process.env.NODE_ENV&&!o)throw new Error(\"useContextSelector requires special context\");const{v:{current:c},n:{current:u},l:s}=o,i=n(c),[p,l]=t((e,r)=>{if(!r)return[c,i];if(\"p\"in r)throw r.p;if(r.n===u)return Object.is(e[1],i)?e:[c,i];try{if(\"v\"in r){if(Object.is(e[0],r.v))return e;const t=n(r.v);return Object.is(e[1],t)?e:[r.v,t]}}catch(e){}return[...e]},[c,i]);return Object.is(p[1],i)||l(),v(()=>(s.add(l),()=>{s.delete(l)}),[s]),p[1]}function m(e){return h(e,w)}function b(e){const t=r(e)[d];if(\"object\"==typeof process&&\"production\"!==process.env.NODE_ENV&&!t)throw new Error(\"useContextUpdate requires special context\");const{u:n}=t;return n}const x=({context:e,value:r,children:t})=>{const{[f]:o}=e;if(\"object\"==typeof process&&\"production\"!==process.env.NODE_ENV&&!o)throw new Error(\"BridgeProvider requires special context\");return n(o,{value:r},t)},j=e=>{const t=r(e);if(\"object\"==typeof process&&\"production\"!==process.env.NODE_ENV&&!t[d])throw new Error(\"useBridgeValue requires special context\");return t};export{x as BridgeProvider,E as createContext,j as useBridgeValue,m as useContext,h as useContextSelector,b as useContextUpdate};\n//# sourceMappingURL=index.modern.js.map\n","import { jsx, jsxs, Fragment } from 'react/jsx-runtime';\nimport * as React from 'react';\nimport { useMemo, useCallback, useRef, useEffect } from 'react';\nimport { createContext as createContext$1 } from '@radix-ui/react-context';\nimport { useIntl, IntlProvider } from 'react-intl';\nimport { Flex, useCallbackRef, Alert, Link, Main, Loader, EmptyStateLayout, Box, DesignSystemProvider } from '@strapi/design-system';\nimport { WarningCircle } from '@strapi/icons';\nimport { EmptyPermissions, EmptyDocuments } from '@strapi/icons/symbols';\nimport { useLocation, useNavigate } from 'react-router-dom';\nimport { parse, stringify } from 'qs';\nimport { a as adminApi, e as useInitQuery, f as useTelemetryPropertiesQuery, g as useProjectSettingsQuery, h as useUpdateProjectSettingsMutation } from './admin-DIy_Bn_0.mjs';\nimport clone from 'lodash/clone';\nimport toPath from 'lodash/toPath';\nimport isEqual from 'lodash/isEqual';\nimport axios from 'axios';\nimport { produce } from 'immer';\nimport get from 'lodash/get';\nimport set from 'lodash/set';\nimport * as ContextSelector from 'use-context-selector';\nimport defaultsDeep from 'lodash/defaultsDeep';\nimport { useStore, useDispatch, useSelector } from 'react-redux';\nimport { createGlobalStyle } from 'styled-components';\nimport { createSelector, createSlice } from '@reduxjs/toolkit';\n\nclass RBAC {\n middlewares = [];\n constructor() {\n }\n use(middleware) {\n if (Array.isArray(middleware)) {\n this.middlewares.push(...middleware);\n } else {\n this.middlewares.push(middleware);\n }\n }\n run = async (ctx, permissions) => {\n let index = 0;\n const middlewaresToRun = this.middlewares.map((middleware) => middleware(ctx));\n const next = async (permissions2) => {\n if (index < this.middlewares.length) {\n return middlewaresToRun[index++](next)(permissions2);\n }\n return permissions2;\n };\n return next(permissions);\n };\n}\n\nfunction createContext(rootComponentName, defaultContext) {\n const Context = ContextSelector.createContext(defaultContext);\n const Provider = (props) => {\n const { children, ...context } = props;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n };\n const useContext = (consumerName, selector) => ContextSelector.useContextSelector(Context, (ctx) => {\n if (ctx)\n return selector(ctx);\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n });\n Provider.displayName = rootComponentName + \"Provider\";\n return [Provider, useContext];\n}\n\nconst useTypedDispatch = useDispatch;\nconst useTypedStore = useStore;\nconst useTypedSelector = useSelector;\nconst createTypedSelector = (selector) => createSelector((state) => state, selector);\n\nconst [StrapiAppProvider, useStrapiApp] = createContext(\"StrapiApp\");\n\nconst useQueryParams = (initialParams) => {\n const { search } = useLocation();\n const navigate = useNavigate();\n const query = useMemo(() => {\n const searchQuery = search.startsWith(\"?\") ? search.slice(1) : search;\n if (!search && initialParams) {\n return initialParams;\n }\n return { ...initialParams, ...parse(searchQuery) };\n }, [search, initialParams]);\n const setQuery = useCallback(\n (nextParams, method = \"push\", replace = false) => {\n let nextQuery = { ...query };\n if (method === \"remove\") {\n Object.keys(nextParams).forEach((key) => {\n if (Object.prototype.hasOwnProperty.call(nextQuery, key)) {\n delete nextQuery[key];\n }\n });\n } else {\n nextQuery = { ...query, ...nextParams };\n }\n navigate({ search: stringify(nextQuery, { encode: false }) }, { replace });\n },\n [navigate, query]\n );\n return [{ query, rawQuery: search }, setQuery];\n};\n\nconst STORAGE_KEYS$1 = {\n TOKEN: \"jwtToken\",\n USER: \"userInfo\"\n};\nconst THEME_LOCAL_STORAGE_KEY = \"STRAPI_THEME\";\nconst LANGUAGE_LOCAL_STORAGE_KEY = \"strapi-admin-language\";\nconst getStoredToken = () => {\n const token = localStorage.getItem(STORAGE_KEYS$1.TOKEN) ?? sessionStorage.getItem(STORAGE_KEYS$1.TOKEN);\n if (typeof token === \"string\") {\n return JSON.parse(token);\n }\n return null;\n};\nconst adminSlice = createSlice({\n name: \"admin\",\n initialState: () => {\n return {\n language: {\n locale: \"en\",\n localeNames: { en: \"English\" }\n },\n permissions: {},\n theme: {\n availableThemes: [],\n currentTheme: localStorage.getItem(THEME_LOCAL_STORAGE_KEY) || \"system\"\n },\n token: null\n };\n },\n reducers: {\n setAppTheme(state, action) {\n state.theme.currentTheme = action.payload;\n window.localStorage.setItem(THEME_LOCAL_STORAGE_KEY, action.payload);\n },\n setAvailableThemes(state, action) {\n state.theme.availableThemes = action.payload;\n },\n setLocale(state, action) {\n state.language.locale = action.payload;\n window.localStorage.setItem(LANGUAGE_LOCAL_STORAGE_KEY, action.payload);\n document.documentElement.setAttribute(\"lang\", action.payload);\n },\n setToken(state, action) {\n state.token = action.payload;\n },\n login(state, action) {\n const { token, persist } = action.payload;\n if (!persist) {\n window.sessionStorage.setItem(STORAGE_KEYS$1.TOKEN, JSON.stringify(token));\n } else {\n window.localStorage.setItem(STORAGE_KEYS$1.TOKEN, JSON.stringify(token));\n }\n state.token = token;\n },\n logout(state) {\n state.token = null;\n window.localStorage.removeItem(STORAGE_KEYS$1.TOKEN);\n window.localStorage.removeItem(STORAGE_KEYS$1.USER);\n window.sessionStorage.removeItem(STORAGE_KEYS$1.TOKEN);\n window.sessionStorage.removeItem(STORAGE_KEYS$1.USER);\n }\n }\n});\nconst reducer$1 = adminSlice.reducer;\nconst { setAppTheme, setAvailableThemes, setLocale, setToken, logout, login } = adminSlice.actions;\n\nconst authService = adminApi.enhanceEndpoints({\n addTagTypes: [\"User\", \"Me\", \"ProvidersOptions\"]\n}).injectEndpoints({\n endpoints: (builder) => ({\n /**\n * ME\n */\n getMe: builder.query({\n query: () => ({\n method: \"GET\",\n url: \"/admin/users/me\"\n }),\n transformResponse(res) {\n return res.data;\n },\n providesTags: (res) => res ? [\"Me\", { type: \"User\", id: res.id }] : [\"Me\"]\n }),\n getMyPermissions: builder.query({\n query: () => ({\n method: \"GET\",\n url: \"/admin/users/me/permissions\"\n }),\n transformResponse(res) {\n return res.data;\n }\n }),\n updateMe: builder.mutation({\n query: (body) => ({\n method: \"PUT\",\n url: \"/admin/users/me\",\n data: body\n }),\n transformResponse(res) {\n return res.data;\n },\n invalidatesTags: [\"Me\"]\n }),\n /**\n * Permissions\n */\n checkPermissions: builder.query({\n query: (permissions) => ({\n method: \"POST\",\n url: \"/admin/permissions/check\",\n data: permissions\n })\n }),\n /**\n * Auth methods\n */\n login: builder.mutation({\n query: (body) => ({\n method: \"POST\",\n url: \"/admin/login\",\n data: body\n }),\n transformResponse(res) {\n return res.data;\n },\n invalidatesTags: [\"Me\"]\n }),\n logout: builder.mutation({\n query: () => ({\n method: \"POST\",\n url: \"/admin/logout\"\n })\n }),\n resetPassword: builder.mutation({\n query: (body) => ({\n method: \"POST\",\n url: \"/admin/reset-password\",\n data: body\n }),\n transformResponse(res) {\n return res.data;\n }\n }),\n renewToken: builder.mutation({\n query: (body) => ({\n method: \"POST\",\n url: \"/admin/renew-token\",\n data: body\n }),\n transformResponse(res) {\n return res.data;\n }\n }),\n getRegistrationInfo: builder.query({\n query: (registrationToken) => ({\n url: \"/admin/registration-info\",\n method: \"GET\",\n config: {\n params: {\n registrationToken\n }\n }\n }),\n transformResponse(res) {\n return res.data;\n }\n }),\n registerAdmin: builder.mutation({\n query: (body) => ({\n method: \"POST\",\n url: \"/admin/register-admin\",\n data: body\n }),\n transformResponse(res) {\n return res.data;\n }\n }),\n registerUser: builder.mutation({\n query: (body) => ({\n method: \"POST\",\n url: \"/admin/register\",\n data: body\n }),\n transformResponse(res) {\n return res.data;\n }\n }),\n forgotPassword: builder.mutation({\n query: (body) => ({\n url: \"/admin/forgot-password\",\n method: \"POST\",\n data: body\n })\n }),\n isSSOLocked: builder.query({\n query: () => ({\n url: \"/admin/providers/isSSOLocked\",\n method: \"GET\"\n }),\n transformResponse(res) {\n return res.data;\n }\n }),\n getProviders: builder.query({\n query: () => ({\n url: \"/admin/providers\",\n method: \"GET\"\n })\n }),\n getProviderOptions: builder.query({\n query: () => ({\n url: \"/admin/providers/options\",\n method: \"GET\"\n }),\n transformResponse(res) {\n return res.data;\n },\n providesTags: [\"ProvidersOptions\"]\n }),\n updateProviderOptions: builder.mutation({\n query: (body) => ({\n url: \"/admin/providers/options\",\n method: \"PUT\",\n data: body\n }),\n transformResponse(res) {\n return res.data;\n },\n invalidatesTags: [\"ProvidersOptions\"]\n })\n }),\n overrideExisting: false\n});\nconst {\n useCheckPermissionsQuery,\n useLazyCheckPermissionsQuery,\n useGetMeQuery,\n useLoginMutation,\n useRenewTokenMutation,\n useLogoutMutation,\n useUpdateMeMutation,\n useResetPasswordMutation,\n useRegisterAdminMutation,\n useRegisterUserMutation,\n useGetRegistrationInfoQuery,\n useForgotPasswordMutation,\n useGetMyPermissionsQuery,\n useIsSSOLockedQuery,\n useGetProvidersQuery,\n useGetProviderOptionsQuery,\n useUpdateProviderOptionsMutation\n} = authService;\n\nconst [Provider, useAuth] = createContext(\"Auth\");\nconst STORAGE_KEYS = {\n TOKEN: \"jwtToken\",\n USER: \"userInfo\"\n};\nconst AuthProvider = ({\n children,\n _defaultPermissions = [],\n _disableRenewToken = false\n}) => {\n const dispatch = useTypedDispatch();\n const runRbacMiddleware = useStrapiApp(\"AuthProvider\", (state) => state.rbac.run);\n const location = useLocation();\n const [{ rawQuery }] = useQueryParams();\n const token = useTypedSelector((state) => state.admin_app.token ?? null);\n const { data: user, isLoading: isLoadingUser } = useGetMeQuery(void 0, {\n /**\n * If there's no token, we don't try to fetch\n * the user data because it will fail.\n */\n skip: !token\n });\n const {\n data: userPermissions = _defaultPermissions,\n refetch,\n isUninitialized,\n isLoading: isLoadingPermissions\n } = useGetMyPermissionsQuery(void 0, {\n skip: !token\n });\n const navigate = useNavigate();\n const [loginMutation] = useLoginMutation();\n const [renewTokenMutation] = useRenewTokenMutation();\n const [logoutMutation] = useLogoutMutation();\n const clearStateAndLogout = React.useCallback(() => {\n dispatch(adminApi.util.resetApiState());\n dispatch(logout());\n navigate(\"/auth/login\");\n }, [dispatch, navigate]);\n React.useEffect(() => {\n if (token && !_disableRenewToken) {\n renewTokenMutation({ token }).then((res) => {\n if (\"data\" in res) {\n dispatch(\n login({\n token: res.data.token\n })\n );\n } else {\n clearStateAndLogout();\n }\n });\n }\n }, [token, dispatch, renewTokenMutation, clearStateAndLogout, _disableRenewToken]);\n React.useEffect(() => {\n if (user) {\n if (user.preferedLanguage) {\n dispatch(setLocale(user.preferedLanguage));\n }\n }\n }, [dispatch, user]);\n React.useEffect(() => {\n const handleUserStorageChange = (event) => {\n if (event.key === STORAGE_KEYS.USER && event.newValue === null) {\n clearStateAndLogout();\n }\n };\n window.addEventListener(\"storage\", handleUserStorageChange);\n return () => {\n window.removeEventListener(\"storage\", handleUserStorageChange);\n };\n });\n const login$1 = React.useCallback(\n async ({ rememberMe, ...body }) => {\n const res = await loginMutation(body);\n if (\"data\" in res) {\n const { token: token2 } = res.data;\n dispatch(\n login({\n token: token2,\n persist: rememberMe\n })\n );\n }\n return res;\n },\n [dispatch, loginMutation]\n );\n const logout$1 = React.useCallback(async () => {\n await logoutMutation();\n clearStateAndLogout();\n }, [clearStateAndLogout, logoutMutation]);\n const refetchPermissions = React.useCallback(async () => {\n if (!isUninitialized) {\n await refetch();\n }\n }, [isUninitialized, refetch]);\n const [checkPermissions] = useLazyCheckPermissionsQuery();\n const checkUserHasPermissions = React.useCallback(\n async (permissions, passedPermissions, rawQueryContext) => {\n if (!permissions || permissions.length === 0) {\n return [{ action: \"\", subject: \"\" }];\n }\n const actualUserPermissions = passedPermissions ?? userPermissions;\n const matchingPermissions = actualUserPermissions.filter(\n (permission) => permissions.findIndex(\n (perm) => perm.action === permission.action && perm.subject === permission.subject\n ) >= 0\n );\n const middlewaredPermissions = await runRbacMiddleware(\n {\n user,\n permissions: userPermissions,\n pathname: location.pathname,\n search: (rawQueryContext || rawQuery).split(\"?\")[1] ?? \"\"\n },\n matchingPermissions\n );\n const shouldCheckConditions = middlewaredPermissions.some(\n (perm) => Array.isArray(perm.conditions) && perm.conditions.length > 0\n );\n if (!shouldCheckConditions) {\n return middlewaredPermissions;\n }\n const { data, error } = await checkPermissions({\n permissions: middlewaredPermissions.map((perm) => ({\n action: perm.action,\n subject: perm.subject\n }))\n });\n if (error) {\n throw error;\n } else {\n return middlewaredPermissions.filter((_, index) => data?.data[index] === true);\n }\n },\n [checkPermissions, location.pathname, rawQuery, runRbacMiddleware, user, userPermissions]\n );\n const isLoading = isLoadingUser || isLoadingPermissions;\n return /* @__PURE__ */ jsx(\n Provider,\n {\n token,\n user,\n login: login$1,\n logout: logout$1,\n permissions: userPermissions,\n checkUserHasPermissions,\n refetchPermissions,\n isLoading,\n children\n }\n );\n};\n\nconst NotificationsContext = React.createContext({\n toggleNotification: () => {\n }\n});\nconst NotificationsProvider = ({ children }) => {\n const notificationIdRef = React.useRef(0);\n const [notifications, setNotifications] = React.useState([]);\n const toggleNotification = React.useCallback(\n ({ type, message, link, timeout, blockTransition, onClose, title }) => {\n setNotifications((s) => [\n ...s,\n {\n id: notificationIdRef.current++,\n type,\n message,\n link,\n timeout,\n blockTransition,\n onClose,\n title\n }\n ]);\n },\n []\n );\n const clearNotification = React.useCallback((id) => {\n setNotifications((s) => s.filter((n) => n.id !== id));\n }, []);\n const value = React.useMemo(() => ({ toggleNotification }), [toggleNotification]);\n return /* @__PURE__ */ jsxs(NotificationsContext.Provider, { value, children: [\n /* @__PURE__ */ jsx(\n Flex,\n {\n left: \"50%\",\n marginLeft: \"-250px\",\n position: \"fixed\",\n direction: \"column\",\n alignItems: \"stretch\",\n gap: 2,\n top: `4.6rem`,\n width: `50rem`,\n zIndex: \"notification\",\n children: notifications.map((notification) => {\n return /* @__PURE__ */ jsx(\n Notification,\n {\n ...notification,\n clearNotification\n },\n notification.id\n );\n })\n }\n ),\n children\n ] });\n};\nconst Notification = ({\n clearNotification,\n blockTransition = false,\n id,\n link,\n message,\n onClose,\n timeout = 2500,\n title,\n type\n}) => {\n const { formatMessage } = useIntl();\n const onCloseCallback = useCallbackRef(onClose);\n const handleClose = React.useCallback(() => {\n onCloseCallback();\n clearNotification(id);\n }, [clearNotification, id, onCloseCallback]);\n React.useEffect(() => {\n if (!blockTransition) {\n const timeoutReference = setTimeout(() => {\n handleClose();\n }, timeout);\n return () => {\n clearTimeout(timeoutReference);\n };\n }\n }, [blockTransition, handleClose, timeout]);\n let variant;\n let alertTitle;\n if (type === \"info\") {\n variant = \"default\";\n alertTitle = formatMessage({\n id: \"notification.default.title\",\n defaultMessage: \"Information:\"\n });\n } else if (type === \"danger\") {\n variant = \"danger\";\n alertTitle = formatMessage({\n id: \"notification.warning.title\",\n defaultMessage: \"Warning:\"\n });\n } else if (type === \"warning\") {\n variant = \"warning\";\n alertTitle = formatMessage({\n id: \"notification.warning.title\",\n defaultMessage: \"Warning:\"\n });\n } else {\n variant = \"success\";\n alertTitle = formatMessage({\n id: \"notification.success.title\",\n defaultMessage: \"Success:\"\n });\n }\n if (title) {\n alertTitle = title;\n }\n return /* @__PURE__ */ jsx(\n Alert,\n {\n action: link ? /* @__PURE__ */ jsx(Link, { href: link.url, isExternal: true, children: link.label }) : void 0,\n onClose: handleClose,\n closeLabel: formatMessage({\n id: \"global.close\",\n defaultMessage: \"Close\"\n }),\n title: alertTitle,\n variant,\n children: message\n }\n );\n};\n/**\n * @preserve\n * @description Returns an object to interact with the notification\n * system. The callbacks are wrapped in `useCallback` for a stable\n * identity.\n *\n * @example\n * ```tsx\n * import { useNotification } from '@strapi/strapi/admin';\n *\n * const MyComponent = () => {\n * const { toggleNotification } = useNotification();\n *\n * return <button onClick={() => toggleNotification({ message: 'Hello world!' })}>Click me</button>;\n */\nconst useNotification = () => React.useContext(NotificationsContext);\n\nfunction getPrefixedId(message, callback) {\n const prefixedMessage = `apiError.${message}`;\n if (typeof callback === \"function\") {\n return callback(prefixedMessage);\n }\n return prefixedMessage;\n}\n\nfunction normalizeError(error, { name, intlMessagePrefixCallback }) {\n const { message } = error;\n const normalizedError = {\n id: getPrefixedId(message, intlMessagePrefixCallback),\n defaultMessage: message,\n name: error.name ?? name,\n values: {}\n };\n if (\"path\" in error) {\n normalizedError.values = { path: error.path.join(\".\") };\n }\n return normalizedError;\n}\nconst validateErrorIsYupValidationError = (err) => typeof err.details === \"object\" && err.details !== null && \"errors\" in err.details;\nfunction normalizeAPIError(apiError, intlMessagePrefixCallback) {\n const error = apiError.response?.data?.error;\n if (error) {\n if (validateErrorIsYupValidationError(error)) {\n return {\n name: error.name,\n message: error?.message || null,\n errors: error.details.errors.map(\n (err) => normalizeError(err, { name: error.name, intlMessagePrefixCallback })\n )\n };\n }\n return normalizeError(error, { intlMessagePrefixCallback });\n }\n return null;\n}\n\nfunction getIn(obj, key, def, pathStartIndex = 0) {\n const path = toPath(key);\n while (obj && pathStartIndex < path.length) {\n obj = obj[path[pathStartIndex++]];\n }\n if (pathStartIndex !== path.length && !obj) {\n return def;\n }\n return obj === void 0 ? def : obj;\n}\nconst isObject = (obj) => obj !== null && typeof obj === \"object\" && !Array.isArray(obj);\nconst isInteger = (obj) => String(Math.floor(Number(obj))) === obj;\nfunction setIn(obj, path, value) {\n const res = clone(obj);\n let resVal = res;\n let i = 0;\n const pathArray = toPath(path);\n for (; i < pathArray.length - 1; i++) {\n const currentPath = pathArray[i];\n const currentObj = getIn(obj, pathArray.slice(0, i + 1));\n if (currentObj && (isObject(currentObj) || Array.isArray(currentObj))) {\n resVal = resVal[currentPath] = clone(currentObj);\n } else {\n const nextPath = pathArray[i + 1];\n resVal = resVal[currentPath] = isInteger(nextPath) && Number(nextPath) >= 0 ? [] : {};\n }\n }\n if ((i === 0 ? obj : resVal)[pathArray[i]] === value) {\n return obj;\n }\n if (value === void 0) {\n delete resVal[pathArray[i]];\n } else {\n resVal[pathArray[i]] = value;\n }\n if (i === 0 && value === void 0) {\n delete res[pathArray[i]];\n }\n return res;\n}\n\nfunction useAPIErrorHandler(intlMessagePrefixCallback) {\n const { formatMessage } = useIntl();\n const formatError = React.useCallback(\n (error) => {\n try {\n const formattedErr = formatAPIError(error, { intlMessagePrefixCallback, formatMessage });\n if (!formattedErr) {\n return formatFetchError(error, { intlMessagePrefixCallback, formatMessage });\n }\n return formattedErr;\n } catch (_) {\n throw new Error(\"formatAPIError: Unknown error:\", error);\n }\n },\n [formatMessage, intlMessagePrefixCallback]\n );\n return {\n /**\n * @alpha\n * Convert ValidationErrors from the API into an object that can be used by forms.\n */\n _unstableFormatValidationErrors: React.useCallback(\n (error) => {\n if (typeof error.details === \"object\" && error.details !== null) {\n if (\"errors\" in error.details && Array.isArray(error.details.errors)) {\n const validationErrors = error.details.errors;\n return validationErrors.reduce((acc, err) => {\n const { path, message } = err;\n return setIn(acc, path.join(\".\"), message);\n }, {});\n } else {\n const details = error.details;\n return Object.keys(details).reduce((acc, key) => {\n const messages = details[key];\n return {\n ...acc,\n [key]: messages.join(\", \")\n };\n }, {});\n }\n } else {\n return {};\n }\n },\n []\n ),\n /**\n * @alpha\n * This handles the errors given from `redux-toolkit`'s axios based baseQuery function.\n */\n _unstableFormatAPIError: React.useCallback(\n (error) => {\n const err = {\n response: {\n data: {\n error\n }\n }\n };\n if (!error.message) {\n return \"Unknown error occured.\";\n }\n return formatError(err);\n },\n [formatError]\n ),\n formatAPIError: formatError\n };\n}\nfunction formatFetchError(error, { intlMessagePrefixCallback, formatMessage }) {\n const { code, message } = error;\n return formatMessage(\n {\n id: getPrefixedId(message, intlMessagePrefixCallback),\n defaultMessage: message\n },\n {\n code\n }\n );\n}\nfunction formatAPIError(error, { formatMessage, intlMessagePrefixCallback }) {\n if (!formatMessage) {\n throw new Error(\"The formatMessage callback is a mandatory argument.\");\n }\n const normalizedError = normalizeAPIError(error, intlMessagePrefixCallback);\n if (!normalizedError) {\n return null;\n }\n if (\"message\" in normalizedError && normalizedError.message !== null) {\n return normalizedError.message;\n }\n if (\"errors\" in normalizedError) {\n return normalizedError.errors.map(({ id, defaultMessage, values }) => formatMessage({ id, defaultMessage }, values)).join(\"\\n\");\n }\n return formatMessage(normalizedError);\n}\n\nconst PageMain = ({ children, ...restProps }) => {\n return /* @__PURE__ */ jsx(Main, { ...restProps, children });\n};\nconst Loading = ({ children = \"Loading content.\" }) => {\n return /* @__PURE__ */ jsx(PageMain, { height: \"100vh\", \"aria-busy\": true, children: /* @__PURE__ */ jsx(Flex, { alignItems: \"center\", height: \"100%\", justifyContent: \"center\", children: /* @__PURE__ */ jsx(Loader, { children }) }) });\n};\nconst Error$1 = (props) => {\n const { formatMessage } = useIntl();\n return /* @__PURE__ */ jsx(PageMain, { height: \"100%\", children: /* @__PURE__ */ jsx(Flex, { alignItems: \"center\", height: \"100%\", justifyContent: \"center\", children: /* @__PURE__ */ jsx(\n EmptyStateLayout,\n {\n icon: /* @__PURE__ */ jsx(WarningCircle, { width: \"16rem\" }),\n content: formatMessage({\n id: \"anErrorOccurred\",\n defaultMessage: \"Woops! Something went wrong. Please, try again.\"\n }),\n ...props\n }\n ) }) });\n};\nconst NoPermissions = (props) => {\n const { formatMessage } = useIntl();\n return /* @__PURE__ */ jsx(PageMain, { height: \"100%\", children: /* @__PURE__ */ jsx(Flex, { alignItems: \"center\", height: \"100%\", justifyContent: \"center\", children: /* @__PURE__ */ jsx(Box, { minWidth: \"50%\", children: /* @__PURE__ */ jsx(\n EmptyStateLayout,\n {\n icon: /* @__PURE__ */ jsx(EmptyPermissions, { width: \"16rem\" }),\n content: formatMessage({\n id: \"app.components.EmptyStateLayout.content-permissions\",\n defaultMessage: \"You don't have the permissions to access that content\"\n }),\n ...props\n }\n ) }) }) });\n};\nconst NoData = (props) => {\n const { formatMessage } = useIntl();\n return /* @__PURE__ */ jsx(PageMain, { height: \"100%\", background: \"neutral100\", children: /* @__PURE__ */ jsx(Flex, { alignItems: \"center\", height: \"100%\", width: \"100%\", justifyContent: \"center\", children: /* @__PURE__ */ jsx(Box, { minWidth: \"50%\", children: /* @__PURE__ */ jsx(\n EmptyStateLayout,\n {\n icon: /* @__PURE__ */ jsx(EmptyDocuments, { width: \"16rem\" }),\n action: props.action,\n content: formatMessage({\n id: \"app.components.EmptyStateLayout.content-document\",\n defaultMessage: \"No content found\"\n }),\n ...props\n }\n ) }) }) });\n};\nconst Protect = ({ permissions = [], children }) => {\n const userPermissions = useAuth(\"Protect\", (state) => state.permissions);\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const matchingPermissions = userPermissions.filter(\n (permission) => permissions.findIndex(\n (perm) => perm.action === permission.action && perm.subject === permission.subject\n ) >= 0\n );\n const shouldCheckConditions = matchingPermissions.some(\n (perm) => Array.isArray(perm.conditions) && perm.conditions.length > 0\n );\n const { isLoading, error, data } = useCheckPermissionsQuery(\n {\n permissions: matchingPermissions.map((perm) => ({\n action: perm.action,\n subject: perm.subject\n }))\n },\n {\n skip: !shouldCheckConditions\n }\n );\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: \"danger\",\n message: formatAPIError(error)\n });\n }\n }, [error, formatAPIError, toggleNotification]);\n if (isLoading) {\n return /* @__PURE__ */ jsx(Loading, {});\n }\n if (error) {\n return /* @__PURE__ */ jsx(Error$1, {});\n }\n const { data: permissionsData } = data || {};\n const canAccess = shouldCheckConditions && permissionsData ? !permissionsData.includes(false) : matchingPermissions.length > 0;\n if (!canAccess) {\n return /* @__PURE__ */ jsx(NoPermissions, {});\n }\n return /* @__PURE__ */ jsx(Fragment, { children: typeof children === \"function\" ? children({ permissions: matchingPermissions }) : children });\n};\nconst Title = ({ children: title }) => {\n React.useEffect(() => {\n document.title = `${title} | Strapi`;\n }, [title]);\n return null;\n};\nconst Page = {\n Error: Error$1,\n Loading,\n NoPermissions,\n Protect,\n NoData,\n Main: PageMain,\n Title\n};\n\nconst once = (fn) => {\n const func = fn;\n let called = false;\n if (typeof func !== \"function\") {\n throw new TypeError(`once requires a function parameter`);\n }\n return (...args) => {\n if (!called && process.env.NODE_ENV === \"development\") {\n func(...args);\n called = true;\n }\n };\n};\n\nconst capitalise = (str) => str.charAt(0).toUpperCase() + str.slice(1);\n\nconst usePrev = (value) => {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref.current;\n};\n\nconst useRBAC = (permissionsToCheck = [], passedPermissions, rawQueryContext) => {\n const isLoadingAuth = useAuth(\"useRBAC\", (state) => state.isLoading);\n const [isLoading, setIsLoading] = React.useState(true);\n const [error, setError] = React.useState();\n const [data, setData] = React.useState();\n const warnOnce = React.useMemo(() => once(console.warn), []);\n const actualPermissionsToCheck = React.useMemo(() => {\n if (Array.isArray(permissionsToCheck)) {\n return permissionsToCheck;\n } else {\n warnOnce(\n \"useRBAC: The first argument should be an array of permissions, not an object. This will be deprecated in the future.\"\n );\n return Object.values(permissionsToCheck).flat();\n }\n }, [permissionsToCheck, warnOnce]);\n const defaultAllowedActions = React.useMemo(() => {\n return actualPermissionsToCheck.reduce((acc, permission) => {\n return {\n ...acc,\n [getActionName(permission)]: false\n };\n }, {});\n }, [actualPermissionsToCheck]);\n const checkUserHasPermissions = useAuth(\"useRBAC\", (state) => state.checkUserHasPermissions);\n const permssionsChecked = usePrev(actualPermissionsToCheck);\n const contextChecked = usePrev(rawQueryContext);\n React.useEffect(() => {\n if (!isEqual(permssionsChecked, actualPermissionsToCheck) || // TODO: also run this when the query context changes\n contextChecked !== rawQueryContext) {\n setIsLoading(true);\n setData(void 0);\n setError(void 0);\n checkUserHasPermissions(actualPermissionsToCheck, passedPermissions, rawQueryContext).then((res) => {\n if (res) {\n setData(\n res.reduce((acc, permission) => {\n return {\n ...acc,\n [getActionName(permission)]: true\n };\n }, {})\n );\n }\n }).catch((err) => {\n setError(err);\n }).finally(() => {\n setIsLoading(false);\n });\n }\n }, [\n actualPermissionsToCheck,\n checkUserHasPermissions,\n passedPermissions,\n permissionsToCheck,\n permssionsChecked,\n contextChecked,\n rawQueryContext\n ]);\n const allowedActions = Object.entries({\n ...defaultAllowedActions,\n ...data\n }).reduce((acc, [name, allowed]) => {\n acc[`can${capitalise(name)}`] = allowed;\n return acc;\n }, {});\n return {\n allowedActions,\n permissions: actualPermissionsToCheck,\n isLoading: isLoading || isLoadingAuth,\n error\n };\n};\nconst getActionName = (permission) => {\n const [action = \"\"] = permission.action.split(\".\").slice(-1);\n return action.split(\"-\").map(capitalise).join(\"\");\n};\n\nconst [AppInfoProvider, useAppInfo] = createContext(\"AppInfo\", {});\n\nconst TrackingContext = React.createContext({\n uuid: false\n});\nconst TrackingProvider = ({ children }) => {\n const token = useAuth(\"App\", (state) => state.token);\n const { data: initData } = useInitQuery();\n const { uuid } = initData ?? {};\n const { data } = useTelemetryPropertiesQuery(void 0, {\n skip: !initData?.uuid || !token\n });\n React.useEffect(() => {\n if (uuid && data) {\n const event = \"didInitializeAdministration\";\n try {\n fetch(\"https://analytics.strapi.io/api/v2/track\", {\n method: \"POST\",\n body: JSON.stringify({\n // This event is anonymous\n event,\n userId: \"\",\n eventPropeties: {},\n groupProperties: { ...data, projectId: uuid }\n }),\n headers: {\n \"Content-Type\": \"application/json\",\n \"X-Strapi-Event\": event\n }\n });\n } catch {\n }\n }\n }, [data, uuid]);\n const value = React.useMemo(\n () => ({\n uuid,\n telemetryProperties: data\n }),\n [uuid, data]\n );\n return /* @__PURE__ */ jsx(TrackingContext.Provider, { value, children });\n};\nconst useTracking = () => {\n const { uuid, telemetryProperties } = React.useContext(TrackingContext);\n const userId = useAppInfo(\"useTracking\", (state) => state.userId);\n const trackUsage = React.useCallback(\n async (event, properties) => {\n try {\n if (uuid && !window.strapi.telemetryDisabled) {\n const res = await axios.post(\n \"https://analytics.strapi.io/api/v2/track\",\n {\n event,\n userId,\n eventProperties: { ...properties },\n userProperties: {},\n groupProperties: {\n ...telemetryProperties,\n projectId: uuid,\n projectType: window.strapi.projectType\n }\n },\n {\n headers: {\n \"Content-Type\": \"application/json\",\n \"X-Strapi-Event\": event\n }\n }\n );\n return res;\n }\n } catch (err) {\n }\n return null;\n },\n [telemetryProperties, userId, uuid]\n );\n return { trackUsage };\n};\n\nconst [ConfigurationContextProvider, useConfiguration] = createContext$1(\"ConfigurationContext\");\nconst ConfigurationProvider = ({\n children,\n defaultAuthLogo,\n defaultMenuLogo,\n showReleaseNotification = false,\n showTutorials = false\n}) => {\n const { trackUsage } = useTracking();\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.[\"project-settings\"]\n );\n const token = useAuth(\"ConfigurationProvider\", (state) => state.token);\n const {\n allowedActions: { canRead }\n } = useRBAC(permissions);\n const {\n data: { authLogo: customAuthLogo, menuLogo: customMenuLogo } = {},\n error,\n isLoading\n } = useInitQuery();\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: \"danger\",\n message: formatMessage({ id: \"app.containers.App.notification.error.init\" })\n });\n }\n }, [error, formatMessage, toggleNotification]);\n const { data, isSuccess } = useProjectSettingsQuery(void 0, {\n skip: !token || !canRead\n });\n const [updateProjectSettingsMutation] = useUpdateProjectSettingsMutation();\n const updateProjectSettings = React.useCallback(\n async (body) => {\n const formData = new FormData();\n Object.entries(body).forEach(([key, value]) => {\n if (value?.rawFile) {\n formData.append(key, value.rawFile);\n } else if (value === null) {\n formData.append(key, JSON.stringify(value));\n }\n });\n const res = await updateProjectSettingsMutation(formData);\n if (\"data\" in res) {\n const updatedMenuLogo = !!res.data.menuLogo && !!body.menuLogo?.rawFile;\n const updatedAuthLogo = !!res.data.authLogo && !!body.authLogo?.rawFile;\n if (updatedMenuLogo) {\n trackUsage(\"didChangeLogo\", {\n logo: \"menu\"\n });\n }\n if (updatedAuthLogo) {\n trackUsage(\"didChangeLogo\", {\n logo: \"auth\"\n });\n }\n toggleNotification({\n type: \"success\",\n message: formatMessage({ id: \"app\", defaultMessage: \"Saved\" })\n });\n } else {\n toggleNotification({\n type: \"danger\",\n message: formatAPIError(res.error)\n });\n }\n },\n [formatAPIError, formatMessage, toggleNotification, trackUsage, updateProjectSettingsMutation]\n );\n if (isLoading) {\n return /* @__PURE__ */ jsx(Page.Loading, {});\n }\n return /* @__PURE__ */ jsx(\n ConfigurationContextProvider,\n {\n showReleaseNotification,\n showTutorials,\n logos: {\n menu: {\n custom: isSuccess ? data?.menuLogo : {\n url: customMenuLogo ?? \"\"\n },\n default: defaultMenuLogo\n },\n auth: {\n custom: isSuccess ? data?.authLogo : {\n url: customAuthLogo ?? \"\"\n },\n default: defaultAuthLogo\n }\n },\n updateProjectSettings,\n children\n }\n );\n};\n\nconst GUIDED_TOUR_COMPLETED_STEPS = \"GUIDED_TOUR_COMPLETED_STEPS\";\nconst GUIDED_TOUR_CURRENT_STEP = \"GUIDED_TOUR_CURRENT_STEP\";\nconst GUIDED_TOUR_SKIPPED = \"GUIDED_TOUR_SKIPPED\";\nconst [GuidedTourProviderImpl, useGuidedTour] = createContext(\"GuidedTour\");\nconst GuidedTourProvider = ({ children }) => {\n const [{ currentStep, guidedTourState, isGuidedTourVisible, isSkipped }, dispatch] = React.useReducer(reducer, initialState, initialiseState);\n const setCurrentStep = (step) => {\n if (step !== null) {\n const isStepAlreadyDone = get(guidedTourState, step);\n const [sectionName, stepName] = step.split(\".\");\n const sectionArray = Object.entries(guidedTourState[sectionName]);\n const currentStepIndex = sectionArray.findIndex(([key]) => key === stepName);\n const previousSteps = sectionArray.slice(0, currentStepIndex);\n const isStepToShow = previousSteps.every(([, sectionValue]) => sectionValue);\n if (isStepAlreadyDone || isSkipped || !isStepToShow) {\n return null;\n }\n }\n window.localStorage.setItem(GUIDED_TOUR_CURRENT_STEP, JSON.stringify(null));\n return dispatch({\n type: \"SET_CURRENT_STEP\",\n step\n });\n };\n const setGuidedTourVisibility = (value) => {\n dispatch({\n type: \"SET_GUIDED_TOUR_VISIBILITY\",\n value\n });\n };\n const setStepState = (currentStep2, value) => {\n addCompletedStep(currentStep2);\n dispatch({\n type: \"SET_STEP_STATE\",\n currentStep: currentStep2,\n value\n });\n };\n const startSection = (sectionName) => {\n const sectionSteps = guidedTourState[sectionName];\n if (sectionSteps) {\n const guidedTourArray = Object.entries(guidedTourState);\n const currentSectionIndex = guidedTourArray.findIndex(([key]) => key === sectionName);\n const previousSections = guidedTourArray.slice(0, currentSectionIndex);\n const isSectionToShow = previousSections.every(\n ([, sectionValue]) => Object.values(sectionValue).every(Boolean)\n );\n const [firstStep] = Object.keys(sectionSteps);\n const isFirstStepDone = sectionSteps[firstStep];\n if (isSectionToShow && !currentStep && !isFirstStepDone) {\n setCurrentStep(`${sectionName}.${firstStep}`);\n }\n }\n };\n const setSkipped = (value) => {\n window.localStorage.setItem(GUIDED_TOUR_SKIPPED, JSON.stringify(value));\n dispatch({\n type: \"SET_SKIPPED\",\n value\n });\n };\n return /* @__PURE__ */ jsx(\n GuidedTourProviderImpl,\n {\n guidedTourState,\n currentStep,\n setCurrentStep,\n setGuidedTourVisibility,\n setSkipped,\n setStepState,\n startSection,\n isGuidedTourVisible,\n isSkipped,\n children\n }\n );\n};\nconst initialState = {\n currentStep: null,\n guidedTourState: {\n contentTypeBuilder: {\n create: false,\n success: false\n },\n contentManager: {\n create: false,\n success: false\n },\n apiTokens: {\n create: false,\n success: false\n }\n },\n isGuidedTourVisible: false,\n isSkipped: false\n};\nconst reducer = (state = initialState, action) => produce(state, (draftState) => {\n switch (action.type) {\n case \"SET_CURRENT_STEP\": {\n draftState.currentStep = action.step;\n break;\n }\n case \"SET_STEP_STATE\": {\n const [section, step] = action.currentStep.split(\".\");\n draftState.guidedTourState[section][step] = action.value;\n break;\n }\n case \"SET_SKIPPED\": {\n draftState.isSkipped = action.value;\n break;\n }\n case \"SET_GUIDED_TOUR_VISIBILITY\": {\n draftState.isGuidedTourVisible = action.value;\n break;\n }\n default: {\n return draftState;\n }\n }\n});\nconst initialiseState = (initialState2) => {\n const copyInitialState = { ...initialState2 };\n const guidedTourLocaleStorage = JSON.parse(\n window.localStorage.getItem(GUIDED_TOUR_COMPLETED_STEPS) ?? \"[]\"\n );\n const currentStepLocaleStorage = JSON.parse(\n window.localStorage.getItem(GUIDED_TOUR_CURRENT_STEP) ?? \"null\"\n );\n const skippedLocaleStorage = JSON.parse(\n window.localStorage.getItem(GUIDED_TOUR_SKIPPED) ?? \"null\"\n );\n if (Array.isArray(guidedTourLocaleStorage)) {\n guidedTourLocaleStorage.forEach((step) => {\n const [sectionName, stepName] = step.split(\".\");\n set(copyInitialState, [\"guidedTourState\", sectionName, stepName], true);\n });\n }\n if (currentStepLocaleStorage) {\n const [sectionName, stepName] = currentStepLocaleStorage.split(\".\");\n set(copyInitialState, [\"guidedTourState\", sectionName, stepName], true);\n addCompletedStep(currentStepLocaleStorage);\n window.localStorage.setItem(GUIDED_TOUR_CURRENT_STEP, JSON.stringify(null));\n }\n if (skippedLocaleStorage !== null) {\n set(copyInitialState, \"isSkipped\", skippedLocaleStorage);\n }\n return copyInitialState;\n};\nconst addCompletedStep = (completedStep) => {\n const currentSteps = JSON.parse(window.localStorage.getItem(GUIDED_TOUR_COMPLETED_STEPS) ?? \"[]\");\n if (!Array.isArray(currentSteps)) {\n return;\n }\n const isAlreadyStored = currentSteps.includes(completedStep);\n if (isAlreadyStored) {\n return;\n }\n window.localStorage.setItem(\n GUIDED_TOUR_COMPLETED_STEPS,\n JSON.stringify([...currentSteps, completedStep])\n );\n};\n\nconst LanguageProvider = ({ children, messages }) => {\n const locale = useTypedSelector((state) => state.admin_app.language.locale);\n const appMessages = defaultsDeep(messages[locale], messages.en);\n return /* @__PURE__ */ jsx(IntlProvider, { locale, defaultLocale: \"en\", messages: appMessages, textComponent: \"span\", children });\n};\n\nconst Theme = ({ children, themes }) => {\n const { currentTheme } = useTypedSelector((state) => state.admin_app.theme);\n const [systemTheme, setSystemTheme] = React.useState();\n const { locale } = useIntl();\n const dispatch = useDispatch();\n React.useEffect(() => {\n const themeWatcher = window.matchMedia(\"(prefers-color-scheme: dark)\");\n setSystemTheme(themeWatcher.matches ? \"dark\" : \"light\");\n const listener = (event) => {\n setSystemTheme(event.matches ? \"dark\" : \"light\");\n };\n themeWatcher.addEventListener(\"change\", listener);\n return () => {\n themeWatcher.removeEventListener(\"change\", listener);\n };\n }, []);\n React.useEffect(() => {\n dispatch(setAvailableThemes(Object.keys(themes)));\n }, [dispatch, themes]);\n const computedThemeName = currentTheme === \"system\" ? systemTheme : currentTheme;\n return /* @__PURE__ */ jsxs(\n DesignSystemProvider,\n {\n locale,\n theme: themes?.[computedThemeName || \"light\"],\n children: [\n children,\n /* @__PURE__ */ jsx(GlobalStyle, {})\n ]\n }\n );\n};\nconst GlobalStyle = createGlobalStyle`\n body {\n background: ${({ theme }) => theme.colors.neutral100};\n }\n`;\n\nexport { AuthProvider as A, TrackingProvider as B, ConfigurationContextProvider as C, ConfigurationProvider as D, LANGUAGE_LOCAL_STORAGE_KEY as E, getIn as F, GuidedTourProvider as G, setIn as H, setLocale as I, useForgotPasswordMutation as J, useGetRegistrationInfoQuery as K, LanguageProvider as L, useRegisterAdminMutation as M, NotificationsProvider as N, useRegisterUserMutation as O, Page as P, useResetPasswordMutation as Q, RBAC as R, StrapiAppProvider as S, Theme as T, logout as U, THEME_LOCAL_STORAGE_KEY as V, useTypedStore as W, useNotification as a, useTypedSelector as b, useTracking as c, useTypedDispatch as d, useAPIErrorHandler as e, useUpdateMeMutation as f, useIsSSOLockedQuery as g, createTypedSelector as h, useGetProviderOptionsQuery as i, useUpdateProviderOptionsMutation as j, useRBAC as k, useGetProvidersQuery as l, useGuidedTour as m, login as n, useQueryParams as o, useAppInfo as p, useStrapiApp as q, useConfiguration as r, setAppTheme as s, getStoredToken as t, useAuth as u, reducer$1 as v, AppInfoProvider as w, isObject as x, capitalise as y, createContext as z };\n//# sourceMappingURL=Theme-NAd2H4cV.mjs.map\n","// License: CC0 (no rights reserved).\n\n// This is based on https://observablehq.com/@dgreensp/implementing-fractional-indexing\n\nexport const BASE_62_DIGITS =\n \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";\n\n// `a` may be empty string, `b` is null or non-empty string.\n// `a < b` lexicographically if `b` is non-null.\n// no trailing zeros allowed.\n// digits is a string such as '0123456789' for base 10. Digits must be in\n// ascending character code order!\n/**\n * @param {string} a\n * @param {string | null | undefined} b\n * @param {string} digits\n * @returns {string}\n */\nfunction midpoint(a, b, digits) {\n const zero = digits[0];\n if (b != null && a >= b) {\n throw new Error(a + \" >= \" + b);\n }\n if (a.slice(-1) === zero || (b && b.slice(-1) === zero)) {\n throw new Error(\"trailing zero\");\n }\n if (b) {\n // remove longest common prefix. pad `a` with 0s as we\n // go. note that we don't need to pad `b`, because it can't\n // end before `a` while traversing the common prefix.\n let n = 0;\n while ((a[n] || zero) === b[n]) {\n n++;\n }\n if (n > 0) {\n return b.slice(0, n) + midpoint(a.slice(n), b.slice(n), digits);\n }\n }\n // first digits (or lack of digit) are different\n const digitA = a ? digits.indexOf(a[0]) : 0;\n const digitB = b != null ? digits.indexOf(b[0]) : digits.length;\n if (digitB - digitA > 1) {\n const midDigit = Math.round(0.5 * (digitA + digitB));\n return digits[midDigit];\n } else {\n // first digits are consecutive\n if (b && b.length > 1) {\n return b.slice(0, 1);\n } else {\n // `b` is null or has length 1 (a single digit).\n // the first digit of `a` is the previous digit to `b`,\n // or 9 if `b` is null.\n // given, for example, midpoint('49', '5'), return\n // '4' + midpoint('9', null), which will become\n // '4' + '9' + midpoint('', null), which is '495'\n return digits[digitA] + midpoint(a.slice(1), null, digits);\n }\n }\n}\n\n/**\n * @param {string} int\n * @return {void}\n */\n\nfunction validateInteger(int) {\n if (int.length !== getIntegerLength(int[0])) {\n throw new Error(\"invalid integer part of order key: \" + int);\n }\n}\n\n/**\n * @param {string} head\n * @return {number}\n */\n\nfunction getIntegerLength(head) {\n if (head >= \"a\" && head <= \"z\") {\n return head.charCodeAt(0) - \"a\".charCodeAt(0) + 2;\n } else if (head >= \"A\" && head <= \"Z\") {\n return \"Z\".charCodeAt(0) - head.charCodeAt(0) + 2;\n } else {\n throw new Error(\"invalid order key head: \" + head);\n }\n}\n\n/**\n * @param {string} key\n * @return {string}\n */\n\nfunction getIntegerPart(key) {\n const integerPartLength = getIntegerLength(key[0]);\n if (integerPartLength > key.length) {\n throw new Error(\"invalid order key: \" + key);\n }\n return key.slice(0, integerPartLength);\n}\n\n/**\n * @param {string} key\n * @param {string} digits\n * @return {void}\n */\n\nfunction validateOrderKey(key, digits) {\n if (key === \"A\" + digits[0].repeat(26)) {\n throw new Error(\"invalid order key: \" + key);\n }\n // getIntegerPart will throw if the first character is bad,\n // or the key is too short. we'd call it to check these things\n // even if we didn't need the result\n const i = getIntegerPart(key);\n const f = key.slice(i.length);\n if (f.slice(-1) === digits[0]) {\n throw new Error(\"invalid order key: \" + key);\n }\n}\n\n// note that this may return null, as there is a largest integer\n/**\n * @param {string} x\n * @param {string} digits\n * @return {string | null}\n */\nfunction incrementInteger(x, digits) {\n validateInteger(x);\n const [head, ...digs] = x.split(\"\");\n let carry = true;\n for (let i = digs.length - 1; carry && i >= 0; i--) {\n const d = digits.indexOf(digs[i]) + 1;\n if (d === digits.length) {\n digs[i] = digits[0];\n } else {\n digs[i] = digits[d];\n carry = false;\n }\n }\n if (carry) {\n if (head === \"Z\") {\n return \"a\" + digits[0];\n }\n if (head === \"z\") {\n return null;\n }\n const h = String.fromCharCode(head.charCodeAt(0) + 1);\n if (h > \"a\") {\n digs.push(digits[0]);\n } else {\n digs.pop();\n }\n return h + digs.join(\"\");\n } else {\n return head + digs.join(\"\");\n }\n}\n\n// note that this may return null, as there is a smallest integer\n/**\n * @param {string} x\n * @param {string} digits\n * @return {string | null}\n */\n\nfunction decrementInteger(x, digits) {\n validateInteger(x);\n const [head, ...digs] = x.split(\"\");\n let borrow = true;\n for (let i = digs.length - 1; borrow && i >= 0; i--) {\n const d = digits.indexOf(digs[i]) - 1;\n if (d === -1) {\n digs[i] = digits.slice(-1);\n } else {\n digs[i] = digits[d];\n borrow = false;\n }\n }\n if (borrow) {\n if (head === \"a\") {\n return \"Z\" + digits.slice(-1);\n }\n if (head === \"A\") {\n return null;\n }\n const h = String.fromCharCode(head.charCodeAt(0) - 1);\n if (h < \"Z\") {\n digs.push(digits.slice(-1));\n } else {\n digs.pop();\n }\n return h + digs.join(\"\");\n } else {\n return head + digs.join(\"\");\n }\n}\n\n// `a` is an order key or null (START).\n// `b` is an order key or null (END).\n// `a < b` lexicographically if both are non-null.\n// digits is a string such as '0123456789' for base 10. Digits must be in\n// ascending character code order!\n/**\n * @param {string | null | undefined} a\n * @param {string | null | undefined} b\n * @param {string=} digits\n * @return {string}\n */\nexport function generateKeyBetween(a, b, digits = BASE_62_DIGITS) {\n if (a != null) {\n validateOrderKey(a, digits);\n }\n if (b != null) {\n validateOrderKey(b, digits);\n }\n if (a != null && b != null && a >= b) {\n throw new Error(a + \" >= \" + b);\n }\n if (a == null) {\n if (b == null) {\n return \"a\" + digits[0];\n }\n\n const ib = getIntegerPart(b);\n const fb = b.slice(ib.length);\n if (ib === \"A\" + digits[0].repeat(26)) {\n return ib + midpoint(\"\", fb, digits);\n }\n if (ib < b) {\n return ib;\n }\n const res = decrementInteger(ib, digits);\n if (res == null) {\n throw new Error(\"cannot decrement any more\");\n }\n return res;\n }\n\n if (b == null) {\n const ia = getIntegerPart(a);\n const fa = a.slice(ia.length);\n const i = incrementInteger(ia, digits);\n return i == null ? ia + midpoint(fa, null, digits) : i;\n }\n\n const ia = getIntegerPart(a);\n const fa = a.slice(ia.length);\n const ib = getIntegerPart(b);\n const fb = b.slice(ib.length);\n if (ia === ib) {\n return ia + midpoint(fa, fb, digits);\n }\n const i = incrementInteger(ia, digits);\n if (i == null) {\n throw new Error(\"cannot increment any more\");\n }\n if (i < b) {\n return i;\n }\n return ia + midpoint(fa, null, digits);\n}\n\n/**\n * same preconditions as generateKeysBetween.\n * n >= 0.\n * Returns an array of n distinct keys in sorted order.\n * If a and b are both null, returns [a0, a1, ...]\n * If one or the other is null, returns consecutive \"integer\"\n * keys. Otherwise, returns relatively short keys between\n * a and b.\n * @param {string | null | undefined} a\n * @param {string | null | undefined} b\n * @param {number} n\n * @param {string} digits\n * @return {string[]}\n */\nexport function generateNKeysBetween(a, b, n, digits = BASE_62_DIGITS) {\n if (n === 0) {\n return [];\n }\n if (n === 1) {\n return [generateKeyBetween(a, b, digits)];\n }\n if (b == null) {\n let c = generateKeyBetween(a, b, digits);\n const result = [c];\n for (let i = 0; i < n - 1; i++) {\n c = generateKeyBetween(c, b, digits);\n result.push(c);\n }\n return result;\n }\n if (a == null) {\n let c = generateKeyBetween(a, b, digits);\n const result = [c];\n for (let i = 0; i < n - 1; i++) {\n c = generateKeyBetween(a, c, digits);\n result.push(c);\n }\n result.reverse();\n return result;\n }\n const mid = Math.floor(n / 2);\n const c = generateKeyBetween(a, b, digits);\n return [\n ...generateNKeysBetween(a, c, mid, digits),\n c,\n ...generateNKeysBetween(c, b, n - mid - 1, digits),\n ];\n}\n","import {CalendarDate as $35ea8db9cb2ccb90$export$99faa760c7908e4f, CalendarDateTime as $35ea8db9cb2ccb90$export$ca871e8dbb80966f} from \"./CalendarDate.mjs\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $2b4dce13dd5a17fa$export$842a2cf37af977e1(amount, numerator) {\n return amount - numerator * Math.floor(amount / numerator);\n}\nfunction $2b4dce13dd5a17fa$export$784d13d8ee351f07(date) {\n if (date.era) return new (0, $35ea8db9cb2ccb90$export$99faa760c7908e4f)(date.calendar, date.era, date.year, date.month, date.day);\n else return new (0, $35ea8db9cb2ccb90$export$99faa760c7908e4f)(date.calendar, date.year, date.month, date.day);\n}\nfunction $2b4dce13dd5a17fa$export$27fa0172ae2644b3(date) {\n if (date.era) return new (0, $35ea8db9cb2ccb90$export$ca871e8dbb80966f)(date.calendar, date.era, date.year, date.month, date.day, date.hour, date.minute, date.second, date.millisecond);\n else return new (0, $35ea8db9cb2ccb90$export$ca871e8dbb80966f)(date.calendar, date.year, date.month, date.day, date.hour, date.minute, date.second);\n}\n\n\nexport {$2b4dce13dd5a17fa$export$842a2cf37af977e1 as mod, $2b4dce13dd5a17fa$export$784d13d8ee351f07 as copy, $2b4dce13dd5a17fa$export$27fa0172ae2644b3 as copyDateTime};\n//# sourceMappingURL=utils.module.js.map\n","import {CalendarDate as $35ea8db9cb2ccb90$export$99faa760c7908e4f} from \"./CalendarDate.mjs\";\nimport {mod as $2b4dce13dd5a17fa$export$842a2cf37af977e1} from \"./utils.mjs\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from ICU.\n// Original licensing can be found in the NOTICE file in the root directory of this source tree.\n\n\nconst $3b62074eb05584b2$var$EPOCH = 1721426; // 001/01/03 Julian C.E.\nfunction $3b62074eb05584b2$export$f297eb839006d339(era, year, month, day) {\n year = $3b62074eb05584b2$export$c36e0ecb2d4fa69d(era, year);\n let y1 = year - 1;\n let monthOffset = -2;\n if (month <= 2) monthOffset = 0;\n else if ($3b62074eb05584b2$export$553d7fa8e3805fc0(year)) monthOffset = -1;\n return $3b62074eb05584b2$var$EPOCH - 1 + 365 * y1 + Math.floor(y1 / 4) - Math.floor(y1 / 100) + Math.floor(y1 / 400) + Math.floor((367 * month - 362) / 12 + monthOffset + day);\n}\nfunction $3b62074eb05584b2$export$553d7fa8e3805fc0(year) {\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n}\nfunction $3b62074eb05584b2$export$c36e0ecb2d4fa69d(era, year) {\n return era === 'BC' ? 1 - year : year;\n}\nfunction $3b62074eb05584b2$export$4475b7e617eb123c(year) {\n let era = 'AD';\n if (year <= 0) {\n era = 'BC';\n year = 1 - year;\n }\n return [\n era,\n year\n ];\n}\nconst $3b62074eb05584b2$var$daysInMonth = {\n standard: [\n 31,\n 28,\n 31,\n 30,\n 31,\n 30,\n 31,\n 31,\n 30,\n 31,\n 30,\n 31\n ],\n leapyear: [\n 31,\n 29,\n 31,\n 30,\n 31,\n 30,\n 31,\n 31,\n 30,\n 31,\n 30,\n 31\n ]\n};\nclass $3b62074eb05584b2$export$80ee6245ec4f29ec {\n fromJulianDay(jd) {\n let jd0 = jd;\n let depoch = jd0 - $3b62074eb05584b2$var$EPOCH;\n let quadricent = Math.floor(depoch / 146097);\n let dqc = (0, $2b4dce13dd5a17fa$export$842a2cf37af977e1)(depoch, 146097);\n let cent = Math.floor(dqc / 36524);\n let dcent = (0, $2b4dce13dd5a17fa$export$842a2cf37af977e1)(dqc, 36524);\n let quad = Math.floor(dcent / 1461);\n let dquad = (0, $2b4dce13dd5a17fa$export$842a2cf37af977e1)(dcent, 1461);\n let yindex = Math.floor(dquad / 365);\n let extendedYear = quadricent * 400 + cent * 100 + quad * 4 + yindex + (cent !== 4 && yindex !== 4 ? 1 : 0);\n let [era, year] = $3b62074eb05584b2$export$4475b7e617eb123c(extendedYear);\n let yearDay = jd0 - $3b62074eb05584b2$export$f297eb839006d339(era, year, 1, 1);\n let leapAdj = 2;\n if (jd0 < $3b62074eb05584b2$export$f297eb839006d339(era, year, 3, 1)) leapAdj = 0;\n else if ($3b62074eb05584b2$export$553d7fa8e3805fc0(year)) leapAdj = 1;\n let month = Math.floor(((yearDay + leapAdj) * 12 + 373) / 367);\n let day = jd0 - $3b62074eb05584b2$export$f297eb839006d339(era, year, month, 1) + 1;\n return new (0, $35ea8db9cb2ccb90$export$99faa760c7908e4f)(era, year, month, day);\n }\n toJulianDay(date) {\n return $3b62074eb05584b2$export$f297eb839006d339(date.era, date.year, date.month, date.day);\n }\n getDaysInMonth(date) {\n return $3b62074eb05584b2$var$daysInMonth[$3b62074eb05584b2$export$553d7fa8e3805fc0(date.year) ? 'leapyear' : 'standard'][date.month - 1];\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n getMonthsInYear(date) {\n return 12;\n }\n getDaysInYear(date) {\n return $3b62074eb05584b2$export$553d7fa8e3805fc0(date.year) ? 366 : 365;\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n getYearsInEra(date) {\n return 9999;\n }\n getEras() {\n return [\n 'BC',\n 'AD'\n ];\n }\n isInverseEra(date) {\n return date.era === 'BC';\n }\n balanceDate(date) {\n if (date.year <= 0) {\n date.era = date.era === 'BC' ? 'AD' : 'BC';\n date.year = 1 - date.year;\n }\n }\n constructor(){\n this.identifier = 'gregory';\n }\n}\n\n\nexport {$3b62074eb05584b2$export$f297eb839006d339 as gregorianToJulianDay, $3b62074eb05584b2$export$c36e0ecb2d4fa69d as getExtendedYear, $3b62074eb05584b2$export$553d7fa8e3805fc0 as isLeapYear, $3b62074eb05584b2$export$4475b7e617eb123c as fromExtendedYear, $3b62074eb05584b2$export$80ee6245ec4f29ec as GregorianCalendar};\n//# sourceMappingURL=GregorianCalendar.module.js.map\n","import {fromAbsolute as $11d87f3f76e88657$export$1b96692a1ba042ac, toAbsolute as $11d87f3f76e88657$export$5107c82f94518f5c, toCalendar as $11d87f3f76e88657$export$b4a036af3fc0b032, toCalendarDate as $11d87f3f76e88657$export$93522d1a439f3617} from \"./conversion.mjs\";\nimport {weekStartData as $2fe286d2fb449abb$export$7a5acbd77d414bd9} from \"./weekStartData.mjs\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $14e0f24ef4ac5c92$export$ea39ec197993aef0(a, b) {\n b = (0, $11d87f3f76e88657$export$b4a036af3fc0b032)(b, a.calendar);\n return a.era === b.era && a.year === b.year && a.month === b.month && a.day === b.day;\n}\nfunction $14e0f24ef4ac5c92$export$a18c89cbd24170ff(a, b) {\n b = (0, $11d87f3f76e88657$export$b4a036af3fc0b032)(b, a.calendar);\n // In the Japanese calendar, months can span multiple eras/years, so only compare the first of the month.\n a = $14e0f24ef4ac5c92$export$a5a3b454ada2268e(a);\n b = $14e0f24ef4ac5c92$export$a5a3b454ada2268e(b);\n return a.era === b.era && a.year === b.year && a.month === b.month;\n}\nfunction $14e0f24ef4ac5c92$export$5841f9eb9773f25f(a, b) {\n b = (0, $11d87f3f76e88657$export$b4a036af3fc0b032)(b, a.calendar);\n a = $14e0f24ef4ac5c92$export$f91e89d3d0406102(a);\n b = $14e0f24ef4ac5c92$export$f91e89d3d0406102(b);\n return a.era === b.era && a.year === b.year;\n}\nfunction $14e0f24ef4ac5c92$export$91b62ebf2ba703ee(a, b) {\n return a.calendar.identifier === b.calendar.identifier && a.era === b.era && a.year === b.year && a.month === b.month && a.day === b.day;\n}\nfunction $14e0f24ef4ac5c92$export$5a8da0c44a3afdf2(a, b) {\n a = $14e0f24ef4ac5c92$export$a5a3b454ada2268e(a);\n b = $14e0f24ef4ac5c92$export$a5a3b454ada2268e(b);\n return a.calendar.identifier === b.calendar.identifier && a.era === b.era && a.year === b.year && a.month === b.month;\n}\nfunction $14e0f24ef4ac5c92$export$ea840f5a6dda8147(a, b) {\n a = $14e0f24ef4ac5c92$export$f91e89d3d0406102(a);\n b = $14e0f24ef4ac5c92$export$f91e89d3d0406102(b);\n return a.calendar.identifier === b.calendar.identifier && a.era === b.era && a.year === b.year;\n}\nfunction $14e0f24ef4ac5c92$export$629b0a497aa65267(date, timeZone) {\n return $14e0f24ef4ac5c92$export$ea39ec197993aef0(date, $14e0f24ef4ac5c92$export$d0bdf45af03a6ea3(timeZone));\n}\nfunction $14e0f24ef4ac5c92$export$2061056d06d7cdf7(date, locale) {\n let julian = date.calendar.toJulianDay(date);\n // If julian is negative, then julian % 7 will be negative, so we adjust\n // accordingly. Julian day 0 is Monday.\n let dayOfWeek = Math.ceil(julian + 1 - $14e0f24ef4ac5c92$var$getWeekStart(locale)) % 7;\n if (dayOfWeek < 0) dayOfWeek += 7;\n return dayOfWeek;\n}\nfunction $14e0f24ef4ac5c92$export$461939dd4422153(timeZone) {\n return (0, $11d87f3f76e88657$export$1b96692a1ba042ac)(Date.now(), timeZone);\n}\nfunction $14e0f24ef4ac5c92$export$d0bdf45af03a6ea3(timeZone) {\n return (0, $11d87f3f76e88657$export$93522d1a439f3617)($14e0f24ef4ac5c92$export$461939dd4422153(timeZone));\n}\nfunction $14e0f24ef4ac5c92$export$68781ddf31c0090f(a, b) {\n return a.calendar.toJulianDay(a) - b.calendar.toJulianDay(b);\n}\nfunction $14e0f24ef4ac5c92$export$c19a80a9721b80f6(a, b) {\n return $14e0f24ef4ac5c92$var$timeToMs(a) - $14e0f24ef4ac5c92$var$timeToMs(b);\n}\nfunction $14e0f24ef4ac5c92$var$timeToMs(a) {\n return a.hour * 3600000 + a.minute * 60000 + a.second * 1000 + a.millisecond;\n}\nfunction $14e0f24ef4ac5c92$export$126c91c941de7e(a, timeZone) {\n let ms = (0, $11d87f3f76e88657$export$5107c82f94518f5c)(a, timeZone);\n let tomorrow = a.add({\n days: 1\n });\n let tomorrowMs = (0, $11d87f3f76e88657$export$5107c82f94518f5c)(tomorrow, timeZone);\n return (tomorrowMs - ms) / 3600000;\n}\nlet $14e0f24ef4ac5c92$var$localTimeZone = null;\nfunction $14e0f24ef4ac5c92$export$aa8b41735afcabd2() {\n // TODO: invalidate this somehow?\n if ($14e0f24ef4ac5c92$var$localTimeZone == null) $14e0f24ef4ac5c92$var$localTimeZone = new Intl.DateTimeFormat().resolvedOptions().timeZone;\n return $14e0f24ef4ac5c92$var$localTimeZone;\n}\nfunction $14e0f24ef4ac5c92$export$a5a3b454ada2268e(date) {\n // Use `subtract` instead of `set` so we don't get constrained in an era.\n return date.subtract({\n days: date.day - 1\n });\n}\nfunction $14e0f24ef4ac5c92$export$a2258d9c4118825c(date) {\n return date.add({\n days: date.calendar.getDaysInMonth(date) - date.day\n });\n}\nfunction $14e0f24ef4ac5c92$export$f91e89d3d0406102(date) {\n return $14e0f24ef4ac5c92$export$a5a3b454ada2268e(date.subtract({\n months: date.month - 1\n }));\n}\nfunction $14e0f24ef4ac5c92$export$8b7aa55c66d5569e(date) {\n return $14e0f24ef4ac5c92$export$a2258d9c4118825c(date.add({\n months: date.calendar.getMonthsInYear(date) - date.month\n }));\n}\nfunction $14e0f24ef4ac5c92$export$5412ac11713b72ad(date) {\n if (date.calendar.getMinimumMonthInYear) return date.calendar.getMinimumMonthInYear(date);\n return 1;\n}\nfunction $14e0f24ef4ac5c92$export$b2f4953d301981d5(date) {\n if (date.calendar.getMinimumDayInMonth) return date.calendar.getMinimumDayInMonth(date);\n return 1;\n}\nfunction $14e0f24ef4ac5c92$export$42c81a444fbfb5d4(date, locale) {\n let dayOfWeek = $14e0f24ef4ac5c92$export$2061056d06d7cdf7(date, locale);\n return date.subtract({\n days: dayOfWeek\n });\n}\nfunction $14e0f24ef4ac5c92$export$ef8b6d9133084f4e(date, locale) {\n return $14e0f24ef4ac5c92$export$42c81a444fbfb5d4(date, locale).add({\n days: 6\n });\n}\nconst $14e0f24ef4ac5c92$var$cachedRegions = new Map();\nfunction $14e0f24ef4ac5c92$var$getRegion(locale) {\n // If the Intl.Locale API is available, use it to get the region for the locale.\n // @ts-ignore\n if (Intl.Locale) {\n // Constructing an Intl.Locale is expensive, so cache the result.\n let region = $14e0f24ef4ac5c92$var$cachedRegions.get(locale);\n if (!region) {\n // @ts-ignore\n region = new Intl.Locale(locale).maximize().region;\n if (region) $14e0f24ef4ac5c92$var$cachedRegions.set(locale, region);\n }\n return region;\n }\n // If not, just try splitting the string.\n // If the second part of the locale string is 'u',\n // then this is a unicode extension, so ignore it.\n // Otherwise, it should be the region.\n let part = locale.split('-')[1];\n return part === 'u' ? undefined : part;\n}\nfunction $14e0f24ef4ac5c92$var$getWeekStart(locale) {\n // TODO: use Intl.Locale for this once browsers support the weekInfo property\n // https://github.com/tc39/proposal-intl-locale-info\n let region = $14e0f24ef4ac5c92$var$getRegion(locale);\n return region ? (0, $2fe286d2fb449abb$export$7a5acbd77d414bd9)[region] || 0 : 0;\n}\nfunction $14e0f24ef4ac5c92$export$ccc1b2479e7dd654(date, locale) {\n let days = date.calendar.getDaysInMonth(date);\n return Math.ceil(($14e0f24ef4ac5c92$export$2061056d06d7cdf7($14e0f24ef4ac5c92$export$a5a3b454ada2268e(date), locale) + days) / 7);\n}\nfunction $14e0f24ef4ac5c92$export$5c333a116e949cdd(a, b) {\n if (a && b) return a.compare(b) <= 0 ? a : b;\n return a || b;\n}\nfunction $14e0f24ef4ac5c92$export$a75f2bff57811055(a, b) {\n if (a && b) return a.compare(b) >= 0 ? a : b;\n return a || b;\n}\nconst $14e0f24ef4ac5c92$var$WEEKEND_DATA = {\n AF: [\n 4,\n 5\n ],\n AE: [\n 5,\n 6\n ],\n BH: [\n 5,\n 6\n ],\n DZ: [\n 5,\n 6\n ],\n EG: [\n 5,\n 6\n ],\n IL: [\n 5,\n 6\n ],\n IQ: [\n 5,\n 6\n ],\n IR: [\n 5,\n 5\n ],\n JO: [\n 5,\n 6\n ],\n KW: [\n 5,\n 6\n ],\n LY: [\n 5,\n 6\n ],\n OM: [\n 5,\n 6\n ],\n QA: [\n 5,\n 6\n ],\n SA: [\n 5,\n 6\n ],\n SD: [\n 5,\n 6\n ],\n SY: [\n 5,\n 6\n ],\n YE: [\n 5,\n 6\n ]\n};\nfunction $14e0f24ef4ac5c92$export$618d60ea299da42(date, locale) {\n let julian = date.calendar.toJulianDay(date);\n // If julian is negative, then julian % 7 will be negative, so we adjust\n // accordingly. Julian day 0 is Monday.\n let dayOfWeek = Math.ceil(julian + 1) % 7;\n if (dayOfWeek < 0) dayOfWeek += 7;\n let region = $14e0f24ef4ac5c92$var$getRegion(locale);\n // Use Intl.Locale for this once weekInfo is supported.\n // https://github.com/tc39/proposal-intl-locale-info\n let [start, end] = $14e0f24ef4ac5c92$var$WEEKEND_DATA[region] || [\n 6,\n 0\n ];\n return dayOfWeek === start || dayOfWeek === end;\n}\nfunction $14e0f24ef4ac5c92$export$ee9d87258e1d19ed(date, locale) {\n return !$14e0f24ef4ac5c92$export$618d60ea299da42(date, locale);\n}\n\n\nexport {$14e0f24ef4ac5c92$export$ea39ec197993aef0 as isSameDay, $14e0f24ef4ac5c92$export$a18c89cbd24170ff as isSameMonth, $14e0f24ef4ac5c92$export$a5a3b454ada2268e as startOfMonth, $14e0f24ef4ac5c92$export$5841f9eb9773f25f as isSameYear, $14e0f24ef4ac5c92$export$f91e89d3d0406102 as startOfYear, $14e0f24ef4ac5c92$export$91b62ebf2ba703ee as isEqualDay, $14e0f24ef4ac5c92$export$5a8da0c44a3afdf2 as isEqualMonth, $14e0f24ef4ac5c92$export$ea840f5a6dda8147 as isEqualYear, $14e0f24ef4ac5c92$export$629b0a497aa65267 as isToday, $14e0f24ef4ac5c92$export$d0bdf45af03a6ea3 as today, $14e0f24ef4ac5c92$export$2061056d06d7cdf7 as getDayOfWeek, $14e0f24ef4ac5c92$export$461939dd4422153 as now, $14e0f24ef4ac5c92$export$68781ddf31c0090f as compareDate, $14e0f24ef4ac5c92$export$c19a80a9721b80f6 as compareTime, $14e0f24ef4ac5c92$export$126c91c941de7e as getHoursInDay, $14e0f24ef4ac5c92$export$aa8b41735afcabd2 as getLocalTimeZone, $14e0f24ef4ac5c92$export$a2258d9c4118825c as endOfMonth, $14e0f24ef4ac5c92$export$8b7aa55c66d5569e as endOfYear, $14e0f24ef4ac5c92$export$5412ac11713b72ad as getMinimumMonthInYear, $14e0f24ef4ac5c92$export$b2f4953d301981d5 as getMinimumDayInMonth, $14e0f24ef4ac5c92$export$42c81a444fbfb5d4 as startOfWeek, $14e0f24ef4ac5c92$export$ef8b6d9133084f4e as endOfWeek, $14e0f24ef4ac5c92$export$ccc1b2479e7dd654 as getWeeksInMonth, $14e0f24ef4ac5c92$export$5c333a116e949cdd as minDate, $14e0f24ef4ac5c92$export$a75f2bff57811055 as maxDate, $14e0f24ef4ac5c92$export$618d60ea299da42 as isWeekend, $14e0f24ef4ac5c92$export$ee9d87258e1d19ed as isWeekday};\n//# sourceMappingURL=queries.module.js.map\n","import {CalendarDate as $35ea8db9cb2ccb90$export$99faa760c7908e4f, CalendarDateTime as $35ea8db9cb2ccb90$export$ca871e8dbb80966f, Time as $35ea8db9cb2ccb90$export$680ea196effce5f, ZonedDateTime as $35ea8db9cb2ccb90$export$d3b7288e7994edea} from \"./CalendarDate.mjs\";\nimport {constrain as $735220c2d4774dd3$export$c4e2ecac49351ef2} from \"./manipulation.mjs\";\nimport {getExtendedYear as $3b62074eb05584b2$export$c36e0ecb2d4fa69d, GregorianCalendar as $3b62074eb05584b2$export$80ee6245ec4f29ec} from \"./GregorianCalendar.mjs\";\nimport {getLocalTimeZone as $14e0f24ef4ac5c92$export$aa8b41735afcabd2} from \"./queries.mjs\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from the TC39 Temporal proposal.\n// Original licensing can be found in the NOTICE file in the root directory of this source tree.\n\n\n\n\nfunction $11d87f3f76e88657$export$bd4fb2bc8bb06fb(date) {\n date = $11d87f3f76e88657$export$b4a036af3fc0b032(date, new (0, $3b62074eb05584b2$export$80ee6245ec4f29ec)());\n let year = (0, $3b62074eb05584b2$export$c36e0ecb2d4fa69d)(date.era, date.year);\n return $11d87f3f76e88657$var$epochFromParts(year, date.month, date.day, date.hour, date.minute, date.second, date.millisecond);\n}\nfunction $11d87f3f76e88657$var$epochFromParts(year, month, day, hour, minute, second, millisecond) {\n // Note: Date.UTC() interprets one and two-digit years as being in the\n // 20th century, so don't use it\n let date = new Date();\n date.setUTCHours(hour, minute, second, millisecond);\n date.setUTCFullYear(year, month - 1, day);\n return date.getTime();\n}\nfunction $11d87f3f76e88657$export$59c99f3515d3493f(ms, timeZone) {\n // Fast path for UTC.\n if (timeZone === 'UTC') return 0;\n // Fast path: for local timezone after 1970, use native Date.\n if (ms > 0 && timeZone === (0, $14e0f24ef4ac5c92$export$aa8b41735afcabd2)()) return new Date(ms).getTimezoneOffset() * -60000;\n let { year: year, month: month, day: day, hour: hour, minute: minute, second: second } = $11d87f3f76e88657$var$getTimeZoneParts(ms, timeZone);\n let utc = $11d87f3f76e88657$var$epochFromParts(year, month, day, hour, minute, second, 0);\n return utc - Math.floor(ms / 1000) * 1000;\n}\nconst $11d87f3f76e88657$var$formattersByTimeZone = new Map();\nfunction $11d87f3f76e88657$var$getTimeZoneParts(ms, timeZone) {\n let formatter = $11d87f3f76e88657$var$formattersByTimeZone.get(timeZone);\n if (!formatter) {\n formatter = new Intl.DateTimeFormat('en-US', {\n timeZone: timeZone,\n hour12: false,\n era: 'short',\n year: 'numeric',\n month: 'numeric',\n day: 'numeric',\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric'\n });\n $11d87f3f76e88657$var$formattersByTimeZone.set(timeZone, formatter);\n }\n let parts = formatter.formatToParts(new Date(ms));\n let namedParts = {};\n for (let part of parts)if (part.type !== 'literal') namedParts[part.type] = part.value;\n return {\n // Firefox returns B instead of BC... https://bugzilla.mozilla.org/show_bug.cgi?id=1752253\n year: namedParts.era === 'BC' || namedParts.era === 'B' ? -namedParts.year + 1 : +namedParts.year,\n month: +namedParts.month,\n day: +namedParts.day,\n hour: namedParts.hour === '24' ? 0 : +namedParts.hour,\n minute: +namedParts.minute,\n second: +namedParts.second\n };\n}\nconst $11d87f3f76e88657$var$DAYMILLIS = 86400000;\nfunction $11d87f3f76e88657$export$136f38efe7caf549(date, timeZone) {\n let ms = $11d87f3f76e88657$export$bd4fb2bc8bb06fb(date);\n let earlier = ms - $11d87f3f76e88657$export$59c99f3515d3493f(ms - $11d87f3f76e88657$var$DAYMILLIS, timeZone);\n let later = ms - $11d87f3f76e88657$export$59c99f3515d3493f(ms + $11d87f3f76e88657$var$DAYMILLIS, timeZone);\n return $11d87f3f76e88657$var$getValidWallTimes(date, timeZone, earlier, later);\n}\nfunction $11d87f3f76e88657$var$getValidWallTimes(date, timeZone, earlier, later) {\n let found = earlier === later ? [\n earlier\n ] : [\n earlier,\n later\n ];\n return found.filter((absolute)=>$11d87f3f76e88657$var$isValidWallTime(date, timeZone, absolute));\n}\nfunction $11d87f3f76e88657$var$isValidWallTime(date, timeZone, absolute) {\n let parts = $11d87f3f76e88657$var$getTimeZoneParts(absolute, timeZone);\n return date.year === parts.year && date.month === parts.month && date.day === parts.day && date.hour === parts.hour && date.minute === parts.minute && date.second === parts.second;\n}\nfunction $11d87f3f76e88657$export$5107c82f94518f5c(date, timeZone, disambiguation = 'compatible') {\n let dateTime = $11d87f3f76e88657$export$b21e0b124e224484(date);\n // Fast path: if the time zone is UTC, use native Date.\n if (timeZone === 'UTC') return $11d87f3f76e88657$export$bd4fb2bc8bb06fb(dateTime);\n // Fast path: if the time zone is the local timezone and disambiguation is compatible, use native Date.\n if (timeZone === (0, $14e0f24ef4ac5c92$export$aa8b41735afcabd2)() && disambiguation === 'compatible') {\n dateTime = $11d87f3f76e88657$export$b4a036af3fc0b032(dateTime, new (0, $3b62074eb05584b2$export$80ee6245ec4f29ec)());\n // Don't use Date constructor here because two-digit years are interpreted in the 20th century.\n let date = new Date();\n let year = (0, $3b62074eb05584b2$export$c36e0ecb2d4fa69d)(dateTime.era, dateTime.year);\n date.setFullYear(year, dateTime.month - 1, dateTime.day);\n date.setHours(dateTime.hour, dateTime.minute, dateTime.second, dateTime.millisecond);\n return date.getTime();\n }\n let ms = $11d87f3f76e88657$export$bd4fb2bc8bb06fb(dateTime);\n let offsetBefore = $11d87f3f76e88657$export$59c99f3515d3493f(ms - $11d87f3f76e88657$var$DAYMILLIS, timeZone);\n let offsetAfter = $11d87f3f76e88657$export$59c99f3515d3493f(ms + $11d87f3f76e88657$var$DAYMILLIS, timeZone);\n let valid = $11d87f3f76e88657$var$getValidWallTimes(dateTime, timeZone, ms - offsetBefore, ms - offsetAfter);\n if (valid.length === 1) return valid[0];\n if (valid.length > 1) switch(disambiguation){\n // 'compatible' means 'earlier' for \"fall back\" transitions\n case 'compatible':\n case 'earlier':\n return valid[0];\n case 'later':\n return valid[valid.length - 1];\n case 'reject':\n throw new RangeError('Multiple possible absolute times found');\n }\n switch(disambiguation){\n case 'earlier':\n return Math.min(ms - offsetBefore, ms - offsetAfter);\n // 'compatible' means 'later' for \"spring forward\" transitions\n case 'compatible':\n case 'later':\n return Math.max(ms - offsetBefore, ms - offsetAfter);\n case 'reject':\n throw new RangeError('No such absolute time found');\n }\n}\nfunction $11d87f3f76e88657$export$e67a095c620b86fe(dateTime, timeZone, disambiguation = 'compatible') {\n return new Date($11d87f3f76e88657$export$5107c82f94518f5c(dateTime, timeZone, disambiguation));\n}\nfunction $11d87f3f76e88657$export$1b96692a1ba042ac(ms, timeZone) {\n let offset = $11d87f3f76e88657$export$59c99f3515d3493f(ms, timeZone);\n let date = new Date(ms + offset);\n let year = date.getUTCFullYear();\n let month = date.getUTCMonth() + 1;\n let day = date.getUTCDate();\n let hour = date.getUTCHours();\n let minute = date.getUTCMinutes();\n let second = date.getUTCSeconds();\n let millisecond = date.getUTCMilliseconds();\n return new (0, $35ea8db9cb2ccb90$export$d3b7288e7994edea)(year, month, day, timeZone, offset, hour, minute, second, millisecond);\n}\nfunction $11d87f3f76e88657$export$e57ff100d91bd4b9(date, timeZone) {\n return $11d87f3f76e88657$export$1b96692a1ba042ac(date.getTime(), timeZone);\n}\nfunction $11d87f3f76e88657$export$d7f92bcd3596b086(date) {\n return $11d87f3f76e88657$export$e57ff100d91bd4b9(date, (0, $14e0f24ef4ac5c92$export$aa8b41735afcabd2)());\n}\nfunction $11d87f3f76e88657$export$93522d1a439f3617(dateTime) {\n return new (0, $35ea8db9cb2ccb90$export$99faa760c7908e4f)(dateTime.calendar, dateTime.era, dateTime.year, dateTime.month, dateTime.day);\n}\nfunction $11d87f3f76e88657$export$6f4d78149f3f53ac(date) {\n return {\n era: date.era,\n year: date.year,\n month: date.month,\n day: date.day\n };\n}\nfunction $11d87f3f76e88657$export$4d0393e732857be5(date) {\n return {\n hour: date.hour,\n minute: date.minute,\n second: date.second,\n millisecond: date.millisecond\n };\n}\nfunction $11d87f3f76e88657$export$b21e0b124e224484(date, time) {\n let hour = 0, minute = 0, second = 0, millisecond = 0;\n if ('timeZone' in date) ({ hour: hour, minute: minute, second: second, millisecond: millisecond } = date);\n else if ('hour' in date && !time) return date;\n if (time) ({ hour: hour, minute: minute, second: second, millisecond: millisecond } = time);\n return new (0, $35ea8db9cb2ccb90$export$ca871e8dbb80966f)(date.calendar, date.era, date.year, date.month, date.day, hour, minute, second, millisecond);\n}\nfunction $11d87f3f76e88657$export$d33f79e3ffc3dc83(dateTime) {\n return new (0, $35ea8db9cb2ccb90$export$680ea196effce5f)(dateTime.hour, dateTime.minute, dateTime.second, dateTime.millisecond);\n}\nfunction $11d87f3f76e88657$export$b4a036af3fc0b032(date, calendar) {\n if (date.calendar.identifier === calendar.identifier) return date;\n let calendarDate = calendar.fromJulianDay(date.calendar.toJulianDay(date));\n let copy = date.copy();\n copy.calendar = calendar;\n copy.era = calendarDate.era;\n copy.year = calendarDate.year;\n copy.month = calendarDate.month;\n copy.day = calendarDate.day;\n (0, $735220c2d4774dd3$export$c4e2ecac49351ef2)(copy);\n return copy;\n}\nfunction $11d87f3f76e88657$export$84c95a83c799e074(date, timeZone, disambiguation) {\n if (date instanceof (0, $35ea8db9cb2ccb90$export$d3b7288e7994edea)) {\n if (date.timeZone === timeZone) return date;\n return $11d87f3f76e88657$export$538b00033cc11c75(date, timeZone);\n }\n let ms = $11d87f3f76e88657$export$5107c82f94518f5c(date, timeZone, disambiguation);\n return $11d87f3f76e88657$export$1b96692a1ba042ac(ms, timeZone);\n}\nfunction $11d87f3f76e88657$export$83aac07b4c37b25(date) {\n let ms = $11d87f3f76e88657$export$bd4fb2bc8bb06fb(date) - date.offset;\n return new Date(ms);\n}\nfunction $11d87f3f76e88657$export$538b00033cc11c75(date, timeZone) {\n let ms = $11d87f3f76e88657$export$bd4fb2bc8bb06fb(date) - date.offset;\n return $11d87f3f76e88657$export$b4a036af3fc0b032($11d87f3f76e88657$export$1b96692a1ba042ac(ms, timeZone), date.calendar);\n}\nfunction $11d87f3f76e88657$export$d9b67bc93c097491(date) {\n return $11d87f3f76e88657$export$538b00033cc11c75(date, (0, $14e0f24ef4ac5c92$export$aa8b41735afcabd2)());\n}\n\n\nexport {$11d87f3f76e88657$export$bd4fb2bc8bb06fb as epochFromDate, $11d87f3f76e88657$export$b4a036af3fc0b032 as toCalendar, $11d87f3f76e88657$export$59c99f3515d3493f as getTimeZoneOffset, $11d87f3f76e88657$export$136f38efe7caf549 as possibleAbsolutes, $11d87f3f76e88657$export$5107c82f94518f5c as toAbsolute, $11d87f3f76e88657$export$b21e0b124e224484 as toCalendarDateTime, $11d87f3f76e88657$export$e67a095c620b86fe as toDate, $11d87f3f76e88657$export$1b96692a1ba042ac as fromAbsolute, $11d87f3f76e88657$export$e57ff100d91bd4b9 as fromDate, $11d87f3f76e88657$export$d7f92bcd3596b086 as fromDateToLocal, $11d87f3f76e88657$export$93522d1a439f3617 as toCalendarDate, $11d87f3f76e88657$export$6f4d78149f3f53ac as toDateFields, $11d87f3f76e88657$export$4d0393e732857be5 as toTimeFields, $11d87f3f76e88657$export$d33f79e3ffc3dc83 as toTime, $11d87f3f76e88657$export$84c95a83c799e074 as toZoned, $11d87f3f76e88657$export$538b00033cc11c75 as toTimeZone, $11d87f3f76e88657$export$83aac07b4c37b25 as zonedToDate, $11d87f3f76e88657$export$d9b67bc93c097491 as toLocalTimeZone};\n//# sourceMappingURL=conversion.module.js.map\n","import {epochFromDate as $11d87f3f76e88657$export$bd4fb2bc8bb06fb, fromAbsolute as $11d87f3f76e88657$export$1b96692a1ba042ac, toAbsolute as $11d87f3f76e88657$export$5107c82f94518f5c, toCalendar as $11d87f3f76e88657$export$b4a036af3fc0b032, toCalendarDateTime as $11d87f3f76e88657$export$b21e0b124e224484} from \"./conversion.mjs\";\nimport {GregorianCalendar as $3b62074eb05584b2$export$80ee6245ec4f29ec} from \"./GregorianCalendar.mjs\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nconst $735220c2d4774dd3$var$ONE_HOUR = 3600000;\nfunction $735220c2d4774dd3$export$e16d8520af44a096(date, duration) {\n let mutableDate = date.copy();\n let days = 'hour' in mutableDate ? $735220c2d4774dd3$var$addTimeFields(mutableDate, duration) : 0;\n $735220c2d4774dd3$var$addYears(mutableDate, duration.years || 0);\n if (mutableDate.calendar.balanceYearMonth) mutableDate.calendar.balanceYearMonth(mutableDate, date);\n mutableDate.month += duration.months || 0;\n $735220c2d4774dd3$var$balanceYearMonth(mutableDate);\n $735220c2d4774dd3$var$constrainMonthDay(mutableDate);\n mutableDate.day += (duration.weeks || 0) * 7;\n mutableDate.day += duration.days || 0;\n mutableDate.day += days;\n $735220c2d4774dd3$var$balanceDay(mutableDate);\n if (mutableDate.calendar.balanceDate) mutableDate.calendar.balanceDate(mutableDate);\n // Constrain in case adding ended up with a date outside the valid range for the calendar system.\n // The behavior here is slightly different than when constraining in the `set` function in that\n // we adjust smaller fields to their minimum/maximum values rather than constraining each field\n // individually. This matches the general behavior of `add` vs `set` regarding how fields are balanced.\n if (mutableDate.year < 1) {\n mutableDate.year = 1;\n mutableDate.month = 1;\n mutableDate.day = 1;\n }\n let maxYear = mutableDate.calendar.getYearsInEra(mutableDate);\n if (mutableDate.year > maxYear) {\n var _mutableDate_calendar_isInverseEra, _mutableDate_calendar;\n let isInverseEra = (_mutableDate_calendar_isInverseEra = (_mutableDate_calendar = mutableDate.calendar).isInverseEra) === null || _mutableDate_calendar_isInverseEra === void 0 ? void 0 : _mutableDate_calendar_isInverseEra.call(_mutableDate_calendar, mutableDate);\n mutableDate.year = maxYear;\n mutableDate.month = isInverseEra ? 1 : mutableDate.calendar.getMonthsInYear(mutableDate);\n mutableDate.day = isInverseEra ? 1 : mutableDate.calendar.getDaysInMonth(mutableDate);\n }\n if (mutableDate.month < 1) {\n mutableDate.month = 1;\n mutableDate.day = 1;\n }\n let maxMonth = mutableDate.calendar.getMonthsInYear(mutableDate);\n if (mutableDate.month > maxMonth) {\n mutableDate.month = maxMonth;\n mutableDate.day = mutableDate.calendar.getDaysInMonth(mutableDate);\n }\n mutableDate.day = Math.max(1, Math.min(mutableDate.calendar.getDaysInMonth(mutableDate), mutableDate.day));\n return mutableDate;\n}\nfunction $735220c2d4774dd3$var$addYears(date, years) {\n var _date_calendar_isInverseEra, _date_calendar;\n if ((_date_calendar_isInverseEra = (_date_calendar = date.calendar).isInverseEra) === null || _date_calendar_isInverseEra === void 0 ? void 0 : _date_calendar_isInverseEra.call(_date_calendar, date)) years = -years;\n date.year += years;\n}\nfunction $735220c2d4774dd3$var$balanceYearMonth(date) {\n while(date.month < 1){\n $735220c2d4774dd3$var$addYears(date, -1);\n date.month += date.calendar.getMonthsInYear(date);\n }\n let monthsInYear = 0;\n while(date.month > (monthsInYear = date.calendar.getMonthsInYear(date))){\n date.month -= monthsInYear;\n $735220c2d4774dd3$var$addYears(date, 1);\n }\n}\nfunction $735220c2d4774dd3$var$balanceDay(date) {\n while(date.day < 1){\n date.month--;\n $735220c2d4774dd3$var$balanceYearMonth(date);\n date.day += date.calendar.getDaysInMonth(date);\n }\n while(date.day > date.calendar.getDaysInMonth(date)){\n date.day -= date.calendar.getDaysInMonth(date);\n date.month++;\n $735220c2d4774dd3$var$balanceYearMonth(date);\n }\n}\nfunction $735220c2d4774dd3$var$constrainMonthDay(date) {\n date.month = Math.max(1, Math.min(date.calendar.getMonthsInYear(date), date.month));\n date.day = Math.max(1, Math.min(date.calendar.getDaysInMonth(date), date.day));\n}\nfunction $735220c2d4774dd3$export$c4e2ecac49351ef2(date) {\n if (date.calendar.constrainDate) date.calendar.constrainDate(date);\n date.year = Math.max(1, Math.min(date.calendar.getYearsInEra(date), date.year));\n $735220c2d4774dd3$var$constrainMonthDay(date);\n}\nfunction $735220c2d4774dd3$export$3e2544e88a25bff8(duration) {\n let inverseDuration = {};\n for(let key in duration)if (typeof duration[key] === 'number') inverseDuration[key] = -duration[key];\n return inverseDuration;\n}\nfunction $735220c2d4774dd3$export$4e2d2ead65e5f7e3(date, duration) {\n return $735220c2d4774dd3$export$e16d8520af44a096(date, $735220c2d4774dd3$export$3e2544e88a25bff8(duration));\n}\nfunction $735220c2d4774dd3$export$adaa4cf7ef1b65be(date, fields) {\n let mutableDate = date.copy();\n if (fields.era != null) mutableDate.era = fields.era;\n if (fields.year != null) mutableDate.year = fields.year;\n if (fields.month != null) mutableDate.month = fields.month;\n if (fields.day != null) mutableDate.day = fields.day;\n $735220c2d4774dd3$export$c4e2ecac49351ef2(mutableDate);\n return mutableDate;\n}\nfunction $735220c2d4774dd3$export$e5d5e1c1822b6e56(value, fields) {\n let mutableValue = value.copy();\n if (fields.hour != null) mutableValue.hour = fields.hour;\n if (fields.minute != null) mutableValue.minute = fields.minute;\n if (fields.second != null) mutableValue.second = fields.second;\n if (fields.millisecond != null) mutableValue.millisecond = fields.millisecond;\n $735220c2d4774dd3$export$7555de1e070510cb(mutableValue);\n return mutableValue;\n}\nfunction $735220c2d4774dd3$var$balanceTime(time) {\n time.second += Math.floor(time.millisecond / 1000);\n time.millisecond = $735220c2d4774dd3$var$nonNegativeMod(time.millisecond, 1000);\n time.minute += Math.floor(time.second / 60);\n time.second = $735220c2d4774dd3$var$nonNegativeMod(time.second, 60);\n time.hour += Math.floor(time.minute / 60);\n time.minute = $735220c2d4774dd3$var$nonNegativeMod(time.minute, 60);\n let days = Math.floor(time.hour / 24);\n time.hour = $735220c2d4774dd3$var$nonNegativeMod(time.hour, 24);\n return days;\n}\nfunction $735220c2d4774dd3$export$7555de1e070510cb(time) {\n time.millisecond = Math.max(0, Math.min(time.millisecond, 1000));\n time.second = Math.max(0, Math.min(time.second, 59));\n time.minute = Math.max(0, Math.min(time.minute, 59));\n time.hour = Math.max(0, Math.min(time.hour, 23));\n}\nfunction $735220c2d4774dd3$var$nonNegativeMod(a, b) {\n let result = a % b;\n if (result < 0) result += b;\n return result;\n}\nfunction $735220c2d4774dd3$var$addTimeFields(time, duration) {\n time.hour += duration.hours || 0;\n time.minute += duration.minutes || 0;\n time.second += duration.seconds || 0;\n time.millisecond += duration.milliseconds || 0;\n return $735220c2d4774dd3$var$balanceTime(time);\n}\nfunction $735220c2d4774dd3$export$7ed87b6bc2506470(time, duration) {\n let res = time.copy();\n $735220c2d4774dd3$var$addTimeFields(res, duration);\n return res;\n}\nfunction $735220c2d4774dd3$export$fe34d3a381cd7501(time, duration) {\n return $735220c2d4774dd3$export$7ed87b6bc2506470(time, $735220c2d4774dd3$export$3e2544e88a25bff8(duration));\n}\nfunction $735220c2d4774dd3$export$d52ced6badfb9a4c(value, field, amount, options) {\n let mutable = value.copy();\n switch(field){\n case 'era':\n {\n let eras = value.calendar.getEras();\n let eraIndex = eras.indexOf(value.era);\n if (eraIndex < 0) throw new Error('Invalid era: ' + value.era);\n eraIndex = $735220c2d4774dd3$var$cycleValue(eraIndex, amount, 0, eras.length - 1, options === null || options === void 0 ? void 0 : options.round);\n mutable.era = eras[eraIndex];\n // Constrain the year and other fields within the era, so the era doesn't change when we balance below.\n $735220c2d4774dd3$export$c4e2ecac49351ef2(mutable);\n break;\n }\n case 'year':\n var _mutable_calendar_isInverseEra, _mutable_calendar;\n if ((_mutable_calendar_isInverseEra = (_mutable_calendar = mutable.calendar).isInverseEra) === null || _mutable_calendar_isInverseEra === void 0 ? void 0 : _mutable_calendar_isInverseEra.call(_mutable_calendar, mutable)) amount = -amount;\n // The year field should not cycle within the era as that can cause weird behavior affecting other fields.\n // We need to also allow values < 1 so that decrementing goes to the previous era. If we get -Infinity back\n // we know we wrapped around after reaching 9999 (the maximum), so set the year back to 1.\n mutable.year = $735220c2d4774dd3$var$cycleValue(value.year, amount, -Infinity, 9999, options === null || options === void 0 ? void 0 : options.round);\n if (mutable.year === -Infinity) mutable.year = 1;\n if (mutable.calendar.balanceYearMonth) mutable.calendar.balanceYearMonth(mutable, value);\n break;\n case 'month':\n mutable.month = $735220c2d4774dd3$var$cycleValue(value.month, amount, 1, value.calendar.getMonthsInYear(value), options === null || options === void 0 ? void 0 : options.round);\n break;\n case 'day':\n mutable.day = $735220c2d4774dd3$var$cycleValue(value.day, amount, 1, value.calendar.getDaysInMonth(value), options === null || options === void 0 ? void 0 : options.round);\n break;\n default:\n throw new Error('Unsupported field ' + field);\n }\n if (value.calendar.balanceDate) value.calendar.balanceDate(mutable);\n $735220c2d4774dd3$export$c4e2ecac49351ef2(mutable);\n return mutable;\n}\nfunction $735220c2d4774dd3$export$dd02b3e0007dfe28(value, field, amount, options) {\n let mutable = value.copy();\n switch(field){\n case 'hour':\n {\n let hours = value.hour;\n let min = 0;\n let max = 23;\n if ((options === null || options === void 0 ? void 0 : options.hourCycle) === 12) {\n let isPM = hours >= 12;\n min = isPM ? 12 : 0;\n max = isPM ? 23 : 11;\n }\n mutable.hour = $735220c2d4774dd3$var$cycleValue(hours, amount, min, max, options === null || options === void 0 ? void 0 : options.round);\n break;\n }\n case 'minute':\n mutable.minute = $735220c2d4774dd3$var$cycleValue(value.minute, amount, 0, 59, options === null || options === void 0 ? void 0 : options.round);\n break;\n case 'second':\n mutable.second = $735220c2d4774dd3$var$cycleValue(value.second, amount, 0, 59, options === null || options === void 0 ? void 0 : options.round);\n break;\n case 'millisecond':\n mutable.millisecond = $735220c2d4774dd3$var$cycleValue(value.millisecond, amount, 0, 999, options === null || options === void 0 ? void 0 : options.round);\n break;\n default:\n throw new Error('Unsupported field ' + field);\n }\n return mutable;\n}\nfunction $735220c2d4774dd3$var$cycleValue(value, amount, min, max, round = false) {\n if (round) {\n value += Math.sign(amount);\n if (value < min) value = max;\n let div = Math.abs(amount);\n if (amount > 0) value = Math.ceil(value / div) * div;\n else value = Math.floor(value / div) * div;\n if (value > max) value = min;\n } else {\n value += amount;\n if (value < min) value = max - (min - value - 1);\n else if (value > max) value = min + (value - max - 1);\n }\n return value;\n}\nfunction $735220c2d4774dd3$export$96b1d28349274637(dateTime, duration) {\n let ms;\n if (duration.years != null && duration.years !== 0 || duration.months != null && duration.months !== 0 || duration.weeks != null && duration.weeks !== 0 || duration.days != null && duration.days !== 0) {\n let res = $735220c2d4774dd3$export$e16d8520af44a096((0, $11d87f3f76e88657$export$b21e0b124e224484)(dateTime), {\n years: duration.years,\n months: duration.months,\n weeks: duration.weeks,\n days: duration.days\n });\n // Changing the date may change the timezone offset, so we need to recompute\n // using the 'compatible' disambiguation.\n ms = (0, $11d87f3f76e88657$export$5107c82f94518f5c)(res, dateTime.timeZone);\n } else // Otherwise, preserve the offset of the original date.\n ms = (0, $11d87f3f76e88657$export$bd4fb2bc8bb06fb)(dateTime) - dateTime.offset;\n // Perform time manipulation in milliseconds rather than on the original time fields to account for DST.\n // For example, adding one hour during a DST transition may result in the hour field staying the same or\n // skipping an hour. This results in the offset field changing value instead of the specified field.\n ms += duration.milliseconds || 0;\n ms += (duration.seconds || 0) * 1000;\n ms += (duration.minutes || 0) * 60000;\n ms += (duration.hours || 0) * 3600000;\n let res = (0, $11d87f3f76e88657$export$1b96692a1ba042ac)(ms, dateTime.timeZone);\n return (0, $11d87f3f76e88657$export$b4a036af3fc0b032)(res, dateTime.calendar);\n}\nfunction $735220c2d4774dd3$export$6814caac34ca03c7(dateTime, duration) {\n return $735220c2d4774dd3$export$96b1d28349274637(dateTime, $735220c2d4774dd3$export$3e2544e88a25bff8(duration));\n}\nfunction $735220c2d4774dd3$export$9a297d111fc86b79(dateTime, field, amount, options) {\n // For date fields, we want the time to remain consistent and the UTC offset to potentially change to account for DST changes.\n // For time fields, we want the time to change by the amount given. This may result in the hour field staying the same, but the UTC\n // offset changing in the case of a backward DST transition, or skipping an hour in the case of a forward DST transition.\n switch(field){\n case 'hour':\n {\n let min = 0;\n let max = 23;\n if ((options === null || options === void 0 ? void 0 : options.hourCycle) === 12) {\n let isPM = dateTime.hour >= 12;\n min = isPM ? 12 : 0;\n max = isPM ? 23 : 11;\n }\n // The minimum and maximum hour may be affected by daylight saving time.\n // For example, it might jump forward at midnight, and skip 1am.\n // Or it might end at midnight and repeat the 11pm hour. To handle this, we get\n // the possible absolute times for the min and max, and find the maximum range\n // that is within the current day.\n let plainDateTime = (0, $11d87f3f76e88657$export$b21e0b124e224484)(dateTime);\n let minDate = (0, $11d87f3f76e88657$export$b4a036af3fc0b032)($735220c2d4774dd3$export$e5d5e1c1822b6e56(plainDateTime, {\n hour: min\n }), new (0, $3b62074eb05584b2$export$80ee6245ec4f29ec)());\n let minAbsolute = [\n (0, $11d87f3f76e88657$export$5107c82f94518f5c)(minDate, dateTime.timeZone, 'earlier'),\n (0, $11d87f3f76e88657$export$5107c82f94518f5c)(minDate, dateTime.timeZone, 'later')\n ].filter((ms)=>(0, $11d87f3f76e88657$export$1b96692a1ba042ac)(ms, dateTime.timeZone).day === minDate.day)[0];\n let maxDate = (0, $11d87f3f76e88657$export$b4a036af3fc0b032)($735220c2d4774dd3$export$e5d5e1c1822b6e56(plainDateTime, {\n hour: max\n }), new (0, $3b62074eb05584b2$export$80ee6245ec4f29ec)());\n let maxAbsolute = [\n (0, $11d87f3f76e88657$export$5107c82f94518f5c)(maxDate, dateTime.timeZone, 'earlier'),\n (0, $11d87f3f76e88657$export$5107c82f94518f5c)(maxDate, dateTime.timeZone, 'later')\n ].filter((ms)=>(0, $11d87f3f76e88657$export$1b96692a1ba042ac)(ms, dateTime.timeZone).day === maxDate.day).pop();\n // Since hours may repeat, we need to operate on the absolute time in milliseconds.\n // This is done in hours from the Unix epoch so that cycleValue works correctly,\n // and then converted back to milliseconds.\n let ms = (0, $11d87f3f76e88657$export$bd4fb2bc8bb06fb)(dateTime) - dateTime.offset;\n let hours = Math.floor(ms / $735220c2d4774dd3$var$ONE_HOUR);\n let remainder = ms % $735220c2d4774dd3$var$ONE_HOUR;\n ms = $735220c2d4774dd3$var$cycleValue(hours, amount, Math.floor(minAbsolute / $735220c2d4774dd3$var$ONE_HOUR), Math.floor(maxAbsolute / $735220c2d4774dd3$var$ONE_HOUR), options === null || options === void 0 ? void 0 : options.round) * $735220c2d4774dd3$var$ONE_HOUR + remainder;\n // Now compute the new timezone offset, and convert the absolute time back to local time.\n return (0, $11d87f3f76e88657$export$b4a036af3fc0b032)((0, $11d87f3f76e88657$export$1b96692a1ba042ac)(ms, dateTime.timeZone), dateTime.calendar);\n }\n case 'minute':\n case 'second':\n case 'millisecond':\n // @ts-ignore\n return $735220c2d4774dd3$export$dd02b3e0007dfe28(dateTime, field, amount, options);\n case 'era':\n case 'year':\n case 'month':\n case 'day':\n {\n let res = $735220c2d4774dd3$export$d52ced6badfb9a4c((0, $11d87f3f76e88657$export$b21e0b124e224484)(dateTime), field, amount, options);\n let ms = (0, $11d87f3f76e88657$export$5107c82f94518f5c)(res, dateTime.timeZone);\n return (0, $11d87f3f76e88657$export$b4a036af3fc0b032)((0, $11d87f3f76e88657$export$1b96692a1ba042ac)(ms, dateTime.timeZone), dateTime.calendar);\n }\n default:\n throw new Error('Unsupported field ' + field);\n }\n}\nfunction $735220c2d4774dd3$export$31b5430eb18be4f8(dateTime, fields, disambiguation) {\n // Set the date/time fields, and recompute the UTC offset to account for DST changes.\n // We also need to validate by converting back to a local time in case hours are skipped during forward DST transitions.\n let plainDateTime = (0, $11d87f3f76e88657$export$b21e0b124e224484)(dateTime);\n let res = $735220c2d4774dd3$export$e5d5e1c1822b6e56($735220c2d4774dd3$export$adaa4cf7ef1b65be(plainDateTime, fields), fields);\n // If the resulting plain date time values are equal, return the original time.\n // We don't want to change the offset when setting the time to the same value.\n if (res.compare(plainDateTime) === 0) return dateTime;\n let ms = (0, $11d87f3f76e88657$export$5107c82f94518f5c)(res, dateTime.timeZone, disambiguation);\n return (0, $11d87f3f76e88657$export$b4a036af3fc0b032)((0, $11d87f3f76e88657$export$1b96692a1ba042ac)(ms, dateTime.timeZone), dateTime.calendar);\n}\n\n\nexport {$735220c2d4774dd3$export$e16d8520af44a096 as add, $735220c2d4774dd3$export$c4e2ecac49351ef2 as constrain, $735220c2d4774dd3$export$3e2544e88a25bff8 as invertDuration, $735220c2d4774dd3$export$4e2d2ead65e5f7e3 as subtract, $735220c2d4774dd3$export$adaa4cf7ef1b65be as set, $735220c2d4774dd3$export$e5d5e1c1822b6e56 as setTime, $735220c2d4774dd3$export$7555de1e070510cb as constrainTime, $735220c2d4774dd3$export$7ed87b6bc2506470 as addTime, $735220c2d4774dd3$export$fe34d3a381cd7501 as subtractTime, $735220c2d4774dd3$export$d52ced6badfb9a4c as cycleDate, $735220c2d4774dd3$export$dd02b3e0007dfe28 as cycleTime, $735220c2d4774dd3$export$96b1d28349274637 as addZoned, $735220c2d4774dd3$export$6814caac34ca03c7 as subtractZoned, $735220c2d4774dd3$export$9a297d111fc86b79 as cycleZoned, $735220c2d4774dd3$export$31b5430eb18be4f8 as setZoned};\n//# sourceMappingURL=manipulation.module.js.map\n","import {CalendarDate as $35ea8db9cb2ccb90$export$99faa760c7908e4f, CalendarDateTime as $35ea8db9cb2ccb90$export$ca871e8dbb80966f, Time as $35ea8db9cb2ccb90$export$680ea196effce5f, ZonedDateTime as $35ea8db9cb2ccb90$export$d3b7288e7994edea} from \"./CalendarDate.mjs\";\nimport {epochFromDate as $11d87f3f76e88657$export$bd4fb2bc8bb06fb, fromAbsolute as $11d87f3f76e88657$export$1b96692a1ba042ac, possibleAbsolutes as $11d87f3f76e88657$export$136f38efe7caf549, toAbsolute as $11d87f3f76e88657$export$5107c82f94518f5c, toCalendar as $11d87f3f76e88657$export$b4a036af3fc0b032, toCalendarDateTime as $11d87f3f76e88657$export$b21e0b124e224484, toTimeZone as $11d87f3f76e88657$export$538b00033cc11c75} from \"./conversion.mjs\";\nimport {getLocalTimeZone as $14e0f24ef4ac5c92$export$aa8b41735afcabd2} from \"./queries.mjs\";\nimport {GregorianCalendar as $3b62074eb05584b2$export$80ee6245ec4f29ec} from \"./GregorianCalendar.mjs\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\nconst $fae977aafc393c5c$var$TIME_RE = /^(\\d{2})(?::(\\d{2}))?(?::(\\d{2}))?(\\.\\d+)?$/;\nconst $fae977aafc393c5c$var$DATE_RE = /^(\\d{4})-(\\d{2})-(\\d{2})$/;\nconst $fae977aafc393c5c$var$DATE_TIME_RE = /^(\\d{4})-(\\d{2})-(\\d{2})(?:T(\\d{2}))?(?::(\\d{2}))?(?::(\\d{2}))?(\\.\\d+)?$/;\nconst $fae977aafc393c5c$var$ZONED_DATE_TIME_RE = /^(\\d{4})-(\\d{2})-(\\d{2})(?:T(\\d{2}))?(?::(\\d{2}))?(?::(\\d{2}))?(\\.\\d+)?(?:([+-]\\d{2})(?::?(\\d{2}))?)?\\[(.*?)\\]$/;\nconst $fae977aafc393c5c$var$ABSOLUTE_RE = /^(\\d{4})-(\\d{2})-(\\d{2})(?:T(\\d{2}))?(?::(\\d{2}))?(?::(\\d{2}))?(\\.\\d+)?(?:(?:([+-]\\d{2})(?::?(\\d{2}))?)|Z)$/;\nconst $fae977aafc393c5c$var$DATE_TIME_DURATION_RE = /^((?<negative>-)|\\+)?P((?<years>\\d*)Y)?((?<months>\\d*)M)?((?<weeks>\\d*)W)?((?<days>\\d*)D)?((?<time>T)((?<hours>\\d*[.,]?\\d{1,9})H)?((?<minutes>\\d*[.,]?\\d{1,9})M)?((?<seconds>\\d*[.,]?\\d{1,9})S)?)?$/;\nconst $fae977aafc393c5c$var$requiredDurationTimeGroups = [\n 'hours',\n 'minutes',\n 'seconds'\n];\nconst $fae977aafc393c5c$var$requiredDurationGroups = [\n 'years',\n 'months',\n 'weeks',\n 'days',\n ...$fae977aafc393c5c$var$requiredDurationTimeGroups\n];\nfunction $fae977aafc393c5c$export$c9698ec7f05a07e1(value) {\n let m = value.match($fae977aafc393c5c$var$TIME_RE);\n if (!m) throw new Error('Invalid ISO 8601 time string: ' + value);\n return new (0, $35ea8db9cb2ccb90$export$680ea196effce5f)($fae977aafc393c5c$var$parseNumber(m[1], 0, 23), m[2] ? $fae977aafc393c5c$var$parseNumber(m[2], 0, 59) : 0, m[3] ? $fae977aafc393c5c$var$parseNumber(m[3], 0, 59) : 0, m[4] ? $fae977aafc393c5c$var$parseNumber(m[4], 0, Infinity) * 1000 : 0);\n}\nfunction $fae977aafc393c5c$export$6b862160d295c8e(value) {\n let m = value.match($fae977aafc393c5c$var$DATE_RE);\n if (!m) throw new Error('Invalid ISO 8601 date string: ' + value);\n let date = new (0, $35ea8db9cb2ccb90$export$99faa760c7908e4f)($fae977aafc393c5c$var$parseNumber(m[1], 0, 9999), $fae977aafc393c5c$var$parseNumber(m[2], 1, 12), 1);\n date.day = $fae977aafc393c5c$var$parseNumber(m[3], 0, date.calendar.getDaysInMonth(date));\n return date;\n}\nfunction $fae977aafc393c5c$export$588937bcd60ade55(value) {\n let m = value.match($fae977aafc393c5c$var$DATE_TIME_RE);\n if (!m) throw new Error('Invalid ISO 8601 date time string: ' + value);\n let date = new (0, $35ea8db9cb2ccb90$export$ca871e8dbb80966f)($fae977aafc393c5c$var$parseNumber(m[1], 1, 9999), $fae977aafc393c5c$var$parseNumber(m[2], 1, 12), 1, m[4] ? $fae977aafc393c5c$var$parseNumber(m[4], 0, 23) : 0, m[5] ? $fae977aafc393c5c$var$parseNumber(m[5], 0, 59) : 0, m[6] ? $fae977aafc393c5c$var$parseNumber(m[6], 0, 59) : 0, m[7] ? $fae977aafc393c5c$var$parseNumber(m[7], 0, Infinity) * 1000 : 0);\n date.day = $fae977aafc393c5c$var$parseNumber(m[3], 0, date.calendar.getDaysInMonth(date));\n return date;\n}\nfunction $fae977aafc393c5c$export$fd7893f06e92a6a4(value, disambiguation) {\n let m = value.match($fae977aafc393c5c$var$ZONED_DATE_TIME_RE);\n if (!m) throw new Error('Invalid ISO 8601 date time string: ' + value);\n let date = new (0, $35ea8db9cb2ccb90$export$d3b7288e7994edea)($fae977aafc393c5c$var$parseNumber(m[1], 1, 9999), $fae977aafc393c5c$var$parseNumber(m[2], 1, 12), 1, m[10], 0, m[4] ? $fae977aafc393c5c$var$parseNumber(m[4], 0, 23) : 0, m[5] ? $fae977aafc393c5c$var$parseNumber(m[5], 0, 59) : 0, m[6] ? $fae977aafc393c5c$var$parseNumber(m[6], 0, 59) : 0, m[7] ? $fae977aafc393c5c$var$parseNumber(m[7], 0, Infinity) * 1000 : 0);\n date.day = $fae977aafc393c5c$var$parseNumber(m[3], 0, date.calendar.getDaysInMonth(date));\n let plainDateTime = (0, $11d87f3f76e88657$export$b21e0b124e224484)(date);\n let ms;\n if (m[8]) {\n var _m_;\n date.offset = $fae977aafc393c5c$var$parseNumber(m[8], -23, 23) * 3600000 + $fae977aafc393c5c$var$parseNumber((_m_ = m[9]) !== null && _m_ !== void 0 ? _m_ : '0', 0, 59) * 60000;\n ms = (0, $11d87f3f76e88657$export$bd4fb2bc8bb06fb)(date) - date.offset;\n // Validate offset against parsed date.\n let absolutes = (0, $11d87f3f76e88657$export$136f38efe7caf549)(plainDateTime, date.timeZone);\n if (!absolutes.includes(ms)) throw new Error(`Offset ${$fae977aafc393c5c$var$offsetToString(date.offset)} is invalid for ${$fae977aafc393c5c$export$4223de14708adc63(date)} in ${date.timeZone}`);\n } else // Convert to absolute and back to fix invalid times due to DST.\n ms = (0, $11d87f3f76e88657$export$5107c82f94518f5c)((0, $11d87f3f76e88657$export$b21e0b124e224484)(plainDateTime), date.timeZone, disambiguation);\n return (0, $11d87f3f76e88657$export$1b96692a1ba042ac)(ms, date.timeZone);\n}\nfunction $fae977aafc393c5c$export$5adfdab05168c219(value, timeZone) {\n let m = value.match($fae977aafc393c5c$var$ABSOLUTE_RE);\n if (!m) throw new Error('Invalid ISO 8601 date time string: ' + value);\n let date = new (0, $35ea8db9cb2ccb90$export$d3b7288e7994edea)($fae977aafc393c5c$var$parseNumber(m[1], 1, 9999), $fae977aafc393c5c$var$parseNumber(m[2], 1, 12), 1, timeZone, 0, m[4] ? $fae977aafc393c5c$var$parseNumber(m[4], 0, 23) : 0, m[5] ? $fae977aafc393c5c$var$parseNumber(m[5], 0, 59) : 0, m[6] ? $fae977aafc393c5c$var$parseNumber(m[6], 0, 59) : 0, m[7] ? $fae977aafc393c5c$var$parseNumber(m[7], 0, Infinity) * 1000 : 0);\n date.day = $fae977aafc393c5c$var$parseNumber(m[3], 0, date.calendar.getDaysInMonth(date));\n var _m_;\n if (m[8]) date.offset = $fae977aafc393c5c$var$parseNumber(m[8], -23, 23) * 3600000 + $fae977aafc393c5c$var$parseNumber((_m_ = m[9]) !== null && _m_ !== void 0 ? _m_ : '0', 0, 59) * 60000;\n return (0, $11d87f3f76e88657$export$538b00033cc11c75)(date, timeZone);\n}\nfunction $fae977aafc393c5c$export$8e384432362ed0f0(value) {\n return $fae977aafc393c5c$export$5adfdab05168c219(value, (0, $14e0f24ef4ac5c92$export$aa8b41735afcabd2)());\n}\nfunction $fae977aafc393c5c$var$parseNumber(value, min, max) {\n let val = Number(value);\n if (val < min || val > max) throw new RangeError(`Value out of range: ${min} <= ${val} <= ${max}`);\n return val;\n}\nfunction $fae977aafc393c5c$export$f59dee82248f5ad4(time) {\n return `${String(time.hour).padStart(2, '0')}:${String(time.minute).padStart(2, '0')}:${String(time.second).padStart(2, '0')}${time.millisecond ? String(time.millisecond / 1000).slice(1) : ''}`;\n}\nfunction $fae977aafc393c5c$export$60dfd74aa96791bd(date) {\n let gregorianDate = (0, $11d87f3f76e88657$export$b4a036af3fc0b032)(date, new (0, $3b62074eb05584b2$export$80ee6245ec4f29ec)());\n return `${String(gregorianDate.year).padStart(4, '0')}-${String(gregorianDate.month).padStart(2, '0')}-${String(gregorianDate.day).padStart(2, '0')}`;\n}\nfunction $fae977aafc393c5c$export$4223de14708adc63(date) {\n // @ts-ignore\n return `${$fae977aafc393c5c$export$60dfd74aa96791bd(date)}T${$fae977aafc393c5c$export$f59dee82248f5ad4(date)}`;\n}\nfunction $fae977aafc393c5c$var$offsetToString(offset) {\n let sign = Math.sign(offset) < 0 ? '-' : '+';\n offset = Math.abs(offset);\n let offsetHours = Math.floor(offset / 3600000);\n let offsetMinutes = offset % 3600000 / 60000;\n return `${sign}${String(offsetHours).padStart(2, '0')}:${String(offsetMinutes).padStart(2, '0')}`;\n}\nfunction $fae977aafc393c5c$export$bf79f1ebf4b18792(date) {\n return `${$fae977aafc393c5c$export$4223de14708adc63(date)}${$fae977aafc393c5c$var$offsetToString(date.offset)}[${date.timeZone}]`;\n}\nfunction $fae977aafc393c5c$export$ecae829bb3747ea6(value) {\n var _match_groups, _match_groups1, _match_groups2, _match_groups3, _match_groups4, _match_groups5, _match_groups6, _match_groups7, _match_groups8;\n const match = value.match($fae977aafc393c5c$var$DATE_TIME_DURATION_RE);\n if (!match) throw new Error(`Invalid ISO 8601 Duration string: ${value}`);\n const parseDurationGroup = (group, isNegative, min, max)=>{\n if (!group) return 0;\n try {\n const sign = isNegative ? -1 : 1;\n return sign * $fae977aafc393c5c$var$parseNumber(group.replace(',', '.'), min, max);\n } catch {\n throw new Error(`Invalid ISO 8601 Duration string: ${value}`);\n }\n };\n const isNegative = !!((_match_groups = match.groups) === null || _match_groups === void 0 ? void 0 : _match_groups.negative);\n const hasRequiredGroups = $fae977aafc393c5c$var$requiredDurationGroups.some((group)=>{\n var _match_groups;\n return (_match_groups = match.groups) === null || _match_groups === void 0 ? void 0 : _match_groups[group];\n });\n if (!hasRequiredGroups) throw new Error(`Invalid ISO 8601 Duration string: ${value}`);\n const durationStringIncludesTime = (_match_groups1 = match.groups) === null || _match_groups1 === void 0 ? void 0 : _match_groups1.time;\n if (durationStringIncludesTime) {\n const hasRequiredDurationTimeGroups = $fae977aafc393c5c$var$requiredDurationTimeGroups.some((group)=>{\n var _match_groups;\n return (_match_groups = match.groups) === null || _match_groups === void 0 ? void 0 : _match_groups[group];\n });\n if (!hasRequiredDurationTimeGroups) throw new Error(`Invalid ISO 8601 Duration string: ${value}`);\n }\n const duration = {\n years: parseDurationGroup((_match_groups2 = match.groups) === null || _match_groups2 === void 0 ? void 0 : _match_groups2.years, isNegative, 0, 9999),\n months: parseDurationGroup((_match_groups3 = match.groups) === null || _match_groups3 === void 0 ? void 0 : _match_groups3.months, isNegative, 0, 12),\n weeks: parseDurationGroup((_match_groups4 = match.groups) === null || _match_groups4 === void 0 ? void 0 : _match_groups4.weeks, isNegative, 0, Infinity),\n days: parseDurationGroup((_match_groups5 = match.groups) === null || _match_groups5 === void 0 ? void 0 : _match_groups5.days, isNegative, 0, 31),\n hours: parseDurationGroup((_match_groups6 = match.groups) === null || _match_groups6 === void 0 ? void 0 : _match_groups6.hours, isNegative, 0, 23),\n minutes: parseDurationGroup((_match_groups7 = match.groups) === null || _match_groups7 === void 0 ? void 0 : _match_groups7.minutes, isNegative, 0, 59),\n seconds: parseDurationGroup((_match_groups8 = match.groups) === null || _match_groups8 === void 0 ? void 0 : _match_groups8.seconds, isNegative, 0, 59)\n };\n if (duration.hours !== undefined && duration.hours % 1 !== 0 && (duration.minutes || duration.seconds)) throw new Error(`Invalid ISO 8601 Duration string: ${value} - only the smallest unit can be fractional`);\n if (duration.minutes !== undefined && duration.minutes % 1 !== 0 && duration.seconds) throw new Error(`Invalid ISO 8601 Duration string: ${value} - only the smallest unit can be fractional`);\n return duration;\n}\n\n\nexport {$fae977aafc393c5c$export$c9698ec7f05a07e1 as parseTime, $fae977aafc393c5c$export$6b862160d295c8e as parseDate, $fae977aafc393c5c$export$588937bcd60ade55 as parseDateTime, $fae977aafc393c5c$export$fd7893f06e92a6a4 as parseZonedDateTime, $fae977aafc393c5c$export$4223de14708adc63 as dateTimeToString, $fae977aafc393c5c$export$5adfdab05168c219 as parseAbsolute, $fae977aafc393c5c$export$8e384432362ed0f0 as parseAbsoluteToLocal, $fae977aafc393c5c$export$f59dee82248f5ad4 as timeToString, $fae977aafc393c5c$export$60dfd74aa96791bd as dateToString, $fae977aafc393c5c$export$bf79f1ebf4b18792 as zonedDateTimeToString, $fae977aafc393c5c$export$ecae829bb3747ea6 as parseDuration};\n//# sourceMappingURL=string.module.js.map\n","export function _check_private_redeclaration(obj, privateCollection) {\n if (privateCollection.has(obj)) {\n throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n }\n}\nexport { _check_private_redeclaration as _ };\n","import { _check_private_redeclaration } from \"./_check_private_redeclaration.js\";\n\nexport function _class_private_field_init(obj, privateMap, value) {\n _check_private_redeclaration(obj, privateMap);\n privateMap.set(obj, value);\n}\nexport { _class_private_field_init as _ };\n","import {add as $735220c2d4774dd3$export$e16d8520af44a096, addTime as $735220c2d4774dd3$export$7ed87b6bc2506470, addZoned as $735220c2d4774dd3$export$96b1d28349274637, constrain as $735220c2d4774dd3$export$c4e2ecac49351ef2, constrainTime as $735220c2d4774dd3$export$7555de1e070510cb, cycleDate as $735220c2d4774dd3$export$d52ced6badfb9a4c, cycleTime as $735220c2d4774dd3$export$dd02b3e0007dfe28, cycleZoned as $735220c2d4774dd3$export$9a297d111fc86b79, set as $735220c2d4774dd3$export$adaa4cf7ef1b65be, setTime as $735220c2d4774dd3$export$e5d5e1c1822b6e56, setZoned as $735220c2d4774dd3$export$31b5430eb18be4f8, subtract as $735220c2d4774dd3$export$4e2d2ead65e5f7e3, subtractTime as $735220c2d4774dd3$export$fe34d3a381cd7501, subtractZoned as $735220c2d4774dd3$export$6814caac34ca03c7} from \"./manipulation.mjs\";\nimport {compareDate as $14e0f24ef4ac5c92$export$68781ddf31c0090f, compareTime as $14e0f24ef4ac5c92$export$c19a80a9721b80f6} from \"./queries.mjs\";\nimport {dateTimeToString as $fae977aafc393c5c$export$4223de14708adc63, dateToString as $fae977aafc393c5c$export$60dfd74aa96791bd, timeToString as $fae977aafc393c5c$export$f59dee82248f5ad4, zonedDateTimeToString as $fae977aafc393c5c$export$bf79f1ebf4b18792} from \"./string.mjs\";\nimport {GregorianCalendar as $3b62074eb05584b2$export$80ee6245ec4f29ec} from \"./GregorianCalendar.mjs\";\nimport {toCalendarDateTime as $11d87f3f76e88657$export$b21e0b124e224484, toDate as $11d87f3f76e88657$export$e67a095c620b86fe, toZoned as $11d87f3f76e88657$export$84c95a83c799e074, zonedToDate as $11d87f3f76e88657$export$83aac07b4c37b25} from \"./conversion.mjs\";\nimport {_ as $aksy1$_} from \"@swc/helpers/_/_class_private_field_init\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\nfunction $35ea8db9cb2ccb90$var$shiftArgs(args) {\n let calendar = typeof args[0] === 'object' ? args.shift() : new (0, $3b62074eb05584b2$export$80ee6245ec4f29ec)();\n let era;\n if (typeof args[0] === 'string') era = args.shift();\n else {\n let eras = calendar.getEras();\n era = eras[eras.length - 1];\n }\n let year = args.shift();\n let month = args.shift();\n let day = args.shift();\n return [\n calendar,\n era,\n year,\n month,\n day\n ];\n}\nvar // This prevents TypeScript from allowing other types with the same fields to match.\n// i.e. a ZonedDateTime should not be be passable to a parameter that expects CalendarDate.\n// If that behavior is desired, use the AnyCalendarDate interface instead.\n// @ts-ignore\n$35ea8db9cb2ccb90$var$_type = /*#__PURE__*/ new WeakMap();\nclass $35ea8db9cb2ccb90$export$99faa760c7908e4f {\n /** Returns a copy of this date. */ copy() {\n if (this.era) return new $35ea8db9cb2ccb90$export$99faa760c7908e4f(this.calendar, this.era, this.year, this.month, this.day);\n else return new $35ea8db9cb2ccb90$export$99faa760c7908e4f(this.calendar, this.year, this.month, this.day);\n }\n /** Returns a new `CalendarDate` with the given duration added to it. */ add(duration) {\n return (0, $735220c2d4774dd3$export$e16d8520af44a096)(this, duration);\n }\n /** Returns a new `CalendarDate` with the given duration subtracted from it. */ subtract(duration) {\n return (0, $735220c2d4774dd3$export$4e2d2ead65e5f7e3)(this, duration);\n }\n /** Returns a new `CalendarDate` with the given fields set to the provided values. Other fields will be constrained accordingly. */ set(fields) {\n return (0, $735220c2d4774dd3$export$adaa4cf7ef1b65be)(this, fields);\n }\n /**\n * Returns a new `CalendarDate` with the given field adjusted by a specified amount.\n * When the resulting value reaches the limits of the field, it wraps around.\n */ cycle(field, amount, options) {\n return (0, $735220c2d4774dd3$export$d52ced6badfb9a4c)(this, field, amount, options);\n }\n /** Converts the date to a native JavaScript Date object, with the time set to midnight in the given time zone. */ toDate(timeZone) {\n return (0, $11d87f3f76e88657$export$e67a095c620b86fe)(this, timeZone);\n }\n /** Converts the date to an ISO 8601 formatted string. */ toString() {\n return (0, $fae977aafc393c5c$export$60dfd74aa96791bd)(this);\n }\n /** Compares this date with another. A negative result indicates that this date is before the given one, and a positive date indicates that it is after. */ compare(b) {\n return (0, $14e0f24ef4ac5c92$export$68781ddf31c0090f)(this, b);\n }\n constructor(...args){\n (0, $aksy1$_)(this, $35ea8db9cb2ccb90$var$_type, {\n writable: true,\n value: void 0\n });\n let [calendar, era, year, month, day] = $35ea8db9cb2ccb90$var$shiftArgs(args);\n this.calendar = calendar;\n this.era = era;\n this.year = year;\n this.month = month;\n this.day = day;\n (0, $735220c2d4774dd3$export$c4e2ecac49351ef2)(this);\n }\n}\nvar // This prevents TypeScript from allowing other types with the same fields to match.\n// @ts-ignore\n$35ea8db9cb2ccb90$var$_type1 = /*#__PURE__*/ new WeakMap();\nclass $35ea8db9cb2ccb90$export$680ea196effce5f {\n /** Returns a copy of this time. */ copy() {\n return new $35ea8db9cb2ccb90$export$680ea196effce5f(this.hour, this.minute, this.second, this.millisecond);\n }\n /** Returns a new `Time` with the given duration added to it. */ add(duration) {\n return (0, $735220c2d4774dd3$export$7ed87b6bc2506470)(this, duration);\n }\n /** Returns a new `Time` with the given duration subtracted from it. */ subtract(duration) {\n return (0, $735220c2d4774dd3$export$fe34d3a381cd7501)(this, duration);\n }\n /** Returns a new `Time` with the given fields set to the provided values. Other fields will be constrained accordingly. */ set(fields) {\n return (0, $735220c2d4774dd3$export$e5d5e1c1822b6e56)(this, fields);\n }\n /**\n * Returns a new `Time` with the given field adjusted by a specified amount.\n * When the resulting value reaches the limits of the field, it wraps around.\n */ cycle(field, amount, options) {\n return (0, $735220c2d4774dd3$export$dd02b3e0007dfe28)(this, field, amount, options);\n }\n /** Converts the time to an ISO 8601 formatted string. */ toString() {\n return (0, $fae977aafc393c5c$export$f59dee82248f5ad4)(this);\n }\n /** Compares this time with another. A negative result indicates that this time is before the given one, and a positive time indicates that it is after. */ compare(b) {\n return (0, $14e0f24ef4ac5c92$export$c19a80a9721b80f6)(this, b);\n }\n constructor(hour = 0, minute = 0, second = 0, millisecond = 0){\n (0, $aksy1$_)(this, $35ea8db9cb2ccb90$var$_type1, {\n writable: true,\n value: void 0\n });\n this.hour = hour;\n this.minute = minute;\n this.second = second;\n this.millisecond = millisecond;\n (0, $735220c2d4774dd3$export$7555de1e070510cb)(this);\n }\n}\nvar // This prevents TypeScript from allowing other types with the same fields to match.\n// @ts-ignore\n$35ea8db9cb2ccb90$var$_type2 = /*#__PURE__*/ new WeakMap();\nclass $35ea8db9cb2ccb90$export$ca871e8dbb80966f {\n /** Returns a copy of this date. */ copy() {\n if (this.era) return new $35ea8db9cb2ccb90$export$ca871e8dbb80966f(this.calendar, this.era, this.year, this.month, this.day, this.hour, this.minute, this.second, this.millisecond);\n else return new $35ea8db9cb2ccb90$export$ca871e8dbb80966f(this.calendar, this.year, this.month, this.day, this.hour, this.minute, this.second, this.millisecond);\n }\n /** Returns a new `CalendarDateTime` with the given duration added to it. */ add(duration) {\n return (0, $735220c2d4774dd3$export$e16d8520af44a096)(this, duration);\n }\n /** Returns a new `CalendarDateTime` with the given duration subtracted from it. */ subtract(duration) {\n return (0, $735220c2d4774dd3$export$4e2d2ead65e5f7e3)(this, duration);\n }\n /** Returns a new `CalendarDateTime` with the given fields set to the provided values. Other fields will be constrained accordingly. */ set(fields) {\n return (0, $735220c2d4774dd3$export$adaa4cf7ef1b65be)((0, $735220c2d4774dd3$export$e5d5e1c1822b6e56)(this, fields), fields);\n }\n /**\n * Returns a new `CalendarDateTime` with the given field adjusted by a specified amount.\n * When the resulting value reaches the limits of the field, it wraps around.\n */ cycle(field, amount, options) {\n switch(field){\n case 'era':\n case 'year':\n case 'month':\n case 'day':\n return (0, $735220c2d4774dd3$export$d52ced6badfb9a4c)(this, field, amount, options);\n default:\n return (0, $735220c2d4774dd3$export$dd02b3e0007dfe28)(this, field, amount, options);\n }\n }\n /** Converts the date to a native JavaScript Date object in the given time zone. */ toDate(timeZone, disambiguation) {\n return (0, $11d87f3f76e88657$export$e67a095c620b86fe)(this, timeZone, disambiguation);\n }\n /** Converts the date to an ISO 8601 formatted string. */ toString() {\n return (0, $fae977aafc393c5c$export$4223de14708adc63)(this);\n }\n /** Compares this date with another. A negative result indicates that this date is before the given one, and a positive date indicates that it is after. */ compare(b) {\n let res = (0, $14e0f24ef4ac5c92$export$68781ddf31c0090f)(this, b);\n if (res === 0) return (0, $14e0f24ef4ac5c92$export$c19a80a9721b80f6)(this, (0, $11d87f3f76e88657$export$b21e0b124e224484)(b));\n return res;\n }\n constructor(...args){\n (0, $aksy1$_)(this, $35ea8db9cb2ccb90$var$_type2, {\n writable: true,\n value: void 0\n });\n let [calendar, era, year, month, day] = $35ea8db9cb2ccb90$var$shiftArgs(args);\n this.calendar = calendar;\n this.era = era;\n this.year = year;\n this.month = month;\n this.day = day;\n this.hour = args.shift() || 0;\n this.minute = args.shift() || 0;\n this.second = args.shift() || 0;\n this.millisecond = args.shift() || 0;\n (0, $735220c2d4774dd3$export$c4e2ecac49351ef2)(this);\n }\n}\nvar // This prevents TypeScript from allowing other types with the same fields to match.\n// @ts-ignore\n$35ea8db9cb2ccb90$var$_type3 = /*#__PURE__*/ new WeakMap();\nclass $35ea8db9cb2ccb90$export$d3b7288e7994edea {\n /** Returns a copy of this date. */ copy() {\n if (this.era) return new $35ea8db9cb2ccb90$export$d3b7288e7994edea(this.calendar, this.era, this.year, this.month, this.day, this.timeZone, this.offset, this.hour, this.minute, this.second, this.millisecond);\n else return new $35ea8db9cb2ccb90$export$d3b7288e7994edea(this.calendar, this.year, this.month, this.day, this.timeZone, this.offset, this.hour, this.minute, this.second, this.millisecond);\n }\n /** Returns a new `ZonedDateTime` with the given duration added to it. */ add(duration) {\n return (0, $735220c2d4774dd3$export$96b1d28349274637)(this, duration);\n }\n /** Returns a new `ZonedDateTime` with the given duration subtracted from it. */ subtract(duration) {\n return (0, $735220c2d4774dd3$export$6814caac34ca03c7)(this, duration);\n }\n /** Returns a new `ZonedDateTime` with the given fields set to the provided values. Other fields will be constrained accordingly. */ set(fields, disambiguation) {\n return (0, $735220c2d4774dd3$export$31b5430eb18be4f8)(this, fields, disambiguation);\n }\n /**\n * Returns a new `ZonedDateTime` with the given field adjusted by a specified amount.\n * When the resulting value reaches the limits of the field, it wraps around.\n */ cycle(field, amount, options) {\n return (0, $735220c2d4774dd3$export$9a297d111fc86b79)(this, field, amount, options);\n }\n /** Converts the date to a native JavaScript Date object. */ toDate() {\n return (0, $11d87f3f76e88657$export$83aac07b4c37b25)(this);\n }\n /** Converts the date to an ISO 8601 formatted string, including the UTC offset and time zone identifier. */ toString() {\n return (0, $fae977aafc393c5c$export$bf79f1ebf4b18792)(this);\n }\n /** Converts the date to an ISO 8601 formatted string in UTC. */ toAbsoluteString() {\n return this.toDate().toISOString();\n }\n /** Compares this date with another. A negative result indicates that this date is before the given one, and a positive date indicates that it is after. */ compare(b) {\n // TODO: Is this a bad idea??\n return this.toDate().getTime() - (0, $11d87f3f76e88657$export$84c95a83c799e074)(b, this.timeZone).toDate().getTime();\n }\n constructor(...args){\n (0, $aksy1$_)(this, $35ea8db9cb2ccb90$var$_type3, {\n writable: true,\n value: void 0\n });\n let [calendar, era, year, month, day] = $35ea8db9cb2ccb90$var$shiftArgs(args);\n let timeZone = args.shift();\n let offset = args.shift();\n this.calendar = calendar;\n this.era = era;\n this.year = year;\n this.month = month;\n this.day = day;\n this.timeZone = timeZone;\n this.offset = offset;\n this.hour = args.shift() || 0;\n this.minute = args.shift() || 0;\n this.second = args.shift() || 0;\n this.millisecond = args.shift() || 0;\n (0, $735220c2d4774dd3$export$c4e2ecac49351ef2)(this);\n }\n}\n\n\nexport {$35ea8db9cb2ccb90$export$99faa760c7908e4f as CalendarDate, $35ea8db9cb2ccb90$export$680ea196effce5f as Time, $35ea8db9cb2ccb90$export$ca871e8dbb80966f as CalendarDateTime, $35ea8db9cb2ccb90$export$d3b7288e7994edea as ZonedDateTime};\n//# sourceMappingURL=CalendarDate.module.js.map\n","import { createRoot } from 'react-dom/client';\nimport { jsx, jsxs, Fragment } from 'react/jsx-runtime';\nimport { Link, Alert, Typography, Main, Flex, Button, Box, useCallbackRef, EmptyStateLayout, LinkButton, useComposedRefs, Dialog, Field, Toggle, Checkbox, DatePicker, DateTimePicker, TextInput, SingleSelect, SingleSelectOption, JSONInput, NumberInput, Textarea, TimePicker, Portal, IconButton, VisuallyHidden, Grid, lightTheme, darkTheme, Popover, Tag, Pagination as Pagination$1, PreviousLink, PageLink, Dots, NextLink, SearchForm, Searchbar, Table as Table$1, Thead, Tr, Th, Tooltip, Tbody, Td, Loader } from '@strapi/design-system';\nimport invariant from 'invariant';\nimport isFunction from 'lodash/isFunction';\nimport merge from 'lodash/merge';\nimport pick from 'lodash/pick';\nimport { NavLink, useLocation, useNavigate, Outlet, useRouteError, Link as Link$1, useBlocker, useMatch, Navigate, createMemoryRouter, createBrowserRouter, RouterProvider } from 'react-router-dom';\nimport { z as createContext, S as StrapiAppProvider, A as AuthProvider, L as LanguageProvider, T as Theme, N as NotificationsProvider, B as TrackingProvider, G as GuidedTourProvider, D as ConfigurationProvider, E as LANGUAGE_LOCAL_STORAGE_KEY, P as Page, F as getIn, H as setIn, r as useConfiguration, b as useTypedSelector, d as useTypedDispatch, I as setLocale, u as useAuth, e as useAPIErrorHandler, J as useForgotPasswordMutation, a as useNotification, p as useAppInfo, c as useTracking, m as useGuidedTour, K as useGetRegistrationInfoQuery, M as useRegisterAdminMutation, O as useRegisterUserMutation, n as login, Q as useResetPasswordMutation, v as reducer$2, U as logout, R as RBAC, V as THEME_LOCAL_STORAGE_KEY, t as getStoredToken, o as useQueryParams, W as useTypedStore } from './Theme-NAd2H4cV.mjs';\nimport { Provider as Provider$1 } from 'react-redux';\nimport * as React from 'react';\nimport { useEffect, Suspense, useCallback, useMemo, useState, forwardRef, memo } from 'react';\nimport { QueryClient, QueryClientProvider } from 'react-query';\nimport { ArrowLeft, WarningCircle, Duplicate, ArrowRight, Eye, EyeStriked, Cross, Filter, Plus, Search, CaretDown } from '@strapi/icons';\nimport { produce } from 'immer';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\nimport { EmptyPictures, EmptyDocuments } from '@strapi/icons/symbols';\nimport { u as useEnterprise } from './useEnterprise-BGzVPL4w.mjs';\nimport { i as isBaseQueryError, e as useInitQuery, a as adminApi, j as createAbsoluteUrl, k as getFetchClient } from './admin-DIy_Bn_0.mjs';\nimport camelCase from 'lodash/camelCase';\nimport * as yup from 'yup';\nimport { ValidationError } from 'yup';\nimport { generateNKeysBetween } from 'fractional-indexing';\nimport isEqual from 'lodash/isEqual';\nimport { getLocalTimeZone, parseAbsolute, toCalendarDate } from '@internationalized/date';\nimport omit from 'lodash/omit';\nimport { Formik, Form as Form$1 } from 'formik';\nimport { configureStore, isRejected, combineReducers } from '@reduxjs/toolkit';\nimport throttle from 'lodash/throttle';\nimport { stringify } from 'qs';\n\nconst __variableDynamicImportRuntimeHelper = (glob, path, segs) => {\n const v = glob[path];\n if (v) {\n return typeof v === 'function' ? v() : Promise.resolve(v);\n }\n return new Promise((_, reject) => {\n (typeof queueMicrotask === 'function' ? queueMicrotask : setTimeout)(reject.bind(null, new Error('Unknown variable dynamic import: ' +\n path +\n (path.split('/').length !== segs\n ? '. Note that variables only represent file names one level deep.'\n : ''))));\n });\n};\n\nconst ADMIN_PERMISSIONS_EE = {\n settings: {\n auditLogs: {\n main: [{ action: \"admin::audit-logs.read\", subject: null }],\n read: [{ action: \"admin::audit-logs.read\", subject: null }],\n update: [{ action: \"admin::audit-logs.update\", subject: null }]\n },\n \"review-workflows\": {\n main: [{ action: \"admin::review-workflows.read\", subject: null }],\n read: [{ action: \"admin::review-workflows.read\", subject: null }],\n create: [{ action: \"admin::review-workflows.create\", subject: null }],\n delete: [{ action: \"admin::review-workflows.delete\", subject: null }],\n update: [{ action: \"admin::review-workflows.update\", subject: null }]\n },\n sso: {\n main: [{ action: \"admin::provider-login.read\", subject: null }],\n read: [{ action: \"admin::provider-login.read\", subject: null }],\n update: [{ action: \"admin::provider-login.update\", subject: null }]\n },\n releases: {\n read: [\n {\n action: \"plugin::content-releases.settings.read\",\n subject: null\n }\n ],\n update: [\n {\n action: \"plugin::content-releases.settings.update\",\n subject: null\n }\n ]\n }\n }\n};\nconst getEERoutes$1 = () => window.strapi.isEE ? [\n {\n path: \"auth/login/:authResponse\",\n lazy: async () => {\n const { AuthResponse } = await import('./AuthResponse-BKpQdQAD.mjs');\n return {\n Component: AuthResponse\n };\n }\n }\n] : [];\nconst SETTINGS_LINKS_EE = () => ({\n global: [\n ...window.strapi.features.isEnabled(window.strapi.features.SSO) ? [\n {\n intlLabel: { id: \"Settings.sso.title\", defaultMessage: \"Single Sign-On\" },\n to: \"/settings/single-sign-on\",\n id: \"sso\"\n }\n ] : []\n ],\n admin: [\n ...window.strapi.features.isEnabled(window.strapi.features.AUDIT_LOGS) ? [\n {\n intlLabel: { id: \"global.auditLogs\", defaultMessage: \"Audit Logs\" },\n to: \"/settings/audit-logs?pageSize=50&page=1&sort=date:DESC\",\n id: \"auditLogs\"\n }\n ] : []\n ]\n});\n\nconst constants = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({\n __proto__: null,\n ADMIN_PERMISSIONS_EE,\n SETTINGS_LINKS_EE,\n getEERoutes: getEERoutes$1\n}, Symbol.toStringTag, { value: 'Module' }));\n\nconst StrapiLogo = \"data:image/svg+xml,%3csvg%20width='800'%20height='800'%20viewBox='0%200%20800%20800'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M39%20282c0-118%200-176.9%2036.6-213.5C112.2%2032%20171.1%2032%20288.9%2032h221.2c117.8%200%20176.7%200%20213.3%2036.6C760%20105.2%20760%20164.1%20760%20281.9v221.2c0%20117.8%200%20176.7-36.6%20213.3C686.8%20753%20627.9%20753%20510.1%20753H288.9c-117.8%200-176.7%200-213.3-36.6C39%20679.8%2039%20620.9%2039%20503.1V281.9Z'%20fill='%234945FF'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M536.4%20250.7H293.7v123.8h123.8v123.7h123.8V255.5c0-2.6-2.2-4.8-4.9-4.8Z'%20fill='%23fff'/%3e%3cpath%20fill='%23fff'%20d='M412.7%20374.5h4.8v4.8h-4.8z'/%3e%3cpath%20d='M293.8%20374.5h119c2.6%200%204.8%202.1%204.8%204.8v119h-119a4.8%204.8%200%200%201-4.8-4.9v-119Z'%20fill='%239593FF'/%3e%3cpath%20d='M417.5%20498.2h123.8L421.6%20618a2.4%202.4%200%200%201-4-1.7v-118ZM293.8%20374.5h-118a2.4%202.4%200%200%201-1.7-4.1l119.7-119.7v123.8Z'%20fill='%239593FF'/%3e%3c/svg%3e\";\n\nconst ADMIN_PERMISSIONS_CE = {\n contentManager: {\n main: [],\n collectionTypesConfigurations: [\n {\n action: \"plugin::content-manager.collection-types.configure-view\",\n subject: null\n }\n ],\n componentsConfigurations: [\n {\n action: \"plugin::content-manager.components.configure-layout\",\n subject: null\n }\n ],\n singleTypesConfigurations: [\n {\n action: \"plugin::content-manager.single-types.configure-view\",\n subject: null\n }\n ]\n },\n marketplace: {\n main: [{ action: \"admin::marketplace.read\", subject: null }],\n read: [{ action: \"admin::marketplace.read\", subject: null }]\n },\n settings: {\n roles: {\n main: [\n { action: \"admin::roles.create\", subject: null },\n { action: \"admin::roles.update\", subject: null },\n { action: \"admin::roles.read\", subject: null },\n { action: \"admin::roles.delete\", subject: null }\n ],\n create: [{ action: \"admin::roles.create\", subject: null }],\n delete: [{ action: \"admin::roles.delete\", subject: null }],\n read: [{ action: \"admin::roles.read\", subject: null }],\n update: [{ action: \"admin::roles.update\", subject: null }]\n },\n users: {\n main: [\n { action: \"admin::users.create\", subject: null },\n { action: \"admin::users.read\", subject: null },\n { action: \"admin::users.update\", subject: null },\n { action: \"admin::users.delete\", subject: null }\n ],\n create: [{ action: \"admin::users.create\", subject: null }],\n delete: [{ action: \"admin::users.delete\", subject: null }],\n read: [{ action: \"admin::users.read\", subject: null }],\n update: [{ action: \"admin::users.update\", subject: null }]\n },\n webhooks: {\n main: [\n { action: \"admin::webhooks.create\", subject: null },\n { action: \"admin::webhooks.read\", subject: null },\n { action: \"admin::webhooks.update\", subject: null },\n { action: \"admin::webhooks.delete\", subject: null }\n ],\n create: [{ action: \"admin::webhooks.create\", subject: null }],\n delete: [{ action: \"admin::webhooks.delete\", subject: null }],\n read: [\n { action: \"admin::webhooks.read\", subject: null },\n // NOTE: We need to check with the API\n { action: \"admin::webhooks.update\", subject: null },\n { action: \"admin::webhooks.delete\", subject: null }\n ],\n update: [{ action: \"admin::webhooks.update\", subject: null }]\n },\n \"api-tokens\": {\n main: [{ action: \"admin::api-tokens.access\", subject: null }],\n create: [{ action: \"admin::api-tokens.create\", subject: null }],\n delete: [{ action: \"admin::api-tokens.delete\", subject: null }],\n read: [{ action: \"admin::api-tokens.read\", subject: null }],\n update: [{ action: \"admin::api-tokens.update\", subject: null }],\n regenerate: [{ action: \"admin::api-tokens.regenerate\", subject: null }]\n },\n \"transfer-tokens\": {\n main: [{ action: \"admin::transfer.tokens.access\", subject: null }],\n create: [{ action: \"admin::transfer.tokens.create\", subject: null }],\n delete: [{ action: \"admin::transfer.tokens.delete\", subject: null }],\n read: [{ action: \"admin::transfer.tokens.read\", subject: null }],\n update: [{ action: \"admin::transfer.tokens.update\", subject: null }],\n regenerate: [{ action: \"admin::transfer.tokens.regenerate\", subject: null }]\n },\n \"project-settings\": {\n read: [{ action: \"admin::project-settings.read\", subject: null }],\n update: [{ action: \"admin::project-settings.update\", subject: null }]\n },\n plugins: {\n main: [{ action: \"admin::marketplace.read\", subject: null }],\n read: [{ action: \"admin::marketplace.read\", subject: null }]\n }\n }\n};\nconst HOOKS = {\n /**\n * Hook that allows to mutate the displayed headers of the list view table\n * @constant\n * @type {string}\n */\n INJECT_COLUMN_IN_TABLE: \"Admin/CM/pages/ListView/inject-column-in-table\",\n /**\n * Hook that allows to mutate the CM's collection types links pre-set filters\n * @constant\n * @type {string}\n */\n MUTATE_COLLECTION_TYPES_LINKS: \"Admin/CM/pages/App/mutate-collection-types-links\",\n /**\n * Hook that allows to mutate the CM's edit view layout\n * @constant\n * @type {string}\n */\n MUTATE_EDIT_VIEW_LAYOUT: \"Admin/CM/pages/EditView/mutate-edit-view-layout\",\n /**\n * Hook that allows to mutate the CM's single types links pre-set filters\n * @constant\n * @type {string}\n */\n MUTATE_SINGLE_TYPES_LINKS: \"Admin/CM/pages/App/mutate-single-types-links\"\n};\nconst SETTINGS_LINKS_CE = () => ({\n global: [\n {\n intlLabel: { id: \"Settings.application.title\", defaultMessage: \"Overview\" },\n to: \"/settings/application-infos\",\n id: \"000-application-infos\"\n },\n {\n intlLabel: { id: \"Settings.webhooks.title\", defaultMessage: \"Webhooks\" },\n to: \"/settings/webhooks\",\n id: \"webhooks\"\n },\n {\n intlLabel: { id: \"Settings.apiTokens.title\", defaultMessage: \"API Tokens\" },\n to: \"/settings/api-tokens?sort=name:ASC\",\n id: \"api-tokens\"\n },\n {\n intlLabel: { id: \"Settings.transferTokens.title\", defaultMessage: \"Transfer Tokens\" },\n to: \"/settings/transfer-tokens?sort=name:ASC\",\n id: \"transfer-tokens\"\n },\n {\n intlLabel: {\n id: \"global.plugins\",\n defaultMessage: \"Plugins\"\n },\n to: \"/settings/list-plugins\",\n id: \"plugins\"\n },\n // If the Enterprise/Cloud feature is not enabled and if the config doesn't disable it, we promote the Enterprise/Cloud feature by displaying them in the settings menu.\n // Disable this by adding \"promoteEE: false\" to your `./config/admin.js` file\n ...!window.strapi.features.isEnabled(window.strapi.features.SSO) && window.strapi?.flags?.promoteEE ? [\n {\n intlLabel: { id: \"Settings.sso.title\", defaultMessage: \"Single Sign-On\" },\n to: \"/settings/purchase-single-sign-on\",\n id: \"sso-purchase-page\",\n licenseOnly: true\n }\n ] : []\n ],\n admin: [\n {\n intlLabel: { id: \"global.roles\", defaultMessage: \"Roles\" },\n to: \"/settings/roles\",\n id: \"roles\"\n },\n {\n intlLabel: { id: \"global.users\", defaultMessage: \"Users\" },\n // Init the search params directly\n to: \"/settings/users?pageSize=10&page=1&sort=firstname\",\n id: \"users\"\n },\n ...!window.strapi.features.isEnabled(window.strapi.features.AUDIT_LOGS) && window.strapi?.flags?.promoteEE ? [\n {\n intlLabel: { id: \"global.auditLogs\", defaultMessage: \"Audit Logs\" },\n to: \"/settings/purchase-audit-logs\",\n id: \"auditLogs-purchase-page\",\n licenseOnly: true\n }\n ] : []\n ]\n});\n\nconst ALLOWED_TYPES = [\n \"biginteger\",\n \"boolean\",\n \"date\",\n \"datetime\",\n \"decimal\",\n \"email\",\n \"enumeration\",\n \"float\",\n \"integer\",\n \"json\",\n \"password\",\n \"richtext\",\n \"string\",\n \"text\",\n \"time\",\n \"uid\"\n];\nconst ALLOWED_ROOT_LEVEL_OPTIONS = [\n \"min\",\n \"minLength\",\n \"max\",\n \"maxLength\",\n \"required\",\n \"regex\",\n \"enum\",\n \"unique\",\n \"private\",\n \"default\"\n];\nclass CustomFields {\n customFields;\n constructor() {\n this.customFields = {};\n }\n register = (customFields) => {\n if (Array.isArray(customFields)) {\n customFields.forEach((customField) => {\n this.register(customField);\n });\n } else {\n const { name, pluginId, type, intlLabel, intlDescription, components, options } = customFields;\n invariant(name, \"A name must be provided\");\n invariant(type, \"A type must be provided\");\n invariant(intlLabel, \"An intlLabel must be provided\");\n invariant(intlDescription, \"An intlDescription must be provided\");\n invariant(components, \"A components object must be provided\");\n invariant(components.Input, \"An Input component must be provided\");\n invariant(\n ALLOWED_TYPES.includes(type),\n `Custom field type: '${type}' is not a valid Strapi type or it can't be used with a Custom Field`\n );\n const isValidObjectKey = /^(?![0-9])[a-zA-Z0-9$_-]+$/g;\n invariant(\n isValidObjectKey.test(name),\n `Custom field name: '${name}' is not a valid object key`\n );\n const allFormOptions = [...options?.base || [], ...options?.advanced || []];\n if (allFormOptions.length) {\n const optionPathValidations = allFormOptions.reduce(optionsValidationReducer, []);\n optionPathValidations.forEach(({ isValidOptionPath, errorMessage }) => {\n invariant(isValidOptionPath, errorMessage);\n });\n }\n const uid = pluginId ? `plugin::${pluginId}.${name}` : `global::${name}`;\n const uidAlreadyUsed = Object.prototype.hasOwnProperty.call(this.customFields, uid);\n invariant(!uidAlreadyUsed, `Custom field: '${uid}' has already been registered`);\n this.customFields[uid] = customFields;\n }\n };\n getAll = () => {\n return this.customFields;\n };\n get = (uid) => {\n return this.customFields[uid];\n };\n}\nconst optionsValidationReducer = (acc, option) => {\n if (\"items\" in option) {\n return option.items.reduce(optionsValidationReducer, acc);\n }\n if (!option.name) {\n acc.push({\n isValidOptionPath: false,\n errorMessage: \"The 'name' property is required on an options object\"\n });\n } else {\n acc.push({\n isValidOptionPath: option.name.startsWith(\"options\") || ALLOWED_ROOT_LEVEL_OPTIONS.includes(option.name),\n errorMessage: `'${option.name}' must be prefixed with 'options.'`\n });\n }\n return acc;\n};\n\nclass Plugin {\n apis;\n initializer;\n injectionZones;\n isReady;\n name;\n pluginId;\n constructor(pluginConf) {\n this.apis = pluginConf.apis || {};\n this.initializer = pluginConf.initializer || null;\n this.injectionZones = pluginConf.injectionZones || {};\n this.isReady = pluginConf.isReady !== void 0 ? pluginConf.isReady : true;\n this.name = pluginConf.name;\n this.pluginId = pluginConf.id;\n }\n getInjectedComponents(containerName, blockName) {\n try {\n return this.injectionZones[containerName][blockName] || [];\n } catch (err) {\n console.error(\"Cannot get injected component\", err);\n return [];\n }\n }\n injectComponent(containerName, blockName, component) {\n try {\n this.injectionZones[containerName][blockName].push(component);\n } catch (err) {\n console.error(\"Cannot inject component\", err);\n }\n }\n}\n\nconst [Provider, useHistory] = createContext(\"History\", {\n history: [],\n currentLocationIndex: 0,\n currentLocation: \"\",\n canGoBack: false,\n pushState: () => {\n throw new Error(\"You must use the `HistoryProvider` to access the `pushState` function.\");\n },\n goBack: () => {\n throw new Error(\"You must use the `HistoryProvider` to access the `goBack` function.\");\n }\n});\nconst HistoryProvider = ({ children }) => {\n const location = useLocation();\n const navigate = useNavigate();\n const [state, dispatch] = React.useReducer(reducer$1, {\n history: [],\n currentLocationIndex: 0,\n currentLocation: \"\",\n canGoBack: false\n });\n const isGoingBack = React.useRef(false);\n const pushState = React.useCallback((path) => {\n dispatch({\n type: \"PUSH_STATE\",\n payload: typeof path === \"string\" ? { to: path, search: \"\" } : path\n });\n }, []);\n const goBack = React.useCallback(() => {\n navigate(-1);\n dispatch({ type: \"GO_BACK\" });\n isGoingBack.current = true;\n }, [navigate]);\n const prevIndex = React.useRef(state.currentLocationIndex);\n React.useEffect(() => {\n if (state.currentLocationIndex !== prevIndex.current) {\n dispatch({\n type: \"SET_CAN_GO_BACK\",\n payload: state.currentLocationIndex > 1 && state.history.length > 1\n });\n prevIndex.current = state.currentLocationIndex;\n }\n }, [prevIndex, state.currentLocationIndex, state.history.length]);\n React.useLayoutEffect(() => {\n if (isGoingBack.current) {\n isGoingBack.current = false;\n } else {\n dispatch({\n type: \"PUSH_STATE\",\n payload: { to: location.pathname, search: location.search }\n });\n }\n }, [dispatch, location.pathname, location.search]);\n return /* @__PURE__ */ jsx(Provider, { pushState, goBack, ...state, children });\n};\nconst reducer$1 = (state, action) => produce(state, (draft) => {\n switch (action.type) {\n case \"PUSH_STATE\": {\n const path = `${action.payload.to}${action.payload.search}`;\n if (state.currentLocationIndex === state.history.length) {\n draft.history = [...state.history, path];\n } else {\n draft.history = [...state.history.slice(0, state.currentLocationIndex), path];\n }\n draft.currentLocation = path;\n draft.currentLocationIndex += 1;\n break;\n }\n case \"GO_BACK\": {\n const newIndex = state.currentLocationIndex - 1;\n draft.currentLocation = state.history[newIndex - 1];\n draft.currentLocationIndex = newIndex;\n break;\n }\n case \"SET_CAN_GO_BACK\": {\n draft.canGoBack = action.payload;\n break;\n }\n }\n});\nconst BackButton = React.forwardRef(({ disabled }, ref) => {\n const { formatMessage } = useIntl();\n const canGoBack = useHistory(\"BackButton\", (state) => state.canGoBack);\n const goBack = useHistory(\"BackButton\", (state) => state.goBack);\n const history = useHistory(\"BackButton\", (state) => state.history);\n const handleClick = (e) => {\n e.preventDefault();\n goBack();\n };\n return /* @__PURE__ */ jsx(\n Link,\n {\n ref,\n tag: NavLink,\n to: history.at(-1) ?? \"\",\n onClick: handleClick,\n disabled: disabled || !canGoBack,\n \"aria-disabled\": disabled || !canGoBack,\n startIcon: /* @__PURE__ */ jsx(ArrowLeft, {}),\n children: formatMessage({\n id: \"global.back\",\n defaultMessage: \"Back\"\n })\n }\n );\n});\n\nconst queryClient = new QueryClient({\n defaultOptions: {\n queries: {\n refetchOnWindowFocus: false\n }\n }\n});\nconst Providers = ({ children, strapi, store }) => {\n return /* @__PURE__ */ jsx(\n StrapiAppProvider,\n {\n components: strapi.library.components,\n customFields: strapi.customFields,\n fields: strapi.library.fields,\n menu: strapi.router.menu,\n getAdminInjectedComponents: strapi.getAdminInjectedComponents,\n getPlugin: strapi.getPlugin,\n plugins: strapi.plugins,\n rbac: strapi.rbac,\n runHookParallel: strapi.runHookParallel,\n runHookWaterfall: (name, initialValue) => strapi.runHookWaterfall(name, initialValue, store),\n runHookSeries: strapi.runHookSeries,\n settings: strapi.router.settings,\n children: /* @__PURE__ */ jsx(Provider$1, { store, children: /* @__PURE__ */ jsx(QueryClientProvider, { client: queryClient, children: /* @__PURE__ */ jsx(AuthProvider, { children: /* @__PURE__ */ jsx(HistoryProvider, { children: /* @__PURE__ */ jsx(LanguageProvider, { messages: strapi.configurations.translations, children: /* @__PURE__ */ jsx(Theme, { themes: strapi.configurations.themes, children: /* @__PURE__ */ jsx(NotificationsProvider, { children: /* @__PURE__ */ jsx(TrackingProvider, { children: /* @__PURE__ */ jsx(GuidedTourProvider, { children: /* @__PURE__ */ jsx(\n ConfigurationProvider,\n {\n defaultAuthLogo: strapi.configurations.authLogo,\n defaultMenuLogo: strapi.configurations.menuLogo,\n showTutorials: strapi.configurations.tutorials,\n showReleaseNotification: strapi.configurations.notifications.releases,\n children\n }\n ) }) }) }) }) }) }) }) }) })\n }\n );\n};\n\nconst App = ({ strapi, store }) => {\n useEffect(() => {\n const language = localStorage.getItem(LANGUAGE_LOCAL_STORAGE_KEY) || \"en\";\n if (language) {\n document.documentElement.lang = language;\n }\n }, []);\n return /* @__PURE__ */ jsx(Providers, { strapi, store, children: /* @__PURE__ */ jsx(Suspense, { fallback: /* @__PURE__ */ jsx(Page.Loading, {}), children: /* @__PURE__ */ jsx(Outlet, {}) }) });\n};\n\nconst useClipboard = () => {\n const copy = useCallback(async (value) => {\n try {\n if (typeof value !== \"string\" && typeof value !== \"number\") {\n throw new Error(\n `Cannot copy typeof ${typeof value} to clipboard, must be a string or number`\n );\n } else if (value === \"\") {\n throw new Error(`Cannot copy empty string to clipboard.`);\n }\n const stringifiedValue = value.toString();\n await navigator.clipboard.writeText(stringifiedValue);\n return true;\n } catch (error) {\n if (process.env.NODE_ENV === \"development\") {\n console.warn(\"Copy failed\", error);\n }\n return false;\n }\n }, []);\n return { copy };\n};\n\nconst ErrorElement = () => {\n const error = useRouteError();\n const { formatMessage } = useIntl();\n const { copy } = useClipboard();\n if (error instanceof Error) {\n console.error(error);\n const handleClick = async () => {\n await copy(`\n\\`\\`\\`\n${error.stack}\n\\`\\`\\`\n `);\n };\n return /* @__PURE__ */ jsx(Main, { height: \"100%\", children: /* @__PURE__ */ jsx(Flex, { alignItems: \"center\", height: \"100%\", justifyContent: \"center\", children: /* @__PURE__ */ jsxs(\n Flex,\n {\n gap: 7,\n padding: 7,\n direction: \"column\",\n width: \"35%\",\n shadow: \"tableShadow\",\n borderColor: \"neutral150\",\n background: \"neutral0\",\n hasRadius: true,\n maxWidth: \"512px\",\n children: [\n /* @__PURE__ */ jsxs(Flex, { direction: \"column\", gap: 2, children: [\n /* @__PURE__ */ jsx(WarningCircle, { width: \"32px\", height: \"32px\", fill: \"danger600\" }),\n /* @__PURE__ */ jsx(Typography, { fontSize: 4, fontWeight: \"bold\", textAlign: \"center\", children: formatMessage({\n id: \"app.error\",\n defaultMessage: \"Something went wrong\"\n }) }),\n /* @__PURE__ */ jsx(Typography, { variant: \"omega\", textAlign: \"center\", children: formatMessage(\n {\n id: \"app.error.message\",\n defaultMessage: `It seems like there is a bug in your instance, but we've got you covered. Please notify your technical team so they can investigate the source of the problem and report the issue to us by opening a bug report on {link}.`\n },\n {\n link: /* @__PURE__ */ jsx(\n Link,\n {\n isExternal: true,\n endIcon: true,\n href: \"https://github.com/strapi/strapi/issues/new?assignees=&labels=&projects=&template=BUG_REPORT.md\",\n children: `Strapi's GitHub`\n }\n )\n }\n ) })\n ] }),\n /* @__PURE__ */ jsxs(Flex, { gap: 4, direction: \"column\", width: \"100%\", children: [\n /* @__PURE__ */ jsx(StyledAlert, { onClose: () => {\n }, width: \"100%\", closeLabel: \"\", variant: \"danger\", children: /* @__PURE__ */ jsx(ErrorType, { children: error.message }) }),\n /* @__PURE__ */ jsx(Button, { onClick: handleClick, variant: \"tertiary\", startIcon: /* @__PURE__ */ jsx(Duplicate, {}), children: formatMessage({\n id: \"app.error.copy\",\n defaultMessage: \"Copy to clipboard\"\n }) })\n ] })\n ]\n }\n ) }) });\n }\n throw error;\n};\nconst StyledAlert = styled(Alert)`\n & > div:first-child {\n display: none;\n }\n\n & > button {\n display: none;\n }\n`;\nconst ErrorType = styled(Typography)`\n word-break: break-all;\n color: ${({ theme }) => theme.colors.danger600};\n`;\n\nconst ActionLayout = ({ startActions, endActions }) => {\n if (!startActions && !endActions) {\n return null;\n }\n return /* @__PURE__ */ jsxs(\n Flex,\n {\n justifyContent: \"space-between\",\n alignItems: \"flex-start\",\n paddingBottom: 4,\n paddingLeft: 10,\n paddingRight: 10,\n children: [\n /* @__PURE__ */ jsx(Flex, { gap: 2, wrap: \"wrap\", children: startActions }),\n /* @__PURE__ */ jsx(Flex, { gap: 2, shrink: 0, wrap: \"wrap\", children: endActions })\n ]\n }\n );\n};\n\nconst ContentLayout = ({ children }) => {\n return /* @__PURE__ */ jsx(Box, { paddingLeft: 10, paddingRight: 10, children });\n};\n\nconst GridColSize = {\n S: 180,\n M: 250\n};\nconst StyledGrid = styled(Box)`\n display: grid;\n grid-template-columns: repeat(\n auto-fit,\n minmax(${({ $size }) => `${GridColSize[$size]}px`}, 1fr)\n );\n grid-gap: ${({ theme }) => theme.spaces[4]};\n`;\nconst GridLayout = ({ size, children }) => {\n return /* @__PURE__ */ jsx(StyledGrid, { $size: size, children });\n};\n\nconst BaseHeaderLayout = React.forwardRef(\n ({ navigationAction, primaryAction, secondaryAction, subtitle, title, sticky, width, ...props }, ref) => {\n const isSubtitleString = typeof subtitle === \"string\";\n if (sticky) {\n return /* @__PURE__ */ jsx(\n Box,\n {\n paddingLeft: 6,\n paddingRight: 6,\n paddingTop: 3,\n paddingBottom: 3,\n position: \"fixed\",\n top: 0,\n right: 0,\n background: \"neutral0\",\n shadow: \"tableShadow\",\n width: `${width}px`,\n zIndex: 1,\n \"data-strapi-header-sticky\": true,\n children: /* @__PURE__ */ jsxs(Flex, { justifyContent: \"space-between\", children: [\n /* @__PURE__ */ jsxs(Flex, { children: [\n navigationAction && /* @__PURE__ */ jsx(Box, { paddingRight: 3, children: navigationAction }),\n /* @__PURE__ */ jsxs(Box, { children: [\n /* @__PURE__ */ jsx(Typography, { variant: \"beta\", tag: \"h1\", ...props, children: title }),\n isSubtitleString ? /* @__PURE__ */ jsx(Typography, { variant: \"pi\", textColor: \"neutral600\", children: subtitle }) : subtitle\n ] }),\n secondaryAction ? /* @__PURE__ */ jsx(Box, { paddingLeft: 4, children: secondaryAction }) : null\n ] }),\n /* @__PURE__ */ jsx(Flex, { children: primaryAction ? /* @__PURE__ */ jsx(Box, { paddingLeft: 2, children: primaryAction }) : void 0 })\n ] })\n }\n );\n }\n return /* @__PURE__ */ jsxs(\n Box,\n {\n ref,\n paddingLeft: 10,\n paddingRight: 10,\n paddingBottom: 8,\n paddingTop: navigationAction ? 6 : 8,\n background: \"neutral100\",\n \"data-strapi-header\": true,\n children: [\n navigationAction ? /* @__PURE__ */ jsx(Box, { paddingBottom: 2, children: navigationAction }) : null,\n /* @__PURE__ */ jsxs(Flex, { justifyContent: \"space-between\", children: [\n /* @__PURE__ */ jsxs(Flex, { minWidth: 0, children: [\n /* @__PURE__ */ jsx(Typography, { tag: \"h1\", variant: \"alpha\", ...props, children: title }),\n secondaryAction ? /* @__PURE__ */ jsx(Box, { paddingLeft: 4, children: secondaryAction }) : null\n ] }),\n primaryAction\n ] }),\n isSubtitleString ? /* @__PURE__ */ jsx(Typography, { variant: \"epsilon\", textColor: \"neutral600\", tag: \"p\", children: subtitle }) : subtitle\n ]\n }\n );\n }\n);\nconst HeaderLayout = (props) => {\n const baseHeaderLayoutRef = React.useRef(null);\n const [headerSize, setHeaderSize] = React.useState(null);\n const [containerRef, isVisible] = useElementOnScreen({\n root: null,\n rootMargin: \"0px\",\n threshold: 0\n });\n useResizeObserver(containerRef, () => {\n if (containerRef.current) {\n setHeaderSize(containerRef.current.getBoundingClientRect());\n }\n });\n React.useEffect(() => {\n if (baseHeaderLayoutRef.current) {\n setHeaderSize(baseHeaderLayoutRef.current.getBoundingClientRect());\n }\n }, [baseHeaderLayoutRef]);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\"div\", { style: { height: headerSize?.height }, ref: containerRef, children: isVisible && /* @__PURE__ */ jsx(BaseHeaderLayout, { ref: baseHeaderLayoutRef, ...props }) }),\n !isVisible && /* @__PURE__ */ jsx(BaseHeaderLayout, { ...props, sticky: true, width: headerSize?.width })\n ] });\n};\nHeaderLayout.displayName = \"HeaderLayout\";\nconst useElementOnScreen = (options) => {\n const containerRef = React.useRef(null);\n const [isVisible, setIsVisible] = React.useState(true);\n const callback = ([entry]) => {\n setIsVisible(entry.isIntersecting);\n };\n React.useEffect(() => {\n const containerEl = containerRef.current;\n const observer = new IntersectionObserver(callback, options);\n if (containerEl) {\n observer.observe(containerRef.current);\n }\n return () => {\n if (containerEl) {\n observer.disconnect();\n }\n };\n }, [containerRef, options]);\n return [containerRef, isVisible];\n};\nconst useResizeObserver = (sources, onResize) => {\n const handleResize = useCallbackRef(onResize);\n React.useLayoutEffect(() => {\n const resizeObs = new ResizeObserver(handleResize);\n if (Array.isArray(sources)) {\n sources.forEach((source) => {\n if (source.current) {\n resizeObs.observe(source.current);\n }\n });\n } else if (sources.current) {\n resizeObs.observe(sources.current);\n }\n return () => {\n resizeObs.disconnect();\n };\n }, [sources, handleResize]);\n};\n\nconst GridContainer = styled(Box)`\n display: grid;\n grid-template-columns: ${({ $hasSideNav }) => $hasSideNav ? `auto 1fr` : \"1fr\"};\n`;\nconst OverflowingItem = styled(Box)`\n overflow-x: hidden;\n`;\nconst RootLayout = ({ sideNav, children }) => {\n return /* @__PURE__ */ jsxs(GridContainer, { $hasSideNav: Boolean(sideNav), children: [\n sideNav,\n /* @__PURE__ */ jsx(OverflowingItem, { paddingBottom: 10, children })\n ] });\n};\nconst Layouts = {\n Root: RootLayout,\n Header: HeaderLayout,\n BaseHeader: BaseHeaderLayout,\n Grid: GridLayout,\n Action: ActionLayout,\n Content: ContentLayout\n};\n\nconst NotFoundPage = () => {\n const { formatMessage } = useIntl();\n return /* @__PURE__ */ jsxs(Page.Main, { labelledBy: \"title\", children: [\n /* @__PURE__ */ jsx(\n Layouts.Header,\n {\n id: \"title\",\n title: formatMessage({\n id: \"content-manager.pageNotFound\",\n defaultMessage: \"Page not found\"\n })\n }\n ),\n /* @__PURE__ */ jsx(Layouts.Content, { children: /* @__PURE__ */ jsx(\n EmptyStateLayout,\n {\n action: /* @__PURE__ */ jsx(LinkButton, { tag: Link$1, variant: \"secondary\", endIcon: /* @__PURE__ */ jsx(ArrowRight, {}), to: \"/\", children: formatMessage({\n id: \"app.components.NotFoundPage.back\",\n defaultMessage: \"Back to homepage\"\n }) }),\n content: formatMessage({\n id: \"app.page.not.found\",\n defaultMessage: \"Oops! We can't seem to find the page you're looging for...\"\n }),\n hasRadius: true,\n icon: /* @__PURE__ */ jsx(EmptyPictures, { width: \"16rem\" }),\n shadow: \"tableShadow\"\n }\n ) })\n ] });\n};\n\nconst getEERoutes = () => [\n ...window.strapi.features.isEnabled(window.strapi.features.AUDIT_LOGS) ? [\n {\n path: \"audit-logs\",\n lazy: async () => {\n const { ProtectedListPage } = await import('./ListPage-DOC6rUKN.mjs');\n return {\n Component: ProtectedListPage\n };\n }\n }\n ] : [],\n ...window.strapi.features.isEnabled(window.strapi.features.SSO) ? [\n {\n path: \"single-sign-on\",\n lazy: async () => {\n const { ProtectedSSO } = await import('./SingleSignOnPage-DtLncLSG.mjs');\n return {\n Component: ProtectedSSO\n };\n }\n }\n ] : []\n];\n\nconst ERR_MSG = \"The Form Component has not been initialised, ensure you are using this hook within a Form component\";\nconst [FormProvider, useForm] = createContext(\"Form\", {\n disabled: false,\n errors: {},\n initialValues: {},\n isSubmitting: false,\n modified: false,\n addFieldRow: () => {\n throw new Error(ERR_MSG);\n },\n moveFieldRow: () => {\n throw new Error(ERR_MSG);\n },\n onChange: () => {\n throw new Error(ERR_MSG);\n },\n removeFieldRow: () => {\n throw new Error(ERR_MSG);\n },\n resetForm: () => {\n throw new Error(ERR_MSG);\n },\n setErrors: () => {\n throw new Error(ERR_MSG);\n },\n setValues: () => {\n throw new Error(ERR_MSG);\n },\n setSubmitting: () => {\n throw new Error(ERR_MSG);\n },\n validate: async () => {\n throw new Error(ERR_MSG);\n },\n values: {}\n});\nconst Form = React.forwardRef(\n ({ disabled = false, method, onSubmit, initialErrors, ...props }, ref) => {\n const formRef = React.useRef(null);\n const initialValues = React.useRef(props.initialValues ?? {});\n const [state, dispatch] = React.useReducer(reducer, {\n errors: initialErrors ?? {},\n isSubmitting: false,\n values: props.initialValues ?? {}\n });\n React.useEffect(() => {\n if (!isEqual(initialValues.current, props.initialValues)) {\n initialValues.current = props.initialValues ?? {};\n dispatch({\n type: \"SET_INITIAL_VALUES\",\n payload: props.initialValues ?? {}\n });\n }\n }, [props.initialValues]);\n const setErrors = React.useCallback((errors) => {\n dispatch({\n type: \"SET_ERRORS\",\n payload: errors\n });\n }, []);\n const setValues = React.useCallback((values) => {\n dispatch({\n type: \"SET_VALUES\",\n payload: values\n });\n }, []);\n React.useEffect(() => {\n if (Object.keys(state.errors).length === 0)\n return;\n const ref2 = setTimeout(() => {\n const [firstError] = formRef.current.querySelectorAll(\"[data-strapi-field-error]\");\n if (firstError) {\n const errorId = firstError.getAttribute(\"id\");\n const formElementInError = formRef.current.querySelector(\n `[aria-describedby=\"${errorId}\"]`\n );\n if (formElementInError && formElementInError instanceof HTMLElement) {\n formElementInError.focus();\n }\n }\n });\n return () => clearTimeout(ref2);\n }, [state.errors]);\n const validate = React.useCallback(\n async (shouldSetErrors = true, options = {}) => {\n setErrors({});\n if (!props.validationSchema && !props.validate) {\n return { data: state.values };\n }\n try {\n let data;\n if (props.validationSchema) {\n data = await props.validationSchema.validate(state.values, { abortEarly: false });\n } else if (props.validate) {\n data = await props.validate(state.values, options);\n } else {\n throw new Error(\"No validation schema or validate function provided\");\n }\n return { data };\n } catch (err) {\n if (isErrorYupValidationError(err)) {\n const errors = getYupValidationErrors(err);\n if (shouldSetErrors) {\n setErrors(errors);\n }\n return { errors };\n } else {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\n `Warning: An unhandled error was caught during validation in <Form validationSchema />`,\n err\n );\n }\n throw err;\n }\n }\n },\n [props, setErrors, state.values]\n );\n const handleSubmit = async (e) => {\n e.stopPropagation();\n e.preventDefault();\n if (!onSubmit) {\n return;\n }\n dispatch({\n type: \"SUBMIT_ATTEMPT\"\n });\n try {\n const { data, errors } = await validate();\n if (errors) {\n setErrors(errors);\n throw new Error(\"Submission failed\");\n }\n await onSubmit(data, {\n setErrors,\n setValues,\n resetForm\n });\n dispatch({\n type: \"SUBMIT_SUCCESS\"\n });\n } catch (err) {\n dispatch({\n type: \"SUBMIT_FAILURE\"\n });\n if (err instanceof Error && err.message === \"Submission failed\") {\n return;\n }\n }\n };\n const modified = React.useMemo(\n () => !isEqual(initialValues.current, state.values),\n [state.values]\n );\n const handleChange = useCallbackRef((eventOrPath, v) => {\n if (typeof eventOrPath === \"string\") {\n dispatch({\n type: \"SET_FIELD_VALUE\",\n payload: {\n field: eventOrPath,\n value: v\n }\n });\n return;\n }\n const target = eventOrPath.target || eventOrPath.currentTarget;\n const { type, name, id, value, options, multiple } = target;\n const field = name || id;\n if (!field && process.env.NODE_ENV !== \"production\") {\n console.warn(\n `\\`onChange\\` was called with an event, but you forgot to pass a \\`name\\` or \\`id'\\` attribute to your input. The field to update cannot be determined`\n );\n }\n let val;\n if (/number|range/.test(type)) {\n const parsed = parseFloat(value);\n val = isNaN(parsed) ? \"\" : parsed;\n } else if (/checkbox/.test(type)) {\n val = !getIn(state.values, field);\n } else if (options && multiple) {\n val = Array.from(options).filter((el) => el.selected).map((el) => el.value);\n } else {\n if (value === \"\") {\n val = null;\n } else {\n val = value;\n }\n }\n if (field) {\n dispatch({\n type: \"SET_FIELD_VALUE\",\n payload: {\n field,\n value: val\n }\n });\n }\n });\n const addFieldRow = React.useCallback(\n (field, value, addAtIndex) => {\n dispatch({\n type: \"ADD_FIELD_ROW\",\n payload: {\n field,\n value,\n addAtIndex\n }\n });\n },\n []\n );\n const removeFieldRow = React.useCallback(\n (field, removeAtIndex) => {\n dispatch({\n type: \"REMOVE_FIELD_ROW\",\n payload: {\n field,\n removeAtIndex\n }\n });\n },\n []\n );\n const moveFieldRow = React.useCallback(\n (field, fromIndex, toIndex) => {\n dispatch({\n type: \"MOVE_FIELD_ROW\",\n payload: {\n field,\n fromIndex,\n toIndex\n }\n });\n },\n []\n );\n const resetForm = React.useCallback(() => {\n dispatch({\n type: \"RESET_FORM\",\n payload: {\n errors: {},\n isSubmitting: false,\n values: initialValues.current\n }\n });\n }, []);\n const setSubmitting = React.useCallback((isSubmitting) => {\n dispatch({ type: \"SET_ISSUBMITTING\", payload: isSubmitting });\n }, []);\n const composedRefs = useComposedRefs(formRef, ref);\n return /* @__PURE__ */ jsx(\"form\", { ref: composedRefs, method, noValidate: true, onSubmit: handleSubmit, children: /* @__PURE__ */ jsx(\n FormProvider,\n {\n disabled,\n onChange: handleChange,\n initialValues: initialValues.current,\n modified,\n addFieldRow,\n moveFieldRow,\n removeFieldRow,\n resetForm,\n setErrors,\n setValues,\n setSubmitting,\n validate,\n ...state,\n children: typeof props.children === \"function\" ? props.children({\n modified,\n disabled,\n onChange: handleChange,\n ...state,\n setErrors,\n resetForm\n }) : props.children\n }\n ) });\n }\n);\nconst isErrorYupValidationError = (err) => typeof err === \"object\" && err !== null && \"name\" in err && typeof err.name === \"string\" && err.name === \"ValidationError\";\nconst getYupValidationErrors = (err) => {\n let errors = {};\n if (err.inner) {\n if (err.inner.length === 0) {\n return setIn(errors, err.path, err.message);\n }\n for (const error of err.inner) {\n if (!getIn(errors, error.path)) {\n errors = setIn(errors, error.path, error.message);\n }\n }\n }\n return errors;\n};\nconst reducer = (state, action) => produce(state, (draft) => {\n switch (action.type) {\n case \"SET_INITIAL_VALUES\":\n draft.values = action.payload;\n break;\n case \"SET_VALUES\":\n draft.values = action.payload;\n break;\n case \"SUBMIT_ATTEMPT\":\n draft.isSubmitting = true;\n break;\n case \"SUBMIT_FAILURE\":\n draft.isSubmitting = false;\n break;\n case \"SUBMIT_SUCCESS\":\n draft.isSubmitting = false;\n break;\n case \"SET_FIELD_VALUE\":\n draft.values = setIn(state.values, action.payload.field, action.payload.value);\n break;\n case \"ADD_FIELD_ROW\": {\n const currentField = getIn(state.values, action.payload.field, []);\n let position = action.payload.addAtIndex;\n if (position === void 0) {\n position = currentField.length;\n } else if (position < 0) {\n position = 0;\n }\n const [key] = generateNKeysBetween(\n currentField.at(position - 1)?.__temp_key__,\n currentField.at(position)?.__temp_key__,\n 1\n );\n draft.values = setIn(\n state.values,\n action.payload.field,\n setIn(currentField, position.toString(), { ...action.payload.value, __temp_key__: key })\n );\n break;\n }\n case \"MOVE_FIELD_ROW\": {\n const { field, fromIndex, toIndex } = action.payload;\n const currentField = [...getIn(state.values, field, [])];\n const currentRow = currentField[fromIndex];\n const startKey = fromIndex > toIndex ? currentField[toIndex - 1]?.__temp_key__ : currentField[toIndex]?.__temp_key__;\n const endKey = fromIndex > toIndex ? currentField[toIndex]?.__temp_key__ : currentField[toIndex + 1]?.__temp_key__;\n const [newKey] = generateNKeysBetween(startKey, endKey, 1);\n currentField.splice(fromIndex, 1);\n currentField.splice(toIndex, 0, { ...currentRow, __temp_key__: newKey });\n draft.values = setIn(state.values, field, currentField);\n break;\n }\n case \"REMOVE_FIELD_ROW\": {\n const currentField = getIn(state.values, action.payload.field, []);\n let position = action.payload.removeAtIndex;\n if (position === void 0) {\n position = currentField.length - 1;\n } else if (position < 0) {\n position = 0;\n }\n const newValue = setIn(currentField, position.toString(), void 0).filter(\n (val) => val\n );\n draft.values = setIn(\n state.values,\n action.payload.field,\n newValue.length > 0 ? newValue : []\n );\n break;\n }\n case \"SET_ERRORS\":\n if (!isEqual(state.errors, action.payload)) {\n draft.errors = action.payload;\n }\n break;\n case \"SET_ISSUBMITTING\":\n draft.isSubmitting = action.payload;\n break;\n case \"RESET_FORM\":\n draft.values = action.payload.values;\n draft.errors = action.payload.errors;\n draft.isSubmitting = action.payload.isSubmitting;\n break;\n }\n});\nconst useField = (path) => {\n const { formatMessage } = useIntl();\n const initialValue = useForm(\n \"useField\",\n (state) => getIn(state.initialValues, path)\n );\n const value = useForm(\n \"useField\",\n (state) => getIn(state.values, path)\n );\n const handleChange = useForm(\"useField\", (state) => state.onChange);\n const rawError = useForm(\"useField\", (state) => getIn(state.errors, path));\n const error = useForm(\"useField\", (state) => {\n const error2 = getIn(state.errors, path);\n if (isErrorMessageDescriptor(error2)) {\n const { values, ...message } = error2;\n return formatMessage(message, values);\n }\n return error2;\n });\n return {\n initialValue,\n /**\n * Errors can be a string, or a MessageDescriptor, so we need to handle both cases.\n * If it's anything else, we don't return it.\n */\n rawError,\n error: isErrorMessageDescriptor(error) ? formatMessage(\n {\n id: error.id,\n defaultMessage: error.defaultMessage\n },\n error.values\n ) : typeof error === \"string\" ? error : void 0,\n onChange: handleChange,\n value\n };\n};\nconst isErrorMessageDescriptor = (object) => {\n return typeof object === \"object\" && object !== null && !Array.isArray(object) && \"id\" in object && \"defaultMessage\" in object;\n};\nconst Blocker = ({ onProceed = () => {\n}, onCancel = () => {\n} }) => {\n const { formatMessage } = useIntl();\n const modified = useForm(\"Blocker\", (state) => state.modified);\n const isSubmitting = useForm(\"Blocker\", (state) => state.isSubmitting);\n const blocker = useBlocker(({ currentLocation, nextLocation }) => {\n return !isSubmitting && modified && (currentLocation.pathname !== nextLocation.pathname || currentLocation.search !== nextLocation.search);\n });\n if (blocker.state === \"blocked\") {\n const handleCancel = (isOpen) => {\n if (!isOpen) {\n onCancel();\n blocker.reset();\n }\n };\n return /* @__PURE__ */ jsx(Dialog.Root, { open: true, onOpenChange: handleCancel, children: /* @__PURE__ */ jsxs(Dialog.Content, { children: [\n /* @__PURE__ */ jsx(Dialog.Header, { children: formatMessage({\n id: \"app.components.ConfirmDialog.title\",\n defaultMessage: \"Confirmation\"\n }) }),\n /* @__PURE__ */ jsx(Dialog.Body, { icon: /* @__PURE__ */ jsx(WarningCircle, { width: \"24px\", height: \"24px\", fill: \"danger600\" }), children: formatMessage({\n id: \"global.prompt.unsaved\",\n defaultMessage: \"You have unsaved changes, are you sure you want to leave?\"\n }) }),\n /* @__PURE__ */ jsxs(Dialog.Footer, { children: [\n /* @__PURE__ */ jsx(Dialog.Cancel, { children: /* @__PURE__ */ jsx(Button, { variant: \"tertiary\", children: formatMessage({\n id: \"app.components.Button.cancel\",\n defaultMessage: \"Cancel\"\n }) }) }),\n /* @__PURE__ */ jsx(\n Button,\n {\n onClick: () => {\n onProceed();\n blocker.proceed();\n },\n variant: \"danger\",\n children: formatMessage({\n id: \"app.components.Button.confirm\",\n defaultMessage: \"Confirm\"\n })\n }\n )\n ] })\n ] }) });\n }\n return null;\n};\n\nconst useFocusInputField = (name) => {\n const { search: searchString } = useLocation();\n const search = useMemo(() => new URLSearchParams(searchString), [searchString]);\n const [field, setField] = useState(null);\n useEffect(() => {\n if (search.has(\"field\") && search.get(\"field\") === name && field) {\n field.focus();\n field.scrollIntoView({\n block: \"center\"\n });\n }\n }, [search, name, field]);\n return setField;\n};\n\nconst BooleanInput = forwardRef(\n ({ name, required, label, hint, labelAction, ...props }, ref) => {\n const { formatMessage } = useIntl();\n const field = useField(name);\n const fieldRef = useFocusInputField(name);\n const composedRefs = useComposedRefs(ref, fieldRef);\n return /* @__PURE__ */ jsxs(Field.Root, { error: field.error, name, hint, required, maxWidth: \"320px\", children: [\n /* @__PURE__ */ jsx(Field.Label, { action: labelAction, children: label }),\n /* @__PURE__ */ jsx(\n Toggle,\n {\n ref: composedRefs,\n checked: field.value === null ? null : field.value || false,\n offLabel: formatMessage({\n id: \"app.components.ToggleCheckbox.off-label\",\n defaultMessage: \"False\"\n }),\n onLabel: formatMessage({\n id: \"app.components.ToggleCheckbox.on-label\",\n defaultMessage: \"True\"\n }),\n onChange: field.onChange,\n ...props\n }\n ),\n /* @__PURE__ */ jsx(Field.Hint, {}),\n /* @__PURE__ */ jsx(Field.Error, {})\n ] });\n }\n);\nconst MemoizedBooleanInput = memo(BooleanInput);\n\nconst CheckboxInput = forwardRef(\n ({ name, required, label, hint, type: _type, ...props }, ref) => {\n const field = useField(name);\n const fieldRef = useFocusInputField(name);\n const composedRefs = useComposedRefs(ref, fieldRef);\n return /* @__PURE__ */ jsxs(Field.Root, { error: field.error, name, hint, required, children: [\n /* @__PURE__ */ jsx(\n Checkbox,\n {\n onCheckedChange: (checked) => field.onChange(name, !!checked),\n ref: composedRefs,\n checked: field.value,\n ...props,\n children: label || props[\"aria-label\"]\n }\n ),\n /* @__PURE__ */ jsx(Field.Hint, {}),\n /* @__PURE__ */ jsx(Field.Error, {})\n ] });\n }\n);\nconst MemoizedCheckboxInput = memo(CheckboxInput);\n\nconst DateInput = forwardRef(\n ({ name, required, label, hint, labelAction, type: _type, ...props }, ref) => {\n const { formatMessage } = useIntl();\n const field = useField(name);\n const fieldRef = useFocusInputField(name);\n const composedRefs = useComposedRefs(ref, fieldRef);\n const value = typeof field.value === \"string\" ? new Date(field.value) : field.value;\n return /* @__PURE__ */ jsxs(Field.Root, { error: field.error, name, hint, required, children: [\n /* @__PURE__ */ jsx(Field.Label, { action: labelAction, children: label }),\n /* @__PURE__ */ jsx(\n DatePicker,\n {\n ref: composedRefs,\n clearLabel: formatMessage({ id: \"clearLabel\", defaultMessage: \"Clear\" }),\n onChange: (date) => {\n field.onChange(name, date ? convertLocalDateToUTCDate(date).toISOString() : null);\n },\n onClear: () => field.onChange(name, null),\n value: value ? convertLocalDateToUTCDate(value) : value,\n ...props\n }\n ),\n /* @__PURE__ */ jsx(Field.Hint, {}),\n /* @__PURE__ */ jsx(Field.Error, {})\n ] });\n }\n);\nconst convertLocalDateToUTCDate = (date) => {\n const utcDateString = date.toISOString();\n const timeZone = getLocalTimeZone();\n const zonedDateTime = parseAbsolute(utcDateString, timeZone);\n return toCalendarDate(zonedDateTime).toDate(\"UTC\");\n};\nconst MemoizedDateInput = memo(DateInput);\n\nconst DateTimeInput = forwardRef(\n ({ name, required, label, hint, labelAction, ...props }, ref) => {\n const { formatMessage } = useIntl();\n const field = useField(name);\n const fieldRef = useFocusInputField(name);\n const composedRefs = useComposedRefs(ref, fieldRef);\n const value = typeof field.value === \"string\" ? new Date(field.value) : field.value;\n return /* @__PURE__ */ jsxs(Field.Root, { error: field.error, name, hint, required, children: [\n /* @__PURE__ */ jsx(Field.Label, { action: labelAction, children: label }),\n /* @__PURE__ */ jsx(\n DateTimePicker,\n {\n ref: composedRefs,\n clearLabel: formatMessage({ id: \"clearLabel\", defaultMessage: \"Clear\" }),\n onChange: (date) => {\n field.onChange(name, date ? date.toISOString() : null);\n },\n onClear: () => field.onChange(name, null),\n value,\n ...props\n }\n ),\n /* @__PURE__ */ jsx(Field.Hint, {}),\n /* @__PURE__ */ jsx(Field.Error, {})\n ] });\n }\n);\nconst MemoizedDateTimeInput = memo(DateTimeInput);\n\nconst EmailInput = forwardRef(\n ({ name, required, label, hint, labelAction, ...props }, ref) => {\n const field = useField(name);\n const fieldRef = useFocusInputField(name);\n const composedRefs = useComposedRefs(ref, fieldRef);\n return /* @__PURE__ */ jsxs(Field.Root, { error: field.error, name, hint, required, children: [\n /* @__PURE__ */ jsx(Field.Label, { action: labelAction, children: label }),\n /* @__PURE__ */ jsx(\n TextInput,\n {\n ref: composedRefs,\n autoComplete: \"email\",\n onChange: field.onChange,\n value: field.value,\n ...props,\n type: \"email\"\n }\n ),\n /* @__PURE__ */ jsx(Field.Hint, {}),\n /* @__PURE__ */ jsx(Field.Error, {})\n ] });\n }\n);\nconst MemoizedEmailInput = memo(EmailInput);\n\nconst EnumerationInput = forwardRef(\n ({ name, required, label, hint, labelAction, options = [], ...props }, ref) => {\n const field = useField(name);\n const fieldRef = useFocusInputField(name);\n const composedRefs = useComposedRefs(ref, fieldRef);\n return /* @__PURE__ */ jsxs(Field.Root, { error: field.error, name, hint, required, children: [\n /* @__PURE__ */ jsx(Field.Label, { action: labelAction, children: label }),\n /* @__PURE__ */ jsx(\n SingleSelect,\n {\n ref: composedRefs,\n onChange: (value) => {\n field.onChange(name, value);\n },\n value: field.value,\n ...props,\n children: options.map(({ value, label: label2, disabled, hidden }) => {\n return /* @__PURE__ */ jsx(SingleSelectOption, { value, disabled, hidden, children: label2 ?? value }, value);\n })\n }\n ),\n /* @__PURE__ */ jsx(Field.Hint, {}),\n /* @__PURE__ */ jsx(Field.Error, {})\n ] });\n }\n);\nconst MemoizedEnumerationInput = memo(EnumerationInput);\n\nconst JsonInput = React.forwardRef(\n ({ name, required, label, hint, labelAction, ...props }, ref) => {\n const field = useField(name);\n const fieldRef = useFocusInputField(name);\n const composedRefs = useComposedRefs(ref, fieldRef);\n return /* @__PURE__ */ jsxs(Field.Root, { error: field.error, name, hint, required, children: [\n /* @__PURE__ */ jsx(Field.Label, { action: labelAction, children: label }),\n /* @__PURE__ */ jsx(\n JSONInput,\n {\n ref: composedRefs,\n value: typeof field.value == \"object\" ? JSON.stringify(field.value, null, 2) : field.value,\n onChange: (json) => {\n const value = required && !json.length ? null : json;\n field.onChange(name, value);\n },\n minHeight: `25.2rem`,\n maxHeight: `50.4rem`,\n ...props\n }\n ),\n /* @__PURE__ */ jsx(Field.Hint, {}),\n /* @__PURE__ */ jsx(Field.Error, {})\n ] });\n }\n);\nconst MemoizedJsonInput = React.memo(JsonInput);\n\nconst NumberInputImpl = forwardRef(\n ({ name, required, label, hint, labelAction, type, ...props }, ref) => {\n const field = useField(name);\n const fieldRef = useFocusInputField(name);\n const composedRefs = useComposedRefs(ref, fieldRef);\n return /* @__PURE__ */ jsxs(Field.Root, { error: field.error, name, hint, required, children: [\n /* @__PURE__ */ jsx(Field.Label, { action: labelAction, children: label }),\n /* @__PURE__ */ jsx(\n NumberInput,\n {\n ref: composedRefs,\n onValueChange: (value) => {\n field.onChange(name, value);\n },\n step: type === \"float\" || type == \"decimal\" ? 0.01 : 1,\n value: field.value,\n ...props\n }\n ),\n /* @__PURE__ */ jsx(Field.Hint, {}),\n /* @__PURE__ */ jsx(Field.Error, {})\n ] });\n }\n);\nconst MemoizedNumberInput = memo(NumberInputImpl);\n\nconst PasswordInput = forwardRef(\n ({ name, required, label, hint, labelAction, ...props }, ref) => {\n const [showPassword, setShowPassword] = useState(false);\n const { formatMessage } = useIntl();\n const field = useField(name);\n const fieldRef = useFocusInputField(name);\n const composedRefs = useComposedRefs(ref, fieldRef);\n return /* @__PURE__ */ jsxs(Field.Root, { error: field.error, name, hint, required, children: [\n /* @__PURE__ */ jsx(Field.Label, { action: labelAction, children: label }),\n /* @__PURE__ */ jsx(\n TextInput,\n {\n ref: composedRefs,\n autoComplete: \"password\",\n endAction: /* @__PURE__ */ jsx(\n Field.Action,\n {\n label: formatMessage({\n id: \"Auth.form.password.show-password\",\n defaultMessage: \"Show password\"\n }),\n onClick: () => {\n setShowPassword((prev) => !prev);\n },\n children: showPassword ? /* @__PURE__ */ jsx(Eye, { fill: \"neutral500\" }) : /* @__PURE__ */ jsx(EyeStriked, { fill: \"neutral500\" })\n }\n ),\n onChange: field.onChange,\n value: field.value,\n ...props,\n type: showPassword ? \"text\" : \"password\"\n }\n ),\n /* @__PURE__ */ jsx(Field.Hint, {}),\n /* @__PURE__ */ jsx(Field.Error, {})\n ] });\n }\n);\nconst MemoizedPasswordInput = memo(PasswordInput);\n\nconst StringInput = forwardRef(\n ({ name, required, label, hint, labelAction, ...props }, ref) => {\n const field = useField(name);\n const fieldRef = useFocusInputField(name);\n const composedRefs = useComposedRefs(ref, fieldRef);\n return /* @__PURE__ */ jsxs(Field.Root, { error: field.error, name, hint, required, children: [\n /* @__PURE__ */ jsx(Field.Label, { action: labelAction, children: label }),\n /* @__PURE__ */ jsx(\n TextInput,\n {\n ref: composedRefs,\n onChange: field.onChange,\n value: field.value ?? \"\",\n ...props\n }\n ),\n /* @__PURE__ */ jsx(Field.Hint, {}),\n /* @__PURE__ */ jsx(Field.Error, {})\n ] });\n }\n);\nconst MemoizedStringInput = memo(StringInput);\n\nconst TextareaInput = forwardRef(\n ({ name, required, label, hint, labelAction, ...props }, ref) => {\n const field = useField(name);\n const fieldRef = useFocusInputField(name);\n const composedRefs = useComposedRefs(ref, fieldRef);\n return /* @__PURE__ */ jsxs(Field.Root, { error: field.error, name, hint, required, children: [\n /* @__PURE__ */ jsx(Field.Label, { action: labelAction, children: label }),\n /* @__PURE__ */ jsx(\n Textarea,\n {\n ref: composedRefs,\n onChange: field.onChange,\n value: field.value ?? \"\",\n ...props\n }\n ),\n /* @__PURE__ */ jsx(Field.Hint, {}),\n /* @__PURE__ */ jsx(Field.Error, {})\n ] });\n }\n);\nconst MemoizedTextareaInput = memo(TextareaInput);\n\nconst TimeInput = forwardRef(\n ({ name, required, label, hint, labelAction, ...props }, ref) => {\n const { formatMessage } = useIntl();\n const field = useField(name);\n const fieldRef = useFocusInputField(name);\n const composedRefs = useComposedRefs(ref, fieldRef);\n return /* @__PURE__ */ jsxs(Field.Root, { error: field.error, name, hint, required, children: [\n /* @__PURE__ */ jsx(Field.Label, { action: labelAction, children: label }),\n /* @__PURE__ */ jsx(\n TimePicker,\n {\n ref: composedRefs,\n clearLabel: formatMessage({ id: \"clearLabel\", defaultMessage: \"Clear\" }),\n onChange: (time) => {\n field.onChange(name, `${time}:00.000`);\n },\n onClear: () => field.onChange(name, void 0),\n value: field.value ?? \"\",\n ...props\n }\n ),\n /* @__PURE__ */ jsx(Field.Hint, {}),\n /* @__PURE__ */ jsx(Field.Error, {})\n ] });\n }\n);\nconst MemoizedTimeInput = memo(TimeInput);\n\nconst InputRenderer = memo(\n forwardRef((props, forwardRef2) => {\n switch (props.type) {\n case \"biginteger\":\n case \"timestamp\":\n case \"string\":\n case \"uid\":\n return /* @__PURE__ */ jsx(MemoizedStringInput, { ref: forwardRef2, ...props });\n case \"boolean\":\n return /* @__PURE__ */ jsx(MemoizedBooleanInput, { ref: forwardRef2, ...props });\n case \"checkbox\":\n return /* @__PURE__ */ jsx(MemoizedCheckboxInput, { ref: forwardRef2, ...props });\n case \"datetime\":\n return /* @__PURE__ */ jsx(MemoizedDateTimeInput, { ref: forwardRef2, ...props });\n case \"date\":\n return /* @__PURE__ */ jsx(MemoizedDateInput, { ref: forwardRef2, ...props });\n case \"decimal\":\n case \"float\":\n case \"integer\":\n return /* @__PURE__ */ jsx(MemoizedNumberInput, { ref: forwardRef2, ...props });\n case \"json\":\n return /* @__PURE__ */ jsx(MemoizedJsonInput, { ref: forwardRef2, ...props });\n case \"email\":\n return /* @__PURE__ */ jsx(MemoizedEmailInput, { ref: forwardRef2, ...props });\n case \"enumeration\":\n return /* @__PURE__ */ jsx(MemoizedEnumerationInput, { ref: forwardRef2, ...props });\n case \"password\":\n return /* @__PURE__ */ jsx(MemoizedPasswordInput, { ref: forwardRef2, ...props });\n case \"text\":\n return /* @__PURE__ */ jsx(MemoizedTextareaInput, { ref: forwardRef2, ...props });\n case \"time\":\n return /* @__PURE__ */ jsx(MemoizedTimeInput, { ref: forwardRef2, ...props });\n default:\n return /* @__PURE__ */ jsx(NotSupportedField, { ref: forwardRef2, ...props });\n }\n })\n);\nconst NotSupportedField = forwardRef(\n ({ label, hint, name, required, type, labelAction }, ref) => {\n const { error } = useField(name);\n const fieldRef = useFocusInputField(name);\n const composedRefs = useComposedRefs(ref, fieldRef);\n return /* @__PURE__ */ jsxs(Field.Root, { error, name, hint, required, children: [\n /* @__PURE__ */ jsx(Field.Label, { action: labelAction, children: label }),\n /* @__PURE__ */ jsx(\n TextInput,\n {\n ref: composedRefs,\n disabled: true,\n placeholder: `Unsupported field type: ${type}`,\n required,\n type: \"text\",\n value: \"\"\n }\n ),\n /* @__PURE__ */ jsx(Field.Hint, {}),\n /* @__PURE__ */ jsx(Field.Error, {})\n ] });\n }\n);\nconst MemoizedInputRenderer = memo(InputRenderer);\n\nconst Img = styled.img`\n height: 7.2rem;\n`;\nconst Logo = () => {\n const {\n logos: { auth }\n } = useConfiguration(\"UnauthenticatedLogo\");\n return /* @__PURE__ */ jsx(Img, { src: auth?.custom?.url || auth.default, \"aria-hidden\": true, alt: \"\" });\n};\n\nconst Wrapper = styled(Box)`\n margin: 0 auto;\n width: 552px;\n`;\nconst Column = styled(Flex)`\n flex-direction: column;\n`;\nconst LocaleToggle = () => {\n const localeNames = useTypedSelector((state) => state.admin_app.language.localeNames);\n const dispatch = useTypedDispatch();\n const { formatMessage, locale } = useIntl();\n return /* @__PURE__ */ jsx(\n SingleSelect,\n {\n \"aria-label\": formatMessage({\n id: \"global.localeToggle.label\",\n defaultMessage: \"Select interface language\"\n }),\n value: locale,\n onChange: (language) => {\n dispatch(setLocale(language));\n },\n children: Object.entries(localeNames).map(([language, name]) => /* @__PURE__ */ jsx(SingleSelectOption, { value: language, children: name }, language))\n }\n );\n};\nconst LayoutContent = ({ children }) => /* @__PURE__ */ jsx(\n Wrapper,\n {\n shadow: \"tableShadow\",\n hasRadius: true,\n paddingTop: 9,\n paddingBottom: 9,\n paddingLeft: 10,\n paddingRight: 10,\n background: \"neutral0\",\n children\n }\n);\nconst UnauthenticatedLayout = ({ children }) => {\n return /* @__PURE__ */ jsxs(\"div\", { children: [\n /* @__PURE__ */ jsx(Flex, { tag: \"header\", justifyContent: \"flex-end\", children: /* @__PURE__ */ jsx(Box, { paddingTop: 6, paddingRight: 8, children: /* @__PURE__ */ jsx(LocaleToggle, {}) }) }),\n /* @__PURE__ */ jsx(Box, { paddingTop: 2, paddingBottom: 11, children })\n ] });\n};\n\nconst errorsTrads = {\n email: {\n id: \"components.Input.error.validation.email\",\n defaultMessage: \"This is not a valid email.\"\n },\n json: {\n id: \"components.Input.error.validation.json\",\n defaultMessage: \"This doesn't match the JSON format\"\n },\n lowercase: {\n id: \"components.Input.error.validation.lowercase\",\n defaultMessage: \"The value must be a lowercase string\"\n },\n max: {\n id: \"components.Input.error.validation.max\",\n defaultMessage: \"The value is too high (max: {max}).\"\n },\n maxLength: {\n id: \"components.Input.error.validation.maxLength\",\n defaultMessage: \"The value is too long (max: {max}).\"\n },\n min: {\n id: \"components.Input.error.validation.min\",\n defaultMessage: \"The value is too low (min: {min}).\"\n },\n minLength: {\n id: \"components.Input.error.validation.minLength\",\n defaultMessage: \"The value is too short (min: {min}).\"\n },\n regex: {\n id: \"components.Input.error.validation.regex\",\n defaultMessage: \"The value does not match the regex.\"\n },\n required: {\n id: \"components.Input.error.validation.required\",\n defaultMessage: \"This value is required.\"\n },\n string: {\n id: \"components.Input.error.validation.string\",\n defaultMessage: \"This is not a valid string.\"\n },\n unique: {\n id: \"components.Input.error.validation.unique\",\n defaultMessage: \"This value is already used.\"\n },\n integer: {\n id: \"component.Input.error.validation.integer\",\n defaultMessage: \"The value must be an integer\"\n }\n};\n\nconst LOGIN_SCHEMA = yup.object().shape({\n email: yup.string().nullable().email({\n id: errorsTrads.email.id,\n defaultMessage: \"Not a valid email\"\n }).required(errorsTrads.required),\n password: yup.string().required(errorsTrads.required).nullable(),\n rememberMe: yup.bool().nullable()\n});\nconst Login = ({ children }) => {\n const [apiError, setApiError] = React.useState();\n const { formatMessage } = useIntl();\n const { search: searchString } = useLocation();\n const query = React.useMemo(() => new URLSearchParams(searchString), [searchString]);\n const navigate = useNavigate();\n const { login } = useAuth(\"Login\", (auth) => auth);\n const handleLogin = async (body) => {\n setApiError(void 0);\n const res = await login(body);\n if (\"error\" in res) {\n const message = res.error.message ?? \"Something went wrong\";\n if (camelCase(message).toLowerCase() === \"usernotactive\") {\n navigate(\"/auth/oops\");\n return;\n }\n setApiError(message);\n } else {\n const redirectTo = query.get(\"redirectTo\");\n const redirectUrl = redirectTo ? decodeURIComponent(redirectTo) : \"/\";\n navigate(redirectUrl);\n }\n };\n return /* @__PURE__ */ jsx(UnauthenticatedLayout, { children: /* @__PURE__ */ jsxs(Main, { children: [\n /* @__PURE__ */ jsxs(LayoutContent, { children: [\n /* @__PURE__ */ jsxs(Column, { children: [\n /* @__PURE__ */ jsx(Logo, {}),\n /* @__PURE__ */ jsx(Box, { paddingTop: 6, paddingBottom: 1, children: /* @__PURE__ */ jsx(Typography, { variant: \"alpha\", tag: \"h1\", children: formatMessage({\n id: \"Auth.form.welcome.title\",\n defaultMessage: \"Welcome!\"\n }) }) }),\n /* @__PURE__ */ jsx(Box, { paddingBottom: 7, children: /* @__PURE__ */ jsx(Typography, { variant: \"epsilon\", textColor: \"neutral600\", children: formatMessage({\n id: \"Auth.form.welcome.subtitle\",\n defaultMessage: \"Log in to your Strapi account\"\n }) }) }),\n apiError ? /* @__PURE__ */ jsx(Typography, { id: \"global-form-error\", role: \"alert\", tabIndex: -1, textColor: \"danger600\", children: apiError }) : null\n ] }),\n /* @__PURE__ */ jsx(\n Form,\n {\n method: \"PUT\",\n initialValues: {\n email: \"\",\n password: \"\",\n rememberMe: false\n },\n onSubmit: (values) => {\n handleLogin(values);\n },\n validationSchema: LOGIN_SCHEMA,\n children: /* @__PURE__ */ jsxs(Flex, { direction: \"column\", alignItems: \"stretch\", gap: 6, children: [\n [\n {\n label: formatMessage({ id: \"Auth.form.email.label\", defaultMessage: \"Email\" }),\n name: \"email\",\n placeholder: formatMessage({\n id: \"Auth.form.email.placeholder\",\n defaultMessage: \"kai@doe.com\"\n }),\n required: true,\n type: \"string\"\n },\n {\n label: formatMessage({\n id: \"global.password\",\n defaultMessage: \"Password\"\n }),\n name: \"password\",\n required: true,\n type: \"password\"\n },\n {\n label: formatMessage({\n id: \"Auth.form.rememberMe.label\",\n defaultMessage: \"Remember me\"\n }),\n name: \"rememberMe\",\n type: \"checkbox\"\n }\n ].map((field) => /* @__PURE__ */ jsx(MemoizedInputRenderer, { ...field }, field.name)),\n /* @__PURE__ */ jsx(Button, { fullWidth: true, type: \"submit\", children: formatMessage({ id: \"Auth.form.button.login\", defaultMessage: \"Login\" }) })\n ] })\n }\n ),\n children\n ] }),\n /* @__PURE__ */ jsx(Flex, { justifyContent: \"center\", children: /* @__PURE__ */ jsx(Box, { paddingTop: 4, children: /* @__PURE__ */ jsx(Link, { isExternal: false, tag: NavLink, to: \"/auth/forgot-password\", children: formatMessage({\n id: \"Auth.link.forgot-password\",\n defaultMessage: \"Forgot your password?\"\n }) }) }) })\n ] }) });\n};\n\nconst ForgotPassword = () => {\n const navigate = useNavigate();\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const [forgotPassword, { error }] = useForgotPasswordMutation();\n return /* @__PURE__ */ jsx(UnauthenticatedLayout, { children: /* @__PURE__ */ jsxs(Main, { children: [\n /* @__PURE__ */ jsxs(LayoutContent, { children: [\n /* @__PURE__ */ jsxs(Column, { children: [\n /* @__PURE__ */ jsx(Logo, {}),\n /* @__PURE__ */ jsx(Box, { paddingTop: 6, paddingBottom: 7, children: /* @__PURE__ */ jsx(Typography, { tag: \"h1\", variant: \"alpha\", children: formatMessage({\n id: \"Auth.form.button.password-recovery\",\n defaultMessage: \"Password Recovery\"\n }) }) }),\n error ? /* @__PURE__ */ jsx(Typography, { id: \"global-form-error\", role: \"alert\", tabIndex: -1, textColor: \"danger600\", children: isBaseQueryError(error) ? formatAPIError(error) : formatMessage({\n id: \"notification.error\",\n defaultMessage: \"An error occurred\"\n }) }) : null\n ] }),\n /* @__PURE__ */ jsx(\n Form,\n {\n method: \"POST\",\n initialValues: {\n email: \"\"\n },\n onSubmit: async (body) => {\n const res = await forgotPassword(body);\n if (!(\"error\" in res)) {\n navigate(\"/auth/forgot-password-success\");\n }\n },\n validationSchema: yup.object().shape({\n email: yup.string().email(errorsTrads.email).required({\n id: errorsTrads.required.id,\n defaultMessage: \"This field is required.\"\n }).nullable()\n }),\n children: /* @__PURE__ */ jsxs(Flex, { direction: \"column\", alignItems: \"stretch\", gap: 6, children: [\n [\n {\n label: formatMessage({ id: \"Auth.form.email.label\", defaultMessage: \"Email\" }),\n name: \"email\",\n placeholder: formatMessage({\n id: \"Auth.form.email.placeholder\",\n defaultMessage: \"kai@doe.com\"\n }),\n required: true,\n type: \"string\"\n }\n ].map((field) => /* @__PURE__ */ jsx(MemoizedInputRenderer, { ...field }, field.name)),\n /* @__PURE__ */ jsx(Button, { type: \"submit\", fullWidth: true, children: formatMessage({\n id: \"Auth.form.button.forgot-password\",\n defaultMessage: \"Send Email\"\n }) })\n ] })\n }\n )\n ] }),\n /* @__PURE__ */ jsx(Flex, { justifyContent: \"center\", children: /* @__PURE__ */ jsx(Box, { paddingTop: 4, children: /* @__PURE__ */ jsx(Link, { tag: NavLink, to: \"/auth/login\", children: formatMessage({ id: \"Auth.link.ready\", defaultMessage: \"Ready to sign in?\" }) }) }) })\n ] }) });\n};\n\nconst ForgotPasswordSuccess = () => {\n const { formatMessage } = useIntl();\n return /* @__PURE__ */ jsx(UnauthenticatedLayout, { children: /* @__PURE__ */ jsxs(Main, { children: [\n /* @__PURE__ */ jsx(LayoutContent, { children: /* @__PURE__ */ jsxs(Column, { children: [\n /* @__PURE__ */ jsx(Logo, {}),\n /* @__PURE__ */ jsx(Box, { paddingTop: 6, paddingBottom: 7, children: /* @__PURE__ */ jsx(Typography, { tag: \"h1\", variant: \"alpha\", children: formatMessage({\n id: \"app.containers.AuthPage.ForgotPasswordSuccess.title\",\n defaultMessage: \"Email sent\"\n }) }) }),\n /* @__PURE__ */ jsx(Typography, { children: formatMessage({\n id: \"app.containers.AuthPage.ForgotPasswordSuccess.text.email\",\n defaultMessage: \"It can take a few minutes to receive your password recovery link.\"\n }) }),\n /* @__PURE__ */ jsx(Box, { paddingTop: 4, children: /* @__PURE__ */ jsx(Typography, { children: formatMessage({\n id: \"app.containers.AuthPage.ForgotPasswordSuccess.text.contact-admin\",\n defaultMessage: \"If you do not receive this link, please contact your administrator.\"\n }) }) })\n ] }) }),\n /* @__PURE__ */ jsx(Flex, { justifyContent: \"center\", children: /* @__PURE__ */ jsx(Box, { paddingTop: 4, children: /* @__PURE__ */ jsx(Link, { tag: NavLink, to: \"/auth/login\", children: formatMessage({ id: \"Auth.link.signin\", defaultMessage: \"Sign in\" }) }) }) })\n ] }) });\n};\n\nconst Oops = () => {\n const { formatMessage } = useIntl();\n const { search: searchString } = useLocation();\n const query = React.useMemo(() => new URLSearchParams(searchString), [searchString]);\n const message = query.get(\"info\") || formatMessage({\n id: \"Auth.components.Oops.text\",\n defaultMessage: \"Your account has been suspended.\"\n });\n return /* @__PURE__ */ jsx(UnauthenticatedLayout, { children: /* @__PURE__ */ jsxs(Main, { children: [\n /* @__PURE__ */ jsx(LayoutContent, { children: /* @__PURE__ */ jsxs(Column, { children: [\n /* @__PURE__ */ jsx(Logo, {}),\n /* @__PURE__ */ jsx(Box, { paddingTop: 6, paddingBottom: 7, children: /* @__PURE__ */ jsx(Typography, { tag: \"h1\", variant: \"alpha\", children: formatMessage({ id: \"Auth.components.Oops.title\", defaultMessage: \"Oops...\" }) }) }),\n /* @__PURE__ */ jsx(Typography, { children: message }),\n /* @__PURE__ */ jsx(Box, { paddingTop: 4, children: /* @__PURE__ */ jsx(Typography, { children: formatMessage({\n id: \"Auth.components.Oops.text.admin\",\n defaultMessage: \"If this is a mistake, please contact your administrator.\"\n }) }) })\n ] }) }),\n /* @__PURE__ */ jsx(Flex, { justifyContent: \"center\", children: /* @__PURE__ */ jsx(Box, { paddingTop: 4, children: /* @__PURE__ */ jsx(Link, { tag: NavLink, to: \"/auth/login\", children: formatMessage({ id: \"Auth.link.signin\", defaultMessage: \"Sign in\" }) }) }) })\n ] }) });\n};\n\nconst usePersistentState = (key, defaultValue) => {\n const [value, setValue] = useState(() => {\n const stickyValue = window.localStorage.getItem(key);\n if (stickyValue !== null) {\n try {\n return JSON.parse(stickyValue);\n } catch {\n return stickyValue;\n }\n }\n return defaultValue;\n });\n useEffect(() => {\n window.localStorage.setItem(key, JSON.stringify(value));\n }, [key, value]);\n return [value, setValue];\n};\n\nconst FieldWrapper = styled(Field.Root)`\n height: 3.2rem;\n width: 3.2rem;\n\n > label,\n ~ input {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n }\n\n > label {\n color: inherit;\n cursor: pointer;\n padding: ${({ theme }) => theme.spaces[2]};\n text-align: center;\n vertical-align: middle;\n }\n\n &:hover,\n &:focus-within {\n background-color: ${({ theme }) => theme.colors.neutral0};\n }\n\n &:active,\n &.selected {\n color: ${({ theme }) => theme.colors.primary700};\n background-color: ${({ theme }) => theme.colors.neutral0};\n border-color: ${({ theme }) => theme.colors.primary700};\n }\n`;\nconst delays = {\n postResponse: 90 * 24 * 60 * 60 * 1e3,\n // 90 days in ms\n postFirstDismissal: 14 * 24 * 60 * 60 * 1e3,\n // 14 days in ms\n postSubsequentDismissal: 90 * 24 * 60 * 60 * 1e3,\n // 90 days in ms\n display: 30 * 60 * 1e3\n // 30 minutes in ms\n};\nconst ratingArray = [...Array(11).keys()];\nconst checkIfShouldShowSurvey = (settings) => {\n const { enabled, lastResponseDate, firstDismissalDate, lastDismissalDate } = settings;\n if (window.strapi.flags.nps === false) {\n return false;\n }\n if (enabled === false) {\n return false;\n }\n if (lastResponseDate) {\n const timeSinceLastResponse = Date.now() - new Date(lastResponseDate).getTime();\n if (timeSinceLastResponse >= delays.postResponse) {\n return true;\n }\n return false;\n }\n if (lastDismissalDate) {\n const timeSinceLastDismissal = Date.now() - new Date(lastDismissalDate).getTime();\n if (timeSinceLastDismissal >= delays.postSubsequentDismissal) {\n return true;\n }\n return false;\n }\n if (firstDismissalDate) {\n const timeSinceFirstDismissal = Date.now() - new Date(firstDismissalDate).getTime();\n if (timeSinceFirstDismissal >= delays.postFirstDismissal) {\n return true;\n }\n return false;\n }\n return true;\n};\nconst NpsSurvey = () => {\n const { formatMessage } = useIntl();\n const { npsSurveySettings, setNpsSurveySettings } = useNpsSurveySettings();\n const [isFeedbackResponse, setIsFeedbackResponse] = React.useState(false);\n const { toggleNotification } = useNotification();\n const currentEnvironment = useAppInfo(\"NpsSurvey\", (state) => state.currentEnvironment);\n const strapiVersion = useAppInfo(\"NpsSurvey\", (state) => state.strapiVersion);\n const [surveyIsShown, setSurveyIsShown] = React.useState(\n checkIfShouldShowSurvey(npsSurveySettings)\n );\n const [displaySurvey, setDisplaySurvey] = React.useState(false);\n React.useEffect(() => {\n const displayTime = setTimeout(() => {\n setDisplaySurvey(true);\n }, delays.display);\n return () => {\n clearTimeout(displayTime);\n };\n }, []);\n const { user } = useAuth(\"NpsSurvey\", (auth) => auth);\n if (!displaySurvey) {\n return null;\n }\n if (!surveyIsShown) {\n return null;\n }\n const handleSubmitResponse = async ({\n npsSurveyRating,\n npsSurveyFeedback\n }) => {\n try {\n const body = {\n email: typeof user === \"object\" && user.email ? user.email : \"\",\n rating: npsSurveyRating,\n comment: npsSurveyFeedback,\n environment: currentEnvironment,\n version: strapiVersion ?? void 0,\n license: window.strapi.projectType\n };\n const res = await fetch(\"https://analytics.strapi.io/submit-nps\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify(body)\n });\n if (!res.ok) {\n throw new Error(\"Failed to submit NPS survey\");\n }\n setNpsSurveySettings((settings) => ({\n ...settings,\n lastResponseDate: (/* @__PURE__ */ new Date()).toString(),\n firstDismissalDate: null,\n lastDismissalDate: null\n }));\n setIsFeedbackResponse(true);\n setTimeout(() => {\n setSurveyIsShown(false);\n }, 3e3);\n } catch (err) {\n toggleNotification({\n type: \"danger\",\n message: formatMessage({ id: \"notification.error\", defaultMessage: \"An error occurred\" })\n });\n }\n };\n const handleDismiss = () => {\n setNpsSurveySettings((settings) => {\n const nextSettings = {\n ...settings,\n lastResponseDate: null\n };\n if (settings.firstDismissalDate) {\n nextSettings.lastDismissalDate = (/* @__PURE__ */ new Date()).toString();\n } else {\n nextSettings.firstDismissalDate = (/* @__PURE__ */ new Date()).toString();\n }\n return nextSettings;\n });\n setSurveyIsShown(false);\n };\n return /* @__PURE__ */ jsx(Portal, { children: /* @__PURE__ */ jsx(\n Formik,\n {\n initialValues: { npsSurveyFeedback: \"\", npsSurveyRating: null },\n onSubmit: handleSubmitResponse,\n validationSchema: yup.object({\n npsSurveyFeedback: yup.string(),\n npsSurveyRating: yup.number().required()\n }),\n children: ({ values, handleChange, setFieldValue, isSubmitting }) => /* @__PURE__ */ jsx(Form$1, { name: \"npsSurveyForm\", children: /* @__PURE__ */ jsx(\n Flex,\n {\n hasRadius: true,\n direction: \"column\",\n padding: 4,\n borderColor: \"primary200\",\n background: \"neutral0\",\n shadow: \"popupShadow\",\n position: \"fixed\",\n bottom: 0,\n left: \"50%\",\n transform: \"translateX(-50%)\",\n zIndex: \"200\",\n width: \"50%\",\n children: isFeedbackResponse ? /* @__PURE__ */ jsx(Typography, { fontWeight: \"semiBold\", children: formatMessage({\n id: \"app.components.NpsSurvey.feedback-response\",\n defaultMessage: \"Thank you very much for your feedback!\"\n }) }) : /* @__PURE__ */ jsxs(Box, { tag: \"fieldset\", width: \"100%\", borderWidth: 0, children: [\n /* @__PURE__ */ jsxs(Flex, { justifyContent: \"space-between\", width: \"100%\", children: [\n /* @__PURE__ */ jsx(Box, { marginLeft: \"auto\", marginRight: \"auto\", children: /* @__PURE__ */ jsx(Typography, { fontWeight: \"semiBold\", tag: \"legend\", children: formatMessage({\n id: \"app.components.NpsSurvey.banner-title\",\n defaultMessage: \"How likely are you to recommend Strapi to a friend or colleague?\"\n }) }) }),\n /* @__PURE__ */ jsx(\n IconButton,\n {\n onClick: handleDismiss,\n withTooltip: false,\n label: formatMessage({\n id: \"app.components.NpsSurvey.dismiss-survey-label\",\n defaultMessage: \"Dismiss survey\"\n }),\n children: /* @__PURE__ */ jsx(Cross, {})\n }\n )\n ] }),\n /* @__PURE__ */ jsxs(Flex, { gap: 2, marginTop: 2, marginBottom: 2, justifyContent: \"center\", children: [\n /* @__PURE__ */ jsx(Typography, { variant: \"pi\", textColor: \"neutral600\", children: formatMessage({\n id: \"app.components.NpsSurvey.no-recommendation\",\n defaultMessage: \"Not at all likely\"\n }) }),\n ratingArray.map((number) => {\n return /* @__PURE__ */ jsx(\n FieldWrapper,\n {\n name: \"npsSurveyRating\",\n className: values.npsSurveyRating === number ? \"selected\" : void 0,\n hasRadius: true,\n background: \"primary100\",\n borderColor: \"primary200\",\n color: \"primary600\",\n position: \"relative\",\n cursor: \"pointer\",\n children: /* @__PURE__ */ jsxs(Field.Label, { children: [\n /* @__PURE__ */ jsx(VisuallyHidden, { children: /* @__PURE__ */ jsx(\n Field.Input,\n {\n type: \"radio\",\n checked: values.npsSurveyRating === number,\n onChange: (e) => setFieldValue(\"npsSurveyRating\", parseInt(e.target.value, 10)),\n value: number\n }\n ) }),\n number\n ] })\n },\n number\n );\n }),\n /* @__PURE__ */ jsx(Typography, { variant: \"pi\", textColor: \"neutral600\", children: formatMessage({\n id: \"app.components.NpsSurvey.happy-to-recommend\",\n defaultMessage: \"Extremely likely\"\n }) })\n ] }),\n values.npsSurveyRating !== null && /* @__PURE__ */ jsxs(Flex, { direction: \"column\", children: [\n /* @__PURE__ */ jsx(Box, { marginTop: 2, children: /* @__PURE__ */ jsx(Field.Label, { fontWeight: \"semiBold\", fontSize: 2, children: formatMessage({\n id: \"app.components.NpsSurvey.feedback-question\",\n defaultMessage: \"Do you have any suggestion for improvements?\"\n }) }) }),\n /* @__PURE__ */ jsx(Box, { width: \"62%\", marginTop: 3, marginBottom: 4, children: /* @__PURE__ */ jsx(\n Textarea,\n {\n id: \"npsSurveyFeedback\",\n width: \"100%\",\n onChange: handleChange,\n value: values.npsSurveyFeedback\n }\n ) }),\n /* @__PURE__ */ jsx(Button, { marginBottom: 2, type: \"submit\", loading: isSubmitting, children: formatMessage({\n id: \"app.components.NpsSurvey.submit-feedback\",\n defaultMessage: \"Submit Feedback\"\n }) })\n ] })\n ] })\n }\n ) })\n }\n ) });\n};\nfunction useNpsSurveySettings() {\n const [npsSurveySettings, setNpsSurveySettings] = usePersistentState(\n \"STRAPI_NPS_SURVEY_SETTINGS\",\n {\n enabled: true,\n lastResponseDate: null,\n firstDismissalDate: null,\n lastDismissalDate: null\n }\n );\n return { npsSurveySettings, setNpsSurveySettings };\n}\n\nconst REGISTER_USER_SCHEMA = yup.object().shape({\n firstname: yup.string().trim().required(errorsTrads.required).nullable(),\n lastname: yup.string().nullable(),\n password: yup.string().min(8, {\n id: errorsTrads.minLength.id,\n defaultMessage: \"Password must be at least 8 characters\",\n values: { min: 8 }\n }).matches(/[a-z]/, {\n message: {\n id: \"components.Input.error.contain.lowercase\",\n defaultMessage: \"Password must contain at least 1 lowercase letter\"\n }\n }).matches(/[A-Z]/, {\n message: {\n id: \"components.Input.error.contain.uppercase\",\n defaultMessage: \"Password must contain at least 1 uppercase letter\"\n }\n }).matches(/\\d/, {\n message: {\n id: \"components.Input.error.contain.number\",\n defaultMessage: \"Password must contain at least 1 number\"\n }\n }).required({\n id: errorsTrads.required.id,\n defaultMessage: \"Password is required\"\n }).nullable(),\n confirmPassword: yup.string().required({\n id: errorsTrads.required.id,\n defaultMessage: \"Confirm password is required\"\n }).oneOf([yup.ref(\"password\"), null], {\n id: \"components.Input.error.password.noMatch\",\n defaultMessage: \"Passwords must match\"\n }).nullable(),\n registrationToken: yup.string().required({\n id: errorsTrads.required.id,\n defaultMessage: \"Registration token is required\"\n })\n});\nconst REGISTER_ADMIN_SCHEMA = yup.object().shape({\n firstname: yup.string().trim().required({\n id: errorsTrads.required.id,\n defaultMessage: \"Firstname is required\"\n }).nullable(),\n lastname: yup.string().nullable(),\n password: yup.string().min(8, {\n id: errorsTrads.minLength.id,\n defaultMessage: \"Password must be at least 8 characters\",\n values: { min: 8 }\n }).matches(/[a-z]/, {\n message: {\n id: \"components.Input.error.contain.lowercase\",\n defaultMessage: \"Password must contain at least 1 lowercase letter\"\n }\n }).matches(/[A-Z]/, {\n message: {\n id: \"components.Input.error.contain.uppercase\",\n defaultMessage: \"Password must contain at least 1 uppercase letter\"\n }\n }).matches(/\\d/, {\n message: {\n id: \"components.Input.error.contain.number\",\n defaultMessage: \"Password must contain at least 1 number\"\n }\n }).required({\n id: errorsTrads.required.id,\n defaultMessage: \"Password is required\"\n }).nullable(),\n confirmPassword: yup.string().required({\n id: errorsTrads.required,\n defaultMessage: \"Confirm password is required\"\n }).nullable().oneOf([yup.ref(\"password\"), null], {\n id: \"components.Input.error.password.noMatch\",\n defaultMessage: \"Passwords must match\"\n }),\n email: yup.string().email({\n id: errorsTrads.email.id,\n defaultMessage: \"Not a valid email\"\n }).strict().lowercase({\n id: errorsTrads.lowercase.id,\n defaultMessage: \"Email must be lowercase\"\n }).required({\n id: errorsTrads.required.id,\n defaultMessage: \"Email is required\"\n }).nullable()\n});\nconst Register = ({ hasAdmin }) => {\n const { toggleNotification } = useNotification();\n const navigate = useNavigate();\n const [submitCount, setSubmitCount] = React.useState(0);\n const [apiError, setApiError] = React.useState();\n const { trackUsage } = useTracking();\n const { formatMessage } = useIntl();\n const setSkipped = useGuidedTour(\"Register\", (state) => state.setSkipped);\n const { search: searchString } = useLocation();\n const query = React.useMemo(() => new URLSearchParams(searchString), [searchString]);\n const match = useMatch(\"/auth/:authType\");\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors\n } = useAPIErrorHandler();\n const { setNpsSurveySettings } = useNpsSurveySettings();\n const registrationToken = query.get(\"registrationToken\");\n const { data: userInfo, error } = useGetRegistrationInfoQuery(registrationToken, {\n skip: !registrationToken\n });\n React.useEffect(() => {\n if (error) {\n const message = isBaseQueryError(error) ? formatAPIError(error) : error.message ?? \"\";\n toggleNotification({\n type: \"danger\",\n message\n });\n navigate(`/auth/oops?info=${encodeURIComponent(message)}`);\n }\n }, [error, formatAPIError, navigate, toggleNotification]);\n const [registerAdmin] = useRegisterAdminMutation();\n const [registerUser] = useRegisterUserMutation();\n const dispatch = useTypedDispatch();\n const handleRegisterAdmin = async ({ news, ...body }, setFormErrors) => {\n const res = await registerAdmin(body);\n if (\"data\" in res) {\n dispatch(login({ token: res.data.token }));\n const { roles } = res.data.user;\n if (roles) {\n const isUserSuperAdmin = roles.find(({ code }) => code === \"strapi-super-admin\");\n if (isUserSuperAdmin) {\n localStorage.setItem(\"GUIDED_TOUR_SKIPPED\", JSON.stringify(false));\n setSkipped(false);\n trackUsage(\"didLaunchGuidedtour\");\n }\n }\n if (news) {\n setNpsSurveySettings((s) => ({ ...s, enabled: true }));\n navigate({\n pathname: \"/usecase\",\n search: `?hasAdmin=${true}`\n });\n } else {\n navigate(\"/\");\n }\n } else {\n if (isBaseQueryError(res.error)) {\n trackUsage(\"didNotCreateFirstAdmin\");\n if (res.error.name === \"ValidationError\") {\n setFormErrors(formatValidationErrors(res.error));\n return;\n }\n setApiError(formatAPIError(res.error));\n }\n }\n };\n const handleRegisterUser = async ({ news, ...body }, setFormErrors) => {\n const res = await registerUser(body);\n if (\"data\" in res) {\n dispatch(login({ token: res.data.token }));\n if (news) {\n setNpsSurveySettings((s) => ({ ...s, enabled: true }));\n navigate({\n pathname: \"/usecase\",\n search: `?hasAdmin=${hasAdmin}`\n });\n } else {\n navigate(\"/\");\n }\n } else {\n if (isBaseQueryError(res.error)) {\n trackUsage(\"didNotCreateFirstAdmin\");\n if (res.error.name === \"ValidationError\") {\n setFormErrors(formatValidationErrors(res.error));\n return;\n }\n setApiError(formatAPIError(res.error));\n }\n }\n };\n if (!match || match.params.authType !== \"register\" && match.params.authType !== \"register-admin\") {\n return /* @__PURE__ */ jsx(Navigate, { to: \"/\" });\n }\n const isAdminRegistration = match.params.authType === \"register-admin\";\n const schema = isAdminRegistration ? REGISTER_ADMIN_SCHEMA : REGISTER_USER_SCHEMA;\n return /* @__PURE__ */ jsx(UnauthenticatedLayout, { children: /* @__PURE__ */ jsxs(LayoutContent, { children: [\n /* @__PURE__ */ jsxs(Flex, { direction: \"column\", alignItems: \"center\", gap: 3, children: [\n /* @__PURE__ */ jsx(Logo, {}),\n /* @__PURE__ */ jsx(Typography, { tag: \"h1\", variant: \"alpha\", textAlign: \"center\", children: formatMessage({\n id: \"Auth.form.welcome.title\",\n defaultMessage: \"Welcome to Strapi!\"\n }) }),\n /* @__PURE__ */ jsx(Typography, { variant: \"epsilon\", textColor: \"neutral600\", textAlign: \"center\", children: formatMessage({\n id: \"Auth.form.register.subtitle\",\n defaultMessage: \"Credentials are only used to authenticate in Strapi. All saved data will be stored in your database.\"\n }) }),\n apiError ? /* @__PURE__ */ jsx(Typography, { id: \"global-form-error\", role: \"alert\", tabIndex: -1, textColor: \"danger600\", children: apiError }) : null\n ] }),\n /* @__PURE__ */ jsx(\n Form,\n {\n method: \"POST\",\n initialValues: {\n firstname: userInfo?.firstname || \"\",\n lastname: userInfo?.lastname || \"\",\n email: userInfo?.email || \"\",\n password: \"\",\n confirmPassword: \"\",\n registrationToken: registrationToken || void 0,\n news: false\n },\n onSubmit: async (data, helpers) => {\n const normalizedData = normalizeData(data);\n try {\n await schema.validate(normalizedData, { abortEarly: false });\n if (submitCount > 0 && isAdminRegistration) {\n trackUsage(\"didSubmitWithErrorsFirstAdmin\", { count: submitCount.toString() });\n }\n if (normalizedData.registrationToken) {\n handleRegisterUser(\n {\n userInfo: omit(normalizedData, [\n \"registrationToken\",\n \"confirmPassword\",\n \"email\",\n \"news\"\n ]),\n registrationToken: normalizedData.registrationToken,\n news: normalizedData.news\n },\n helpers.setErrors\n );\n } else {\n await handleRegisterAdmin(\n omit(normalizedData, [\"registrationToken\", \"confirmPassword\"]),\n helpers.setErrors\n );\n }\n } catch (err) {\n if (err instanceof ValidationError) {\n helpers.setErrors(\n err.inner.reduce((acc, { message, path }) => {\n if (path && typeof message === \"object\") {\n acc[path] = formatMessage(message);\n }\n return acc;\n }, {})\n );\n }\n setSubmitCount(submitCount + 1);\n }\n },\n children: /* @__PURE__ */ jsxs(Flex, { direction: \"column\", alignItems: \"stretch\", gap: 6, marginTop: 7, children: [\n /* @__PURE__ */ jsx(Grid.Root, { gap: 4, children: [\n {\n label: formatMessage({\n id: \"Auth.form.firstname.label\",\n defaultMessage: \"Firstname\"\n }),\n name: \"firstname\",\n required: true,\n size: 6,\n type: \"string\"\n },\n {\n label: formatMessage({\n id: \"Auth.form.lastname.label\",\n defaultMessage: \"Lastname\"\n }),\n name: \"lastname\",\n size: 6,\n type: \"string\"\n },\n {\n disabled: !isAdminRegistration,\n label: formatMessage({\n id: \"Auth.form.email.label\",\n defaultMessage: \"Email\"\n }),\n name: \"email\",\n required: true,\n size: 12,\n type: \"email\"\n },\n {\n hint: formatMessage({\n id: \"Auth.form.password.hint\",\n defaultMessage: \"Must be at least 8 characters, 1 uppercase, 1 lowercase & 1 number\"\n }),\n label: formatMessage({\n id: \"global.password\",\n defaultMessage: \"Password\"\n }),\n name: \"password\",\n required: true,\n size: 12,\n type: \"password\"\n },\n {\n label: formatMessage({\n id: \"Auth.form.confirmPassword.label\",\n defaultMessage: \"Confirm Password\"\n }),\n name: \"confirmPassword\",\n required: true,\n size: 12,\n type: \"password\"\n },\n {\n label: formatMessage(\n {\n id: \"Auth.form.register.news.label\",\n defaultMessage: \"Keep me updated about new features & upcoming improvements (by doing this you accept the {terms} and the {policy}).\"\n },\n {\n terms: /* @__PURE__ */ jsx(A, { target: \"_blank\", href: \"https://strapi.io/terms\", rel: \"noreferrer\", children: formatMessage({\n id: \"Auth.privacy-policy-agreement.terms\",\n defaultMessage: \"terms\"\n }) }),\n policy: /* @__PURE__ */ jsx(A, { target: \"_blank\", href: \"https://strapi.io/privacy\", rel: \"noreferrer\", children: formatMessage({\n id: \"Auth.privacy-policy-agreement.policy\",\n defaultMessage: \"policy\"\n }) })\n }\n ),\n name: \"news\",\n size: 12,\n type: \"checkbox\"\n }\n ].map(({ size, ...field }) => /* @__PURE__ */ jsx(Grid.Item, { col: size, direction: \"column\", alignItems: \"stretch\", children: /* @__PURE__ */ jsx(MemoizedInputRenderer, { ...field }) }, field.name)) }),\n /* @__PURE__ */ jsx(Button, { fullWidth: true, size: \"L\", type: \"submit\", children: formatMessage({\n id: \"Auth.form.button.register\",\n defaultMessage: \"Let's start\"\n }) })\n ] })\n }\n ),\n match?.params.authType === \"register\" && /* @__PURE__ */ jsx(Box, { paddingTop: 4, children: /* @__PURE__ */ jsx(Flex, { justifyContent: \"center\", children: /* @__PURE__ */ jsx(Link, { tag: NavLink, to: \"/auth/login\", children: formatMessage({\n id: \"Auth.link.signin.account\",\n defaultMessage: \"Already have an account?\"\n }) }) }) })\n ] }) });\n};\nfunction normalizeData(data) {\n return Object.entries(data).reduce(\n (acc, [key, value]) => {\n if (![\"password\", \"confirmPassword\"].includes(key) && typeof value === \"string\") {\n acc[key] = value.trim();\n if (key === \"lastname\") {\n acc[key] = value || void 0;\n }\n } else {\n acc[key] = value;\n }\n return acc;\n },\n {}\n );\n}\nconst A = styled.a`\n color: ${({ theme }) => theme.colors.primary600};\n`;\n\nconst RESET_PASSWORD_SCHEMA = yup.object().shape({\n password: yup.string().min(8, {\n id: errorsTrads.minLength.id,\n defaultMessage: \"Password must be at least 8 characters\",\n values: { min: 8 }\n }).matches(/[a-z]/, {\n message: {\n id: \"components.Input.error.contain.lowercase\",\n defaultMessage: \"Password must contain at least 1 lowercase letter\"\n }\n }).matches(/[A-Z]/, {\n message: {\n id: \"components.Input.error.contain.uppercase\",\n defaultMessage: \"Password must contain at least 1 uppercase letter\"\n }\n }).matches(/\\d/, {\n message: {\n id: \"components.Input.error.contain.number\",\n defaultMessage: \"Password must contain at least 1 number\"\n }\n }).required({\n id: errorsTrads.required.id,\n defaultMessage: \"Password is required\"\n }).nullable(),\n confirmPassword: yup.string().required({\n id: errorsTrads.required.id,\n defaultMessage: \"Confirm password is required\"\n }).oneOf([yup.ref(\"password\"), null], {\n id: \"components.Input.error.password.noMatch\",\n defaultMessage: \"Passwords must match\"\n }).nullable()\n});\nconst ResetPassword = () => {\n const { formatMessage } = useIntl();\n const dispatch = useTypedDispatch();\n const navigate = useNavigate();\n const { search: searchString } = useLocation();\n const query = React.useMemo(() => new URLSearchParams(searchString), [searchString]);\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const [resetPassword, { error }] = useResetPasswordMutation();\n const handleSubmit = async (body) => {\n const res = await resetPassword(body);\n if (\"data\" in res) {\n dispatch(login({ token: res.data.token }));\n navigate(\"/\");\n }\n };\n if (!query.get(\"code\")) {\n return /* @__PURE__ */ jsx(Navigate, { to: \"/auth/login\" });\n }\n return /* @__PURE__ */ jsx(UnauthenticatedLayout, { children: /* @__PURE__ */ jsxs(Main, { children: [\n /* @__PURE__ */ jsxs(LayoutContent, { children: [\n /* @__PURE__ */ jsxs(Column, { children: [\n /* @__PURE__ */ jsx(Logo, {}),\n /* @__PURE__ */ jsx(Box, { paddingTop: 6, paddingBottom: 7, children: /* @__PURE__ */ jsx(Typography, { tag: \"h1\", variant: \"alpha\", children: formatMessage({\n id: \"global.reset-password\",\n defaultMessage: \"Reset password\"\n }) }) }),\n error ? /* @__PURE__ */ jsx(Typography, { id: \"global-form-error\", role: \"alert\", tabIndex: -1, textColor: \"danger600\", children: isBaseQueryError(error) ? formatAPIError(error) : formatMessage({\n id: \"notification.error\",\n defaultMessage: \"An error occurred\"\n }) }) : null\n ] }),\n /* @__PURE__ */ jsx(\n Form,\n {\n method: \"POST\",\n initialValues: {\n password: \"\",\n confirmPassword: \"\"\n },\n onSubmit: (values) => {\n handleSubmit({ password: values.password, resetPasswordToken: query.get(\"code\") });\n },\n validationSchema: RESET_PASSWORD_SCHEMA,\n children: /* @__PURE__ */ jsxs(Flex, { direction: \"column\", alignItems: \"stretch\", gap: 6, children: [\n [\n {\n hint: formatMessage({\n id: \"Auth.form.password.hint\",\n defaultMessage: \"Password must contain at least 8 characters, 1 uppercase, 1 lowercase and 1 number\"\n }),\n label: formatMessage({\n id: \"global.password\",\n defaultMessage: \"Password\"\n }),\n name: \"password\",\n required: true,\n type: \"password\"\n },\n {\n label: formatMessage({\n id: \"Auth.form.confirmPassword.label\",\n defaultMessage: \"Confirm Password\"\n }),\n name: \"confirmPassword\",\n required: true,\n type: \"password\"\n }\n ].map((field) => /* @__PURE__ */ jsx(MemoizedInputRenderer, { ...field }, field.name)),\n /* @__PURE__ */ jsx(Button, { fullWidth: true, type: \"submit\", children: formatMessage({\n id: \"global.change-password\",\n defaultMessage: \"Change password\"\n }) })\n ] })\n }\n )\n ] }),\n /* @__PURE__ */ jsx(Flex, { justifyContent: \"center\", children: /* @__PURE__ */ jsx(Box, { paddingTop: 4, children: /* @__PURE__ */ jsx(Link, { tag: NavLink, to: \"/auth/login\", children: formatMessage({ id: \"Auth.link.ready\", defaultMessage: \"Ready to sign in?\" }) }) }) })\n ] }) });\n};\n\nconst FORMS = {\n \"forgot-password\": ForgotPassword,\n \"forgot-password-success\": ForgotPasswordSuccess,\n // the `Component` attribute is set after all forms and CE/EE components are loaded, but since we\n // are here outside of a React component we can not use the hook directly\n login: () => null,\n oops: Oops,\n register: Register,\n \"register-admin\": Register,\n \"reset-password\": ResetPassword,\n providers: () => null\n};\n\nconst AuthPage = () => {\n const { search } = useLocation();\n const match = useMatch(\"/auth/:authType\");\n const authType = match?.params.authType;\n const { data } = useInitQuery();\n const { hasAdmin } = data ?? {};\n const Login$1 = useEnterprise(\n Login,\n async () => (await import('./Login-D0yBRhYs.mjs')).LoginEE\n );\n const forms = useEnterprise(\n FORMS,\n async () => (await import('./constants-BNqLfJa0.mjs')).FORMS,\n {\n combine(ceForms, eeForms) {\n return {\n ...ceForms,\n ...eeForms\n };\n },\n defaultValue: FORMS\n }\n );\n const { token } = useAuth(\"AuthPage\", (auth) => auth);\n if (!authType || !forms) {\n return /* @__PURE__ */ jsx(Navigate, { to: \"/\" });\n }\n const Component = forms[authType];\n if (!Component) {\n return /* @__PURE__ */ jsx(Navigate, { to: \"/\" });\n }\n if (authType !== \"register-admin\" && authType !== \"register\" && token) {\n return /* @__PURE__ */ jsx(Navigate, { to: \"/\" });\n }\n if (hasAdmin && authType === \"register-admin\" && token) {\n return /* @__PURE__ */ jsx(Navigate, { to: \"/\" });\n }\n if (!hasAdmin && authType !== \"register-admin\") {\n return /* @__PURE__ */ jsx(\n Navigate,\n {\n to: {\n pathname: \"/auth/register-admin\",\n // Forward the `?redirectTo` from /auth/login\n // /abc => /auth/login?redirectTo=%2Fabc => /auth/register-admin?redirectTo=%2Fabc\n search\n }\n }\n );\n }\n if (Login$1 && authType === \"login\") {\n return /* @__PURE__ */ jsx(Login$1, {});\n } else if (authType === \"login\" && !Login$1) {\n return null;\n }\n return /* @__PURE__ */ jsx(Component, { hasAdmin });\n};\n\nconst ROUTES_CE = [\n {\n lazy: async () => {\n const { ProtectedListPage } = await import('./ListPage-CaG5dTb6.mjs');\n return {\n Component: ProtectedListPage\n };\n },\n path: \"roles\"\n },\n {\n lazy: async () => {\n const { ProtectedCreatePage } = await import('./CreatePage-bxXyk86q.mjs');\n return {\n Component: ProtectedCreatePage\n };\n },\n path: \"roles/duplicate/:id\"\n },\n {\n lazy: async () => {\n const { ProtectedCreatePage } = await import('./CreatePage-bxXyk86q.mjs');\n return {\n Component: ProtectedCreatePage\n };\n },\n path: \"roles/new\"\n },\n {\n lazy: async () => {\n const { ProtectedEditPage } = await import('./EditPage-DajIbvUn.mjs');\n return {\n Component: ProtectedEditPage\n };\n },\n path: \"roles/:id\"\n },\n {\n lazy: async () => {\n const { ProtectedListPage } = await import('./ListPage-CyH51ZTY.mjs');\n return {\n Component: ProtectedListPage\n };\n },\n path: \"users\"\n },\n {\n lazy: async () => {\n const { ProtectedEditPage } = await import('./EditPage-B12sx5VK.mjs');\n return {\n Component: ProtectedEditPage\n };\n },\n path: \"users/:id\"\n },\n {\n lazy: async () => {\n const { ProtectedCreatePage } = await import('./CreatePage-CXwAW4_7.mjs');\n return {\n Component: ProtectedCreatePage\n };\n },\n path: \"webhooks/create\"\n },\n {\n lazy: async () => {\n const { ProtectedEditPage } = await import('./EditPage-BSbmg6cK.mjs').then(n => n.b);\n return {\n Component: ProtectedEditPage\n };\n },\n path: \"webhooks/:id\"\n },\n {\n lazy: async () => {\n const { ProtectedListPage } = await import('./ListPage-Toghd_h5.mjs');\n return {\n Component: ProtectedListPage\n };\n },\n path: \"webhooks\"\n },\n {\n lazy: async () => {\n const { ProtectedListView } = await import('./ListView-rpYxcjHi.mjs');\n return {\n Component: ProtectedListView\n };\n },\n path: \"api-tokens\"\n },\n {\n lazy: async () => {\n const { ProtectedCreateView } = await import('./CreateView-BA6R0LUW.mjs');\n return {\n Component: ProtectedCreateView\n };\n },\n path: \"api-tokens/create\"\n },\n {\n lazy: async () => {\n const { ProtectedEditView } = await import('./EditViewPage-C001NF8V.mjs');\n return {\n Component: ProtectedEditView\n };\n },\n path: \"api-tokens/:id\"\n },\n {\n lazy: async () => {\n const { ProtectedCreateView } = await import('./CreateView-B7CRxROf.mjs');\n return {\n Component: ProtectedCreateView\n };\n },\n path: \"transfer-tokens/create\"\n },\n {\n lazy: async () => {\n const { ProtectedListView } = await import('./ListView-Db9WuSOT.mjs');\n return {\n Component: ProtectedListView\n };\n },\n path: \"transfer-tokens\"\n },\n {\n lazy: async () => {\n const { ProtectedEditView } = await import('./EditView-CapjT42r.mjs');\n return {\n Component: ProtectedEditView\n };\n },\n path: \"transfer-tokens/:id\"\n },\n {\n lazy: async () => {\n const { ProtectedInstalledPlugins } = await import('./InstalledPlugins-Dk9ETyZK.mjs');\n return {\n Component: ProtectedInstalledPlugins\n };\n },\n path: \"list-plugins\"\n },\n {\n lazy: async () => {\n const { PurchaseAuditLogs } = await import('./PurchaseAuditLogs-DapnbCCX.mjs');\n return {\n Component: PurchaseAuditLogs\n };\n },\n path: \"purchase-audit-logs\"\n },\n {\n lazy: async () => {\n const { PurchaseSingleSignOn } = await import('./PurchaseSingleSignOn-CCRXwI7U.mjs');\n return {\n Component: PurchaseSingleSignOn\n };\n },\n path: \"purchase-single-sign-on\"\n }\n];\n\nconst getImmutableRoutes = () => [\n {\n path: \"usecase\",\n lazy: async () => {\n const { PrivateUseCasePage } = await import('./UseCasePage-DE51MfBE.mjs');\n return {\n Component: PrivateUseCasePage\n };\n }\n },\n // this needs to go before auth/:authType because otherwise it won't match the route\n ...getEERoutes$1(),\n {\n path: \"auth/:authType\",\n element: /* @__PURE__ */ jsx(AuthPage, {})\n }\n];\nconst getInitialRoutes = () => [\n {\n index: true,\n lazy: async () => {\n const { HomePage } = await import('./HomePage-t2BVAVjN.mjs');\n return {\n Component: HomePage\n };\n }\n },\n {\n path: \"me\",\n lazy: async () => {\n const { ProfilePage } = await import('./ProfilePage-Byu9mAXE.mjs');\n return {\n Component: ProfilePage\n };\n }\n },\n {\n path: \"marketplace\",\n lazy: async () => {\n const { ProtectedMarketplacePage } = await import('./MarketplacePage-whaapwwK.mjs');\n return {\n Component: ProtectedMarketplacePage\n };\n }\n },\n {\n path: \"settings/*\",\n lazy: async () => {\n const { Layout } = await import('./Layout-D6qWR-Hx.mjs');\n return {\n Component: Layout\n };\n },\n children: [\n {\n path: \"application-infos\",\n lazy: async () => {\n const { ApplicationInfoPage } = await import('./ApplicationInfoPage-CbMAEtrk.mjs');\n return {\n Component: ApplicationInfoPage\n };\n }\n },\n // ...Object.values(this.settings).flatMap(({ links }) =>\n // links.map(({ to, Component }) => ({\n // path: `${to}/*`,\n // element: (\n // <React.Suspense fallback={<Page.Loading />}>\n // <Component />\n // </React.Suspense>\n // ),\n // }))\n // ),\n ...[...getEERoutes(), ...ROUTES_CE].filter(\n (route, index, refArray) => refArray.findIndex((obj) => obj.path === route.path) === index\n )\n ]\n }\n];\n\nclass Router {\n _routes = [];\n router = null;\n _menu = [];\n _settings = {\n global: {\n id: \"global\",\n intlLabel: {\n id: \"Settings.global\",\n defaultMessage: \"Global Settings\"\n },\n links: []\n }\n };\n constructor(initialRoutes) {\n this._routes = initialRoutes;\n }\n get routes() {\n return this._routes;\n }\n get menu() {\n return this._menu;\n }\n get settings() {\n return this._settings;\n }\n /**\n * @internal This method is used internally by Strapi to create the router.\n * It should not be used by plugins, doing so will likely break the application.\n */\n createRouter(strapi, { memory, ...opts } = {}) {\n const routes = [\n {\n path: \"/*\",\n errorElement: /* @__PURE__ */ jsx(Provider$1, { store: strapi.store, children: /* @__PURE__ */ jsx(LanguageProvider, { messages: strapi.configurations.translations, children: /* @__PURE__ */ jsx(Theme, { themes: strapi.configurations.themes, children: /* @__PURE__ */ jsx(ErrorElement, {}) }) }) }),\n element: /* @__PURE__ */ jsx(App, { strapi, store: strapi.store }),\n children: [\n ...getImmutableRoutes(),\n {\n path: \"/*\",\n lazy: async () => {\n const { PrivateAdminLayout } = await import('./AuthenticatedLayout-B5MLuW72.mjs');\n return {\n Component: PrivateAdminLayout\n };\n },\n children: [\n ...this.routes,\n {\n path: \"*\",\n element: /* @__PURE__ */ jsx(NotFoundPage, {})\n }\n ]\n }\n ]\n }\n ];\n if (memory) {\n this.router = createMemoryRouter(routes, opts);\n } else {\n this.router = createBrowserRouter(routes, opts);\n }\n return this.router;\n }\n addMenuLink = (link) => {\n invariant(link.to, `[${link.intlLabel.defaultMessage}]: link.to should be defined`);\n invariant(\n typeof link.to === \"string\",\n `[${link.intlLabel.defaultMessage}]: Expected link.to to be a string instead received ${typeof link.to}`\n );\n invariant(\n link.intlLabel?.id && link.intlLabel?.defaultMessage,\n `[${link.intlLabel.defaultMessage}]: link.intlLabel.id & link.intlLabel.defaultMessage should be defined`\n );\n invariant(\n !link.Component || link.Component && typeof link.Component === \"function\",\n `[${link.intlLabel.defaultMessage}]: link.Component must be a function returning a Promise that returns a default component. Please use: \\`Component: () => import(path)\\` instead.`\n );\n if (!link.Component || link.Component && typeof link.Component === \"function\" && // @ts-expect-error – shh\n link.Component[Symbol.toStringTag] === \"AsyncFunction\") {\n console.warn(\n `\n [${link.intlLabel.defaultMessage}]: [deprecated] addMenuLink() was called with an async Component from the plugin \"${link.intlLabel.defaultMessage}\". This will be removed in the future. Please use: \\`Component: () => import(path)\\` ensuring you return a default export instead.\n `.trim()\n );\n }\n if (link.to.startsWith(\"/\")) {\n console.warn(\n `[${link.intlLabel.defaultMessage}]: the \\`to\\` property of your menu link is an absolute path, it should be relative to the root of the application. This has been corrected for you but will be removed in a future version of Strapi.`\n );\n link.to = link.to.slice(1);\n }\n const { Component, ...restLink } = link;\n if (Component) {\n this._routes.push({\n path: `${link.to}/*`,\n lazy: async () => {\n const mod = await Component();\n if (\"default\" in mod) {\n return { Component: mod.default };\n } else {\n return { Component: mod };\n }\n }\n });\n }\n this.menu.push(restLink);\n };\n addSettingsLink(section, link) {\n if (typeof section === \"object\" && \"links\" in section) {\n invariant(section.id, \"section.id should be defined\");\n invariant(\n section.intlLabel?.id && section.intlLabel?.defaultMessage,\n \"section.intlLabel should be defined\"\n );\n invariant(this.settings[section.id] === void 0, \"A similar section already exists\");\n invariant(Array.isArray(section.links), \"TypeError expected links to be an array\");\n this.settings[section.id] = { ...section, links: [] };\n section.links.forEach((link2) => {\n this.createSettingsLink(section.id, link2);\n });\n } else if (typeof section === \"object\" && link) {\n invariant(section.id, \"section.id should be defined\");\n invariant(\n section.intlLabel?.id && section.intlLabel?.defaultMessage,\n \"section.intlLabel should be defined\"\n );\n invariant(this.settings[section.id] === void 0, \"A similar section already exists\");\n this.settings[section.id] = { ...section, links: [] };\n if (Array.isArray(link)) {\n link.forEach((l) => this.createSettingsLink(section.id, l));\n } else {\n this.createSettingsLink(section.id, link);\n }\n } else if (typeof section === \"string\" && link) {\n if (Array.isArray(link)) {\n link.forEach((l) => this.createSettingsLink(section, l));\n } else {\n this.createSettingsLink(section, link);\n }\n } else {\n throw new Error(\n \"Invalid arguments provided to addSettingsLink, at minimum a sectionId and link are required.\"\n );\n }\n }\n createSettingsLink = (sectionId, link) => {\n invariant(this._settings[sectionId], \"The section does not exist\");\n invariant(link.id, `[${link.intlLabel.defaultMessage}]: link.id should be defined`);\n invariant(\n link.intlLabel?.id && link.intlLabel?.defaultMessage,\n `[${link.intlLabel.defaultMessage}]: link.intlLabel.id & link.intlLabel.defaultMessage`\n );\n invariant(link.to, `[${link.intlLabel.defaultMessage}]: link.to should be defined`);\n invariant(\n !link.Component || link.Component && typeof link.Component === \"function\",\n `[${link.intlLabel.defaultMessage}]: link.Component must be a function returning a Promise. Please use: \\`Component: () => import(path)\\` instead.`\n );\n if (!link.Component || link.Component && typeof link.Component === \"function\" && // @ts-expect-error – shh\n link.Component[Symbol.toStringTag] === \"AsyncFunction\") {\n console.warn(\n `\n [${link.intlLabel.defaultMessage}]: [deprecated] addSettingsLink() was called with an async Component from the plugin \"${link.intlLabel.defaultMessage}\". This will be removed in the future. Please use: \\`Component: () => import(path)\\` ensuring you return a default export instead.\n `.trim()\n );\n }\n if (link.to.startsWith(\"/\")) {\n console.warn(\n `[${link.intlLabel.defaultMessage}]: the \\`to\\` property of your settings link is an absolute path. It should be relative to \\`/settings\\`. This has been corrected for you but will be removed in a future version of Strapi.`\n );\n link.to = link.to.slice(1);\n }\n if (link.to.split(\"/\")[0] === \"settings\") {\n console.warn(\n `[${link.intlLabel.defaultMessage}]: the \\`to\\` property of your settings link has \\`settings\\` as the first part of it's path. It should be relative to \\`settings\\` and therefore, not include it. This has been corrected for you but will be removed in a future version of Strapi.`\n );\n link.to = link.to.split(\"/\").slice(1).join(\"/\");\n }\n const { Component, ...restLink } = link;\n const settingsIndex = this._routes.findIndex((route) => route.path === \"settings/*\");\n if (!settingsIndex) {\n console.warn(\n \"A third party plugin has removed the settings section, the settings link cannot be added.\"\n );\n return;\n } else if (!this._routes[settingsIndex].children) {\n this._routes[settingsIndex].children = [];\n }\n if (Component) {\n this._routes[settingsIndex].children.push({\n path: `${link.to}/*`,\n lazy: async () => {\n const mod = await Component();\n if (\"default\" in mod) {\n return { Component: mod.default };\n } else {\n return { Component: mod };\n }\n }\n });\n }\n this._settings[sectionId].links.push(restLink);\n };\n /**\n * @alpha\n * @description Adds a route or an array of routes to the router.\n * Otherwise, pass a function that receives the current routes and\n * returns the new routes in a reducer like fashion.\n */\n addRoute(route) {\n if (Array.isArray(route)) {\n this._routes = [...this._routes, ...route];\n } else if (typeof route === \"object\" && route !== null) {\n this._routes.push(route);\n } else if (typeof route === \"function\") {\n this._routes = route(this._routes);\n } else {\n throw new Error(\n `Expected the \\`route\\` passed to \\`addRoute\\` to be an array or a function, but received ${getPrintableType(\n route\n )}`\n );\n }\n }\n}\nconst getPrintableType = (value) => {\n const nativeType = typeof value;\n if (nativeType === \"object\") {\n if (value === null)\n return \"null\";\n if (Array.isArray(value))\n return \"array\";\n if (value instanceof Object && value.constructor.name !== \"Object\") {\n return value.constructor.name;\n }\n }\n return nativeType;\n};\n\nconst staticReducers = {\n [adminApi.reducerPath]: adminApi.reducer,\n admin_app: reducer$2\n};\nconst injectReducerStoreEnhancer = (appReducers) => (next) => (...args) => {\n const store = next(...args);\n const asyncReducers = {};\n return {\n ...store,\n asyncReducers,\n injectReducer: (key, asyncReducer) => {\n asyncReducers[key] = asyncReducer;\n store.replaceReducer(\n // @ts-expect-error we dynamically add reducers which makes the types uncomfortable.\n combineReducers({\n ...appReducers,\n ...asyncReducers\n })\n );\n }\n };\n};\nconst configureStoreImpl = (preloadedState = {}, appMiddlewares = [], injectedReducers = {}) => {\n const coreReducers = { ...staticReducers, ...injectedReducers };\n const defaultMiddlewareOptions = {};\n if (process.env.NODE_ENV === \"test\") {\n defaultMiddlewareOptions.serializableCheck = false;\n defaultMiddlewareOptions.immutableCheck = false;\n }\n const store = configureStore({\n preloadedState: {\n admin_app: preloadedState.admin_app\n },\n reducer: coreReducers,\n devTools: process.env.NODE_ENV !== \"production\",\n middleware: (getDefaultMiddleware) => [\n ...getDefaultMiddleware(defaultMiddlewareOptions),\n rtkQueryUnauthorizedMiddleware,\n adminApi.middleware,\n ...appMiddlewares.map((m) => m())\n ],\n enhancers: [injectReducerStoreEnhancer(coreReducers)]\n });\n return store;\n};\nconst rtkQueryUnauthorizedMiddleware = ({ dispatch }) => (next) => (action) => {\n if (isRejected(action) && action.payload?.status === 401) {\n dispatch(logout());\n window.location.href = \"/admin/auth/login\";\n return;\n }\n return next(action);\n};\n\nconst getBasename = () => (process.env.ADMIN_PATH ?? \"\").replace(window.location.origin, \"\");\n\nconst createHook = () => {\n const _handlers = [];\n return {\n register(fn) {\n _handlers.push(fn);\n },\n delete(handler) {\n _handlers.splice(_handlers.indexOf(handler), 1);\n },\n runWaterfall(args, store) {\n return _handlers.reduce((acc, fn) => fn(acc, store), args);\n },\n async runWaterfallAsync(args, store) {\n let result = args;\n for (const fn of _handlers) {\n result = await fn(result, store);\n }\n return result;\n },\n runSeries(...args) {\n return _handlers.map((fn) => fn(...args));\n },\n async runSeriesAsync(...args) {\n const result = [];\n for (const fn of _handlers) {\n result.push(await fn(...args));\n }\n return result;\n },\n runParallel(...args) {\n return Promise.all(\n _handlers.map((fn) => {\n return fn(...args);\n })\n );\n }\n };\n};\n\nconst languageNativeNames = {\n ar: \"العربية\",\n ca: \"Català\",\n cs: \"Čeština\",\n de: \"Deutsch\",\n dk: \"Dansk\",\n en: \"English\",\n \"en-GB\": \"English (United Kingdom)\",\n es: \"Español\",\n eu: \"Euskara\",\n fr: \"Français\",\n gu: \"Gujarati\",\n he: \"עברית\",\n hu: \"Magyar\",\n id: \"Indonesian\",\n it: \"Italiano\",\n ja: \"日本語\",\n ko: \"한국어\",\n ml: \"Malayalam\",\n ms: \"Melayu\",\n nl: \"Nederlands\",\n no: \"Norwegian\",\n pl: \"Polski\",\n \"pt-BR\": \"Português (Brasil)\",\n pt: \"Português (Portugal)\",\n ru: \"Русский\",\n sk: \"Slovenčina\",\n sv: \"Swedish\",\n th: \"ไทย\",\n tr: \"Türkçe\",\n uk: \"Українська\",\n vi: \"Tiếng Việt\",\n \"zh-Hans\": \"中文 (简体)\",\n zh: \"中文 (繁體)\",\n sa: \"संस्कृत\",\n hi: \"हिन्दी\"\n};\n\nconst {\n INJECT_COLUMN_IN_TABLE,\n MUTATE_COLLECTION_TYPES_LINKS,\n MUTATE_EDIT_VIEW_LAYOUT,\n MUTATE_SINGLE_TYPES_LINKS\n} = HOOKS;\nclass StrapiApp {\n appPlugins;\n plugins = {};\n hooksDict = {};\n admin = {\n injectionZones: {}\n };\n translations = {};\n configurations = {\n authLogo: StrapiLogo,\n head: { favicon: \"\" },\n locales: [\"en\"],\n menuLogo: StrapiLogo,\n notifications: { releases: true },\n themes: { light: lightTheme, dark: darkTheme },\n translations: {},\n tutorials: true\n };\n /**\n * APIs\n */\n rbac = new RBAC();\n router;\n library = {\n components: {},\n fields: {}\n };\n middlewares = [];\n reducers = {};\n store = null;\n customFields = new CustomFields();\n constructor({ config, appPlugins } = {}) {\n this.appPlugins = appPlugins || {};\n this.createCustomConfigurations(config ?? {});\n this.createHook(INJECT_COLUMN_IN_TABLE);\n this.createHook(MUTATE_COLLECTION_TYPES_LINKS);\n this.createHook(MUTATE_SINGLE_TYPES_LINKS);\n this.createHook(MUTATE_EDIT_VIEW_LAYOUT);\n this.router = new Router(getInitialRoutes());\n }\n addComponents = (components) => {\n if (Array.isArray(components)) {\n components.map((comp) => {\n invariant(comp.Component, \"A Component must be provided\");\n invariant(comp.name, \"A type must be provided\");\n this.library.components[comp.name] = comp.Component;\n });\n } else {\n invariant(components.Component, \"A Component must be provided\");\n invariant(components.name, \"A type must be provided\");\n this.library.components[components.name] = components.Component;\n }\n };\n addFields = (fields) => {\n if (Array.isArray(fields)) {\n fields.map((field) => {\n invariant(field.Component, \"A Component must be provided\");\n invariant(field.type, \"A type must be provided\");\n this.library.fields[field.type] = field.Component;\n });\n } else {\n invariant(fields.Component, \"A Component must be provided\");\n invariant(fields.type, \"A type must be provided\");\n this.library.fields[fields.type] = fields.Component;\n }\n };\n addMiddlewares = (middlewares) => {\n middlewares.forEach((middleware) => {\n this.middlewares.push(middleware);\n });\n };\n addRBACMiddleware = (m) => {\n if (Array.isArray(m)) {\n this.rbac.use(m);\n } else {\n this.rbac.use(m);\n }\n };\n addReducers = (reducers) => {\n Object.entries(reducers).forEach(([name, reducer]) => {\n this.reducers[name] = reducer;\n });\n };\n addMenuLink = (link) => this.router.addMenuLink(link);\n /**\n * @deprecated use `addSettingsLink` instead, it internally supports\n * adding multiple links at once.\n */\n addSettingsLinks = (sectionId, links) => {\n invariant(Array.isArray(links), \"TypeError expected links to be an array\");\n this.router.addSettingsLink(sectionId, links);\n };\n /**\n * @deprecated use `addSettingsLink` instead, you can pass a section object to\n * create the section and links at the same time.\n */\n createSettingSection = (section, links) => this.router.addSettingsLink(section, links);\n addSettingsLink = (sectionId, link) => {\n this.router.addSettingsLink(sectionId, link);\n };\n async bootstrap(customBootstrap) {\n Object.keys(this.appPlugins).forEach((plugin) => {\n const bootstrap = this.appPlugins[plugin].bootstrap;\n if (bootstrap) {\n bootstrap({\n addSettingsLink: this.addSettingsLink,\n addSettingsLinks: this.addSettingsLinks,\n getPlugin: this.getPlugin,\n registerHook: this.registerHook\n });\n }\n });\n if (isFunction(customBootstrap)) {\n customBootstrap({\n addComponents: this.addComponents,\n addFields: this.addFields,\n addMenuLink: this.addMenuLink,\n addReducers: this.addReducers,\n addSettingsLink: this.addSettingsLink,\n addSettingsLinks: this.addSettingsLinks,\n getPlugin: this.getPlugin,\n registerHook: this.registerHook\n });\n }\n }\n createCustomConfigurations = (customConfig) => {\n if (customConfig.locales) {\n this.configurations.locales = [\n \"en\",\n ...customConfig.locales?.filter((loc) => loc !== \"en\") || []\n ];\n }\n if (customConfig.auth?.logo) {\n this.configurations.authLogo = customConfig.auth.logo;\n }\n if (customConfig.menu?.logo) {\n this.configurations.menuLogo = customConfig.menu.logo;\n }\n if (customConfig.head?.favicon) {\n this.configurations.head.favicon = customConfig.head.favicon;\n }\n if (customConfig.theme) {\n const darkTheme2 = customConfig.theme.dark;\n const lightTheme2 = customConfig.theme.light;\n if (!darkTheme2 && !lightTheme2) {\n console.warn(\n `[deprecated] In future versions, Strapi will stop supporting this theme customization syntax. The theme configuration accepts a light and a dark key to customize each theme separately. See https://docs.strapi.io/developer-docs/latest/development/admin-customization.html#theme-extension.`.trim()\n );\n merge(this.configurations.themes.light, customConfig.theme);\n }\n if (lightTheme2)\n merge(this.configurations.themes.light, lightTheme2);\n if (darkTheme2)\n merge(this.configurations.themes.dark, darkTheme2);\n }\n if (customConfig.notifications?.releases !== void 0) {\n this.configurations.notifications.releases = customConfig.notifications.releases;\n }\n if (customConfig.tutorials !== void 0) {\n this.configurations.tutorials = customConfig.tutorials;\n }\n };\n createHook = (name) => {\n this.hooksDict[name] = createHook();\n };\n getAdminInjectedComponents = (moduleName, containerName, blockName) => {\n try {\n return this.admin.injectionZones[moduleName][containerName][blockName] || [];\n } catch (err) {\n console.error(\"Cannot get injected component\", err);\n return [];\n }\n };\n getPlugin = (pluginId) => this.plugins[pluginId];\n async register(customRegister) {\n Object.keys(this.appPlugins).forEach((plugin) => {\n this.appPlugins[plugin].register(this);\n });\n if (isFunction(customRegister)) {\n customRegister(this);\n }\n }\n async loadAdminTrads() {\n const adminLocales = await Promise.all(\n this.configurations.locales.map(async (locale) => {\n try {\n const { default: data } = await __variableDynamicImportRuntimeHelper((/* #__PURE__ */ Object.assign({\"./translations/en-GB.js\": () => import('./en-GB-D81NWpkp.mjs')})), `./translations/${locale}.js`, 3);\n return { data, locale };\n } catch {\n try {\n const { default: data } = await __variableDynamicImportRuntimeHelper((/* #__PURE__ */ Object.assign({\"./translations/ar.json\": () => import('./ar-7vbwrPth.mjs'),\"./translations/ca.json\": () => import('./ca-f06Q0InB.mjs'),\"./translations/cs.json\": () => import('./cs-DrRkodPD.mjs'),\"./translations/de.json\": () => import('./de-D0NA2abW.mjs'),\"./translations/dk.json\": () => import('./dk-Cv0jDfcZ.mjs'),\"./translations/en.json\": () => import('./en-BwH0BITJ.mjs'),\"./translations/es.json\": () => import('./es-t8XFZqIM.mjs'),\"./translations/eu.json\": () => import('./eu-CDMMTSys.mjs'),\"./translations/fr.json\": () => import('./fr-CKlZ-5Zr.mjs'),\"./translations/gu.json\": () => import('./gu-CSS25C49.mjs'),\"./translations/he.json\": () => import('./he-C3w9omDw.mjs'),\"./translations/hi.json\": () => import('./hi-DW2CutdA.mjs'),\"./translations/hu.json\": () => import('./hu-DaDd6FHR.mjs'),\"./translations/id.json\": () => import('./id-cH3Ovozx.mjs'),\"./translations/it.json\": () => import('./it-T1rZP3NX.mjs'),\"./translations/ja.json\": () => import('./ja-Cc9Dg_QK.mjs'),\"./translations/ko.json\": () => import('./ko-D1e-SMHS.mjs'),\"./translations/ml.json\": () => import('./ml-FLft_QIc.mjs'),\"./translations/ms.json\": () => import('./ms-eMDSLvhl.mjs'),\"./translations/nl.json\": () => import('./nl-CubaFTJw.mjs'),\"./translations/no.json\": () => import('./no-9TbSG07o.mjs'),\"./translations/pl.json\": () => import('./pl-B0hZgHvQ.mjs'),\"./translations/pt-BR.json\": () => import('./pt-BR-BDpWvCrQ.mjs'),\"./translations/pt.json\": () => import('./pt-8dwKSOn3.mjs'),\"./translations/ru.json\": () => import('./ru-C34i9wJx.mjs'),\"./translations/sa.json\": () => import('./sa-CHD-r_h-.mjs'),\"./translations/sk.json\": () => import('./sk-DQ2qpsG2.mjs'),\"./translations/sv.json\": () => import('./sv-D0vPVUAT.mjs'),\"./translations/th.json\": () => import('./th-BG3IOCqV.mjs'),\"./translations/tr.json\": () => import('./tr-Dq45DRRZ.mjs'),\"./translations/uk.json\": () => import('./uk-Ud9QNfkB.mjs'),\"./translations/vi.json\": () => import('./vi-CGrr4ioy.mjs'),\"./translations/zh-Hans.json\": () => import('./zh-Hans-C44LvcXE.mjs'),\"./translations/zh.json\": () => import('./zh-LqPg8hbL.mjs')})), `./translations/${locale}.json`, 3);\n return { data, locale };\n } catch {\n return { data: null, locale };\n }\n }\n })\n );\n return adminLocales.reduce((acc, current) => {\n if (current.data) {\n acc[current.locale] = current.data;\n }\n return acc;\n }, {});\n }\n /**\n * Load the application's translations and merged the custom translations\n * with the default ones.\n */\n async loadTrads(customTranslations = {}) {\n const adminTranslations = await this.loadAdminTrads();\n const arrayOfPromises = Object.keys(this.appPlugins).map((plugin) => {\n const registerTrads = this.appPlugins[plugin].registerTrads;\n if (registerTrads) {\n return registerTrads({ locales: this.configurations.locales });\n }\n return null;\n }).filter((a) => a);\n const pluginsTrads = await Promise.all(arrayOfPromises);\n const mergedTrads = pluginsTrads.reduce(\n (acc, currentPluginTrads) => {\n const pluginTrads = currentPluginTrads.reduce(\n (acc1, current) => {\n acc1[current.locale] = current.data;\n return acc1;\n },\n {}\n );\n Object.keys(pluginTrads).forEach((locale) => {\n acc[locale] = { ...acc[locale], ...pluginTrads[locale] };\n });\n return acc;\n },\n {}\n );\n const translations = this.configurations.locales.reduce((acc, current) => {\n acc[current] = {\n ...adminTranslations[current],\n ...mergedTrads[current] || {},\n ...customTranslations[current] ?? {}\n };\n return acc;\n }, {});\n this.configurations.translations = translations;\n return Promise.resolve();\n }\n registerHook = (name, fn) => {\n invariant(\n this.hooksDict[name],\n `The hook ${name} is not defined. You are trying to register a hook that does not exist in the application.`\n );\n this.hooksDict[name].register(fn);\n };\n registerPlugin = (pluginConf) => {\n const plugin = new Plugin(pluginConf);\n this.plugins[plugin.pluginId] = plugin;\n };\n runHookSeries = (name, asynchronous = false) => asynchronous ? this.hooksDict[name].runSeriesAsync() : this.hooksDict[name].runSeries();\n runHookWaterfall = (name, initialValue, store) => {\n return this.hooksDict[name].runWaterfall(initialValue, store);\n };\n runHookParallel = (name) => this.hooksDict[name].runParallel();\n render() {\n const localeNames = pick(languageNativeNames, this.configurations.locales || []);\n const locale = localStorage.getItem(LANGUAGE_LOCAL_STORAGE_KEY) || \"en\";\n this.store = configureStoreImpl(\n {\n admin_app: {\n permissions: merge({}, ADMIN_PERMISSIONS_CE, ADMIN_PERMISSIONS_EE),\n theme: {\n availableThemes: [],\n currentTheme: localStorage.getItem(THEME_LOCAL_STORAGE_KEY) || \"system\"\n },\n language: {\n locale: localeNames[locale] ? locale : \"en\",\n localeNames\n },\n token: getStoredToken()\n }\n },\n this.middlewares,\n this.reducers\n );\n const router = this.router.createRouter(this, {\n basename: getBasename()\n });\n return /* @__PURE__ */ jsx(RouterProvider, { router });\n }\n}\n\nconst renderAdmin = async (mountNode, { plugins, customisations, features }) => {\n if (!mountNode) {\n throw new Error(\"[@strapi/admin]: Could not find the root element to mount the admin app\");\n }\n window.strapi = {\n /**\n * This ENV variable is passed from the strapi instance, by default no url is set\n * in the config and therefore the instance returns you an empty string so URLs are relative.\n *\n * To ensure that the backendURL is always set, we use the window.location.origin as a fallback.\n */\n backendURL: createAbsoluteUrl(process.env.STRAPI_ADMIN_BACKEND_URL),\n isEE: false,\n telemetryDisabled: process.env.STRAPI_TELEMETRY_DISABLED === \"true\",\n future: {\n isEnabled: (name) => {\n return features?.future?.[name] === true;\n }\n },\n // @ts-expect-error – there's pollution from the global scope of Node.\n features: {\n SSO: \"sso\",\n AUDIT_LOGS: \"audit-logs\",\n REVIEW_WORKFLOWS: \"review-workflows\",\n /**\n * If we don't get the license then we know it's not EE\n * so no feature is enabled.\n */\n isEnabled: () => false\n },\n projectType: \"Community\",\n flags: {\n nps: false,\n promoteEE: true\n }\n };\n const { get } = getFetchClient();\n try {\n const {\n data: {\n data: { isEE, features: features2, flags }\n }\n } = await get(\"/admin/project-type\");\n window.strapi.isEE = isEE;\n window.strapi.flags = flags;\n window.strapi.features = {\n ...window.strapi.features,\n isEnabled: (featureName) => features2.some((feature) => feature.name === featureName)\n };\n window.strapi.projectType = isEE ? \"Enterprise\" : \"Community\";\n } catch (err) {\n console.error(err);\n }\n const app = new StrapiApp({\n config: customisations?.config,\n appPlugins: plugins\n });\n await app.register(customisations?.register);\n await app.bootstrap(customisations?.bootstrap);\n await app.loadTrads(customisations?.config?.translations);\n createRoot(mountNode).render(app.render());\n if (typeof module !== \"undefined\" && module && \"hot\" in module && typeof module.hot === \"object\" && module.hot !== null && \"accept\" in module.hot && typeof module.hot.accept === \"function\") {\n module.hot.accept();\n }\n};\n\nconst ConfirmDialog = ({\n children,\n icon = /* @__PURE__ */ jsx(StyledWarning, {}),\n onConfirm,\n variant = \"danger-light\",\n startAction,\n endAction,\n title\n}) => {\n const { formatMessage } = useIntl();\n const [isConfirming, setIsConfirming] = React.useState(false);\n const content = children || formatMessage({\n id: \"app.confirm.body\",\n defaultMessage: \"Are you sure?\"\n });\n const handleConfirm = async (e) => {\n if (!onConfirm) {\n return;\n }\n try {\n setIsConfirming(true);\n await onConfirm(e);\n } finally {\n setIsConfirming(false);\n }\n };\n return /* @__PURE__ */ jsxs(Dialog.Content, { children: [\n /* @__PURE__ */ jsx(Dialog.Header, { children: title || formatMessage({\n id: \"app.components.ConfirmDialog.title\",\n defaultMessage: \"Confirmation\"\n }) }),\n /* @__PURE__ */ jsx(Dialog.Body, { icon, children: content }),\n /* @__PURE__ */ jsxs(Dialog.Footer, { children: [\n startAction || /* @__PURE__ */ jsx(Dialog.Cancel, { children: /* @__PURE__ */ jsx(\n Button,\n {\n fullWidth: true,\n variant: \"tertiary\",\n onClick: (e) => {\n e.stopPropagation();\n },\n children: formatMessage({\n id: \"app.components.Button.cancel\",\n defaultMessage: \"Cancel\"\n })\n }\n ) }),\n endAction || /* @__PURE__ */ jsx(Dialog.Action, { children: /* @__PURE__ */ jsx(Button, { fullWidth: true, onClick: handleConfirm, variant, loading: isConfirming, children: formatMessage({\n id: \"app.components.Button.confirm\",\n defaultMessage: \"Confirm\"\n }) }) })\n ] })\n ] });\n};\nconst StyledWarning = styled(WarningCircle)`\n width: 24px;\n height: 24px;\n\n path {\n fill: ${({ theme }) => theme.colors.danger600};\n }\n`;\n\nconst useIsMounted = () => {\n const isMounted = React.useRef(false);\n React.useLayoutEffect(() => {\n isMounted.current = true;\n return () => {\n isMounted.current = false;\n };\n }, []);\n return isMounted;\n};\n\nconst useForceUpdate = () => {\n const [tick, update] = React.useState();\n const isMounted = useIsMounted();\n const forceUpdate = React.useCallback(() => {\n if (isMounted.current) {\n update(Math.random());\n }\n }, [isMounted, update]);\n return [tick, forceUpdate];\n};\n\nconst useThrottledCallback = (callback, wait, options) => {\n const throttledCallback = useMemo(\n () => throttle(callback, wait, options),\n [callback, options, wait]\n );\n return throttledCallback;\n};\n\nconst requestIdleCallbackShim = (callback) => {\n const start = Date.now();\n return setTimeout(() => {\n callback({\n didTimeout: false,\n timeRemaining() {\n return Math.max(0, Date.now() - start);\n }\n });\n }, 1);\n};\nconst _requestIdleCallback = typeof requestIdleCallback === \"undefined\" ? requestIdleCallbackShim : requestIdleCallback;\nconst cancelIdleCallbackShim = (handle) => {\n return clearTimeout(handle);\n};\nconst _cancelIdleCallback = typeof cancelIdleCallback === \"undefined\" ? cancelIdleCallbackShim : cancelIdleCallback;\n\nconst DescriptionComponentRenderer = ({\n children,\n props,\n descriptions\n}) => {\n const statesRef = React.useRef({});\n const [tick, forceUpdate] = useForceUpdate();\n const requestHandle = React.useRef(null);\n const requestUpdate = React.useCallback(() => {\n if (requestHandle.current) {\n _cancelIdleCallback(requestHandle.current);\n }\n requestHandle.current = _requestIdleCallback(() => {\n requestHandle.current = null;\n forceUpdate();\n });\n }, [forceUpdate]);\n const throttledRequestUpdate = useThrottledCallback(requestUpdate, 60, { trailing: true });\n const update = React.useCallback(\n (id, description) => {\n if (description === null) {\n delete statesRef.current[id];\n } else {\n const current = statesRef.current[id];\n statesRef.current[id] = { ...current, value: { ...description, id } };\n }\n throttledRequestUpdate();\n },\n [throttledRequestUpdate]\n );\n const ids2 = React.useMemo(\n () => descriptions.map((description) => getCompId(description)),\n [descriptions]\n );\n const states = React.useMemo(\n () => ids2.map((id) => statesRef.current[id]?.value).filter((state) => state !== null && state !== void 0),\n /**\n * we leave tick in the deps to ensure the memo is recalculated when the `update` function is called.\n * the `ids` will most likely be stable unless we get new actions, but we can't respond to the Description\n * Component changing the ref data in any other way.\n */\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [ids2, tick]\n );\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n descriptions.map((description) => {\n const key = getCompId(description);\n return /* @__PURE__ */ jsx(Description, { id: key, description, props, update }, key);\n }),\n children(states)\n ] });\n};\nconst Description = React.memo(\n ({ description, id, props, update }) => {\n const comp = description(props);\n useShallowCompareEffect(() => {\n update(id, comp);\n return () => {\n update(id, null);\n };\n }, comp);\n return null;\n },\n (prev, next) => isEqual(prev.props, next.props)\n);\nconst ids = /* @__PURE__ */ new WeakMap();\nlet counter = 0;\nfunction getCompId(comp) {\n const cachedId = ids.get(comp);\n if (cachedId)\n return cachedId;\n const id = `${comp.name || comp.displayName || \"<anonymous>\"}-${counter++}`;\n ids.set(comp, id);\n return id;\n}\nconst useShallowCompareMemoize = (value) => {\n const ref = React.useRef(void 0);\n if (!isEqual(value, ref.current)) {\n ref.current = value;\n }\n return [ref.current];\n};\nconst useShallowCompareEffect = (callback, dependencies) => {\n React.useEffect(callback, useShallowCompareMemoize(dependencies));\n};\n\nconst BASE_FILTERS = [\n {\n label: { id: \"components.FilterOptions.FILTER_TYPES.$eq\", defaultMessage: \"is\" },\n value: \"$eq\"\n },\n {\n label: { id: \"components.FilterOptions.FILTER_TYPES.$ne\", defaultMessage: \"is not\" },\n value: \"$ne\"\n },\n {\n label: {\n id: \"components.FilterOptions.FILTER_TYPES.$null\",\n defaultMessage: \"is null\"\n },\n value: \"$null\"\n },\n {\n label: {\n id: \"components.FilterOptions.FILTER_TYPES.$notNull\",\n defaultMessage: \"is not null\"\n },\n value: \"$notNull\"\n }\n];\nconst NUMERIC_FILTERS = [\n {\n label: {\n id: \"components.FilterOptions.FILTER_TYPES.$gt\",\n defaultMessage: \"is greater than\"\n },\n value: \"$gt\"\n },\n {\n label: {\n id: \"components.FilterOptions.FILTER_TYPES.$gte\",\n defaultMessage: \"is greater than or equal to\"\n },\n value: \"$gte\"\n },\n {\n label: {\n id: \"components.FilterOptions.FILTER_TYPES.$lt\",\n defaultMessage: \"is less than\"\n },\n value: \"$lt\"\n },\n {\n label: {\n id: \"components.FilterOptions.FILTER_TYPES.$lte\",\n defaultMessage: \"is less than or equal to\"\n },\n value: \"$lte\"\n }\n];\nconst IS_SENSITIVE_FILTERS = [\n {\n label: {\n id: \"components.FilterOptions.FILTER_TYPES.$eqi\",\n defaultMessage: \"is (case insensitive)\"\n },\n value: \"$eqi\"\n },\n {\n label: {\n id: \"components.FilterOptions.FILTER_TYPES.$nei\",\n defaultMessage: \"is not (case insensitive)\"\n },\n value: \"$nei\"\n }\n];\nconst CONTAINS_FILTERS = [\n {\n label: {\n id: \"components.FilterOptions.FILTER_TYPES.$contains\",\n defaultMessage: \"contains\"\n },\n value: \"$contains\"\n },\n {\n label: {\n id: \"components.FilterOptions.FILTER_TYPES.$containsi\",\n defaultMessage: \"contains (case insensitive)\"\n },\n value: \"$containsi\"\n },\n {\n label: {\n id: \"components.FilterOptions.FILTER_TYPES.$notContains\",\n defaultMessage: \"not contains\"\n },\n value: \"$notContains\"\n },\n {\n label: {\n id: \"components.FilterOptions.FILTER_TYPES.$notContainsi\",\n defaultMessage: \"not contains (case insensitive)\"\n },\n value: \"$notContainsi\"\n }\n];\nconst STRING_PARSE_FILTERS = [\n {\n label: {\n id: \"components.FilterOptions.FILTER_TYPES.$startsWith\",\n defaultMessage: \"starts with\"\n },\n value: \"$startsWith\"\n },\n {\n label: {\n id: \"components.FilterOptions.FILTER_TYPES.$startsWithi\",\n defaultMessage: \"starts with (case insensitive)\"\n },\n value: \"$startsWithi\"\n },\n {\n label: {\n id: \"components.FilterOptions.FILTER_TYPES.$endsWith\",\n defaultMessage: \"ends with\"\n },\n value: \"$endsWith\"\n },\n {\n label: {\n id: \"components.FilterOptions.FILTER_TYPES.$endsWithi\",\n defaultMessage: \"ends with (case insensitive)\"\n },\n value: \"$endsWithi\"\n }\n];\nconst FILTERS_WITH_NO_VALUE = [\"$null\", \"$notNull\"];\n\nfunction useControllableState({\n prop,\n defaultProp,\n onChange = () => {\n }\n}) {\n const [uncontrolledProp, setUncontrolledProp] = useUncontrolledState({ defaultProp, onChange });\n const isControlled = prop !== void 0;\n const value = isControlled ? prop : uncontrolledProp;\n const handleChange = useCallbackRef(onChange);\n const setValue = React.useCallback(\n (nextValue) => {\n if (isControlled) {\n const setter = nextValue;\n const value2 = typeof nextValue === \"function\" ? setter(prop) : nextValue;\n if (value2 !== prop)\n handleChange(value2);\n } else {\n setUncontrolledProp(nextValue);\n }\n },\n [isControlled, prop, setUncontrolledProp, handleChange]\n );\n return [value, setValue];\n}\nfunction useUncontrolledState({\n defaultProp,\n onChange\n}) {\n const uncontrolledState = React.useState(defaultProp);\n const [value] = uncontrolledState;\n const prevValueRef = React.useRef(value);\n const handleChange = useCallbackRef(onChange);\n React.useEffect(() => {\n if (prevValueRef.current !== value) {\n handleChange(value);\n prevValueRef.current = value;\n }\n }, [value, prevValueRef, handleChange]);\n return uncontrolledState;\n}\n\nconst [FiltersProvider, useFilters] = createContext(\"Filters\");\nconst Root$2 = ({\n children,\n disabled = false,\n onChange,\n options = [],\n onOpenChange,\n open: openProp,\n defaultOpen,\n ...restProps\n}) => {\n const handleChange = (data) => {\n if (onChange) {\n onChange(data);\n }\n };\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange\n });\n return /* @__PURE__ */ jsx(Popover.Root, { open, onOpenChange: setOpen, ...restProps, children: /* @__PURE__ */ jsx(\n FiltersProvider,\n {\n setOpen,\n disabled,\n onChange: handleChange,\n options,\n children\n }\n ) });\n};\nconst Trigger = React.forwardRef(\n ({ label }, forwardedRef) => {\n const { formatMessage } = useIntl();\n const disabled = useFilters(\"Trigger\", ({ disabled: disabled2 }) => disabled2);\n return /* @__PURE__ */ jsx(Popover.Trigger, { children: /* @__PURE__ */ jsx(\n Button,\n {\n variant: \"tertiary\",\n ref: forwardedRef,\n startIcon: /* @__PURE__ */ jsx(Filter, {}),\n size: \"S\",\n disabled,\n children: label || formatMessage({ id: \"app.utils.filters\", defaultMessage: \"Filters\" })\n }\n ) });\n }\n);\nconst PopoverImpl = () => {\n const [{ query }, setQuery] = useQueryParams();\n const { formatMessage } = useIntl();\n const options = useFilters(\"Popover\", ({ options: options2 }) => options2);\n const onChange = useFilters(\"Popover\", ({ onChange: onChange2 }) => onChange2);\n const setOpen = useFilters(\"Popover\", ({ setOpen: setOpen2 }) => setOpen2);\n if (options.length === 0) {\n return null;\n }\n const handleSubmit = (data) => {\n const value = FILTERS_WITH_NO_VALUE.includes(data.filter) ? \"true\" : encodeURIComponent(data.value ?? \"\");\n if (!value) {\n return;\n }\n if (onChange) {\n onChange(data);\n }\n const fieldOptions = options.find((filter) => filter.name === data.name);\n const operatorValuePairing = {\n [data.filter]: value\n };\n const newFilterQuery = {\n ...query.filters,\n $and: [\n ...query.filters?.$and ?? [],\n {\n [data.name]: fieldOptions.type === \"relation\" ? {\n [fieldOptions.mainField?.name ?? \"id\"]: operatorValuePairing\n } : operatorValuePairing\n }\n ]\n };\n setQuery({ filters: newFilterQuery, page: 1 });\n setOpen(false);\n };\n return /* @__PURE__ */ jsx(Popover.Content, { children: /* @__PURE__ */ jsx(Box, { padding: 3, children: /* @__PURE__ */ jsx(\n Form,\n {\n method: \"POST\",\n initialValues: {\n name: options[0]?.name,\n filter: BASE_FILTERS[0].value\n },\n onSubmit: handleSubmit,\n children: ({ values: formValues, modified, isSubmitting }) => {\n const filter = options.find((filter2) => filter2.name === formValues.name);\n const Input = filter?.input || MemoizedInputRenderer;\n return /* @__PURE__ */ jsxs(Flex, { direction: \"column\", alignItems: \"stretch\", gap: 2, style: { minWidth: 184 }, children: [\n [\n {\n [\"aria-label\"]: formatMessage({\n id: \"app.utils.select-field\",\n defaultMessage: \"Select field\"\n }),\n name: \"name\",\n options: options.map((filter2) => ({\n label: filter2.label,\n value: filter2.name\n })),\n placholder: formatMessage({\n id: \"app.utils.select-field\",\n defaultMessage: \"Select field\"\n }),\n type: \"enumeration\"\n },\n {\n [\"aria-label\"]: formatMessage({\n id: \"app.utils.select-filter\",\n defaultMessage: \"Select filter\"\n }),\n name: \"filter\",\n options: filter?.operators || getFilterList(filter).map((opt) => ({\n label: formatMessage(opt.label),\n value: opt.value\n })),\n placeholder: formatMessage({\n id: \"app.utils.select-filter\",\n defaultMessage: \"Select filter\"\n }),\n type: \"enumeration\"\n }\n ].map((field) => /* @__PURE__ */ jsx(MemoizedInputRenderer, { ...field }, field.name)),\n filter && formValues.filter && formValues.filter !== \"$null\" && formValues.filter !== \"$notNull\" ? /* @__PURE__ */ jsx(\n Input,\n {\n ...filter,\n label: null,\n \"aria-label\": filter.label,\n name: \"value\",\n type: filter.mainField?.type ?? filter.type\n }\n ) : null,\n /* @__PURE__ */ jsx(\n Button,\n {\n disabled: !modified || isSubmitting,\n size: \"L\",\n variant: \"secondary\",\n startIcon: /* @__PURE__ */ jsx(Plus, {}),\n type: \"submit\",\n fullWidth: true,\n children: formatMessage({ id: \"app.utils.add-filter\", defaultMessage: \"Add filter\" })\n }\n )\n ] });\n }\n }\n ) }) });\n};\nconst getFilterList = (filter) => {\n if (!filter) {\n return [];\n }\n const type = filter.mainField?.type ? filter.mainField.type : filter.type;\n switch (type) {\n case \"email\":\n case \"text\":\n case \"string\": {\n return [\n ...BASE_FILTERS,\n ...IS_SENSITIVE_FILTERS,\n ...CONTAINS_FILTERS,\n ...STRING_PARSE_FILTERS\n ];\n }\n case \"float\":\n case \"integer\":\n case \"biginteger\":\n case \"decimal\": {\n return [...BASE_FILTERS, ...NUMERIC_FILTERS];\n }\n case \"time\":\n case \"date\": {\n return [...BASE_FILTERS, ...NUMERIC_FILTERS, ...CONTAINS_FILTERS];\n }\n case \"datetime\": {\n return [...BASE_FILTERS, ...NUMERIC_FILTERS];\n }\n case \"enumeration\": {\n return BASE_FILTERS;\n }\n default:\n return [...BASE_FILTERS, ...IS_SENSITIVE_FILTERS];\n }\n};\nconst List = () => {\n const [{ query }, setQuery] = useQueryParams();\n const options = useFilters(\"List\", ({ options: options2 }) => options2);\n const handleClick = (data) => {\n const nextFilters = (query?.filters?.$and ?? []).filter((filter) => {\n const [attributeName] = Object.keys(filter);\n if (attributeName !== data.name) {\n return true;\n }\n const { type, mainField } = options.find(({ name }) => name === attributeName);\n if (type === \"relation\") {\n const filterObj = filter[attributeName][mainField?.name ?? \"id\"];\n if (typeof filterObj === \"object\") {\n const [operator] = Object.keys(filterObj);\n const value = filterObj[operator];\n return !(operator === data.filter && value === data.value);\n }\n return true;\n } else {\n const filterObj = filter[attributeName];\n const [operator] = Object.keys(filterObj);\n const value = filterObj[operator];\n return !(operator === data.filter && value === data.value);\n }\n });\n setQuery({ filters: { $and: nextFilters }, page: 1 });\n };\n if (!query?.filters?.$and?.length) {\n return null;\n }\n return /* @__PURE__ */ jsx(Fragment, { children: query?.filters?.$and?.map((queryFilter) => {\n const [attributeName] = Object.keys(queryFilter);\n const filter = options.find(({ name }) => name === attributeName);\n const filterObj = queryFilter[attributeName];\n if (!filter || typeof filterObj !== \"object\" || filterObj === null) {\n return null;\n }\n if (filter.type === \"relation\") {\n const modelFilter = filterObj[filter.mainField?.name ?? \"id\"];\n if (typeof modelFilter === \"object\") {\n const [operator] = Object.keys(modelFilter);\n const value = modelFilter[operator];\n return /* @__PURE__ */ jsx(\n AttributeTag,\n {\n ...filter,\n onClick: handleClick,\n operator,\n value\n },\n `${attributeName}-${operator}-${value}`\n );\n }\n return null;\n } else {\n const [operator] = Object.keys(filterObj);\n const value = filterObj[operator];\n if (typeof value === \"object\") {\n return null;\n }\n return /* @__PURE__ */ jsx(\n AttributeTag,\n {\n ...filter,\n onClick: handleClick,\n operator,\n value\n },\n `${attributeName}-${operator}-${value}`\n );\n }\n }) });\n};\nconst AttributeTag = ({\n input,\n label,\n mainField,\n name,\n onClick,\n operator,\n options,\n value,\n ...filter\n}) => {\n const { formatMessage, formatDate, formatTime, formatNumber } = useIntl();\n const handleClick = () => {\n onClick({ name, value, filter: operator });\n };\n const type = mainField?.type ? mainField.type : filter.type;\n let formattedValue = value;\n switch (type) {\n case \"date\":\n formattedValue = formatDate(value, { dateStyle: \"full\" });\n break;\n case \"datetime\":\n formattedValue = formatDate(value, { dateStyle: \"full\", timeStyle: \"short\" });\n break;\n case \"time\":\n const [hour, minute] = value.split(\":\");\n const date = /* @__PURE__ */ new Date();\n date.setHours(Number(hour));\n date.setMinutes(Number(minute));\n formattedValue = formatTime(date, {\n hour: \"numeric\",\n minute: \"numeric\"\n });\n break;\n case \"float\":\n case \"integer\":\n case \"biginteger\":\n case \"decimal\":\n formattedValue = formatNumber(Number(value));\n break;\n }\n if (input && options) {\n const selectedOption = options.find((option) => {\n return (typeof option === \"string\" ? option : option.value) === value;\n });\n formattedValue = selectedOption ? typeof selectedOption === \"string\" ? selectedOption : selectedOption.label ?? selectedOption.value : value;\n }\n const content = `${label} ${formatMessage({\n id: `components.FilterOptions.FILTER_TYPES.${operator}`,\n defaultMessage: operator\n })} ${operator !== \"$null\" && operator !== \"$notNull\" ? formattedValue : \"\"}`;\n return /* @__PURE__ */ jsx(Tag, { padding: 1, onClick: handleClick, icon: /* @__PURE__ */ jsx(Cross, {}), children: content });\n};\nconst Filters = {\n List,\n Popover: PopoverImpl,\n Root: Root$2,\n Trigger\n};\n\nconst [PaginationProvider, usePagination] = createContext(\"Pagination\");\nconst Root$1 = React.forwardRef(\n ({ children, defaultPageSize = 10, pageCount = 0, defaultPage = 1, onPageSizeChange, total = 0 }, forwardedRef) => {\n const [{ query }, setQuery] = useQueryParams(\n {\n pageSize: defaultPageSize.toString(),\n page: defaultPage.toString()\n }\n );\n const setPageSize = (pageSize) => {\n setQuery({ pageSize, page: \"1\" });\n if (onPageSizeChange) {\n onPageSizeChange(pageSize);\n }\n };\n return /* @__PURE__ */ jsx(\n Flex,\n {\n ref: forwardedRef,\n paddingTop: 4,\n paddingBottom: 4,\n alignItems: \"flex-end\",\n justifyContent: \"space-between\",\n children: /* @__PURE__ */ jsx(\n PaginationProvider,\n {\n currentQuery: query,\n page: query.page,\n pageSize: query.pageSize,\n pageCount: pageCount.toString(),\n setPageSize,\n total,\n children\n }\n )\n }\n );\n }\n);\nconst PageSize = ({ options = [\"10\", \"20\", \"50\", \"100\"] }) => {\n const { formatMessage } = useIntl();\n const pageSize = usePagination(\"PageSize\", (state) => state.pageSize);\n const totalCount = usePagination(\"PageSize\", (state) => state.total);\n const setPageSize = usePagination(\"PageSize\", (state) => state.setPageSize);\n const handleChange = (value) => {\n setPageSize(value);\n };\n const minimumOption = parseInt(options[0], 10);\n if (minimumOption >= totalCount) {\n return null;\n }\n return /* @__PURE__ */ jsxs(Flex, { gap: 2, children: [\n /* @__PURE__ */ jsx(\n SingleSelect,\n {\n size: \"S\",\n \"aria-label\": formatMessage({\n id: \"components.PageFooter.select\",\n defaultMessage: \"Entries per page\"\n }),\n onChange: handleChange,\n value: pageSize,\n children: options.map((option) => /* @__PURE__ */ jsx(SingleSelectOption, { value: option, children: option }, option))\n }\n ),\n /* @__PURE__ */ jsx(Typography, { textColor: \"neutral600\", tag: \"span\", children: formatMessage({\n id: \"components.PageFooter.select\",\n defaultMessage: \"Entries per page\"\n }) })\n ] });\n};\nconst Links = ({ boundaryCount = 1, siblingCount = 1 }) => {\n const { formatMessage } = useIntl();\n const query = usePagination(\"Links\", (state) => state.currentQuery);\n const currentPage = usePagination(\"Links\", (state) => state.page);\n const totalPages = usePagination(\"Links\", (state) => state.pageCount);\n const pageCount = parseInt(totalPages, 10);\n const activePage = parseInt(currentPage, 10);\n const range = (start, end) => {\n const length = end - start + 1;\n return Array.from({ length }, (_, i) => start + i);\n };\n const startPages = range(1, Math.min(boundaryCount, pageCount));\n const endPages = range(Math.max(pageCount - boundaryCount + 1, boundaryCount + 1), pageCount);\n const siblingsStart = Math.max(\n Math.min(\n // Natural start\n activePage - siblingCount,\n // Lower boundary when page is high\n pageCount - boundaryCount - siblingCount * 2 - 1\n ),\n // Greater than startPages\n boundaryCount + 2\n );\n const siblingsEnd = Math.min(\n Math.max(\n // Natural end\n activePage + siblingCount,\n // Upper boundary when page is low\n boundaryCount + siblingCount * 2 + 2\n ),\n // Less than endPages\n endPages.length > 0 ? endPages[0] - 2 : pageCount - 1\n );\n const items = [\n ...startPages,\n // Start ellipsis\n // eslint-disable-next-line no-nested-ternary\n ...siblingsStart > boundaryCount + 2 ? [\"start-ellipsis\"] : boundaryCount + 1 < pageCount - boundaryCount ? [boundaryCount + 1] : [],\n // Sibling pages\n ...range(siblingsStart, siblingsEnd),\n // End ellipsis\n // eslint-disable-next-line no-nested-ternary\n ...siblingsEnd < pageCount - boundaryCount - 1 ? [\"end-ellipsis\"] : pageCount - boundaryCount > boundaryCount ? [pageCount - boundaryCount] : [],\n ...endPages\n ];\n if (pageCount <= 1) {\n return null;\n }\n return /* @__PURE__ */ jsxs(Pagination$1, { activePage, pageCount, children: [\n /* @__PURE__ */ jsx(PreviousLink, { tag: Link$1, to: { search: stringify({ ...query, page: activePage - 1 }) }, children: formatMessage({\n id: \"components.pagination.go-to-previous\",\n defaultMessage: \"Go to previous page\"\n }) }),\n items.map((item) => {\n if (typeof item === \"number\") {\n return /* @__PURE__ */ jsx(\n PageLink,\n {\n tag: Link$1,\n number: item,\n to: { search: stringify({ ...query, page: item }) },\n children: formatMessage(\n { id: \"components.pagination.go-to\", defaultMessage: \"Go to page {page}\" },\n { page: item }\n )\n },\n item\n );\n }\n return /* @__PURE__ */ jsx(Dots, {}, item);\n }),\n /* @__PURE__ */ jsx(NextLink, { tag: Link$1, to: { search: stringify({ ...query, page: activePage + 1 }) }, children: formatMessage({\n id: \"components.pagination.go-to-next\",\n defaultMessage: \"Go to next page\"\n }) })\n ] });\n};\nconst Pagination = {\n Root: Root$1,\n Links,\n PageSize\n};\n\nconst SearchInput = ({\n disabled,\n label,\n placeholder,\n trackedEvent,\n trackedEventDetails\n}) => {\n const inputRef = React.useRef(null);\n const iconButtonRef = React.useRef(null);\n const [{ query }, setQuery] = useQueryParams();\n const [value, setValue] = React.useState(query?._q || \"\");\n const [isOpen, setIsOpen] = React.useState(!!value);\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const handleToggle = () => setIsOpen((prev) => !prev);\n React.useLayoutEffect(() => {\n if (isOpen && inputRef.current) {\n inputRef.current.focus();\n }\n }, [isOpen]);\n const handleClear = () => {\n setValue(\"\");\n setQuery({ _q: \"\" }, \"remove\");\n };\n const handleSubmit = (e) => {\n e.preventDefault();\n if (value) {\n if (trackedEvent) {\n trackUsage(trackedEvent, trackedEventDetails);\n }\n setQuery({ _q: encodeURIComponent(value), page: 1 });\n } else {\n handleToggle();\n setQuery({ _q: \"\" }, \"remove\");\n }\n };\n if (isOpen) {\n return /* @__PURE__ */ jsx(SearchForm, { onSubmit: handleSubmit, children: /* @__PURE__ */ jsx(\n Searchbar,\n {\n ref: inputRef,\n name: \"search\",\n onChange: (e) => setValue(e.target.value),\n value,\n clearLabel: formatMessage({ id: \"clearLabel\", defaultMessage: \"Clear\" }),\n onClear: handleClear,\n placeholder,\n children: label\n }\n ) });\n }\n return /* @__PURE__ */ jsx(\n IconButton,\n {\n ref: iconButtonRef,\n disabled,\n label: formatMessage({ id: \"global.search\", defaultMessage: \"Search\" }),\n onClick: handleToggle,\n children: /* @__PURE__ */ jsx(Search, {})\n }\n );\n};\n\nconst [TableProvider, useTable] = createContext(\"Table\");\nconst Root = ({\n children,\n defaultSelectedRows,\n footer,\n headers = [],\n isLoading = false,\n onSelectedRowsChange,\n rows = [],\n selectedRows: selectedRowsProps\n}) => {\n const [selectedRows = [], setSelectedRows] = useControllableState({\n prop: selectedRowsProps,\n defaultProp: defaultSelectedRows,\n onChange: onSelectedRowsChange\n });\n const [hasHeaderCheckbox, setHasHeaderCheckbox] = React.useState(false);\n const rowCount = rows.length + 1;\n const colCount = hasHeaderCheckbox ? headers.length + 1 : headers.length;\n const selectRow = (row) => {\n if (Array.isArray(row)) {\n setSelectedRows(row);\n } else {\n setSelectedRows((prev = []) => {\n const currentRowIndex = prev.findIndex((r) => r.id === row.id);\n if (currentRowIndex > -1) {\n return prev.toSpliced(currentRowIndex, 1);\n }\n return [...prev, row];\n });\n }\n };\n return /* @__PURE__ */ jsx(\n TableProvider,\n {\n colCount,\n hasHeaderCheckbox,\n setHasHeaderCheckbox,\n footer,\n headers,\n isLoading,\n rowCount,\n rows,\n selectedRows,\n selectRow,\n children\n }\n );\n};\nconst Content = ({ children }) => {\n const rowCount = useTable(\"Content\", (state) => state.rowCount);\n const colCount = useTable(\"Content\", (state) => state.colCount);\n const footer = useTable(\"Content\", (state) => state.footer);\n return /* @__PURE__ */ jsx(Table$1, { rowCount, colCount, footer, children });\n};\nconst Head = ({ children }) => {\n return /* @__PURE__ */ jsx(Thead, { children: /* @__PURE__ */ jsx(Tr, { children }) });\n};\nconst HeaderCell = ({ name, label, sortable }) => {\n const [{ query }, setQuery] = useQueryParams();\n const sort = query?.sort ?? \"\";\n const [sortBy, sortOrder] = sort.split(\":\");\n const { formatMessage } = useIntl();\n const isSorted = sortBy === name;\n const sortLabel = formatMessage(\n { id: \"components.TableHeader.sort\", defaultMessage: \"Sort on {label}\" },\n { label }\n );\n const handleClickSort = () => {\n if (sortable) {\n setQuery({\n sort: `${name}:${isSorted && sortOrder === \"ASC\" ? \"DESC\" : \"ASC\"}`\n });\n }\n };\n return /* @__PURE__ */ jsx(\n Th,\n {\n action: isSorted && sortable && /* @__PURE__ */ jsx(IconButton, { label: sortLabel, onClick: handleClickSort, variant: \"ghost\", children: /* @__PURE__ */ jsx(SortIcon, { $isUp: sortOrder === \"ASC\" }) }),\n children: /* @__PURE__ */ jsx(Tooltip, { label: sortable ? sortLabel : label, children: /* @__PURE__ */ jsx(\n Typography,\n {\n textColor: \"neutral600\",\n tag: !isSorted && sortable ? \"button\" : \"span\",\n onClick: handleClickSort,\n variant: \"sigma\",\n children: label\n }\n ) })\n }\n );\n};\nconst SortIcon = styled(CaretDown)`\n transform: ${({ $isUp }) => `rotate(${$isUp ? \"180\" : \"0\"}deg)`};\n`;\nconst ActionBar = ({ children }) => {\n const { formatMessage } = useIntl();\n const selectedRows = useTable(\"ActionBar\", (state) => state.selectedRows);\n if (selectedRows.length === 0)\n return null;\n return /* @__PURE__ */ jsxs(Flex, { gap: 2, children: [\n /* @__PURE__ */ jsx(Typography, { variant: \"omega\", textColor: \"neutral500\", children: formatMessage(\n {\n id: \"content-manager.components.TableDelete.label\",\n defaultMessage: \"{number, plural, one {# row} other {# rows}} selected\"\n },\n { number: selectedRows.length }\n ) }),\n children\n ] });\n};\nconst HeaderCheckboxCell = () => {\n const rows = useTable(\"HeaderCheckboxCell\", (state) => state.rows);\n const selectedRows = useTable(\"HeaderCheckboxCell\", (state) => state.selectedRows);\n const selectRow = useTable(\"HeaderCheckboxCell\", (state) => state.selectRow);\n const setHasHeaderCheckbox = useTable(\n \"HeaderCheckboxCell\",\n (state) => state.setHasHeaderCheckbox\n );\n const { formatMessage } = useIntl();\n const areAllEntriesSelected = selectedRows.length === rows.length && rows.length > 0;\n const isIndeterminate = !areAllEntriesSelected && selectedRows.length > 0;\n React.useEffect(() => {\n setHasHeaderCheckbox(true);\n return () => setHasHeaderCheckbox(false);\n }, [setHasHeaderCheckbox]);\n const handleSelectAll = () => {\n if (!areAllEntriesSelected) {\n selectRow(rows);\n } else {\n selectRow([]);\n }\n };\n return /* @__PURE__ */ jsx(Th, { children: /* @__PURE__ */ jsx(\n Checkbox,\n {\n \"aria-label\": formatMessage({\n id: \"global.select-all-entries\",\n defaultMessage: \"Select all entries\"\n }),\n disabled: rows.length === 0,\n checked: isIndeterminate ? \"indeterminate\" : areAllEntriesSelected,\n onCheckedChange: handleSelectAll\n }\n ) });\n};\nconst Empty = (props) => {\n const { formatMessage } = useIntl();\n const rows = useTable(\"Empty\", (state) => state.rows);\n const isLoading = useTable(\"Empty\", (state) => state.isLoading);\n const colCount = useTable(\"Empty\", (state) => state.colCount);\n if (rows.length > 0 || isLoading) {\n return null;\n }\n return /* @__PURE__ */ jsx(Tbody, { children: /* @__PURE__ */ jsx(Tr, { children: /* @__PURE__ */ jsx(Td, { colSpan: colCount, children: /* @__PURE__ */ jsx(\n EmptyStateLayout,\n {\n content: formatMessage({\n id: \"app.components.EmptyStateLayout.content-document\",\n defaultMessage: \"No content found\"\n }),\n hasRadius: true,\n icon: /* @__PURE__ */ jsx(EmptyDocuments, { width: \"16rem\" }),\n ...props\n }\n ) }) }) });\n};\nconst Loading = ({ children = \"Loading content\" }) => {\n const isLoading = useTable(\"Loading\", (state) => state.isLoading);\n const colCount = useTable(\"Loading\", (state) => state.colCount);\n if (!isLoading) {\n return null;\n }\n return /* @__PURE__ */ jsx(Tbody, { children: /* @__PURE__ */ jsx(Tr, { children: /* @__PURE__ */ jsx(Td, { colSpan: colCount, children: /* @__PURE__ */ jsx(Flex, { justifyContent: \"center\", padding: 11, background: \"neutral0\", children: /* @__PURE__ */ jsx(Loader, { children }) }) }) }) });\n};\nconst Body = ({ children }) => {\n const isLoading = useTable(\"Body\", (state) => state.isLoading);\n const rows = useTable(\"Body\", (state) => state.rows);\n if (isLoading || rows.length === 0) {\n return null;\n }\n return /* @__PURE__ */ jsx(Tbody, { children });\n};\nconst Row = (props) => {\n return /* @__PURE__ */ jsx(Tr, { ...props });\n};\nconst Cell = (props) => {\n return /* @__PURE__ */ jsx(Td, { ...props });\n};\nconst CheckboxCell = ({ id, ...props }) => {\n const rows = useTable(\"CheckboxCell\", (state) => state.rows);\n const selectedRows = useTable(\"CheckboxCell\", (state) => state.selectedRows);\n const selectRow = useTable(\"CheckboxCell\", (state) => state.selectRow);\n const { formatMessage } = useIntl();\n const handleSelectRow = () => {\n selectRow(rows.find((row) => row.id === id));\n };\n const isChecked = selectedRows.findIndex((row) => row.id === id) > -1;\n return /* @__PURE__ */ jsx(Cell, { ...props, onClick: (e) => e.stopPropagation(), children: /* @__PURE__ */ jsx(\n Checkbox,\n {\n \"aria-label\": formatMessage(\n {\n id: \"app.component.table.select.one-entry\",\n defaultMessage: `Select {target}`\n },\n { target: id }\n ),\n disabled: rows.length === 0,\n checked: isChecked,\n onCheckedChange: handleSelectRow\n }\n ) });\n};\nconst Table = {\n Root,\n Content,\n ActionBar,\n Head,\n HeaderCell,\n HeaderCheckboxCell,\n Body,\n CheckboxCell,\n Cell,\n Row,\n Loading,\n Empty\n};\n\nconst ContentBox = ({\n title,\n subtitle,\n icon,\n iconBackground,\n endAction,\n titleEllipsis = false\n}) => {\n if (title && title.length > 70 && titleEllipsis) {\n title = `${title.substring(0, 70)}...`;\n }\n return /* @__PURE__ */ jsxs(Flex, { shadow: \"tableShadow\", hasRadius: true, padding: 6, background: \"neutral0\", children: [\n /* @__PURE__ */ jsx(IconWrapper, { background: iconBackground, hasRadius: true, padding: 3, children: icon }),\n /* @__PURE__ */ jsxs(Flex, { direction: \"column\", alignItems: \"stretch\", gap: endAction ? 0 : 1, children: [\n /* @__PURE__ */ jsxs(Flex, { children: [\n /* @__PURE__ */ jsx(TypographyWordBreak, { fontWeight: \"semiBold\", variant: \"pi\", children: title }),\n endAction\n ] }),\n /* @__PURE__ */ jsx(Typography, { textColor: \"neutral600\", children: subtitle })\n ] })\n ] });\n};\nconst IconWrapper = styled(Flex)`\n margin-right: ${({ theme }) => theme.spaces[6]};\n\n svg {\n width: 3.2rem;\n height: 3.2rem;\n }\n`;\nconst TypographyWordBreak = styled(Typography)`\n color: ${({ theme }) => theme.colors.neutral800};\n word-break: break-all;\n`;\n\nfunction useInjectReducer(namespace, reducer) {\n const store = useTypedStore();\n useEffect(() => {\n store.injectReducer(namespace, reducer);\n }, [store, namespace, reducer]);\n}\n\nconst useFetchClient = () => {\n const controller = React.useRef(null);\n if (controller.current === null) {\n controller.current = new AbortController();\n }\n React.useEffect(() => {\n return () => {\n controller.current.abort();\n };\n }, []);\n return React.useMemo(\n () => getFetchClient({\n signal: controller.current.signal\n }),\n []\n );\n};\n\nconst usersService = adminApi.enhanceEndpoints({\n addTagTypes: [\"LicenseLimits\", \"User\", \"Role\", \"RolePermissions\"]\n}).injectEndpoints({\n endpoints: (builder) => ({\n /**\n * users\n */\n createUser: builder.mutation({\n query: (body) => ({\n url: \"/admin/users\",\n method: \"POST\",\n data: body\n }),\n transformResponse: (response) => response.data,\n invalidatesTags: [\"LicenseLimits\", { type: \"User\", id: \"LIST\" }]\n }),\n updateUser: builder.mutation({\n query: ({ id, ...body }) => ({\n url: `/admin/users/${id}`,\n method: \"PUT\",\n data: body\n }),\n invalidatesTags: (_res, _err, { id }) => [\n { type: \"User\", id },\n { type: \"User\", id: \"LIST\" }\n ]\n }),\n getUsers: builder.query({\n query: ({ id, ...params } = {}) => ({\n url: `/admin/users/${id ?? \"\"}`,\n method: \"GET\",\n config: {\n params\n }\n }),\n transformResponse: (res) => {\n let users = [];\n if (res.data) {\n if (\"results\" in res.data) {\n if (Array.isArray(res.data.results)) {\n users = res.data.results;\n }\n } else {\n users = [res.data];\n }\n }\n return {\n users,\n pagination: \"pagination\" in res.data ? res.data.pagination : null\n };\n },\n providesTags: (res, _err, arg) => {\n if (typeof arg === \"object\" && \"id\" in arg) {\n return [{ type: \"User\", id: arg.id }];\n } else {\n return [\n ...res?.users.map(({ id }) => ({ type: \"User\", id })) ?? [],\n { type: \"User\", id: \"LIST\" }\n ];\n }\n }\n }),\n deleteManyUsers: builder.mutation({\n query: (body) => ({\n url: \"/admin/users/batch-delete\",\n method: \"POST\",\n data: body\n }),\n transformResponse: (res) => res.data,\n invalidatesTags: [\"LicenseLimits\", { type: \"User\", id: \"LIST\" }]\n }),\n /**\n * roles\n */\n createRole: builder.mutation({\n query: (body) => ({\n url: \"/admin/roles\",\n method: \"POST\",\n data: body\n }),\n transformResponse: (res) => res.data,\n invalidatesTags: [{ type: \"Role\", id: \"LIST\" }]\n }),\n getRoles: builder.query({\n query: ({ id, ...params } = {}) => ({\n url: `/admin/roles/${id ?? \"\"}`,\n method: \"GET\",\n config: {\n params\n }\n }),\n transformResponse: (res) => {\n let roles = [];\n if (res.data) {\n if (Array.isArray(res.data)) {\n roles = res.data;\n } else {\n roles = [res.data];\n }\n }\n return roles;\n },\n providesTags: (res, _err, arg) => {\n if (typeof arg === \"object\" && \"id\" in arg) {\n return [{ type: \"Role\", id: arg.id }];\n } else {\n return [\n ...res?.map(({ id }) => ({ type: \"Role\", id })) ?? [],\n { type: \"Role\", id: \"LIST\" }\n ];\n }\n }\n }),\n updateRole: builder.mutation({\n query: ({ id, ...body }) => ({\n url: `/admin/roles/${id}`,\n method: \"PUT\",\n data: body\n }),\n transformResponse: (res) => res.data,\n invalidatesTags: (_res, _err, { id }) => [{ type: \"Role\", id }]\n }),\n getRolePermissions: builder.query({\n query: ({ id, ...params }) => ({\n url: `/admin/roles/${id}/permissions`,\n method: \"GET\",\n config: {\n params\n }\n }),\n transformResponse: (res) => res.data,\n providesTags: (_res, _err, { id }) => [{ type: \"RolePermissions\", id }]\n }),\n updateRolePermissions: builder.mutation({\n query: ({ id, ...body }) => ({\n url: `/admin/roles/${id}/permissions`,\n method: \"PUT\",\n data: body\n }),\n transformResponse: (res) => res.data,\n invalidatesTags: (_res, _err, { id }) => [{ type: \"RolePermissions\", id }]\n }),\n /**\n * Permissions\n */\n getRolePermissionLayout: builder.query({\n query: (params) => ({\n url: \"/admin/permissions\",\n method: \"GET\",\n config: {\n params\n }\n }),\n transformResponse: (res) => res.data\n })\n }),\n overrideExisting: false\n});\nconst {\n useCreateUserMutation,\n useGetUsersQuery,\n useUpdateUserMutation,\n useDeleteManyUsersMutation,\n useGetRolesQuery,\n useCreateRoleMutation,\n useUpdateRoleMutation,\n useGetRolePermissionsQuery,\n useGetRolePermissionLayoutQuery,\n useUpdateRolePermissionsMutation\n} = usersService;\nconst useAdminUsers = useGetUsersQuery;\n\nexport { useFocusInputField as A, BackButton as B, ConfirmDialog as C, renderAdmin as D, DescriptionComponentRenderer as E, Form as F, Blocker as G, getYupValidationErrors as H, useTable as I, constants as J, LayoutContent as L, MemoizedInputRenderer as M, NpsSurvey as N, Pagination as P, SearchInput as S, Table as T, UnauthenticatedLayout as U, Logo as a, Layouts as b, useGetRolesQuery as c, Login as d, errorsTrads as e, useGetRolePermissionLayoutQuery as f, useGetRolePermissionsQuery as g, useCreateRoleMutation as h, useUpdateRolePermissionsMutation as i, useUpdateUserMutation as j, useAdminUsers as k, getBasename as l, Column as m, useFetchClient as n, useUpdateRoleMutation as o, SETTINGS_LINKS_CE as p, useCreateUserMutation as q, useDeleteManyUsersMutation as r, Filters as s, useClipboard as t, useField as u, ContentBox as v, useForm as w, MemoizedStringInput as x, StrapiLogo as y, useInjectReducer as z };\n//# sourceMappingURL=index-BJvNbZJA.mjs.map\n"],"names":["require$$0","hasSymbols","test","hasProto","toStr","concatty","a","slicy","implementation","Empty","bind","undefined","require$$1","require$$2","require$$3","$SyntaxError","require$$4","$TypeError","require$$5","require$$6","$gOPD","require$$7","require$$8","doEval","require$$9","hasOwn","require$$10","$concat","$replace","stringToPath","quote","getBaseIntrinsic","GetIntrinsic","$defineProperty","gopd","defineDataProperty","hasPropertyDescriptors","$floor","setFunctionLength","module","callBind","applyBind","callBound","has","isArray","inspect","isRegExp","isError","isNumber","isBoolean","isString","global","isDate","isPlainObject","f","type","formats","compactQueue","arrayToObject","merge","encode","compact","isBuffer","combine","maybeMap","utils","getSideChannel","defaults","isNonNullishPrimitive","v","stringify","filter","serializeDate","sideChannel","value","normalizeStringifyOptions","brackets","normalizeParseOptions","parse","randomString","kindOf","reducer","initialState","entry","defaultEqualityCheck","cache","createSelector","d","b","__generator","__spreadArray","__defProp","__defProps","__getOwnPropDescs","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","__spreadValues","__spreadProps","__async","isDraftable","createNextState","_c","reducer2","isDraft2","isDraftable2","createNextState2","draft","RejectWithValue","FulfillWithMeta","isThenable","_i","promise","enableES5","_iPO","HandledError","DefinitionType","isQueryDefinition","isMutationDefinition","isFunction","_j","_k","produceWithPatches","transformResponse","createAction2","applyPatches","isDraft","original","isFulfilled2","isRejectedWithValue2","defaultSerializeQueryArgs","isPlainObject3","isAnyOf2","isFulfilled3","isRejectedWithValue3","isFulfilled4","isPending2","isRejected2","isFulfilled5","produceWithPatches2","createAction3","safeAssign","enablePatches","useMemo","useRef","useEffect","useRef2","useEffect2","shallowEqual","useLayoutEffect","useEffect3","useCallback","_d","useRef3","useMemo2","useState","shallowEqual2","useDebugValue","promise2","rrBatch","rrUseDispatch","rrUseSelector","rrUseStore","validateStatus","pipe","isObject","prototype","descriptors","TypedArray","matches","hasOwnProperty","define","toString","h","URLSearchParams","FormData","Blob","platform","isFormData","isFileList","transitional","self","push","isURLSameOrigin","signal","done","res","adapters","validators","validator","exports","E","initialTime","startTime","schedulerModule","o","c","i","p","e","r","t","u","s","l","n","ContextSelector.createContext","Provider","React","jsx","ContextSelector.useContextSelector","useLocation","useNavigate","replace","toPath","clone","createGlobalStyle","ib","fb","ia","fa","date","max","ms","$aksy1$_","ref","useIntl","Link","NavLink","ArrowLeft","QueryClient","styled","Alert","Typography","jsxs","Flex","Box","Fragment","useCallbackRef","isEqual","ref2","useComposedRefs","produce","forwardRef","Field","Toggle","memo","Checkbox","DatePicker","getLocalTimeZone","parseAbsolute","toCalendarDate","DateTimePicker","TextInput","SingleSelect","SingleSelectOption","JSONInput","NumberInput","Eye","EyeStriked","Textarea","TimePicker","yup","reducer$2","WarningCircle","Popover","Button","Filter","CaretDown"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,22,23,24,25,26,27,28,29,30,31,32,33,34,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,90,91,92,93,94,95,96,97,98,99]}
|