{"version":3,"file":"olp-public-creator-min.js","mappings":"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","sources":["webpack://waves/./node_modules/charenc/charenc.js","webpack://waves/./node_modules/crypt/crypt.js","webpack://waves/./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack://waves/./node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","webpack://waves/./node_modules/hoist-non-react-statics/node_modules/react-is/index.js","webpack://waves/./node_modules/is-buffer/index.js","webpack://waves/./node_modules/md5/md5.js","webpack://waves/./node_modules/prop-types/factoryWithThrowingShims.js","webpack://waves/./node_modules/prop-types/index.js","webpack://waves/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://waves/./node_modules/react-is/cjs/react-is.production.min.js","webpack://waves/./node_modules/react-is/index.js","webpack://waves/./node_modules/shallowequal/index.js","webpack://waves/./node_modules/warning/warning.js","webpack://waves/webpack/bootstrap","webpack://waves/webpack/runtime/compat get default export","webpack://waves/webpack/runtime/define property getters","webpack://waves/webpack/runtime/global","webpack://waves/webpack/runtime/hasOwnProperty shorthand","webpack://waves/external var \"React\"","webpack://waves/external var \"ReactDOM\"","webpack://waves/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://waves/./node_modules/immer/dist/immer.esm.js","webpack://waves/./node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack://waves/./node_modules/redux/es/redux.js","webpack://waves/./node_modules/redux-thunk/es/index.js","webpack://waves/./node_modules/@reduxjs/toolkit/dist/redux-toolkit.esm.js","webpack://waves/./node_modules/react-redux/es/components/Context.js","webpack://waves/./node_modules/react-redux/es/utils/batch.js","webpack://waves/./node_modules/react-redux/es/utils/Subscription.js","webpack://waves/./node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js","webpack://waves/./node_modules/react-redux/es/components/Provider.js","webpack://waves/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://waves/./node_modules/react-redux/es/hooks/useReduxContext.js","webpack://waves/./node_modules/react-redux/es/hooks/useDispatch.js","webpack://waves/./node_modules/react-redux/es/hooks/useSelector.js","webpack://waves/./node_modules/react-redux/es/index.js","webpack://waves/./src/domain/common.ts","webpack://waves/./src/projects/olp/public-creator-profile/DAL/store.ts","webpack://waves/./node_modules/react-imgix/es/array-findindex.js","webpack://waves/./node_modules/react-imgix/es/config.js","webpack://waves/./node_modules/react-imgix/es/constants.js","webpack://waves/./node_modules/js-base64/base64.mjs","webpack://waves/./node_modules/ufo/dist/index.mjs","webpack://waves/./node_modules/@imgix/js-core/dist/index.esm.js","webpack://waves/./node_modules/react-imgix/es/constructUrl.js","webpack://waves/./node_modules/react-imgix/es/extractQueryParams.js","webpack://waves/./node_modules/react-imgix/es/HOCs/shouldComponentUpdateHOC.js","webpack://waves/./node_modules/react-imgix/es/HOCs/imgixProvider.js","webpack://waves/./node_modules/react-imgix/es/HOFs/propMerger.js","webpack://waves/./node_modules/react-imgix/es/HOFs/constants.js","webpack://waves/./node_modules/react-imgix/es/HOFs/propFormatter.js","webpack://waves/./node_modules/react-imgix/es/react-imgix.js","webpack://waves/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://waves/./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","webpack://waves/./node_modules/react-measure/dist/index.esm.js","webpack://waves/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://waves/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://waves/./node_modules/react-imgix/es/targetWidths.js","webpack://waves/./node_modules/react-imgix/es/react-imgix-bg.js","webpack://waves/./node_modules/react-imgix/es/findClosest.js","webpack://waves/./node_modules/react-imgix/es/index.js","webpack://waves/./src/ui/svg/common/social-icons/discord.tsx","webpack://waves/./src/ui/svg/common/social-icons/facebook.tsx","webpack://waves/./src/ui/svg/common/social-icons/instagram.tsx","webpack://waves/./src/ui/svg/common/social-icons/linkedin.tsx","webpack://waves/./src/ui/svg/common/social-icons/pinterest.tsx","webpack://waves/./src/ui/svg/common/social-icons/reddit.tsx","webpack://waves/./src/ui/svg/common/social-icons/rumble.tsx","webpack://waves/./src/ui/svg/common/social-icons/snapchat.tsx","webpack://waves/./src/ui/svg/common/social-icons/soundbetter.tsx","webpack://waves/./src/ui/svg/common/social-icons/soundcloud.tsx","webpack://waves/./src/ui/svg/common/social-icons/spotify.tsx","webpack://waves/./src/ui/svg/common/social-icons/telegram.tsx","webpack://waves/./src/ui/svg/common/social-icons/tiktok.tsx","webpack://waves/./src/ui/svg/common/social-icons/twitch.tsx","webpack://waves/./src/ui/svg/common/social-icons/twitter.tsx","webpack://waves/./src/ui/svg/common/social-icons/vimeo.tsx","webpack://waves/./src/ui/svg/common/social-icons/youtube.tsx","webpack://waves/./src/projects/shopping-cart/cart-bridger-pay/enums/cart-steps.ts","webpack://waves/./src/projects/products/enums/product-department-enum.ts","webpack://waves/./src/projects/shopping-cart/cart-bridger-pay/enums/last-payment-option-enum.ts","webpack://waves/./src/projects/shopping-cart/cart-bridger-pay/enums/payment-tabs-enum.ts","webpack://waves/./src/projects/shopping-cart/cart-bridger-pay/enums/credit-card-service-enum.ts","webpack://waves/./src/projects/shopping-cart/cart-bridger-pay/enums/credit-card-tab.ts","webpack://waves/./src/domain/validation/validation.ts","webpack://waves/./src/domain/marketing/gtm-provider.ts","webpack://waves/./src/projects/olp/common/common-enum.ts","webpack://waves/./src/ui/svg/common/social-icons/x.tsx","webpack://waves/./src/projects/olp/common/services/logic-provider.tsx","webpack://waves/./src/ui/svg/common/verified.tsx","webpack://waves/./src/projects/olp/common/constants.ts","webpack://waves/./src/projects/olp/public-creator-profile/components/creator-details.tsx","webpack://waves/./src/projects/olp/public-creator-profile/components/creator-details-mobile.tsx","webpack://waves/./src/ui/svg/common/link.tsx","webpack://waves/./src/ui/svg/common/drag-and-drop.tsx","webpack://waves/./src/projects/olp/common/svg/visit-chain-arrow.tsx","webpack://waves/./src/ui/svg/audio/stop-audio.tsx","webpack://waves/./src/ui/svg/audio/play-audio.tsx","webpack://waves/./src/DAL/data-provider.ts","webpack://waves/./src/projects/galleries/audio-base64/data-service.ts","webpack://waves/./src/projects/galleries/audio-base64/interfaces.ts","webpack://waves/./src/ui/svg/audio/play-audio-trian.tsx","webpack://waves/./src/projects/galleries/audio-base64/audio-base64.tsx","webpack://waves/./src/projects/olp/common/components/preset-visit-chain.tsx","webpack://waves/./src/ui/svg/common/heart.tsx","webpack://waves/./src/ui/svg/preset/preset-wsci.tsx","webpack://waves/./src/ui/svg/preset/preset-wscr.tsx","webpack://waves/./src/projects/olp/preset/components/preset-icons.tsx","webpack://waves/./src/projects/olp/common/components/preset.tsx","webpack://waves/./src/projects/olp/common/DAL/data-service.ts","webpack://waves/./src/projects/olp/common/svg/right-arrow.tsx","webpack://waves/./src/ui/svg/common/close.tsx","webpack://waves/./src/ui/popup/popup.tsx","webpack://waves/./src/projects/olp/public-creator-profile/App/App.tsx","webpack://waves/./src/projects/olp/public-creator-profile/index.tsx"],"sourcesContent":["var charenc = {\n // UTF-8 encoding\n utf8: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n return charenc.bin.stringToBytes(unescape(encodeURIComponent(str)));\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n return decodeURIComponent(escape(charenc.bin.bytesToString(bytes)));\n }\n },\n\n // Binary encoding\n bin: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n for (var bytes = [], i = 0; i < str.length; i++)\n bytes.push(str.charCodeAt(i) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n for (var str = [], i = 0; i < bytes.length; i++)\n str.push(String.fromCharCode(bytes[i]));\n return str.join('');\n }\n }\n};\n\nmodule.exports = charenc;\n","(function() {\n var base64map\n = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',\n\n crypt = {\n // Bit-wise rotation left\n rotl: function(n, b) {\n return (n << b) | (n >>> (32 - b));\n },\n\n // Bit-wise rotation right\n rotr: function(n, b) {\n return (n << (32 - b)) | (n >>> b);\n },\n\n // Swap big-endian to little-endian and vice versa\n endian: function(n) {\n // If number given, swap endian\n if (n.constructor == Number) {\n return crypt.rotl(n, 8) & 0x00FF00FF | crypt.rotl(n, 24) & 0xFF00FF00;\n }\n\n // Else, assume array and swap all items\n for (var i = 0; i < n.length; i++)\n n[i] = crypt.endian(n[i]);\n return n;\n },\n\n // Generate an array of any length of random bytes\n randomBytes: function(n) {\n for (var bytes = []; n > 0; n--)\n bytes.push(Math.floor(Math.random() * 256));\n return bytes;\n },\n\n // Convert a byte array to big-endian 32-bit words\n bytesToWords: function(bytes) {\n for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8)\n words[b >>> 5] |= bytes[i] << (24 - b % 32);\n return words;\n },\n\n // Convert big-endian 32-bit words to a byte array\n wordsToBytes: function(words) {\n for (var bytes = [], b = 0; b < words.length * 32; b += 8)\n bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a hex string\n bytesToHex: function(bytes) {\n for (var hex = [], i = 0; i < bytes.length; i++) {\n hex.push((bytes[i] >>> 4).toString(16));\n hex.push((bytes[i] & 0xF).toString(16));\n }\n return hex.join('');\n },\n\n // Convert a hex string to a byte array\n hexToBytes: function(hex) {\n for (var bytes = [], c = 0; c < hex.length; c += 2)\n bytes.push(parseInt(hex.substr(c, 2), 16));\n return bytes;\n },\n\n // Convert a byte array to a base-64 string\n bytesToBase64: function(bytes) {\n for (var base64 = [], i = 0; i < bytes.length; i += 3) {\n var triplet = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2];\n for (var j = 0; j < 4; j++)\n if (i * 8 + j * 6 <= bytes.length * 8)\n base64.push(base64map.charAt((triplet >>> 6 * (3 - j)) & 0x3F));\n else\n base64.push('=');\n }\n return base64.join('');\n },\n\n // Convert a base-64 string to a byte array\n base64ToBytes: function(base64) {\n // Remove non-base-64 characters\n base64 = base64.replace(/[^A-Z0-9+\\/]/ig, '');\n\n for (var bytes = [], i = 0, imod4 = 0; i < base64.length;\n imod4 = ++i % 4) {\n if (imod4 == 0) continue;\n bytes.push(((base64map.indexOf(base64.charAt(i - 1))\n & (Math.pow(2, -2 * imod4 + 8) - 1)) << (imod4 * 2))\n | (base64map.indexOf(base64.charAt(i)) >>> (6 - imod4 * 2)));\n }\n return bytes;\n }\n };\n\n module.exports = crypt;\n})();\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n","(function(){\r\n var crypt = require('crypt'),\r\n utf8 = require('charenc').utf8,\r\n isBuffer = require('is-buffer'),\r\n bin = require('charenc').bin,\r\n\r\n // The core\r\n md5 = function (message, options) {\r\n // Convert to byte array\r\n if (message.constructor == String)\r\n if (options && options.encoding === 'binary')\r\n message = bin.stringToBytes(message);\r\n else\r\n message = utf8.stringToBytes(message);\r\n else if (isBuffer(message))\r\n message = Array.prototype.slice.call(message, 0);\r\n else if (!Array.isArray(message) && message.constructor !== Uint8Array)\r\n message = message.toString();\r\n // else, assume byte array already\r\n\r\n var m = crypt.bytesToWords(message),\r\n l = message.length * 8,\r\n a = 1732584193,\r\n b = -271733879,\r\n c = -1732584194,\r\n d = 271733878;\r\n\r\n // Swap endian\r\n for (var i = 0; i < m.length; i++) {\r\n m[i] = ((m[i] << 8) | (m[i] >>> 24)) & 0x00FF00FF |\r\n ((m[i] << 24) | (m[i] >>> 8)) & 0xFF00FF00;\r\n }\r\n\r\n // Padding\r\n m[l >>> 5] |= 0x80 << (l % 32);\r\n m[(((l + 64) >>> 9) << 4) + 14] = l;\r\n\r\n // Method shortcuts\r\n var FF = md5._ff,\r\n GG = md5._gg,\r\n HH = md5._hh,\r\n II = md5._ii;\r\n\r\n for (var i = 0; i < m.length; i += 16) {\r\n\r\n var aa = a,\r\n bb = b,\r\n cc = c,\r\n dd = d;\r\n\r\n a = FF(a, b, c, d, m[i+ 0], 7, -680876936);\r\n d = FF(d, a, b, c, m[i+ 1], 12, -389564586);\r\n c = FF(c, d, a, b, m[i+ 2], 17, 606105819);\r\n b = FF(b, c, d, a, m[i+ 3], 22, -1044525330);\r\n a = FF(a, b, c, d, m[i+ 4], 7, -176418897);\r\n d = FF(d, a, b, c, m[i+ 5], 12, 1200080426);\r\n c = FF(c, d, a, b, m[i+ 6], 17, -1473231341);\r\n b = FF(b, c, d, a, m[i+ 7], 22, -45705983);\r\n a = FF(a, b, c, d, m[i+ 8], 7, 1770035416);\r\n d = FF(d, a, b, c, m[i+ 9], 12, -1958414417);\r\n c = FF(c, d, a, b, m[i+10], 17, -42063);\r\n b = FF(b, c, d, a, m[i+11], 22, -1990404162);\r\n a = FF(a, b, c, d, m[i+12], 7, 1804603682);\r\n d = FF(d, a, b, c, m[i+13], 12, -40341101);\r\n c = FF(c, d, a, b, m[i+14], 17, -1502002290);\r\n b = FF(b, c, d, a, m[i+15], 22, 1236535329);\r\n\r\n a = GG(a, b, c, d, m[i+ 1], 5, -165796510);\r\n d = GG(d, a, b, c, m[i+ 6], 9, -1069501632);\r\n c = GG(c, d, a, b, m[i+11], 14, 643717713);\r\n b = GG(b, c, d, a, m[i+ 0], 20, -373897302);\r\n a = GG(a, b, c, d, m[i+ 5], 5, -701558691);\r\n d = GG(d, a, b, c, m[i+10], 9, 38016083);\r\n c = GG(c, d, a, b, m[i+15], 14, -660478335);\r\n b = GG(b, c, d, a, m[i+ 4], 20, -405537848);\r\n a = GG(a, b, c, d, m[i+ 9], 5, 568446438);\r\n d = GG(d, a, b, c, m[i+14], 9, -1019803690);\r\n c = GG(c, d, a, b, m[i+ 3], 14, -187363961);\r\n b = GG(b, c, d, a, m[i+ 8], 20, 1163531501);\r\n a = GG(a, b, c, d, m[i+13], 5, -1444681467);\r\n d = GG(d, a, b, c, m[i+ 2], 9, -51403784);\r\n c = GG(c, d, a, b, m[i+ 7], 14, 1735328473);\r\n b = GG(b, c, d, a, m[i+12], 20, -1926607734);\r\n\r\n a = HH(a, b, c, d, m[i+ 5], 4, -378558);\r\n d = HH(d, a, b, c, m[i+ 8], 11, -2022574463);\r\n c = HH(c, d, a, b, m[i+11], 16, 1839030562);\r\n b = HH(b, c, d, a, m[i+14], 23, -35309556);\r\n a = HH(a, b, c, d, m[i+ 1], 4, -1530992060);\r\n d = HH(d, a, b, c, m[i+ 4], 11, 1272893353);\r\n c = HH(c, d, a, b, m[i+ 7], 16, -155497632);\r\n b = HH(b, c, d, a, m[i+10], 23, -1094730640);\r\n a = HH(a, b, c, d, m[i+13], 4, 681279174);\r\n d = HH(d, a, b, c, m[i+ 0], 11, -358537222);\r\n c = HH(c, d, a, b, m[i+ 3], 16, -722521979);\r\n b = HH(b, c, d, a, m[i+ 6], 23, 76029189);\r\n a = HH(a, b, c, d, m[i+ 9], 4, -640364487);\r\n d = HH(d, a, b, c, m[i+12], 11, -421815835);\r\n c = HH(c, d, a, b, m[i+15], 16, 530742520);\r\n b = HH(b, c, d, a, m[i+ 2], 23, -995338651);\r\n\r\n a = II(a, b, c, d, m[i+ 0], 6, -198630844);\r\n d = II(d, a, b, c, m[i+ 7], 10, 1126891415);\r\n c = II(c, d, a, b, m[i+14], 15, -1416354905);\r\n b = II(b, c, d, a, m[i+ 5], 21, -57434055);\r\n a = II(a, b, c, d, m[i+12], 6, 1700485571);\r\n d = II(d, a, b, c, m[i+ 3], 10, -1894986606);\r\n c = II(c, d, a, b, m[i+10], 15, -1051523);\r\n b = II(b, c, d, a, m[i+ 1], 21, -2054922799);\r\n a = II(a, b, c, d, m[i+ 8], 6, 1873313359);\r\n d = II(d, a, b, c, m[i+15], 10, -30611744);\r\n c = II(c, d, a, b, m[i+ 6], 15, -1560198380);\r\n b = II(b, c, d, a, m[i+13], 21, 1309151649);\r\n a = II(a, b, c, d, m[i+ 4], 6, -145523070);\r\n d = II(d, a, b, c, m[i+11], 10, -1120210379);\r\n c = II(c, d, a, b, m[i+ 2], 15, 718787259);\r\n b = II(b, c, d, a, m[i+ 9], 21, -343485551);\r\n\r\n a = (a + aa) >>> 0;\r\n b = (b + bb) >>> 0;\r\n c = (c + cc) >>> 0;\r\n d = (d + dd) >>> 0;\r\n }\r\n\r\n return crypt.endian([a, b, c, d]);\r\n };\r\n\r\n // Auxiliary functions\r\n md5._ff = function (a, b, c, d, x, s, t) {\r\n var n = a + (b & c | ~b & d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._gg = function (a, b, c, d, x, s, t) {\r\n var n = a + (b & d | c & ~d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._hh = function (a, b, c, d, x, s, t) {\r\n var n = a + (b ^ c ^ d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._ii = function (a, b, c, d, x, s, t) {\r\n var n = a + (c ^ (b | ~d)) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n\r\n // Package private blocksize\r\n md5._blocksize = 16;\r\n md5._digestsize = 16;\r\n\r\n module.exports = function (message, options) {\r\n if (message === undefined || message === null)\r\n throw new Error('Illegal argument ' + message);\r\n\r\n var digestbytes = crypt.wordsToBytes(md5(message, options));\r\n return options && options.asBytes ? digestbytes :\r\n options && options.asString ? bin.bytesToString(digestbytes) :\r\n crypt.bytesToHex(digestbytes);\r\n };\r\n\r\n})();\r\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/** @license React v17.0.2\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=60103,c=60106,d=60107,e=60108,f=60114,g=60109,h=60110,k=60112,l=60113,m=60120,n=60115,p=60116,q=60121,r=60122,u=60117,v=60129,w=60131;\nif(\"function\"===typeof Symbol&&Symbol.for){var x=Symbol.for;b=x(\"react.element\");c=x(\"react.portal\");d=x(\"react.fragment\");e=x(\"react.strict_mode\");f=x(\"react.profiler\");g=x(\"react.provider\");h=x(\"react.context\");k=x(\"react.forward_ref\");l=x(\"react.suspense\");m=x(\"react.suspense_list\");n=x(\"react.memo\");p=x(\"react.lazy\");q=x(\"react.block\");r=x(\"react.server.block\");u=x(\"react.fundamental\");v=x(\"react.debug_trace_mode\");w=x(\"react.legacy_hidden\")}\nfunction y(a){if(\"object\"===typeof a&&null!==a){var t=a.$$typeof;switch(t){case b:switch(a=a.type,a){case d:case f:case e:case l:case m:return a;default:switch(a=a&&a.$$typeof,a){case h:case k:case p:case n:case g:return a;default:return t}}case c:return t}}}var z=g,A=b,B=k,C=d,D=p,E=n,F=c,G=f,H=e,I=l;exports.ContextConsumer=h;exports.ContextProvider=z;exports.Element=A;exports.ForwardRef=B;exports.Fragment=C;exports.Lazy=D;exports.Memo=E;exports.Portal=F;exports.Profiler=G;exports.StrictMode=H;\nexports.Suspense=I;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return y(a)===h};exports.isContextProvider=function(a){return y(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return y(a)===k};exports.isFragment=function(a){return y(a)===d};exports.isLazy=function(a){return y(a)===p};exports.isMemo=function(a){return y(a)===n};\nexports.isPortal=function(a){return y(a)===c};exports.isProfiler=function(a){return y(a)===f};exports.isStrictMode=function(a){return y(a)===e};exports.isSuspense=function(a){return y(a)===l};exports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===v||a===e||a===l||a===m||a===w||\"object\"===typeof a&&null!==a&&(a.$$typeof===p||a.$$typeof===n||a.$$typeof===g||a.$$typeof===h||a.$$typeof===k||a.$$typeof===u||a.$$typeof===q||a[0]===r)?!0:!1};\nexports.typeOf=y;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","//\n\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n if (ret !== void 0) {\n return !!ret;\n }\n\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n\n // Test for A's keys different from B.\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key)) {\n return false;\n }\n\n var valueA = objA[key];\n var valueB = objB[key];\n\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n if (ret === false || (ret === void 0 && valueA !== valueB)) {\n return false;\n }\n }\n\n return true;\n};\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 1 ? len - 1 : 0);\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","const __WEBPACK_NAMESPACE_OBJECT__ = React;","const __WEBPACK_NAMESPACE_OBJECT__ = ReactDOM;","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","function n(n){for(var r=arguments.length,t=Array(r>1?r-1:0),e=1;e3?r.i-4:r.i:Array.isArray(n)?1:s(n)?2:v(n)?3:0}function u(n,r){return 2===o(n)?n.has(r):Object.prototype.hasOwnProperty.call(n,r)}function a(n,r){return 2===o(n)?n.get(r):n[r]}function f(n,r,t){var e=o(n);2===e?n.set(r,t):3===e?(n.delete(r),n.add(t)):n[r]=t}function c(n,r){return n===r?0!==n||1/n==1/r:n!=n&&r!=r}function s(n){return X&&n instanceof Map}function v(n){return q&&n instanceof Set}function p(n){return n.o||n.t}function l(n){if(Array.isArray(n))return Array.prototype.slice.call(n);var r=rn(n);delete r[Q];for(var t=nn(r),e=0;e1&&(n.set=n.add=n.clear=n.delete=h),Object.freeze(n),e&&i(n,(function(n,r){return d(r,!0)}),!0),n)}function h(){n(2)}function y(n){return null==n||\"object\"!=typeof n||Object.isFrozen(n)}function b(r){var t=tn[r];return t||n(18,r),t}function m(n,r){tn[n]||(tn[n]=r)}function _(){return\"production\"===process.env.NODE_ENV||U||n(0),U}function j(n,r){r&&(b(\"Patches\"),n.u=[],n.s=[],n.v=r)}function O(n){g(n),n.p.forEach(S),n.p=null}function g(n){n===U&&(U=n.l)}function w(n){return U={p:[],l:U,h:n,m:!0,_:0}}function S(n){var r=n[Q];0===r.i||1===r.i?r.j():r.O=!0}function P(r,e){e._=e.p.length;var i=e.p[0],o=void 0!==r&&r!==i;return e.h.g||b(\"ES5\").S(e,r,o),o?(i[Q].P&&(O(e),n(4)),t(r)&&(r=M(e,r),e.l||x(e,r)),e.u&&b(\"Patches\").M(i[Q].t,r,e.u,e.s)):r=M(e,i,[]),O(e),e.u&&e.v(e.u,e.s),r!==H?r:void 0}function M(n,r,t){if(y(r))return r;var e=r[Q];if(!e)return i(r,(function(i,o){return A(n,e,r,i,o,t)}),!0),r;if(e.A!==n)return r;if(!e.P)return x(n,e.t,!0),e.t;if(!e.I){e.I=!0,e.A._--;var o=4===e.i||5===e.i?e.o=l(e.k):e.o;i(3===e.i?new Set(o):o,(function(r,i){return A(n,e,o,r,i,t)})),x(n,o,!1),t&&n.u&&b(\"Patches\").R(e,t,n.u,n.s)}return e.o}function A(e,i,o,a,c,s){if(\"production\"!==process.env.NODE_ENV&&c===o&&n(5),r(c)){var v=M(e,c,s&&i&&3!==i.i&&!u(i.D,a)?s.concat(a):void 0);if(f(o,a,v),!r(v))return;e.m=!1}if(t(c)&&!y(c)){if(!e.h.F&&e._<1)return;M(e,c),i&&i.A.l||x(e,c)}}function x(n,r,t){void 0===t&&(t=!1),n.h.F&&n.m&&d(r,t)}function z(n,r){var t=n[Q];return(t?p(t):n)[r]}function I(n,r){if(r in n)for(var t=Object.getPrototypeOf(n);t;){var e=Object.getOwnPropertyDescriptor(t,r);if(e)return e;t=Object.getPrototypeOf(t)}}function k(n){n.P||(n.P=!0,n.l&&k(n.l))}function E(n){n.o||(n.o=l(n.t))}function R(n,r,t){var e=s(r)?b(\"MapSet\").N(r,t):v(r)?b(\"MapSet\").T(r,t):n.g?function(n,r){var t=Array.isArray(n),e={i:t?1:0,A:r?r.A:_(),P:!1,I:!1,D:{},l:r,t:n,k:null,o:null,j:null,C:!1},i=e,o=en;t&&(i=[e],o=on);var u=Proxy.revocable(i,o),a=u.revoke,f=u.proxy;return e.k=f,e.j=a,f}(r,t):b(\"ES5\").J(r,t);return(t?t.A:_()).p.push(e),e}function D(e){return r(e)||n(22,e),function n(r){if(!t(r))return r;var e,u=r[Q],c=o(r);if(u){if(!u.P&&(u.i<4||!b(\"ES5\").K(u)))return u.t;u.I=!0,e=F(r,c),u.I=!1}else e=F(r,c);return i(e,(function(r,t){u&&a(u.t,r)===t||f(e,r,n(t))})),3===c?new Set(e):e}(e)}function F(n,r){switch(r){case 2:return new Map(n);case 3:return Array.from(n)}return l(n)}function N(){function t(n,r){var t=s[n];return t?t.enumerable=r:s[n]=t={configurable:!0,enumerable:r,get:function(){var r=this[Q];return\"production\"!==process.env.NODE_ENV&&f(r),en.get(r,n)},set:function(r){var t=this[Q];\"production\"!==process.env.NODE_ENV&&f(t),en.set(t,n,r)}},t}function e(n){for(var r=n.length-1;r>=0;r--){var t=n[r][Q];if(!t.P)switch(t.i){case 5:a(t)&&k(t);break;case 4:o(t)&&k(t)}}}function o(n){for(var r=n.t,t=n.k,e=nn(t),i=e.length-1;i>=0;i--){var o=e[i];if(o!==Q){var a=r[o];if(void 0===a&&!u(r,o))return!0;var f=t[o],s=f&&f[Q];if(s?s.t!==a:!c(f,a))return!0}}var v=!!r[Q];return e.length!==nn(r).length+(v?0:1)}function a(n){var r=n.k;if(r.length!==n.t.length)return!0;var t=Object.getOwnPropertyDescriptor(r,r.length-1);if(t&&!t.get)return!0;for(var e=0;e1?t-1:0),o=1;o1?t-1:0),o=1;o=0;e--){var i=t[e];if(0===i.path.length&&\"replace\"===i.op){n=i.value;break}}e>-1&&(t=t.slice(e+1));var o=b(\"Patches\").$;return r(n)?o(n,t):this.produce(n,(function(n){return o(n,t)}))},e}(),an=new un,fn=an.produce,cn=an.produceWithPatches.bind(an),sn=an.setAutoFreeze.bind(an),vn=an.setUseProxies.bind(an),pn=an.applyPatches.bind(an),ln=an.createDraft.bind(an),dn=an.finishDraft.bind(an);export default fn;export{un as Immer,pn as applyPatches,K as castDraft,$ as castImmutable,ln as createDraft,D as current,J as enableAllPlugins,N as enableES5,C as enableMapSet,T as enablePatches,dn as finishDraft,d as freeze,L as immerable,r as isDraft,t as isDraftable,H as nothing,e as original,fn as produce,cn as produceWithPatches,sn as setAutoFreeze,vn as setUseProxies};\n//# sourceMappingURL=immer.esm.js.map\n","import defineProperty from \"./defineProperty.js\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\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 * Creates a Redux store that holds the state tree.\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\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/**\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\n/*\n * This is a dummy function to check if the function name has been altered by minification.\n * If the function has been minified and NODE_ENV !== 'production', warn the user.\n */\n\nfunction isCrushed() {}\n\nif (process.env.NODE_ENV !== 'production' && typeof isCrushed.name === 'string' && isCrushed.name !== 'isCrushed') {\n warning('You are currently using minified code outside of NODE_ENV === \"production\". ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or setting mode to production in webpack (https://webpack.js.org/concepts/mode/) ' + 'to ensure you have the correct code for your production build.');\n}\n\nexport { ActionTypes as __DO_NOT_USE__ActionTypes, applyMiddleware, bindActionCreators, combineReducers, compose, createStore };\n","/** A function that accepts a potential \"extra argument\" value to be injected later,\r\n * and returns an instance of the thunk middleware that uses that value\r\n */\nfunction createThunkMiddleware(extraArgument) {\n // Standard Redux middleware definition pattern:\n // See: https://redux.js.org/tutorials/fundamentals/part-4-store#writing-custom-middleware\n var middleware = function middleware(_ref) {\n var dispatch = _ref.dispatch,\n getState = _ref.getState;\n return function (next) {\n return function (action) {\n // The thunk middleware looks for any functions that were passed to `store.dispatch`.\n // If this \"action\" is really a function, call it and return the result.\n if (typeof action === 'function') {\n // Inject the store's `dispatch` and `getState` methods, as well as any \"extra arg\"\n return action(dispatch, getState, extraArgument);\n } // Otherwise, pass the action down the middleware chain as usual\n\n\n return next(action);\n };\n };\n };\n\n return middleware;\n}\n\nvar thunk = createThunkMiddleware(); // Attach the factory function so users can create a customized version\n// with whatever \"extra arg\" they want to inject into their thunks\n\nthunk.withExtraArgument = createThunkMiddleware;\nexport default thunk;","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 (noop) {\r\n return noop;\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/utils.ts\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\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 || typeof value === \"undefined\" || 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) {\r\n if (ignorePaths === void 0) { ignorePaths = []; }\r\n if (path === void 0) { path = \"\"; }\r\n var tracked = { value: obj };\r\n if (!isImmutable(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, ignorePaths, trackedProperty, obj, sameParentRef, path) {\r\n if (ignorePaths === void 0) { ignorePaths = []; }\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 for (var key in keysToDetect) {\r\n var childPath = path ? path + \".\" + key : key;\r\n if (ignorePaths.length && ignorePaths.indexOf(childPath) !== -1) {\r\n continue;\r\n }\r\n var result = detectMutations(isImmutable, ignorePaths, trackedProperty.children[key], obj[key], sameRef, childPath);\r\n if (result.wasMutated) {\r\n return result;\r\n }\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 type === \"undefined\" || val === null || type === \"string\" || type === \"boolean\" || type === \"number\" || Array.isArray(val) || isPlainObject(val);\r\n}\r\nfunction findNonSerializableValue(value, path, isSerializable, getEntries, ignoredPaths) {\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 || \"\",\r\n value: value\r\n };\r\n }\r\n if (typeof value !== \"object\" || value === null) {\r\n return false;\r\n }\r\n var entries = getEntries != null ? getEntries(value) : Object.entries(value);\r\n var hasIgnoredPaths = ignoredPaths.length > 0;\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 nestedPath = path ? path + \".\" + key : key;\r\n if (hasIgnoredPaths && ignoredPaths.indexOf(nestedPath) >= 0) {\r\n continue;\r\n }\r\n if (!isSerializable(nestedValue)) {\r\n return {\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);\r\n if (foundNestedSerializable) {\r\n return foundNestedSerializable;\r\n }\r\n }\r\n }\r\n return false;\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;\r\n return function (storeAPI) { return function (next) { return function (action) {\r\n if (ignoredActions.length && ignoredActions.indexOf(action.type) !== -1) {\r\n return next(action);\r\n }\r\n var measureUtils = getTimeMeasureUtils(warnAfter, \"SerializableStateInvariantMiddleware\");\r\n measureUtils.measureTime(function () {\r\n var foundActionNonSerializableValue = findNonSerializableValue(action, \"\", isSerializable, getEntries, ignoredActionPaths);\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 var result = next(action);\r\n if (!ignoreState) {\r\n measureUtils.measureTime(function () {\r\n var state = storeAPI.getState();\r\n var foundStateNonSerializableValue = findNonSerializableValue(state, \"\", isSerializable, getEntries, ignoredPaths);\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;\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 }\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 storeEnhancers = [middlewareEnhancer];\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(storeEnhancers);\r\n }\r\n var composedEnhancer = finalCompose.apply(void 0, storeEnhancers);\r\n return createStore(rootReducer, preloadedState, composedEnhancer);\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 isFSA(action) {\r\n return isPlainObject(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/createReducer.ts\r\nimport createNextState, { isDraft as isDraft2, isDraftable } 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 in actionsMap) {\r\n throw new Error(\"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\nfunction createReducer(initialState, mapOrBuilderCallback, actionMatchers, defaultCaseReducer) {\r\n if (actionMatchers === void 0) { actionMatchers = []; }\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 createNextState(initialState(), function () {\r\n }); };\r\n }\r\n else {\r\n var frozenInitialState_1 = createNextState(initialState, function () {\r\n });\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 (typeof result === \"undefined\") {\r\n return previousState;\r\n }\r\n return result;\r\n }\r\n else if (!isDraftable(previousState)) {\r\n var result = caseReducer(previousState, action);\r\n if (typeof result === \"undefined\") {\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 createNextState(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\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 var initialState = typeof options.initialState == \"function\" ? options.initialState : default2(options.initialState, function () {\r\n });\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 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, finalCaseReducers, actionMatchers, defaultCaseReducer);\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 createNextState2, { 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 createNextState2(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 = state.ids.map(function (id) { return newKeys[id] || id; });\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 takeUpdatedModel(models, update, state) {\r\n if (!(update.id in state.entities)) {\r\n return false;\r\n }\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 delete state.entities[update.id];\r\n models.push(updated);\r\n return newKey !== update.id;\r\n }\r\n function updateManyMutably(updates, state) {\r\n var models = [];\r\n updates.forEach(function (update) { return takeUpdatedModel(models, update, state); });\r\n if (models.length !== 0) {\r\n merge(models, 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 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\nfunction createAsyncThunk(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 };\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 abortedPromise = new Promise(function (_, reject) { return abortController.signal.addEventListener(\"abort\", function () { return reject({ name: \"AbortError\", message: abortReason || \"Aborted\" }); }); });\r\n var started = false;\r\n function abort(reason) {\r\n if (started) {\r\n abortReason = reason;\r\n abortController.abort();\r\n }\r\n }\r\n var promise = function () {\r\n return __async(this, null, function () {\r\n var _a, _b, finalAction, conditionResult, 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) {\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 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 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(promise, {\r\n abort: abort,\r\n requestId: requestId,\r\n arg: arg,\r\n unwrap: function () {\r\n return promise.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\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/tsHelpers.ts\r\nvar hasMatchFunction = function (v) {\r\n return v && typeof v.match === \"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/index.ts\r\nenableES5();\r\nexport { MiddlewareArray, configureStore, createAction, createAsyncThunk, createDraftSafeSelector, createEntityAdapter, createImmutableStateInvariantMiddleware, default2 as createNextState, createReducer, createSelector2 as createSelector, createSerializableStateInvariantMiddleware, createSlice, current2 as current, findNonSerializableValue, freeze, getDefaultMiddleware, getType, isAllOf, isAnyOf, isAsyncThunkAction, isDraft4 as isDraft, isFulfilled, isImmutableDefault, isPending, isPlain, isPlainObject, isRejected, isRejectedWithValue, miniSerializeError, nanoid, original, unwrapResult };\r\n//# sourceMappingURL=redux-toolkit.esm.js.map","import React from 'react';\nexport var ReactReduxContext = /*#__PURE__*/React.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n ReactReduxContext.displayName = 'ReactRedux';\n}\n\nexport default ReactReduxContext;","// Default to a dummy \"batch\" implementation that just runs the callback\nfunction defaultNoopBatch(callback) {\n callback();\n}\n\nvar batch = defaultNoopBatch; // Allow injecting another batching function later\n\nexport var setBatch = function setBatch(newBatch) {\n return batch = newBatch;\n}; // Supply a getter just to skip dealing with ESM bindings\n\nexport var getBatch = function getBatch() {\n return batch;\n};","import { getBatch } from './batch'; // encapsulates the subscription logic for connecting a component to the redux store, as\n// well as nesting subscriptions of descendant components, so that we can ensure the\n// ancestor components re-render before descendants\n\nfunction createListenerCollection() {\n var batch = getBatch();\n var first = null;\n var last = null;\n return {\n clear: function clear() {\n first = null;\n last = null;\n },\n notify: function notify() {\n batch(function () {\n var listener = first;\n\n while (listener) {\n listener.callback();\n listener = listener.next;\n }\n });\n },\n get: function get() {\n var listeners = [];\n var listener = first;\n\n while (listener) {\n listeners.push(listener);\n listener = listener.next;\n }\n\n return listeners;\n },\n subscribe: function subscribe(callback) {\n var isSubscribed = true;\n var listener = last = {\n callback: callback,\n next: null,\n prev: last\n };\n\n if (listener.prev) {\n listener.prev.next = listener;\n } else {\n first = listener;\n }\n\n return function unsubscribe() {\n if (!isSubscribed || first === null) return;\n isSubscribed = false;\n\n if (listener.next) {\n listener.next.prev = listener.prev;\n } else {\n last = listener.prev;\n }\n\n if (listener.prev) {\n listener.prev.next = listener.next;\n } else {\n first = listener.next;\n }\n };\n }\n };\n}\n\nvar nullListeners = {\n notify: function notify() {},\n get: function get() {\n return [];\n }\n};\nexport function createSubscription(store, parentSub) {\n var unsubscribe;\n var listeners = nullListeners;\n\n function addNestedSub(listener) {\n trySubscribe();\n return listeners.subscribe(listener);\n }\n\n function notifyNestedSubs() {\n listeners.notify();\n }\n\n function handleChangeWrapper() {\n if (subscription.onStateChange) {\n subscription.onStateChange();\n }\n }\n\n function isSubscribed() {\n return Boolean(unsubscribe);\n }\n\n function trySubscribe() {\n if (!unsubscribe) {\n unsubscribe = parentSub ? parentSub.addNestedSub(handleChangeWrapper) : store.subscribe(handleChangeWrapper);\n listeners = createListenerCollection();\n }\n }\n\n function tryUnsubscribe() {\n if (unsubscribe) {\n unsubscribe();\n unsubscribe = undefined;\n listeners.clear();\n listeners = nullListeners;\n }\n }\n\n var subscription = {\n addNestedSub: addNestedSub,\n notifyNestedSubs: notifyNestedSubs,\n handleChangeWrapper: handleChangeWrapper,\n isSubscribed: isSubscribed,\n trySubscribe: trySubscribe,\n tryUnsubscribe: tryUnsubscribe,\n getListeners: function getListeners() {\n return listeners;\n }\n };\n return subscription;\n}","import { useEffect, useLayoutEffect } from 'react'; // React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser. We need useLayoutEffect to ensure the store\n// subscription callback always has the selector from the latest render commit\n// available, otherwise a store update may happen between render and the effect,\n// which may cause missed updates; we also must ensure the store subscription\n// is created synchronously, otherwise a store update may occur before the\n// subscription is created and an inconsistent state may be observed\n\nexport var useIsomorphicLayoutEffect = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined' ? useLayoutEffect : useEffect;","import React, { useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { ReactReduxContext } from './Context';\nimport { createSubscription } from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\n\nfunction Provider(_ref) {\n var store = _ref.store,\n context = _ref.context,\n children = _ref.children;\n var contextValue = useMemo(function () {\n var subscription = createSubscription(store);\n subscription.onStateChange = subscription.notifyNestedSubs;\n return {\n store: store,\n subscription: subscription\n };\n }, [store]);\n var previousState = useMemo(function () {\n return store.getState();\n }, [store]);\n useIsomorphicLayoutEffect(function () {\n var subscription = contextValue.subscription;\n subscription.trySubscribe();\n\n if (previousState !== store.getState()) {\n subscription.notifyNestedSubs();\n }\n\n return function () {\n subscription.tryUnsubscribe();\n subscription.onStateChange = null;\n };\n }, [contextValue, previousState]);\n var Context = context || ReactReduxContext;\n return /*#__PURE__*/React.createElement(Context.Provider, {\n value: contextValue\n }, children);\n}\n\nif (process.env.NODE_ENV !== 'production') {\n Provider.propTypes = {\n store: PropTypes.shape({\n subscribe: PropTypes.func.isRequired,\n dispatch: PropTypes.func.isRequired,\n getState: PropTypes.func.isRequired\n }),\n context: PropTypes.object,\n children: PropTypes.any\n };\n}\n\nexport default Provider;","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","import { useContext } from 'react';\nimport { ReactReduxContext } from '../components/Context';\n/**\n * A hook to access the value of the `ReactReduxContext`. This is a low-level\n * hook that you should usually not need to call directly.\n *\n * @returns {any} the value of the `ReactReduxContext`\n *\n * @example\n *\n * import React from 'react'\n * import { useReduxContext } from 'react-redux'\n *\n * export const CounterComponent = ({ value }) => {\n * const { store } = useReduxContext()\n * return
{store.getState()}
\n * }\n */\n\nexport function useReduxContext() {\n var contextValue = useContext(ReactReduxContext);\n\n if (process.env.NODE_ENV !== 'production' && !contextValue) {\n throw new Error('could not find react-redux context value; please ensure the component is wrapped in a ');\n }\n\n return contextValue;\n}","import { ReactReduxContext } from '../components/Context';\nimport { useStore as useDefaultStore, createStoreHook } from './useStore';\n/**\n * Hook factory, which creates a `useDispatch` hook bound to a given context.\n *\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\n * @returns {Function} A `useDispatch` hook bound to the specified context.\n */\n\nexport function createDispatchHook(context) {\n if (context === void 0) {\n context = ReactReduxContext;\n }\n\n var useStore = context === ReactReduxContext ? useDefaultStore : createStoreHook(context);\n return function useDispatch() {\n var store = useStore();\n return store.dispatch;\n };\n}\n/**\n * A hook to access the redux `dispatch` function.\n *\n * @returns {any|function} redux store's `dispatch` function\n *\n * @example\n *\n * import React, { useCallback } from 'react'\n * import { useDispatch } from 'react-redux'\n *\n * export const CounterComponent = ({ value }) => {\n * const dispatch = useDispatch()\n * const increaseCounter = useCallback(() => dispatch({ type: 'increase-counter' }), [])\n * return (\n *
\n * {value}\n * \n *
\n * )\n * }\n */\n\nexport var useDispatch = /*#__PURE__*/createDispatchHook();","import { useReducer, useRef, useMemo, useContext, useDebugValue } from 'react';\nimport { useReduxContext as useDefaultReduxContext } from './useReduxContext';\nimport { createSubscription } from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\nimport { ReactReduxContext } from '../components/Context';\n\nvar refEquality = function refEquality(a, b) {\n return a === b;\n};\n\nfunction useSelectorWithStoreAndSubscription(selector, equalityFn, store, contextSub) {\n var _useReducer = useReducer(function (s) {\n return s + 1;\n }, 0),\n forceRender = _useReducer[1];\n\n var subscription = useMemo(function () {\n return createSubscription(store, contextSub);\n }, [store, contextSub]);\n var latestSubscriptionCallbackError = useRef();\n var latestSelector = useRef();\n var latestStoreState = useRef();\n var latestSelectedState = useRef();\n var storeState = store.getState();\n var selectedState;\n\n try {\n if (selector !== latestSelector.current || storeState !== latestStoreState.current || latestSubscriptionCallbackError.current) {\n var newSelectedState = selector(storeState); // ensure latest selected state is reused so that a custom equality function can result in identical references\n\n if (latestSelectedState.current === undefined || !equalityFn(newSelectedState, latestSelectedState.current)) {\n selectedState = newSelectedState;\n } else {\n selectedState = latestSelectedState.current;\n }\n } else {\n selectedState = latestSelectedState.current;\n }\n } catch (err) {\n if (latestSubscriptionCallbackError.current) {\n err.message += \"\\nThe error may be correlated with this previous error:\\n\" + latestSubscriptionCallbackError.current.stack + \"\\n\\n\";\n }\n\n throw err;\n }\n\n useIsomorphicLayoutEffect(function () {\n latestSelector.current = selector;\n latestStoreState.current = storeState;\n latestSelectedState.current = selectedState;\n latestSubscriptionCallbackError.current = undefined;\n });\n useIsomorphicLayoutEffect(function () {\n function checkForUpdates() {\n try {\n var newStoreState = store.getState(); // Avoid calling selector multiple times if the store's state has not changed\n\n if (newStoreState === latestStoreState.current) {\n return;\n }\n\n var _newSelectedState = latestSelector.current(newStoreState);\n\n if (equalityFn(_newSelectedState, latestSelectedState.current)) {\n return;\n }\n\n latestSelectedState.current = _newSelectedState;\n latestStoreState.current = newStoreState;\n } catch (err) {\n // we ignore all errors here, since when the component\n // is re-rendered, the selectors are called again, and\n // will throw again, if neither props nor store state\n // changed\n latestSubscriptionCallbackError.current = err;\n }\n\n forceRender();\n }\n\n subscription.onStateChange = checkForUpdates;\n subscription.trySubscribe();\n checkForUpdates();\n return function () {\n return subscription.tryUnsubscribe();\n };\n }, [store, subscription]);\n return selectedState;\n}\n/**\n * Hook factory, which creates a `useSelector` hook bound to a given context.\n *\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\n * @returns {Function} A `useSelector` hook bound to the specified context.\n */\n\n\nexport function createSelectorHook(context) {\n if (context === void 0) {\n context = ReactReduxContext;\n }\n\n var useReduxContext = context === ReactReduxContext ? useDefaultReduxContext : function () {\n return useContext(context);\n };\n return function useSelector(selector, equalityFn) {\n if (equalityFn === void 0) {\n equalityFn = refEquality;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (!selector) {\n throw new Error(\"You must pass a selector to useSelector\");\n }\n\n if (typeof selector !== 'function') {\n throw new Error(\"You must pass a function as a selector to useSelector\");\n }\n\n if (typeof equalityFn !== 'function') {\n throw new Error(\"You must pass a function as an equality function to useSelector\");\n }\n }\n\n var _useReduxContext = useReduxContext(),\n store = _useReduxContext.store,\n contextSub = _useReduxContext.subscription;\n\n var selectedState = useSelectorWithStoreAndSubscription(selector, equalityFn, store, contextSub);\n useDebugValue(selectedState);\n return selectedState;\n };\n}\n/**\n * A hook to access the redux store's state. This hook takes a selector function\n * as an argument. The selector is called with the store state.\n *\n * This hook takes an optional equality comparison function as the second parameter\n * that allows you to customize the way the selected state is compared to determine\n * whether the component needs to be re-rendered.\n *\n * @param {Function} selector the selector function\n * @param {Function=} equalityFn the function that will be used to determine equality\n *\n * @returns {any} the selected state\n *\n * @example\n *\n * import React from 'react'\n * import { useSelector } from 'react-redux'\n *\n * export const CounterComponent = () => {\n * const counter = useSelector(state => state.counter)\n * return
{counter}
\n * }\n */\n\nexport var useSelector = /*#__PURE__*/createSelectorHook();","export * from './exports';\nimport { unstable_batchedUpdates as batch } from './utils/reactBatchedUpdates';\nimport { setBatch } from './utils/batch'; // Enable batched updates in our subscriptions for use\n// with standard React renderers (ReactDOM, React Native)\n\nsetBatch(batch);\nexport { batch };","/**\r\n * get JSON from HTML element on the page\r\n */\r\nimport React, {useEffect, useState} from \"react\";\r\n\r\n\r\nexport const getJSONFromHtml = ($el: HTMLElement|null) => {\r\n if(!$el || !$el.textContent) return null;\r\n\r\n let json = null;\r\n\r\n try{\r\n json = JSON.parse($el.textContent);\r\n }\r\n catch(ex){}\r\n\r\n return json;\r\n};\r\n\r\n/**\r\n * get setting fromHTML\r\n *
...
\r\n */\r\nexport const getSettingFromHtml = (id: string) => {\r\n const $div = document.querySelector(`#${ id }`);\r\n if(!$div || !$div.textContent) return '';\r\n return $div.textContent.trim();\r\n};\r\n\r\n/**\r\n * helper: get GUID\r\n */\r\nconst guidHelper = () => {\r\n return Math.floor((1 + Math.random()) * 0x10000)\r\n .toString(16)\r\n .substring(1);\r\n};\r\n\r\n/**\r\n * get GUID\r\n */\r\nexport const guid = () => {\r\n return guidHelper() + guidHelper() + '-' + guidHelper() + '-' + guidHelper() + '-' + guidHelper() + '-' + guidHelper() + guidHelper() + guidHelper();\r\n};\r\n\r\n/**\r\n * timeout in milliseconds\r\n */\r\nexport const timeout = (ms: number) => {\r\n return new Promise(resolve => setTimeout(resolve, ms));\r\n};\r\n\r\n/**\r\n * get page node GUID from meta tag printed in HTML\r\n *
67633544-c1c1-4096-a3cc-880a96fe4713
\r\n */\r\nexport const getPageNodeGUID = () => {\r\n const $div = document.querySelector('#nodeguid');\r\n if(!$div || !$div.textContent) return '';\r\n return $div.textContent.trim();\r\n};\r\n\r\n/**\r\n * get img CDN domain\r\n */\r\nexport const getImgCDNDomain = () => {\r\n const $box = document.getElementById('img-cdn-domain');\r\n const domain = $box?.textContent || '';\r\n return domain.trim().toLowerCase();\r\n};\r\n\r\ndeclare const window: any;\r\nexport const isMobile = () => {\r\n let check = false;\r\n\r\n // eslint-disable-next-line\r\n (function(a){if(/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(a.substr(0,4))) check = true;})( navigator.userAgent||navigator.vendor||window.opera);\r\n return check;\r\n};\r\nexport const isTablet_NOTWORK = () => {\r\n const userAgent = navigator.userAgent.toLowerCase();\r\n const isTablet = /(ipad|tablet|(android(?!.*mobile))|(windows(?!.*phone)(.*touch))|kindle|playbook|silk|(puffin(?!.*(IP|AP|WP))))/.test(userAgent);\r\n return isTablet;\r\n};\r\nexport const isTablet = () => {\r\n const isTouchDevice = 'ontouchstart' in window || navigator.maxTouchPoints > 0;\r\n if (isTouchDevice && !isMobile()) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n};\r\n\r\nexport const stopAllYouTubeVideos = () => {\r\n // eslint-disable-next-line\r\n document.querySelectorAll('iframe').forEach(v => { v.src = v.src;});\r\n const cnt = document.querySelectorAll('iframe')?.length;\r\n if(cnt > 0){\r\n window.setTimeout(() => {\r\n window.history.go(cnt-1);\r\n }, 200);\r\n }\r\n //window.history.go(-1);\r\n}\r\n\r\n\r\nexport const getHashByPrefix = (toFind:string, indexToFind:number = 0) => {\r\n let result = \"\";\r\n const _hash = window.location.hash.substring(1);\r\n if(!_hash || _hash === '')\r\n return result;\r\n var a = decodeURIComponent(_hash).split(\"|\"),\r\n i;\r\n\r\n for (i = 0; i < a.length; i++) {\r\n\r\n if(i < indexToFind)\r\n continue;\r\n\r\n if(a[i].startsWith(toFind) || toFind === ''){\r\n result = a[i];\r\n return result;\r\n }\r\n }\r\n\r\n return result;\r\n};\r\n\r\nexport const getParents = (elem: any) => {\r\n\r\n // Set up a parent array\r\n var parents = [];\r\n\r\n // Push each parent element to the array\r\n for ( ; elem && elem !== document; elem = elem.parentNode ) {\r\n parents.push(elem);\r\n }\r\n\r\n // Return our parent array\r\n return parents;\r\n\r\n};\r\nexport const isChildOfElementById = (elem: any, parentId: string) => {\r\n\r\n let res = false;\r\n // Push each parent element to the array\r\n for ( ; elem && elem !== document; elem = elem.parentNode ) {\r\n if(elem.id && elem.id === parentId)\r\n res = true;\r\n }\r\n\r\n // Return our parent array\r\n return res;\r\n\r\n};\r\n//Hook for dynamic window size\r\nexport const useWindowSize = () => {\r\n\r\n // Initialize state with undefined width/height so server and client renders match\r\n // Learn more here: https://joshwcomeau.com/react/the-perils-of-rehydration/\r\n const [windowSize, setWindowSize] = useState({\r\n width: undefined,\r\n height: undefined,\r\n });\r\n useEffect(() => {\r\n // Handler to call on window resize\r\n function handleResize() {\r\n // Set window width/height to state\r\n setWindowSize({\r\n width: window.innerWidth,\r\n height: window.innerHeight,\r\n });\r\n }\r\n // Add event listener\r\n window.addEventListener(\"resize\", handleResize);\r\n // Call handler right away so state gets updated with initial window size\r\n handleResize();\r\n // Remove event listener on cleanup\r\n return () => window.removeEventListener(\"resize\", handleResize);\r\n }, []); // Empty array ensures that effect is only run on mount\r\n\r\n return windowSize;\r\n\r\n};\r\n//Hook for detect if HTML element is overflow\r\nexport const useIsOverflow = (ref : any) => {\r\n const [isOverflow, setIsOverflow] = React.useState(false);\r\n\r\n React.useLayoutEffect(() => {\r\n const { current } = ref;\r\n\r\n const trigger = () => {\r\n const hasOverflow = current.scrollWidth > current.clientWidth;\r\n\r\n setIsOverflow(hasOverflow);\r\n\r\n //if (callback) callback(hasOverflow);\r\n };\r\n\r\n if (current) {\r\n trigger();\r\n }\r\n }, [ ref]);\r\n\r\n return isOverflow;\r\n};\r\n\r\nexport const openWindowPopup = (url: string, title: string, width: number, height: number) => {\r\n const left = (window.screen.width / 2) - (width / 2);\r\n const top = (window.screen.height / 2) - (height / 2);\r\n return window.open(\r\n url,\r\n title,\r\n `toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width=${ width }, height=${ height }, top=${ top }, left=${ left }`\r\n );\r\n};","import { createSlice, configureStore } from '@reduxjs/toolkit';\r\nimport { TypedUseSelectorHook, useDispatch, useSelector } from 'react-redux';\r\nimport {IIndexable} from \"../../../../domain/interfaces\";\r\nimport {getJSONFromHtml} from \"../../../../domain/common\";\r\nimport {PublicCreatorProfileDM} from \"../interfaces\";\r\n\r\nconst PageData = (getJSONFromHtml(document.getElementById('olp-public-creator-data')) as PublicCreatorProfileDM);\r\nconst _imgCdnDomain = (document.getElementById('img-cdn-domain')?.textContent || '')?.trim().toLowerCase();\r\nconst _creatorsPath = (document.getElementById('creators-relative-path')?.textContent || '')?.trim().toLowerCase();\r\n\r\nexport interface StateInterface extends IIndexable{\r\n PublicCreatorProfileData:PublicCreatorProfileDM;\r\n imgCdnDomain: string;\r\n creatorsPath: string;\r\n}\r\n// initial state\r\nconst initialState: StateInterface = {\r\n PublicCreatorProfileData:PageData,\r\n imgCdnDomain: _imgCdnDomain,\r\n creatorsPath:_creatorsPath\r\n}\r\n// the main slice\r\nconst rootSlice = createSlice({\r\n name: 'root',\r\n initialState,\r\n reducers: {\r\n main(state, action) {\r\n return {\r\n ...state,\r\n ...action.payload,\r\n };\r\n },\r\n },\r\n});\r\n\r\nconst store = configureStore({\r\n reducer: rootSlice.reducer,\r\n});\r\n\r\nexport const rootActions = rootSlice.actions;\r\nexport default store;\r\n\r\n/**\r\n * Infer the `RootState` and `AppDispatch` types from the store itself\r\n * https://redux.js.org/recipes/usage-with-typescript\r\n */\r\nexport type RootState = ReturnType;\r\nexport type AppDispatch = typeof store.dispatch;\r\n\r\n// Use throughout your app instead of plain `useDispatch` and `useSelector`\r\n// https://redux.js.org/recipes/usage-with-typescript\r\nexport const useAppDispatch = () => useDispatch();\r\nexport const useAppSelector: TypedUseSelectorHook = useSelector;\r\n\r\n","// from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findIndex#Polyfill\nif (!Array.prototype.findIndex) {\n Object.defineProperty(Array.prototype, \"findIndex\", {\n value: function value(predicate) {\n \"use strict\";\n\n if (this == null) {\n throw new TypeError(\"Array.prototype.findIndex called on null or undefined\");\n }\n if (typeof predicate !== \"function\") {\n throw new TypeError(\"predicate must be a function\");\n }\n var list = Object(this);\n var length = list.length >>> 0;\n var thisArg = arguments[1];\n var value;\n for (var i = 0; i < length; i++) {\n value = list[i];\n if (predicate.call(thisArg, value, i, list)) {\n return i;\n }\n }\n return -1;\n },\n enumerable: false,\n configurable: false,\n writable: false\n });\n}\nexport default true;\n//# sourceMappingURL=array-findindex.js.map","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nvar config = {\n warnings: {\n fallbackImage: true,\n sizesAttribute: true,\n invalidARFormat: true,\n oversizeImage: true,\n lazyLCP: true\n }\n};\nvar _setWarning = function _setWarning(name, value) {\n if (!name || !(name in config.warnings)) {\n return;\n }\n config.warnings[name] = value;\n};\nvar PublicConfigAPI = /*#__PURE__*/function () {\n function PublicConfigAPI() {\n _classCallCheck(this, PublicConfigAPI);\n }\n return _createClass(PublicConfigAPI, null, [{\n key: \"disableWarning\",\n value: function disableWarning(name) {\n _setWarning(name, false);\n }\n }, {\n key: \"enableWarning\",\n value: function enableWarning(name) {\n _setWarning(name, true);\n }\n }]);\n}();\nexport default config;\nexport { PublicConfigAPI };\n//# sourceMappingURL=config.js.map","export var PACKAGE_VERSION = \"9.10.0\";\n//# sourceMappingURL=constants.js.map","/**\n * base64.ts\n *\n * Licensed under the BSD 3-Clause License.\n * http://opensource.org/licenses/BSD-3-Clause\n *\n * References:\n * http://en.wikipedia.org/wiki/Base64\n *\n * @author Dan Kogai (https://github.com/dankogai)\n */\nconst version = '3.7.7';\n/**\n * @deprecated use lowercase `version`.\n */\nconst VERSION = version;\nconst _hasBuffer = typeof Buffer === 'function';\nconst _TD = typeof TextDecoder === 'function' ? new TextDecoder() : undefined;\nconst _TE = typeof TextEncoder === 'function' ? new TextEncoder() : undefined;\nconst b64ch = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\nconst b64chs = Array.prototype.slice.call(b64ch);\nconst b64tab = ((a) => {\n let tab = {};\n a.forEach((c, i) => tab[c] = i);\n return tab;\n})(b64chs);\nconst b64re = /^(?:[A-Za-z\\d+\\/]{4})*?(?:[A-Za-z\\d+\\/]{2}(?:==)?|[A-Za-z\\d+\\/]{3}=?)?$/;\nconst _fromCC = String.fromCharCode.bind(String);\nconst _U8Afrom = typeof Uint8Array.from === 'function'\n ? Uint8Array.from.bind(Uint8Array)\n : (it) => new Uint8Array(Array.prototype.slice.call(it, 0));\nconst _mkUriSafe = (src) => src\n .replace(/=/g, '').replace(/[+\\/]/g, (m0) => m0 == '+' ? '-' : '_');\nconst _tidyB64 = (s) => s.replace(/[^A-Za-z0-9\\+\\/]/g, '');\n/**\n * polyfill version of `btoa`\n */\nconst btoaPolyfill = (bin) => {\n // console.log('polyfilled');\n let u32, c0, c1, c2, asc = '';\n const pad = bin.length % 3;\n for (let i = 0; i < bin.length;) {\n if ((c0 = bin.charCodeAt(i++)) > 255 ||\n (c1 = bin.charCodeAt(i++)) > 255 ||\n (c2 = bin.charCodeAt(i++)) > 255)\n throw new TypeError('invalid character found');\n u32 = (c0 << 16) | (c1 << 8) | c2;\n asc += b64chs[u32 >> 18 & 63]\n + b64chs[u32 >> 12 & 63]\n + b64chs[u32 >> 6 & 63]\n + b64chs[u32 & 63];\n }\n return pad ? asc.slice(0, pad - 3) + \"===\".substring(pad) : asc;\n};\n/**\n * does what `window.btoa` of web browsers do.\n * @param {String} bin binary string\n * @returns {string} Base64-encoded string\n */\nconst _btoa = typeof btoa === 'function' ? (bin) => btoa(bin)\n : _hasBuffer ? (bin) => Buffer.from(bin, 'binary').toString('base64')\n : btoaPolyfill;\nconst _fromUint8Array = _hasBuffer\n ? (u8a) => Buffer.from(u8a).toString('base64')\n : (u8a) => {\n // cf. https://stackoverflow.com/questions/12710001/how-to-convert-uint8-array-to-base64-encoded-string/12713326#12713326\n const maxargs = 0x1000;\n let strs = [];\n for (let i = 0, l = u8a.length; i < l; i += maxargs) {\n strs.push(_fromCC.apply(null, u8a.subarray(i, i + maxargs)));\n }\n return _btoa(strs.join(''));\n };\n/**\n * converts a Uint8Array to a Base64 string.\n * @param {boolean} [urlsafe] URL-and-filename-safe a la RFC4648 §5\n * @returns {string} Base64 string\n */\nconst fromUint8Array = (u8a, urlsafe = false) => urlsafe ? _mkUriSafe(_fromUint8Array(u8a)) : _fromUint8Array(u8a);\n// This trick is found broken https://github.com/dankogai/js-base64/issues/130\n// const utob = (src: string) => unescape(encodeURIComponent(src));\n// reverting good old fationed regexp\nconst cb_utob = (c) => {\n if (c.length < 2) {\n var cc = c.charCodeAt(0);\n return cc < 0x80 ? c\n : cc < 0x800 ? (_fromCC(0xc0 | (cc >>> 6))\n + _fromCC(0x80 | (cc & 0x3f)))\n : (_fromCC(0xe0 | ((cc >>> 12) & 0x0f))\n + _fromCC(0x80 | ((cc >>> 6) & 0x3f))\n + _fromCC(0x80 | (cc & 0x3f)));\n }\n else {\n var cc = 0x10000\n + (c.charCodeAt(0) - 0xD800) * 0x400\n + (c.charCodeAt(1) - 0xDC00);\n return (_fromCC(0xf0 | ((cc >>> 18) & 0x07))\n + _fromCC(0x80 | ((cc >>> 12) & 0x3f))\n + _fromCC(0x80 | ((cc >>> 6) & 0x3f))\n + _fromCC(0x80 | (cc & 0x3f)));\n }\n};\nconst re_utob = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFFF]|[^\\x00-\\x7F]/g;\n/**\n * @deprecated should have been internal use only.\n * @param {string} src UTF-8 string\n * @returns {string} UTF-16 string\n */\nconst utob = (u) => u.replace(re_utob, cb_utob);\n//\nconst _encode = _hasBuffer\n ? (s) => Buffer.from(s, 'utf8').toString('base64')\n : _TE\n ? (s) => _fromUint8Array(_TE.encode(s))\n : (s) => _btoa(utob(s));\n/**\n * converts a UTF-8-encoded string to a Base64 string.\n * @param {boolean} [urlsafe] if `true` make the result URL-safe\n * @returns {string} Base64 string\n */\nconst encode = (src, urlsafe = false) => urlsafe\n ? _mkUriSafe(_encode(src))\n : _encode(src);\n/**\n * converts a UTF-8-encoded string to URL-safe Base64 RFC4648 §5.\n * @returns {string} Base64 string\n */\nconst encodeURI = (src) => encode(src, true);\n// This trick is found broken https://github.com/dankogai/js-base64/issues/130\n// const btou = (src: string) => decodeURIComponent(escape(src));\n// reverting good old fationed regexp\nconst re_btou = /[\\xC0-\\xDF][\\x80-\\xBF]|[\\xE0-\\xEF][\\x80-\\xBF]{2}|[\\xF0-\\xF7][\\x80-\\xBF]{3}/g;\nconst cb_btou = (cccc) => {\n switch (cccc.length) {\n case 4:\n var cp = ((0x07 & cccc.charCodeAt(0)) << 18)\n | ((0x3f & cccc.charCodeAt(1)) << 12)\n | ((0x3f & cccc.charCodeAt(2)) << 6)\n | (0x3f & cccc.charCodeAt(3)), offset = cp - 0x10000;\n return (_fromCC((offset >>> 10) + 0xD800)\n + _fromCC((offset & 0x3FF) + 0xDC00));\n case 3:\n return _fromCC(((0x0f & cccc.charCodeAt(0)) << 12)\n | ((0x3f & cccc.charCodeAt(1)) << 6)\n | (0x3f & cccc.charCodeAt(2)));\n default:\n return _fromCC(((0x1f & cccc.charCodeAt(0)) << 6)\n | (0x3f & cccc.charCodeAt(1)));\n }\n};\n/**\n * @deprecated should have been internal use only.\n * @param {string} src UTF-16 string\n * @returns {string} UTF-8 string\n */\nconst btou = (b) => b.replace(re_btou, cb_btou);\n/**\n * polyfill version of `atob`\n */\nconst atobPolyfill = (asc) => {\n // console.log('polyfilled');\n asc = asc.replace(/\\s+/g, '');\n if (!b64re.test(asc))\n throw new TypeError('malformed base64.');\n asc += '=='.slice(2 - (asc.length & 3));\n let u24, bin = '', r1, r2;\n for (let i = 0; i < asc.length;) {\n u24 = b64tab[asc.charAt(i++)] << 18\n | b64tab[asc.charAt(i++)] << 12\n | (r1 = b64tab[asc.charAt(i++)]) << 6\n | (r2 = b64tab[asc.charAt(i++)]);\n bin += r1 === 64 ? _fromCC(u24 >> 16 & 255)\n : r2 === 64 ? _fromCC(u24 >> 16 & 255, u24 >> 8 & 255)\n : _fromCC(u24 >> 16 & 255, u24 >> 8 & 255, u24 & 255);\n }\n return bin;\n};\n/**\n * does what `window.atob` of web browsers do.\n * @param {String} asc Base64-encoded string\n * @returns {string} binary string\n */\nconst _atob = typeof atob === 'function' ? (asc) => atob(_tidyB64(asc))\n : _hasBuffer ? (asc) => Buffer.from(asc, 'base64').toString('binary')\n : atobPolyfill;\n//\nconst _toUint8Array = _hasBuffer\n ? (a) => _U8Afrom(Buffer.from(a, 'base64'))\n : (a) => _U8Afrom(_atob(a).split('').map(c => c.charCodeAt(0)));\n/**\n * converts a Base64 string to a Uint8Array.\n */\nconst toUint8Array = (a) => _toUint8Array(_unURI(a));\n//\nconst _decode = _hasBuffer\n ? (a) => Buffer.from(a, 'base64').toString('utf8')\n : _TD\n ? (a) => _TD.decode(_toUint8Array(a))\n : (a) => btou(_atob(a));\nconst _unURI = (a) => _tidyB64(a.replace(/[-_]/g, (m0) => m0 == '-' ? '+' : '/'));\n/**\n * converts a Base64 string to a UTF-8 string.\n * @param {String} src Base64 string. Both normal and URL-safe are supported\n * @returns {string} UTF-8 string\n */\nconst decode = (src) => _decode(_unURI(src));\n/**\n * check if a value is a valid Base64 string\n * @param {String} src a value to check\n */\nconst isValid = (src) => {\n if (typeof src !== 'string')\n return false;\n const s = src.replace(/\\s+/g, '').replace(/={0,2}$/, '');\n return !/[^\\s0-9a-zA-Z\\+/]/.test(s) || !/[^\\s0-9a-zA-Z\\-_]/.test(s);\n};\n//\nconst _noEnum = (v) => {\n return {\n value: v, enumerable: false, writable: true, configurable: true\n };\n};\n/**\n * extend String.prototype with relevant methods\n */\nconst extendString = function () {\n const _add = (name, body) => Object.defineProperty(String.prototype, name, _noEnum(body));\n _add('fromBase64', function () { return decode(this); });\n _add('toBase64', function (urlsafe) { return encode(this, urlsafe); });\n _add('toBase64URI', function () { return encode(this, true); });\n _add('toBase64URL', function () { return encode(this, true); });\n _add('toUint8Array', function () { return toUint8Array(this); });\n};\n/**\n * extend Uint8Array.prototype with relevant methods\n */\nconst extendUint8Array = function () {\n const _add = (name, body) => Object.defineProperty(Uint8Array.prototype, name, _noEnum(body));\n _add('toBase64', function (urlsafe) { return fromUint8Array(this, urlsafe); });\n _add('toBase64URI', function () { return fromUint8Array(this, true); });\n _add('toBase64URL', function () { return fromUint8Array(this, true); });\n};\n/**\n * extend Builtin prototypes with relevant methods\n */\nconst extendBuiltins = () => {\n extendString();\n extendUint8Array();\n};\nconst gBase64 = {\n version: version,\n VERSION: VERSION,\n atob: _atob,\n atobPolyfill: atobPolyfill,\n btoa: _btoa,\n btoaPolyfill: btoaPolyfill,\n fromBase64: decode,\n toBase64: encode,\n encode: encode,\n encodeURI: encodeURI,\n encodeURL: encodeURI,\n utob: utob,\n btou: btou,\n decode: decode,\n isValid: isValid,\n fromUint8Array: fromUint8Array,\n toUint8Array: toUint8Array,\n extendString: extendString,\n extendUint8Array: extendUint8Array,\n extendBuiltins: extendBuiltins\n};\n// makecjs:CUT //\nexport { version };\nexport { VERSION };\nexport { _atob as atob };\nexport { atobPolyfill };\nexport { _btoa as btoa };\nexport { btoaPolyfill };\nexport { decode as fromBase64 };\nexport { encode as toBase64 };\nexport { utob };\nexport { encode };\nexport { encodeURI };\nexport { encodeURI as encodeURL };\nexport { btou };\nexport { decode };\nexport { isValid };\nexport { fromUint8Array };\nexport { toUint8Array };\nexport { extendString };\nexport { extendUint8Array };\nexport { extendBuiltins };\n// and finally,\nexport { gBase64 as Base64 };\n","const n = /[^\\0-\\x7E]/;\nconst t = /[\\x2E\\u3002\\uFF0E\\uFF61]/g;\nconst o = {\n overflow: \"Overflow Error\",\n \"not-basic\": \"Illegal Input\",\n \"invalid-input\": \"Invalid Input\"\n};\nconst e = Math.floor;\nconst r = String.fromCharCode;\nfunction s(n2) {\n throw new RangeError(o[n2]);\n}\nconst c = function(n2, t2) {\n return n2 + 22 + 75 * (n2 < 26) - ((t2 != 0) << 5);\n};\nconst u = function(n2, t2, o2) {\n let r2 = 0;\n for (n2 = o2 ? e(n2 / 700) : n2 >> 1, n2 += e(n2 / t2); n2 > 455; r2 += 36) {\n n2 = e(n2 / 35);\n }\n return e(r2 + 36 * n2 / (n2 + 38));\n};\nfunction toASCII(o2) {\n return function(n2, o3) {\n const e2 = n2.split(\"@\");\n let r2 = \"\";\n e2.length > 1 && (r2 = e2[0] + \"@\", n2 = e2[1]);\n const s2 = function(n3, t2) {\n const o4 = [];\n let e3 = n3.length;\n for (; e3--; ) {\n o4[e3] = t2(n3[e3]);\n }\n return o4;\n }((n2 = n2.replace(t, \".\")).split(\".\"), o3).join(\".\");\n return r2 + s2;\n }(o2, function(t2) {\n return n.test(t2) ? \"xn--\" + function(n2) {\n const t3 = [];\n const o3 = (n2 = function(n3) {\n const t4 = [];\n let o4 = 0;\n const e2 = n3.length;\n for (; o4 < e2; ) {\n const r2 = n3.charCodeAt(o4++);\n if (r2 >= 55296 && r2 <= 56319 && o4 < e2) {\n const e3 = n3.charCodeAt(o4++);\n (64512 & e3) == 56320 ? t4.push(((1023 & r2) << 10) + (1023 & e3) + 65536) : (t4.push(r2), o4--);\n } else {\n t4.push(r2);\n }\n }\n return t4;\n }(n2)).length;\n let f = 128;\n let i = 0;\n let l = 72;\n for (const o4 of n2) {\n o4 < 128 && t3.push(r(o4));\n }\n const h = t3.length;\n let p = h;\n for (h && t3.push(\"-\"); p < o3; ) {\n let o4 = 2147483647;\n for (const t4 of n2) {\n t4 >= f && t4 < o4 && (o4 = t4);\n }\n const a = p + 1;\n o4 - f > e((2147483647 - i) / a) && s(\"overflow\"), i += (o4 - f) * a, f = o4;\n for (const o5 of n2) {\n if (o5 < f && ++i > 2147483647 && s(\"overflow\"), o5 == f) {\n let n3 = i;\n for (let o6 = 36; ; o6 += 36) {\n const s2 = o6 <= l ? 1 : o6 >= l + 26 ? 26 : o6 - l;\n if (n3 < s2) {\n break;\n }\n const u2 = n3 - s2;\n const f2 = 36 - s2;\n t3.push(r(c(s2 + u2 % f2, 0))), n3 = e(u2 / f2);\n }\n t3.push(r(c(n3, 0))), l = u(i, a, p == h), i = 0, ++p;\n }\n }\n ++i, ++f;\n }\n return t3.join(\"\");\n }(t2) : t2;\n });\n}\n\nconst HASH_RE = /#/g;\nconst AMPERSAND_RE = /&/g;\nconst SLASH_RE = /\\//g;\nconst EQUAL_RE = /=/g;\nconst IM_RE = /\\?/g;\nconst PLUS_RE = /\\+/g;\nconst ENC_CARET_RE = /%5e/gi;\nconst ENC_BACKTICK_RE = /%60/gi;\nconst ENC_CURLY_OPEN_RE = /%7b/gi;\nconst ENC_PIPE_RE = /%7c/gi;\nconst ENC_CURLY_CLOSE_RE = /%7d/gi;\nconst ENC_SPACE_RE = /%20/gi;\nconst ENC_SLASH_RE = /%2f/gi;\nconst ENC_ENC_SLASH_RE = /%252f/gi;\nfunction encode(text) {\n return encodeURI(\"\" + text).replace(ENC_PIPE_RE, \"|\");\n}\nfunction encodeHash(text) {\n return encode(text).replace(ENC_CURLY_OPEN_RE, \"{\").replace(ENC_CURLY_CLOSE_RE, \"}\").replace(ENC_CARET_RE, \"^\");\n}\nfunction encodeQueryValue(input) {\n return encode(typeof input === \"string\" ? input : JSON.stringify(input)).replace(PLUS_RE, \"%2B\").replace(ENC_SPACE_RE, \"+\").replace(HASH_RE, \"%23\").replace(AMPERSAND_RE, \"%26\").replace(ENC_BACKTICK_RE, \"`\").replace(ENC_CARET_RE, \"^\").replace(SLASH_RE, \"%2F\");\n}\nfunction encodeQueryKey(text) {\n return encodeQueryValue(text).replace(EQUAL_RE, \"%3D\");\n}\nfunction encodePath(text) {\n return encode(text).replace(HASH_RE, \"%23\").replace(IM_RE, \"%3F\").replace(ENC_ENC_SLASH_RE, \"%2F\").replace(AMPERSAND_RE, \"%26\").replace(PLUS_RE, \"%2B\");\n}\nfunction encodeParam(text) {\n return encodePath(text).replace(SLASH_RE, \"%2F\");\n}\nfunction decode(text = \"\") {\n try {\n return decodeURIComponent(\"\" + text);\n } catch {\n return \"\" + text;\n }\n}\nfunction decodePath(text) {\n return decode(text.replace(ENC_SLASH_RE, \"%252F\"));\n}\nfunction decodeQueryKey(text) {\n return decode(text.replace(PLUS_RE, \" \"));\n}\nfunction decodeQueryValue(text) {\n return decode(text.replace(PLUS_RE, \" \"));\n}\nfunction encodeHost(name = \"\") {\n return toASCII(name);\n}\n\nfunction parseQuery(parametersString = \"\") {\n const object = {};\n if (parametersString[0] === \"?\") {\n parametersString = parametersString.slice(1);\n }\n for (const parameter of parametersString.split(\"&\")) {\n const s = parameter.match(/([^=]+)=?(.*)/) || [];\n if (s.length < 2) {\n continue;\n }\n const key = decodeQueryKey(s[1]);\n if (key === \"__proto__\" || key === \"constructor\") {\n continue;\n }\n const value = decodeQueryValue(s[2] || \"\");\n if (object[key] === void 0) {\n object[key] = value;\n } else if (Array.isArray(object[key])) {\n object[key].push(value);\n } else {\n object[key] = [object[key], value];\n }\n }\n return object;\n}\nfunction encodeQueryItem(key, value) {\n if (typeof value === \"number\" || typeof value === \"boolean\") {\n value = String(value);\n }\n if (!value) {\n return encodeQueryKey(key);\n }\n if (Array.isArray(value)) {\n return value.map((_value) => `${encodeQueryKey(key)}=${encodeQueryValue(_value)}`).join(\"&\");\n }\n return `${encodeQueryKey(key)}=${encodeQueryValue(value)}`;\n}\nfunction stringifyQuery(query) {\n return Object.keys(query).filter((k) => query[k] !== void 0).map((k) => encodeQueryItem(k, query[k])).filter(Boolean).join(\"&\");\n}\n\nconst PROTOCOL_STRICT_REGEX = /^[\\s\\w\\0+.-]{2,}:([/\\\\]{1,2})/;\nconst PROTOCOL_REGEX = /^[\\s\\w\\0+.-]{2,}:([/\\\\]{2})?/;\nconst PROTOCOL_RELATIVE_REGEX = /^([/\\\\]\\s*){2,}[^/\\\\]/;\nconst PROTOCOL_SCRIPT_RE = /^[\\s\\0]*(blob|data|javascript|vbscript):$/i;\nconst TRAILING_SLASH_RE = /\\/$|\\/\\?|\\/#/;\nconst JOIN_LEADING_SLASH_RE = /^\\.?\\//;\nfunction isRelative(inputString) {\n return [\"./\", \"../\"].some((string_) => inputString.startsWith(string_));\n}\nfunction hasProtocol(inputString, opts = {}) {\n if (typeof opts === \"boolean\") {\n opts = { acceptRelative: opts };\n }\n if (opts.strict) {\n return PROTOCOL_STRICT_REGEX.test(inputString);\n }\n return PROTOCOL_REGEX.test(inputString) || (opts.acceptRelative ? PROTOCOL_RELATIVE_REGEX.test(inputString) : false);\n}\nfunction isScriptProtocol(protocol) {\n return !!protocol && PROTOCOL_SCRIPT_RE.test(protocol);\n}\nfunction hasTrailingSlash(input = \"\", respectQueryAndFragment) {\n if (!respectQueryAndFragment) {\n return input.endsWith(\"/\");\n }\n return TRAILING_SLASH_RE.test(input);\n}\nfunction withoutTrailingSlash(input = \"\", respectQueryAndFragment) {\n if (!respectQueryAndFragment) {\n return (hasTrailingSlash(input) ? input.slice(0, -1) : input) || \"/\";\n }\n if (!hasTrailingSlash(input, true)) {\n return input || \"/\";\n }\n let path = input;\n let fragment = \"\";\n const fragmentIndex = input.indexOf(\"#\");\n if (fragmentIndex >= 0) {\n path = input.slice(0, fragmentIndex);\n fragment = input.slice(fragmentIndex);\n }\n const [s0, ...s] = path.split(\"?\");\n const cleanPath = s0.endsWith(\"/\") ? s0.slice(0, -1) : s0;\n return (cleanPath || \"/\") + (s.length > 0 ? `?${s.join(\"?\")}` : \"\") + fragment;\n}\nfunction withTrailingSlash(input = \"\", respectQueryAndFragment) {\n if (!respectQueryAndFragment) {\n return input.endsWith(\"/\") ? input : input + \"/\";\n }\n if (hasTrailingSlash(input, true)) {\n return input || \"/\";\n }\n let path = input;\n let fragment = \"\";\n const fragmentIndex = input.indexOf(\"#\");\n if (fragmentIndex >= 0) {\n path = input.slice(0, fragmentIndex);\n fragment = input.slice(fragmentIndex);\n if (!path) {\n return fragment;\n }\n }\n const [s0, ...s] = path.split(\"?\");\n return s0 + \"/\" + (s.length > 0 ? `?${s.join(\"?\")}` : \"\") + fragment;\n}\nfunction hasLeadingSlash(input = \"\") {\n return input.startsWith(\"/\");\n}\nfunction withoutLeadingSlash(input = \"\") {\n return (hasLeadingSlash(input) ? input.slice(1) : input) || \"/\";\n}\nfunction withLeadingSlash(input = \"\") {\n return hasLeadingSlash(input) ? input : \"/\" + input;\n}\nfunction cleanDoubleSlashes(input = \"\") {\n return input.split(\"://\").map((string_) => string_.replace(/\\/{2,}/g, \"/\")).join(\"://\");\n}\nfunction withBase(input, base) {\n if (isEmptyURL(base) || hasProtocol(input)) {\n return input;\n }\n const _base = withoutTrailingSlash(base);\n if (input.startsWith(_base)) {\n return input;\n }\n return joinURL(_base, input);\n}\nfunction withoutBase(input, base) {\n if (isEmptyURL(base)) {\n return input;\n }\n const _base = withoutTrailingSlash(base);\n if (!input.startsWith(_base)) {\n return input;\n }\n const trimmed = input.slice(_base.length);\n return trimmed[0] === \"/\" ? trimmed : \"/\" + trimmed;\n}\nfunction withQuery(input, query) {\n const parsed = parseURL(input);\n const mergedQuery = { ...parseQuery(parsed.search), ...query };\n parsed.search = stringifyQuery(mergedQuery);\n return stringifyParsedURL(parsed);\n}\nfunction getQuery(input) {\n return parseQuery(parseURL(input).search);\n}\nfunction isEmptyURL(url) {\n return !url || url === \"/\";\n}\nfunction isNonEmptyURL(url) {\n return url && url !== \"/\";\n}\nfunction joinURL(base, ...input) {\n let url = base || \"\";\n for (const segment of input.filter((url2) => isNonEmptyURL(url2))) {\n if (url) {\n const _segment = segment.replace(JOIN_LEADING_SLASH_RE, \"\");\n url = withTrailingSlash(url) + _segment;\n } else {\n url = segment;\n }\n }\n return url;\n}\nfunction joinRelativeURL(..._input) {\n const JOIN_SEGMENT_SPLIT_RE = /\\/(?!\\/)/;\n const input = _input.filter(Boolean);\n const segments = [];\n let segmentsDepth = 0;\n for (const i of input) {\n if (!i || i === \"/\") {\n continue;\n }\n for (const [sindex, s] of i.split(JOIN_SEGMENT_SPLIT_RE).entries()) {\n if (!s || s === \".\") {\n continue;\n }\n if (s === \"..\") {\n if (segments.length === 1 && hasProtocol(segments[0])) {\n continue;\n }\n segments.pop();\n segmentsDepth--;\n continue;\n }\n if (sindex === 1 && segments[segments.length - 1]?.endsWith(\":/\")) {\n segments[segments.length - 1] += \"/\" + s;\n continue;\n }\n segments.push(s);\n segmentsDepth++;\n }\n }\n let url = segments.join(\"/\");\n if (segmentsDepth >= 0) {\n if (input[0]?.startsWith(\"/\") && !url.startsWith(\"/\")) {\n url = \"/\" + url;\n } else if (input[0]?.startsWith(\"./\") && !url.startsWith(\"./\")) {\n url = \"./\" + url;\n }\n } else {\n url = \"../\".repeat(-1 * segmentsDepth) + url;\n }\n if (input[input.length - 1]?.endsWith(\"/\") && !url.endsWith(\"/\")) {\n url += \"/\";\n }\n return url;\n}\nfunction withHttp(input) {\n return withProtocol(input, \"http://\");\n}\nfunction withHttps(input) {\n return withProtocol(input, \"https://\");\n}\nfunction withoutProtocol(input) {\n return withProtocol(input, \"\");\n}\nfunction withProtocol(input, protocol) {\n let match = input.match(PROTOCOL_REGEX);\n if (!match) {\n match = input.match(/^\\/{2,}/);\n }\n if (!match) {\n return protocol + input;\n }\n return protocol + input.slice(match[0].length);\n}\nfunction normalizeURL(input) {\n const parsed = parseURL(input);\n parsed.pathname = encodePath(decodePath(parsed.pathname));\n parsed.hash = encodeHash(decode(parsed.hash));\n parsed.host = encodeHost(decode(parsed.host));\n parsed.search = stringifyQuery(parseQuery(parsed.search));\n return stringifyParsedURL(parsed);\n}\nfunction resolveURL(base = \"\", ...inputs) {\n if (typeof base !== \"string\") {\n throw new TypeError(\n `URL input should be string received ${typeof base} (${base})`\n );\n }\n const filteredInputs = inputs.filter((input) => isNonEmptyURL(input));\n if (filteredInputs.length === 0) {\n return base;\n }\n const url = parseURL(base);\n for (const inputSegment of filteredInputs) {\n const urlSegment = parseURL(inputSegment);\n if (urlSegment.pathname) {\n url.pathname = withTrailingSlash(url.pathname) + withoutLeadingSlash(urlSegment.pathname);\n }\n if (urlSegment.hash && urlSegment.hash !== \"#\") {\n url.hash = urlSegment.hash;\n }\n if (urlSegment.search && urlSegment.search !== \"?\") {\n if (url.search && url.search !== \"?\") {\n const queryString = stringifyQuery({\n ...parseQuery(url.search),\n ...parseQuery(urlSegment.search)\n });\n url.search = queryString.length > 0 ? \"?\" + queryString : \"\";\n } else {\n url.search = urlSegment.search;\n }\n }\n }\n return stringifyParsedURL(url);\n}\nfunction isSamePath(p1, p2) {\n return decode(withoutTrailingSlash(p1)) === decode(withoutTrailingSlash(p2));\n}\nfunction isEqual(a, b, options = {}) {\n if (!options.trailingSlash) {\n a = withTrailingSlash(a);\n b = withTrailingSlash(b);\n }\n if (!options.leadingSlash) {\n a = withLeadingSlash(a);\n b = withLeadingSlash(b);\n }\n if (!options.encoding) {\n a = decode(a);\n b = decode(b);\n }\n return a === b;\n}\nfunction withFragment(input, hash) {\n if (!hash || hash === \"#\") {\n return input;\n }\n const parsed = parseURL(input);\n parsed.hash = hash === \"\" ? \"\" : \"#\" + encodeHash(hash);\n return stringifyParsedURL(parsed);\n}\nfunction withoutFragment(input) {\n return stringifyParsedURL({ ...parseURL(input), hash: \"\" });\n}\nfunction withoutHost(input) {\n const parsed = parseURL(input);\n return (parsed.pathname || \"/\") + parsed.search + parsed.hash;\n}\n\nconst protocolRelative = Symbol.for(\"ufo:protocolRelative\");\nfunction parseURL(input = \"\", defaultProto) {\n const _specialProtoMatch = input.match(\n /^[\\s\\0]*(blob:|data:|javascript:|vbscript:)(.*)/i\n );\n if (_specialProtoMatch) {\n const [, _proto, _pathname = \"\"] = _specialProtoMatch;\n return {\n protocol: _proto.toLowerCase(),\n pathname: _pathname,\n href: _proto + _pathname,\n auth: \"\",\n host: \"\",\n search: \"\",\n hash: \"\"\n };\n }\n if (!hasProtocol(input, { acceptRelative: true })) {\n return defaultProto ? parseURL(defaultProto + input) : parsePath(input);\n }\n const [, protocol = \"\", auth, hostAndPath = \"\"] = input.replace(/\\\\/g, \"/\").match(/^[\\s\\0]*([\\w+.-]{2,}:)?\\/\\/([^/@]+@)?(.*)/) || [];\n let [, host = \"\", path = \"\"] = hostAndPath.match(/([^#/?]*)(.*)?/) || [];\n if (protocol === \"file:\") {\n path = path.replace(/\\/(?=[A-Za-z]:)/, \"\");\n }\n const { pathname, search, hash } = parsePath(path);\n return {\n protocol: protocol.toLowerCase(),\n auth: auth ? auth.slice(0, Math.max(0, auth.length - 1)) : \"\",\n host,\n pathname,\n search,\n hash,\n [protocolRelative]: !protocol\n };\n}\nfunction parsePath(input = \"\") {\n const [pathname = \"\", search = \"\", hash = \"\"] = (input.match(/([^#?]*)(\\?[^#]*)?(#.*)?/) || []).splice(1);\n return {\n pathname,\n search,\n hash\n };\n}\nfunction parseAuth(input = \"\") {\n const [username, password] = input.split(\":\");\n return {\n username: decode(username),\n password: decode(password)\n };\n}\nfunction parseHost(input = \"\") {\n const [hostname, port] = (input.match(/([^/:]*):?(\\d+)?/) || []).splice(1);\n return {\n hostname: decode(hostname),\n port\n };\n}\nfunction stringifyParsedURL(parsed) {\n const pathname = parsed.pathname || \"\";\n const search = parsed.search ? (parsed.search.startsWith(\"?\") ? \"\" : \"?\") + parsed.search : \"\";\n const hash = parsed.hash || \"\";\n const auth = parsed.auth ? parsed.auth + \"@\" : \"\";\n const host = parsed.host || \"\";\n const proto = parsed.protocol || parsed[protocolRelative] ? (parsed.protocol || \"\") + \"//\" : \"\";\n return proto + auth + host + pathname + search + hash;\n}\nconst FILENAME_STRICT_REGEX = /\\/([^/]+\\.[^/]+)$/;\nconst FILENAME_REGEX = /\\/([^/]+)$/;\nfunction parseFilename(input = \"\", { strict }) {\n const { pathname } = parseURL(input);\n const matches = strict ? pathname.match(FILENAME_STRICT_REGEX) : pathname.match(FILENAME_REGEX);\n return matches ? matches[1] : void 0;\n}\n\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => {\n __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nclass $URL {\n constructor(input = \"\") {\n __publicField(this, \"protocol\");\n __publicField(this, \"host\");\n __publicField(this, \"auth\");\n __publicField(this, \"pathname\");\n __publicField(this, \"query\", {});\n __publicField(this, \"hash\");\n if (typeof input !== \"string\") {\n throw new TypeError(\n `URL input should be string received ${typeof input} (${input})`\n );\n }\n const parsed = parseURL(input);\n this.protocol = decode(parsed.protocol);\n this.host = decode(parsed.host);\n this.auth = decode(parsed.auth);\n this.pathname = decodePath(parsed.pathname);\n this.query = parseQuery(parsed.search);\n this.hash = decode(parsed.hash);\n }\n get hostname() {\n return parseHost(this.host).hostname;\n }\n get port() {\n return parseHost(this.host).port || \"\";\n }\n get username() {\n return parseAuth(this.auth).username;\n }\n get password() {\n return parseAuth(this.auth).password || \"\";\n }\n get hasProtocol() {\n return this.protocol.length;\n }\n get isAbsolute() {\n return this.hasProtocol || this.pathname[0] === \"/\";\n }\n get search() {\n const q = stringifyQuery(this.query);\n return q.length > 0 ? \"?\" + q : \"\";\n }\n get searchParams() {\n const p = new URLSearchParams();\n for (const name in this.query) {\n const value = this.query[name];\n if (Array.isArray(value)) {\n for (const v of value) {\n p.append(name, v);\n }\n } else {\n p.append(\n name,\n typeof value === \"string\" ? value : JSON.stringify(value)\n );\n }\n }\n return p;\n }\n get origin() {\n return (this.protocol ? this.protocol + \"//\" : \"\") + encodeHost(this.host);\n }\n get fullpath() {\n return encodePath(this.pathname) + this.search + encodeHash(this.hash);\n }\n get encodedAuth() {\n if (!this.auth) {\n return \"\";\n }\n const { username, password } = parseAuth(this.auth);\n return encodeURIComponent(username) + (password ? \":\" + encodeURIComponent(password) : \"\");\n }\n get href() {\n const auth = this.encodedAuth;\n const originWithAuth = (this.protocol ? this.protocol + \"//\" : \"\") + (auth ? auth + \"@\" : \"\") + encodeHost(this.host);\n return this.hasProtocol && this.isAbsolute ? originWithAuth + this.fullpath : this.fullpath;\n }\n append(url) {\n if (url.hasProtocol) {\n throw new Error(\"Cannot append a URL with protocol\");\n }\n Object.assign(this.query, url.query);\n if (url.pathname) {\n this.pathname = withTrailingSlash(this.pathname) + withoutLeadingSlash(url.pathname);\n }\n if (url.hash) {\n this.hash = url.hash;\n }\n }\n toJSON() {\n return this.href;\n }\n toString() {\n return this.href;\n }\n}\nfunction createURL(input) {\n return new $URL(input);\n}\n\nexport { $URL, cleanDoubleSlashes, createURL, decode, decodePath, decodeQueryKey, decodeQueryValue, encode, encodeHash, encodeHost, encodeParam, encodePath, encodeQueryItem, encodeQueryKey, encodeQueryValue, getQuery, hasLeadingSlash, hasProtocol, hasTrailingSlash, isEmptyURL, isEqual, isNonEmptyURL, isRelative, isSamePath, isScriptProtocol, joinRelativeURL, joinURL, normalizeURL, parseAuth, parseFilename, parseHost, parsePath, parseQuery, parseURL, resolveURL, stringifyParsedURL, stringifyQuery, withBase, withFragment, withHttp, withHttps, withLeadingSlash, withProtocol, withQuery, withTrailingSlash, withoutBase, withoutFragment, withoutHost, withoutLeadingSlash, withoutProtocol, withoutTrailingSlash };\n","import { Base64 } from 'js-base64';\nimport md5 from 'md5';\nimport { hasProtocol, parseURL, getQuery } from 'ufo';\n\nfunction _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\nfunction _defineProperty(obj, key, value) {\n key = _toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _toPrimitive(input, hint) {\n if (typeof input !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (typeof res !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, \"string\");\n return typeof key === \"symbol\" ? key : String(key);\n}\n\n// package version used in the ix-lib parameter\nvar VERSION = '3.8.0';\n// regex pattern used to determine if a domain is valid\nvar DOMAIN_REGEX = /^(?:[a-z\\d\\-_]{1,62}\\.){0,125}(?:[a-z\\d](?:\\-(?=\\-*[a-z\\d])|[a-z]|\\d){0,62}\\.)[a-z\\d]{1,63}$/i;\n// minimum generated srcset width\nvar MIN_SRCSET_WIDTH = 100;\n// maximum generated srcset width\nvar MAX_SRCSET_WIDTH = 8192;\n// default tolerable percent difference between srcset pair widths\nvar DEFAULT_SRCSET_WIDTH_TOLERANCE = 0.08;\n\n// default quality parameter values mapped by each dpr srcset entry\nvar DPR_QUALITIES = {\n 1: 75,\n 2: 50,\n 3: 35,\n 4: 23,\n 5: 20\n};\nvar DEFAULT_DPR = [1, 2, 3, 4, 5];\nvar DEFAULT_OPTIONS = {\n domain: null,\n useHTTPS: true,\n includeLibraryParam: true,\n urlPrefix: 'https://',\n secureURLToken: null\n};\n\n/**\n * `extractUrl()` extracts URL components from a source URL string.\n * It does this by matching the URL against regular expressions. The irrelevant\n * (entire URL) matches are removed and the rest stored as their corresponding\n * URL components.\n *\n * `url` can be a partial, full URL, or full proxy URL. `useHttps` boolean\n * defaults to false.\n *\n * @returns {Object} `{ protocol, auth, host, pathname, search, hash }`\n * extracted from the URL.\n */\nfunction extractUrl(_ref) {\n var _ref$url = _ref.url,\n url = _ref$url === void 0 ? '' : _ref$url,\n _ref$useHttps = _ref.useHttps,\n useHttps = _ref$useHttps === void 0 ? false : _ref$useHttps;\n var defaultProto = useHttps ? 'https://' : 'http://';\n if (!hasProtocol(url, true)) {\n return extractUrl({\n url: defaultProto + url\n });\n }\n /**\n * Regex are hard to parse. Leaving this breakdown here for reference.\n * - `protocol`: ([^:/]+:)? - all not `:` or `/` & preceded by `:`, 0-1 times\n * - `auth`: ([^/@]+@)? - all not `/` or `@` & preceded by `@`, 0-1 times\n * - `domainAndPath`: (.*) /) - all except line breaks\n * - `domain`: `([^/]*)` - all before a `/` token\n */\n return parseURL(url);\n}\n\nfunction validateAndDestructureOptions(options) {\n var widthTolerance;\n if (options.widthTolerance !== undefined) {\n validateWidthTolerance(options.widthTolerance);\n widthTolerance = options.widthTolerance;\n } else {\n widthTolerance = DEFAULT_SRCSET_WIDTH_TOLERANCE;\n }\n var minWidth = options.minWidth === undefined ? MIN_SRCSET_WIDTH : options.minWidth;\n var maxWidth = options.maxWidth === undefined ? MAX_SRCSET_WIDTH : options.maxWidth;\n\n // Validate the range unless we're using defaults for both\n if (minWidth != MIN_SRCSET_WIDTH || maxWidth != MAX_SRCSET_WIDTH) {\n validateRange(minWidth, maxWidth);\n }\n return [widthTolerance, minWidth, maxWidth];\n}\nfunction validateRange(min, max) {\n if (!(Number.isInteger(min) && Number.isInteger(max)) || min <= 0 || max <= 0 || min > max) {\n throw new Error(\"The min and max srcset widths can only be passed positive Number values, and min must be less than max. Found min: \".concat(min, \" and max: \").concat(max, \".\"));\n }\n}\nfunction validateWidthTolerance(widthTolerance) {\n if (typeof widthTolerance != 'number' || widthTolerance < 0.01) {\n throw new Error('The srcset widthTolerance must be a number greater than or equal to 0.01');\n }\n}\nfunction validateWidths(customWidths) {\n if (!Array.isArray(customWidths) || !customWidths.length) {\n throw new Error('The widths argument can only be passed a valid non-empty array of integers');\n } else {\n var allPositiveIntegers = customWidths.every(function (width) {\n return Number.isInteger(width) && width > 0;\n });\n if (!allPositiveIntegers) {\n throw new Error('A custom widths argument can only contain positive integer values');\n }\n }\n}\nfunction validateVariableQuality(disableVariableQuality) {\n if (typeof disableVariableQuality != 'boolean') {\n throw new Error('The disableVariableQuality argument can only be passed a Boolean value');\n }\n}\nfunction validateDevicePixelRatios(devicePixelRatios) {\n if (!Array.isArray(devicePixelRatios) || !devicePixelRatios.length) {\n throw new Error('The devicePixelRatios argument can only be passed a valid non-empty array of integers');\n } else {\n var allValidDPR = devicePixelRatios.every(function (dpr) {\n return typeof dpr === 'number' && dpr >= 1 && dpr <= 5;\n });\n if (!allValidDPR) {\n throw new Error('The devicePixelRatios argument can only contain positive integer values between 1 and 5');\n }\n }\n}\nfunction validateVariableQualities(variableQualities) {\n if (_typeof(variableQualities) !== 'object') {\n throw new Error('The variableQualities argument can only be an object');\n }\n}\n\nvar ImgixClient = /*#__PURE__*/function () {\n function ImgixClient() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck(this, ImgixClient);\n this.settings = _objectSpread2(_objectSpread2({}, DEFAULT_OPTIONS), opts);\n // a cache to store memoized srcset width-pairs\n this.targetWidthsCache = {};\n if (typeof this.settings.domain != 'string') {\n throw new Error('ImgixClient must be passed a valid string domain');\n }\n if (DOMAIN_REGEX.exec(this.settings.domain) == null) {\n throw new Error('Domain must be passed in as fully-qualified ' + 'domain name and should not include a protocol or any path ' + 'element, i.e. \"example.imgix.net\".');\n }\n if (this.settings.includeLibraryParam) {\n this.settings.libraryParam = 'js-' + ImgixClient.version();\n }\n this.settings.urlPrefix = this.settings.useHTTPS ? 'https://' : 'http://';\n }\n _createClass(ImgixClient, [{\n key: \"buildURL\",\n value: function buildURL() {\n var rawPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var path = this._sanitizePath(rawPath, options);\n var finalParams = this._buildParams(params, options);\n if (!!this.settings.secureURLToken) {\n finalParams = this._signParams(path, finalParams);\n }\n return this.settings.urlPrefix + this.settings.domain + path + finalParams;\n }\n\n /**\n *`_buildURL` static method allows full URLs to be formatted for use with\n * imgix.\n *\n * - If the source URL has included parameters, they are merged with\n * the `params` passed in as an argument.\n * - URL must match `{host}/{pathname}?{query}` otherwise an error is thrown.\n *\n * @param {String} url - full source URL path string, required\n * @param {Object} params - imgix params object, optional\n * @param {Object} options - imgix client options, optional\n *\n * @returns URL string formatted to imgix specifications.\n *\n * @example\n * const client = ImgixClient\n * const params = { w: 100 }\n * const opts = { useHttps: true }\n * const src = \"sdk-test.imgix.net/amsterdam.jpg?h=100\"\n * const url = client._buildURL(src, params, opts)\n * console.log(url)\n * // => \"https://sdk-test.imgix.net/amsterdam.jpg?h=100&w=100\"\n */\n }, {\n key: \"_buildParams\",\n value: function _buildParams() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n // If a custom encoder is present, use it\n // Otherwise just use the encodeURIComponent\n var useCustomEncoder = !!options.encoder;\n var customEncoder = options.encoder;\n var queryParams = [].concat(_toConsumableArray(this.settings.libraryParam ? [\"ixlib=\".concat(this.settings.libraryParam)] : []), _toConsumableArray(Object.entries(params).reduce(function (prev, _ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n key = _ref2[0],\n value = _ref2[1];\n if (value == null) {\n return prev;\n }\n var encodedKey = useCustomEncoder ? customEncoder(key, value) : encodeURIComponent(key);\n var encodedValue = key.substr(-2) === '64' ? useCustomEncoder ? customEncoder(value, key) : Base64.encodeURI(value) : useCustomEncoder ? customEncoder(value, key) : encodeURIComponent(value);\n prev.push(\"\".concat(encodedKey, \"=\").concat(encodedValue));\n return prev;\n }, [])));\n return \"\".concat(queryParams.length > 0 ? '?' : '').concat(queryParams.join('&'));\n }\n }, {\n key: \"_signParams\",\n value: function _signParams(path, queryParams) {\n var signatureBase = this.settings.secureURLToken + path + queryParams;\n var signature = md5(signatureBase);\n return queryParams.length > 0 ? queryParams + '&s=' + signature : '?s=' + signature;\n }\n\n /**\n * \"Sanitize\" the path of the image URL.\n * Ensures that the path has a leading slash, and that the path is correctly\n * encoded. If it's a proxy path (begins with http/https), then encode the\n * whole path as a URI component, otherwise only encode specific characters.\n * @param {string} path The URL path of the image\n * @param {Object} options Sanitization options\n * @param {boolean} options.encode Whether to encode the path, default true\n * @returns {string} The sanitized path\n */\n }, {\n key: \"_sanitizePath\",\n value: function _sanitizePath(path) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n // Strip leading slash first (we'll re-add after encoding)\n var _path = path.replace(/^\\//, '');\n if (options.disablePathEncoding) {\n return '/' + _path;\n }\n if (options.encoder) {\n _path = options.encoder(_path);\n } else if (/^https?:\\/\\//.test(_path)) {\n // Use de/encodeURIComponent to ensure *all* characters are handled,\n // since it's being used as a path\n _path = encodeURIComponent(_path);\n } else {\n // Use de/encodeURI if we think the path is just a path,\n // so it leaves legal characters like '/' and '@' alone\n _path = encodeURI(_path).replace(/[#?:+]/g, encodeURIComponent);\n }\n return '/' + _path;\n }\n }, {\n key: \"buildSrcSet\",\n value: function buildSrcSet(path) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var w = params.w,\n h = params.h;\n if (w || h) {\n return this._buildDPRSrcSet(path, params, options);\n } else {\n return this._buildSrcSetPairs(path, params, options);\n }\n }\n\n /**\n * _buildSrcSet static method allows full URLs to be used when generating\n * imgix formatted `srcset` string values.\n *\n * - If the source URL has included parameters, they are merged with\n * the `params` passed in as an argument.\n * - URL must match `{host}/{pathname}?{query}` otherwise an error is thrown.\n *\n * @param {String} url - full source URL path string, required\n * @param {Object} params - imgix params object, optional\n * @param {Object} srcsetModifiers - srcset modifiers, optional\n * @param {Object} clientOptions - imgix client options, optional\n * @returns imgix `srcset` for full URLs.\n */\n }, {\n key: \"_buildSrcSetPairs\",\n value: function _buildSrcSetPairs(path) {\n var _this = this;\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var _validateAndDestructu = validateAndDestructureOptions(options),\n _validateAndDestructu2 = _slicedToArray(_validateAndDestructu, 3),\n widthTolerance = _validateAndDestructu2[0],\n minWidth = _validateAndDestructu2[1],\n maxWidth = _validateAndDestructu2[2];\n var targetWidthValues;\n if (options.widths) {\n validateWidths(options.widths);\n targetWidthValues = _toConsumableArray(options.widths);\n } else {\n targetWidthValues = ImgixClient.targetWidths(minWidth, maxWidth, widthTolerance, this.targetWidthsCache);\n }\n var srcset = targetWidthValues.map(function (w) {\n return \"\".concat(_this.buildURL(path, _objectSpread2(_objectSpread2({}, params), {}, {\n w: w\n }), options), \" \").concat(w, \"w\");\n });\n return srcset.join(',\\n');\n }\n }, {\n key: \"_buildDPRSrcSet\",\n value: function _buildDPRSrcSet(path) {\n var _this2 = this;\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n if (options.devicePixelRatios) {\n validateDevicePixelRatios(options.devicePixelRatios);\n }\n var targetRatios = options.devicePixelRatios || DEFAULT_DPR;\n var disableVariableQuality = options.disableVariableQuality || false;\n if (!disableVariableQuality) {\n validateVariableQuality(disableVariableQuality);\n }\n if (options.variableQualities) {\n validateVariableQualities(options.variableQualities);\n }\n var qualities = _objectSpread2(_objectSpread2({}, DPR_QUALITIES), options.variableQualities);\n var withQuality = function withQuality(path, params, dpr) {\n return \"\".concat(_this2.buildURL(path, _objectSpread2(_objectSpread2({}, params), {}, {\n dpr: dpr,\n q: params.q || qualities[dpr] || qualities[Math.floor(dpr)]\n }), options), \" \").concat(dpr, \"x\");\n };\n var srcset = disableVariableQuality ? targetRatios.map(function (dpr) {\n return \"\".concat(_this2.buildURL(path, _objectSpread2(_objectSpread2({}, params), {}, {\n dpr: dpr\n }), options), \" \").concat(dpr, \"x\");\n }) : targetRatios.map(function (dpr) {\n return withQuality(path, params, dpr);\n });\n return srcset.join(',\\n');\n }\n }], [{\n key: \"version\",\n value: function version() {\n return VERSION;\n }\n }, {\n key: \"_buildURL\",\n value: function _buildURL(url) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n if (url == null) {\n return '';\n }\n var _extractUrl = extractUrl({\n url: url,\n useHTTPS: options.useHTTPS\n }),\n host = _extractUrl.host,\n pathname = _extractUrl.pathname,\n search = _extractUrl.search;\n // merge source URL parameters with options parameters\n var combinedParams = _objectSpread2(_objectSpread2({}, getQuery(search)), params);\n\n // throw error if no host or no pathname present\n if (!host.length || !pathname.length) {\n throw new Error('_buildURL: URL must match {host}/{pathname}?{query}');\n }\n var client = new ImgixClient(_objectSpread2({\n domain: host\n }, options));\n return client.buildURL(pathname, combinedParams);\n }\n }, {\n key: \"_buildSrcSet\",\n value: function _buildSrcSet(url) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var srcsetModifiers = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var clientOptions = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (url == null) {\n return '';\n }\n var _extractUrl2 = extractUrl({\n url: url,\n useHTTPS: clientOptions.useHTTPS\n }),\n host = _extractUrl2.host,\n pathname = _extractUrl2.pathname,\n search = _extractUrl2.search;\n // merge source URL parameters with options parameters\n var combinedParams = _objectSpread2(_objectSpread2({}, getQuery(search)), params);\n\n // throw error if no host or no pathname present\n if (!host.length || !pathname.length) {\n throw new Error('_buildOneStepURL: URL must match {host}/{pathname}?{query}');\n }\n var client = new ImgixClient(_objectSpread2({\n domain: host\n }, clientOptions));\n return client.buildSrcSet(pathname, combinedParams, srcsetModifiers);\n }\n\n // returns an array of width values used during srcset generation\n }, {\n key: \"targetWidths\",\n value: function targetWidths() {\n var minWidth = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 100;\n var maxWidth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 8192;\n var widthTolerance = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0.08;\n var cache = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var minW = Math.floor(minWidth);\n var maxW = Math.floor(maxWidth);\n validateRange(minWidth, maxWidth);\n validateWidthTolerance(widthTolerance);\n var cacheKey = widthTolerance + '/' + minW + '/' + maxW;\n\n // First, check the cache.\n if (cacheKey in cache) {\n return cache[cacheKey];\n }\n if (minW === maxW) {\n return [minW];\n }\n var resolutions = [];\n var currentWidth = minW;\n while (currentWidth < maxW) {\n // While the currentWidth is less than the maxW, push the rounded\n // width onto the list of resolutions.\n resolutions.push(Math.round(currentWidth));\n currentWidth *= 1 + widthTolerance * 2;\n }\n\n // At this point, the last width in resolutions is less than the\n // currentWidth that caused the loop to terminate. This terminating\n // currentWidth is greater than or equal to the maxW. We want to\n // to stop at maxW, so we make sure our maxW is larger than the last\n // width in resolutions before pushing it (if it's equal we're done).\n if (resolutions[resolutions.length - 1] < maxW) {\n resolutions.push(maxW);\n }\n cache[cacheKey] = resolutions;\n return resolutions;\n }\n }]);\n return ImgixClient;\n}();\n\nexport { ImgixClient as default };\n","function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _toArray(r) { return _arrayWithHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableRest(); }\nfunction _iterableToArray(r) { if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r); }\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\n/*\nCopyright © 2015 by Coursera\nLicensed under the Apache License 2.0, seen https://github.com/coursera/react-imgix/blob/master/LICENSE\n\nMinor syntax modifications have been made\n*/\n\nvar PACKAGE_VERSION = \"9.10.0\";\nimport ImgixClient from \"@imgix/js-core\";\nimport extractQueryParams from \"./extractQueryParams\";\n\n// @see https://www.imgix.com/docs/reference\nvar PARAM_EXPANSION = Object.freeze({\n // Adjustment\n brightness: \"bri\",\n contrast: \"con\",\n exposure: \"exp\",\n gamma: \"gam\",\n highlights: \"high\",\n hue: \"hue\",\n invert: \"invert\",\n saturation: \"sat\",\n shaddows: \"shad\",\n shadows: \"shad\",\n sharpness: \"sharp\",\n \"unsharp-mask\": \"usm\",\n \"unsharp-radius\": \"usmrad\",\n vibrance: \"vib\",\n // Automatic\n \"auto-features\": \"auto\",\n // Background\n \"background-color\": \"bg\",\n // Blend\n blend: \"blend\",\n \"blend-mode\": \"bm\",\n \"blend-align\": \"ba\",\n \"blend-alpha\": \"balph\",\n \"blend-padding\": \"bp\",\n \"blend-width\": \"bw\",\n \"blend-height\": \"bh\",\n \"blend-fit\": \"bf\",\n \"blend-crop\": \"bc\",\n \"blend-size\": \"bs\",\n \"blend-x\": \"bx\",\n \"blend-y\": \"by\",\n // Border & Padding\n border: \"border\",\n padding: \"pad\",\n // Face Detection\n \"face-index\": \"faceindex\",\n \"face-padding\": \"facepad\",\n faces: \"faces\",\n // Format\n \"chroma-subsampling\": \"chromasub\",\n \"color-quantization\": \"colorquant\",\n download: \"dl\",\n DPI: \"dpi\",\n format: \"fm\",\n \"lossless-compression\": \"lossless\",\n quality: \"q\",\n // Mask\n \"mask-image\": \"mask\",\n // Mask\n \"noise-blur\": \"nr\",\n \"noise-sharpen\": \"nrs\",\n // Palette n/a\n // PDF n/a\n // Pixel Density n/a\n\n // Rotation\n \"flip-direction\": \"flip\",\n orientation: \"or\",\n \"rotation-angle\": \"rot\",\n // Size\n \"crop-mode\": \"crop\",\n \"fit-mode\": \"fit\",\n \"image-height\": \"h\",\n \"image-width\": \"w\",\n // Stylize\n blurring: \"blur\",\n halftone: \"htn\",\n monotone: \"mono\",\n pixelate: \"px\",\n \"sepia-tone\": \"sepia\",\n // Trim TODO\n // Watermark TODO\n\n // Extra\n height: \"h\",\n width: \"w\"\n});\nvar DEFAULT_OPTIONS = Object.freeze({\n auto: \"format\" // http://www.imgix.com/docs/reference/automatic#param-auto\n});\n\n/**\n * Construct a URL for an image with an Imgix proxy, expanding image options\n * per the [API reference docs](https://www.imgix.com/docs/reference).\n * @param {String} src src of raw image\n * @param {Object} longImgixParams map of image API options, in long or short form per expansion rules\n * @return {String} URL of image src transformed by Imgix\n */\nfunction constructUrl(src, longImgixParams, srcOptions) {\n if (!src) {\n return \"\";\n }\n var params = compactParamKeys(longImgixParams);\n var _extractClientAndPath = extractClientAndPathComponents(src),\n client = _extractClientAndPath.client,\n pathComponents = _extractClientAndPath.pathComponents;\n return client.buildURL(pathComponents.join(\"/\"), params, srcOptions);\n}\nfunction compactParamKeys(longImgixParams) {\n var keys = Object.keys(longImgixParams);\n var keysLength = keys.length;\n var params = {};\n for (var i = 0; i < keysLength; i++) {\n var key = keys[i];\n if (PARAM_EXPANSION[key]) {\n params[PARAM_EXPANSION[key]] = longImgixParams[key];\n } else {\n params[key] = longImgixParams[key];\n }\n }\n return params;\n}\nfunction extractClientAndPathComponents(src) {\n var _src$split = src.split(\"://\"),\n _src$split2 = _slicedToArray(_src$split, 2),\n scheme = _src$split2[0],\n rest = _src$split2[1];\n var _rest$split = rest.split(\"/\"),\n _rest$split2 = _toArray(_rest$split),\n domain = _rest$split2[0],\n pathComponents = _rest$split2.slice(1);\n var useHTTPS = scheme == \"https\";\n var client = new ImgixClient({\n domain: domain,\n useHTTPS: useHTTPS,\n includeLibraryParam: false\n });\n return {\n client: client,\n pathComponents: pathComponents\n };\n}\nfunction buildURLPublic(src) {\n var imgixParams = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var disableLibraryParam = options.disableLibraryParam,\n disablePathEncoding = options.disablePathEncoding;\n var _extractQueryParams = extractQueryParams(src),\n _extractQueryParams2 = _slicedToArray(_extractQueryParams, 2),\n rawSrc = _extractQueryParams2[0],\n params = _extractQueryParams2[1];\n return constructUrl(rawSrc, _extends({}, params, imgixParams, disableLibraryParam ? {} : {\n ixlib: \"react-\".concat(PACKAGE_VERSION)\n }), {\n disablePathEncoding: disablePathEncoding\n });\n}\nexport default constructUrl;\nexport { buildURLPublic, compactParamKeys, extractClientAndPathComponents };\n//# sourceMappingURL=constructUrl.js.map","export default function extractQueryParams(src) {\n var splitSrc = src.split(\"?\");\n var url = splitSrc[0];\n var query = splitSrc[1];\n if (!query) {\n return [url, {}];\n }\n var paramsPairs = query.split(\"&\");\n var params = {};\n var len = paramsPairs.length;\n for (var i = 0; i < len; i++) {\n var param = paramsPairs[i];\n var splitParam = param.split(\"=\");\n var key = splitParam[0];\n var val = splitParam[1];\n params[key] = decodeURIComponent(val);\n }\n return [url, params];\n}\n//# sourceMappingURL=extractQueryParams.js.map","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(t, e) { if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e; if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\"); return _assertThisInitialized(t); }\nfunction _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); return e; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\nfunction _inherits(t, e) { if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e); }\nfunction _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport React, { Component } from \"react\";\nimport { warning, shallowEqual } from \"../common\";\nvar ShouldComponentUpdateHOC = function ShouldComponentUpdateHOC(WrappedComponent) {\n var ShouldComponentUpdateHOC = /*#__PURE__*/function (_Component) {\n function ShouldComponentUpdateHOC() {\n var _this;\n _classCallCheck(this, ShouldComponentUpdateHOC);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, ShouldComponentUpdateHOC, [].concat(args));\n _defineProperty(_this, \"shouldComponentUpdate\", function (nextProps) {\n var props = _this.props;\n warning(nextProps.onMounted == _this.props.onMounted, \"props.onMounted() is changing between renders. This is probably not intended. Ensure that a class method is being passed to Imgix rather than a function that is created every render. If this is intended, ignore this warning.\");\n var customizer = function customizer(oldProp, newProp, key) {\n if (key === \"children\") {\n return shallowEqual(oldProp, newProp);\n }\n if (key === \"imgixParams\") {\n return shallowEqual(oldProp, newProp, function (a, b) {\n if (Array.isArray(a)) {\n return shallowEqual(a, b);\n }\n return undefined;\n });\n }\n if (key === \"htmlAttributes\") {\n return shallowEqual(oldProp, newProp);\n }\n if (key === \"attributeConfig\") {\n return shallowEqual(oldProp, newProp);\n }\n return undefined; // handled by shallowEqual\n };\n var propsAreEqual = shallowEqual(props, nextProps, customizer);\n return !propsAreEqual;\n });\n return _this;\n }\n _inherits(ShouldComponentUpdateHOC, _Component);\n return _createClass(ShouldComponentUpdateHOC, [{\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(WrappedComponent, this.props);\n }\n }]);\n }(Component);\n ShouldComponentUpdateHOC.displayName = \"ShouldComponentUpdateHOC(\".concat(WrappedComponent.displayName, \")\");\n return ShouldComponentUpdateHOC;\n};\nexport { ShouldComponentUpdateHOC };\n//# sourceMappingURL=shouldComponentUpdateHOC.js.map","var _excluded = [\"children\"];\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport React, { useContext, createContext } from \"react\";\nvar ImgixContext = /*#__PURE__*/createContext();\n\n/**\n * `useImgixContext()` tries to invoke `React.useContext()`. If no context\n * is available, this function returns `undefined`.\n * @returns The context defined by the closest parent `ImgixProvider`.\n */\nfunction useImgixContext() {\n return useContext(ImgixContext);\n}\n\n/**\n * Creates a Provider component that passes `reactImgixProps` as the Context\n * for child components who use the `useImgixContext()` custom hook or\n * `React.useContext()` API.\n * @param {React.Element } children\n * @param {Object} reactImgixProps\n * @returns React.Element\n */\nfunction ImgixProvider(_ref) {\n var children = _ref.children,\n reactImgixProps = _objectWithoutProperties(_ref, _excluded);\n var value = reactImgixProps;\n if (children == null || children.length < 1) {\n console.error(\"ImgixProvider must have at least one Imgix child component\");\n }\n return /*#__PURE__*/React.createElement(ImgixContext.Provider, {\n value: value\n }, children);\n}\nexport { ImgixProvider, useImgixContext };\n//# sourceMappingURL=imgixProvider.js.map","function _objectEntries(obj) {\n var entries = [];\n var keys = Object.keys(obj);\n for (var k = 0; k < keys.length; k++) entries.push([keys[k], obj[keys[k]]]);\n return entries;\n}\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport React from \"react\";\nimport { useImgixContext } from \"../HOCs\";\n\n/**\n * Merges the `src` object into the `destination` object. Destination values are\n * not overwritten by source values. Destination properties that resolve to\n * `undefined` or `null` are not overwritten if a destination value exists\n * unless destination key does not exist . It recursively merges the\n * `imgixParams` and `htmlAttributes` values.\n *\n * @param {Object} src - The Provider component's props object\n * @param {Object} destination - The child component's props object\n * @returns Object with the combined values from `src` & `destination` Objects\n *\n * @example\n * const src = {\n * width: 100,\n * height: 200,\n * imgixParams: { ar: \"1:2\", dpr: 2},\n * htmlAttributes: { styles: \"width: 50\" }\n * }\n * const destination = {\n * width: 101,\n * height: 201,\n * imgixParams: { dpr: 1 },\n * htmlAttributes: { styles: \"width: 100\" }\n * }\n * const result = mergeProps(src, destination);\n *\n * {\n * width: 101,\n * height: 201,\n * imgixParams: { ar: \"1:2\", dpr: 1 },\n * htmlAttributes: { styles: \"width: 100\" }\n * }\n *\n */\nvar _mergeProps = function mergeProps(src, destination) {\n if (src == null && destination !== null) {\n return destination;\n }\n if (src !== null && destination == null) {\n return src;\n }\n if (src == null && destination == null) {\n return {};\n }\n var newProps = _objectSpread({}, destination);\n var newPropKeys = Object.keys(newProps);\n for (var _i = 0, _Object$entries = _objectEntries(src); _i < _Object$entries.length; _i++) {\n var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),\n k = _Object$entries$_i[0],\n v = _Object$entries$_i[1];\n if (newPropKeys.indexOf(k) == -1 && v !== null) {\n newProps[k] = v;\n }\n // recursively merge imgixParams and htmlAttributes\n if (k === \"imgixParams\" || k === \"htmlAttributes\") {\n if (v !== null) {\n newProps[k] = _mergeProps(src[k], newProps[k]);\n }\n }\n }\n return newProps;\n};\n\n/**\n * `mergeComponentPropsHOF` tries to invoke `React.useContext()`. If context is\n * `undefined`, context is being accessed outside of an `ImgixContext` provider\n * and the Component is returned as is.\n *\n * Otherwise, it merges a Component's props with the `ImgixContext` props and\n * return a Component with the merged `props`.\n * @param {React.Element r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nimport { PARAMS_EXP_MAP } from \"./constants\";\n\n/**\n * Creates a 1-step, or complete, URL from `domain` and `src` Strings.\n *\n * - First, the function checks if src has a defined `domain`. If it does, it\n * checks to see if `src` has a scheme, and prepends \"http\" or \"https\" as needed\n * - Otherwise, formatSrc formats `domain` and `src` Strings.\n * - First it strips the two strings of the leading and `/` or trailing `/`\n * slash characters.\n * - Then, it joins the two strings on a `/` character. IE,\n * `strippedDomain + \"/\" + strippedSrc`.\n * - If `domain` String argument `null` or `undefined`, the function returns\n * the original `src` String.\n *\n * @param {String} src - URL that is either 1-step or 2-step\n * @param {String} domain - Domain string, optional\n * @returns 1-step, or complete, URL String. Ex, _assets.ix.net/foo/bar.jpg_\n */\nexport function formatSrc(src, domain) {\n var useHTTPS = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n // ignore if already has protocol\n if (src.indexOf(\"://\") !== -1) {\n return src;\n } else {\n // prepend domain if defined\n if (domain == null) {\n return src;\n }\n var strippedDomain = domain ? domain.replace(/^\\/|\\/$/g, \"\") : \"\";\n var strippedSrc = src.replace(/^\\/|\\/$/g, \"\");\n var prefix = useHTTPS ? \"https://\" : \"http://\";\n return prefix + strippedDomain + \"/\" + strippedSrc;\n }\n}\n\n/**\n * A function that formats the following values in the props Object:\n *\n * - `width`: if undefined or negative gets set to `undefined`.\n * - `height`: if undefined or negative gets set to `undefined`.\n * - `src`: concatenated to `domain` if `src` defined and has no domain.\n *\n * @param {Object} props\n * @returns A formatted `props` Object.\n */\nexport var formatProps = function formatProps(props) {\n var width = !props.width || props.width <= 1 ? undefined : props.width;\n var height = !props.height || props.height <= 1 ? undefined : props.height;\n var src = props.src ? formatSrc(props.src, props.domain, props.useHttps) : undefined;\n return _extends({}, props, {\n width: width,\n height: height,\n src: src\n });\n};\n\n/**\n * Function that shortens params keys according to the imgix spec.\n * @param {Object} params - imgixParams object\n * @returns imgixParams object with shortened keys\n * @see https://www.imgix.com/docs/reference\n */\nexport var collapseImgixParams = function collapseImgixParams(params) {\n if (params == null) {\n return params;\n }\n var compactedParams = {};\n for (var _i = 0, _Object$entries = _objectEntries(params); _i < _Object$entries.length; _i++) {\n var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),\n k = _Object$entries$_i[0],\n v = _Object$entries$_i[1];\n if (PARAMS_EXP_MAP[k]) {\n compactedParams[PARAMS_EXP_MAP[k]] = v;\n } else {\n compactedParams[k] = v;\n }\n }\n return compactedParams;\n};\n\n/**\n * `processPropsHOF` takes a Component's props and formats them to adhere to the\n * ImgixClient's specifications.\n *\n * @param {React.Element} Component - A react component with\n * defined `props`.\n * @returns A React Component who's `props` have been formatted and\n * `imgixParams` have been collapsed.\n */\nexport var processPropsHOF = function processPropsHOF(Component) {\n return function (props) {\n var formattedProps = formatProps(props);\n var formattedImgixParams = collapseImgixParams(formattedProps.imgixParams);\n return /*#__PURE__*/React.createElement(Component, _extends({}, formattedProps, {\n imgixParams: formattedImgixParams\n }));\n };\n};\n//# sourceMappingURL=propFormatter.js.map","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nvar _excluded = [\"width\", \"w\", \"height\", \"h\", \"q\"],\n _excluded2 = [\"width\", \"w\", \"height\", \"h\"];\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(t, e) { if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e; if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\"); return _assertThisInitialized(t); }\nfunction _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); return e; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\nfunction _inherits(t, e) { if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e); }\nfunction _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport PropTypes from \"prop-types\";\nimport React, { Component } from \"react\";\nimport \"./array-findindex\";\nimport { config } from \"./common\";\nimport { PACKAGE_VERSION } from \"./constants\";\nimport constructUrl, { compactParamKeys, extractClientAndPathComponents } from \"./constructUrl\";\nimport extractQueryParams from \"./extractQueryParams\";\nimport { ShouldComponentUpdateHOC } from \"./HOCs\";\nimport { mergeComponentPropsHOF, processPropsHOF } from \"./HOFs\";\nvar NODE_ENV = process.env.NODE_ENV;\nvar buildKey = function buildKey(idx) {\n return \"react-imgix-\".concat(idx);\n};\nvar defaultImgixParams = {\n auto: [\"format\"]\n};\nvar defaultAttributeMap = {\n src: \"src\",\n srcSet: \"srcSet\",\n sizes: \"sizes\"\n};\nvar noop = function noop() {};\nvar COMMON_PROP_TYPES = {\n className: PropTypes.string,\n onMounted: PropTypes.func,\n htmlAttributes: PropTypes.object,\n alt: PropTypes.string\n};\nvar SHARED_IMGIX_AND_SOURCE_PROP_TYPES = _extends({}, COMMON_PROP_TYPES, {\n disableQualityByDPR: PropTypes.bool,\n disableSrcSet: PropTypes.bool,\n disableLibraryParam: PropTypes.bool,\n disablePathEncoding: PropTypes.bool,\n imgixParams: PropTypes.object,\n sizes: PropTypes.string,\n width: PropTypes.number,\n height: PropTypes.number,\n src: PropTypes.string.isRequired,\n srcSetOptions: PropTypes.shape({\n widths: PropTypes.arrayOf(PropTypes.number),\n widthTolerance: PropTypes.number,\n minWidth: PropTypes.number,\n maxWidth: PropTypes.number,\n devicePixelRatios: PropTypes.arrayOf(PropTypes.number)\n })\n});\nvar REACT_IMGIX_PROP_TYPES = _extends({}, SHARED_IMGIX_AND_SOURCE_PROP_TYPES, {\n alt: PropTypes.string\n});\nvar OVERSIZE_IMAGE_TOLERANCE = 500;\nvar performanceObserver;\n\n/**\n * Validates that an aspect ratio is in the format w:h. If false is returned, the aspect ratio is in the wrong format.\n */\nfunction aspectRatioIsValid(aspectRatio) {\n if (typeof aspectRatio !== \"string\") {\n return false;\n }\n return /^\\d+(\\.\\d+)?:\\d+(\\.\\d+)?$/.test(aspectRatio);\n}\nvar setParentRef = function setParentRef(parentRef, el) {\n if (!parentRef) {\n return;\n }\n\n // assign ref based on if it's a callback vs object\n if (typeof parentRef === \"function\") {\n parentRef(el);\n } else {\n parentRef.current = el;\n }\n};\nfunction buildSrcSet(rawSrc) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var _extractClientAndPath = extractClientAndPathComponents(rawSrc),\n client = _extractClientAndPath.client,\n pathComponents = _extractClientAndPath.pathComponents;\n var compactedParams = compactParamKeys(params);\n return client.buildSrcSet(pathComponents.join(\"/\"), compactedParams, options);\n}\n\n/**\n * Build a imgix source url with parameters from a raw url\n */\nfunction buildSrc(_ref) {\n var inputSrc = _ref.src,\n width = _ref.width,\n height = _ref.height,\n disableLibraryParam = _ref.disableLibraryParam,\n disableSrcSet = _ref.disableSrcSet,\n disablePathEncoding = _ref.disablePathEncoding,\n imgixParams = _ref.imgixParams,\n disableQualityByDPR = _ref.disableQualityByDPR,\n srcSetOptions = _ref.srcSetOptions;\n var fixedSize = width != null || height != null;\n var _extractQueryParams = extractQueryParams(inputSrc),\n _extractQueryParams2 = _slicedToArray(_extractQueryParams, 2),\n rawSrc = _extractQueryParams2[0],\n params = _extractQueryParams2[1];\n var srcImgixParams = _extends({}, params, imgixParams, disableLibraryParam ? {} : {\n ixlib: \"react-\".concat(PACKAGE_VERSION)\n }, fixedSize && height ? {\n height: height\n } : {}, fixedSize && width ? {\n width: width\n } : {});\n var srcOptions = {\n disablePathEncoding: disablePathEncoding\n };\n var src = constructUrl(rawSrc, srcImgixParams, srcOptions);\n var srcSet;\n if (disableSrcSet) {\n srcSet = src;\n } else {\n var sharedSrcSetOptions = _extends({}, srcSetOptions, {\n disablePathEncoding: disablePathEncoding\n });\n if (fixedSize) {\n var _width = srcImgixParams.width,\n w = srcImgixParams.w,\n _height = srcImgixParams.height,\n h = srcImgixParams.h,\n q = srcImgixParams.q,\n urlParams = _objectWithoutProperties(srcImgixParams, _excluded);\n if (q) {\n urlParams[\"q\"] = q;\n }\n var finalWidth = _width || w;\n var finalHeight = _height || h;\n if (finalWidth) {\n urlParams[\"w\"] = finalWidth;\n }\n if (finalHeight) {\n urlParams[\"h\"] = finalHeight;\n }\n srcSet = buildSrcSet(rawSrc, urlParams, _extends({\n disableVariableQuality: disableQualityByDPR\n }, sharedSrcSetOptions));\n } else {\n var _width2 = srcImgixParams.width,\n _w = srcImgixParams.w,\n _height2 = srcImgixParams.height,\n _h = srcImgixParams.h,\n _urlParams = _objectWithoutProperties(srcImgixParams, _excluded2);\n var aspectRatio = imgixParams.ar;\n var showARWarning = aspectRatio != null && aspectRatioIsValid(aspectRatio) === false;\n srcSet = buildSrcSet(rawSrc, _urlParams, sharedSrcSetOptions);\n if (NODE_ENV !== \"production\" && showARWarning && config.warnings.invalidARFormat) {\n console.warn(\"[Imgix] The aspect ratio passed (\\\"\".concat(aspectRatio, \"\\\") is not in the correct format. The correct format is \\\"W:H\\\".\"));\n }\n }\n }\n return {\n src: src,\n srcSet: srcSet\n };\n}\n\n/**\n * Use the PerfomanceObser API to warn if an LCP element is loaded lazily.\n */\nfunction watchForLazyLCP(imgRef) {\n if (!performanceObserver && typeof window !== 'undefined' && window.PerformanceObserver) {\n performanceObserver = new PerformanceObserver(function (entryList) {\n var _lcpCandidate$element;\n var entries = entryList.getEntries();\n if (entries.length === 0) {\n return;\n }\n\n // The most recent LCP entry is the only one that can be the real LCP element.\n var lcpCandidate = entries[entries.length - 1];\n if (((_lcpCandidate$element = lcpCandidate.element) === null || _lcpCandidate$element === void 0 ? void 0 : _lcpCandidate$element.getAttribute(\"loading\")) === \"lazy\") {\n console.warn(\"An image with URL \".concat(imgRef.src, \" was detected as a possible LCP element (https://web.dev/lcp) \") + \"and also has 'loading=\\\"lazy\\\"'. This can have a significant negative impact on page loading performance. \" + \"Lazy loading is not recommended for images which may render in the initial viewport.\");\n }\n });\n performanceObserver.observe({\n type: 'largest-contentful-paint',\n buffered: true\n });\n }\n}\n\n/**\n * Once the image is loaded, warn if it's intrinsic size is much larger than its rendered size.\n */\nfunction checkImageSize(imgRef) {\n var renderedWidth = imgRef.clientWidth;\n var renderedHeight = imgRef.clientHeight;\n var intrinsicWidth = imgRef.naturalWidth;\n var intrinsicHeight = imgRef.naturalHeight;\n if (intrinsicWidth > renderedWidth + OVERSIZE_IMAGE_TOLERANCE || intrinsicHeight > renderedHeight + OVERSIZE_IMAGE_TOLERANCE) {\n console.warn(\"An image with URL \".concat(imgRef.src, \" was rendered with dimensions significantly smaller than intrinsic size, \") + \"which can slow down page loading. This may be caused by a missing or inaccurate \\\"sizes\\\" property. \" + \"Rendered size: \".concat(renderedWidth, \"x\").concat(renderedHeight, \". Intrinsic size: \").concat(intrinsicWidth, \"x\").concat(intrinsicHeight, \".\"));\n }\n}\n\n/**\n * Initializes listeners for performance-related image warnings\n */\nfunction doPerformanceChecksOnLoad(imgRef) {\n // Check image size on load\n if (config.warnings.oversizeImage) {\n if (imgRef.complete) {\n checkImageSize(imgRef);\n } else {\n imgRef.addEventListener('load', function () {\n checkImageSize(imgRef);\n });\n }\n }\n if (config.warnings.lazyLCP) {\n watchForLazyLCP(imgRef);\n }\n}\n\n/**\n * Combines default imgix params with custom imgix params to make a imgix params config object\n */\nfunction imgixParams(props) {\n var params = _extends({}, defaultImgixParams, props.imgixParams);\n return _extends({}, params);\n}\n\n/**\n * React component used to render elements with Imgix\n */\nvar ReactImgix = /*#__PURE__*/function (_Component) {\n function ReactImgix(props) {\n var _this;\n _classCallCheck(this, ReactImgix);\n _this = _callSuper(this, ReactImgix, [props]);\n _this.imgRef = null;\n return _this;\n }\n _inherits(ReactImgix, _Component);\n return _createClass(ReactImgix, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (NODE_ENV === 'development' && this.imgRef) {\n doPerformanceChecksOnLoad(this.imgRef);\n }\n this.props.onMounted(this.imgRef);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props$htmlAttri,\n _this$props$htmlAttri2,\n _this$props$htmlAttri3,\n _this$props$htmlAttri4,\n _this$props$htmlAttri5,\n _this2 = this;\n var _this$props = this.props,\n disableSrcSet = _this$props.disableSrcSet,\n width = _this$props.width,\n height = _this$props.height;\n\n // Pre-render checks\n if (NODE_ENV !== \"production\" && config.warnings.sizesAttribute) {\n if (this.props.width == null && this.props.height == null && this.props.sizes == null && !this.props._inPicture) {\n console.warn(\"If width and height are not set, a sizes attribute should be passed.\");\n }\n }\n var _buildSrc = buildSrc(_extends({}, this.props, {\n type: \"img\",\n imgixParams: imgixParams(this.props)\n })),\n src = _buildSrc.src,\n srcSet = _buildSrc.srcSet;\n var attributeConfig = _extends({}, defaultAttributeMap, this.props.attributeConfig);\n var fixedSize = !!((width || (_this$props$htmlAttri = this.props.htmlAttributes) !== null && _this$props$htmlAttri !== void 0 && _this$props$htmlAttri.width) && (height || (_this$props$htmlAttri2 = this.props.htmlAttributes) !== null && _this$props$htmlAttri2 !== void 0 && _this$props$htmlAttri2.height));\n var adjustedSizes = this.props.sizes;\n if (this.props.sizes && ((_this$props$htmlAttri3 = this.props.htmlAttributes) === null || _this$props$htmlAttri3 === void 0 ? void 0 : _this$props$htmlAttri3.loading) === \"lazy\" && !fixedSize) {\n var _ref2;\n adjustedSizes = (_ref2 = \"auto, \" + adjustedSizes) !== null && _ref2 !== void 0 ? _ref2 : \"\";\n }\n var childProps = _extends({}, this.props.htmlAttributes, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, attributeConfig.sizes, adjustedSizes), \"className\", this.props.className), \"width\", width <= 1 ? null : width !== null && width !== void 0 ? width : (_this$props$htmlAttri4 = this.props.htmlAttributes) === null || _this$props$htmlAttri4 === void 0 ? void 0 : _this$props$htmlAttri4.width), \"height\", height <= 1 ? null : height !== null && height !== void 0 ? height : (_this$props$htmlAttri5 = this.props.htmlAttributes) === null || _this$props$htmlAttri5 === void 0 ? void 0 : _this$props$htmlAttri5.height), attributeConfig.src, src), \"ref\", function ref(el) {\n _this2.imgRef = el;\n if (_this2.props.htmlAttributes !== undefined && \"ref\" in _this2.props.htmlAttributes) {\n setParentRef(_this2.props.htmlAttributes.ref, _this2.imgRef);\n }\n }));\n if (!disableSrcSet) {\n childProps[attributeConfig.srcSet] = srcSet;\n }\n if (this.props.alt) {\n childProps.alt = this.props.alt;\n }\n return /*#__PURE__*/React.createElement(\"img\", childProps);\n }\n }]);\n}(Component);\n_defineProperty(ReactImgix, \"propTypes\", _extends({}, REACT_IMGIX_PROP_TYPES));\n_defineProperty(ReactImgix, \"defaultProps\", {\n disableSrcSet: false,\n onMounted: noop\n});\nReactImgix.displayName = \"ReactImgix\";\n\n/**\n * React component used to render elements with Imgix\n */\nvar PictureImpl = /*#__PURE__*/function (_Component2) {\n function PictureImpl(props) {\n var _this3;\n _classCallCheck(this, PictureImpl);\n _this3 = _callSuper(this, PictureImpl, [props]);\n _this3.pictureRef = null;\n return _this3;\n }\n _inherits(PictureImpl, _Component2);\n return _createClass(PictureImpl, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.props.onMounted(this.pictureRef);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this4 = this;\n var children = this.props.children;\n\n // make sure all of our children have key set, otherwise we get react warnings\n var _children = React.Children.map(children, function (child, idx) {\n var _child$type;\n var childIsReactImgix = ((_child$type = child.type) === null || _child$type === void 0 ? void 0 : _child$type.name) === \"mergeComponentPropsHOFInner\";\n return /*#__PURE__*/React.cloneElement(child, _extends({\n key: buildKey(idx)\n },\n // This prevents props._inPicture being set on other children if\n // they're passed, such as an component, which will cause a\n // React error\n childIsReactImgix && {\n _inPicture: true\n }));\n }) || [];\n\n /*\n We need to make sure an or is the last child so we look for one in children\n a. if we find one, move it to the last entry if it's not already there\n b. if we don't find one, warn the user as they probably want to pass one.\n */\n\n // look for an or - at the bare minimum we have to have a single element or else it will not work.\n var imgIdx = _children.findIndex(function (c) {\n return c.type === \"img\" || c.type === ReactImgix || c.type === ReactImgixWrapped;\n });\n if (imgIdx === -1 && config.warnings.fallbackImage) {\n console.warn(\"No fallback or found in the children of a component. A fallback image should be passed to ensure the image renders correctly at all dimensions.\");\n } else if (imgIdx !== _children.length - 1) {\n // found one, need to move it to the end\n _children.push(_children.splice(imgIdx, 1)[0]);\n }\n return /*#__PURE__*/React.createElement(\"picture\", {\n ref: function ref(el) {\n return _this4.pictureRef = el;\n },\n children: _children\n });\n }\n }]);\n}(Component);\n_defineProperty(PictureImpl, \"propTypes\", _extends({}, COMMON_PROP_TYPES, {\n children: PropTypes.any\n}));\n_defineProperty(PictureImpl, \"defaultProps\", {\n onMounted: noop\n});\nPictureImpl.displayName = \"ReactImgixPicture\";\n\n/**\n * React component used to render elements with Imgix\n */\nvar SourceImpl = /*#__PURE__*/function (_Component3) {\n function SourceImpl(props) {\n var _this5;\n _classCallCheck(this, SourceImpl);\n _this5 = _callSuper(this, SourceImpl, [props]);\n _this5.sourceRef = null;\n return _this5;\n }\n _inherits(SourceImpl, _Component3);\n return _createClass(SourceImpl, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.props.onMounted(this.sourceRef);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props$htmlAttri6,\n _this$props$htmlAttri7,\n _this6 = this;\n var _this$props2 = this.props,\n disableSrcSet = _this$props2.disableSrcSet,\n width = _this$props2.width,\n height = _this$props2.height;\n var _buildSrc2 = buildSrc(_extends({}, this.props, {\n type: \"source\",\n imgixParams: imgixParams(this.props)\n })),\n src = _buildSrc2.src,\n srcSet = _buildSrc2.srcSet;\n var attributeConfig = _extends({}, defaultAttributeMap, this.props.attributeConfig);\n var childProps = _extends({}, this.props.htmlAttributes, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, attributeConfig.sizes, this.props.sizes), \"className\", this.props.className), \"width\", width <= 1 ? null : width !== null && width !== void 0 ? width : (_this$props$htmlAttri6 = this.props.htmlAttributes) === null || _this$props$htmlAttri6 === void 0 ? void 0 : _this$props$htmlAttri6.width), \"height\", height <= 1 ? null : height !== null && height !== void 0 ? height : (_this$props$htmlAttri7 = this.props.htmlAttributes) === null || _this$props$htmlAttri7 === void 0 ? void 0 : _this$props$htmlAttri7.height), \"ref\", function ref(el) {\n _this6.sourceRef = el;\n if (_this6.props.htmlAttributes !== undefined && \"ref\" in _this6.props.htmlAttributes) {\n setParentRef(_this6.props.htmlAttributes.ref, _this6.sourceRef);\n }\n }));\n\n // inside of a element a element ignores its src\n // attribute in favor of srcSet so we set that with either an actual\n // srcSet or a single src\n if (disableSrcSet) {\n childProps[attributeConfig.srcSet] = src;\n } else {\n childProps[attributeConfig.srcSet] = \"\".concat(srcSet);\n }\n // for now we'll take media from htmlAttributes which isn't ideal because\n // a) this isn't an \n // b) passing objects as props means that react will always rerender\n // since objects dont respond correctly to ===\n\n return /*#__PURE__*/React.createElement(\"source\", childProps);\n }\n }]);\n}(Component);\n_defineProperty(SourceImpl, \"propTypes\", _extends({}, SHARED_IMGIX_AND_SOURCE_PROP_TYPES));\n_defineProperty(SourceImpl, \"defaultProps\", {\n disableSrcSet: false,\n onMounted: noop\n});\nSourceImpl.displayName = \"ReactImgixSource\";\nvar ReactImgixWrapped = mergeComponentPropsHOF(processPropsHOF(ShouldComponentUpdateHOC(ReactImgix)));\nvar Picture = mergeComponentPropsHOF(processPropsHOF(ShouldComponentUpdateHOC(PictureImpl)));\nvar Source = mergeComponentPropsHOF(processPropsHOF(ShouldComponentUpdateHOC(SourceImpl)));\nexport default ReactImgixWrapped;\nexport { ReactImgix as __ReactImgixImpl, Picture, Source, SourceImpl as __SourceImpl, PictureImpl as __PictureImpl // for testing\n};\n//# sourceMappingURL=react-imgix.js.map","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n if (typeof Map !== 'undefined') {\r\n return Map;\r\n }\r\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\r\n function getIndex(arr, key) {\r\n var result = -1;\r\n arr.some(function (entry, index) {\r\n if (entry[0] === key) {\r\n result = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n return result;\r\n }\r\n return /** @class */ (function () {\r\n function class_1() {\r\n this.__entries__ = [];\r\n }\r\n Object.defineProperty(class_1.prototype, \"size\", {\r\n /**\r\n * @returns {boolean}\r\n */\r\n get: function () {\r\n return this.__entries__.length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\r\n class_1.prototype.get = function (key) {\r\n var index = getIndex(this.__entries__, key);\r\n var entry = this.__entries__[index];\r\n return entry && entry[1];\r\n };\r\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\r\n class_1.prototype.set = function (key, value) {\r\n var index = getIndex(this.__entries__, key);\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n }\r\n else {\r\n this.__entries__.push([key, value]);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.delete = function (key) {\r\n var entries = this.__entries__;\r\n var index = getIndex(entries, key);\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.has = function (key) {\r\n return !!~getIndex(this.__entries__, key);\r\n };\r\n /**\r\n * @returns {void}\r\n */\r\n class_1.prototype.clear = function () {\r\n this.__entries__.splice(0);\r\n };\r\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\r\n class_1.prototype.forEach = function (callback, ctx) {\r\n if (ctx === void 0) { ctx = null; }\r\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n var entry = _a[_i];\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n };\r\n return class_1;\r\n }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n if (typeof global !== 'undefined' && global.Math === Math) {\r\n return global;\r\n }\r\n if (typeof self !== 'undefined' && self.Math === Math) {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined' && window.Math === Math) {\r\n return window;\r\n }\r\n // eslint-disable-next-line no-new-func\r\n return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n if (typeof requestAnimationFrame === 'function') {\r\n // It's required to use a bounded function because IE sometimes throws\r\n // an \"Invalid calling object\" error if rAF is invoked without the global\r\n // object on the left hand side.\r\n return requestAnimationFrame.bind(global$1);\r\n }\r\n return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\r\n function resolvePending() {\r\n if (leadingCall) {\r\n leadingCall = false;\r\n callback();\r\n }\r\n if (trailingCall) {\r\n proxy();\r\n }\r\n }\r\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\r\n function timeoutCallback() {\r\n requestAnimationFrame$1(resolvePending);\r\n }\r\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\r\n function proxy() {\r\n var timeStamp = Date.now();\r\n if (leadingCall) {\r\n // Reject immediately following calls.\r\n if (timeStamp - lastCallTime < trailingTimeout) {\r\n return;\r\n }\r\n // Schedule new call to be in invoked when the pending one is resolved.\r\n // This is important for \"transitions\" which never actually start\r\n // immediately so there is a chance that we might miss one if change\r\n // happens amids the pending invocation.\r\n trailingCall = true;\r\n }\r\n else {\r\n leadingCall = true;\r\n trailingCall = false;\r\n setTimeout(timeoutCallback, delay);\r\n }\r\n lastCallTime = timeStamp;\r\n }\r\n return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\r\n function ResizeObserverController() {\r\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\r\n this.connected_ = false;\r\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\r\n this.mutationEventsAdded_ = false;\r\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\r\n this.mutationsObserver_ = null;\r\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array}\r\n */\r\n this.observers_ = [];\r\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n }\r\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.addObserver = function (observer) {\r\n if (!~this.observers_.indexOf(observer)) {\r\n this.observers_.push(observer);\r\n }\r\n // Add listeners if they haven't been added yet.\r\n if (!this.connected_) {\r\n this.connect_();\r\n }\r\n };\r\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.removeObserver = function (observer) {\r\n var observers = this.observers_;\r\n var index = observers.indexOf(observer);\r\n // Remove observer if it's present in registry.\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n // Remove listeners if controller has no connected observers.\r\n if (!observers.length && this.connected_) {\r\n this.disconnect_();\r\n }\r\n };\r\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.refresh = function () {\r\n var changesDetected = this.updateObservers_();\r\n // Continue running updates if changes have been detected as there might\r\n // be future ones caused by CSS transitions.\r\n if (changesDetected) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\r\n ResizeObserverController.prototype.updateObservers_ = function () {\r\n // Collect observers that have active observations.\r\n var activeObservers = this.observers_.filter(function (observer) {\r\n return observer.gatherActive(), observer.hasActive();\r\n });\r\n // Deliver notifications in a separate cycle in order to avoid any\r\n // collisions between observers, e.g. when multiple instances of\r\n // ResizeObserver are tracking the same element and the callback of one\r\n // of them changes content dimensions of the observed target. Sometimes\r\n // this may result in notifications being blocked for the rest of observers.\r\n activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n return activeObservers.length > 0;\r\n };\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.connect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already added.\r\n if (!isBrowser || this.connected_) {\r\n return;\r\n }\r\n // Subscription to the \"Transitionend\" event is used as a workaround for\r\n // delayed transitions. This way it's possible to capture at least the\r\n // final state of an element.\r\n document.addEventListener('transitionend', this.onTransitionEnd_);\r\n window.addEventListener('resize', this.refresh);\r\n if (mutationObserverSupported) {\r\n this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n this.mutationsObserver_.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n else {\r\n document.addEventListener('DOMSubtreeModified', this.refresh);\r\n this.mutationEventsAdded_ = true;\r\n }\r\n this.connected_ = true;\r\n };\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.disconnect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already removed.\r\n if (!isBrowser || !this.connected_) {\r\n return;\r\n }\r\n document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n window.removeEventListener('resize', this.refresh);\r\n if (this.mutationsObserver_) {\r\n this.mutationsObserver_.disconnect();\r\n }\r\n if (this.mutationEventsAdded_) {\r\n document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n }\r\n this.mutationsObserver_ = null;\r\n this.mutationEventsAdded_ = false;\r\n this.connected_ = false;\r\n };\r\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n // Detect whether transition may affect dimensions of an element.\r\n var isReflowProperty = transitionKeys.some(function (key) {\r\n return !!~propertyName.indexOf(key);\r\n });\r\n if (isReflowProperty) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\r\n ResizeObserverController.getInstance = function () {\r\n if (!this.instance_) {\r\n this.instance_ = new ResizeObserverController();\r\n }\r\n return this.instance_;\r\n };\r\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\r\n ResizeObserverController.instance_ = null;\r\n return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n Object.defineProperty(target, key, {\r\n value: props[key],\r\n enumerable: false,\r\n writable: false,\r\n configurable: true\r\n });\r\n }\r\n return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n // Assume that the element is an instance of Node, which means that it\r\n // has the \"ownerDocument\" property from which we can retrieve a\r\n // corresponding global object.\r\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n // Return the local global object if it's not possible extract one from\r\n // provided element.\r\n return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n var positions = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n positions[_i - 1] = arguments[_i];\r\n }\r\n return positions.reduce(function (size, position) {\r\n var value = styles['border-' + position + '-width'];\r\n return size + toFloat(value);\r\n }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n var positions = ['top', 'right', 'bottom', 'left'];\r\n var paddings = {};\r\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n var position = positions_1[_i];\r\n var value = styles['padding-' + position];\r\n paddings[position] = toFloat(value);\r\n }\r\n return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n var bbox = target.getBBox();\r\n return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n // Client width & height properties can't be\r\n // used exclusively as they provide rounded values.\r\n var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n // By this condition we can catch all non-replaced inline, hidden and\r\n // detached elements. Though elements with width & height properties less\r\n // than 0.5 will be discarded as well.\r\n //\r\n // Without it we would need to implement separate methods for each of\r\n // those cases and it's not possible to perform a precise and performance\r\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n // gives wrong results for elements with width & height less than 0.5.\r\n if (!clientWidth && !clientHeight) {\r\n return emptyRect;\r\n }\r\n var styles = getWindowOf(target).getComputedStyle(target);\r\n var paddings = getPaddings(styles);\r\n var horizPad = paddings.left + paddings.right;\r\n var vertPad = paddings.top + paddings.bottom;\r\n // Computed styles of width & height are being used because they are the\r\n // only dimensions available to JS that contain non-rounded values. It could\r\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n var width = toFloat(styles.width), height = toFloat(styles.height);\r\n // Width & height include paddings and borders when the 'border-box' box\r\n // model is applied (except for IE).\r\n if (styles.boxSizing === 'border-box') {\r\n // Following conditions are required to handle Internet Explorer which\r\n // doesn't include paddings and borders to computed CSS dimensions.\r\n //\r\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n // properties then it's either IE, and thus we don't need to subtract\r\n // anything, or an element merely doesn't have paddings/borders styles.\r\n if (Math.round(width + horizPad) !== clientWidth) {\r\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n }\r\n if (Math.round(height + vertPad) !== clientHeight) {\r\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n }\r\n }\r\n // Following steps can't be applied to the document's root element as its\r\n // client[Width/Height] properties represent viewport area of the window.\r\n // Besides, it's as well not necessary as the itself neither has\r\n // rendered scroll bars nor it can be clipped.\r\n if (!isDocumentElement(target)) {\r\n // In some browsers (only in Firefox, actually) CSS width & height\r\n // include scroll bars size which can be removed at this step as scroll\r\n // bars are the only difference between rounded dimensions + paddings\r\n // and \"client\" properties, though that is not always true in Chrome.\r\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n // Chrome has a rather weird rounding of \"client\" properties.\r\n // E.g. for an element with content width of 314.2px it sometimes gives\r\n // the client width of 315px and for the width of 314.7px it may give\r\n // 314px. And it doesn't happen all the time. So just ignore this delta\r\n // as a non-relevant.\r\n if (Math.abs(vertScrollbar) !== 1) {\r\n width -= vertScrollbar;\r\n }\r\n if (Math.abs(horizScrollbar) !== 1) {\r\n height -= horizScrollbar;\r\n }\r\n }\r\n return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n // interface.\r\n if (typeof SVGGraphicsElement !== 'undefined') {\r\n return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n }\r\n // If it's so, then check that element is at least an instance of the\r\n // SVGElement and that it has the \"getBBox\" method.\r\n // eslint-disable-next-line no-extra-parens\r\n return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element ().\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n if (!isBrowser) {\r\n return emptyRect;\r\n }\r\n if (isSVGGraphicsElement(target)) {\r\n return getSVGContentRect(target);\r\n }\r\n return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n var rect = Object.create(Constr.prototype);\r\n // Rectangle's properties are not writable and non-enumerable.\r\n defineConfigurable(rect, {\r\n x: x, y: y, width: width, height: height,\r\n top: y,\r\n right: x + width,\r\n bottom: height + y,\r\n left: x\r\n });\r\n return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n function ResizeObservation(target) {\r\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastWidth = 0;\r\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastHeight = 0;\r\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\r\n this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n this.target = target;\r\n }\r\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObservation.prototype.isActive = function () {\r\n var rect = getContentRect(this.target);\r\n this.contentRect_ = rect;\r\n return (rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight);\r\n };\r\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\r\n ResizeObservation.prototype.broadcastRect = function () {\r\n var rect = this.contentRect_;\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n return rect;\r\n };\r\n return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\r\n function ResizeObserverEntry(target, rectInit) {\r\n var contentRect = createReadOnlyRect(rectInit);\r\n // According to the specification following properties are not writable\r\n // and are also not enumerable in the native implementation.\r\n //\r\n // Property accessors are not being used as they'd require to define a\r\n // private WeakMap storage which may cause memory leaks in browsers that\r\n // don't support this type of collections.\r\n defineConfigurable(this, { target: target, contentRect: contentRect });\r\n }\r\n return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\r\n function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array}\r\n */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map}\r\n */\r\n this.observations_ = new MapShim();\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n this.callback_ = callback;\r\n this.controller_ = controller;\r\n this.callbackCtx_ = callbackCtx;\r\n }\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.observe = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is already being observed.\r\n if (observations.has(target)) {\r\n return;\r\n }\r\n observations.set(target, new ResizeObservation(target));\r\n this.controller_.addObserver(this);\r\n // Force the update of observations.\r\n this.controller_.refresh();\r\n };\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.unobserve = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is not being observed.\r\n if (!observations.has(target)) {\r\n return;\r\n }\r\n observations.delete(target);\r\n if (!observations.size) {\r\n this.controller_.removeObserver(this);\r\n }\r\n };\r\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.disconnect = function () {\r\n this.clearActive();\r\n this.observations_.clear();\r\n this.controller_.removeObserver(this);\r\n };\r\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.gatherActive = function () {\r\n var _this = this;\r\n this.clearActive();\r\n this.observations_.forEach(function (observation) {\r\n if (observation.isActive()) {\r\n _this.activeObservations_.push(observation);\r\n }\r\n });\r\n };\r\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.broadcastActive = function () {\r\n // Do nothing if observer doesn't have active observations.\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n var ctx = this.callbackCtx_;\r\n // Create ResizeObserverEntry instance for every active observation.\r\n var entries = this.activeObservations_.map(function (observation) {\r\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n });\r\n this.callback_.call(ctx, entries, ctx);\r\n this.clearActive();\r\n };\r\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.clearActive = function () {\r\n this.activeObservations_.splice(0);\r\n };\r\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObserverSPI.prototype.hasActive = function () {\r\n return this.activeObservations_.length > 0;\r\n };\r\n return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\r\n function ResizeObserver(callback) {\r\n if (!(this instanceof ResizeObserver)) {\r\n throw new TypeError('Cannot call a class as a function.');\r\n }\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n var controller = ResizeObserverController.getInstance();\r\n var observer = new ResizeObserverSPI(callback, controller, this);\r\n observers.set(this, observer);\r\n }\r\n return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(function (method) {\r\n ResizeObserver.prototype[method] = function () {\r\n var _a;\r\n return (_a = observers.get(this))[method].apply(_a, arguments);\r\n };\r\n});\n\nvar index = (function () {\r\n // Export existing implementation if available.\r\n if (typeof global$1.ResizeObserver !== 'undefined') {\r\n return global$1.ResizeObserver;\r\n }\r\n return ResizeObserver;\r\n})();\n\nexport default index;\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport { Component, createElement } from 'react';\nimport PropTypes from 'prop-types';\nimport ResizeObserver from 'resize-observer-polyfill';\n\nvar types = ['client', 'offset', 'scroll', 'bounds', 'margin'];\nfunction getTypes(props) {\n var allowedTypes = [];\n types.forEach(function (type) {\n if (props[type]) {\n allowedTypes.push(type);\n }\n });\n return allowedTypes;\n}\n\nfunction getContentRect(node, types) {\n var calculations = {};\n\n if (types.indexOf('client') > -1) {\n calculations.client = {\n top: node.clientTop,\n left: node.clientLeft,\n width: node.clientWidth,\n height: node.clientHeight\n };\n }\n\n if (types.indexOf('offset') > -1) {\n calculations.offset = {\n top: node.offsetTop,\n left: node.offsetLeft,\n width: node.offsetWidth,\n height: node.offsetHeight\n };\n }\n\n if (types.indexOf('scroll') > -1) {\n calculations.scroll = {\n top: node.scrollTop,\n left: node.scrollLeft,\n width: node.scrollWidth,\n height: node.scrollHeight\n };\n }\n\n if (types.indexOf('bounds') > -1) {\n var rect = node.getBoundingClientRect();\n calculations.bounds = {\n top: rect.top,\n right: rect.right,\n bottom: rect.bottom,\n left: rect.left,\n width: rect.width,\n height: rect.height\n };\n }\n\n if (types.indexOf('margin') > -1) {\n var styles = getComputedStyle(node);\n calculations.margin = {\n top: styles ? parseInt(styles.marginTop) : 0,\n right: styles ? parseInt(styles.marginRight) : 0,\n bottom: styles ? parseInt(styles.marginBottom) : 0,\n left: styles ? parseInt(styles.marginLeft) : 0\n };\n }\n\n return calculations;\n}\n\n/**\n * Returns the global window object associated with provided element.\n */\nfunction getWindowOf(target) {\n // Assume that the element is an instance of Node, which means that it\n // has the \"ownerDocument\" property from which we can retrieve a\n // corresponding global object.\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView; // Return the local window object if it's not possible extract one from\n // provided element.\n\n return ownerGlobal || window;\n}\n\nfunction withContentRect(types) {\n return function (WrappedComponent) {\n var _class, _temp;\n\n return _temp = _class =\n /*#__PURE__*/\n function (_Component) {\n _inheritsLoose(WithContentRect, _Component);\n\n function WithContentRect() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n _this.state = {\n contentRect: {\n entry: {},\n client: {},\n offset: {},\n scroll: {},\n bounds: {},\n margin: {}\n }\n };\n _this._animationFrameID = null;\n _this._resizeObserver = null;\n _this._node = null;\n _this._window = null;\n\n _this.measure = function (entries) {\n var contentRect = getContentRect(_this._node, types || getTypes(_this.props));\n\n if (entries) {\n contentRect.entry = entries[0].contentRect;\n }\n\n _this._animationFrameID = _this._window.requestAnimationFrame(function () {\n if (_this._resizeObserver !== null) {\n _this.setState({\n contentRect: contentRect\n });\n\n if (typeof _this.props.onResize === 'function') {\n _this.props.onResize(contentRect);\n }\n }\n });\n };\n\n _this._handleRef = function (node) {\n if (_this._resizeObserver !== null && _this._node !== null) {\n _this._resizeObserver.unobserve(_this._node);\n }\n\n _this._node = node;\n _this._window = getWindowOf(_this._node);\n var innerRef = _this.props.innerRef;\n\n if (innerRef) {\n if (typeof innerRef === 'function') {\n innerRef(_this._node);\n } else {\n innerRef.current = _this._node;\n }\n }\n\n if (_this._resizeObserver !== null && _this._node !== null) {\n _this._resizeObserver.observe(_this._node);\n }\n };\n\n return _this;\n }\n\n var _proto = WithContentRect.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this._resizeObserver = this._window !== null && this._window.ResizeObserver ? new this._window.ResizeObserver(this.measure) : new ResizeObserver(this.measure);\n\n if (this._node !== null) {\n this._resizeObserver.observe(this._node);\n\n if (typeof this.props.onResize === 'function') {\n this.props.onResize(getContentRect(this._node, types || getTypes(this.props)));\n }\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this._window !== null) {\n this._window.cancelAnimationFrame(this._animationFrameID);\n }\n\n if (this._resizeObserver !== null) {\n this._resizeObserver.disconnect();\n\n this._resizeObserver = null;\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n innerRef = _this$props.innerRef,\n onResize = _this$props.onResize,\n props = _objectWithoutPropertiesLoose(_this$props, [\"innerRef\", \"onResize\"]);\n\n return createElement(WrappedComponent, _extends({}, props, {\n measureRef: this._handleRef,\n measure: this.measure,\n contentRect: this.state.contentRect\n }));\n };\n\n return WithContentRect;\n }(Component), _class.propTypes = {\n client: PropTypes.bool,\n offset: PropTypes.bool,\n scroll: PropTypes.bool,\n bounds: PropTypes.bool,\n margin: PropTypes.bool,\n innerRef: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n onResize: PropTypes.func\n }, _temp;\n };\n}\n\nvar Measure = withContentRect()(function (_ref) {\n var measure = _ref.measure,\n measureRef = _ref.measureRef,\n contentRect = _ref.contentRect,\n children = _ref.children;\n return children({\n measure: measure,\n measureRef: measureRef,\n contentRect: contentRect\n });\n});\nMeasure.displayName = 'Measure';\nMeasure.propTypes.children = PropTypes.func;\n\nexport default Measure;\nexport { withContentRect };\n","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import ImgixClient from \"@imgix/js-core\";\nexport default ImgixClient.targetWidths();\n//# sourceMappingURL=targetWidths.js.map","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(t, e) { if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e; if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\"); return _assertThisInitialized(t); }\nfunction _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); return e; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\nfunction _inherits(t, e) { if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e); }\nfunction _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\nimport React from \"react\";\nimport { withContentRect } from \"react-measure\";\nimport { shallowEqual } from \"./common\";\nimport { PACKAGE_VERSION } from \"./constants\";\nimport constructUrl from \"./constructUrl\";\nimport extractQueryParams from \"./extractQueryParams\";\nimport findClosest from \"./findClosest\";\nimport targetWidths from \"./targetWidths\";\nimport { mergeComponentPropsHOF, processPropsHOF } from \"./HOFs\";\nvar findNearestWidth = function findNearestWidth(actualWidth) {\n return findClosest(actualWidth, targetWidths);\n};\nvar toFixed = function toFixed(dp, value) {\n return +value.toFixed(dp);\n};\nexport var __shouldComponentUpdate = function __shouldComponentUpdate(props, nextProps) {\n var contentRect = props.contentRect;\n var bounds = contentRect.bounds;\n var prevWidth = bounds.width,\n prevHeight = bounds.height;\n var nextContentRect = nextProps.contentRect;\n var nextBounds = nextContentRect.bounds;\n var nextWidth = nextBounds.width,\n nextHeight = nextBounds.height;\n\n // If neither of the previous nor next dimensions are present,\n // re-render.\n if (!nextWidth || !nextHeight || !prevWidth || !prevHeight) {\n return true;\n }\n\n // The component has been rendered at least twice by this point\n // and both the previous and next dimensions should be defined.\n // Only update if the nextWidth is greater than the prevWidth.\n if (prevWidth && nextWidth && nextWidth > prevWidth) {\n return true;\n }\n\n // Similarly, only update if the next height is greater than\n // the previous height.\n if (prevHeight && nextHeight && nextHeight > prevHeight) {\n return true;\n }\n var customizer = function customizer(oldProp, newProp, key) {\n // these keys are ignored from prop checking process\n if (key === \"contentRect\" || key === \"measure\" || key === \"measureRef\") {\n return true;\n }\n if (key === \"children\") {\n return oldProp == newProp;\n }\n if (key === \"imgixParams\") {\n return shallowEqual(oldProp, newProp, function (a, b) {\n if (Array.isArray(a)) {\n return shallowEqual(a, b);\n }\n return undefined;\n });\n }\n if (key === \"htmlAttributes\") {\n return shallowEqual(oldProp, newProp);\n }\n return undefined; // handled by shallowEqual\n };\n\n // If we made it here, we need to check if the \"top-level\"\n // props have changed (e.g. disableLibraryParam).\n var propsEqual = shallowEqual(props, nextProps, customizer);\n return !propsEqual;\n};\nvar BackgroundImpl = /*#__PURE__*/function (_React$Component) {\n function BackgroundImpl(props) {\n _classCallCheck(this, BackgroundImpl);\n return _callSuper(this, BackgroundImpl, [props]);\n }\n _inherits(BackgroundImpl, _React$Component);\n return _createClass(BackgroundImpl, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps) {\n return __shouldComponentUpdate(this.props, nextProps);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n measureRef = _this$props.measureRef,\n contentRect = _this$props.contentRect,\n _this$props$imgixPara = _this$props.imgixParams,\n imgixParams = _this$props$imgixPara === void 0 ? {} : _this$props$imgixPara,\n onLoad = _this$props.onLoad,\n disableLibraryParam = _this$props.disableLibraryParam,\n disablePathEncoding = _this$props.disablePathEncoding,\n src = _this$props.src,\n children = _this$props.children,\n _this$props$className = _this$props.className,\n className = _this$props$className === void 0 ? \"\" : _this$props$className;\n var forcedWidth = imgixParams.w,\n forcedHeight = imgixParams.h;\n var hasDOMDimensions = contentRect.bounds.width != null && contentRect.bounds.height != null;\n var htmlAttributes = this.props.htmlAttributes || {};\n var dpr = toFixed(2, imgixParams.dpr || global.devicePixelRatio || 1);\n var ref = htmlAttributes.ref;\n var onRef = function onRef(el) {\n measureRef(el);\n if (typeof ref === \"function\") {\n ref(el);\n }\n };\n var _ref = function () {\n var bothWidthAndHeightPassed = forcedWidth != null && forcedHeight != null;\n if (bothWidthAndHeightPassed) {\n return {\n width: forcedWidth,\n height: forcedHeight\n };\n }\n if (!hasDOMDimensions) {\n return {\n width: undefined,\n height: undefined\n };\n }\n var ar = contentRect.bounds.width / contentRect.bounds.height;\n var neitherWidthNorHeightPassed = forcedWidth == null && forcedHeight == null;\n if (neitherWidthNorHeightPassed) {\n var _width = findNearestWidth(contentRect.bounds.width);\n var _height = Math.ceil(_width / ar);\n return {\n width: _width,\n height: _height\n };\n }\n if (forcedWidth != null) {\n var _height2 = Math.ceil(forcedWidth / ar);\n return {\n width: forcedWidth,\n height: _height2\n };\n } else if (forcedHeight != null) {\n var _width2 = Math.ceil(forcedHeight * ar);\n return {\n width: _width2,\n height: forcedHeight\n };\n }\n }(),\n width = _ref.width,\n height = _ref.height;\n var isReady = width != null && height != null;\n var commonProps = _objectSpread({}, htmlAttributes);\n if (!isReady) {\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, commonProps, {\n className: \"react-imgix-bg-loading \".concat(className),\n ref: onRef\n }), children);\n }\n var renderedSrc = function () {\n var _extractQueryParams = extractQueryParams(src),\n _extractQueryParams2 = _slicedToArray(_extractQueryParams, 2),\n rawSrc = _extractQueryParams2[0],\n params = _extractQueryParams2[1];\n var longImgixParams = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, params), {}, {\n fit: \"crop\"\n }, imgixParams), disableLibraryParam ? {} : {\n ixlib: \"react-\".concat(PACKAGE_VERSION)\n }), {}, {\n width: width,\n height: height,\n dpr: dpr\n });\n var srcOptions = {\n disablePathEncoding: disablePathEncoding\n };\n return constructUrl(rawSrc, longImgixParams, srcOptions);\n }();\n var style = _objectSpread(_objectSpread({}, htmlAttributes.style), {}, {\n backgroundImage: \"url(\".concat(renderedSrc, \")\"),\n backgroundSize: (htmlAttributes.style || {}).backgroundSize !== undefined ? htmlAttributes.style.backgroundSize : \"cover\"\n });\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, commonProps, {\n className: className,\n ref: onRef,\n style: style\n }), children);\n }\n }]);\n}(React.Component);\nvar Background = mergeComponentPropsHOF(processPropsHOF(withContentRect(\"bounds\")(BackgroundImpl)));\nexport { Background, BackgroundImpl as __BackgroundImpl };\n//# sourceMappingURL=react-imgix-bg.js.map","/**\n * Finds the closest value in the search array to the value provided using a binary search\n * If the value is in the middle of two candidate values, it chooses the higher value\n */\nexport default function findClosest(searchValue, arr) {\n if (searchValue < arr[0]) {\n return arr[0];\n }\n if (searchValue > arr[arr.length - 1]) {\n return arr[arr.length - 1];\n }\n var mid;\n var lo = 0;\n var hi = arr.length - 1;\n while (hi - lo > 1) {\n mid = Math.floor((lo + hi) / 2);\n if (arr[mid] < searchValue) {\n lo = mid;\n } else {\n hi = mid;\n }\n }\n if (searchValue - arr[lo] < arr[hi] - searchValue) {\n return arr[lo];\n }\n return arr[hi];\n}\n//# sourceMappingURL=findClosest.js.map","'use client';\n\nimport ReactImgix, { Picture, Source } from \"./react-imgix\";\nimport { PublicConfigAPI } from \"./config\";\nimport { buildURLPublic as buildURL } from \"./constructUrl\";\nimport { ImgixProvider } from \"./HOCs\";\nexport { ImgixProvider };\nexport { buildURL };\nexport { Picture, Source, PublicConfigAPI };\nexport { Background } from \"./react-imgix-bg\";\nexport default ReactImgix;\n//# sourceMappingURL=index.js.map","import React from 'react';\r\nimport { IIconProps } from '../../interfaces';\r\nconst DiscordIcon = (props: IIconProps) => {\r\n /*w13 h16*/\r\n return (\r\n \r\n {props.title}\r\n\r\n \r\n\r\n \r\n )\r\n};\r\n\r\nexport default DiscordIcon;","import React from 'react';\r\nimport { IIconProps } from '../../interfaces';\r\nconst FacebookIcon = (props: IIconProps) => {\r\n /*w13 h16*/\r\n return (\r\n \r\n {props.title}\r\n \r\n \r\n )\r\n};\r\n\r\nexport default FacebookIcon;","import React from 'react';\r\nimport { IIconProps } from '../../interfaces';\r\nconst InstagramIcon = (props: IIconProps) => {\r\n /*w13 h16*/\r\n return (\r\n \r\n {props.title}\r\n\r\n \r\n \r\n \r\n \r\n )\r\n};\r\n\r\nexport default InstagramIcon;","import React from 'react';\r\nimport { IIconProps } from '../../interfaces';\r\nconst LinkedinIcon = (props: IIconProps) => {\r\n /*w13 h16*/\r\n return (\r\n \r\n {props.title}\r\n\r\n \r\n \r\n \r\n \r\n )\r\n};\r\n\r\nexport default LinkedinIcon;","import React from 'react';\r\nimport { IIconProps } from '../../interfaces';\r\nconst PinterestIcon = (props: IIconProps) => {\r\n /*w13 h16*/\r\n return (\r\n \r\n {props.title}\r\n\r\n \r\n \r\n )\r\n};\r\n\r\nexport default PinterestIcon;","import React from 'react';\r\nimport { IIconProps } from '../../interfaces';\r\nconst RedditIcon = (props: IIconProps) => {\r\n /*w13 h16*/\r\n return (\r\n \r\n {props.title}\r\n\r\n \r\n \r\n )\r\n};\r\n\r\nexport default RedditIcon;","import React from 'react';\r\nimport { IIconProps } from '../../interfaces';\r\nconst RumbleIcon = (props: IIconProps) => {\r\n /*w13 h16*/\r\n return (\r\n \r\n {props.title}\r\n\r\n \r\n \r\n \r\n )\r\n};\r\n\r\nexport default RumbleIcon;","import React from 'react';\r\nimport { IIconProps } from '../../interfaces';\r\nconst SnapchatIcon = (props: IIconProps) => {\r\n /*w13 h16*/\r\n return (\r\n \r\n {props.title}\r\n\r\n \r\n \r\n )\r\n};\r\n\r\nexport default SnapchatIcon;","import React from 'react';\r\nimport { IIconProps } from '../../interfaces';\r\nconst SoundbetterIcon = (props: IIconProps) => {\r\n /*w13 h16*/\r\n return (\r\n \r\n {props.title}\r\n\r\n \r\n \r\n \r\n \r\n )\r\n};\r\n\r\nexport default SoundbetterIcon;","import React from 'react';\r\nimport { IIconProps } from '../../interfaces';\r\nconst SoundcloudIcon = (props: IIconProps) => {\r\n /*w13 h16*/\r\n return (\r\n \r\n {props.title}\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n )\r\n};\r\n\r\nexport default SoundcloudIcon;","import React from 'react';\r\nimport { IIconProps } from '../../interfaces';\r\nconst SpotifyIcon = (props: IIconProps) => {\r\n /*w13 h16*/\r\n return (\r\n \r\n {props.title}\r\n\r\n \r\n \r\n\r\n )\r\n};\r\n\r\nexport default SpotifyIcon;","import React from 'react';\r\nimport { IIconProps } from '../../interfaces';\r\nconst TelegramIcon = (props: IIconProps) => {\r\n /*w13 h16*/\r\n return (\r\n \r\n {props.title}\r\n\r\n \r\n \r\n\r\n )\r\n};\r\n\r\nexport default TelegramIcon;","import React from 'react';\r\nimport { IIconProps } from '../../interfaces';\r\nconst TikTokIcon = (props: IIconProps) => {\r\n /*w13 h16*/\r\n return (\r\n \r\n {props.title}\r\n\r\n \r\n \r\n\r\n\r\n )\r\n};\r\n\r\nexport default TikTokIcon;","import React from 'react';\r\nimport { IIconProps } from '../../interfaces';\r\nconst TwitchIcon = (props: IIconProps) => {\r\n /*w13 h16*/\r\n return (\r\n \r\n {props.title}\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n )\r\n};\r\n\r\nexport default TwitchIcon;","import React from 'react';\r\nimport { IIconProps } from '../../interfaces';\r\nconst TwitterIcon = (props: IIconProps) => {\r\n /*w13 h16*/\r\n return (\r\n \r\n {props.title}\r\n \r\n \r\n )\r\n};\r\n\r\nexport default TwitterIcon;","import React from 'react';\r\nimport { IIconProps } from '../../interfaces';\r\nconst VimeoIcon = (props: IIconProps) => {\r\n /*w13 h16*/\r\n return (\r\n \r\n {props.title}\r\n\r\n \r\n \r\n )\r\n};\r\n\r\nexport default VimeoIcon;","import React from 'react';\r\nimport { IIconProps } from '../../interfaces';\r\nconst YouTubeIcon = (props: IIconProps) => {\r\n /*w13 h16*/\r\n return (\r\n \r\n {props.title}\r\n\r\n \r\n \r\n )\r\n};\r\n\r\nexport default YouTubeIcon;","export enum CartSteps {\r\n First = 1,\r\n Second = 2,\r\n Third = 3,\r\n}","export enum ProductDepartmentEnum {\r\n Bundles = 1,\r\n Plugins = 2,\r\n General = 5,\r\n Books = 6,\r\n InactiveItems = 7,\r\n LiveSound = 8,\r\n Hardware = 9,\r\n Software = 10,\r\n Subscription = 12,\r\n Consumer = 13,\r\n RentToOwnDynamic = 14,\r\n RentToOwnStatic = 15,\r\n Merch = 16,\r\n WavesUpdatePlan = 17,\r\n Upgrades = 18,\r\n Courses = 19,\r\n SubscriptionDynamic = 20,\r\n Gifts = 21,\r\n CoursesWithSoftware = 22,\r\n SubscriptionNonRecurring = 23,\r\n Mastering = 24,\r\n}","/**\r\n * https://wavesaudio.atlassian.net/browse/DSWEB-3278\r\n * ap = alipay, pp = paypal, cc = credit card, null = no previous purchase\r\n */\r\nexport enum LastPaymentOption {\r\n NONE = '',\r\n CreditCard = 'cc',\r\n PayPal = 'pp',\r\n AliPay = 'ap',\r\n}","export enum PaymentTabsEnum {\r\n CreditCard = 1,\r\n PayPal = 2,\r\n AliPay = 3,\r\n}","export enum CreditCardServiceEnum {\r\n None = 0,\r\n FirstData = 1,\r\n Pinnacle = 2,\r\n Stripe = 3\r\n}","export enum CreditCardTabTabsEnum {\r\n NewCreditCard = 1,\r\n SavedCreditCards = 2,\r\n}","import { IValidationRules } from './interfaces';\r\nimport { ClipboardEvent, Dispatch } from 'react';\r\nimport { IFormControl } from '../../ui/forms/interfaces';\r\nimport { getDecimalPlaces, isNumber } from '../math-provider';\r\n\r\n/**\r\n * Validation\r\n * ----------\r\n const userNameControl = createControl('userName', '', {\r\n required: true // required also can be a function\r\n requiredMessage: '...', // optional\r\n\r\n regex: string,\r\n regexMessage: '...', // optional\r\n\r\n email: true,\r\n emailMessage: '...', // optional\r\n\r\n name: true,\r\n nameMessage: '...', // optional\r\n\r\n password: true,\r\n passwordMessage: '...', // optional\r\n\r\n minlength: number, // minlength also can be a function\r\n minlengthMessage: '...', // optional\r\n\r\n maxlength: number, // maxlength also can be a function\r\n maxlengthMessage: '...', // optional\r\n\r\n minValue: number,\r\n minValueMessage: '...', // optional\r\n\r\n maxValue: number,\r\n maxValueMessage: '...', // optional\r\n\r\n length: number,\r\n lengthMessage: '...', // optional\r\n\r\n phone: true,\r\n phoneMessage: '...', // optional\r\n\r\n int: true,\r\n intMessage: '...', // optional\r\n\r\n number: true,\r\n numberMessage: '...', // optional\r\n\r\n general: (control) => false,\r\n generalMessage: '...',\r\n\r\n decimalPlaces: 2,\r\n decimalPlacesMessage: '...', // optional\r\n });\r\n const [userName, setUserName] = useState(userNameControl);\r\n */\r\n\r\nconst defaultMessages = {\r\n requiredMessage: 'This field is required.',\r\n regexMessage: 'This field is wrong.',\r\n emailMessage: 'Please enter a valid email address. Use letters (a-z), numbers, and the following characters: + - _ @ . only',\r\n nameMessage: 'Please use letters (a-z), numbers, spaces, and the following characters: - _ . ,\\' / # \" only.',\r\n passwordMessage: 'Please enter a mix of at least 8 characters, including at least one of each group: a-z, A-Z, 0-9, special characters (e.g. ! @ #).',\r\n minlengthMessage: 'Please enter at least $1 character$2.',\r\n maxlengthMessage: 'Please enter at most $1 character$2.',\r\n lengthMessage: 'Please enter $1 character$2.',\r\n phoneMessage: 'Invalid phone number.',\r\n intMessage: 'Please enter a valid number.',\r\n dateMessage: 'Please enter a valid date.',\r\n numberMessage: 'Please enter a valid number.',\r\n generalMessage: 'An error has occurred.',\r\n atLeastOneDigitMessage: 'At least one letter or digit is required.',\r\n handleMessage: 'Please use letters letters (a-z), numbers, and the following characters: - _ . only.',\r\n decimalPlacesMessage: 'Number of decimal places should be no more than $1.',\r\n maxValueMessage: 'The maximum value cannot exceed $1',\r\n minValueMessage: 'The minimum value cannot be less than $1',\r\n};\r\n\r\nexport const emailRegex = '^([a-zA-Z0-9_\\\\.\\\\-\\\\+]+)@([a-zA-Z0-9_\\\\-\\\\+\\\\.]+)((\\\\.([a-zA-Z0-9_\\\\-\\\\+]){2,20})+)$';\r\n\r\n/**\r\n * create form control\r\n */\r\nexport const createControl = (id: string, initialValue: any, rules: IValidationRules) : IFormControl => {\r\n return {\r\n id,\r\n value: initialValue,\r\n touched: false,\r\n isValid: true,\r\n error: '',\r\n rules: rules || []\r\n }\r\n};\r\n\r\n/**\r\n * validate form control\r\n */\r\nexport const validateControl = (control: IFormControl) : IFormControl => {\r\n\r\n const updatedControl : IFormControl = {\r\n ...control,\r\n isValid: true,\r\n error: '',\r\n };\r\n \r\n const rules = control.rules;\r\n\r\n // required ---------------------\r\n if(updatedControl.isValid && rules.required){\r\n if(typeof rules.required === 'function'){\r\n updatedControl.isValid = updatedControl.isValid && rules.required(updatedControl);\r\n }\r\n else{\r\n const _value = (typeof updatedControl.value === 'string') ? (updatedControl.value || '').trim() : updatedControl.value;\r\n updatedControl.isValid = updatedControl.isValid && !!_value;\r\n }\r\n\r\n if(!updatedControl.isValid){\r\n updatedControl.error = rules.requiredMessage || defaultMessages.requiredMessage;\r\n return updatedControl;\r\n }\r\n }\r\n\r\n // handle ---------------------\r\n if(updatedControl.isValid && rules.handle){\r\n\r\n const handleRegex = '^[a-zA-Z0-9-_\\\\.]+$';\r\n const re = new RegExp(handleRegex);\r\n\r\n updatedControl.isValid = updatedControl.isValid && (updatedControl.value.toString().trim() === '' || re.test(updatedControl.value));\r\n\r\n if(!updatedControl.isValid){\r\n if(!updatedControl.isValid){\r\n updatedControl.error = rules.handleMessage || defaultMessages.handleMessage;\r\n return updatedControl;\r\n }\r\n\r\n return updatedControl;\r\n }\r\n }\r\n\r\n // minlength -------------------------\r\n if(updatedControl.isValid && rules.minlength){\r\n\r\n const minlength = typeof rules.minlength === 'function' ? rules.minlength() : rules.minlength;\r\n updatedControl.isValid = updatedControl.isValid && (updatedControl.value.length <= 0 || updatedControl.value.length >= minlength);\r\n\r\n if(!updatedControl.isValid){\r\n updatedControl.error = rules.minlengthMessage || defaultMessages.minlengthMessage;\r\n updatedControl.error = updatedControl.error.replace('$1', minlength.toString());\r\n updatedControl.error = updatedControl.error.replace('$2', minlength === 1 ? '' : 's');\r\n return updatedControl;\r\n }\r\n }\r\n\r\n // maxlength ---------------------\r\n if(updatedControl.isValid && rules.maxlength){\r\n\r\n const maxlength = typeof rules.maxlength === 'function' ? rules.maxlength() : rules.maxlength;\r\n updatedControl.isValid = updatedControl.isValid && (updatedControl.value.length <= maxlength);\r\n\r\n if(!updatedControl.isValid){\r\n updatedControl.error = rules.maxlengthMessage || defaultMessages.maxlengthMessage;\r\n updatedControl.error = updatedControl.error.replace('$1', maxlength.toString());\r\n updatedControl.error = updatedControl.error.replace('$2', maxlength === 1 ? '' : 's');\r\n return updatedControl;\r\n }\r\n }\r\n\r\n // length ---------------------\r\n if(updatedControl.isValid && rules.length){\r\n\r\n updatedControl.isValid = updatedControl.isValid && (updatedControl.value.length === rules.length);\r\n\r\n if(!updatedControl.isValid){\r\n updatedControl.error = rules.lengthMessage || defaultMessages.lengthMessage;\r\n updatedControl.error = updatedControl.error.replace('$1', rules.length.toString());\r\n updatedControl.error = updatedControl.error.replace('$2', rules.length === 1 ? '' : 's');\r\n return updatedControl;\r\n }\r\n }\r\n\r\n // decimalPlaces ---------------------\r\n if(updatedControl.isValid && rules.decimalPlaces !== undefined && Number.isInteger(rules.decimalPlaces)){\r\n\r\n updatedControl.isValid = updatedControl.isValid && (getDecimalPlaces(Number(updatedControl.value)) <= rules.decimalPlaces);\r\n\r\n if(!updatedControl.isValid){\r\n updatedControl.error = rules.decimalPlacesMessage || defaultMessages.decimalPlacesMessage;\r\n updatedControl.error = updatedControl.error.replace('$1', rules.decimalPlaces.toString());\r\n return updatedControl;\r\n }\r\n }\r\n\r\n // email ---------------------\r\n if(updatedControl.isValid && rules.email){\r\n const re = new RegExp(emailRegex);\r\n updatedControl.isValid = updatedControl.isValid && (updatedControl.value.trim() === '' || re.test(updatedControl.value));\r\n\r\n if(updatedControl.isValid){\r\n updatedControl.isValid = updatedControl.value.indexOf('..') === -1;\r\n }\r\n\r\n if(!updatedControl.isValid){\r\n updatedControl.error = rules.emailMessage || defaultMessages.emailMessage;\r\n return updatedControl;\r\n }\r\n }\r\n\r\n // name ---------------------\r\n if(updatedControl.isValid && rules.name){\r\n\r\n const nameRegex = '^[a-zA-Z0-9-_\\\\.\\\\,\\\\/#\\'\\\\\" ]+$';\r\n const re = new RegExp(nameRegex);\r\n\r\n updatedControl.isValid = updatedControl.isValid && (updatedControl.value.trim() === '' || re.test(updatedControl.value));\r\n\r\n if(!updatedControl.isValid){\r\n updatedControl.error = rules.nameMessage || defaultMessages.nameMessage;\r\n return updatedControl;\r\n }\r\n }\r\n\r\n // password ---------------------\r\n if(updatedControl.isValid && rules.password){\r\n\r\n let isValid = true;\r\n\r\n if(updatedControl.value.length < 8){\r\n isValid = false;\r\n }\r\n else{\r\n const regexes = [/[0-9]+/, /[a-z]+/, /[A-Z]+/, /[^A-Za-z0-9]+/];\r\n\r\n for (let r = 0; r < regexes.length; r++){\r\n\r\n if ((updatedControl.value.match(regexes[r]) || []).length <= 0){\r\n isValid = false;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n updatedControl.isValid = updatedControl.isValid && (updatedControl.value.trim() === '' || isValid);\r\n\r\n if(!updatedControl.isValid){\r\n\r\n if(!updatedControl.isValid){\r\n updatedControl.error = rules.passwordMessage || defaultMessages.passwordMessage;\r\n return updatedControl;\r\n }\r\n\r\n return updatedControl;\r\n }\r\n }\r\n\r\n // regex ---------------------\r\n if(updatedControl.isValid && rules.regex){\r\n\r\n const re = new RegExp(rules.regex);\r\n\r\n updatedControl.isValid = updatedControl.isValid && (updatedControl.value.trim() === '' || re.test(updatedControl.value));\r\n\r\n if(!updatedControl.isValid){\r\n\r\n if(!updatedControl.isValid){\r\n updatedControl.error = rules.regexMessage || defaultMessages.regexMessage;\r\n return updatedControl;\r\n }\r\n\r\n return updatedControl;\r\n }\r\n }\r\n\r\n // phone ---------------------\r\n if(updatedControl.isValid && rules.phone){\r\n\r\n const intRegex = /^[0-9]{5,12}$/;\r\n const onlyZerosRegex = /^0+$/;\r\n\r\n updatedControl.isValid = updatedControl.isValid && (updatedControl.value.toString().trim() === '' || (intRegex.test(updatedControl.value) && !onlyZerosRegex.test(updatedControl.value)));\r\n\r\n if(!updatedControl.isValid){\r\n\r\n if(!updatedControl.isValid){\r\n updatedControl.error = rules.phoneMessage || defaultMessages.phoneMessage;\r\n return updatedControl;\r\n }\r\n\r\n return updatedControl;\r\n }\r\n }\r\n\r\n // number ---------------------\r\n if(updatedControl.isValid && rules.number){\r\n\r\n const isNumeric = !isNaN(parseFloat(updatedControl.value)) && isFinite(updatedControl.value);\r\n updatedControl.isValid = updatedControl.isValid && (updatedControl.value.toString().trim() === '' || isNumeric);\r\n\r\n if(!updatedControl.isValid){\r\n\r\n if(!updatedControl.isValid){\r\n updatedControl.error = rules.numberMessage || defaultMessages.numberMessage;\r\n return updatedControl;\r\n }\r\n\r\n return updatedControl;\r\n }\r\n }\r\n\r\n // int ---------------------\r\n if(updatedControl.isValid && rules.int){\r\n\r\n const intRegex = '^[0-9]+$';\r\n const re = new RegExp(intRegex);\r\n\r\n updatedControl.isValid = updatedControl.isValid && (updatedControl.value.toString().trim() === '' || re.test(updatedControl.value));\r\n\r\n if(!updatedControl.isValid){\r\n\r\n if(!updatedControl.isValid){\r\n updatedControl.error = rules.intMessage || defaultMessages.intMessage;\r\n return updatedControl;\r\n }\r\n\r\n return updatedControl;\r\n }\r\n }\r\n\r\n // minDate - min date value ---------------------\r\n if(updatedControl.isValid && rules.minDate){\r\n //if the field is required and the filed is empty or null --> valid\r\n const validEmpty = (updatedControl.value === null || updatedControl.value.length === 0) && !rules.required;\r\n\r\n if(validEmpty){\r\n updatedControl.isValid = true;\r\n }else{\r\n const min = new Date(rules.minDate);\r\n updatedControl.isValid = min < new Date(updatedControl.value);\r\n }\r\n\r\n if(!updatedControl.isValid){\r\n\r\n if(!updatedControl.isValid){\r\n updatedControl.error = rules.minDateMessage || defaultMessages.dateMessage;\r\n return updatedControl;\r\n }\r\n\r\n return updatedControl;\r\n }\r\n }\r\n\r\n // maxDate - max date value ---------------------\r\n if(updatedControl.isValid && rules.maxDate){\r\n //if the field is required and the filed is empty or null --> valid\r\n const validEmpty = (updatedControl.value === null || updatedControl.value.length === 0) && !rules.required;\r\n\r\n if(validEmpty){\r\n updatedControl.isValid = true;\r\n }else{\r\n const max = new Date(rules.maxDate);\r\n updatedControl.isValid = max > new Date(updatedControl.value);\r\n }\r\n\r\n\r\n if(!updatedControl.isValid){\r\n\r\n if(!updatedControl.isValid){\r\n updatedControl.error = rules.maxDateMessage || defaultMessages.dateMessage;\r\n return updatedControl;\r\n }\r\n\r\n return updatedControl;\r\n }\r\n }\r\n\r\n\r\n // maxValue ---------------------\r\n if(updatedControl.isValid && rules.maxValue){\r\n\r\n const maxValue = typeof rules.maxValue === 'function' ? rules.maxValue() : rules.maxValue;\r\n updatedControl.isValid = updatedControl.isValid && (updatedControl.value <= maxValue);\r\n\r\n if(!updatedControl.isValid){\r\n updatedControl.error = rules.maxValueMessage || defaultMessages.maxValueMessage;\r\n updatedControl.error = updatedControl.error.replace('$1', maxValue.toString());\r\n return updatedControl;\r\n }\r\n }\r\n\r\n // minValue ---------------------\r\n if(updatedControl.isValid && isNumber(rules.minValue)){\r\n\r\n const minValue = typeof rules.minValue === 'function' ? rules.minValue() : (rules.minValue ?? 0);\r\n updatedControl.isValid = updatedControl.isValid && (updatedControl.value >= minValue);\r\n\r\n if(!updatedControl.isValid){\r\n updatedControl.error = rules.minValueMessage || defaultMessages.minValueMessage;\r\n updatedControl.error = updatedControl.error.replace('$1', minValue.toString());\r\n return updatedControl;\r\n }\r\n }\r\n\r\n // general ---------------------\r\n if(updatedControl.isValid && rules.general){\r\n\r\n if(typeof rules.general === 'function'){\r\n updatedControl.isValid = updatedControl.isValid && rules.general(updatedControl);\r\n }\r\n\r\n if(!updatedControl.isValid){\r\n updatedControl.error = rules.generalMessage || defaultMessages.generalMessage;\r\n return updatedControl;\r\n }\r\n }\r\n\r\n // atLeastOneDigit ---------------------\r\n if(updatedControl.isValid && rules.atLeastOneDigit){\r\n\r\n const atLeastOneDigitRegex = '.*[A-Za-z0-9].*';\r\n const re = new RegExp(atLeastOneDigitRegex);\r\n\r\n updatedControl.isValid = updatedControl.isValid && (updatedControl.value.toString().trim() === '' || re.test(updatedControl.value));\r\n\r\n if(!updatedControl.isValid){\r\n if(!updatedControl.isValid){\r\n updatedControl.error = rules.atLeastOneDigitMessage || defaultMessages.atLeastOneDigitMessage;\r\n return updatedControl;\r\n }\r\n\r\n return updatedControl;\r\n }\r\n }\r\n\r\n return updatedControl;\r\n};\r\n\r\n/**\r\n * validate form\r\n */\r\nexport const validateForm = (params: ([IFormControl, Dispatch])[], errorControlsListHolder: IFormControl[] = []) => {\r\n\r\n let isValid = true;\r\n\r\n for(let i=0; i= 2){\r\n const setControl = param[1] as Dispatch;\r\n if(typeof setControl === 'function'){\r\n setControl(control);\r\n }\r\n }\r\n\r\n if(!control.isValid){\r\n // console.log('Non valid control', control)\r\n isValid = false;\r\n errorControlsListHolder.push(control);\r\n }\r\n }\r\n\r\n return isValid;\r\n};\r\n\r\n/**\r\n * update form control\r\n */\r\nexport const updateControl = (control: IFormControl, updatedValue: any, validate = false, reset = false) : IFormControl => {\r\n\r\n let updatedControl: IFormControl = {\r\n ...control,\r\n touched: true,\r\n value: updatedValue\r\n };\r\n\r\n if(reset) {\r\n updatedControl.touched = false;\r\n updatedControl.isValid = true;\r\n updatedControl.error = '';\r\n }\r\n\r\n if(validate) {\r\n // perform control validation, update the relevant properties\r\n updatedControl = validateControl(updatedControl);\r\n }\r\n\r\n return updatedControl;\r\n};\r\n\r\n/**\r\n * scroll to the first error\r\n */\r\nexport const scrollToFirstErrorControl = (errorControls: IFormControl[]) => {\r\n\r\n if(!errorControls || errorControls.length <= 0) return;\r\n\r\n const firstErrorControl = errorControls[0];\r\n const $control = document.getElementById(firstErrorControl.id);\r\n\r\n if(!$control) return;\r\n\r\n $control.scrollIntoView({\r\n behavior: 'smooth',\r\n block: 'center',\r\n inline: 'nearest'\r\n });\r\n\r\n $control.focus();\r\n};\r\n\r\n// eslint-disable-next-line\r\nconst invisibleCharactersRegex = /[\\0-\\x09\\x0B\\x0C\\x0E-\\x1F\\x7F-\\x9F\\xAD\\u0378\\u0379\\u037F-\\u0383\\u038B\\u038D\\u03A2\\u0528-\\u0530\\u0557\\u0558\\u0560\\u0588\\u058B-\\u058E\\u0590\\u05C8-\\u05CF\\u05EB-\\u05EF\\u05F5-\\u0605\\u061C\\u061D\\u06DD\\u070E\\u070F\\u074B\\u074C\\u07B2-\\u07BF\\u07FB-\\u07FF\\u082E\\u082F\\u083F\\u085C\\u085D\\u085F-\\u089F\\u08A1\\u08AD-\\u08E3\\u08FF\\u0978\\u0980\\u0984\\u098D\\u098E\\u0991\\u0992\\u09A9\\u09B1\\u09B3-\\u09B5\\u09BA\\u09BB\\u09C5\\u09C6\\u09C9\\u09CA\\u09CF-\\u09D6\\u09D8-\\u09DB\\u09DE\\u09E4\\u09E5\\u09FC-\\u0A00\\u0A04\\u0A0B-\\u0A0E\\u0A11\\u0A12\\u0A29\\u0A31\\u0A34\\u0A37\\u0A3A\\u0A3B\\u0A3D\\u0A43-\\u0A46\\u0A49\\u0A4A\\u0A4E-\\u0A50\\u0A52-\\u0A58\\u0A5D\\u0A5F-\\u0A65\\u0A76-\\u0A80\\u0A84\\u0A8E\\u0A92\\u0AA9\\u0AB1\\u0AB4\\u0ABA\\u0ABB\\u0AC6\\u0ACA\\u0ACE\\u0ACF\\u0AD1-\\u0ADF\\u0AE4\\u0AE5\\u0AF2-\\u0B00\\u0B04\\u0B0D\\u0B0E\\u0B11\\u0B12\\u0B29\\u0B31\\u0B34\\u0B3A\\u0B3B\\u0B45\\u0B46\\u0B49\\u0B4A\\u0B4E-\\u0B55\\u0B58-\\u0B5B\\u0B5E\\u0B64\\u0B65\\u0B78-\\u0B81\\u0B84\\u0B8B-\\u0B8D\\u0B91\\u0B96-\\u0B98\\u0B9B\\u0B9D\\u0BA0-\\u0BA2\\u0BA5-\\u0BA7\\u0BAB-\\u0BAD\\u0BBA-\\u0BBD\\u0BC3-\\u0BC5\\u0BC9\\u0BCE\\u0BCF\\u0BD1-\\u0BD6\\u0BD8-\\u0BE5\\u0BFB-\\u0C00\\u0C04\\u0C0D\\u0C11\\u0C29\\u0C34\\u0C3A-\\u0C3C\\u0C45\\u0C49\\u0C4E-\\u0C54\\u0C57\\u0C5A-\\u0C5F\\u0C64\\u0C65\\u0C70-\\u0C77\\u0C80\\u0C81\\u0C84\\u0C8D\\u0C91\\u0CA9\\u0CB4\\u0CBA\\u0CBB\\u0CC5\\u0CC9\\u0CCE-\\u0CD4\\u0CD7-\\u0CDD\\u0CDF\\u0CE4\\u0CE5\\u0CF0\\u0CF3-\\u0D01\\u0D04\\u0D0D\\u0D11\\u0D3B\\u0D3C\\u0D45\\u0D49\\u0D4F-\\u0D56\\u0D58-\\u0D5F\\u0D64\\u0D65\\u0D76-\\u0D78\\u0D80\\u0D81\\u0D84\\u0D97-\\u0D99\\u0DB2\\u0DBC\\u0DBE\\u0DBF\\u0DC7-\\u0DC9\\u0DCB-\\u0DCE\\u0DD5\\u0DD7\\u0DE0-\\u0DF1\\u0DF5-\\u0E00\\u0E3B-\\u0E3E\\u0E5C-\\u0E80\\u0E83\\u0E85\\u0E86\\u0E89\\u0E8B\\u0E8C\\u0E8E-\\u0E93\\u0E98\\u0EA0\\u0EA4\\u0EA6\\u0EA8\\u0EA9\\u0EAC\\u0EBA\\u0EBE\\u0EBF\\u0EC5\\u0EC7\\u0ECE\\u0ECF\\u0EDA\\u0EDB\\u0EE0-\\u0EFF\\u0F48\\u0F6D-\\u0F70\\u0F98\\u0FBD\\u0FCD\\u0FDB-\\u0FFF\\u10C6\\u10C8-\\u10CC\\u10CE\\u10CF\\u1249\\u124E\\u124F\\u1257\\u1259\\u125E\\u125F\\u1289\\u128E\\u128F\\u12B1\\u12B6\\u12B7\\u12BF\\u12C1\\u12C6\\u12C7\\u12D7\\u1311\\u1316\\u1317\\u135B\\u135C\\u137D-\\u137F\\u139A-\\u139F\\u13F5-\\u13FF\\u169D-\\u169F\\u16F1-\\u16FF\\u170D\\u1715-\\u171F\\u1737-\\u173F\\u1754-\\u175F\\u176D\\u1771\\u1774-\\u177F\\u17DE\\u17DF\\u17EA-\\u17EF\\u17FA-\\u17FF\\u180F\\u181A-\\u181F\\u1878-\\u187F\\u18AB-\\u18AF\\u18F6-\\u18FF\\u191D-\\u191F\\u192C-\\u192F\\u193C-\\u193F\\u1941-\\u1943\\u196E\\u196F\\u1975-\\u197F\\u19AC-\\u19AF\\u19CA-\\u19CF\\u19DB-\\u19DD\\u1A1C\\u1A1D\\u1A5F\\u1A7D\\u1A7E\\u1A8A-\\u1A8F\\u1A9A-\\u1A9F\\u1AAE-\\u1AFF\\u1B4C-\\u1B4F\\u1B7D-\\u1B7F\\u1BF4-\\u1BFB\\u1C38-\\u1C3A\\u1C4A-\\u1C4C\\u1C80-\\u1CBF\\u1CC8-\\u1CCF\\u1CF7-\\u1CFF\\u1DE7-\\u1DFB\\u1F16\\u1F17\\u1F1E\\u1F1F\\u1F46\\u1F47\\u1F4E\\u1F4F\\u1F58\\u1F5A\\u1F5C\\u1F5E\\u1F7E\\u1F7F\\u1FB5\\u1FC5\\u1FD4\\u1FD5\\u1FDC\\u1FF0\\u1FF1\\u1FF5\\u1FFF\\u200B-\\u200F\\u202A-\\u202E\\u2060-\\u206F\\u2072\\u2073\\u208F\\u209D-\\u209F\\u20BB-\\u20CF\\u20F1-\\u20FF\\u218A-\\u218F\\u23F4-\\u23FF\\u2427-\\u243F\\u244B-\\u245F\\u2700\\u2B4D-\\u2B4F\\u2B5A-\\u2BFF\\u2C2F\\u2C5F\\u2CF4-\\u2CF8\\u2D26\\u2D28-\\u2D2C\\u2D2E\\u2D2F\\u2D68-\\u2D6E\\u2D71-\\u2D7E\\u2D97-\\u2D9F\\u2DA7\\u2DAF\\u2DB7\\u2DBF\\u2DC7\\u2DCF\\u2DD7\\u2DDF\\u2E3C-\\u2E7F\\u2E9A\\u2EF4-\\u2EFF\\u2FD6-\\u2FEF\\u2FFC-\\u2FFF\\u3040\\u3097\\u3098\\u3100-\\u3104\\u312E-\\u3130\\u318F\\u31BB-\\u31BF\\u31E4-\\u31EF\\u321F\\u32FF\\u4DB6-\\u4DBF\\u9FCD-\\u9FFF\\uA48D-\\uA48F\\uA4C7-\\uA4CF\\uA62C-\\uA63F\\uA698-\\uA69E\\uA6F8-\\uA6FF\\uA78F\\uA794-\\uA79F\\uA7AB-\\uA7F7\\uA82C-\\uA82F\\uA83A-\\uA83F\\uA878-\\uA87F\\uA8C5-\\uA8CD\\uA8DA-\\uA8DF\\uA8FC-\\uA8FF\\uA954-\\uA95E\\uA97D-\\uA97F\\uA9CE\\uA9DA-\\uA9DD\\uA9E0-\\uA9FF\\uAA37-\\uAA3F\\uAA4E\\uAA4F\\uAA5A\\uAA5B\\uAA7C-\\uAA7F\\uAAC3-\\uAADA\\uAAF7-\\uAB00\\uAB07\\uAB08\\uAB0F\\uAB10\\uAB17-\\uAB1F\\uAB27\\uAB2F-\\uABBF\\uABEE\\uABEF\\uABFA-\\uABFF\\uD7A4-\\uD7AF\\uD7C7-\\uD7CA\\uD7FC-\\uF8FF\\uFA6E\\uFA6F\\uFADA-\\uFAFF\\uFB07-\\uFB12\\uFB18-\\uFB1C\\uFB37\\uFB3D\\uFB3F\\uFB42\\uFB45\\uFBC2-\\uFBD2\\uFD40-\\uFD4F\\uFD90\\uFD91\\uFDC8-\\uFDEF\\uFDFE\\uFDFF\\uFE1A-\\uFE1F\\uFE27-\\uFE2F\\uFE53\\uFE67\\uFE6C-\\uFE6F\\uFE75\\uFEFD-\\uFF00\\uFFBF-\\uFFC1\\uFFC8\\uFFC9\\uFFD0\\uFFD1\\uFFD8\\uFFD9\\uFFDD-\\uFFDF\\uFFE7\\uFFEF-\\uFFFB\\uFFFE\\uFFFF]/g;\r\n\r\n/**\r\n * remove invisible characters;\r\n * used on paste events in forms\r\n */\r\nexport const removeInvisibleChars = (text: string) => {\r\n return text.replace(invisibleCharactersRegex, '');\r\n};\r\n\r\n/**\r\n * remove invisible characters;\r\n * used on paste events in forms\r\n */\r\nexport const removeInvisibleCharsOnPaste = (evt: ClipboardEvent) => {\r\n evt.preventDefault();\r\n\r\n const $target = evt.target as HTMLInputElement;\r\n const currentFieldValue = $target ? ($target.value ?? '') : '';\r\n\r\n // get clipboard data if exists --------\r\n // @ts-ignore\r\n const clipboardData = evt.clipboardData || window.clipboardData;\r\n if(!clipboardData) return currentFieldValue;\r\n\r\n const data = evt.clipboardData.getData('text');\r\n if(!data) return '';\r\n\r\n const pasteText = removeInvisibleChars(data.trim());\r\n\r\n // handle partial and whole selections ----------\r\n const start = currentFieldValue.substring(0, $target.selectionStart ?? 0);\r\n const end = currentFieldValue.substring($target.selectionEnd ?? currentFieldValue.length, currentFieldValue.length);\r\n return start + pasteText + end;\r\n};\r\n\r\n/* let paste = (event.clipboardData || window.clipboardData).getData('text');\r\n paste = paste.toUpperCase();\r\n const selection = window.getSelection();\r\n if (!selection.rangeCount) return;\r\n selection.deleteFromDocument();\r\n selection.getRangeAt(0).insertNode(document.createTextNode(paste));\r\n selection.collapseToEnd();*/","/**\r\n * Allows to TypeScript recognize google tag manager namespace\r\n */\r\nimport {IListItem} from \"../../projects/list-page/interfaces/interfaces\";\r\nimport { CartSteps } from '../../projects/shopping-cart/cart-bridger-pay/enums/cart-steps';\r\nimport { ICartData } from '../../projects/shopping-cart/cart-bridger-pay/interfaces';\r\nimport { getHiddenDataNumber, getHiddenDataString } from '../hidden-data-provider';\r\nimport { IOrder } from '../../projects/shopping-cart/cart-thank-you/interfaces';\r\nimport { getExpectedLTV } from '../../projects/shopping-cart/cart-bridger-pay/domain/shopping-cart-provider';\r\n\r\ndeclare global {\r\n interface Window {\r\n dataLayer: any;\r\n }\r\n}\r\n\r\ninterface IGAProduct{\r\n name: string,\r\n id: string,\r\n price: number,\r\n category: string,\r\n variant: string,\r\n list: string,\r\n}\r\n\r\ninterface IGAImpression {\r\n name: string,\r\n id: string,\r\n price: number,\r\n category: string,\r\n variant: string,\r\n list: string,\r\n position: number,\r\n}\r\n\r\ninterface IActionField{\r\n list: string,\r\n}\r\n\r\ninterface ICheckoutActionField {\r\n step: number,\r\n option?: number,\r\n}\r\n\r\n/**\r\n * send data to GTM after registration\r\n */\r\nexport const gtmCreateAccount = (referrer = 'from Signup form') => {\r\n if(!window.dataLayer) return;\r\n\r\n window.dataLayer.push({\r\n 'GA_event_category': 'Registration',\r\n 'GA_event_action': 'New account',\r\n 'GA_event_label': referrer,\r\n 'event': 'GTM event To GA'\r\n });\r\n};\r\n\r\n/**\r\n * send google analytics track event\r\n * @param {string} eventTitle - event title (data-gaevent=\"Click\")\r\n * @param {string} eventValue - event value (data-gavalue=\"...\")\r\n */\r\nexport const sendGAEvent = (eventTitle: string, eventValue: string) => {\r\n\r\n if(!window.dataLayer) return;\r\n\r\n window.dataLayer.push({\r\n 'GA_event_action': eventTitle\r\n , 'GA_event_category': window.location.pathname\r\n , 'GA_event_label': eventValue\r\n , 'event': 'GTM event To GA'\r\n });\r\n};\r\n\r\n/**\r\n * get category from url\r\n */\r\nexport const getCategoryFromURL = (url: string) => {\r\n\r\n if(!url) return '';\r\n\r\n const idx = url.lastIndexOf('/');\r\n\r\n if(idx !== -1){\r\n return url.substring(0, url.lastIndexOf('/')).replace('/', '');\r\n }\r\n\r\n return '';\r\n};\r\n\r\n/**\r\n * send product clicks to the gtm\r\n */\r\nexport const sendGaEventImpressions = (impressions: IGAImpression[]) => {\r\n\r\n if(!window.dataLayer || !impressions || impressions.length <= 0) return;\r\n\r\n window.dataLayer.push({\r\n event: 'ProductImpression'\r\n ,ecommerce: {\r\n currencyCode: 'USD' //local currency is optional\r\n ,impressions: impressions\r\n }\r\n });\r\n};\r\n\r\n/**\r\n * send product details to the gtm\r\n */\r\nexport const sendGaEventProductDetails = (analyticsData: { price: number; name: string; id: string; category: string }[]) => {\r\n\r\n if(!window.dataLayer || !analyticsData || analyticsData.length <= 0) return;\r\n\r\n window.dataLayer.push({\r\n event: 'productDetail'\r\n ,ecommerce: {\r\n detail: {\r\n products: analyticsData\r\n }\r\n }\r\n });\r\n};\r\n\r\n/**\r\n * send product clicks to the gtm\r\n * actionField - {list: 'List Page'} (Product Page Tab / List Page / Shopping Cart Gallery / Homepage)\r\n */\r\nexport const sendGaEventProductClick = (actionField: IActionField, products: IGAProduct[]) => {\r\n\r\n if(!window.dataLayer || !products || products.length <= 0) return;\r\n\r\n window.dataLayer.push({\r\n event: 'productClick'\r\n ,ecommerce: {\r\n click: {\r\n actionField: actionField\r\n ,products: products\r\n }\r\n }\r\n });\r\n};\r\n\r\n/**\r\n * send Google Analytics list page event\r\n */\r\nexport const sendGAListPageEvent = (product: IListItem, listName: string = 'List Page') => {\r\n\r\n const title = product.title ? product.title : listName;\r\n\r\n const item = {\r\n name: product.documentName\r\n ,id: product.skuNumber\r\n ,price: product.skuPrice\r\n ,category: getCategoryFromURL(product.documentUrlPath)\r\n ,variant: 'NONE'\r\n ,list: title\r\n };\r\n\r\n sendGaEventProductClick({list: title}, [item]);\r\n};\r\n\r\n/**\r\n * send page type event to google analytics according to the following meta on the page:\r\n * \r\n */\r\nexport const sendGAPageTypeEvent = () => {\r\n\r\n if(!window.dataLayer) return;\r\n\r\n const $meta = document.querySelector('meta[property=\"google-ecomm-pagetype\"]');\r\n if(!$meta) return;\r\n\r\n window.dataLayer.push({\r\n pageType: $meta.getAttribute('content') || '',\r\n });\r\n};\r\n\r\n/**\r\n * send GA user guid event from the following hidden field:\r\n *
@ViewBag.LayoutModel.GA_GUID
\r\n */\r\nexport const sendGAWavesUserGuidEvent = (gaGuid = '') => {\r\n if(!window.dataLayer) return;\r\n\r\n window['dataLayer'].push({\r\n 'waves-user-guid': gaGuid || getHiddenDataString('ga-user-guid'),\r\n });\r\n};\r\n\r\n/**\r\n * This event is sent when user clicks on 'proceed to checkout' button on each cart step.\r\n */\r\nexport const sendGaCheckoutEvent = (cartStep: CartSteps, cartData: ICartData) => {\r\n\r\n if(!window.dataLayer) return;\r\n\r\n if(cartStep === CartSteps.Third){\r\n\r\n window.dataLayer.push({\r\n 'GA_event_action': 'Payment Method'\r\n ,'GA_event_category': document.location.pathname\r\n ,'GA_event_label': 'Credit Card'\r\n ,'event': 'GTM event To GA'\r\n });\r\n }\r\n\r\n const actionField: ICheckoutActionField = {\r\n step: cartStep,\r\n };\r\n\r\n if(cartStep === CartSteps.First) {\r\n actionField.option = cartData.cartItems.reduce((total, cur) => total + cur.skuUnits, 0);\r\n }\r\n\r\n const products: any[] = cartData.cartItems.filter(cartItem => cartItem.isActive).map(cartItem => {\r\n return {\r\n skuid:\tcartItem.skuid,\r\n skuDepartment:\tcartItem.skuDepartmentID,\r\n skuDepartmentName:\tcartItem.departmentName, //'plugins',\r\n skuguid: cartItem.skuguid,\r\n name: cartItem.skuName,\r\n skunumber:\tcartItem.skuNumber,\r\n skuNeedsShipping:\tcartItem.skuNeedsShipping,\r\n //isSBL:\tfalse,\r\n //isPDL:\tfalse,\r\n //img:\t'/1lib/images/products/plugins/tiny/clarity-vx.png',\r\n thumb:\tcartItem.skuThumb,\r\n quantity:\tcartItem.skuUnits,\r\n price:\tcartItem.priceData.price,\r\n upsell:\tcartItem.priceData.discount,\r\n msrp:\tcartItem.skU_MSRP,\r\n yousave: cartItem.priceData.discount,\t//119.01,\r\n producttotal: cartItem.priceData.price * cartItem.skuUnits,\r\n link:\tcartItem.documentUrlPath,\r\n cartComment: cartItem.cartComment,\r\n skuEnabled:\tcartItem.skuEnabled,\r\n //mvrDiscountPrice:\t0,\r\n //mvrItemDiscount:\t0,\r\n pricega: cartItem.priceData.price,\r\n }\r\n })\r\n\r\n window['dataLayer'].push({\r\n event: 'checkout',\r\n CartValue: cartData.priceData.totalPrice,\r\n ecommerce: {\r\n checkout: {\r\n actionField: actionField,\r\n products,\r\n }\r\n }\r\n });\r\n};\r\n\r\nexport const sendGATransactionTriggerEventHelper = (orderData: IOrder) => {\r\n\r\n if(!window.dataLayer) return;\r\n\r\n const products: any[] = [];\r\n\r\n for(let orderItem of orderData.orderItems){\r\n products.push({\r\n 'name': orderItem.orderItemSKUName,\r\n 'id': orderItem.skuNumber,\r\n 'price': orderItem.discountPrice,\r\n 'brand': 'Waves',\r\n 'category': (orderItem.departmentDisplayName ?? '').toLowerCase(),\r\n 'quantity': orderItem.orderItemUnitCount,\r\n });\r\n }\r\n\r\n if(orderData.upsellDiscount > 0){\r\n\r\n products.push({\r\n 'name': 'Discount',\r\n 'price': -orderData.upsellDiscount,\r\n 'brand': 'Waves',\r\n 'quantity': 1,\r\n });\r\n }\r\n\r\n window.dataLayer.push({\r\n event: 'TransactionTrigger'\r\n ,PaymentMethod: orderData.fundSourceType // 'Credit Card / PayPal / AliPay / Splitit'\r\n\r\n ,ecommerce: {\r\n purchase: {\r\n 'actionField': {\r\n 'id': orderData.wavesReceiptID,\r\n 'affiliation': 'Online Store',\r\n 'revenue': orderData.totalPrice - orderData.taxPrice - orderData.shippingTaxPrice,\r\n 'tax': orderData.taxPrice + orderData.shippingTaxPrice,\r\n 'shipping': orderData.shippingPrice,\r\n },\r\n products,\r\n }\r\n }\r\n });\r\n\r\n};\r\n\r\n/**\r\n * This event is sent on 'thank you' page only after the real purchase.\r\n */\r\nexport const sendGATransactionTriggerEvent = (orderData: IOrder) => {\r\n sendGATransactionTriggerEventHelper(orderData);\r\n\r\n window.dataLayer.push({\r\n event: getExpectedLTV(orderData) > 0 ? 'TransactionTriggerSBS' : 'TransactionTriggerPerpetual',\r\n });\r\n};\r\n\r\nexport const sendThankYouDataToGTM = (orderData: IOrder) => {\r\n if(!window.dataLayer) return;\r\n\r\n const quantity = orderData.orderItems.reduce(\r\n (previousQty, orderItem) => previousQty + orderItem.orderItemUnitCount,\r\n 0\r\n );\r\n\r\n window.dataLayer.push({\r\n 'quantity': quantity,\r\n 'receiptid': orderData.wavesReceiptID,\r\n 'priceWithoutTaxAndShipping': getHiddenDataNumber('price-without-tax-and-shipping'),\r\n 'OrderID': orderData.orderID,\r\n 'email': orderData.email,\r\n 'yotpo-api-key': getHiddenDataString('yotpo-api-key'),\r\n 'expectedLTV': getExpectedLTV(orderData),\r\n });\r\n};\r\n\r\n/**\r\n * send data to gtm every time when product is added to cart\r\n */\r\nexport const sendGAEventAddToCart = (\r\n documentName: string,\r\n skuNumber: string,\r\n skuPrice: number,\r\n documentUrlPath: string,\r\n list: string = '',\r\n) => {\r\n\r\n if(!window.dataLayer) return;\r\n\r\n const data = {\r\n event: 'addToCart'\r\n ,ecommerce: {\r\n currencyCode: 'USD'\r\n ,add: {\r\n products: [\r\n {\r\n name: documentName\r\n ,id: skuNumber\r\n ,price: skuPrice\r\n ,variant: 'NONE'\r\n ,quantity: 1\r\n ,category: getCategoryFromURL(documentUrlPath)\r\n }\r\n ],\r\n }\r\n }\r\n };\r\n\r\n if(list){\r\n // @ts-ignore\r\n data.ecommerce.add.actionField = { list, };\r\n }\r\n\r\n window.dataLayer.push(data);\r\n};\r\n\r\n/**\r\n * https://wavesaudio.atlassian.net/browse/DSWEB-1143\r\n * Edited by Raz Liveyatan, 04.11.2021\r\n * Migrated by Raz Liveyatan, 27.06.2022\r\n * send page view to the gtm\r\n * @param {any} PageViewObject\r\n */\r\nexport const sendGaPageView = (PageViewObject:any) => {\r\n\r\n if(!window.dataLayer || !PageViewObject) return;\r\n\r\n window.dataLayer.push({\r\n event: 'pageview',\r\n page: {\r\n path: PageViewObject.pageLocation,\r\n title: PageViewObject.title\r\n }\r\n });\r\n};\r\n\r\n","export enum StudioVersePageTypeEnum {\r\n AboutSV = 1,\r\n Community = 2,\r\n BrowseByTags = 3\r\n}\r\n/*export enum IssueTypeEnum {\r\n OffensiveLanguage = 0,\r\n OffensiveImage = 1,\r\n SpammingOrJunkContent = 2,\r\n CopyrightClaimOnImage =3\r\n}*/\r\nexport enum ModeratorEntityTypeEnum {\r\n Profile = 1,\r\n Preset = 2\r\n}","import React from 'react';\r\nimport { IIconProps } from '../../interfaces';\r\nconst XIcon = (props: IIconProps) => {\r\n /*w13 h16*/\r\n return (\r\n \r\n \r\n \r\n )\r\n};\r\n\r\nexport default XIcon;","import DiscordIcon from \"../../../../ui/svg/common/social-icons/discord\";\r\nimport FacebookIcon from \"../../../../ui/svg/common/social-icons/facebook\";\r\nimport InstagramIcon from \"../../../../ui/svg/common/social-icons/instagram\";\r\nimport LinkedinIcon from \"../../../../ui/svg/common/social-icons/linkedin\";\r\nimport PinterestIcon from \"../../../../ui/svg/common/social-icons/pinterest\";\r\nimport RedditIcon from \"../../../../ui/svg/common/social-icons/reddit\";\r\nimport RumbleIcon from \"../../../../ui/svg/common/social-icons/rumble\";\r\nimport SnapchatIcon from \"../../../../ui/svg/common/social-icons/snapchat\";\r\nimport SoundbetterIcon from \"../../../../ui/svg/common/social-icons/soundbetter\";\r\nimport SoundcloudIcon from \"../../../../ui/svg/common/social-icons/soundcloud\";\r\nimport SpotifyIcon from \"../../../../ui/svg/common/social-icons/spotify\";\r\nimport TelegramIcon from \"../../../../ui/svg/common/social-icons/telegram\";\r\nimport TikTokIcon from \"../../../../ui/svg/common/social-icons/tiktok\";\r\nimport TwitchIcon from \"../../../../ui/svg/common/social-icons/twitch\";\r\nimport TwitterIcon from \"../../../../ui/svg/common/social-icons/twitter\";\r\nimport VimeoIcon from \"../../../../ui/svg/common/social-icons/vimeo\";\r\nimport YouTubeIcon from \"../../../../ui/svg/common/social-icons/youtube\";\r\nimport React from \"react\";\r\nimport {sendGAEvent} from \"../../../../domain/marketing/gtm-provider\";\r\nimport {ModeratorEntityTypeEnum} from \"../common-enum\";\r\nimport { ProfileDM, SiteDM} from \"../interfaces\";\r\nimport XIcon from \"../../../../ui/svg/common/social-icons/x\";\r\n\r\nexport const sleep = (ms = 0) => {\r\n return new Promise((resolve) => setTimeout(resolve, ms));\r\n};\r\nexport const getSocialIconByDomainName =(domainName:string, iconSize:string) => {\r\n let svgComponent = <>{domainName};\r\n switch(domainName.toLowerCase()){\r\n case 'discord':{\r\n svgComponent = ;\r\n break;\r\n }\r\n case 'facebook':{\r\n svgComponent = ;\r\n break;\r\n }\r\n case 'instagram':{\r\n svgComponent = ;\r\n break;\r\n }\r\n case 'linkedin':{\r\n svgComponent = ;\r\n break;\r\n }\r\n case 'pinterest':{\r\n svgComponent = ;\r\n break;\r\n }\r\n case 'reddit':{\r\n svgComponent = ;\r\n break;\r\n }\r\n case 'rumble':{\r\n svgComponent = ;\r\n break;\r\n }\r\n case 'snapchat':{\r\n svgComponent = ;\r\n break;\r\n }\r\n case 'soundbetter':{\r\n svgComponent = ;\r\n break;\r\n }\r\n case 'soundcloud':{\r\n svgComponent = ;\r\n break;\r\n }\r\n case 'spotify':{\r\n svgComponent = ;\r\n break;\r\n }\r\n case 'telegram':{\r\n svgComponent = ;\r\n break;\r\n }\r\n case 'tiktok':{\r\n svgComponent = ;\r\n break;\r\n }\r\n case 'twitch':{\r\n svgComponent = ;\r\n break;\r\n }\r\n case 'x':{\r\n svgComponent = ;\r\n break;\r\n }\r\n case 'twitter':{\r\n svgComponent = ;\r\n break;\r\n }\r\n case 'vimeo':{\r\n svgComponent = ;\r\n break;\r\n }\r\n case 'youtube':{\r\n svgComponent = ;\r\n break;\r\n }\r\n }\r\n\r\n return svgComponent;\r\n}\r\nexport const getEpochFromDate = (date : Date) => {\r\n return new Date(date) !== null ? new Date(date).getTime() : 0;\r\n}\r\nexport const clickProfileReportAnIssue = (profile : ProfileDM) => {\r\n sendGAEvent(\"Click\",\"Report an issue Profile: \" + profile.publicName );\r\n window.location.href = \"/studioverse/report-an-issue/\"+ModeratorEntityTypeEnum.Profile+\"/\"+ profile.prfUserGUID;\r\n}\r\nexport const clickProfileSite = (site : SiteDM) => {\r\n sendGAEvent(\"Click\",\"Social: \" + site.domainName );\r\n window.open(site.siteURL);\r\n}\r\nexport const onClickProfile = (profile : ProfileDM) => {\r\n sendGAEvent(\"SV Widget\",\"Widget Profile: \" + profile.handle);\r\n window.location.href = \"/studioverse/creator/\" + profile.handle;\r\n}","import React from 'react';\r\nimport { IIconProps } from '../interfaces';\r\nconst VerifiedIcon = (props: IIconProps) => {\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n\r\n )\r\n};\r\n\r\nexport default VerifiedIcon;","export const MAX_MOBILE_SIZE = 600;\r\nexport const AVATAR_PATH = \"/images/studioverse/creators/creator-def.png\";\r\nexport const DEFAULT_PRESET_IMAGE_PATH = \"/images/studioverse/presets/preset-def.png\";\r\nexport const OLP_DESKTOP_BREAKPOINT = 1200;\r\n\r\nexport const MAX_TABLET_WIDTH = 820;\r\n\r\nexport const FACEBOOK_SHARE_PATH = \"https://www.facebook.com/sharer/sharer.php?u=\";\r\nexport const INSTAGRAM_SHARE_PATH = \"https://www.instagram.com/sharer.php?u=\";\r\nexport const TWITTER_SHARE_PATH = \"https://twitter.com/intent/tweet?url=\";\r\n\r\n\r\n\r\n","import React from 'react';\r\nimport { useAppSelector} from \"../DAL/store\";\r\nimport Imgix from \"react-imgix\";\r\nimport {\r\n clickProfileReportAnIssue, clickProfileSite,\r\n getEpochFromDate,\r\n getSocialIconByDomainName\r\n} from '../../common/services/logic-provider';\r\nimport VerifiedIcon from \"../../../../ui/svg/common/verified\";\r\nimport { AVATAR_PATH } from '../../common/constants';\r\n\r\n\r\nconst CreatorDetails = () => {\r\n\r\n const PublicCreatorProfileData = useAppSelector((store) => store.PublicCreatorProfileData);\r\n const imgCdnDomain = useAppSelector((store) => store.imgCdnDomain);\r\n const creatorsPath = useAppSelector((store) => store.creatorsPath);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n {PublicCreatorProfileData.profile.imgExt.length > 0 ?\r\n \r\n :\r\n \r\n }\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{PublicCreatorProfileData.profile.publicName}

\r\n {PublicCreatorProfileData.profile.isVerified &&\r\n
\r\n \r\n
\r\n }\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n
@{PublicCreatorProfileData.profile.handle}\r\n {PublicCreatorProfileData.profile.isUserOwner ?\r\n \r\n |\r\n Edit Profile\r\n \r\n :<>}\r\n
\r\n\r\n
\r\n {PublicCreatorProfileData.profile.bio}\r\n
\r\n
\r\n\r\n {PublicCreatorProfileData.sites.length > 0 &&\r\n
Follow
\r\n }\r\n {PublicCreatorProfileData.sites.map((site,index) => {\r\n return \r\n })}\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n )\r\n};\r\n\r\nexport default CreatorDetails;","import React from 'react';\r\nimport { useAppSelector} from \"../DAL/store\";\r\nimport Imgix from \"react-imgix\";\r\nimport {\r\n clickProfileReportAnIssue, clickProfileSite,\r\n getEpochFromDate,\r\n getSocialIconByDomainName\r\n} from '../../common/services/logic-provider';\r\nimport VerifiedIcon from \"../../../../ui/svg/common/verified\";\r\nimport { AVATAR_PATH } from '../../common/constants';\r\n\r\n\r\nconst CreatorDetailsMobile = () => {\r\n\r\n const PublicCreatorProfileData = useAppSelector((store) => store.PublicCreatorProfileData);\r\n const imgCdnDomain = useAppSelector((store) => store.imgCdnDomain);\r\n const creatorsPath = useAppSelector((store) => store.creatorsPath);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n {PublicCreatorProfileData.profile.imgExt.length > 0 ?\r\n \r\n :\r\n \r\n }\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{PublicCreatorProfileData.profile.publicName}

\r\n {PublicCreatorProfileData.profile.isVerified &&\r\n
\r\n \r\n
\r\n }\r\n
\r\n \r\n
clickProfileReportAnIssue(PublicCreatorProfileData.profile)}>Report an issue
\r\n
\r\n\r\n
\r\n
\r\n @{PublicCreatorProfileData.profile.handle}\r\n {PublicCreatorProfileData.profile.isUserOwner ?\r\n \r\n |\r\n Edit Profile\r\n \r\n :<>}\r\n
\r\n
\r\n
\r\n\r\n
\r\n {PublicCreatorProfileData.profile.bio}\r\n
\r\n
\r\n {PublicCreatorProfileData.sites.length > 0 &&\r\n
Follow
\r\n }\r\n\r\n
\r\n {PublicCreatorProfileData.sites.map((site,index) => {\r\n return
clickProfileSite(site)} >{getSocialIconByDomainName(site.domainName,\"20px\")}
\r\n })}\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n )\r\n};\r\n\r\nexport default CreatorDetailsMobile;","import React from 'react';\r\nimport { IIconProps } from '../interfaces';\r\n\r\nconst LinkIcon = (props: IIconProps) => {\r\n\r\n return (\r\n \r\n \r\n { props.title }\r\n\r\n )\r\n};\r\n\r\nexport default LinkIcon;\r\n","import React from 'react';\r\nimport { IIconProps } from '../interfaces';\r\n\r\nconst DragAndDropIcon = (props: IIconProps) => {\r\n const iconColor = props.color !== undefined ? props.color : \"black\";\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n )\r\n};\r\n\r\nexport default DragAndDropIcon;\r\n","import React from 'react';\r\nimport {IIconProps} from \"../../../../ui/svg/interfaces\";\r\nconst VisitChainArrowIcon = (props: IIconProps) => {\r\n return (\r\n\r\n \r\n \r\n \r\n )\r\n};\r\n\r\nexport default VisitChainArrowIcon;","import React from 'react';\r\nimport { IIconProps } from '../interfaces';\r\n\r\nconst StopAudioIcon: React.FC = ({\r\n color = '#ffffff', // Default color for the play square\r\n bgColor = '#3452FF', // Default color for the background circle\r\n width = '44' // Default width and height of the icon\r\n }) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* Square Path */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n);\r\n\r\nexport default StopAudioIcon;\r\n","import React from 'react';\r\nimport { IIconProps } from '../interfaces';\r\n\r\nconst PlayAudioIcon: React.FC = ({\r\n color = '#ffffff', // Default color for the play triangle\r\n bgColor = '#3452FF', // Default color for the background circle\r\n width = '44' // Default width and height of the icon\r\n }) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n);\r\n\r\nexport default PlayAudioIcon;\r\n","import { IResponse } from '../interfaces/common-interfaces';\r\n\r\nexport const DEFAULT_ERROR = 'An error has occurred.';\r\n\r\n/**\r\n * encode and format the data\r\n */\r\nexport const encodeData = (data: any) => {\r\n\r\n const params = [];\r\n\r\n for(let key in data) {\r\n if (data.hasOwnProperty(key)) {\r\n params.push(key + '=' + window.encodeURIComponent(data[key]));\r\n }\r\n }\r\n\r\n return params.join('&');\r\n};\r\n\r\n/**\r\n * Returns true if access is denied.\r\n */\r\nconst ifShouldDenyOnReadOnly = async (response: Response|null) => {\r\n if(response?.status !== 999) return false;\r\n window.location.href = '/maintenance';\r\n\r\n /*\r\n let isLoggedIn = false;\r\n\r\n try{\r\n // {\"message\":\"Waves.com is undergoing maintenance.\",\"isLoggedIn\":false}\r\n const text = await response.text();\r\n const parsed = JSON.parse(text);\r\n isLoggedIn = parsed.isLoggedIn;\r\n if(isLoggedIn){\r\n window.location.href = '/maintenance';\r\n }\r\n }\r\n catch(ex){\r\n console.log(ex);\r\n }*/\r\n\r\n return true;\r\n};\r\n\r\n/**\r\n * get request\r\n */\r\nexport const get = async (url: string, data: any = null) : Promise => {\r\n\r\n if(data){\r\n\r\n const qs = encodeData(data);\r\n url += `?${qs}`;\r\n }\r\n\r\n const headers = new Headers();\r\n headers.append('pragma', 'no-cache');\r\n headers.append('cache-control', 'no-cache');\r\n headers.append('Content-Type', 'application/json');\r\n\r\n const response = await fetch(url, {\r\n method: 'GET',\r\n headers,\r\n credentials: 'same-origin' //'include', 'omit'\r\n });\r\n\r\n if(await ifShouldDenyOnReadOnly(response)){\r\n throw new Error('Waves.com is undergoing maintenance.');\r\n }\r\n\r\n return {\r\n data: await response.json(),\r\n statusCode: response.status\r\n }\r\n};\r\n\r\n/**\r\n * post request\r\n */\r\nexport const post = async (url: string, data: any) : Promise => {\r\n\r\n const response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(data)\r\n });\r\n\r\n if(await ifShouldDenyOnReadOnly(response)){\r\n throw new Error('Waves.com is undergoing maintenance.');\r\n }\r\n\r\n return {\r\n data: await response.json(),\r\n statusCode: response.status\r\n }\r\n};\r\n\r\nexport const del = async (url: string, data: any) : Promise => {\r\n\r\n const response = await fetch(url, {\r\n method: 'DELETE',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(data)\r\n });\r\n\r\n if(await ifShouldDenyOnReadOnly(response)){\r\n throw new Error('Waves.com is undergoing maintenance.');\r\n }\r\n\r\n return {\r\n data: await response.json(),\r\n statusCode: response.status\r\n }\r\n};\r\n\r\nexport const put = async (url: string, data: any) : Promise => {\r\n\r\n const response = await fetch(url, {\r\n method: 'PUT',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(data)\r\n });\r\n\r\n if(await ifShouldDenyOnReadOnly(response)){\r\n throw new Error('Waves.com is undergoing maintenance.');\r\n }\r\n\r\n return {\r\n data: await response.json(),\r\n statusCode: response.status\r\n }\r\n};\r\n\r\n/**\r\n * upload file\r\n */\r\nexport const upload = async (url: string, data: FormData, headers?: any) => {\r\n\r\n let response: Response | null = null;\r\n const config: RequestInit = {\r\n method: 'POST',\r\n body: data\r\n };\r\n\r\n if(headers){\r\n config.headers = headers;\r\n }\r\n\r\n try{\r\n response = await fetch(url, config);\r\n }\r\n catch(ex){\r\n console.log('Error:', ex);\r\n }\r\n\r\n if(await ifShouldDenyOnReadOnly(response)){\r\n throw new Error('Waves.com is undergoing maintenance.');\r\n }\r\n\r\n return {\r\n data: await response?.json(),\r\n statusCode: response?.status\r\n }\r\n};\r\n\r\nexport const download = (fileName: string, blob: Blob) => {\r\n const url = window.URL.createObjectURL(blob);\r\n const $a = document.createElement('a');\r\n $a.style.display = 'none';\r\n $a.href = url;\r\n // the filename you want\r\n $a.download = fileName;\r\n document.body.appendChild($a);\r\n $a.click();\r\n window.URL.revokeObjectURL(url);\r\n};\r\n\r\nexport const getDownload = async (fileName: string, url: string, data: any = null) => {\r\n\r\n if(data){\r\n\r\n const qs = encodeData(data);\r\n url += `?${qs}`;\r\n }\r\n\r\n const headers = new Headers();\r\n headers.append('pragma', 'no-cache');\r\n headers.append('cache-control', 'no-cache');\r\n headers.append('Content-Type', 'application/json');\r\n\r\n const response = await fetch(url, {\r\n method: 'GET',\r\n headers,\r\n credentials: 'same-origin' //'include', 'omit'\r\n });\r\n\r\n if(await ifShouldDenyOnReadOnly(response)){\r\n throw new Error('Waves.com is undergoing maintenance.');\r\n }\r\n\r\n const blob = await response.blob();\r\n download(fileName, blob);\r\n};\r\n\r\nexport const postDownload = async (fileName: string, url: string, data: any = null) => {\r\n\r\n const response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(data)\r\n });\r\n\r\n if(await ifShouldDenyOnReadOnly(response)){\r\n throw new Error('Waves.com is undergoing maintenance.');\r\n }\r\n\r\n const blob = await response.blob();\r\n download(fileName, blob);\r\n};\r\n\r\n\r\n","import { get, post } from '../../../DAL/data-provider';\r\n\r\n\r\nexport const getSasUrl = async (presetGuid: string) => {\r\n\r\n return get('/api/audiobase64/get-sas-url', {\r\n presetGuid,\r\n });\r\n};\r\n\r\nexport const getBase64String = async (sasUrl: string) => {\r\n\r\n return get(sasUrl);\r\n};","/*{\"ResultStatus\":false,\"ResultObject\":[],\"ResultObjectEx\":\"\",\"ErrorList\":[\"Please enter URL to the textbox below.\"]}*/\r\n\r\nimport {ProcessResult} from \"../../../domain/process-result/interfaces\";\r\n\r\nexport interface IAudioBase64 {\r\n ind: number,\r\n sasUrl: string\r\n}\r\n\r\nexport interface IAudioBase64Wrapper{\r\n base64Str:string;\r\n root: Root;\r\n pResult: ProcessResult;\r\n}\r\n\r\nexport interface Error {\r\n errorCode: number;\r\n errorDescription: string;\r\n}\r\n\r\nexport interface Root {\r\n error: Error;\r\n sasUrl: string;\r\n appCode: any;\r\n env: any;\r\n}\r\n\r\nexport enum AudioBase64StyleEnum {\r\n DefaultStyle = 1,\r\n ChainStyle = 2,\r\n IconStyle = 3\r\n}","import React from 'react';\r\nimport { IIconProps } from '../interfaces';\r\n\r\nconst PlayAudioTriangleIcon: React.FC = ({\r\n color = '#ffffff', // Default color for the play triangle\r\n width = '15' // Default width and height of the icon\r\n }) => (\r\n \r\n \r\n \r\n\r\n);\r\n\r\nexport default PlayAudioTriangleIcon;\r\n","import {parseInt} from \"lodash\";\r\nimport {useEffect, useState} from \"react\";\r\nimport StopAudioIcon from \"../../../ui/svg/audio/stop-audio\";\r\nimport PlayAudioIcon from \"../../../ui/svg/audio/play-audio\";\r\nimport {getSasUrl} from \"./data-service\";\r\nimport {AudioBase64StyleEnum, IAudioBase64Wrapper} from \"./interfaces\";\r\nimport PlayAudioTriangleIcon from \"../../../ui/svg/audio/play-audio-trian\";\r\n\r\n\r\ninterface IAudioBase64Props {\r\n elId: string,\r\n presetGuid: string,\r\n buttonStyle?: AudioBase64StyleEnum,\r\n buttonColor?: string,\r\n buttonBgColor?: string,\r\n showDebugInfo?: boolean\r\n}\r\n\r\n/**\r\n * the entry point\r\n */\r\nconst AudioBase64 = (props?: IAudioBase64Props) => {\r\n const buttonColor = props?.buttonColor ?? \"#000000\";\r\n const buttonBgColor = props?.buttonBgColor ?? \"#ffffff\";\r\n const buttonStyle = props?.buttonStyle ?? AudioBase64StyleEnum.DefaultStyle;\r\n\r\n const [isPlayed, setIsPlayed] = useState(false);\r\n const [isFirstTimeSelected, setIsFirstTimeSelected] = useState(false);\r\n const [perfTime, setPerfTime] = useState(0);\r\n const [serverTime, setServerTime] = useState(\"\");\r\n const [player, setPlayer] = useState(null);\r\n //var player: any = null;\r\n\r\n useEffect(() => {\r\n (async () => {\r\n\r\n\r\n })()\r\n\r\n }, []);\r\n\r\n useEffect(() => {\r\n var playerHTML: any = document.getElementById('pb64_' + props?.elId);\r\n playerHTML.addEventListener(\"ended\", function () {\r\n console.log(\"ended\");\r\n setIsPlayed(false);\r\n });\r\n\r\n playerHTML.addEventListener(\"pause\", function () {\r\n console.log(\"pause\");\r\n setIsPlayed(false);\r\n });\r\n setPlayer(playerHTML);\r\n },\r\n // VLAD TODO\r\n // eslint-disable-next-line\r\n []);\r\n const stopAllMusicOnPage = () => {\r\n const allAudio = document.getElementsByTagName('audio');\r\n // Loop through each audio element and pause it\r\n for (let i = 0; i < allAudio.length; i++) {\r\n // Check if the audio is playing\r\n if (!allAudio[i].paused) {\r\n allAudio[i].pause();\r\n allAudio[i].currentTime = 0; // Optionally reset the playback position to the start\r\n }\r\n }\r\n\r\n };\r\n const loadBase64Str = async () => {\r\n\r\n if (props?.presetGuid) {\r\n var startTime = performance.now()\r\n\r\n\r\n const response = await getSasUrl(props?.presetGuid);\r\n if (!response || response.statusCode !== 200) {\r\n //setError(response.data as unknown as ModelServerErrors);\r\n return;\r\n }\r\n const ab64Wrap = response.data as IAudioBase64Wrapper;\r\n console.log('sasUrl: ', ab64Wrap);\r\n player.src = `data:audio/mp3;base64,${ab64Wrap.base64Str}`;\r\n setIsFirstTimeSelected(true);\r\n var endTime = performance.now();\r\n setPerfTime(endTime - startTime);\r\n setServerTime(ab64Wrap.pResult.resultEX);\r\n }\r\n };\r\n const playToggle = () => {\r\n if (!isFirstTimeSelected)\r\n loadBase64Str();\r\n if (player?.paused)\r\n play();\r\n else\r\n stop();\r\n };\r\n const play = () => {\r\n stopAllMusicOnPage();\r\n if (player?.play) {\r\n setIsPlayed(true);\r\n player?.play();\r\n }\r\n };\r\n const pause = () => {\r\n player?.pause();\r\n setIsPlayed(false);\r\n };\r\n const stop = () => {\r\n player?.pause();\r\n if (player) {\r\n player.currentTime = 0;\r\n }\r\n setIsPlayed(false);\r\n }\r\n // player.onloadedmetadata = function() {\r\n // console.log('onloadedmetadata');\r\n // };\r\n\r\n\r\n return (\r\n
\r\n\r\n {props?.showDebugInfo &&
AudioBase64 {props?.presetGuid} /\r\n {perfTime !== 0 && load time: {(perfTime / 1000).toFixed(2)} sec | {serverTime}}\r\n
}\r\n\r\n
\r\n {/*DefaultStyle*/}\r\n {\r\n buttonStyle === AudioBase64StyleEnum.DefaultStyle &&\r\n {\r\n playToggle();\r\n }} >\r\n \r\n {\r\n (!isPlayed) &&\r\n \r\n }\r\n {\r\n (isPlayed) &&\r\n \r\n }\r\n {!isPlayed ? 'Play' : 'Stop'}\r\n \r\n \r\n }\r\n {/*ChainStyle*/}\r\n {\r\n buttonStyle === AudioBase64StyleEnum.ChainStyle &&\r\n {\r\n playToggle();\r\n }} >\r\n \r\n {!isPlayed ? 'Play' : 'Stop'}\r\n {\r\n (!isPlayed) &&\r\n \r\n }\r\n {\r\n (isPlayed) &&\r\n \r\n }\r\n \r\n \r\n }\r\n {/*IconStyle*/}\r\n {\r\n buttonStyle === AudioBase64StyleEnum.IconStyle &&\r\n\r\n {\r\n playToggle();\r\n }}>\r\n {\r\n (!isPlayed) &&\r\n \r\n }\r\n {\r\n (isPlayed) &&\r\n \r\n }\r\n \r\n }\r\n
\r\n
\r\n )\r\n};\r\n\r\nexport default AudioBase64;\r\n","import React, {useRef, useState} from 'react';\r\nimport {PresetDM} from \"../interfaces\";\r\nimport LinkIcon from \"../../../../ui/svg/common/link\";\r\nimport DragAndDropIcon from \"../../../../ui/svg/common/drag-and-drop\";\r\nimport {isMobile, isTablet} from \"../../../../domain/common\";\r\nimport VisitChainArrowIcon from \"../svg/visit-chain-arrow\";\r\nimport {sendGAEvent} from \"../../../../domain/marketing/gtm-provider\";\r\nimport AudioBase64 from \"../../../galleries/audio-base64/audio-base64\";\r\nimport {AudioBase64StyleEnum} from \"../../../galleries/audio-base64/interfaces\";\r\n\r\n\r\nexport interface IPresetVisitChainProps {\r\n preset:PresetDM;\r\n presetListRef?:any;\r\n setShowLinkCopiedPopup:Function;\r\n}\r\n\r\nconst PresetVisitChain = (props:IPresetVisitChainProps) => {\r\n const [hoverAudioBase64, setHoverAudioBase64] = useState(false);\r\n const [showLinkBubble, setShowLinkBubble] = useState(false);\r\n const [showDragAndDropBubble, setShowDragAndDropBubble] = useState(false);\r\n const [popUpInsideScreen, setPopUpInsideScreen] = useState(true);\r\n const containerRef = useRef(null);\r\n const isMobileScreen = isMobile() || isTablet();\r\n\r\n const chainFullLink = \"https://\" + window.location.hostname + \"/studioverse/chain/\" + props.preset.presetGUID;\r\n const SpeechBubbleWidth = 230;//230px\r\n\r\n /*\r\n Bug fix --> when speech bubble overflows the preset list from the right\r\n */\r\n const OnMouseOverSetPopUpInsideScreen = () =>{\r\n if (props.presetListRef !== undefined && containerRef.current !== null) {\r\n const rect = containerRef.current.getBoundingClientRect();\r\n const presetListRect = props.presetListRef.current.getBoundingClientRect();\r\n\r\n if (rect.right + SpeechBubbleWidth > presetListRect.right) {\r\n //If (right position of buttons) + (popup width) is bigger than the preset list container's right --> expand speech bubble to the left\r\n setPopUpInsideScreen(false);\r\n }else{\r\n setPopUpInsideScreen(true);\r\n }\r\n }\r\n }\r\n\r\n /*mouse AudioBase64*/\r\n const mouseOverAudioBase64 = (evnt:any) => {\r\n setHoverAudioBase64(true);\r\n setShowLinkBubble(false);\r\n setShowDragAndDropBubble(false);\r\n }\r\n const mouseOutAudioBase64 = (evnt:any) => {\r\n setHoverAudioBase64(false);\r\n }\r\n\r\n /*mouse Link*/\r\n const mouseOverLink = (evnt:any) => {\r\n OnMouseOverSetPopUpInsideScreen();\r\n setShowLinkBubble(true);\r\n setHoverAudioBase64(false);\r\n setShowDragAndDropBubble(false);\r\n\r\n }\r\n const mouseOutLink = (evnt:any) => {\r\n setShowLinkBubble(false);\r\n }\r\n\r\n const dragLink = (evnt:any) => {\r\n evnt.dataTransfer.setData(\"text/uri-list\", chainFullLink);\r\n }\r\n\r\n /*mouse DragAndDrop*/\r\n const mouseOverDragAndDrop = (evnt:any) => {\r\n OnMouseOverSetPopUpInsideScreen();\r\n\r\n setHoverAudioBase64(false);\r\n setShowLinkBubble(false);\r\n setShowDragAndDropBubble(true);\r\n\r\n }\r\n const mouseOutDragAndDrop = (evnt:any) => {\r\n\r\n setShowDragAndDropBubble(false);\r\n\r\n }\r\n const mouseOut = (evnt:any) => {\r\n //mouseOutDragAndDrop(evnt);\r\n //mouseOutLink(evnt);\r\n //mouseOutAudioBase64(evnt);\r\n }\r\n const copyLinkToClipboard = async () => {\r\n\r\n await navigator.clipboard.writeText(chainFullLink);\r\n props.setShowLinkCopiedPopup(true);\r\n\r\n }\r\n const onClickPreset = () => {\r\n sendGAEvent(\"SV Widget\",\"Widget Chain: \" + props.preset.presetName );\r\n window.location.href = \"/studioverse/chain/\" + props.preset.presetGUID;\r\n }\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n Visit Chain\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {\r\n !props?.preset.audioDemo &&\r\n
\r\n }\r\n {\r\n props?.preset.audioDemo &&\r\n
\r\n \r\n
\r\n }\r\n
\r\n {!isMobileScreen &&\r\n
\r\n \r\n {showDragAndDropBubble &&\r\n \r\n\r\n {\r\n props.preset.algType === 'WSCR' &&\r\n
Drag & drop this button directly into StudioVerse Audio Effects.
\r\n }\r\n\r\n {\r\n props.preset.algType === 'WSCI' &&\r\n
Drag & drop this button directly into StudioVerse Instruments.
\r\n }\r\n
\r\n }\r\n
\r\n\r\n \r\n \r\n
\r\n\r\n
\r\n }\r\n
\r\n \r\n {showLinkBubble &&\r\n \r\n
Copy & Paste this link in your StudioVerse plugin search bar.
\r\n
\r\n }\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n\r\n )\r\n};\r\n\r\nexport default PresetVisitChain;","import React, {CSSProperties} from 'react';\r\n\r\ninterface IHeartIconProps {\r\n width: string, /*default*/\r\n height?: string,\r\n color?: string,\r\n title?: string,\r\n classes?: string,\r\n rotationAngle?: number,\r\n style?: CSSProperties,\r\n isColorFill?:boolean\r\n}\r\nconst HeartIcon = (props: IHeartIconProps) => {\r\n return (\r\n <>\r\n {props.isColorFill ?\r\n\r\n \r\n \r\n \r\n :\r\n \r\n \r\n }\r\n \r\n\r\n )\r\n};\r\n\r\nexport default HeartIcon;","import React from 'react';\r\nimport { IIconProps } from '../interfaces';\r\n\r\nconst PresetWSCIIcon: React.FC = ({\r\n color = '#141414', // Default color for the play triangle\r\n bgColor = '#ffffff', // Default color for the background circle\r\n width = '15' // Default width and height of the icon\r\n }) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n);\r\n\r\nexport default PresetWSCIIcon;\r\n","import React from 'react';\r\nimport { IIconProps } from '../interfaces';\r\n\r\nconst PresetWSCRIcon: React.FC = ({\r\n color = '#141414', // Default color for the play triangle\r\n bgColor = '#ffffff', // Default color for the background circle\r\n width = '15' // Default width and height of the icon\r\n }) => (\r\n \r\n \r\n \r\n\r\n\r\n);\r\n\r\nexport default PresetWSCRIcon;\r\n","import React from 'react';\r\nimport PresetWSCIIcon from \"../../../../ui/svg/preset/preset-wsci\";\r\nimport PresetWSCRIcon from \"../../../../ui/svg/preset/preset-wscr\";\r\n\r\ninterface IPresetIcons {\r\n algType:string,\r\n width: string\r\n}\r\nconst PresetIcons = (props: IPresetIcons) => {\r\n\r\n return (\r\n <>\r\n {props?.algType === \"WSCR\" && }\r\n {props?.algType === \"WSCI\" && }\r\n \r\n )\r\n};\r\n\r\nexport default PresetIcons;","import React, {KeyboardEvent, useRef, useState} from 'react';\r\nimport Imgix from \"react-imgix\";\r\nimport {AVATAR_PATH, DEFAULT_PRESET_IMAGE_PATH} from \"../constants\";\r\nimport {PresetDM, PresetTagDM, ProfileDM, UserLikeResponse} from \"../interfaces\";\r\nimport {getEpochFromDate, onClickProfile} from \"../services/logic-provider\";\r\nimport VerifiedIcon from \"../../../../ui/svg/common/verified\";\r\nimport PresetVisitChain from \"./preset-visit-chain\";\r\nimport {isMobile, isTablet} from \"../../../../domain/common\";\r\nimport HeartIcon from \"../../../../ui/svg/common/heart\";\r\nimport {sendGAEvent} from \"../../../../domain/marketing/gtm-provider\";\r\nimport {setUserLikeClick} from \"../DAL/data-service\";\r\nimport PresetIcons from \"../../preset/components/preset-icons\";\r\n\r\nexport interface IPresetProps {\r\n preset:PresetDM;\r\n profile:ProfileDM;\r\n presetTags:PresetTagDM[];\r\n isHandleLinked?:boolean;\r\n imgCdnDomain:string;\r\n creatorsPath:string;\r\n imgWidth?:number;\r\n imgHeight?:number;\r\n cancelImgLazyload?:boolean;\r\n presetListRef?:any;\r\n setShowLinkCopiedPopup:Function;\r\n isDarkBackground?:boolean;\r\n\r\n}\r\n\r\nconst Preset = (props:IPresetProps) => {\r\n const imageContainer = useRef(null);\r\n const [showOverButtons, setShowOverButtons] = useState(false);\r\n const [isUserLiked, setIsUserLiked] = useState(props.preset.isUserLike);\r\n const [isLikeLoading, setIsLikeLoading] = useState(false);\r\n\r\n const [presetLikeCount, setPresetLikeCount] = useState(props.preset.likesCount);\r\n\r\n const isDesktopScreen = !(isMobile() || isTablet());\r\n\r\n const mouseOver = (evnt:any) => {\r\n if(isDesktopScreen && imageContainer.current !== null && imageContainer.current !== undefined){\r\n imageContainer.current.style.filter = 'brightness(30%)';\r\n setShowOverButtons(true);\r\n }\r\n\r\n }\r\n const mouseOut = (evnt:any) => {\r\n if(isDesktopScreen && imageContainer.current !== null && imageContainer.current !== undefined){\r\n imageContainer.current.style.filter = 'unset';\r\n setShowOverButtons(false);\r\n }\r\n\r\n }\r\n const onClickPreset = () => {\r\n sendGAEvent(\"SV Widget\",\"Widget Chain: \" + props.preset.presetName );\r\n window.location.href = \"/studioverse/chain/\" + props.preset.presetGUID;\r\n }\r\n\r\n const onClickTag = (tag : PresetTagDM) => {\r\n sendGAEvent(\"SV Widget\",\"Widget Tag: \" + tag.tagAlias);\r\n window.location.href = \"/studioverse/chains/tag/\" + tag.tagAlias;\r\n }\r\n const userLikeClick = async () => {\r\n if(isLikeLoading) return;\r\n setIsLikeLoading(true);\r\n let response = null;\r\n try {\r\n response = await setUserLikeClick(props.preset.presetGUID);\r\n }\r\n catch(ex){}\r\n\r\n if(response?.data && response.data.isValid && response.data.relatedData){\r\n setPresetLikeCount((response.data.relatedData as UserLikeResponse).likeObj.result);\r\n setIsUserLiked(!isUserLiked);\r\n setIsLikeLoading(false);\r\n\r\n }else if(response && response.statusCode && response.statusCode === 401){\r\n window.location.href = \"/login?returnurl=\" + window.location.pathname;\r\n setIsLikeLoading(false);\r\n return;\r\n }\r\n }\r\n const getHeartColor = () => {\r\n if(isUserLiked){\r\n return \"red\";\r\n }else if(props.isDarkBackground){\r\n return \"white\";\r\n }\r\n return \"black\";\r\n }\r\n const handleKeyPress = (evt: KeyboardEvent) => {\r\n if (evt.key === 'Enter') {\r\n onClickPreset();\r\n }\r\n };\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n {props.profile.imgExt.length > 0 ?\r\n \r\n :\r\n \r\n }\r\n
\r\n
\r\n
\r\n
\r\n
{props.profile.publicName}
\r\n {props.profile.isVerified &&\r\n
\r\n \r\n
\r\n }\r\n
\r\n
\r\n {presetLikeCount}\r\n \r\n
\r\n
\r\n {props.isHandleLinked?\r\n
\r\n \r\n
\r\n :\r\n
@{props.profile.handle}
\r\n }\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n {/*
*/}\r\n {/* {props.presetTags.map((tag,index) => {*/}\r\n {/* return onClickTag(tag)}>*/}\r\n {/* {tag.tagName} {props.presetTags.length - 1 > index ? | : \"\"}*/}\r\n {/* */}\r\n {/* })}*/}\r\n\r\n {/*
*/}\r\n
\r\n
\r\n\r\n\r\n \r\n\r\n )\r\n};\r\n\r\nexport default Preset;","import {get,post} from \"../../../../DAL/data-provider\";\r\n\r\nexport const getPresetsPage = async (handle: string | null, pageIndex:number) => {\r\n return get('/api/olp/get-creator-presets?handle=' + handle + \"&pageIndex=\" + pageIndex);\r\n};\r\nexport const getTagPresetsPage = async (tag: string | null, pageIndex:number) => {\r\n return get('/api/olp/get-tag-presets?tag=' + tag + \"&pageIndex=\" + pageIndex);\r\n};\r\nexport const getPluginPresetsPage = async (tag: string | null, pageIndex:number) => {\r\n return get('/api/olp/get-plugin-presets?tag=' + tag + \"&pageIndex=\" + pageIndex);\r\n};\r\nexport const setUserLikeClick = async (presetGuid: string) => {\r\n const postData = {\r\n PresetGuid: presetGuid\r\n }\r\n return post('/api/olp/user-like',postData);\r\n};\r\n\r\n","import React from 'react';\r\nimport {IIconProps} from \"../../../../ui/svg/interfaces\";\r\nconst RightArrowIcon = (props: IIconProps) => {\r\n return (\r\n \r\n \r\n \r\n )\r\n};\r\n\r\nexport default RightArrowIcon;","import React from 'react';\r\nimport { IIconProps } from '../interfaces';\r\n\r\nconst CloseIcon = (props: IIconProps) => {\r\n\r\n return (\r\n \r\n Close\r\n \r\n \r\n )\r\n};\r\n\r\nexport default CloseIcon;\r\n","import CloseIcon from '../svg/common/close';\r\nimport { CSSProperties, ReactNode, useCallback, useEffect, useRef, MouseEvent } from 'react';\r\n\r\n/*\r\nUsage:\r\n-------\r\n {\r\n dispatch(\r\n rootActions.main({\r\n showLoginPage: false\r\n })\r\n );\r\n}}>\r\n
\r\n

Please log in to your Waves account to hide products you own.

\r\n LOG IN NOW\r\n
\r\n
\r\n */\r\n\r\ninterface IPopupProps {\r\n width?: string,\r\n height?: string,\r\n close?: Function,\r\n canBeClosed?: boolean,\r\n children?: ReactNode,\r\n classes?: string,\r\n bgClass?: string,\r\n styles?: CSSProperties,\r\n iconWidth?: string,\r\n iconColor?: string,\r\n btnTop?: string;\r\n btnRight?: string;\r\n removeBackdrop?: boolean;\r\n prevent?: boolean;\r\n}\r\n\r\n/**\r\n * Popup component.\r\n */\r\nexport const Popup = (props: IPopupProps) => {\r\n\r\n const popupRef = useRef(null);\r\n const closeButtonRef = useRef(null);\r\n\r\n useEffect(() => {\r\n\r\n setTimeout(() => {\r\n if(closeButtonRef.current) {\r\n closeButtonRef.current.focus();\r\n }\r\n else{\r\n popupRef.current?.focus();\r\n }\r\n }, 10);\r\n }, []);\r\n\r\n /**\r\n * close popup handler\r\n */\r\n const closePopup = useCallback(() => {\r\n if (typeof props.close !== 'function') return;\r\n props.close();\r\n }, [props])\r\n\r\n /**\r\n * handle escape key\r\n */\r\n const handleEscape = useCallback(async (evt: any) => {\r\n if (evt.key === 'Escape') {\r\n closePopup();\r\n }\r\n }, [closePopup]);\r\n\r\n useEffect(() => {\r\n document.addEventListener('keydown', handleEscape);\r\n document.addEventListener('close-popup', closePopup);\r\n\r\n return () => {\r\n document.removeEventListener('keydown', handleEscape);\r\n document.removeEventListener('close-popup', closePopup);\r\n }\r\n }, [closePopup, handleEscape]);\r\n\r\n const canBeClosed = props.canBeClosed !== undefined ? props.canBeClosed : true;\r\n const iconWidth = props.iconWidth !== undefined ? props.iconWidth : '16';\r\n\r\n const handlePopupClick = (evt: MouseEvent) => {\r\n\r\n if(props.prevent) {\r\n evt.preventDefault()\r\n evt.stopPropagation();\r\n }\r\n\r\n if (!canBeClosed) return;\r\n closePopup();\r\n };\r\n\r\n return (\r\n \r\n {\r\n evt.stopPropagation();\r\n if(props.prevent) {\r\n evt.preventDefault();\r\n }\r\n }}\r\n style={{\r\n ...(props.styles || {}),\r\n width: props.width,\r\n height: props.height,\r\n }}\r\n >\r\n {\r\n canBeClosed &&\r\n \r\n \r\n \r\n }\r\n\r\n {props.children}\r\n \r\n \r\n )\r\n};\r\n\r\n/*\r\n max-height: 100vh;\r\n */\r\n","import React, {useState} from 'react';\r\nimport {useAppSelector} from \"../DAL/store\";\r\nimport CreatorDetails from \"../components/creator-details\";\r\nimport {useWindowSize} from \"../../../../domain/common\";\r\nimport CreatorDetailsMobile from \"../components/creator-details-mobile\";\r\nimport Preset from \"../../common/components/preset\";\r\nimport RightArrowIcon from \"../../common/svg/right-arrow\";\r\nimport {Popup} from \"../../../../ui/popup/popup\";\r\nimport {MAX_MOBILE_SIZE} from \"../../common/constants\";\r\n\r\n\r\n/**\r\n * the entry point\r\n */\r\nconst App: React.FC = () => {\r\n const [showLinkCopiedPopup, setShowLinkCopiedPopup] = useState(false);\r\n\r\n const PublicCreatorProfileData = useAppSelector((store) => store.PublicCreatorProfileData);\r\n const size = useWindowSize();\r\n const imgCdnDomain = useAppSelector((store) => store.imgCdnDomain);\r\n const creatorsPath = useAppSelector((store) => store.creatorsPath);\r\n\r\n return (\r\n
\r\n {size.width !== undefined && size.width > MAX_MOBILE_SIZE ?\r\n \r\n :\r\n \r\n }\r\n {PublicCreatorProfileData.presets.length > 0 &&
}\r\n\r\n
\r\n {PublicCreatorProfileData.presets.length > 0 &&
Creator Chains
}\r\n {PublicCreatorProfileData.presets.length >= 8 &&\r\n \r\n View All Chains\r\n \r\n \r\n }\r\n
\r\n {PublicCreatorProfileData.presets.length > 0 &&\r\n
\r\n Hear chains on your tracks when you drag & drop or copy & paste chain links from the web directly into StudioRack, inside your DAW of choice.\r\n Learn more\r\n\r\n
\r\n }\r\n\r\n
\r\n
    \r\n {PublicCreatorProfileData.presets.map((preset,index) => {\r\n const presetTags = PublicCreatorProfileData.presetTags.filter(tag => tag.presetID === preset.presetID);\r\n return
  • \r\n \r\n
  • \r\n })}\r\n
\r\n
\r\n {showLinkCopiedPopup && setShowLinkCopiedPopup(false)}>\r\n
The link was copied to clipboard
\r\n
}\r\n {PublicCreatorProfileData.presets.length >= 8 &&\r\n \r\n }\r\n
\r\n\r\n );\r\n};\r\n\r\nexport default App;\r\n\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport App from './App/App';\r\nimport {Provider} from \"react-redux\";\r\nimport store from \"./DAL/store\"\r\n\r\n\r\n/**\r\n * entry point\r\n */\r\nexport const init = () => {\r\n const $root = document.getElementById('olp-public-creator-app');\r\n if (!$root) return;\r\n\r\n ReactDOM.render(\r\n \r\n \r\n \r\n \r\n ,\r\n $root\r\n );\r\n};\r\n\r\n/**\r\n * entry point\r\n */\r\ndocument.addEventListener('DOMContentLoaded', () => {\r\n init();\r\n});"],"names":["charenc","utf8","stringToBytes","str","bin","unescape","encodeURIComponent","bytesToString","bytes","decodeURIComponent","escape","i","length","push","charCodeAt","String","fromCharCode","join","module","exports","base64map","crypt","rotl","n","b","rotr","endian","constructor","Number","randomBytes","Math","floor","random","bytesToWords","words","wordsToBytes","bytesToHex","hex","toString","hexToBytes","c","parseInt","substr","bytesToBase64","base64","triplet","j","charAt","base64ToBytes","replace","imod4","indexOf","pow","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","type","KNOWN_STATICS","name","prototype","caller","callee","arguments","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","render","Memo","defineProperty","Object","getOwnPropertyNames","getOwnPropertySymbols","getOwnPropertyDescriptor","getPrototypeOf","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","keys","concat","targetStatics","sourceStatics","key","descriptor","e","Symbol","for","d","f","g","h","k","l","m","p","q","r","t","v","w","x","y","z","a","u","$$typeof","A","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","Fragment","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","isBuffer","obj","readFloatLE","slice","isSlowBuffer","_isBuffer","md5","message","options","encoding","Array","call","isArray","Uint8Array","FF","_ff","GG","_gg","HH","_hh","II","_ii","aa","bb","cc","dd","s","_blocksize","_digestsize","Error","digestbytes","asBytes","asString","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","props","propName","componentName","location","propFullName","secret","err","getShim","isRequired","ReactPropTypes","array","bigint","bool","func","number","object","string","symbol","any","arrayOf","element","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","objA","objB","compareContext","ret","keysA","keysB","bHasOwnProperty","hasOwnProperty","bind","idx","valueA","valueB","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","getter","__esModule","definition","o","enumerable","get","globalThis","this","Function","window","prop","React","ReactDOM","value","configurable","writable","map","Q","Z","L","nn","forEach","has","set","delete","add","X","Map","Set","rn","create","clear","freeze","isFrozen","tn","_","U","O","S","P","M","H","I","R","D","F","E","N","T","C","en","on","Proxy","revocable","revoke","proxy","J","K","from","G","W","B","Reflect","iterator","ownKeys","getOwnPropertyDescriptors","deleteProperty","setPrototypeOf","apply","un","produce","Promise","then","produceWithPatches","useProxies","setUseProxies","autoFreeze","setAutoFreeze","createDraft","finishDraft","applyPatches","path","op","$","an","fn","enumerableOnly","symbols","filter","sym","_objectSpread2","target","source","defineProperties","formatProdErrorMessage","code","$$observable","observable","randomString","substring","split","ActionTypes","INIT","REPLACE","PROBE_UNKNOWN_ACTION","createStore","reducer","preloadedState","enhancer","_ref2","currentReducer","currentState","currentListeners","nextListeners","isDispatching","ensureCanMutateNextListeners","getState","subscribe","listener","isSubscribed","index","splice","dispatch","action","proto","isPlainObject","listeners","replaceReducer","nextReducer","_ref","outerSubscribe","observer","observeState","next","unsubscribe","compose","_len","funcs","_key","arg","reduce","applyMiddleware","middlewares","store","_dispatch","middlewareAPI","chain","middleware","createThunkMiddleware","extraArgument","thunk","withExtraArgument","extendStatics","__extends","__proto__","TypeError","__","__spreadArray","to","il","__defProp","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","propertyIsEnumerable","__defNormalProp","__spreadValues","_i","_c","composeWithDevTools","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","__REDUX_DEVTOOLS_EXTENSION__","MiddlewareArray","_super","args","_this","species","arr","prepend","createAction","prepareAction","actionCreator","prepared","payload","meta","error","match","executeReducerBuilderCallback","builderCallback","defaultCaseReducer","actionsMap","actionMatchers","builder","addCase","typeOrActionCreator","addMatcher","matcher","addDefaultCase","min","batch","callback","getBatch","nullListeners","notify","parentSub","handleChangeWrapper","subscription","onStateChange","trySubscribe","addNestedSub","first","last","prev","createListenerCollection","notifyNestedSubs","Boolean","tryUnsubscribe","getListeners","document","createElement","useLayoutEffect","useEffect","context","children","contextValue","useMemo","previousState","Context","Provider","assign","useContext","refEquality","createSelectorHook","useReduxContext","selector","equalityFn","_useReduxContext","selectedState","contextSub","_useReducer","useReducer","forceRender","latestSubscriptionCallbackError","useRef","latestSelector","latestStoreState","latestSelectedState","storeState","current","newSelectedState","stack","checkForUpdates","newStoreState","_newSelectedState","useSelectorWithStoreAndSubscription","useDebugValue","newBatch","useSelector","isMobile","check","test","navigator","userAgent","vendor","opera","isTablet","maxTouchPoints","rootSlice","_reducer","initialState","reducers","reducerNames","sliceCaseReducersByName","sliceCaseReducersByType","actionCreators","buildReducer","extraReducers","_d","_e","_f","finalCaseReducers","mapOrBuilderCallback","getInitialState","finalActionMatchers","finalDefaultCaseReducer","isStateFunction","frozenInitialState_1","state","caseReducers","cr","caseReducer","result","draft","createReducer","reducerName","prepareCallback","maybeReducerWithPrepare","prepare","actions","createSlice","PublicCreatorProfileData","$el","textContent","json","JSON","parse","ex","getJSONFromHtml","getElementById","imgCdnDomain","trim","toLowerCase","creatorsPath","main","rootReducer","curriedGetDefaultMiddleware","middlewareArray","immutableCheck","serializableCheck","isBoolean","getDefaultMiddleware","devTools","_g","_h","enhancers","baseProto","reducerKeys","finalReducers","shapeAssertionError","finalReducerKeys","assertReducerShape","hasChanged","nextState","previousStateForKey","nextStateForKey","combineReducers","finalMiddleware","middlewareEnhancer","finalCompose","trace","storeEnhancers","configureStore","useAppSelector","findIndex","predicate","list","thisArg","warnings","fallbackImage","sizesAttribute","invalidARFormat","oversizeImage","lazyLCP","PACKAGE_VERSION","_hasBuffer","Buffer","_TE","TextDecoder","TextEncoder","b64chs","_fromCC","tab","_mkUriSafe","src","m0","_btoa","btoa","u32","c0","c1","c2","asc","pad","_fromUint8Array","u8a","strs","subarray","cb_utob","re_utob","_encode","encode","utob","gBase64","urlsafe","PLUS_RE","text","PROTOCOL_STRICT_REGEX","PROTOCOL_REGEX","PROTOCOL_RELATIVE_REGEX","hasProtocol","inputString","opts","acceptRelative","strict","getQuery","input","parametersString","parameter","parseQuery","parseURL","search","protocolRelative","defaultProto","_specialProtoMatch","_proto","_pathname","protocol","pathname","href","auth","host","hash","parsePath","hostAndPath","max","_slicedToArray","_arrayWithHoles","_s","_x","_r","_arr","_n","done","return","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_toConsumableArray","_arrayLikeToArray","_arrayWithoutHoles","iter","_iterableToArray","_nonIterableSpread","minLen","len","arr2","hint","prim","toPrimitive","res","DOMAIN_REGEX","DPR_QUALITIES","DEFAULT_DPR","DEFAULT_OPTIONS","domain","useHTTPS","includeLibraryParam","urlPrefix","secureURLToken","extractUrl","_ref$url","url","_ref$useHttps","useHttps","validateRange","isInteger","validateWidthTolerance","widthTolerance","ImgixClient","instance","Constructor","settings","targetWidthsCache","exec","libraryParam","version","protoProps","staticProps","rawPath","params","_sanitizePath","finalParams","_buildParams","_signParams","useCustomEncoder","encoder","customEncoder","queryParams","entries","encodedKey","encodedValue","signatureBase","signature","_path","disablePathEncoding","encodeURI","_buildDPRSrcSet","_buildSrcSetPairs","targetWidthValues","_validateAndDestructu","minWidth","maxWidth","validateAndDestructureOptions","_validateAndDestructu2","widths","customWidths","every","width","validateWidths","targetWidths","srcset","buildURL","_this2","devicePixelRatios","dpr","validateDevicePixelRatios","targetRatios","disableVariableQuality","validateVariableQuality","variableQualities","validateVariableQualities","qualities","withQuality","_extractUrl","combinedParams","srcsetModifiers","clientOptions","_extractUrl2","buildSrcSet","cache","minW","maxW","cacheKey","resolutions","currentWidth","round","PARAM_EXPANSION","brightness","contrast","exposure","gamma","highlights","hue","invert","saturation","shaddows","shadows","sharpness","vibrance","blend","border","padding","faces","download","DPI","format","quality","orientation","blurring","halftone","monotone","pixelate","height","compactParamKeys","longImgixParams","keysLength","extractClientAndPathComponents","_src$split2","scheme","_rest$split2","_toArray","pathComponents","client","auto","srcOptions","_extractClientAndPath","splitSrc","query","paramsPairs","splitParam","val","_callSuper","_getPrototypeOf","ReferenceError","_assertThisInitialized","_possibleConstructorReturn","_isNativeReflectConstruct","construct","valueOf","_setPrototypeOf","ShouldComponentUpdateHOC","WrappedComponent","_Component","nextProps","onMounted","propsAreEqual","oldProp","newProp","_inherits","Component","ImgixContext","createContext","_mergeProps","destination","newProps","newPropKeys","_Object$entries","_objectEntries","_Object$entries$_i","mergeComponentPropsHOF","contextProps","childProps","PARAMS_EXP_MAP","processPropsHOF","formattedProps","formatSrc","formatProps","formattedImgixParams","compactedParams","collapseImgixParams","imgixParams","includes","buildKey","defaultImgixParams","defaultAttributeMap","srcSet","sizes","noop","COMMON_PROP_TYPES","className","htmlAttributes","alt","SHARED_IMGIX_AND_SOURCE_PROP_TYPES","disableQualityByDPR","disableSrcSet","disableLibraryParam","srcSetOptions","REACT_IMGIX_PROP_TYPES","setParentRef","parentRef","el","rawSrc","buildSrc","inputSrc","fixedSize","_extractQueryParams2","srcImgixParams","ixlib","sharedSrcSetOptions","_width","_height","urlParams","finalWidth","finalHeight","_urlParams","aspectRatio","ar","aspectRatioIsValid","ReactImgix","imgRef","_this$props$htmlAttri","_this$props$htmlAttri2","_this$props$htmlAttri3","_this$props$htmlAttri4","_this$props$htmlAttri5","_this$props","_buildSrc","attributeConfig","adjustedSizes","loading","ref","PictureImpl","_Component2","_this3","pictureRef","_this4","_children","child","_child$type","childIsReactImgix","_inPicture","imgIdx","ReactImgixWrapped","console","warn","SourceImpl","_Component3","_this5","sourceRef","_this$props$htmlAttri6","_this$props$htmlAttri7","_this6","_this$props2","_buildSrc2","MapShim","getIndex","some","entry","class_1","__entries__","ctx","_a","isBrowser","global$1","self","requestAnimationFrame$1","requestAnimationFrame","setTimeout","Date","now","transitionKeys","mutationObserverSupported","MutationObserver","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","refresh","delay","leadingCall","trailingCall","lastCallTime","resolvePending","timeoutCallback","timeStamp","throttle","addObserver","connect_","removeObserver","observers","disconnect_","updateObservers_","activeObservers","gatherActive","hasActive","broadcastActive","addEventListener","observe","attributes","childList","characterData","subtree","removeEventListener","disconnect","_b","propertyName","getInstance","instance_","defineConfigurable","getWindowOf","ownerDocument","defaultView","emptyRect","createRectInit","toFloat","parseFloat","getBordersSize","styles","positions","size","position","isSVGGraphicsElement","SVGGraphicsElement","SVGElement","getBBox","getContentRect","bbox","getSVGContentRect","clientWidth","clientHeight","getComputedStyle","paddings","positions_1","getPaddings","horizPad","left","right","vertPad","top","bottom","boxSizing","documentElement","isDocumentElement","vertScrollbar","horizScrollbar","abs","getHTMLElementContentRect","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","isActive","rect","broadcastRect","ResizeObserverEntry","rectInit","contentRect","Constr","DOMRectReadOnly","createReadOnlyRect","ResizeObserverSPI","controller","callbackCtx","activeObservations_","observations_","callback_","controller_","callbackCtx_","observations","unobserve","clearActive","observation","WeakMap","ResizeObserver","method","types","getTypes","allowedTypes","calculations","clientTop","clientLeft","offset","offsetTop","offsetLeft","offsetWidth","offsetHeight","scroll","scrollTop","scrollLeft","scrollWidth","scrollHeight","getBoundingClientRect","bounds","margin","marginTop","marginRight","marginBottom","marginLeft","withContentRect","_class","_temp","subClass","superClass","WithContentRect","_animationFrameID","_resizeObserver","_node","_window","measure","setState","onResize","_handleRef","innerRef","componentDidMount","componentWillUnmount","cancelAnimationFrame","excluded","sourceKeys","measureRef","Measure","BackgroundImpl","_React$Component","prevWidth","prevHeight","nextBounds","nextWidth","nextHeight","propsEqual","__shouldComponentUpdate","_this$props$imgixPara","onLoad","_this$props$className","forcedWidth","forcedHeight","hasDOMDimensions","devicePixelRatio","toFixed","onRef","searchValue","mid","lo","hi","findClosest","ceil","_height2","isReady","commonProps","renderedSrc","fit","style","backgroundImage","backgroundSize","viewBox","title","fill","color","fillRule","clipRule","CartSteps","ProductDepartmentEnum","LastPaymentOption","PaymentTabsEnum","CreditCardServiceEnum","CreditCardTabTabsEnum","sendGAEvent","eventTitle","eventValue","dataLayer","StudioVersePageTypeEnum","ModeratorEntityTypeEnum","getSocialIconByDomainName","domainName","iconSize","svgComponent","getEpochFromDate","date","getTime","clickProfileReportAnIssue","profile","publicName","Profile","prfUserGUID","clickProfileSite","site","open","siteURL","xmlns","cx","cy","rx","ry","stroke","strokeWidth","AVATAR_PATH","imgExt","itemModifiedWhen","mask","handle","facepad","isVerified","onClick","isUserOwner","bio","sites","classes","iconColor","id","transform","bgColor","maskType","maskUnits","filterUnits","colorInterpolationFilters","floodOpacity","in","values","dy","stdDeviation","mode","in2","operator","ifShouldDenyOnReadOnly","async","response","status","getSasUrl","data","qs","encodeData","headers","Headers","append","fetch","credentials","statusCode","presetGuid","AudioBase64StyleEnum","buttonColor","buttonBgColor","buttonStyle","DefaultStyle","isPlayed","setIsPlayed","useState","isFirstTimeSelected","setIsFirstTimeSelected","perfTime","setPerfTime","serverTime","setServerTime","player","setPlayer","playerHTML","elId","log","playToggle","startTime","performance","ab64Wrap","base64Str","endTime","pResult","resultEX","loadBase64Str","paused","play","stop","allAudio","getElementsByTagName","pause","currentTime","stopAllMusicOnPage","showDebugInfo","evt","ChainStyle","IconStyle","hoverAudioBase64","setHoverAudioBase64","showLinkBubble","setShowLinkBubble","showDragAndDropBubble","setShowDragAndDropBubble","popUpInsideScreen","setPopUpInsideScreen","containerRef","isMobileScreen","chainFullLink","hostname","preset","presetGUID","OnMouseOverSetPopUpInsideScreen","presetListRef","presetListRect","presetName","onMouseLeave","evnt","audioDemo","onMouseEnter","algType","draggable","onDragStart","dataTransfer","setData","clipboard","writeText","setShowLinkCopiedPopup","isColorFill","imageContainer","showOverButtons","setShowOverButtons","isUserLiked","setIsUserLiked","isUserLike","isLikeLoading","setIsLikeLoading","presetLikeCount","setPresetLikeCount","likesCount","isDesktopScreen","onClickPreset","isDarkBackground","imgWidth","onKeyUp","imgGUID","imgLastModified","cancelImgLazyload","imgHeight","body","stringify","post","PresetGuid","setUserLikeClick","isValid","relatedData","likeObj","paddingTop","isHandleLinked","onClickProfile","Popup","popupRef","closeButtonRef","focus","closePopup","useCallback","close","handleEscape","canBeClosed","iconWidth","tabIndex","background","removeBackdrop","zIndex","prevent","preventDefault","stopPropagation","bgClass","btnRight","btnTop","showLinkCopiedPopup","windowSize","setWindowSize","handleResize","innerWidth","innerHeight","useWindowSize","presets","presetTags","tag","presetID","role","$root","init"],"sourceRoot":""}