@bigbinary/neeto-team-members-frontend 2.6.2 → 2.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../node_modules/dompurify/dist/purify.es.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/i18next/dist/esm/i18next.js","../node_modules/@babel/runtime/helpers/esm/toArray.js","../node_modules/i18next-browser-languagedetector/dist/esm/i18nextBrowserLanguageDetector.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/void-elements/index.js","../node_modules/html-parse-stringify/dist/html-parse-stringify.module.js","../node_modules/react-i18next/dist/es/utils.js","../node_modules/react-i18next/dist/es/unescape.js","../node_modules/react-i18next/dist/es/defaults.js","../node_modules/react-i18next/dist/es/i18nInstance.js","../node_modules/react-i18next/dist/es/TransWithoutContext.js","../node_modules/react-i18next/dist/es/initReactI18next.js","../node_modules/react-i18next/dist/es/context.js","../node_modules/react-i18next/dist/es/Trans.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/react-i18next/dist/es/useTranslation.js","../src/translations/index.js","../src/common/i18n.js","../src/common/utils.js","../node_modules/react-scroll-sync/dist/index.js","../src/common/constants.js","../src/apis/queryClient.js","../src/components/Common/withReactQuery.jsx","../src/common/routes.js","../src/apis/permissions.js","../src/common/queryConstants.js","../src/hooks/roles/usePermissionsApi.js","../src/apis/global_roles.js","../src/apis/organization_roles.js","../src/hooks/roles/useRolesApi.js","../src/components/Roles/Header/helpers.js","../src/components/Roles/AddRoleButton.jsx","../src/components/Roles/Header/index.jsx","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../src/components/Common/ScrollToErrorField/helpers.js","../src/components/Common/ScrollToErrorField/index.js","../src/components/Roles/constants.js","../src/components/Roles/Permissions.jsx","../src/components/Roles/New.jsx","../src/components/Roles/Table/constants.js","../src/components/Roles/Table/utils.js","../src/components/Roles/Table/Row.jsx","../src/components/Roles/Table/TableHeader.jsx","../src/components/Roles/Delete.jsx","../src/components/Roles/Edit.jsx","../src/components/Roles/Table/Columns.jsx","../src/components/Roles/Table/Sidebar/constants.js","../src/components/Roles/Table/Sidebar/helpers.jsx","../src/components/Roles/Table/Sidebar/ToggleDropdown.jsx","../src/components/Roles/Table/Sidebar/index.jsx","../src/components/Roles/Table/index.jsx","../src/components/Roles/utils.js","../src/components/Roles/index.jsx","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/get-intrinsic/index.js","../node_modules/has-symbols/index.js","../node_modules/has-symbols/shams.js","../node_modules/function-bind/implementation.js","../node_modules/function-bind/index.js","../node_modules/has/src/index.js","../node_modules/call-bind/index.js","../node_modules/call-bind/callBound.js","../node_modules/object-inspect/util.inspect.js","../node_modules/object-inspect/index.js","../node_modules/side-channel/index.js","../node_modules/qs/lib/formats.js","../node_modules/qs/lib/utils.js","../node_modules/qs/lib/stringify.js","../node_modules/qs/lib/parse.js","../node_modules/qs/lib/index.js","../src/apis/teams.js","../src/hooks/teams/useTeamsApi.js","../src/components/TeamMembers/ActionBlock/constants.js","../src/components/TeamMembers/ActionBlock/Header.jsx","../src/components/TeamMembers/ActionBlock/utils.js","../src/components/TeamMembers/ActionBlock/RolesDropdown.jsx","../src/components/TeamMembers/constants.js","../src/components/TeamMembers/ActionBlock/SubHeader.jsx","../src/components/TeamMembers/ActionBlock/index.js","../src/components/TeamMembers/ManageMember/AppList.jsx","../src/components/TeamMembers/ManageMember/Page/index.jsx","../src/components/TeamMembers/ManageMember/constants.js","../src/components/TeamMembers/ManageMember/helpers.js","../src/components/TeamMembers/ManageMember/Confirmation.jsx","../src/components/TeamMembers/ManageMember/MultipleEmailInput.jsx","../src/components/TeamMembers/ManageMember/NameInputs.jsx","../src/components/Common/LabelWithIcon.jsx","../src/components/TeamMembers/ManageMember/RolesRadioGroup.jsx","../node_modules/pluralize/pluralize.js","../src/components/TeamMembers/utils.jsx","../src/components/TeamMembers/ManageMember/index.jsx","../src/components/TeamMembers/Menu.jsx","../src/components/TeamMembers/useFilters.js","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/@babel/runtime/helpers/typeof.js","../node_modules/@babel/runtime/helpers/regeneratorRuntime.js","../node_modules/@babel/runtime/regenerator/index.js","../src/components/TeamMembers/useTeams.js","../src/components/TeamMembers/index.jsx","../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js","../index.js"],"sourcesContent":["/*! @license DOMPurify 3.0.1 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.0.1/LICENSE */\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}\n\nfunction _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}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _construct(Parent, args, Class) {\n if (_isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) _setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\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}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\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}\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}\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function () {};\n\n return {\n s: F,\n n: function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function (e) {\n throw e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function () {\n it = it.call(o);\n },\n n: function () {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function (e) {\n didErr = true;\n err = e;\n },\n f: function () {\n try {\n if (!normalCompletion && it.return != null) it.return();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}\n\nvar entries = Object.entries,\n setPrototypeOf = Object.setPrototypeOf,\n isFrozen = Object.isFrozen,\n getPrototypeOf = Object.getPrototypeOf,\n getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar freeze = Object.freeze,\n seal = Object.seal,\n create = Object.create; // eslint-disable-line import/no-mutable-exports\n\nvar _ref = typeof Reflect !== 'undefined' && Reflect,\n apply = _ref.apply,\n construct = _ref.construct;\n\nif (!apply) {\n apply = function apply(fun, thisValue, args) {\n return fun.apply(thisValue, args);\n };\n}\n\nif (!freeze) {\n freeze = function freeze(x) {\n return x;\n };\n}\n\nif (!seal) {\n seal = function seal(x) {\n return x;\n };\n}\n\nif (!construct) {\n construct = function construct(Func, args) {\n return _construct(Func, _toConsumableArray(args));\n };\n}\n\nvar arrayForEach = unapply(Array.prototype.forEach);\nvar arrayPop = unapply(Array.prototype.pop);\nvar arrayPush = unapply(Array.prototype.push);\nvar stringToLowerCase = unapply(String.prototype.toLowerCase);\nvar stringToString = unapply(String.prototype.toString);\nvar stringMatch = unapply(String.prototype.match);\nvar stringReplace = unapply(String.prototype.replace);\nvar stringIndexOf = unapply(String.prototype.indexOf);\nvar stringTrim = unapply(String.prototype.trim);\nvar regExpTest = unapply(RegExp.prototype.test);\nvar typeErrorCreate = unconstruct(TypeError);\nfunction unapply(func) {\n return function (thisArg) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return apply(func, thisArg, args);\n };\n}\nfunction unconstruct(func) {\n return function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return construct(func, args);\n };\n}\n/* Add properties to a lookup table */\n\nfunction addToSet(set, array, transformCaseFunc) {\n transformCaseFunc = transformCaseFunc ? transformCaseFunc : stringToLowerCase;\n\n if (setPrototypeOf) {\n // Make 'in' and truthy checks like Boolean(set.constructor)\n // independent of any properties defined on Object.prototype.\n // Prevent prototype setters from intercepting set as a this value.\n setPrototypeOf(set, null);\n }\n\n var l = array.length;\n\n while (l--) {\n var element = array[l];\n\n if (typeof element === 'string') {\n var lcElement = transformCaseFunc(element);\n\n if (lcElement !== element) {\n // Config presets (e.g. tags.js, attrs.js) are immutable.\n if (!isFrozen(array)) {\n array[l] = lcElement;\n }\n\n element = lcElement;\n }\n }\n\n set[element] = true;\n }\n\n return set;\n}\n/* Shallow clone an object */\n\nfunction clone(object) {\n var newObject = create(null);\n\n var _iterator = _createForOfIteratorHelper(entries(object)),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _step$value = _slicedToArray(_step.value, 2),\n property = _step$value[0],\n value = _step$value[1];\n\n newObject[property] = value;\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return newObject;\n}\n/* This method automatically checks if the prop is function\n * or getter and behaves accordingly. */\n\nfunction lookupGetter(object, prop) {\n while (object !== null) {\n var desc = getOwnPropertyDescriptor(object, prop);\n\n if (desc) {\n if (desc.get) {\n return unapply(desc.get);\n }\n\n if (typeof desc.value === 'function') {\n return unapply(desc.value);\n }\n }\n\n object = getPrototypeOf(object);\n }\n\n function fallbackValue(element) {\n console.warn('fallback value for', element);\n return null;\n }\n\n return fallbackValue;\n}\n\nvar html$1 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'section', 'select', 'shadow', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']); // SVG\n\nvar svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);\nvar svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']); // List of SVG elements that are disallowed by default.\n// We still need to know them so that we can do namespace\n// checks properly in case one wants to add them to\n// allow-list.\n\nvar svgDisallowed = freeze(['animate', 'color-profile', 'cursor', 'discard', 'fedropshadow', 'font-face', 'font-face-format', 'font-face-name', 'font-face-src', 'font-face-uri', 'foreignobject', 'hatch', 'hatchpath', 'mesh', 'meshgradient', 'meshpatch', 'meshrow', 'missing-glyph', 'script', 'set', 'solidcolor', 'unknown', 'use']);\nvar mathMl$1 = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mglyph', 'mi', 'mlabeledtr', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded', 'mphantom', 'mroot', 'mrow', 'ms', 'mspace', 'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder', 'munderover']); // Similarly to SVG, we want to know all MathML elements,\n// even those that we disallow by default.\n\nvar mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'none']);\nvar text = freeze(['#text']);\n\nvar html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'pattern', 'placeholder', 'playsinline', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'xmlns', 'slot']);\nvar svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);\nvar mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);\nvar xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);\n\nvar MUSTACHE_EXPR = seal(/\\{\\{[\\w\\W]*|[\\w\\W]*\\}\\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode\n\nvar ERB_EXPR = seal(/<%[\\w\\W]*|[\\w\\W]*%>/gm);\nvar TMPLIT_EXPR = seal(/\\${[\\w\\W]*}/gm);\nvar DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]/); // eslint-disable-line no-useless-escape\n\nvar ARIA_ATTR = seal(/^aria-[\\-\\w]+$/); // eslint-disable-line no-useless-escape\n\nvar IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i // eslint-disable-line no-useless-escape\n);\nvar IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\nvar ATTR_WHITESPACE = seal(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g // eslint-disable-line no-control-regex\n);\nvar DOCTYPE_NAME = seal(/^html$/i);\n\nvar getGlobal = function getGlobal() {\n return typeof window === 'undefined' ? null : window;\n};\n/**\n * Creates a no-op policy for internal use only.\n * Don't export this function outside this module!\n * @param {?TrustedTypePolicyFactory} trustedTypes The policy factory.\n * @param {Document} document The document object (to determine policy name suffix)\n * @return {?TrustedTypePolicy} The policy created (or null, if Trusted Types\n * are not supported).\n */\n\n\nvar _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, document) {\n if (_typeof(trustedTypes) !== 'object' || typeof trustedTypes.createPolicy !== 'function') {\n return null;\n } // Allow the callers to control the unique policy name\n // by adding a data-tt-policy-suffix to the script element with the DOMPurify.\n // Policy creation with duplicate names throws in Trusted Types.\n\n\n var suffix = null;\n var ATTR_NAME = 'data-tt-policy-suffix';\n\n if (document.currentScript && document.currentScript.hasAttribute(ATTR_NAME)) {\n suffix = document.currentScript.getAttribute(ATTR_NAME);\n }\n\n var policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n\n try {\n return trustedTypes.createPolicy(policyName, {\n createHTML: function createHTML(html) {\n return html;\n },\n createScriptURL: function createScriptURL(scriptUrl) {\n return scriptUrl;\n }\n });\n } catch (_) {\n // Policy creation failed (most likely another DOMPurify script has\n // already run). Skip creating the policy, as this will only cause errors\n // if TT are enforced.\n console.warn('TrustedTypes policy ' + policyName + ' could not be created.');\n return null;\n }\n};\n\nfunction createDOMPurify() {\n var window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();\n\n var DOMPurify = function DOMPurify(root) {\n return createDOMPurify(root);\n };\n /**\n * Version label, exposed for easier checks\n * if DOMPurify is up to date or not\n */\n\n\n DOMPurify.version = '3.0.1';\n /**\n * Array of elements that DOMPurify removed during sanitation.\n * Empty if nothing was removed.\n */\n\n DOMPurify.removed = [];\n\n if (!window || !window.document || window.document.nodeType !== 9) {\n // Not running in a browser, provide a factory function\n // so that you can pass your own Window\n DOMPurify.isSupported = false;\n return DOMPurify;\n }\n\n var originalDocument = window.document;\n var document = window.document;\n var DocumentFragment = window.DocumentFragment,\n HTMLTemplateElement = window.HTMLTemplateElement,\n Node = window.Node,\n Element = window.Element,\n NodeFilter = window.NodeFilter,\n _window$NamedNodeMap = window.NamedNodeMap,\n NamedNodeMap = _window$NamedNodeMap === void 0 ? window.NamedNodeMap || window.MozNamedAttrMap : _window$NamedNodeMap,\n HTMLFormElement = window.HTMLFormElement,\n DOMParser = window.DOMParser,\n trustedTypes = window.trustedTypes;\n var ElementPrototype = Element.prototype;\n var cloneNode = lookupGetter(ElementPrototype, 'cloneNode');\n var getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');\n var getChildNodes = lookupGetter(ElementPrototype, 'childNodes');\n var getParentNode = lookupGetter(ElementPrototype, 'parentNode'); // As per issue #47, the web-components registry is inherited by a\n // new document created via createHTMLDocument. As per the spec\n // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)\n // a new empty registry is used when creating a template contents owner\n // document, so we use that as our parent document to ensure nothing\n // is inherited.\n\n if (typeof HTMLTemplateElement === 'function') {\n var template = document.createElement('template');\n\n if (template.content && template.content.ownerDocument) {\n document = template.content.ownerDocument;\n }\n }\n\n var trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, originalDocument);\n\n var emptyHTML = trustedTypesPolicy ? trustedTypesPolicy.createHTML('') : '';\n var _document = document,\n implementation = _document.implementation,\n createNodeIterator = _document.createNodeIterator,\n createDocumentFragment = _document.createDocumentFragment,\n getElementsByTagName = _document.getElementsByTagName;\n var importNode = originalDocument.importNode;\n var hooks = {};\n /**\n * Expose whether this browser supports running the full DOMPurify.\n */\n\n DOMPurify.isSupported = typeof entries === 'function' && typeof getParentNode === 'function' && implementation && typeof implementation.createHTMLDocument !== 'undefined';\n var MUSTACHE_EXPR$1 = MUSTACHE_EXPR,\n ERB_EXPR$1 = ERB_EXPR,\n TMPLIT_EXPR$1 = TMPLIT_EXPR,\n DATA_ATTR$1 = DATA_ATTR,\n ARIA_ATTR$1 = ARIA_ATTR,\n IS_SCRIPT_OR_DATA$1 = IS_SCRIPT_OR_DATA,\n ATTR_WHITESPACE$1 = ATTR_WHITESPACE;\n var IS_ALLOWED_URI$1 = IS_ALLOWED_URI;\n /**\n * We consider the elements and attributes below to be safe. Ideally\n * don't add any new ones but feel free to remove unwanted ones.\n */\n\n /* allowed element names */\n\n var ALLOWED_TAGS = null;\n var DEFAULT_ALLOWED_TAGS = addToSet({}, [].concat(_toConsumableArray(html$1), _toConsumableArray(svg$1), _toConsumableArray(svgFilters), _toConsumableArray(mathMl$1), _toConsumableArray(text)));\n /* Allowed attribute names */\n\n var ALLOWED_ATTR = null;\n var DEFAULT_ALLOWED_ATTR = addToSet({}, [].concat(_toConsumableArray(html), _toConsumableArray(svg), _toConsumableArray(mathMl), _toConsumableArray(xml)));\n /*\n * Configure how DOMPUrify should handle custom elements and their attributes as well as customized built-in elements.\n * @property {RegExp|Function|null} tagNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any custom elements)\n * @property {RegExp|Function|null} attributeNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any attributes not on the allow list)\n * @property {boolean} allowCustomizedBuiltInElements allow custom elements derived from built-ins if they pass CUSTOM_ELEMENT_HANDLING.tagNameCheck. Default: `false`.\n */\n\n var CUSTOM_ELEMENT_HANDLING = Object.seal(Object.create(null, {\n tagNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n attributeNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n allowCustomizedBuiltInElements: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: false\n }\n }));\n /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */\n\n var FORBID_TAGS = null;\n /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */\n\n var FORBID_ATTR = null;\n /* Decide if ARIA attributes are okay */\n\n var ALLOW_ARIA_ATTR = true;\n /* Decide if custom data attributes are okay */\n\n var ALLOW_DATA_ATTR = true;\n /* Decide if unknown protocols are okay */\n\n var ALLOW_UNKNOWN_PROTOCOLS = false;\n /* Decide if self-closing tags in attributes are allowed.\n * Usually removed due to a mXSS issue in jQuery 3.0 */\n\n var ALLOW_SELF_CLOSE_IN_ATTR = true;\n /* Output should be safe for common template engines.\n * This means, DOMPurify removes data attributes, mustaches and ERB\n */\n\n var SAFE_FOR_TEMPLATES = false;\n /* Decide if document with <html>... should be returned */\n\n var WHOLE_DOCUMENT = false;\n /* Track whether config is already set on this instance of DOMPurify. */\n\n var SET_CONFIG = false;\n /* Decide if all elements (e.g. style, script) must be children of\n * document.body. By default, browsers might move them to document.head */\n\n var FORCE_BODY = false;\n /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported).\n * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead\n */\n\n var RETURN_DOM = false;\n /* Decide if a DOM `DocumentFragment` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported) */\n\n var RETURN_DOM_FRAGMENT = false;\n /* Try to return a Trusted Type object instead of a string, return a string in\n * case Trusted Types are not supported */\n\n var RETURN_TRUSTED_TYPE = false;\n /* Output should be free from DOM clobbering attacks?\n * This sanitizes markups named with colliding, clobberable built-in DOM APIs.\n */\n\n var SANITIZE_DOM = true;\n /* Achieve full DOM Clobbering protection by isolating the namespace of named\n * properties and JS variables, mitigating attacks that abuse the HTML/DOM spec rules.\n *\n * HTML/DOM spec rules that enable DOM Clobbering:\n * - Named Access on Window (§7.3.3)\n * - DOM Tree Accessors (§3.1.5)\n * - Form Element Parent-Child Relations (§4.10.3)\n * - Iframe srcdoc / Nested WindowProxies (§4.8.5)\n * - HTMLCollection (§4.2.10.2)\n *\n * Namespace isolation is implemented by prefixing `id` and `name` attributes\n * with a constant string, i.e., `user-content-`\n */\n\n var SANITIZE_NAMED_PROPS = false;\n var SANITIZE_NAMED_PROPS_PREFIX = 'user-content-';\n /* Keep element content when removing element? */\n\n var KEEP_CONTENT = true;\n /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead\n * of importing it into a new Document and returning a sanitized copy */\n\n var IN_PLACE = false;\n /* Allow usage of profiles like html, svg and mathMl */\n\n var USE_PROFILES = {};\n /* Tags to ignore content of when KEEP_CONTENT is true */\n\n var FORBID_CONTENTS = null;\n var DEFAULT_FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'noscript', 'plaintext', 'script', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']);\n /* Tags that are safe for data: URIs */\n\n var DATA_URI_TAGS = null;\n var DEFAULT_DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image', 'track']);\n /* Attributes safe for values like \"javascript:\" */\n\n var URI_SAFE_ATTRIBUTES = null;\n var DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placeholder', 'role', 'summary', 'title', 'value', 'style', 'xmlns']);\n var MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\n var SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\n var HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\n /* Document namespace */\n\n var NAMESPACE = HTML_NAMESPACE;\n var IS_EMPTY_INPUT = false;\n /* Allowed XHTML+XML namespaces */\n\n var ALLOWED_NAMESPACES = null;\n var DEFAULT_ALLOWED_NAMESPACES = addToSet({}, [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE], stringToString);\n /* Parsing of strict XHTML documents */\n\n var PARSER_MEDIA_TYPE;\n var SUPPORTED_PARSER_MEDIA_TYPES = ['application/xhtml+xml', 'text/html'];\n var DEFAULT_PARSER_MEDIA_TYPE = 'text/html';\n var transformCaseFunc;\n /* Keep a reference to config to pass to hooks */\n\n var CONFIG = null;\n /* Ideally, do not touch anything below this line */\n\n /* ______________________________________________ */\n\n var formElement = document.createElement('form');\n\n var isRegexOrFunction = function isRegexOrFunction(testValue) {\n return testValue instanceof RegExp || testValue instanceof Function;\n };\n /**\n * _parseConfig\n *\n * @param {Object} cfg optional config literal\n */\n // eslint-disable-next-line complexity\n\n\n var _parseConfig = function _parseConfig(cfg) {\n if (CONFIG && CONFIG === cfg) {\n return;\n }\n /* Shield configuration object from tampering */\n\n\n if (!cfg || _typeof(cfg) !== 'object') {\n cfg = {};\n }\n /* Shield configuration object from prototype pollution */\n\n\n cfg = clone(cfg);\n PARSER_MEDIA_TYPE = // eslint-disable-next-line unicorn/prefer-includes\n SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? PARSER_MEDIA_TYPE = DEFAULT_PARSER_MEDIA_TYPE : PARSER_MEDIA_TYPE = cfg.PARSER_MEDIA_TYPE; // HTML tags and attributes are not case-sensitive, converting to lowercase. Keeping XHTML as is.\n\n transformCaseFunc = PARSER_MEDIA_TYPE === 'application/xhtml+xml' ? stringToString : stringToLowerCase;\n /* Set configuration parameters */\n\n ALLOWED_TAGS = 'ALLOWED_TAGS' in cfg ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc) : DEFAULT_ALLOWED_TAGS;\n ALLOWED_ATTR = 'ALLOWED_ATTR' in cfg ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc) : DEFAULT_ALLOWED_ATTR;\n ALLOWED_NAMESPACES = 'ALLOWED_NAMESPACES' in cfg ? addToSet({}, cfg.ALLOWED_NAMESPACES, stringToString) : DEFAULT_ALLOWED_NAMESPACES;\n URI_SAFE_ATTRIBUTES = 'ADD_URI_SAFE_ATTR' in cfg ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), // eslint-disable-line indent\n cfg.ADD_URI_SAFE_ATTR, // eslint-disable-line indent\n transformCaseFunc // eslint-disable-line indent\n ) // eslint-disable-line indent\n : DEFAULT_URI_SAFE_ATTRIBUTES;\n DATA_URI_TAGS = 'ADD_DATA_URI_TAGS' in cfg ? addToSet(clone(DEFAULT_DATA_URI_TAGS), // eslint-disable-line indent\n cfg.ADD_DATA_URI_TAGS, // eslint-disable-line indent\n transformCaseFunc // eslint-disable-line indent\n ) // eslint-disable-line indent\n : DEFAULT_DATA_URI_TAGS;\n FORBID_CONTENTS = 'FORBID_CONTENTS' in cfg ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc) : DEFAULT_FORBID_CONTENTS;\n FORBID_TAGS = 'FORBID_TAGS' in cfg ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) : {};\n FORBID_ATTR = 'FORBID_ATTR' in cfg ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) : {};\n USE_PROFILES = 'USE_PROFILES' in cfg ? cfg.USE_PROFILES : false;\n ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true\n\n ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true\n\n ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false\n\n ALLOW_SELF_CLOSE_IN_ATTR = cfg.ALLOW_SELF_CLOSE_IN_ATTR !== false; // Default true\n\n SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false\n\n WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false\n\n RETURN_DOM = cfg.RETURN_DOM || false; // Default false\n\n RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false\n\n RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false\n\n FORCE_BODY = cfg.FORCE_BODY || false; // Default false\n\n SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true\n\n SANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false; // Default false\n\n KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true\n\n IN_PLACE = cfg.IN_PLACE || false; // Default false\n\n IS_ALLOWED_URI$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI$1;\n NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;\n CUSTOM_ELEMENT_HANDLING = cfg.CUSTOM_ELEMENT_HANDLING || {};\n\n if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)) {\n CUSTOM_ELEMENT_HANDLING.tagNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck;\n }\n\n if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)) {\n CUSTOM_ELEMENT_HANDLING.attributeNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck;\n }\n\n if (cfg.CUSTOM_ELEMENT_HANDLING && typeof cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements === 'boolean') {\n CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements = cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements;\n }\n\n if (SAFE_FOR_TEMPLATES) {\n ALLOW_DATA_ATTR = false;\n }\n\n if (RETURN_DOM_FRAGMENT) {\n RETURN_DOM = true;\n }\n /* Parse profile info */\n\n\n if (USE_PROFILES) {\n ALLOWED_TAGS = addToSet({}, _toConsumableArray(text));\n ALLOWED_ATTR = [];\n\n if (USE_PROFILES.html === true) {\n addToSet(ALLOWED_TAGS, html$1);\n addToSet(ALLOWED_ATTR, html);\n }\n\n if (USE_PROFILES.svg === true) {\n addToSet(ALLOWED_TAGS, svg$1);\n addToSet(ALLOWED_ATTR, svg);\n addToSet(ALLOWED_ATTR, xml);\n }\n\n if (USE_PROFILES.svgFilters === true) {\n addToSet(ALLOWED_TAGS, svgFilters);\n addToSet(ALLOWED_ATTR, svg);\n addToSet(ALLOWED_ATTR, xml);\n }\n\n if (USE_PROFILES.mathMl === true) {\n addToSet(ALLOWED_TAGS, mathMl$1);\n addToSet(ALLOWED_ATTR, mathMl);\n addToSet(ALLOWED_ATTR, xml);\n }\n }\n /* Merge configuration parameters */\n\n\n if (cfg.ADD_TAGS) {\n if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n ALLOWED_TAGS = clone(ALLOWED_TAGS);\n }\n\n addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);\n }\n\n if (cfg.ADD_ATTR) {\n if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n ALLOWED_ATTR = clone(ALLOWED_ATTR);\n }\n\n addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);\n }\n\n if (cfg.ADD_URI_SAFE_ATTR) {\n addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);\n }\n\n if (cfg.FORBID_CONTENTS) {\n if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n FORBID_CONTENTS = clone(FORBID_CONTENTS);\n }\n\n addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);\n }\n /* Add #text in case KEEP_CONTENT is set to true */\n\n\n if (KEEP_CONTENT) {\n ALLOWED_TAGS['#text'] = true;\n }\n /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */\n\n\n if (WHOLE_DOCUMENT) {\n addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n }\n /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */\n\n\n if (ALLOWED_TAGS.table) {\n addToSet(ALLOWED_TAGS, ['tbody']);\n delete FORBID_TAGS.tbody;\n } // Prevent further manipulation of configuration.\n // Not available in IE8, Safari 5, etc.\n\n\n if (freeze) {\n freeze(cfg);\n }\n\n CONFIG = cfg;\n };\n\n var MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, ['mi', 'mo', 'mn', 'ms', 'mtext']);\n var HTML_INTEGRATION_POINTS = addToSet({}, ['foreignobject', 'desc', 'title', 'annotation-xml']); // Certain elements are allowed in both SVG and HTML\n // namespace. We need to specify them explicitly\n // so that they don't get erroneously deleted from\n // HTML namespace.\n\n var COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, ['title', 'style', 'font', 'a', 'script']);\n /* Keep track of all possible SVG and MathML tags\n * so that we can perform the namespace checks\n * correctly. */\n\n var ALL_SVG_TAGS = addToSet({}, svg$1);\n addToSet(ALL_SVG_TAGS, svgFilters);\n addToSet(ALL_SVG_TAGS, svgDisallowed);\n var ALL_MATHML_TAGS = addToSet({}, mathMl$1);\n addToSet(ALL_MATHML_TAGS, mathMlDisallowed);\n /**\n *\n *\n * @param {Element} element a DOM element whose namespace is being checked\n * @returns {boolean} Return false if the element has a\n * namespace that a spec-compliant parser would never\n * return. Return true otherwise.\n */\n\n var _checkValidNamespace = function _checkValidNamespace(element) {\n var parent = getParentNode(element); // In JSDOM, if we're inside shadow DOM, then parentNode\n // can be null. We just simulate parent in this case.\n\n if (!parent || !parent.tagName) {\n parent = {\n namespaceURI: NAMESPACE,\n tagName: 'template'\n };\n }\n\n var tagName = stringToLowerCase(element.tagName);\n var parentTagName = stringToLowerCase(parent.tagName);\n\n if (!ALLOWED_NAMESPACES[element.namespaceURI]) {\n return false;\n }\n\n if (element.namespaceURI === SVG_NAMESPACE) {\n // The only way to switch from HTML namespace to SVG\n // is via <svg>. If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'svg';\n } // The only way to switch from MathML to SVG is via`\n // svg if parent is either <annotation-xml> or MathML\n // text integration points.\n\n\n if (parent.namespaceURI === MATHML_NAMESPACE) {\n return tagName === 'svg' && (parentTagName === 'annotation-xml' || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]);\n } // We only allow elements that are defined in SVG\n // spec. All others are disallowed in SVG namespace.\n\n\n return Boolean(ALL_SVG_TAGS[tagName]);\n }\n\n if (element.namespaceURI === MATHML_NAMESPACE) {\n // The only way to switch from HTML namespace to MathML\n // is via <math>. If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'math';\n } // The only way to switch from SVG to MathML is via\n // <math> and HTML integration points\n\n\n if (parent.namespaceURI === SVG_NAMESPACE) {\n return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];\n } // We only allow elements that are defined in MathML\n // spec. All others are disallowed in MathML namespace.\n\n\n return Boolean(ALL_MATHML_TAGS[tagName]);\n }\n\n if (element.namespaceURI === HTML_NAMESPACE) {\n // The only way to switch from SVG to HTML is via\n // HTML integration points, and from MathML to HTML\n // is via MathML text integration points\n if (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) {\n return false;\n }\n\n if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) {\n return false;\n } // We disallow tags that are specific for MathML\n // or SVG and should never appear in HTML namespace\n\n\n return !ALL_MATHML_TAGS[tagName] && (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName]);\n } // For XHTML and XML documents that support custom namespaces\n\n\n if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && ALLOWED_NAMESPACES[element.namespaceURI]) {\n return true;\n } // The code should never reach this place (this means\n // that the element somehow got namespace that is not\n // HTML, SVG, MathML or allowed via ALLOWED_NAMESPACES).\n // Return false just in case.\n\n\n return false;\n };\n /**\n * _forceRemove\n *\n * @param {Node} node a DOM node\n */\n\n\n var _forceRemove = function _forceRemove(node) {\n arrayPush(DOMPurify.removed, {\n element: node\n });\n\n try {\n // eslint-disable-next-line unicorn/prefer-dom-node-remove\n node.parentNode.removeChild(node);\n } catch (_) {\n node.remove();\n }\n };\n /**\n * _removeAttribute\n *\n * @param {String} name an Attribute name\n * @param {Node} node a DOM node\n */\n\n\n var _removeAttribute = function _removeAttribute(name, node) {\n try {\n arrayPush(DOMPurify.removed, {\n attribute: node.getAttributeNode(name),\n from: node\n });\n } catch (_) {\n arrayPush(DOMPurify.removed, {\n attribute: null,\n from: node\n });\n }\n\n node.removeAttribute(name); // We void attribute values for unremovable \"is\"\" attributes\n\n if (name === 'is' && !ALLOWED_ATTR[name]) {\n if (RETURN_DOM || RETURN_DOM_FRAGMENT) {\n try {\n _forceRemove(node);\n } catch (_) {}\n } else {\n try {\n node.setAttribute(name, '');\n } catch (_) {}\n }\n }\n };\n /**\n * _initDocument\n *\n * @param {String} dirty a string of dirty markup\n * @return {Document} a DOM, filled with the dirty markup\n */\n\n\n var _initDocument = function _initDocument(dirty) {\n /* Create a HTML document */\n var doc;\n var leadingWhitespace;\n\n if (FORCE_BODY) {\n dirty = '<remove></remove>' + dirty;\n } else {\n /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */\n var matches = stringMatch(dirty, /^[\\r\\n\\t ]+/);\n leadingWhitespace = matches && matches[0];\n }\n\n if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && NAMESPACE === HTML_NAMESPACE) {\n // Root of XHTML doc must contain xmlns declaration (see https://www.w3.org/TR/xhtml1/normative.html#strict)\n dirty = '<html xmlns=\"http://www.w3.org/1999/xhtml\"><head></head><body>' + dirty + '</body></html>';\n }\n\n var dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty;\n /*\n * Use the DOMParser API by default, fallback later if needs be\n * DOMParser not work for svg when has multiple root element.\n */\n\n if (NAMESPACE === HTML_NAMESPACE) {\n try {\n doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);\n } catch (_) {}\n }\n /* Use createHTMLDocument in case DOMParser is not available */\n\n\n if (!doc || !doc.documentElement) {\n doc = implementation.createDocument(NAMESPACE, 'template', null);\n\n try {\n doc.documentElement.innerHTML = IS_EMPTY_INPUT ? emptyHTML : dirtyPayload;\n } catch (_) {// Syntax error if dirtyPayload is invalid xml\n }\n }\n\n var body = doc.body || doc.documentElement;\n\n if (dirty && leadingWhitespace) {\n body.insertBefore(document.createTextNode(leadingWhitespace), body.childNodes[0] || null);\n }\n /* Work on whole document or just its body */\n\n\n if (NAMESPACE === HTML_NAMESPACE) {\n return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? 'html' : 'body')[0];\n }\n\n return WHOLE_DOCUMENT ? doc.documentElement : body;\n };\n /**\n * _createIterator\n *\n * @param {Document} root document/fragment to create iterator for\n * @return {Iterator} iterator instance\n */\n\n\n var _createIterator = function _createIterator(root) {\n return createNodeIterator.call(root.ownerDocument || root, root, // eslint-disable-next-line no-bitwise\n NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT, null, false);\n };\n /**\n * _isClobbered\n *\n * @param {Node} elm element to check for clobbering attacks\n * @return {Boolean} true if clobbered, false if safe\n */\n\n\n var _isClobbered = function _isClobbered(elm) {\n return elm instanceof HTMLFormElement && (typeof elm.nodeName !== 'string' || typeof elm.textContent !== 'string' || typeof elm.removeChild !== 'function' || !(elm.attributes instanceof NamedNodeMap) || typeof elm.removeAttribute !== 'function' || typeof elm.setAttribute !== 'function' || typeof elm.namespaceURI !== 'string' || typeof elm.insertBefore !== 'function' || typeof elm.hasChildNodes !== 'function');\n };\n /**\n * _isNode\n *\n * @param {Node} obj object to check whether it's a DOM node\n * @return {Boolean} true is object is a DOM node\n */\n\n\n var _isNode = function _isNode(object) {\n return _typeof(Node) === 'object' ? object instanceof Node : object && _typeof(object) === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string';\n };\n /**\n * _executeHook\n * Execute user configurable hooks\n *\n * @param {String} entryPoint Name of the hook's entry point\n * @param {Node} currentNode node to work on with the hook\n * @param {Object} data additional hook parameters\n */\n\n\n var _executeHook = function _executeHook(entryPoint, currentNode, data) {\n if (!hooks[entryPoint]) {\n return;\n }\n\n arrayForEach(hooks[entryPoint], function (hook) {\n hook.call(DOMPurify, currentNode, data, CONFIG);\n });\n };\n /**\n * _sanitizeElements\n *\n * @protect nodeName\n * @protect textContent\n * @protect removeChild\n *\n * @param {Node} currentNode to check for permission to exist\n * @return {Boolean} true if node was killed, false if left alive\n */\n\n\n var _sanitizeElements = function _sanitizeElements(currentNode) {\n var content;\n /* Execute a hook if present */\n\n _executeHook('beforeSanitizeElements', currentNode, null);\n /* Check if element is clobbered or can clobber */\n\n\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n\n return true;\n }\n /* Now let's check the element's type and name */\n\n\n var tagName = transformCaseFunc(currentNode.nodeName);\n /* Execute a hook if present */\n\n _executeHook('uponSanitizeElement', currentNode, {\n tagName: tagName,\n allowedTags: ALLOWED_TAGS\n });\n /* Detect mXSS attempts abusing namespace confusion */\n\n\n if (currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && (!_isNode(currentNode.content) || !_isNode(currentNode.content.firstElementChild)) && regExpTest(/<[/\\w]/g, currentNode.innerHTML) && regExpTest(/<[/\\w]/g, currentNode.textContent)) {\n _forceRemove(currentNode);\n\n return true;\n }\n /* Remove element if anything forbids its presence */\n\n\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n /* Check if we have a custom element to handle */\n if (!FORBID_TAGS[tagName] && _basicCustomElementTest(tagName)) {\n if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) return false;\n if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)) return false;\n }\n /* Keep content except for bad-listed elements */\n\n\n if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {\n var parentNode = getParentNode(currentNode) || currentNode.parentNode;\n var childNodes = getChildNodes(currentNode) || currentNode.childNodes;\n\n if (childNodes && parentNode) {\n var childCount = childNodes.length;\n\n for (var i = childCount - 1; i >= 0; --i) {\n parentNode.insertBefore(cloneNode(childNodes[i], true), getNextSibling(currentNode));\n }\n }\n }\n\n _forceRemove(currentNode);\n\n return true;\n }\n /* Check whether element has a valid namespace */\n\n\n if (currentNode instanceof Element && !_checkValidNamespace(currentNode)) {\n _forceRemove(currentNode);\n\n return true;\n }\n /* Make sure that older browsers don't get noscript mXSS */\n\n\n if ((tagName === 'noscript' || tagName === 'noembed') && regExpTest(/<\\/no(script|embed)/i, currentNode.innerHTML)) {\n _forceRemove(currentNode);\n\n return true;\n }\n /* Sanitize element content to be template-safe */\n\n\n if (SAFE_FOR_TEMPLATES && currentNode.nodeType === 3) {\n /* Get the element's text content */\n content = currentNode.textContent;\n content = stringReplace(content, MUSTACHE_EXPR$1, ' ');\n content = stringReplace(content, ERB_EXPR$1, ' ');\n content = stringReplace(content, TMPLIT_EXPR$1, ' ');\n\n if (currentNode.textContent !== content) {\n arrayPush(DOMPurify.removed, {\n element: currentNode.cloneNode()\n });\n currentNode.textContent = content;\n }\n }\n /* Execute a hook if present */\n\n\n _executeHook('afterSanitizeElements', currentNode, null);\n\n return false;\n };\n /**\n * _isValidAttribute\n *\n * @param {string} lcTag Lowercase tag name of containing element.\n * @param {string} lcName Lowercase attribute name.\n * @param {string} value Attribute value.\n * @return {Boolean} Returns true if `value` is valid, otherwise false.\n */\n // eslint-disable-next-line complexity\n\n\n var _isValidAttribute = function _isValidAttribute(lcTag, lcName, value) {\n /* Make sure attribute cannot clobber */\n if (SANITIZE_DOM && (lcName === 'id' || lcName === 'name') && (value in document || value in formElement)) {\n return false;\n }\n /* Allow valid data-* attributes: At least one character after \"-\"\n (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)\n XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)\n We don't need to check the value; it's always URI safe. */\n\n\n if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR$1, lcName)) ; else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR$1, lcName)) ; else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {\n if ( // First condition does a very basic check if a) it's basically a valid custom element tagname AND\n // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n // and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck\n _basicCustomElementTest(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName)) || // Alternative, second condition checks if it's an `is`-attribute, AND\n // the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n lcName === 'is' && CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(value))) ; else {\n return false;\n }\n /* Check value is safe. First, is attr inert? If so, is safe */\n\n } else if (URI_SAFE_ATTRIBUTES[lcName]) ; else if (regExpTest(IS_ALLOWED_URI$1, stringReplace(value, ATTR_WHITESPACE$1, ''))) ; else if ((lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') && lcTag !== 'script' && stringIndexOf(value, 'data:') === 0 && DATA_URI_TAGS[lcTag]) ; else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA$1, stringReplace(value, ATTR_WHITESPACE$1, ''))) ; else if (!value) ; else {\n return false;\n }\n\n return true;\n };\n /**\n * _basicCustomElementCheck\n * checks if at least one dash is included in tagName, and it's not the first char\n * for more sophisticated checking see https://github.com/sindresorhus/validate-element-name\n * @param {string} tagName name of the tag of the node to sanitize\n */\n\n\n var _basicCustomElementTest = function _basicCustomElementTest(tagName) {\n return tagName.indexOf('-') > 0;\n };\n /**\n * _sanitizeAttributes\n *\n * @protect attributes\n * @protect nodeName\n * @protect removeAttribute\n * @protect setAttribute\n *\n * @param {Node} currentNode to sanitize\n */\n\n\n var _sanitizeAttributes = function _sanitizeAttributes(currentNode) {\n var attr;\n var value;\n var lcName;\n var l;\n /* Execute a hook if present */\n\n _executeHook('beforeSanitizeAttributes', currentNode, null);\n\n var attributes = currentNode.attributes;\n /* Check if we have attributes; if not we might have a text node */\n\n if (!attributes) {\n return;\n }\n\n var hookEvent = {\n attrName: '',\n attrValue: '',\n keepAttr: true,\n allowedAttributes: ALLOWED_ATTR\n };\n l = attributes.length;\n /* Go backwards over all attributes; safely remove bad ones */\n\n while (l--) {\n attr = attributes[l];\n var _attr = attr,\n name = _attr.name,\n namespaceURI = _attr.namespaceURI;\n value = name === 'value' ? attr.value : stringTrim(attr.value);\n lcName = transformCaseFunc(name);\n /* Execute a hook if present */\n\n hookEvent.attrName = lcName;\n hookEvent.attrValue = value;\n hookEvent.keepAttr = true;\n hookEvent.forceKeepAttr = undefined; // Allows developers to see this is a property they can set\n\n _executeHook('uponSanitizeAttribute', currentNode, hookEvent);\n\n value = hookEvent.attrValue;\n /* Did the hooks approve of the attribute? */\n\n if (hookEvent.forceKeepAttr) {\n continue;\n }\n /* Remove attribute */\n\n\n _removeAttribute(name, currentNode);\n /* Did the hooks approve of the attribute? */\n\n\n if (!hookEvent.keepAttr) {\n continue;\n }\n /* Work around a security issue in jQuery 3.0 */\n\n\n if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(/\\/>/i, value)) {\n _removeAttribute(name, currentNode);\n\n continue;\n }\n /* Sanitize attribute content to be template-safe */\n\n\n if (SAFE_FOR_TEMPLATES) {\n value = stringReplace(value, MUSTACHE_EXPR$1, ' ');\n value = stringReplace(value, ERB_EXPR$1, ' ');\n value = stringReplace(value, TMPLIT_EXPR$1, ' ');\n }\n /* Is `value` valid for this attribute? */\n\n\n var lcTag = transformCaseFunc(currentNode.nodeName);\n\n if (!_isValidAttribute(lcTag, lcName, value)) {\n continue;\n }\n /* Full DOM Clobbering protection via namespace isolation,\n * Prefix id and name attributes with `user-content-`\n */\n\n\n if (SANITIZE_NAMED_PROPS && (lcName === 'id' || lcName === 'name')) {\n // Remove the attribute with this value\n _removeAttribute(name, currentNode); // Prefix the value and later re-create the attribute with the sanitized value\n\n\n value = SANITIZE_NAMED_PROPS_PREFIX + value;\n }\n /* Handle attributes that require Trusted Types */\n\n\n if (trustedTypesPolicy && _typeof(trustedTypes) === 'object' && typeof trustedTypes.getAttributeType === 'function') {\n if (namespaceURI) ; else {\n switch (trustedTypes.getAttributeType(lcTag, lcName)) {\n case 'TrustedHTML':\n value = trustedTypesPolicy.createHTML(value);\n break;\n\n case 'TrustedScriptURL':\n value = trustedTypesPolicy.createScriptURL(value);\n break;\n }\n }\n }\n /* Handle invalid data-* attribute set by try-catching it */\n\n\n try {\n if (namespaceURI) {\n currentNode.setAttributeNS(namespaceURI, name, value);\n } else {\n /* Fallback to setAttribute() for browser-unrecognized namespaces e.g. \"x-schema\". */\n currentNode.setAttribute(name, value);\n }\n\n arrayPop(DOMPurify.removed);\n } catch (_) {}\n }\n /* Execute a hook if present */\n\n\n _executeHook('afterSanitizeAttributes', currentNode, null);\n };\n /**\n * _sanitizeShadowDOM\n *\n * @param {DocumentFragment} fragment to iterate over recursively\n */\n\n\n var _sanitizeShadowDOM = function _sanitizeShadowDOM(fragment) {\n var shadowNode;\n\n var shadowIterator = _createIterator(fragment);\n /* Execute a hook if present */\n\n\n _executeHook('beforeSanitizeShadowDOM', fragment, null);\n\n while (shadowNode = shadowIterator.nextNode()) {\n /* Execute a hook if present */\n _executeHook('uponSanitizeShadowNode', shadowNode, null);\n /* Sanitize tags and elements */\n\n\n if (_sanitizeElements(shadowNode)) {\n continue;\n }\n /* Deep shadow DOM detected */\n\n\n if (shadowNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(shadowNode.content);\n }\n /* Check attributes, sanitize if necessary */\n\n\n _sanitizeAttributes(shadowNode);\n }\n /* Execute a hook if present */\n\n\n _executeHook('afterSanitizeShadowDOM', fragment, null);\n };\n /**\n * Sanitize\n * Public method providing core sanitation functionality\n *\n * @param {String|Node} dirty string or DOM node\n * @param {Object} configuration object\n */\n // eslint-disable-next-line complexity\n\n\n DOMPurify.sanitize = function (dirty) {\n var cfg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var body;\n var importedNode;\n var currentNode;\n var returnNode;\n /* Make sure we have a string to sanitize.\n DO NOT return early, as this will return the wrong type if\n the user has requested a DOM object rather than a string */\n\n IS_EMPTY_INPUT = !dirty;\n\n if (IS_EMPTY_INPUT) {\n dirty = '<!-->';\n }\n /* Stringify, in case dirty is an object */\n\n\n if (typeof dirty !== 'string' && !_isNode(dirty)) {\n // eslint-disable-next-line no-negated-condition\n if (typeof dirty.toString !== 'function') {\n throw typeErrorCreate('toString is not a function');\n } else {\n dirty = dirty.toString();\n\n if (typeof dirty !== 'string') {\n throw typeErrorCreate('dirty is not a string, aborting');\n }\n }\n }\n /* Return dirty HTML if DOMPurify cannot run */\n\n\n if (!DOMPurify.isSupported) {\n return dirty;\n }\n /* Assign config vars */\n\n\n if (!SET_CONFIG) {\n _parseConfig(cfg);\n }\n /* Clean up removed elements */\n\n\n DOMPurify.removed = [];\n /* Check if dirty is correctly typed for IN_PLACE */\n\n if (typeof dirty === 'string') {\n IN_PLACE = false;\n }\n\n if (IN_PLACE) {\n /* Do some early pre-sanitization to avoid unsafe root nodes */\n if (dirty.nodeName) {\n var tagName = transformCaseFunc(dirty.nodeName);\n\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n throw typeErrorCreate('root node is forbidden and cannot be sanitized in-place');\n }\n }\n } else if (dirty instanceof Node) {\n /* If dirty is a DOM element, append to an empty document to avoid\n elements being stripped by the parser */\n body = _initDocument('<!---->');\n importedNode = body.ownerDocument.importNode(dirty, true);\n\n if (importedNode.nodeType === 1 && importedNode.nodeName === 'BODY') {\n /* Node is already a body, use as is */\n body = importedNode;\n } else if (importedNode.nodeName === 'HTML') {\n body = importedNode;\n } else {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n body.appendChild(importedNode);\n }\n } else {\n /* Exit directly if we have nothing to do */\n if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT && // eslint-disable-next-line unicorn/prefer-includes\n dirty.indexOf('<') === -1) {\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(dirty) : dirty;\n }\n /* Initialize the document to work on */\n\n\n body = _initDocument(dirty);\n /* Check we have a DOM node from the data */\n\n if (!body) {\n return RETURN_DOM ? null : RETURN_TRUSTED_TYPE ? emptyHTML : '';\n }\n }\n /* Remove first element node (ours) if FORCE_BODY is set */\n\n\n if (body && FORCE_BODY) {\n _forceRemove(body.firstChild);\n }\n /* Get node iterator */\n\n\n var nodeIterator = _createIterator(IN_PLACE ? dirty : body);\n /* Now start iterating over the created document */\n\n\n while (currentNode = nodeIterator.nextNode()) {\n /* Sanitize tags and elements */\n if (_sanitizeElements(currentNode)) {\n continue;\n }\n /* Shadow DOM detected, sanitize it */\n\n\n if (currentNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(currentNode.content);\n }\n /* Check attributes, sanitize if necessary */\n\n\n _sanitizeAttributes(currentNode);\n }\n /* If we sanitized `dirty` in-place, return it. */\n\n\n if (IN_PLACE) {\n return dirty;\n }\n /* Return sanitized string or DOM */\n\n\n if (RETURN_DOM) {\n if (RETURN_DOM_FRAGMENT) {\n returnNode = createDocumentFragment.call(body.ownerDocument);\n\n while (body.firstChild) {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n returnNode.appendChild(body.firstChild);\n }\n } else {\n returnNode = body;\n }\n\n if (ALLOWED_ATTR.shadowroot || ALLOWED_ATTR.shadowrootmod) {\n /*\n AdoptNode() is not used because internal state is not reset\n (e.g. the past names map of a HTMLFormElement), this is safe\n in theory but we would rather not risk another attack vector.\n The state that is cloned by importNode() is explicitly defined\n by the specs.\n */\n returnNode = importNode.call(originalDocument, returnNode, true);\n }\n\n return returnNode;\n }\n\n var serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;\n /* Serialize doctype if allowed */\n\n if (WHOLE_DOCUMENT && ALLOWED_TAGS['!doctype'] && body.ownerDocument && body.ownerDocument.doctype && body.ownerDocument.doctype.name && regExpTest(DOCTYPE_NAME, body.ownerDocument.doctype.name)) {\n serializedHTML = '<!DOCTYPE ' + body.ownerDocument.doctype.name + '>\\n' + serializedHTML;\n }\n /* Sanitize final string template-safe */\n\n\n if (SAFE_FOR_TEMPLATES) {\n serializedHTML = stringReplace(serializedHTML, MUSTACHE_EXPR$1, ' ');\n serializedHTML = stringReplace(serializedHTML, ERB_EXPR$1, ' ');\n serializedHTML = stringReplace(serializedHTML, TMPLIT_EXPR$1, ' ');\n }\n\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(serializedHTML) : serializedHTML;\n };\n /**\n * Public method to set the configuration once\n * setConfig\n *\n * @param {Object} cfg configuration object\n */\n\n\n DOMPurify.setConfig = function (cfg) {\n _parseConfig(cfg);\n\n SET_CONFIG = true;\n };\n /**\n * Public method to remove the configuration\n * clearConfig\n *\n */\n\n\n DOMPurify.clearConfig = function () {\n CONFIG = null;\n SET_CONFIG = false;\n };\n /**\n * Public method to check if an attribute value is valid.\n * Uses last set config, if any. Otherwise, uses config defaults.\n * isValidAttribute\n *\n * @param {string} tag Tag name of containing element.\n * @param {string} attr Attribute name.\n * @param {string} value Attribute value.\n * @return {Boolean} Returns true if `value` is valid. Otherwise, returns false.\n */\n\n\n DOMPurify.isValidAttribute = function (tag, attr, value) {\n /* Initialize shared config vars if necessary. */\n if (!CONFIG) {\n _parseConfig({});\n }\n\n var lcTag = transformCaseFunc(tag);\n var lcName = transformCaseFunc(attr);\n return _isValidAttribute(lcTag, lcName, value);\n };\n /**\n * AddHook\n * Public method to add DOMPurify hooks\n *\n * @param {String} entryPoint entry point for the hook to add\n * @param {Function} hookFunction function to execute\n */\n\n\n DOMPurify.addHook = function (entryPoint, hookFunction) {\n if (typeof hookFunction !== 'function') {\n return;\n }\n\n hooks[entryPoint] = hooks[entryPoint] || [];\n arrayPush(hooks[entryPoint], hookFunction);\n };\n /**\n * RemoveHook\n * Public method to remove a DOMPurify hook at a given entryPoint\n * (pops it from the stack of hooks if more are present)\n *\n * @param {String} entryPoint entry point for the hook to remove\n * @return {Function} removed(popped) hook\n */\n\n\n DOMPurify.removeHook = function (entryPoint) {\n if (hooks[entryPoint]) {\n return arrayPop(hooks[entryPoint]);\n }\n };\n /**\n * RemoveHooks\n * Public method to remove all DOMPurify hooks at a given entryPoint\n *\n * @param {String} entryPoint entry point for the hooks to remove\n */\n\n\n DOMPurify.removeHooks = function (entryPoint) {\n if (hooks[entryPoint]) {\n hooks[entryPoint] = [];\n }\n };\n /**\n * RemoveAllHooks\n * Public method to remove all DOMPurify hooks\n *\n */\n\n\n DOMPurify.removeAllHooks = function () {\n hooks = {};\n };\n\n return DOMPurify;\n}\n\nvar purify = createDOMPurify();\n\nexport { purify as default };\n//# sourceMappingURL=purify.es.js.map\n","export default function _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}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import _typeof from \"./typeof.js\";\nexport default function _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}","import toPropertyKey from \"./toPropertyKey.js\";\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}\nexport default function _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}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _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}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _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}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import _typeof from '@babel/runtime/helpers/esm/typeof';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _toArray from '@babel/runtime/helpers/esm/toArray';\n\nfunction ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nvar consoleLogger = {\n type: 'logger',\n log: function log(args) {\n this.output('log', args);\n },\n warn: function warn(args) {\n this.output('warn', args);\n },\n error: function error(args) {\n this.output('error', args);\n },\n output: function output(type, args) {\n if (console && console[type]) console[type].apply(console, args);\n }\n};\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Logger);\n this.init(concreteLogger, options);\n }\n _createClass(Logger, [{\n key: \"init\",\n value: function init(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n }, {\n key: \"setDebug\",\n value: function setDebug(bool) {\n this.debug = bool;\n }\n }, {\n key: \"log\",\n value: function log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return this.forward(args, 'log', '', true);\n }\n }, {\n key: \"warn\",\n value: function warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return this.forward(args, 'warn', '', true);\n }\n }, {\n key: \"error\",\n value: function error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n return this.forward(args, 'error', '');\n }\n }, {\n key: \"deprecate\",\n value: function deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n }, {\n key: \"forward\",\n value: function forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = \"\".concat(prefix).concat(this.prefix, \" \").concat(args[0]);\n return this.logger[lvl](args);\n }\n }, {\n key: \"create\",\n value: function create(moduleName) {\n return new Logger(this.logger, _objectSpread$6(_objectSpread$6({}, {\n prefix: \"\".concat(this.prefix, \":\").concat(moduleName, \":\")\n }), this.options));\n }\n }, {\n key: \"clone\",\n value: function clone(options) {\n options = options || this.options;\n options.prefix = options.prefix || this.prefix;\n return new Logger(this.logger, options);\n }\n }]);\n return Logger;\n}();\nvar baseLogger = new Logger();\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck(this, EventEmitter);\n this.observers = {};\n }\n _createClass(EventEmitter, [{\n key: \"on\",\n value: function on(events, listener) {\n var _this = this;\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\n _this.observers[event].push(listener);\n });\n return this;\n }\n }, {\n key: \"off\",\n value: function off(event, listener) {\n if (!this.observers[event]) return;\n if (!listener) {\n delete this.observers[event];\n return;\n }\n this.observers[event] = this.observers[event].filter(function (l) {\n return l !== listener;\n });\n }\n }, {\n key: \"emit\",\n value: function emit(event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n if (this.observers[event]) {\n var cloned = [].concat(this.observers[event]);\n cloned.forEach(function (observer) {\n observer.apply(void 0, args);\n });\n }\n if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\n });\n }\n }\n }]);\n return EventEmitter;\n}();\n\nfunction defer() {\n var res;\n var rej;\n var promise = new Promise(function (resolve, reject) {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n}\nfunction makeString(object) {\n if (object == null) return '';\n return '' + object;\n}\nfunction copy(a, s, t) {\n a.forEach(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n var key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n }\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\nfunction setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n obj[k] = newValue;\n}\nfunction pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\nfunction getPath(object, path) {\n var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n if (!obj) return undefined;\n return obj[k];\n}\nfunction getPathWithDefaults(data, defaultData, key) {\n var value = getPath(data, key);\n if (value !== undefined) {\n return value;\n }\n return getPath(defaultData, key);\n}\nfunction deepExtend(target, source, overwrite) {\n for (var prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n return target;\n}\nfunction regexEscape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\nvar _entityMap = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n '\"': '&quot;',\n \"'\": '&#39;',\n '/': '&#x2F;'\n};\nfunction escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, function (s) {\n return _entityMap[s];\n });\n }\n return data;\n}\nvar isIE10 = typeof window !== 'undefined' && window.navigator && typeof window.navigator.userAgentData === 'undefined' && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1;\nvar chars = [' ', ',', '?', '!', ';'];\nfunction looksLikeObjectPath(key, nsSeparator, keySeparator) {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n var possibleChars = chars.filter(function (c) {\n return nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0;\n });\n if (possibleChars.length === 0) return true;\n var r = new RegExp(\"(\".concat(possibleChars.map(function (c) {\n return c === '?' ? '\\\\?' : c;\n }).join('|'), \")\"));\n var matched = !r.test(key);\n if (!matched) {\n var ki = key.indexOf(keySeparator);\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n return matched;\n}\n\nfunction ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$3(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$3(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct$3() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction deepFind(obj, path) {\n var keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';\n if (!obj) return undefined;\n if (obj[path]) return obj[path];\n var paths = path.split(keySeparator);\n var current = obj;\n for (var i = 0; i < paths.length; ++i) {\n if (!current) return undefined;\n if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) {\n return undefined;\n }\n if (current[paths[i]] === undefined) {\n var j = 2;\n var p = paths.slice(i, i + j).join(keySeparator);\n var mix = current[p];\n while (mix === undefined && paths.length > i + j) {\n j++;\n p = paths.slice(i, i + j).join(keySeparator);\n mix = current[p];\n }\n if (mix === undefined) return undefined;\n if (mix === null) return null;\n if (path.endsWith(p)) {\n if (typeof mix === 'string') return mix;\n if (p && typeof mix[p] === 'string') return mix[p];\n }\n var joinedPath = paths.slice(i + j).join(keySeparator);\n if (joinedPath) return deepFind(mix, joinedPath, keySeparator);\n return undefined;\n }\n current = current[paths[i]];\n }\n return current;\n}\nvar ResourceStore = function (_EventEmitter) {\n _inherits(ResourceStore, _EventEmitter);\n var _super = _createSuper$3(ResourceStore);\n function ResourceStore(data) {\n var _this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n _classCallCheck(this, ResourceStore);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.data = data || {};\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n if (_this.options.ignoreJSONStructure === undefined) {\n _this.options.ignoreJSONStructure = true;\n }\n return _this;\n }\n _createClass(ResourceStore, [{\n key: \"addNamespaces\",\n value: function addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n }, {\n key: \"removeNamespaces\",\n value: function removeNamespaces(ns) {\n var index = this.options.ns.indexOf(ns);\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n }, {\n key: \"getResource\",\n value: function getResource(lng, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n var path = [lng, ns];\n if (key && typeof key !== 'string') path = path.concat(key);\n if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n var result = getPath(this.data, path);\n if (result || !ignoreJSONStructure || typeof key !== 'string') return result;\n return deepFind(this.data && this.data[lng] && this.data[lng][ns], key, keySeparator);\n }\n }, {\n key: \"addResource\",\n value: function addResource(lng, ns, key, value) {\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n var keySeparator = this.options.keySeparator;\n if (keySeparator === undefined) keySeparator = '.';\n var path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n }, {\n key: \"addResources\",\n value: function addResources(lng, ns, resources) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n for (var m in resources) {\n if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"addResourceBundle\",\n value: function addResourceBundle(lng, ns, resources, deep, overwrite) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false\n };\n var path = [lng, ns];\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n var pack = getPath(this.data, path) || {};\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = _objectSpread$5(_objectSpread$5({}, pack), resources);\n }\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"removeResourceBundle\",\n value: function removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n }, {\n key: \"hasResourceBundle\",\n value: function hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n }, {\n key: \"getResourceBundle\",\n value: function getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n if (this.options.compatibilityAPI === 'v1') return _objectSpread$5(_objectSpread$5({}, {}), this.getResource(lng, ns));\n return this.getResource(lng, ns);\n }\n }, {\n key: \"getDataByLanguage\",\n value: function getDataByLanguage(lng) {\n return this.data[lng];\n }\n }, {\n key: \"hasLanguageSomeTranslations\",\n value: function hasLanguageSomeTranslations(lng) {\n var data = this.getDataByLanguage(lng);\n var n = data && Object.keys(data) || [];\n return !!n.find(function (v) {\n return data[v] && Object.keys(data[v]).length > 0;\n });\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return this.data;\n }\n }]);\n return ResourceStore;\n}(EventEmitter);\n\nvar postProcessor = {\n processors: {},\n addPostProcessor: function addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle: function handle(processors, value, key, options, translator) {\n var _this = this;\n processors.forEach(function (processor) {\n if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};\n\nfunction ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$2(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$2(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct$2() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar checkedLoadedFor = {};\nvar Translator = function (_EventEmitter) {\n _inherits(Translator, _EventEmitter);\n var _super = _createSuper$2(Translator);\n function Translator(services) {\n var _this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Translator);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized(_this));\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n _this.logger = baseLogger.create('translator');\n return _this;\n }\n _createClass(Translator, [{\n key: \"changeLanguage\",\n value: function changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n }, {\n key: \"exists\",\n value: function exists(key) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n if (key === undefined || key === null) {\n return false;\n }\n var resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n }\n }, {\n key: \"extractFromKey\",\n value: function extractFromKey(key, options) {\n var nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var namespaces = options.ns || this.options.defaultNS || [];\n var wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n var seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !options.keySeparator && !this.options.userDefinedNsSeparator && !options.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n var m = key.match(this.interpolator.nestingRegexp);\n if (m && m.length > 0) {\n return {\n key: key,\n namespaces: namespaces\n };\n }\n var parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n if (typeof namespaces === 'string') namespaces = [namespaces];\n return {\n key: key,\n namespaces: namespaces\n };\n }\n }, {\n key: \"translate\",\n value: function translate(keys, options, lastKey) {\n var _this2 = this;\n if (_typeof(options) !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n var returnDetails = options.returnDetails !== undefined ? options.returnDetails : this.options.returnDetails;\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _this$extractFromKey.key,\n namespaces = _this$extractFromKey.namespaces;\n var namespace = namespaces[namespaces.length - 1];\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n if (returnDetails) {\n return {\n res: \"\".concat(namespace).concat(nsSeparator).concat(key),\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace\n };\n }\n return \"\".concat(namespace).concat(nsSeparator).concat(key);\n }\n if (returnDetails) {\n return {\n res: key,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace\n };\n }\n return key;\n }\n var resolved = this.resolve(keys, options);\n var res = resolved && resolved.res;\n var resUsedKey = resolved && resolved.usedKey || key;\n var resExactUsedKey = resolved && resolved.exactUsedKey || key;\n var resType = Object.prototype.toString.apply(res);\n var noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n var r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, _objectSpread$4(_objectSpread$4({}, options), {}, {\n ns: namespaces\n })) : \"key '\".concat(key, \" (\").concat(this.language, \")' returned an object instead of string.\");\n if (returnDetails) {\n resolved.res = r;\n return resolved;\n }\n return r;\n }\n if (keySeparator) {\n var resTypeIsArray = resType === '[object Array]';\n var copy = resTypeIsArray ? [] : {};\n var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n for (var m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n var deepKey = \"\".concat(newKeyToUse).concat(keySeparator).concat(m);\n copy[m] = this.translate(deepKey, _objectSpread$4(_objectSpread$4({}, options), {\n joinArrays: false,\n ns: namespaces\n }));\n if (copy[m] === deepKey) copy[m] = res[m];\n }\n }\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n var usedDefault = false;\n var usedKey = false;\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var hasDefaultValue = Translator.hasDefaultValue(options);\n var defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, options) : '';\n var defaultValue = options[\"defaultValue\".concat(defaultValueSuffix)] || options.defaultValue;\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n var missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n var resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n var updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n if (keySeparator) {\n var fk = this.resolve(key, _objectSpread$4(_objectSpread$4({}, options), {}, {\n keySeparator: false\n }));\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (var i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n var send = function send(l, k, specificDefaultValue) {\n var defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, options);\n }\n _this2.emit('missingKey', l, namespace, k, res);\n };\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(function (language) {\n _this2.pluralResolver.getSuffixes(language, options).forEach(function (suffix) {\n send([language], key + suffix, options[\"defaultValue\".concat(suffix)] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = \"\".concat(namespace, \":\").concat(key);\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {\n if (this.options.compatibilityAPI !== 'v1') {\n res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? \"\".concat(namespace, \":\").concat(key) : key, usedDefault ? res : undefined);\n } else {\n res = this.options.parseMissingKeyHandler(res);\n }\n }\n }\n if (returnDetails) {\n resolved.res = res;\n return resolved;\n }\n return res;\n }\n }, {\n key: \"extendTranslation\",\n value: function extendTranslation(res, key, options, resolved, lastKey) {\n var _this3 = this;\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), options), resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved: resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init(_objectSpread$4(_objectSpread$4({}, options), {\n interpolation: _objectSpread$4(_objectSpread$4({}, this.options.interpolation), options.interpolation)\n }));\n var skipOnVariables = typeof res === 'string' && (options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);\n var nestBef;\n if (skipOnVariables) {\n var nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n if (skipOnVariables) {\n var na = res.match(this.interpolator.nestingRegexp);\n var nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this3.logger.warn(\"It seems you are nesting recursively key: \".concat(args[0], \" in key: \").concat(key[0]));\n return null;\n }\n return _this3.translate.apply(_this3, args.concat([key]));\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread$4({\n i18nResolved: resolved\n }, options) : options, this);\n }\n return res;\n }\n }, {\n key: \"resolve\",\n value: function resolve(keys) {\n var _this4 = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var found;\n var usedKey;\n var exactUsedKey;\n var usedLng;\n var usedNS;\n if (typeof keys === 'string') keys = [keys];\n keys.forEach(function (k) {\n if (_this4.isValidLookup(found)) return;\n var extracted = _this4.extractFromKey(k, options);\n var key = extracted.key;\n usedKey = key;\n var namespaces = extracted.namespaces;\n if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS);\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && _this4.pluralResolver.shouldUseIntlApi();\n var needsContextHandling = options.context !== undefined && (typeof options.context === 'string' || typeof options.context === 'number') && options.context !== '';\n var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng);\n namespaces.forEach(function (ns) {\n if (_this4.isValidLookup(found)) return;\n usedNS = ns;\n if (!checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] && _this4.utils && _this4.utils.hasLoadedNamespace && !_this4.utils.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] = true;\n _this4.logger.warn(\"key \\\"\".concat(usedKey, \"\\\" for languages \\\"\").concat(codes.join(', '), \"\\\" won't get resolved as namespace \\\"\").concat(usedNS, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n var finalKeys = [key];\n if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) {\n _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n var pluralSuffix;\n if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count, options);\n var zeroSuffix = \"\".concat(_this4.options.pluralSeparator, \"zero\");\n if (needsPluralHandling) {\n finalKeys.push(key + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n if (needsContextHandling) {\n var contextKey = \"\".concat(key).concat(_this4.options.contextSeparator).concat(options.context);\n finalKeys.push(contextKey);\n if (needsPluralHandling) {\n finalKeys.push(contextKey + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n var possibleKey;\n while (possibleKey = finalKeys.pop()) {\n if (!_this4.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = _this4.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey: usedKey,\n exactUsedKey: exactUsedKey,\n usedLng: usedLng,\n usedNS: usedNS\n };\n }\n }, {\n key: \"isValidLookup\",\n value: function isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n }, {\n key: \"getResource\",\n value: function getResource(code, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n }], [{\n key: \"hasDefaultValue\",\n value: function hasDefaultValue(options) {\n var prefix = 'defaultValue';\n for (var option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n return false;\n }\n }]);\n return Translator;\n}(EventEmitter);\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck(this, LanguageUtil);\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n _createClass(LanguageUtil, [{\n key: \"getScriptPartFromCode\",\n value: function getScriptPartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return null;\n var p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n }, {\n key: \"getLanguagePartFromCode\",\n value: function getLanguagePartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return code;\n var p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n }, {\n key: \"formatLanguageCode\",\n value: function formatLanguageCode(code) {\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n var p = code.split('-');\n if (this.options.lowerCaseLng) {\n p = p.map(function (part) {\n return part.toLowerCase();\n });\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n return p.join('-');\n }\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n }, {\n key: \"isSupportedCode\",\n value: function isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n }, {\n key: \"getBestMatchFromCodes\",\n value: function getBestMatchFromCodes(codes) {\n var _this = this;\n if (!codes) return null;\n var found;\n codes.forEach(function (code) {\n if (found) return;\n var cleanedLng = _this.formatLanguageCode(code);\n if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n if (!found && this.options.supportedLngs) {\n codes.forEach(function (code) {\n if (found) return;\n var lngOnly = _this.getLanguagePartFromCode(code);\n if (_this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = _this.options.supportedLngs.find(function (supportedLng) {\n if (supportedLng === lngOnly) return supportedLng;\n if (supportedLng.indexOf('-') < 0 && lngOnly.indexOf('-') < 0) return;\n if (supportedLng.indexOf(lngOnly) === 0) return supportedLng;\n });\n });\n }\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n }, {\n key: \"getFallbackCodes\",\n value: function getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n if (!code) return fallbacks[\"default\"] || [];\n var found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks[\"default\"];\n return found || [];\n }\n }, {\n key: \"toResolveHierarchy\",\n value: function toResolveHierarchy(code, fallbackCode) {\n var _this2 = this;\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n var codes = [];\n var addCode = function addCode(c) {\n if (!c) return;\n if (_this2.isSupportedCode(c)) {\n codes.push(c);\n } else {\n _this2.logger.warn(\"rejecting language code not found in supportedLngs: \".concat(c));\n }\n };\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc));\n });\n return codes;\n }\n }]);\n return LanguageUtil;\n}();\n\nvar sets = [{\n lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'tl', 'ti', 'tr', 'uz', 'wa'],\n nr: [1, 2],\n fc: 1\n}, {\n lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kk', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'],\n nr: [1, 2],\n fc: 2\n}, {\n lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'],\n nr: [1],\n fc: 3\n}, {\n lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'],\n nr: [1, 2, 5],\n fc: 4\n}, {\n lngs: ['ar'],\n nr: [0, 1, 2, 3, 11, 100],\n fc: 5\n}, {\n lngs: ['cs', 'sk'],\n nr: [1, 2, 5],\n fc: 6\n}, {\n lngs: ['csb', 'pl'],\n nr: [1, 2, 5],\n fc: 7\n}, {\n lngs: ['cy'],\n nr: [1, 2, 3, 8],\n fc: 8\n}, {\n lngs: ['fr'],\n nr: [1, 2],\n fc: 9\n}, {\n lngs: ['ga'],\n nr: [1, 2, 3, 7, 11],\n fc: 10\n}, {\n lngs: ['gd'],\n nr: [1, 2, 3, 20],\n fc: 11\n}, {\n lngs: ['is'],\n nr: [1, 2],\n fc: 12\n}, {\n lngs: ['jv'],\n nr: [0, 1],\n fc: 13\n}, {\n lngs: ['kw'],\n nr: [1, 2, 3, 4],\n fc: 14\n}, {\n lngs: ['lt'],\n nr: [1, 2, 10],\n fc: 15\n}, {\n lngs: ['lv'],\n nr: [1, 2, 0],\n fc: 16\n}, {\n lngs: ['mk'],\n nr: [1, 2],\n fc: 17\n}, {\n lngs: ['mnk'],\n nr: [0, 1, 2],\n fc: 18\n}, {\n lngs: ['mt'],\n nr: [1, 2, 11, 20],\n fc: 19\n}, {\n lngs: ['or'],\n nr: [2, 1],\n fc: 2\n}, {\n lngs: ['ro'],\n nr: [1, 2, 20],\n fc: 20\n}, {\n lngs: ['sl'],\n nr: [5, 1, 2, 3],\n fc: 21\n}, {\n lngs: ['he', 'iw'],\n nr: [1, 2, 20, 21],\n fc: 22\n}];\nvar _rulesPluralsTypes = {\n 1: function _(n) {\n return Number(n > 1);\n },\n 2: function _(n) {\n return Number(n != 1);\n },\n 3: function _(n) {\n return 0;\n },\n 4: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 5: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n },\n 6: function _(n) {\n return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2);\n },\n 7: function _(n) {\n return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 8: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3);\n },\n 9: function _(n) {\n return Number(n >= 2);\n },\n 10: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n },\n 11: function _(n) {\n return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3);\n },\n 12: function _(n) {\n return Number(n % 10 != 1 || n % 100 == 11);\n },\n 13: function _(n) {\n return Number(n !== 0);\n },\n 14: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3);\n },\n 15: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 16: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2);\n },\n 17: function _(n) {\n return Number(n == 1 || n % 10 == 1 && n % 100 != 11 ? 0 : 1);\n },\n 18: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : 2);\n },\n 19: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3);\n },\n 20: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2);\n },\n 21: function _(n) {\n return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0);\n },\n 22: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3);\n }\n};\nvar deprecatedJsonVersions = ['v1', 'v2', 'v3'];\nvar suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\n};\nfunction createRules() {\n var rules = {};\n sets.forEach(function (set) {\n set.lngs.forEach(function (l) {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, PluralResolver);\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n if ((!this.options.compatibilityJSON || this.options.compatibilityJSON === 'v4') && (typeof Intl === 'undefined' || !Intl.PluralRules)) {\n this.options.compatibilityJSON = 'v3';\n this.logger.error('Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.');\n }\n this.rules = createRules();\n }\n _createClass(PluralResolver, [{\n key: \"addRule\",\n value: function addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n }, {\n key: \"getRule\",\n value: function getRule(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (this.shouldUseIntlApi()) {\n try {\n return new Intl.PluralRules(code, {\n type: options.ordinal ? 'ordinal' : 'cardinal'\n });\n } catch (_unused) {\n return;\n }\n }\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n }, {\n key: \"needsPlural\",\n value: function needsPlural(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n if (this.shouldUseIntlApi()) {\n return rule && rule.resolvedOptions().pluralCategories.length > 1;\n }\n return rule && rule.numbers.length > 1;\n }\n }, {\n key: \"getPluralFormsOfKey\",\n value: function getPluralFormsOfKey(code, key) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return this.getSuffixes(code, options).map(function (suffix) {\n return \"\".concat(key).concat(suffix);\n });\n }\n }, {\n key: \"getSuffixes\",\n value: function getSuffixes(code) {\n var _this = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n if (!rule) {\n return [];\n }\n if (this.shouldUseIntlApi()) {\n return rule.resolvedOptions().pluralCategories.sort(function (pluralCategory1, pluralCategory2) {\n return suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2];\n }).map(function (pluralCategory) {\n return \"\".concat(_this.options.prepend).concat(pluralCategory);\n });\n }\n return rule.numbers.map(function (number) {\n return _this.getSuffix(code, number, options);\n });\n }\n }, {\n key: \"getSuffix\",\n value: function getSuffix(code, count) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var rule = this.getRule(code, options);\n if (rule) {\n if (this.shouldUseIntlApi()) {\n return \"\".concat(this.options.prepend).concat(rule.select(count));\n }\n return this.getSuffixRetroCompatible(rule, count);\n }\n this.logger.warn(\"no plural rule found for: \".concat(code));\n return '';\n }\n }, {\n key: \"getSuffixRetroCompatible\",\n value: function getSuffixRetroCompatible(rule, count) {\n var _this2 = this;\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\n };\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return \"_plural_\".concat(suffix.toString());\n return returnSuffix();\n } else if (this.options.compatibilityJSON === 'v2') {\n return returnSuffix();\n } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n }, {\n key: \"shouldUseIntlApi\",\n value: function shouldUseIntlApi() {\n return !deprecatedJsonVersions.includes(this.options.compatibilityJSON);\n }\n }]);\n return PluralResolver;\n}();\n\nfunction ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck(this, Interpolator);\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n this.init(options);\n }\n _createClass(Interpolator, [{\n key: \"init\",\n value: function init() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n var iOpts = options.interpolation;\n this.escape = iOpts.escape !== undefined ? iOpts.escape : escape;\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false;\n this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = iOpts.nestingOptionsSeparator ? iOpts.nestingOptionsSeparator : iOpts.nestingOptionsSeparator || ',';\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000;\n this.alwaysFormat = iOpts.alwaysFormat !== undefined ? iOpts.alwaysFormat : false;\n this.resetRegExp();\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this.options) this.init(this.options);\n }\n }, {\n key: \"resetRegExp\",\n value: function resetRegExp() {\n var regexpStr = \"\".concat(this.prefix, \"(.+?)\").concat(this.suffix);\n this.regexp = new RegExp(regexpStr, 'g');\n var regexpUnescapeStr = \"\".concat(this.prefix).concat(this.unescapePrefix, \"(.+?)\").concat(this.unescapeSuffix).concat(this.suffix);\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n var nestingRegexpStr = \"\".concat(this.nestingPrefix, \"(.+?)\").concat(this.nestingSuffix);\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n }\n }, {\n key: \"interpolate\",\n value: function interpolate(str, data, lng, options) {\n var _this = this;\n var match;\n var value;\n var replaces;\n var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) {\n var path = getPathWithDefaults(data, defaultData, key);\n return _this.alwaysFormat ? _this.format(path, undefined, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: key\n })) : path;\n }\n var p = key.split(_this.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this.formatSeparator).trim();\n return _this.format(getPathWithDefaults(data, defaultData, k), f, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: k\n }));\n };\n this.resetRegExp();\n var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables;\n var todos = [{\n regex: this.regexpUnescape,\n safeValue: function safeValue(val) {\n return regexSafe(val);\n }\n }, {\n regex: this.regexp,\n safeValue: function safeValue(val) {\n return _this.escapeValue ? regexSafe(_this.escape(val)) : regexSafe(val);\n }\n }];\n todos.forEach(function (todo) {\n replaces = 0;\n while (match = todo.regex.exec(str)) {\n var matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n var temp = missingInterpolationHandler(str, match, options);\n value = typeof temp === 'string' ? temp : '';\n } else if (options && Object.prototype.hasOwnProperty.call(options, matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n _this.logger.warn(\"missed to pass in variable \".concat(matchedVar, \" for interpolating \").concat(str));\n value = '';\n }\n } else if (typeof value !== 'string' && !_this.useRawValueToEscape) {\n value = makeString(value);\n }\n var safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n if (skipOnVariables) {\n todo.regex.lastIndex += value.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n replaces++;\n if (replaces >= _this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n }, {\n key: \"nest\",\n value: function nest(str, fc) {\n var _this2 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var match;\n var value;\n var clonedOptions;\n function handleHasOptions(key, inheritedOptions) {\n var sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n var c = key.split(new RegExp(\"\".concat(sep, \"[ ]*{\")));\n var optionsString = \"{\".concat(c[1]);\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n var matchedSingleQuotes = optionsString.match(/'/g);\n var matchedDoubleQuotes = optionsString.match(/\"/g);\n if (matchedSingleQuotes && matchedSingleQuotes.length % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) {\n optionsString = optionsString.replace(/'/g, '\"');\n }\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = _objectSpread$3(_objectSpread$3({}, inheritedOptions), clonedOptions);\n } catch (e) {\n this.logger.warn(\"failed parsing options string in nesting for key \".concat(key), e);\n return \"\".concat(key).concat(sep).concat(optionsString);\n }\n delete clonedOptions.defaultValue;\n return key;\n }\n while (match = this.nestingRegexp.exec(str)) {\n var formatters = [];\n clonedOptions = _objectSpread$3({}, options);\n clonedOptions = clonedOptions.replace && typeof clonedOptions.replace !== 'string' ? clonedOptions.replace : clonedOptions;\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n var doReduce = false;\n if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) {\n var r = match[1].split(this.formatSeparator).map(function (elem) {\n return elem.trim();\n });\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && typeof value !== 'string') return value;\n if (typeof value !== 'string') value = makeString(value);\n if (!value) {\n this.logger.warn(\"missed to resolve \".concat(match[1], \" for nesting \").concat(str));\n value = '';\n }\n if (doReduce) {\n value = formatters.reduce(function (v, f) {\n return _this2.format(v, f, options.lng, _objectSpread$3(_objectSpread$3({}, options), {}, {\n interpolationkey: match[1].trim()\n }));\n }, value.trim());\n }\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n return str;\n }\n }]);\n return Interpolator;\n}();\n\nfunction ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction parseFormatStr(formatStr) {\n var formatName = formatStr.toLowerCase().trim();\n var formatOptions = {};\n if (formatStr.indexOf('(') > -1) {\n var p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n var optStr = p[1].substring(0, p[1].length - 1);\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n var opts = optStr.split(';');\n opts.forEach(function (opt) {\n if (!opt) return;\n var _opt$split = opt.split(':'),\n _opt$split2 = _toArray(_opt$split),\n key = _opt$split2[0],\n rest = _opt$split2.slice(1);\n var val = rest.join(':').trim().replace(/^'+|'+$/g, '');\n if (!formatOptions[key.trim()]) formatOptions[key.trim()] = val;\n if (val === 'false') formatOptions[key.trim()] = false;\n if (val === 'true') formatOptions[key.trim()] = true;\n if (!isNaN(val)) formatOptions[key.trim()] = parseInt(val, 10);\n });\n }\n }\n return {\n formatName: formatName,\n formatOptions: formatOptions\n };\n}\nfunction createCachedFormatter(fn) {\n var cache = {};\n return function invokeFormatter(val, lng, options) {\n var key = lng + JSON.stringify(options);\n var formatter = cache[key];\n if (!formatter) {\n formatter = fn(lng, options);\n cache[key] = formatter;\n }\n return formatter(val);\n };\n}\nvar Formatter = function () {\n function Formatter() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck(this, Formatter);\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.formats = {\n number: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.NumberFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val);\n };\n }),\n currency: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.NumberFormat(lng, _objectSpread$2(_objectSpread$2({}, opt), {}, {\n style: 'currency'\n }));\n return function (val) {\n return formatter.format(val);\n };\n }),\n datetime: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.DateTimeFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val);\n };\n }),\n relativetime: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.RelativeTimeFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val, opt.range || 'day');\n };\n }),\n list: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.ListFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val);\n };\n })\n };\n this.init(options);\n }\n _createClass(Formatter, [{\n key: \"init\",\n value: function init(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n var iOpts = options.interpolation;\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n }\n }, {\n key: \"add\",\n value: function add(name, fc) {\n this.formats[name.toLowerCase().trim()] = fc;\n }\n }, {\n key: \"addCached\",\n value: function addCached(name, fc) {\n this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc);\n }\n }, {\n key: \"format\",\n value: function format(value, _format, lng) {\n var _this = this;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var formats = _format.split(this.formatSeparator);\n var result = formats.reduce(function (mem, f) {\n var _parseFormatStr = parseFormatStr(f),\n formatName = _parseFormatStr.formatName,\n formatOptions = _parseFormatStr.formatOptions;\n if (_this.formats[formatName]) {\n var formatted = mem;\n try {\n var valOptions = options && options.formatParams && options.formatParams[options.interpolationkey] || {};\n var l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = _this.formats[formatName](mem, l, _objectSpread$2(_objectSpread$2(_objectSpread$2({}, formatOptions), options), valOptions));\n } catch (error) {\n _this.logger.warn(error);\n }\n return formatted;\n } else {\n _this.logger.warn(\"there was no format function for \".concat(formatName));\n }\n return mem;\n }, value);\n return result;\n }\n }]);\n return Formatter;\n}();\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct$1() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction removePending(q, name) {\n if (q.pending[name] !== undefined) {\n delete q.pending[name];\n q.pendingCount--;\n }\n}\nvar Connector = function (_EventEmitter) {\n _inherits(Connector, _EventEmitter);\n var _super = _createSuper$1(Connector);\n function Connector(backend, store, services) {\n var _this;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n _classCallCheck(this, Connector);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.backend = backend;\n _this.store = store;\n _this.services = services;\n _this.languageUtils = services.languageUtils;\n _this.options = options;\n _this.logger = baseLogger.create('backendConnector');\n _this.waitingReads = [];\n _this.maxParallelReads = options.maxParallelReads || 10;\n _this.readingCalls = 0;\n _this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5;\n _this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350;\n _this.state = {};\n _this.queue = [];\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n return _this;\n }\n _createClass(Connector, [{\n key: \"queueLoad\",\n value: function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\n var toLoad = {};\n var pending = {};\n var toLoadLanguages = {};\n var toLoadNamespaces = {};\n languages.forEach(function (lng) {\n var hasAllNamespaces = true;\n namespaces.forEach(function (ns) {\n var name = \"\".concat(lng, \"|\").concat(ns);\n if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) {\n _this2.state[name] = 2;\n } else if (_this2.state[name] < 0) ; else if (_this2.state[name] === 1) {\n if (pending[name] === undefined) pending[name] = true;\n } else {\n _this2.state[name] = 1;\n hasAllNamespaces = false;\n if (pending[name] === undefined) pending[name] = true;\n if (toLoad[name] === undefined) toLoad[name] = true;\n if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;\n }\n });\n if (!hasAllNamespaces) toLoadLanguages[lng] = true;\n });\n if (Object.keys(toLoad).length || Object.keys(pending).length) {\n this.queue.push({\n pending: pending,\n pendingCount: Object.keys(pending).length,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n return {\n toLoad: Object.keys(toLoad),\n pending: Object.keys(pending),\n toLoadLanguages: Object.keys(toLoadLanguages),\n toLoadNamespaces: Object.keys(toLoadNamespaces)\n };\n }\n }, {\n key: \"loaded\",\n value: function loaded(name, err, data) {\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n this.state[name] = err ? -1 : 2;\n var loaded = {};\n this.queue.forEach(function (q) {\n pushPath(q.loaded, [lng], ns);\n removePending(q, name);\n if (err) q.errors.push(err);\n if (q.pendingCount === 0 && !q.done) {\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = {};\n var loadedKeys = q.loaded[l];\n if (loadedKeys.length) {\n loadedKeys.forEach(function (n) {\n if (loaded[l][n] === undefined) loaded[l][n] = true;\n });\n }\n });\n q.done = true;\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n }\n }, {\n key: \"read\",\n value: function read(lng, ns, fcName) {\n var _this3 = this;\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : this.retryTimeout;\n var callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n if (this.readingCalls >= this.maxParallelReads) {\n this.waitingReads.push({\n lng: lng,\n ns: ns,\n fcName: fcName,\n tried: tried,\n wait: wait,\n callback: callback\n });\n return;\n }\n this.readingCalls++;\n var resolver = function resolver(err, data) {\n _this3.readingCalls--;\n if (_this3.waitingReads.length > 0) {\n var next = _this3.waitingReads.shift();\n _this3.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\n if (err && data && tried < _this3.maxRetries) {\n setTimeout(function () {\n _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n callback(err, data);\n };\n var fc = this.backend[fcName].bind(this.backend);\n if (fc.length === 2) {\n try {\n var r = fc(lng, ns);\n if (r && typeof r.then === 'function') {\n r.then(function (data) {\n return resolver(null, data);\n })[\"catch\"](resolver);\n } else {\n resolver(null, r);\n }\n } catch (err) {\n resolver(err);\n }\n return;\n }\n return fc(lng, ns, resolver);\n }\n }, {\n key: \"prepareLoading\",\n value: function prepareLoading(languages, namespaces) {\n var _this4 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments.length > 3 ? arguments[3] : undefined;\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n var toLoad = this.queueLoad(languages, namespaces, options, callback);\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n toLoad.toLoad.forEach(function (name) {\n _this4.loadOne(name);\n });\n }\n }, {\n key: \"load\",\n value: function load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n }, {\n key: \"reload\",\n value: function reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n }, {\n key: \"loadOne\",\n value: function loadOne(name) {\n var _this5 = this;\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, function (err, data) {\n if (err) _this5.logger.warn(\"\".concat(prefix, \"loading namespace \").concat(ns, \" for language \").concat(lng, \" failed\"), err);\n if (!err && data) _this5.logger.log(\"\".concat(prefix, \"loaded namespace \").concat(ns, \" for language \").concat(lng), data);\n _this5.loaded(name, err, data);\n });\n }\n }, {\n key: \"saveMissing\",\n value: function saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n var clb = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : function () {};\n if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {\n this.logger.warn(\"did not save key \\\"\".concat(key, \"\\\" as the namespace \\\"\").concat(namespace, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n if (key === undefined || key === null || key === '') return;\n if (this.backend && this.backend.create) {\n var opts = _objectSpread$1(_objectSpread$1({}, options), {}, {\n isUpdate: isUpdate\n });\n var fc = this.backend.create.bind(this.backend);\n if (fc.length < 6) {\n try {\n var r;\n if (fc.length === 5) {\n r = fc(languages, namespace, key, fallbackValue, opts);\n } else {\n r = fc(languages, namespace, key, fallbackValue);\n }\n if (r && typeof r.then === 'function') {\n r.then(function (data) {\n return clb(null, data);\n })[\"catch\"](clb);\n } else {\n clb(null, r);\n }\n } catch (err) {\n clb(err);\n }\n } else {\n fc(languages, namespace, key, fallbackValue, clb, opts);\n }\n }\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n }]);\n return Connector;\n}(EventEmitter);\n\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: true,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: function handle(args) {\n var ret = {};\n if (_typeof(args[1]) === 'object') ret = args[1];\n if (typeof args[1] === 'string') ret.defaultValue = args[1];\n if (typeof args[2] === 'string') ret.tDescription = args[2];\n if (_typeof(args[2]) === 'object' || _typeof(args[3]) === 'object') {\n var options = args[3] || args[2];\n Object.keys(options).forEach(function (key) {\n ret[key] = options[key];\n });\n }\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: function format(value, _format, lng, options) {\n return value;\n },\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: true\n }\n };\n}\nfunction transformOptions(options) {\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n return options;\n}\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction noop() {}\nfunction bindMemberFunctions(inst) {\n var mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(function (mem) {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n}\nvar I18n = function (_EventEmitter) {\n _inherits(I18n, _EventEmitter);\n var _super = _createSuper(I18n);\n function I18n() {\n var _this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n _classCallCheck(this, I18n);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = {\n external: []\n };\n bindMemberFunctions(_assertThisInitialized(_this));\n if (callback && !_this.isInitialized && !options.isClone) {\n if (!_this.options.initImmediate) {\n _this.init(options, callback);\n return _possibleConstructorReturn(_this, _assertThisInitialized(_this));\n }\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n return _this;\n }\n _createClass(I18n, [{\n key: \"init\",\n value: function init() {\n var _this2 = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (!options.defaultNS && options.defaultNS !== false && options.ns) {\n if (typeof options.ns === 'string') {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n var defOpts = get();\n this.options = _objectSpread(_objectSpread(_objectSpread({}, defOpts), this.options), transformOptions(options));\n if (this.options.compatibilityAPI !== 'v1') {\n this.options.interpolation = _objectSpread(_objectSpread({}, defOpts.interpolation), this.options.interpolation);\n }\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n var formatter;\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else if (typeof Intl !== 'undefined') {\n formatter = Formatter;\n }\n var lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n var s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n compatibilityJSON: this.options.compatibilityJSON,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {\n s.formatter = createClassOnDemand(formatter);\n s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n _this2.emit.apply(_this2, [event].concat(args));\n });\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options);\n }\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n _this2.emit.apply(_this2, [event].concat(args));\n });\n this.modules.external.forEach(function (m) {\n if (m.init) m.init(_this2);\n });\n }\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n var codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store;\n return (_this2$store = _this2.store)[fcName].apply(_this2$store, arguments);\n };\n });\n var storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store2;\n (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments);\n return _this2;\n };\n });\n var deferred = defer();\n var load = function load() {\n var finish = function finish(err, t) {\n if (_this2.isInitialized && !_this2.initializedStoreOnce) _this2.logger.warn('init: i18next is already initialized. You should call init just once!');\n _this2.isInitialized = true;\n if (!_this2.options.isClone) _this2.logger.log('initialized', _this2.options);\n _this2.emit('initialized', _this2.options);\n deferred.resolve(t);\n callback(err, t);\n };\n if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2));\n _this2.changeLanguage(_this2.options.lng, finish);\n };\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n return deferred;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(language) {\n var _this3 = this;\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var usedCallback = callback;\n var usedLng = typeof language === 'string' ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();\n var toLoad = [];\n var append = function append(lng) {\n if (!lng) return;\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n if (!usedLng) {\n var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(function (l) {\n return append(l);\n });\n } else {\n append(usedLng);\n }\n if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n this.services.backendConnector.load(toLoad, this.options.ns, function (e) {\n if (!e && !_this3.resolvedLanguage && _this3.language) _this3.setResolvedLanguage(_this3.language);\n usedCallback(e);\n });\n } else {\n usedCallback(null);\n }\n }\n }, {\n key: \"reloadResources\",\n value: function reloadResources(lngs, ns, callback) {\n var deferred = defer();\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, function (err) {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n }, {\n key: \"use\",\n value: function use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n return this;\n }\n }, {\n key: \"setResolvedLanguage\",\n value: function setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n for (var li = 0; li < this.languages.length; li++) {\n var lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n }\n }, {\n key: \"changeLanguage\",\n value: function changeLanguage(lng, callback) {\n var _this4 = this;\n this.isLanguageChangingTo = lng;\n var deferred = defer();\n this.emit('languageChanging', lng);\n var setLngProps = function setLngProps(l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n _this4.resolvedLanguage = undefined;\n _this4.setResolvedLanguage(l);\n };\n var done = function done(err, l) {\n if (l) {\n setLngProps(l);\n _this4.translator.changeLanguage(l);\n _this4.isLanguageChangingTo = undefined;\n _this4.emit('languageChanged', l);\n _this4.logger.log('languageChanged', l);\n } else {\n _this4.isLanguageChangingTo = undefined;\n }\n deferred.resolve(function () {\n return _this4.t.apply(_this4, arguments);\n });\n if (callback) callback(err, function () {\n return _this4.t.apply(_this4, arguments);\n });\n };\n var setLng = function setLng(lngs) {\n if (!lng && !lngs && _this4.services.languageDetector) lngs = [];\n var l = typeof lngs === 'string' ? lngs : _this4.services.languageUtils.getBestMatchFromCodes(lngs);\n if (l) {\n if (!_this4.language) {\n setLngProps(l);\n }\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n if (_this4.services.languageDetector && _this4.services.languageDetector.cacheUserLanguage) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n _this4.loadResources(l, function (err) {\n done(err, l);\n });\n };\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n if (this.services.languageDetector.detect.length === 0) {\n this.services.languageDetector.detect().then(setLng);\n } else {\n this.services.languageDetector.detect(setLng);\n }\n } else {\n setLng(lng);\n }\n return deferred;\n }\n }, {\n key: \"getFixedT\",\n value: function getFixedT(lng, ns, keyPrefix) {\n var _this5 = this;\n var fixedT = function fixedT(key, opts) {\n var options;\n if (_typeof(opts) !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = _objectSpread({}, opts);\n }\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n options.keyPrefix = options.keyPrefix || keyPrefix || fixedT.keyPrefix;\n var keySeparator = _this5.options.keySeparator || '.';\n var resultKey;\n if (options.keyPrefix && Array.isArray(key)) {\n resultKey = key.map(function (k) {\n return \"\".concat(options.keyPrefix).concat(keySeparator).concat(k);\n });\n } else {\n resultKey = options.keyPrefix ? \"\".concat(options.keyPrefix).concat(keySeparator).concat(key) : key;\n }\n return _this5.t(resultKey, options);\n };\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n }, {\n key: \"t\",\n value: function t() {\n var _this$translator;\n return this.translator && (_this$translator = this.translator).translate.apply(_this$translator, arguments);\n }\n }, {\n key: \"exists\",\n value: function exists() {\n var _this$translator2;\n return this.translator && (_this$translator2 = this.translator).exists.apply(_this$translator2, arguments);\n }\n }, {\n key: \"setDefaultNamespace\",\n value: function setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n }, {\n key: \"hasLoadedNamespace\",\n value: function hasLoadedNamespace(ns) {\n var _this6 = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n var lng = this.resolvedLanguage || this.languages[0];\n var fallbackLng = this.options ? this.options.fallbackLng : false;\n var lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = _this6.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n if (options.precheck) {\n var preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n }, {\n key: \"loadNamespaces\",\n value: function loadNamespaces(ns, callback) {\n var _this7 = this;\n var deferred = defer();\n if (!this.options.ns) {\n if (callback) callback();\n return Promise.resolve();\n }\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(function (n) {\n if (_this7.options.ns.indexOf(n) < 0) _this7.options.ns.push(n);\n });\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"loadLanguages\",\n value: function loadLanguages(lngs, callback) {\n var deferred = defer();\n if (typeof lngs === 'string') lngs = [lngs];\n var preloaded = this.options.preload || [];\n var newLngs = lngs.filter(function (lng) {\n return preloaded.indexOf(lng) < 0;\n });\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"dir\",\n value: function dir(lng) {\n if (!lng) lng = this.resolvedLanguage || (this.languages && this.languages.length > 0 ? this.languages[0] : this.language);\n if (!lng) return 'rtl';\n var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb'];\n var languageUtils = this.services && this.services.languageUtils || new LanguageUtil(get());\n return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n }, {\n key: \"cloneInstance\",\n value: function cloneInstance() {\n var _this8 = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var mergedOptions = _objectSpread(_objectSpread(_objectSpread({}, this.options), options), {\n isClone: true\n });\n var clone = new I18n(mergedOptions);\n if (options.debug !== undefined || options.prefix !== undefined) {\n clone.logger = clone.logger.clone(options);\n }\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this8[m];\n });\n clone.services = _objectSpread({}, this.services);\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n clone.translator = new Translator(clone.services, clone.options);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n clone.emit.apply(clone, [event].concat(args));\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = clone.options;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages,\n resolvedLanguage: this.resolvedLanguage\n };\n }\n }]);\n return I18n;\n}(EventEmitter);\n_defineProperty(I18n, \"createInstance\", function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n return new I18n(options, callback);\n});\nvar instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\n\nvar createInstance = instance.createInstance;\nvar dir = instance.dir;\nvar init = instance.init;\nvar loadResources = instance.loadResources;\nvar reloadResources = instance.reloadResources;\nvar use = instance.use;\nvar changeLanguage = instance.changeLanguage;\nvar getFixedT = instance.getFixedT;\nvar t = instance.t;\nvar exists = instance.exists;\nvar setDefaultNamespace = instance.setDefaultNamespace;\nvar hasLoadedNamespace = instance.hasLoadedNamespace;\nvar loadNamespaces = instance.loadNamespaces;\nvar loadLanguages = instance.loadLanguages;\n\nexport { changeLanguage, createInstance, instance as default, dir, exists, getFixedT, hasLoadedNamespace, init, loadLanguages, loadNamespaces, loadResources, reloadResources, setDefaultNamespace, t, use };\n","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}","import _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\n\nvar arr = [];\nvar each = arr.forEach;\nvar slice = arr.slice;\nfunction defaults(obj) {\n each.call(slice.call(arguments, 1), function (source) {\n if (source) {\n for (var prop in source) {\n if (obj[prop] === undefined) obj[prop] = source[prop];\n }\n }\n });\n return obj;\n}\n\n// eslint-disable-next-line no-control-regex\nvar fieldContentRegExp = /^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/;\nvar serializeCookie = function serializeCookie(name, val, options) {\n var opt = options || {};\n opt.path = opt.path || '/';\n var value = encodeURIComponent(val);\n var str = \"\".concat(name, \"=\").concat(value);\n if (opt.maxAge > 0) {\n var maxAge = opt.maxAge - 0;\n if (Number.isNaN(maxAge)) throw new Error('maxAge should be a Number');\n str += \"; Max-Age=\".concat(Math.floor(maxAge));\n }\n if (opt.domain) {\n if (!fieldContentRegExp.test(opt.domain)) {\n throw new TypeError('option domain is invalid');\n }\n str += \"; Domain=\".concat(opt.domain);\n }\n if (opt.path) {\n if (!fieldContentRegExp.test(opt.path)) {\n throw new TypeError('option path is invalid');\n }\n str += \"; Path=\".concat(opt.path);\n }\n if (opt.expires) {\n if (typeof opt.expires.toUTCString !== 'function') {\n throw new TypeError('option expires is invalid');\n }\n str += \"; Expires=\".concat(opt.expires.toUTCString());\n }\n if (opt.httpOnly) str += '; HttpOnly';\n if (opt.secure) str += '; Secure';\n if (opt.sameSite) {\n var sameSite = typeof opt.sameSite === 'string' ? opt.sameSite.toLowerCase() : opt.sameSite;\n switch (sameSite) {\n case true:\n str += '; SameSite=Strict';\n break;\n case 'lax':\n str += '; SameSite=Lax';\n break;\n case 'strict':\n str += '; SameSite=Strict';\n break;\n case 'none':\n str += '; SameSite=None';\n break;\n default:\n throw new TypeError('option sameSite is invalid');\n }\n }\n return str;\n};\nvar cookie = {\n create: function create(name, value, minutes, domain) {\n var cookieOptions = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n path: '/',\n sameSite: 'strict'\n };\n if (minutes) {\n cookieOptions.expires = new Date();\n cookieOptions.expires.setTime(cookieOptions.expires.getTime() + minutes * 60 * 1000);\n }\n if (domain) cookieOptions.domain = domain;\n document.cookie = serializeCookie(name, encodeURIComponent(value), cookieOptions);\n },\n read: function read(name) {\n var nameEQ = \"\".concat(name, \"=\");\n var ca = document.cookie.split(';');\n for (var i = 0; i < ca.length; i++) {\n var c = ca[i];\n while (c.charAt(0) === ' ') {\n c = c.substring(1, c.length);\n }\n if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);\n }\n return null;\n },\n remove: function remove(name) {\n this.create(name, '', -1);\n }\n};\nvar cookie$1 = {\n name: 'cookie',\n lookup: function lookup(options) {\n var found;\n if (options.lookupCookie && typeof document !== 'undefined') {\n var c = cookie.read(options.lookupCookie);\n if (c) found = c;\n }\n return found;\n },\n cacheUserLanguage: function cacheUserLanguage(lng, options) {\n if (options.lookupCookie && typeof document !== 'undefined') {\n cookie.create(options.lookupCookie, lng, options.cookieMinutes, options.cookieDomain, options.cookieOptions);\n }\n }\n};\n\nvar querystring = {\n name: 'querystring',\n lookup: function lookup(options) {\n var found;\n if (typeof window !== 'undefined') {\n var search = window.location.search;\n if (!window.location.search && window.location.hash && window.location.hash.indexOf('?') > -1) {\n search = window.location.hash.substring(window.location.hash.indexOf('?'));\n }\n var query = search.substring(1);\n var params = query.split('&');\n for (var i = 0; i < params.length; i++) {\n var pos = params[i].indexOf('=');\n if (pos > 0) {\n var key = params[i].substring(0, pos);\n if (key === options.lookupQuerystring) {\n found = params[i].substring(pos + 1);\n }\n }\n }\n }\n return found;\n }\n};\n\nvar hasLocalStorageSupport = null;\nvar localStorageAvailable = function localStorageAvailable() {\n if (hasLocalStorageSupport !== null) return hasLocalStorageSupport;\n try {\n hasLocalStorageSupport = window !== 'undefined' && window.localStorage !== null;\n var testKey = 'i18next.translate.boo';\n window.localStorage.setItem(testKey, 'foo');\n window.localStorage.removeItem(testKey);\n } catch (e) {\n hasLocalStorageSupport = false;\n }\n return hasLocalStorageSupport;\n};\nvar localStorage = {\n name: 'localStorage',\n lookup: function lookup(options) {\n var found;\n if (options.lookupLocalStorage && localStorageAvailable()) {\n var lng = window.localStorage.getItem(options.lookupLocalStorage);\n if (lng) found = lng;\n }\n return found;\n },\n cacheUserLanguage: function cacheUserLanguage(lng, options) {\n if (options.lookupLocalStorage && localStorageAvailable()) {\n window.localStorage.setItem(options.lookupLocalStorage, lng);\n }\n }\n};\n\nvar hasSessionStorageSupport = null;\nvar sessionStorageAvailable = function sessionStorageAvailable() {\n if (hasSessionStorageSupport !== null) return hasSessionStorageSupport;\n try {\n hasSessionStorageSupport = window !== 'undefined' && window.sessionStorage !== null;\n var testKey = 'i18next.translate.boo';\n window.sessionStorage.setItem(testKey, 'foo');\n window.sessionStorage.removeItem(testKey);\n } catch (e) {\n hasSessionStorageSupport = false;\n }\n return hasSessionStorageSupport;\n};\nvar sessionStorage = {\n name: 'sessionStorage',\n lookup: function lookup(options) {\n var found;\n if (options.lookupSessionStorage && sessionStorageAvailable()) {\n var lng = window.sessionStorage.getItem(options.lookupSessionStorage);\n if (lng) found = lng;\n }\n return found;\n },\n cacheUserLanguage: function cacheUserLanguage(lng, options) {\n if (options.lookupSessionStorage && sessionStorageAvailable()) {\n window.sessionStorage.setItem(options.lookupSessionStorage, lng);\n }\n }\n};\n\nvar navigator$1 = {\n name: 'navigator',\n lookup: function lookup(options) {\n var found = [];\n if (typeof navigator !== 'undefined') {\n if (navigator.languages) {\n // chrome only; not an array, so can't use .push.apply instead of iterating\n for (var i = 0; i < navigator.languages.length; i++) {\n found.push(navigator.languages[i]);\n }\n }\n if (navigator.userLanguage) {\n found.push(navigator.userLanguage);\n }\n if (navigator.language) {\n found.push(navigator.language);\n }\n }\n return found.length > 0 ? found : undefined;\n }\n};\n\nvar htmlTag = {\n name: 'htmlTag',\n lookup: function lookup(options) {\n var found;\n var htmlTag = options.htmlTag || (typeof document !== 'undefined' ? document.documentElement : null);\n if (htmlTag && typeof htmlTag.getAttribute === 'function') {\n found = htmlTag.getAttribute('lang');\n }\n return found;\n }\n};\n\nvar path = {\n name: 'path',\n lookup: function lookup(options) {\n var found;\n if (typeof window !== 'undefined') {\n var language = window.location.pathname.match(/\\/([a-zA-Z-]*)/g);\n if (language instanceof Array) {\n if (typeof options.lookupFromPathIndex === 'number') {\n if (typeof language[options.lookupFromPathIndex] !== 'string') {\n return undefined;\n }\n found = language[options.lookupFromPathIndex].replace('/', '');\n } else {\n found = language[0].replace('/', '');\n }\n }\n }\n return found;\n }\n};\n\nvar subdomain = {\n name: 'subdomain',\n lookup: function lookup(options) {\n // If given get the subdomain index else 1\n var lookupFromSubdomainIndex = typeof options.lookupFromSubdomainIndex === 'number' ? options.lookupFromSubdomainIndex + 1 : 1;\n // get all matches if window.location. is existing\n // first item of match is the match itself and the second is the first group macht which sould be the first subdomain match\n // is the hostname no public domain get the or option of localhost\n var language = typeof window !== 'undefined' && window.location && window.location.hostname && window.location.hostname.match(/^(\\w{2,5})\\.(([a-z0-9-]{1,63}\\.[a-z]{2,6})|localhost)/i);\n\n // if there is no match (null) return undefined\n if (!language) return undefined;\n // return the given group match\n return language[lookupFromSubdomainIndex];\n }\n};\n\nfunction getDefaults() {\n return {\n order: ['querystring', 'cookie', 'localStorage', 'sessionStorage', 'navigator', 'htmlTag'],\n lookupQuerystring: 'lng',\n lookupCookie: 'i18next',\n lookupLocalStorage: 'i18nextLng',\n lookupSessionStorage: 'i18nextLng',\n // cache user language\n caches: ['localStorage'],\n excludeCacheFor: ['cimode']\n // cookieMinutes: 10,\n // cookieDomain: 'myDomain'\n };\n}\nvar Browser = /*#__PURE__*/function () {\n function Browser(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Browser);\n this.type = 'languageDetector';\n this.detectors = {};\n this.init(services, options);\n }\n _createClass(Browser, [{\n key: \"init\",\n value: function init(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var i18nOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n this.services = services;\n this.options = defaults(options, this.options || {}, getDefaults());\n\n // backwards compatibility\n if (this.options.lookupFromUrlIndex) this.options.lookupFromPathIndex = this.options.lookupFromUrlIndex;\n this.i18nOptions = i18nOptions;\n this.addDetector(cookie$1);\n this.addDetector(querystring);\n this.addDetector(localStorage);\n this.addDetector(sessionStorage);\n this.addDetector(navigator$1);\n this.addDetector(htmlTag);\n this.addDetector(path);\n this.addDetector(subdomain);\n }\n }, {\n key: \"addDetector\",\n value: function addDetector(detector) {\n this.detectors[detector.name] = detector;\n }\n }, {\n key: \"detect\",\n value: function detect(detectionOrder) {\n var _this = this;\n if (!detectionOrder) detectionOrder = this.options.order;\n var detected = [];\n detectionOrder.forEach(function (detectorName) {\n if (_this.detectors[detectorName]) {\n var lookup = _this.detectors[detectorName].lookup(_this.options);\n if (lookup && typeof lookup === 'string') lookup = [lookup];\n if (lookup) detected = detected.concat(lookup);\n }\n });\n if (this.services.languageUtils.getBestMatchFromCodes) return detected; // new i18next v19.5.0\n return detected.length > 0 ? detected[0] : null; // a little backward compatibility\n }\n }, {\n key: \"cacheUserLanguage\",\n value: function cacheUserLanguage(lng, caches) {\n var _this2 = this;\n if (!caches) caches = this.options.caches;\n if (!caches) return;\n if (this.options.excludeCacheFor && this.options.excludeCacheFor.indexOf(lng) > -1) return;\n caches.forEach(function (cacheName) {\n if (_this2.detectors[cacheName]) _this2.detectors[cacheName].cacheUserLanguage(lng, _this2.options);\n });\n }\n }]);\n return Browser;\n}();\nBrowser.type = 'languageDetector';\n\nexport { Browser as default };\n","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\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 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 return target;\n}","/**\n * This file automatically generated from `pre-publish.js`.\n * Do not manually edit.\n */\n\nmodule.exports = {\n \"area\": true,\n \"base\": true,\n \"br\": true,\n \"col\": true,\n \"embed\": true,\n \"hr\": true,\n \"img\": true,\n \"input\": true,\n \"link\": true,\n \"meta\": true,\n \"param\": true,\n \"source\": true,\n \"track\": true,\n \"wbr\": true\n};\n","import e from\"void-elements\";var t=/\\s([^'\"/\\s><]+?)[\\s/>]|([^\\s=]+)=\\s?(\".*?\"|'.*?')/g;function n(n){var r={type:\"tag\",name:\"\",voidElement:!1,attrs:{},children:[]},i=n.match(/<\\/?([^\\s]+?)[/\\s>]/);if(i&&(r.name=i[1],(e[i[1]]||\"/\"===n.charAt(n.length-2))&&(r.voidElement=!0),r.name.startsWith(\"!--\"))){var s=n.indexOf(\"--\\x3e\");return{type:\"comment\",comment:-1!==s?n.slice(4,s):\"\"}}for(var a=new RegExp(t),c=null;null!==(c=a.exec(n));)if(c[0].trim())if(c[1]){var o=c[1].trim(),l=[o,\"\"];o.indexOf(\"=\")>-1&&(l=o.split(\"=\")),r.attrs[l[0]]=l[1],a.lastIndex--}else c[2]&&(r.attrs[c[2]]=c[3].trim().substring(1,c[3].length-1));return r}var r=/<[a-zA-Z0-9\\-\\!\\/](?:\"[^\"]*\"|'[^']*'|[^'\">])*>/g,i=/^\\s*$/,s=Object.create(null);function a(e,t){switch(t.type){case\"text\":return e+t.content;case\"tag\":return e+=\"<\"+t.name+(t.attrs?function(e){var t=[];for(var n in e)t.push(n+'=\"'+e[n]+'\"');return t.length?\" \"+t.join(\" \"):\"\"}(t.attrs):\"\")+(t.voidElement?\"/>\":\">\"),t.voidElement?e:e+t.children.reduce(a,\"\")+\"</\"+t.name+\">\";case\"comment\":return e+\"\\x3c!--\"+t.comment+\"--\\x3e\"}}var c={parse:function(e,t){t||(t={}),t.components||(t.components=s);var a,c=[],o=[],l=-1,m=!1;if(0!==e.indexOf(\"<\")){var u=e.indexOf(\"<\");c.push({type:\"text\",content:-1===u?e:e.substring(0,u)})}return e.replace(r,function(r,s){if(m){if(r!==\"</\"+a.name+\">\")return;m=!1}var u,f=\"/\"!==r.charAt(1),h=r.startsWith(\"\\x3c!--\"),p=s+r.length,d=e.charAt(p);if(h){var v=n(r);return l<0?(c.push(v),c):((u=o[l]).children.push(v),c)}if(f&&(l++,\"tag\"===(a=n(r)).type&&t.components[a.name]&&(a.type=\"component\",m=!0),a.voidElement||m||!d||\"<\"===d||a.children.push({type:\"text\",content:e.slice(p,e.indexOf(\"<\",p))}),0===l&&c.push(a),(u=o[l-1])&&u.children.push(a),o[l]=a),(!f||a.voidElement)&&(l>-1&&(a.voidElement||a.name===r.slice(2,-1))&&(l--,a=-1===l?c:o[l]),!m&&\"<\"!==d&&d)){u=-1===l?c:o[l].children;var x=e.indexOf(\"<\",p),g=e.slice(p,-1===x?void 0:x);i.test(g)&&(g=\" \"),(x>-1&&l+u.length>=0||\" \"!==g)&&u.push({type:\"text\",content:g})}}),c},stringify:function(e){return e.reduce(function(e,t){return e+a(\"\",t)},\"\")}};export default c;\n//# sourceMappingURL=html-parse-stringify.module.js.map\n","export function warn() {\n if (console && console.warn) {\n var _console;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (typeof args[0] === 'string') args[0] = \"react-i18next:: \".concat(args[0]);\n\n (_console = console).warn.apply(_console, args);\n }\n}\nvar alreadyWarned = {};\nexport function warnOnce() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (typeof args[0] === 'string' && alreadyWarned[args[0]]) return;\n if (typeof args[0] === 'string') alreadyWarned[args[0]] = new Date();\n warn.apply(void 0, args);\n}\nexport function loadNamespaces(i18n, ns, cb) {\n i18n.loadNamespaces(ns, function () {\n if (i18n.isInitialized) {\n cb();\n } else {\n var initialized = function initialized() {\n setTimeout(function () {\n i18n.off('initialized', initialized);\n }, 0);\n cb();\n };\n\n i18n.on('initialized', initialized);\n }\n });\n}\n\nfunction oldI18nextHasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var lng = i18n.languages[0];\n var fallbackLng = i18n.options ? i18n.options.fallbackLng : false;\n var lastLng = i18n.languages[i18n.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = i18n.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18n.services.backendConnector.backend && i18n.isLanguageChangingTo && !loadNotPending(i18n.isLanguageChangingTo, ns)) return false;\n if (i18n.hasResourceBundle(lng, ns)) return true;\n if (!i18n.services.backendConnector.backend || i18n.options.resources && !i18n.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n}\n\nexport function hasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (!i18n.languages || !i18n.languages.length) {\n warnOnce('i18n.languages were undefined or empty', i18n.languages);\n return true;\n }\n\n var isNewerI18next = i18n.options.ignoreJSONStructure !== undefined;\n\n if (!isNewerI18next) {\n return oldI18nextHasLoadedNamespace(ns, i18n, options);\n }\n\n return i18n.hasLoadedNamespace(ns, {\n precheck: function precheck(i18nInstance, loadNotPending) {\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18nInstance.services.backendConnector.backend && i18nInstance.isLanguageChangingTo && !loadNotPending(i18nInstance.isLanguageChangingTo, ns)) return false;\n }\n });\n}\nexport function getDisplayName(Component) {\n return Component.displayName || Component.name || (typeof Component === 'string' && Component.length > 0 ? Component : 'Unknown');\n}","var matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;\nvar htmlEntities = {\n '&amp;': '&',\n '&#38;': '&',\n '&lt;': '<',\n '&#60;': '<',\n '&gt;': '>',\n '&#62;': '>',\n '&apos;': \"'\",\n '&#39;': \"'\",\n '&quot;': '\"',\n '&#34;': '\"',\n '&nbsp;': ' ',\n '&#160;': ' ',\n '&copy;': '©',\n '&#169;': '©',\n '&reg;': '®',\n '&#174;': '®',\n '&hellip;': '…',\n '&#8230;': '…',\n '&#x2F;': '/',\n '&#47;': '/'\n};\n\nvar unescapeHtmlEntity = function unescapeHtmlEntity(m) {\n return htmlEntities[m];\n};\n\nexport var unescape = function unescape(text) {\n return text.replace(matchHtmlEntity, unescapeHtmlEntity);\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { unescape } from './unescape.js';\nvar defaultOptions = {\n bindI18n: 'languageChanged',\n bindI18nStore: '',\n transEmptyNodeValue: '',\n transSupportBasicHtmlNodes: true,\n transWrapTextNodes: '',\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],\n useSuspense: true,\n unescape: unescape\n};\nexport function setDefaults() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n defaultOptions = _objectSpread(_objectSpread({}, defaultOptions), options);\n}\nexport function getDefaults() {\n return defaultOptions;\n}","var i18nInstance;\nexport function setI18n(instance) {\n i18nInstance = instance;\n}\nexport function getI18n() {\n return i18nInstance;\n}","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nvar _excluded = [\"format\"],\n _excluded2 = [\"children\", \"count\", \"parent\", \"i18nKey\", \"context\", \"tOptions\", \"values\", \"defaults\", \"components\", \"ns\", \"i18n\", \"t\", \"shouldUnescape\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { isValidElement, cloneElement, createElement } from 'react';\nimport HTML from 'html-parse-stringify';\nimport { warn, warnOnce } from './utils.js';\nimport { getDefaults } from './defaults.js';\nimport { getI18n } from './i18nInstance.js';\n\nfunction hasChildren(node, checkLength) {\n if (!node) return false;\n var base = node.props ? node.props.children : node.children;\n if (checkLength) return base.length > 0;\n return !!base;\n}\n\nfunction getChildren(node) {\n if (!node) return [];\n return node.props ? node.props.children : node.children;\n}\n\nfunction hasValidReactChildren(children) {\n if (Object.prototype.toString.call(children) !== '[object Array]') return false;\n return children.every(function (child) {\n return isValidElement(child);\n });\n}\n\nfunction getAsArray(data) {\n return Array.isArray(data) ? data : [data];\n}\n\nfunction mergeProps(source, target) {\n var newTarget = _objectSpread({}, target);\n\n newTarget.props = Object.assign(source.props, target.props);\n return newTarget;\n}\n\nexport function nodesToString(children, i18nOptions) {\n if (!children) return '';\n var stringNode = '';\n var childrenArray = getAsArray(children);\n var keepArray = i18nOptions.transSupportBasicHtmlNodes && i18nOptions.transKeepBasicHtmlNodesFor ? i18nOptions.transKeepBasicHtmlNodesFor : [];\n childrenArray.forEach(function (child, childIndex) {\n if (typeof child === 'string') {\n stringNode += \"\".concat(child);\n } else if (isValidElement(child)) {\n var childPropsCount = Object.keys(child.props).length;\n var shouldKeepChild = keepArray.indexOf(child.type) > -1;\n var childChildren = child.props.children;\n\n if (!childChildren && shouldKeepChild && childPropsCount === 0) {\n stringNode += \"<\".concat(child.type, \"/>\");\n } else if (!childChildren && (!shouldKeepChild || childPropsCount !== 0)) {\n stringNode += \"<\".concat(childIndex, \"></\").concat(childIndex, \">\");\n } else if (child.props.i18nIsDynamicList) {\n stringNode += \"<\".concat(childIndex, \"></\").concat(childIndex, \">\");\n } else if (shouldKeepChild && childPropsCount === 1 && typeof childChildren === 'string') {\n stringNode += \"<\".concat(child.type, \">\").concat(childChildren, \"</\").concat(child.type, \">\");\n } else {\n var content = nodesToString(childChildren, i18nOptions);\n stringNode += \"<\".concat(childIndex, \">\").concat(content, \"</\").concat(childIndex, \">\");\n }\n } else if (child === null) {\n warn(\"Trans: the passed in value is invalid - seems you passed in a null child.\");\n } else if (_typeof(child) === 'object') {\n var format = child.format,\n clone = _objectWithoutProperties(child, _excluded);\n\n var keys = Object.keys(clone);\n\n if (keys.length === 1) {\n var value = format ? \"\".concat(keys[0], \", \").concat(format) : keys[0];\n stringNode += \"{{\".concat(value, \"}}\");\n } else {\n warn(\"react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.\", child);\n }\n } else {\n warn(\"Trans: the passed in value is invalid - seems you passed in a variable like {number} - please pass in variables for interpolation as full objects like {{number}}.\", child);\n }\n });\n return stringNode;\n}\n\nfunction renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts, shouldUnescape) {\n if (targetString === '') return [];\n var keepArray = i18nOptions.transKeepBasicHtmlNodesFor || [];\n var emptyChildrenButNeedsHandling = targetString && new RegExp(keepArray.join('|')).test(targetString);\n if (!children && !emptyChildrenButNeedsHandling) return [targetString];\n var data = {};\n\n function getData(childs) {\n var childrenArray = getAsArray(childs);\n childrenArray.forEach(function (child) {\n if (typeof child === 'string') return;\n if (hasChildren(child)) getData(getChildren(child));else if (_typeof(child) === 'object' && !isValidElement(child)) Object.assign(data, child);\n });\n }\n\n getData(children);\n var ast = HTML.parse(\"<0>\".concat(targetString, \"</0>\"));\n\n var opts = _objectSpread(_objectSpread({}, data), combinedTOpts);\n\n function renderInner(child, node, rootReactNode) {\n var childs = getChildren(child);\n var mappedChildren = mapAST(childs, node.children, rootReactNode);\n return hasValidReactChildren(childs) && mappedChildren.length === 0 ? childs : mappedChildren;\n }\n\n function pushTranslatedJSX(child, inner, mem, i, isVoid) {\n if (child.dummy) child.children = inner;\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), isVoid ? undefined : inner));\n }\n\n function mapAST(reactNode, astNode, rootReactNode) {\n var reactNodes = getAsArray(reactNode);\n var astNodes = getAsArray(astNode);\n return astNodes.reduce(function (mem, node, i) {\n var translationContent = node.children && node.children[0] && node.children[0].content && i18n.services.interpolator.interpolate(node.children[0].content, opts, i18n.language);\n\n if (node.type === 'tag') {\n var tmp = reactNodes[parseInt(node.name, 10)];\n if (!tmp && rootReactNode.length === 1 && rootReactNode[0][node.name]) tmp = rootReactNode[0][node.name];\n if (!tmp) tmp = {};\n var child = Object.keys(node.attrs).length !== 0 ? mergeProps({\n props: node.attrs\n }, tmp) : tmp;\n var isElement = isValidElement(child);\n var isValidTranslationWithChildren = isElement && hasChildren(node, true) && !node.voidElement;\n var isEmptyTransWithHTML = emptyChildrenButNeedsHandling && _typeof(child) === 'object' && child.dummy && !isElement;\n var isKnownComponent = _typeof(children) === 'object' && children !== null && Object.hasOwnProperty.call(children, node.name);\n\n if (typeof child === 'string') {\n var value = i18n.services.interpolator.interpolate(child, opts, i18n.language);\n mem.push(value);\n } else if (hasChildren(child) || isValidTranslationWithChildren) {\n var inner = renderInner(child, node, rootReactNode);\n pushTranslatedJSX(child, inner, mem, i);\n } else if (isEmptyTransWithHTML) {\n var _inner = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), _inner));\n } else if (Number.isNaN(parseFloat(node.name))) {\n if (isKnownComponent) {\n var _inner2 = renderInner(child, node, rootReactNode);\n\n pushTranslatedJSX(child, _inner2, mem, i, node.voidElement);\n } else if (i18nOptions.transSupportBasicHtmlNodes && keepArray.indexOf(node.name) > -1) {\n if (node.voidElement) {\n mem.push(createElement(node.name, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }));\n } else {\n var _inner3 = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(createElement(node.name, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }, _inner3));\n }\n } else if (node.voidElement) {\n mem.push(\"<\".concat(node.name, \" />\"));\n } else {\n var _inner4 = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(\"<\".concat(node.name, \">\").concat(_inner4, \"</\").concat(node.name, \">\"));\n }\n } else if (_typeof(child) === 'object' && !isElement) {\n var content = node.children[0] ? translationContent : null;\n if (content) mem.push(content);\n } else if (node.children.length === 1 && translationContent) {\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), translationContent));\n } else {\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n })));\n }\n } else if (node.type === 'text') {\n var wrapTextNodes = i18nOptions.transWrapTextNodes;\n\n var _content = shouldUnescape ? i18nOptions.unescape(i18n.services.interpolator.interpolate(node.content, opts, i18n.language)) : i18n.services.interpolator.interpolate(node.content, opts, i18n.language);\n\n if (wrapTextNodes) {\n mem.push(createElement(wrapTextNodes, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }, _content));\n } else {\n mem.push(_content);\n }\n }\n\n return mem;\n }, []);\n }\n\n var result = mapAST([{\n dummy: true,\n children: children || []\n }], ast, getAsArray(children || []));\n return getChildren(result[0]);\n}\n\nexport function Trans(_ref) {\n var children = _ref.children,\n count = _ref.count,\n parent = _ref.parent,\n i18nKey = _ref.i18nKey,\n context = _ref.context,\n _ref$tOptions = _ref.tOptions,\n tOptions = _ref$tOptions === void 0 ? {} : _ref$tOptions,\n values = _ref.values,\n defaults = _ref.defaults,\n components = _ref.components,\n ns = _ref.ns,\n i18nFromProps = _ref.i18n,\n tFromProps = _ref.t,\n shouldUnescape = _ref.shouldUnescape,\n additionalProps = _objectWithoutProperties(_ref, _excluded2);\n\n var i18n = i18nFromProps || getI18n();\n\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using i18nextReactModule');\n return children;\n }\n\n var t = tFromProps || i18n.t.bind(i18n) || function (k) {\n return k;\n };\n\n if (context) tOptions.context = context;\n\n var reactI18nextOptions = _objectSpread(_objectSpread({}, getDefaults()), i18n.options && i18n.options.react);\n\n var namespaces = ns || t.ns || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n var defaultValue = defaults || nodesToString(children, reactI18nextOptions) || reactI18nextOptions.transEmptyNodeValue || i18nKey;\n var hashTransKey = reactI18nextOptions.hashTransKey;\n var key = i18nKey || (hashTransKey ? hashTransKey(defaultValue) : defaultValue);\n var interpolationOverride = values ? tOptions.interpolation : {\n interpolation: _objectSpread(_objectSpread({}, tOptions.interpolation), {}, {\n prefix: '#$?',\n suffix: '?$#'\n })\n };\n\n var combinedTOpts = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, tOptions), {}, {\n count: count\n }, values), interpolationOverride), {}, {\n defaultValue: defaultValue,\n ns: namespaces\n });\n\n var translation = key ? t(key, combinedTOpts) : defaultValue;\n var content = renderNodes(components || children, translation, i18n, reactI18nextOptions, combinedTOpts, shouldUnescape);\n var useAsParent = parent !== undefined ? parent : reactI18nextOptions.defaultTransParent;\n return useAsParent ? createElement(useAsParent, additionalProps, content) : content;\n}","import { setDefaults } from './defaults.js';\nimport { setI18n } from './i18nInstance.js';\nexport var initReactI18next = {\n type: '3rdParty',\n init: function init(instance) {\n setDefaults(instance.options.react);\n setI18n(instance);\n }\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { createContext } from 'react';\nimport { getDefaults, setDefaults } from './defaults.js';\nimport { getI18n, setI18n } from './i18nInstance.js';\nimport { initReactI18next } from './initReactI18next.js';\nexport { getDefaults, setDefaults, getI18n, setI18n, initReactI18next };\nexport var I18nContext = createContext();\nexport var ReportNamespaces = function () {\n function ReportNamespaces() {\n _classCallCheck(this, ReportNamespaces);\n\n this.usedNamespaces = {};\n }\n\n _createClass(ReportNamespaces, [{\n key: \"addUsedNamespaces\",\n value: function addUsedNamespaces(namespaces) {\n var _this = this;\n\n namespaces.forEach(function (ns) {\n if (!_this.usedNamespaces[ns]) _this.usedNamespaces[ns] = true;\n });\n }\n }, {\n key: \"getUsedNamespaces\",\n value: function getUsedNamespaces() {\n return Object.keys(this.usedNamespaces);\n }\n }]);\n\n return ReportNamespaces;\n}();\nexport function composeInitialProps(ForComponent) {\n return function (ctx) {\n return new Promise(function (resolve) {\n var i18nInitialProps = getInitialProps();\n\n if (ForComponent.getInitialProps) {\n ForComponent.getInitialProps(ctx).then(function (componentsInitialProps) {\n resolve(_objectSpread(_objectSpread({}, componentsInitialProps), i18nInitialProps));\n });\n } else {\n resolve(i18nInitialProps);\n }\n });\n };\n}\nexport function getInitialProps() {\n var i18n = getI18n();\n var namespaces = i18n.reportNamespaces ? i18n.reportNamespaces.getUsedNamespaces() : [];\n var ret = {};\n var initialI18nStore = {};\n i18n.languages.forEach(function (l) {\n initialI18nStore[l] = {};\n namespaces.forEach(function (ns) {\n initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};\n });\n });\n ret.initialI18nStore = initialI18nStore;\n ret.initialLanguage = i18n.language;\n return ret;\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"children\", \"count\", \"parent\", \"i18nKey\", \"context\", \"tOptions\", \"values\", \"defaults\", \"components\", \"ns\", \"i18n\", \"t\", \"shouldUnescape\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { useContext } from 'react';\nimport { nodesToString, Trans as TransWithoutContext } from './TransWithoutContext.js';\nimport { getI18n, I18nContext } from './context.js';\nexport { nodesToString };\nexport function Trans(_ref) {\n var children = _ref.children,\n count = _ref.count,\n parent = _ref.parent,\n i18nKey = _ref.i18nKey,\n context = _ref.context,\n _ref$tOptions = _ref.tOptions,\n tOptions = _ref$tOptions === void 0 ? {} : _ref$tOptions,\n values = _ref.values,\n defaults = _ref.defaults,\n components = _ref.components,\n ns = _ref.ns,\n i18nFromProps = _ref.i18n,\n tFromProps = _ref.t,\n shouldUnescape = _ref.shouldUnescape,\n additionalProps = _objectWithoutProperties(_ref, _excluded);\n\n var _ref2 = useContext(I18nContext) || {},\n i18nFromContext = _ref2.i18n,\n defaultNSFromContext = _ref2.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n var t = tFromProps || i18n && i18n.t.bind(i18n);\n return TransWithoutContext(_objectSpread({\n children: children,\n count: count,\n parent: parent,\n i18nKey: i18nKey,\n context: context,\n tOptions: tOptions,\n values: values,\n defaults: defaults,\n components: components,\n ns: ns || t && t.ns || defaultNSFromContext || i18n && i18n.options && i18n.options.defaultNS,\n i18n: i18n,\n t: tFromProps,\n shouldUnescape: shouldUnescape\n }, additionalProps));\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _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}","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { useState, useEffect, useContext, useRef } from 'react';\nimport { getI18n, getDefaults, ReportNamespaces, I18nContext } from './context.js';\nimport { warnOnce, loadNamespaces, hasLoadedNamespace } from './utils.js';\n\nvar usePrevious = function usePrevious(value, ignore) {\n var ref = useRef();\n useEffect(function () {\n ref.current = ignore ? ref.current : value;\n }, [value, ignore]);\n return ref.current;\n};\n\nexport function useTranslation(ns) {\n var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var i18nFromProps = props.i18n;\n\n var _ref = useContext(I18nContext) || {},\n i18nFromContext = _ref.i18n,\n defaultNSFromContext = _ref.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new ReportNamespaces();\n\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using initReactI18next');\n\n var notReadyT = function notReadyT(k, optsOrDefaultValue) {\n if (typeof optsOrDefaultValue === 'string') return optsOrDefaultValue;\n if (optsOrDefaultValue && _typeof(optsOrDefaultValue) === 'object' && typeof optsOrDefaultValue.defaultValue === 'string') return optsOrDefaultValue.defaultValue;\n return Array.isArray(k) ? k[k.length - 1] : k;\n };\n\n var retNotReady = [notReadyT, {}, false];\n retNotReady.t = notReadyT;\n retNotReady.i18n = {};\n retNotReady.ready = false;\n return retNotReady;\n }\n\n if (i18n.options.react && i18n.options.react.wait !== undefined) warnOnce('It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.');\n\n var i18nOptions = _objectSpread(_objectSpread(_objectSpread({}, getDefaults()), i18n.options.react), props);\n\n var useSuspense = i18nOptions.useSuspense,\n keyPrefix = i18nOptions.keyPrefix;\n var namespaces = ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n if (i18n.reportNamespaces.addUsedNamespaces) i18n.reportNamespaces.addUsedNamespaces(namespaces);\n var ready = (i18n.isInitialized || i18n.initializedStoreOnce) && namespaces.every(function (n) {\n return hasLoadedNamespace(n, i18n, i18nOptions);\n });\n\n function getT() {\n return i18n.getFixedT(null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n }\n\n var _useState = useState(getT),\n _useState2 = _slicedToArray(_useState, 2),\n t = _useState2[0],\n setT = _useState2[1];\n\n var joinedNS = namespaces.join();\n var previousJoinedNS = usePrevious(joinedNS);\n var isMounted = useRef(true);\n useEffect(function () {\n var bindI18n = i18nOptions.bindI18n,\n bindI18nStore = i18nOptions.bindI18nStore;\n isMounted.current = true;\n\n if (!ready && !useSuspense) {\n loadNamespaces(i18n, namespaces, function () {\n if (isMounted.current) setT(getT);\n });\n }\n\n if (ready && previousJoinedNS && previousJoinedNS !== joinedNS && isMounted.current) {\n setT(getT);\n }\n\n function boundReset() {\n if (isMounted.current) setT(getT);\n }\n\n if (bindI18n && i18n) i18n.on(bindI18n, boundReset);\n if (bindI18nStore && i18n) i18n.store.on(bindI18nStore, boundReset);\n return function () {\n isMounted.current = false;\n if (bindI18n && i18n) bindI18n.split(' ').forEach(function (e) {\n return i18n.off(e, boundReset);\n });\n if (bindI18nStore && i18n) bindI18nStore.split(' ').forEach(function (e) {\n return i18n.store.off(e, boundReset);\n });\n };\n }, [i18n, joinedNS]);\n var isInitial = useRef(true);\n useEffect(function () {\n if (isMounted.current && !isInitial.current) {\n setT(getT);\n }\n\n isInitial.current = false;\n }, [i18n, keyPrefix]);\n var ret = [t, i18n, ready];\n ret.t = t;\n ret.i18n = i18n;\n ret.ready = ready;\n if (ready) return ret;\n if (!ready && !useSuspense) return ret;\n throw new Promise(function (resolve) {\n loadNamespaces(i18n, namespaces, function () {\n resolve();\n });\n });\n}","import en from \"./en.json\";\nimport fr from \"./fr.json\";\n\nexport { en, fr };\n","import DOMPurify from \"dompurify\";\nimport i18n from \"i18next\";\nimport LanguageDetector from \"i18next-browser-languagedetector\";\nimport { initReactI18next } from \"react-i18next\";\nimport { en, fr } from \"translations\";\n\ni18n\n .use(LanguageDetector)\n .use(initReactI18next)\n .init({\n resources: {\n en: { translation: en },\n fr: { translation: fr },\n },\n fallbackLng: \"en\",\n detection: { order: [\"navigator\"] },\n });\n\ni18n.services.formatter.addCached(\"boldList\", (lng, options) => {\n const formatter = new Intl.ListFormat(lng, options);\n const sanitizer = value =>\n DOMPurify.sanitize(value, { USE_PROFILES: { html: true } });\n\n return value => {\n const boldEmails = value.map(email => `<strong>${email}</strong>`);\n const sanitizedEmails = sanitizer(boldEmails).split(\",\");\n\n return formatter.format(sanitizedEmails);\n };\n});\n\nexport default i18n;\n","import { globalProps } from \"neetocommons/initializers\";\n\nexport const hasPermission = (permissions = \"\") => {\n const type = typeof permissions;\n const userPermissions = globalProps.permissions ?? [];\n\n if (Object.is(type, \"string\")) {\n return userPermissions.includes(permissions);\n } else if (Array.isArray(permissions)) {\n return permissions.some(permission => userPermissions.includes(permission));\n }\n\n return false;\n};\n\nexport const isOverflown = ({\n clientWidth,\n clientHeight,\n scrollWidth,\n scrollHeight,\n}) => scrollHeight > clientHeight || scrollWidth > clientWidth;\n\nexport const getScrollBarWidth = () => {\n const innerElement = document.createElement(\"p\");\n innerElement.classList.add(\"ntm-scrollbar__inner\");\n\n const outerElement = document.createElement(\"div\");\n outerElement.classList.add(\"ntm-scrollbar__outer\");\n\n outerElement.appendChild(innerElement);\n document.body.appendChild(outerElement);\n\n const w1 = innerElement.offsetWidth;\n outerElement.style.overflow = \"scroll\";\n let w2 = innerElement.offsetWidth;\n if (w1 === w2) w2 = outerElement.clientWidth;\n\n document.body.removeChild(outerElement);\n\n return w1 - w2;\n};\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ScrollSync\"] = factory(require(\"react\"));\n\telse\n\t\troot[\"ScrollSync\"] = factory(root[\"react\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_4__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 10);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0)))\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_4__;\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = __webpack_require__(4);\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ScrollSyncContext = _react2.default.createContext({\n registerPane: function registerPane() {},\n unregisterPane: function unregisterPane() {}\n});\n\nexports.default = ScrollSyncContext;\nmodule.exports = exports['default'];\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright 2014-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n\n\nvar emptyFunction = __webpack_require__(1);\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 warning = emptyFunction;\n\nif (process.env.NODE_ENV !== 'production') {\n (function () {\n var printWarning = function printWarning(format) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + 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 warning(condition, format) {\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (format.indexOf('Failed Composite propType: ') === 0) {\n return; // Ignore CompositeComponent proptype check.\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n })();\n}\n\nmodule.exports = warning;\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0)))\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\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 = __webpack_require__(13)(isValidElement, 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 = __webpack_require__(12)();\n}\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0)))\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = __webpack_require__(4);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = __webpack_require__(7);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _ScrollSyncContext = __webpack_require__(5);\n\nvar _ScrollSyncContext2 = _interopRequireDefault(_ScrollSyncContext);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * ScrollSync provider component\n *\n */\n\nvar ScrollSync = function (_Component) {\n _inherits(ScrollSync, _Component);\n\n function ScrollSync() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, ScrollSync);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = ScrollSync.__proto__ || Object.getPrototypeOf(ScrollSync)).call.apply(_ref, [this].concat(args))), _this), _this.panes = {}, _this.registerPane = function (node, groups) {\n groups.forEach(function (group) {\n if (!_this.panes[group]) {\n _this.panes[group] = [];\n }\n\n if (!_this.findPane(node, group)) {\n if (_this.panes[group].length > 0) {\n _this.syncScrollPosition(_this.panes[group][0], node);\n }\n _this.panes[group].push(node);\n }\n });\n _this.addEvents(node, groups);\n }, _this.unregisterPane = function (node, groups) {\n groups.forEach(function (group) {\n if (_this.findPane(node, group)) {\n _this.removeEvents(node);\n _this.panes[group].splice(_this.panes[group].indexOf(node), 1);\n }\n });\n }, _this.addEvents = function (node, groups) {\n /* For some reason element.addEventListener doesnt work with document.body */\n node.onscroll = _this.handlePaneScroll.bind(_this, node, groups); // eslint-disable-line\n }, _this.removeEvents = function (node) {\n /* For some reason element.removeEventListener doesnt work with document.body */\n node.onscroll = null; // eslint-disable-line\n }, _this.findPane = function (node, group) {\n if (!_this.panes[group]) {\n return false;\n }\n\n return _this.panes[group].find(function (pane) {\n return pane === node;\n });\n }, _this.handlePaneScroll = function (node, groups) {\n if (!_this.props.enabled) {\n return;\n }\n\n window.requestAnimationFrame(function () {\n _this.syncScrollPositions(node, groups);\n });\n }, _this.syncScrollPositions = function (scrolledPane, groups) {\n groups.forEach(function (group) {\n _this.panes[group].forEach(function (pane) {\n /* For all panes beside the currently scrolling one */\n if (scrolledPane !== pane) {\n /* Remove event listeners from the node that we'll manipulate */\n _this.removeEvents(pane, group);\n _this.syncScrollPosition(scrolledPane, pane);\n /* Re-attach event listeners after we're done scrolling */\n window.requestAnimationFrame(function () {\n _this.addEvents(pane, groups);\n });\n }\n });\n });\n if (_this.props.onSync) _this.props.onSync(scrolledPane);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(ScrollSync, [{\n key: 'getContextValue',\n value: function getContextValue() {\n return {\n registerPane: this.registerPane,\n unregisterPane: this.unregisterPane\n };\n }\n }, {\n key: 'syncScrollPosition',\n value: function syncScrollPosition(scrolledPane, pane) {\n var scrollTop = scrolledPane.scrollTop,\n scrollHeight = scrolledPane.scrollHeight,\n clientHeight = scrolledPane.clientHeight,\n scrollLeft = scrolledPane.scrollLeft,\n scrollWidth = scrolledPane.scrollWidth,\n clientWidth = scrolledPane.clientWidth;\n\n\n var scrollTopOffset = scrollHeight - clientHeight;\n var scrollLeftOffset = scrollWidth - clientWidth;\n\n var _props = this.props,\n proportional = _props.proportional,\n vertical = _props.vertical,\n horizontal = _props.horizontal;\n\n /* Calculate the actual pane height */\n\n var paneHeight = pane.scrollHeight - clientHeight;\n var paneWidth = pane.scrollWidth - clientWidth;\n /* Adjust the scrollTop position of it accordingly */\n if (vertical && scrollTopOffset > 0) {\n pane.scrollTop = proportional ? paneHeight * scrollTop / scrollTopOffset : scrollTop; // eslint-disable-line\n }\n if (horizontal && scrollLeftOffset > 0) {\n pane.scrollLeft = proportional ? paneWidth * scrollLeft / scrollLeftOffset : scrollLeft; // eslint-disable-line\n }\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n _ScrollSyncContext2.default.Provider,\n { value: this.getContextValue() },\n _react2.default.Children.only(this.props.children)\n );\n }\n }]);\n\n return ScrollSync;\n}(_react.Component);\n\nScrollSync.propTypes = {\n /**\n * Callback to be invoked any time synchronization happens\n *\n * @param {Element} el The element that has received the scroll event\n */\n onSync: _propTypes2.default.func,\n children: _propTypes2.default.element.isRequired,\n proportional: _propTypes2.default.bool,\n vertical: _propTypes2.default.bool,\n horizontal: _propTypes2.default.bool,\n enabled: _propTypes2.default.bool\n};\nScrollSync.defaultProps = {\n proportional: true,\n vertical: true,\n horizontal: true,\n enabled: true\n};\nexports.default = ScrollSync;\nmodule.exports = exports['default'];\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = __webpack_require__(4);\n\nvar _propTypes = __webpack_require__(7);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _ScrollSyncContext = __webpack_require__(5);\n\nvar _ScrollSyncContext2 = _interopRequireDefault(_ScrollSyncContext);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* eslint react/no-find-dom-node: 0 */\n\n/**\n * ScrollSyncPane Component\n *\n * Wrap your content in it to keep its scroll position in sync with other panes\n *\n * @example ./example.md\n */\n\nvar ScrollSyncPane = function (_Component) {\n _inherits(ScrollSyncPane, _Component);\n\n function ScrollSyncPane(props) {\n _classCallCheck(this, ScrollSyncPane);\n\n var _this = _possibleConstructorReturn(this, (ScrollSyncPane.__proto__ || Object.getPrototypeOf(ScrollSyncPane)).call(this, props));\n\n _this.toArray = function (groups) {\n return [].concat(groups);\n };\n\n _this.updateNode = function () {\n if (_this.props.attachTo) {\n _this.node = _this.props.attachTo.current;\n } else {\n _this.node = _this.childRef.current;\n }\n };\n\n _this.childRef = (0, _react.createRef)();\n return _this;\n }\n\n _createClass(ScrollSyncPane, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (this.props.enabled) {\n this.updateNode();\n if (this.node) {\n this.context.registerPane(this.node, this.toArray(this.props.group));\n }\n }\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps) {\n if (this.props.attachTo !== prevProps.attachTo) {\n if (this.node) {\n this.context.unregisterPane(this.node, this.toArray(prevProps.group));\n }\n this.updateNode();\n if (this.node) {\n this.context.registerPane(this.node, this.toArray(prevProps.group));\n }\n }\n if (this.node && this.props.enabled !== prevProps.enabled) {\n if (this.props.enabled) {\n this.context.registerPane(this.node, this.toArray(prevProps.group));\n } else {\n this.context.unregisterPane(this.node, this.toArray(prevProps.group));\n }\n }\n if (this.node && this.props.enabled && this.props.group !== prevProps.group) {\n this.context.unregisterPane(this.node, this.toArray(prevProps.group));\n this.context.registerPane(this.node, this.toArray(this.props.group));\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (this.node && this.props.enabled) {\n this.context.unregisterPane(this.node, this.toArray(this.props.group));\n }\n }\n }, {\n key: 'render',\n value: function render() {\n if (this.props.attachTo) {\n return this.props.children;\n }\n return (0, _react.cloneElement)(_react.Children.only(this.props.children), { ref: this.childRef });\n }\n }]);\n\n return ScrollSyncPane;\n}(_react.Component);\n\nScrollSyncPane.contextType = _ScrollSyncContext2.default;\nScrollSyncPane.propTypes = {\n children: _propTypes2.default.node.isRequired,\n attachTo: _propTypes2.default.oneOfType([_propTypes2.default.func, _propTypes2.default.shape({ current: _propTypes2.default.any })]),\n group: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.arrayOf(_propTypes2.default.string)]),\n enabled: _propTypes2.default.bool\n};\nScrollSyncPane.defaultProps = {\n group: 'default',\n enabled: true\n};\nexports.default = ScrollSyncPane;\nmodule.exports = exports['default'];\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _ScrollSync = __webpack_require__(8);\n\nObject.defineProperty(exports, 'ScrollSync', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_ScrollSync).default;\n }\n});\n\nvar _ScrollSyncPane = __webpack_require__(9);\n\nObject.defineProperty(exports, 'ScrollSyncPane', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_ScrollSyncPane).default;\n }\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n\n\nif (process.env.NODE_ENV !== 'production') {\n var invariant = __webpack_require__(2);\n var warning = __webpack_require__(6);\n var ReactPropTypesSecret = __webpack_require__(3);\n var loggedTypeFailures = {};\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (typeSpecs.hasOwnProperty(typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n invariant(typeof typeSpecs[typeSpecName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', componentName || 'React class', location, typeSpecName);\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error);\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n warning(false, 'Failed %s type: %s%s', location, error.message, stack != null ? stack : '');\n }\n }\n }\n }\n}\n\nmodule.exports = checkPropTypes;\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0)))\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n\n\nvar emptyFunction = __webpack_require__(1);\nvar invariant = __webpack_require__(2);\nvar ReactPropTypesSecret = __webpack_require__(3);\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 invariant(\n false,\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 };\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 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 instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n\n\nvar emptyFunction = __webpack_require__(1);\nvar invariant = __webpack_require__(2);\nvar warning = __webpack_require__(6);\n\nvar ReactPropTypesSecret = __webpack_require__(3);\nvar checkPropTypes = __webpack_require__(11);\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<<anonymous>>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message) {\n this.message = message;\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n invariant(\n false,\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 } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n warning(\n false,\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `%s` prop on `%s`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.',\n propFullName,\n componentName\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunction.thatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'Invalid argument supplied to oneOf, expected an instance of array.') : void 0;\n return emptyFunction.thatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (propValue.hasOwnProperty(key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunction.thatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n warning(\n false,\n 'Invalid argument supplid to oneOfType. Expected an array of check functions, but ' +\n 'received %s at index %s.',\n getPostfixForTypeWarning(checker),\n i\n );\n return emptyFunction.thatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n return null;\n }\n }\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (!checker) {\n continue;\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0)))\n\n/***/ })\n/******/ ]);\n});\n//# sourceMappingURL=index.js.map","export const SINGULAR = { count: 1 };\nexport const PLURAL = { count: 2 };\nexport const MANAGE_MEMBER_PERMISSIONS = [\n \"members.manage_members\",\n \"agents.manage_agents\",\n];\nexport const DEFAULT_PERMISSION = true; // Until we add permission prop to all neeto apps, this is the default permission.\n","import { QueryCache, QueryClient } from \"react-query\";\n\nconst queryClient = new QueryClient({\n queryCache: new QueryCache(),\n});\n\nexport default queryClient;\n","import React from \"react\";\n\nimport queryClient from \"apis/queryClient\";\nimport { QueryClientProvider } from \"react-query\";\nimport { ReactQueryDevtools } from \"react-query/devtools\";\n\nconst withReactQuery = Component => {\n const QueryWrapper = props => (\n <QueryClientProvider client={queryClient}>\n <Component {...props} />\n <ReactQueryDevtools initialIsOpen={false} position=\"bottom-right\" />\n </QueryClientProvider>\n );\n\n return QueryWrapper;\n};\n\nexport default withReactQuery;\n","/* eslint-disable @bigbinary/neeto/no-dangling-constants */\nexport const BASE_URL = \"team_members\";\n","import axios from \"axios\";\nimport { BASE_URL } from \"common/routes\";\n\nconst fetch = () => axios.get(`${BASE_URL}/permissions`);\n\nconst permissionsApi = { fetch };\n\nexport default permissionsApi;\n","export const DEFAULT_STALE_TIME = 300_000; // 5 minutes\n\nexport const QUERY_KEYS = {\n PERMISSIONS: \"neeto-team-members-permissions\",\n ROLES: \"neeto-team-members-roles\",\n GLOBAL_ROLES: \"neeto-team-members-global-roles\",\n TEAMS: \"neeto-team-members-teams\",\n TEAMS_DEPENDENCIES: \"neeto-team-members-teams-dependencies\",\n};\n","import permissionsApi from \"apis/permissions\";\nimport { DEFAULT_STALE_TIME, QUERY_KEYS } from \"common/queryConstants\";\nimport { useQuery } from \"react-query\";\n\nconst useFetchPermissions = (options = {}) =>\n useQuery(QUERY_KEYS.PERMISSIONS, permissionsApi.fetch, {\n staleTime: DEFAULT_STALE_TIME,\n select: response => response.permissions || response.data.permissions,\n ...options,\n });\n\nexport { useFetchPermissions };\n","import axios from \"axios\";\nimport { BASE_URL } from \"common/routes\";\n\nconst fetch = () => axios.get(`${BASE_URL}/global_roles`);\n\nconst globalRolesApi = { fetch };\n\nexport default globalRolesApi;\n","import axios from \"axios\";\nimport { BASE_URL } from \"common/routes\";\n\nconst fetch = () => axios.get(`${BASE_URL}/organization_roles`);\n\nconst create = payload => axios.post(`${BASE_URL}/organization_roles`, payload);\n\nconst update = (id, payload) =>\n axios.patch(`${BASE_URL}/organization_roles/${id}`, payload);\n\nconst destroy = (id, payload) =>\n axios.delete(`${BASE_URL}/organization_roles/${id}`, { data: payload });\n\nconst bulkUpdate = payload =>\n axios.patch(`${BASE_URL}/organization_roles/bulk_update`, payload);\n\nconst organizationRolesApi = { bulkUpdate, create, destroy, fetch, update };\n\nexport default organizationRolesApi;\n","import globalRolesApi from \"apis/global_roles\";\nimport organizationRolesApi from \"apis/organization_roles\";\nimport queryClient from \"apis/queryClient\";\nimport { DEFAULT_STALE_TIME, QUERY_KEYS } from \"common/queryConstants\";\nimport { noop } from \"neetocommons/pure\";\nimport { Toastr } from \"neetoui\";\nimport {\n prepend,\n assocPath,\n dissocPath,\n findIndex,\n modifyPath,\n propEq,\n} from \"ramda\";\nimport { useQuery, useMutation } from \"react-query\";\n\nconst useFetchRoles = (options = {}) =>\n useQuery(QUERY_KEYS.ROLES, organizationRolesApi.fetch, {\n staleTime: DEFAULT_STALE_TIME,\n select: response =>\n response.organizationRoles || response.data.organizationRoles,\n ...options,\n });\n\nconst useFetchGlobalRoles = (options = {}) =>\n useQuery(QUERY_KEYS.GLOBAL_ROLES, globalRolesApi.fetch, {\n staleTime: DEFAULT_STALE_TIME,\n ...options,\n });\n\nconst useCreateRole = ({ onSuccess, ...options }) =>\n useMutation(organizationRolesApi.create, {\n onSuccess: response => {\n queryClient.invalidateQueries(QUERY_KEYS.TEAMS_DEPENDENCIES);\n queryClient.setQueriesData(QUERY_KEYS.ROLES, cachedData => {\n if (!!cachedData.data && !!cachedData.data.organizationRoles) {\n return modifyPath(\n [\"data\", \"organizationRoles\"],\n prepend(response.data.organizationRole),\n cachedData\n );\n }\n\n return modifyPath(\n [\"organizationRoles\"],\n prepend(response.organizationRole),\n cachedData\n );\n });\n Toastr.success(response.ntmNotice || response.data.ntmNotice);\n onSuccess?.();\n },\n ...options,\n });\n\nconst useUpdateRole = ({ onSuccess, ...options }) =>\n useMutation(({ id, payload }) => organizationRolesApi.update(id, payload), {\n onSuccess: response => {\n queryClient.invalidateQueries(QUERY_KEYS.TEAMS);\n queryClient.invalidateQueries(QUERY_KEYS.TEAMS_DEPENDENCIES);\n queryClient.setQueriesData(QUERY_KEYS.ROLES, cachedData => {\n if (!!cachedData.data && !!cachedData.data.organizationRoles) {\n return assocPath(\n [\n \"data\",\n \"organizationRoles\",\n findIndex(\n propEq(\"id\", response.data.organizationRole.id),\n cachedData.data.organizationRoles\n ),\n ],\n response.data.organizationRole,\n cachedData\n );\n }\n\n return assocPath(\n [\n \"organizationRoles\",\n findIndex(\n propEq(\"id\", response.organizationRole.id),\n cachedData.organizationRoles\n ),\n ],\n response.organizationRole,\n cachedData\n );\n });\n Toastr.success(response.ntmNotice || response.data.ntmNotice);\n onSuccess?.();\n },\n ...options,\n });\n\nconst useDestroyRole = ({ onSuccess = noop, ...options }) =>\n useMutation(({ id, payload }) => organizationRolesApi.destroy(id, payload), {\n onSuccess: response => {\n queryClient.invalidateQueries(QUERY_KEYS.TEAMS);\n queryClient.invalidateQueries(QUERY_KEYS.TEAMS_DEPENDENCIES);\n queryClient.setQueriesData(QUERY_KEYS.ROLES, cachedData => {\n if (!!cachedData.data && !!cachedData.data.organizationRoles) {\n return dissocPath(\n [\n \"data\",\n \"organizationRoles\",\n findIndex(\n propEq(\"id\", response.data.id),\n cachedData.data.organizationRoles\n ),\n ],\n cachedData\n );\n }\n\n return dissocPath(\n [\n \"organizationRoles\",\n findIndex(propEq(\"id\", response.id), cachedData.organizationRoles),\n ],\n cachedData\n );\n });\n Toastr.success(response.ntmNotice || response.data.ntmNotice);\n onSuccess?.();\n },\n ...options,\n });\n\nconst useBulkUpdateRoles = ({ onSuccess, ...options }) =>\n useMutation(organizationRolesApi.bulkUpdate, {\n onSuccess: response => {\n queryClient.invalidateQueries(QUERY_KEYS.TEAMS);\n queryClient.invalidateQueries(QUERY_KEYS.TEAMS_DEPENDENCIES);\n queryClient.invalidateQueries(QUERY_KEYS.ROLES);\n Toastr.success(response.ntmNotice || response.data.ntmNotice);\n onSuccess?.();\n },\n ...options,\n });\n\nexport {\n useBulkUpdateRoles,\n useCreateRole,\n useDestroyRole,\n useFetchRoles,\n useUpdateRole,\n useFetchGlobalRoles,\n};\n","import { PLURAL } from \"common/constants\";\nimport i18n from \"common/i18n\";\n\nexport const renderSearchProps = (searchString, setSearchString) => ({\n \"data-cy\": \"ntm-search-roles-input\",\n onChange: ({ target: { value } }) => setSearchString(value),\n placeholder: i18n.t(\"common.search_\", {\n what: i18n.t(\"common.role\", PLURAL).toLocaleLowerCase(),\n }),\n value: searchString,\n});\n\nexport const renderBreadcrumbs = breadcrumbs =>\n breadcrumbs ?? [\n {\n text: i18n.t(\"metaNames.member\", PLURAL),\n link: \"/members\",\n },\n ];\n","import React from \"react\";\n\nimport { MANAGE_MEMBER_PERMISSIONS, SINGULAR } from \"common/constants\";\nimport { hasPermission } from \"common/utils\";\nimport { Button, Tooltip } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst AddRoleButton = ({ onClick, permissions }) => {\n const { t } = useTranslation();\n\n return (\n <Tooltip\n content={t(\"tooltips.noPermissionToAddRole\")}\n disabled={permissions?.create ?? hasPermission(MANAGE_MEMBER_PERMISSIONS)}\n position=\"bottom\"\n >\n <span>\n <Button\n data-cy=\"ntm-add-role-button\"\n disabled={\n !(permissions?.create ?? hasPermission(MANAGE_MEMBER_PERMISSIONS))\n }\n label={t(\"common.addNew_\", {\n what: t(\"common.role\", SINGULAR).toLocaleLowerCase(),\n })}\n onClick={onClick}\n />\n </span>\n </Tooltip>\n );\n};\n\nexport default AddRoleButton;\n","import React from \"react\";\n\nimport { MANAGE_MEMBER_PERMISSIONS, PLURAL } from \"common/constants\";\nimport { hasPermission } from \"common/utils\";\nimport { ExternalLink } from \"neetoicons\";\nimport { Button, Tooltip } from \"neetoui\";\nimport { Header as NeetoHeader } from \"neetoui/layouts\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { renderBreadcrumbs, renderSearchProps } from \"./helpers\";\n\nimport AddRoleButton from \"../AddRoleButton\";\n\nconst Header = ({\n config,\n handleReset,\n handleSubmit,\n isDirty,\n searchString,\n setSearchString,\n setIsNewRolePaneOpen,\n}) => {\n const { t } = useTranslation();\n const hasUpdateRolePermission =\n config?.permissions?.update ?? hasPermission(MANAGE_MEMBER_PERMISSIONS);\n\n return (\n <NeetoHeader\n breadcrumbs={renderBreadcrumbs(config?.header?.breadcrumbs)}\n className=\"ntm-roles-header\"\n searchProps={renderSearchProps(searchString, setSearchString)}\n actionBlock={\n isDirty ? (\n <>\n <Tooltip\n content={t(\"tooltips.noPermissionToEditRoles\")}\n disabled={hasUpdateRolePermission}\n position=\"bottom\"\n >\n <span>\n <Button\n data-cy=\"ntm-role-submission-button\"\n disabled={!hasUpdateRolePermission}\n label={t(\"buttons.saveChanges\")}\n type=\"submit\"\n onClick={handleSubmit}\n />\n </span>\n </Tooltip>\n <Button\n data-cy=\"ntm-role-reset-button\"\n label={t(\"buttons.reset\")}\n style=\"text\"\n type=\"reset\"\n onClick={handleReset}\n />\n </>\n ) : (\n <AddRoleButton\n permissions={config?.permissions}\n onClick={() => setIsNewRolePaneOpen(true)}\n />\n )\n }\n title={\n <span className=\"neeto-ui-flex neeto-ui-items-center neeto-ui-gap-6\">\n {t(\"common.role\", PLURAL)}\n {config?.helpUrl && (\n <Button\n className=\"neeto-ui-mt-1\"\n data-cy=\"ntm-roles-permission-more-info-button\"\n href={config?.helpUrl}\n icon={ExternalLink}\n label={t(\"helpers.moreInfoAboutPermissions\")}\n style=\"link\"\n target=\"_blank\"\n />\n )}\n </span>\n }\n />\n );\n};\n\nexport default Header;\n","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _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}","import { is } from \"ramda\";\n\nconst transformObjectToDotNotation = (object, prefix = \"\", result = []) => {\n const errorKey = Object.keys(object).find(key => !!object[key]);\n if (!errorKey) return;\n const value = object[errorKey];\n if (!value) return;\n\n const nextKey = prefix ? `${prefix}.${errorKey}` : errorKey;\n is(Object, value)\n ? transformObjectToDotNotation(value, nextKey, result)\n : result.push(nextKey);\n\n // eslint-disable-next-line consistent-return\n return result;\n};\n\nexport const getErrorFieldName = formikErrors =>\n transformObjectToDotNotation(formikErrors)?.[0];\n","import { useEffect, useRef } from \"react\";\n\nimport { useFormikContext } from \"formik\";\n\nimport { getErrorFieldName } from \"./helpers\";\n\nconst ScrollToErrorField = ({ formRef }) => {\n const { submitCount, isValid, errors } = useFormikContext();\n const isValidatedReference = useRef(false);\n\n useEffect(() => {\n isValidatedReference.current = false;\n }, [submitCount]);\n\n useEffect(() => {\n if (!formRef.current) return;\n\n if (isValidatedReference.current || isValid) return;\n\n isValidatedReference.current = true;\n const fieldErrorNames = getErrorFieldName(errors);\n if (fieldErrorNames.length <= 0) return;\n\n const errorFormElement = [...formRef.current.elements].find(\n element => element.name === fieldErrorNames\n );\n\n errorFormElement?.scrollIntoView({\n behavior: \"smooth\",\n block: \"center\",\n });\n }, [submitCount, errors]); // eslint-disable-line react-hooks/exhaustive-deps\n\n return null;\n};\n\nexport default ScrollToErrorField;\n","import i18n from \"common/i18n\";\nimport { string, object } from \"yup\";\n\nconst ADD_ROLE_FORM_INITIAL_VALUES = {\n name: \"\",\n description: \"\",\n permissionIds: [],\n};\n\nconst ADD_ROLE_FORM_VALIDATION_SCHEMA = object({\n name: string()\n .trim()\n .max(\n 40,\n i18n.t(\"validations.limitExceeded\", {\n what: i18n.t(\"common.name\").toLocaleLowerCase(),\n limit: 40,\n })\n )\n .required(i18n.t(\"validations.enterRoleName\")),\n description: string()\n .trim()\n .max(\n 255,\n i18n.t(\"validations.limitExceeded\", {\n what: i18n.t(\"common.description\").toLocaleLowerCase(),\n limit: 255,\n })\n ),\n});\n\nexport const ROLE_FORMIK_PROPS = {\n initialValues: ADD_ROLE_FORM_INITIAL_VALUES,\n validateOnBlur: false,\n validateOnChange: false,\n validationSchema: ADD_ROLE_FORM_VALIDATION_SCHEMA,\n};\n","import React, { useMemo } from \"react\";\n\nimport { SINGULAR } from \"common/constants\";\nimport { useFormikContext } from \"formik\";\nimport { Typography, Checkbox } from \"neetoui\";\nimport { groupBy, keys, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nconst Permissions = ({ permissions }) => {\n const { t } = useTranslation();\n const { setFieldValue, values } = useFormikContext();\n const { permissionIds = [] } = values;\n\n const handleTogglePermission = permissionId => {\n const nextPermissionIds = permissionIds.includes(permissionId)\n ? permissionIds.filter(id => id !== permissionId)\n : [...permissionIds, permissionId];\n setFieldValue(\"permissionIds\", nextPermissionIds);\n };\n\n const groupedPermissions = useMemo(\n () => groupBy(prop(\"category\"))(permissions),\n [permissions]\n );\n\n return (\n <div className=\"ntm-roles-pane__body-wrapper\">\n <div>\n <Typography lineHeight=\"normal\" style=\"h4\" weight=\"semibold\">\n {t(\"common.permission\", SINGULAR)}\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-600\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"helpers.configPermissions\")}\n </Typography>\n </div>\n {/* Item */}\n {keys(groupedPermissions).map(category => (\n <div className=\"ntm-roles-permission\" key={category}>\n <Typography\n className=\"ntm-roles-permission__heading\"\n data-cy=\"ntm-roles-permission-category-title\"\n lineHeight=\"normal\"\n style=\"h5\"\n weight=\"bold\"\n >\n {category}\n </Typography>\n {groupedPermissions[category].map(({ id, description }) => (\n <div\n className=\"ntm-roles-permission__card\"\n key={id}\n onClick={() => handleTogglePermission(id)}\n >\n <Typography\n className=\"ntm-roles-permission__card--description\"\n data-cy=\"ntm-roles-permission-name\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {description}\n </Typography>\n <div className=\"ntm-roles-permission__card--checkbox\">\n <Checkbox\n checked={permissionIds.some(pid => pid === id)}\n data-cy=\"ntm-roles-permission-checkbox\"\n onChange={() => handleTogglePermission(id)}\n />\n </div>\n </div>\n ))}\n </div>\n ))}\n </div>\n );\n};\n\nexport default Permissions;\n","import React, { useRef } from \"react\";\n\nimport { SINGULAR } from \"common/constants\";\nimport ScrollToErrorField from \"components/Common/ScrollToErrorField\";\nimport { useCreateRole } from \"hooks/roles/useRolesApi\";\nimport { Pane, Typography, Button } from \"neetoui\";\nimport { Form, Input, Textarea } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ROLE_FORMIK_PROPS } from \"./constants\";\nimport Permissions from \"./Permissions\";\n\nconst New = ({ isOpen, onClose, permissions }) => {\n const { t } = useTranslation();\n const formReference = useRef(null);\n const inputReference = useRef(null);\n const { mutate: createRole, isLoading: isSubmitting } = useCreateRole({\n onSuccess: onClose,\n });\n\n const handleFormSubmit = formValues => {\n const modifiedFormValues = {\n ...formValues,\n description: formValues.description.trim(),\n };\n createRole({ organizationRole: modifiedFormValues });\n };\n\n return (\n <Pane initialFocusRef={inputReference} isOpen={isOpen} onClose={onClose}>\n <Pane.Header>\n <Typography data-cy=\"ntm-add-role-title\" style=\"h2\">\n {t(\"common.addNew_\", {\n what: t(\"common.role\", SINGULAR).toLocaleLowerCase(),\n })}\n </Typography>\n </Pane.Header>\n <Form\n ref={formReference}\n formikProps={{\n ...ROLE_FORMIK_PROPS,\n onSubmit: handleFormSubmit,\n }}\n >\n {({ dirty }) => (\n <>\n <ScrollToErrorField formRef={formReference} />\n <Pane.Body>\n <div className=\"ntm-roles-pane__body\">\n <div className=\"ntm-roles-pane__body-wrapper\">\n <Input\n required\n data-cy=\"ntm-add-role-name-text-field\"\n label={t(\"common.name\")}\n maxLength={40}\n name=\"name\"\n ref={inputReference}\n placeholder={t(\"placeholders.enter_\", {\n what: t(\"common.name\").toLocaleLowerCase(),\n })}\n />\n <Textarea\n data-cy=\"ntm-add-role-description-text-field\"\n label={t(\"common.description\")}\n maxLength={255}\n name=\"description\"\n placeholder={t(\"placeholders.enter_\", {\n what: t(\"common.description\").toLocaleLowerCase(),\n })}\n />\n </div>\n <Permissions permissions={permissions} />\n </div>\n </Pane.Body>\n <Pane.Footer>\n <div className=\"ntm-roles-pane__footer\">\n <Button\n data-cy=\"ntm-add-role-submit-button\"\n disabled={!dirty || isSubmitting}\n label={t(\"buttons.saveChanges\")}\n loading={isSubmitting}\n type=\"submit\"\n />\n <Button\n data-cy=\"ntm-add-role-cancel-button\"\n label={t(\"buttons.cancel\")}\n style=\"text\"\n onClick={onClose}\n />\n </div>\n </Pane.Footer>\n </>\n )}\n </Form>\n </Pane>\n );\n};\n\nexport default New;\n","export const DEFAULT_MANAGE_ROLE_VALUES = {\n isDelete: false,\n isEdit: false,\n selectedRole: {},\n};\n\nexport const ADMIN_ROLES = [\"Admin\", \"Owner\"];\n","import i18n from \"common/i18n\";\n\nconst deepClone = object => {\n if (!object || true === object) {\n //this also handles boolean as true and false\n return object;\n }\n const objectType = typeof object;\n if (\"number\" === objectType || \"string\" === objectType) {\n // add your immutables here\n return object;\n }\n\n let result = null;\n if (Array.isArray(object)) {\n result = [];\n } else if (!object.constructor) {\n result = {};\n } else {\n result = new object.constructor();\n }\n\n if (object instanceof Map) {\n for (const key of object.keys()) {\n result.set(key, deepClone(object.get(key)));\n }\n }\n\n Object.keys(object).forEach(key => {\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n result[key] = deepClone(object[key]);\n }\n });\n\n return result;\n};\n\nexport const renderRolesTooltipContent = roleName =>\n Object.is(roleName, \"Admin\")\n ? i18n.t(\"tooltips.adminMustHaveAccess\")\n : i18n.t(\"tooltips.noPermissionToEditRoles\");\n\nexport const removeDuplicates = array => [...new Set(array)];\n\nexport const updatePermissionVisibility = (categoryName, permissions) => {\n const category = permissions.get(categoryName);\n const isPermissionVisible = category.get(\"isPermissionVisible\");\n category.set(\"isPermissionVisible\", !isPermissionVisible);\n\n return new Map(permissions.set(categoryName, category));\n};\n\nexport const filterPermissionsBySearch = (searchTerm, permissionGroups) => {\n const newValue = deepClone(permissionGroups);\n newValue.forEach(value => {\n const permissions = value.get(\"permissions\");\n\n const filteredPermissions = permissions.filter(permission =>\n permission?.description\n ?.toLowerCase()\n ?.trim()\n ?.includes(searchTerm.toLowerCase().trim())\n );\n value.set(\"permissions\", filteredPermissions);\n });\n\n return newValue;\n};\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { isNotEmpty, replaceById } from \"neetocommons/pure\";\nimport { Checkbox, Tooltip } from \"neetoui\";\nimport { identical, includes, map, modify, prop } from \"ramda\";\n\nimport { DEFAULT_PERMISSION } from \"common/constants\";\n\nimport { ADMIN_ROLES } from \"./constants\";\nimport { removeDuplicates, renderRolesTooltipContent } from \"./utils\";\n\nconst Row = ({\n allPermissionsOfCategory = null,\n config,\n permission = null,\n roles,\n setModifiedRoles,\n}) => {\n const permissions = allPermissionsOfCategory?.get(\"permissions\") || [];\n const allPermissionIdsOfCategory = map(prop(\"id\"), permissions);\n\n const handleSubmit = (role, checked) => {\n const permissionIds = isNotEmpty(allPermissionIdsOfCategory)\n ? allPermissionIdsOfCategory\n : [permission?.id];\n\n const modifiedRole = modify(\n \"permissionIds\",\n () =>\n checked\n ? removeDuplicates([...role.permissionIds, ...permissionIds])\n : role.permissionIds.filter(id => !permissionIds.includes(id)),\n role\n );\n setModifiedRoles(replaceById(role.id, modifiedRole));\n };\n\n const isCheckboxChecked = role =>\n !allPermissionsOfCategory\n ? includes(permission?.id, role.permissionIds)\n : allPermissionIdsOfCategory.every(id =>\n includes(id, role.permissionIds)\n );\n\n return (\n <div\n className={classnames(\"ntm-roles-table__row\", {\n \"ntm-roles-table__row--highlighted\": !!allPermissionsOfCategory,\n })}\n >\n {roles.map(role => (\n <div className=\"ntm-roles-table__cell\" key={role.id}>\n <Tooltip\n content={renderRolesTooltipContent(role.name)}\n position=\"top\"\n disabled={\n (config?.permissions?.update ?? DEFAULT_PERMISSION) &&\n !identical(role.name, \"Admin\")\n }\n >\n <div className=\"ntm-roles-table-cell__checkbox-wrapper\">\n <Checkbox\n checked={isCheckboxChecked(role)}\n className=\"ntm-roles-table-cell__checkbox\"\n data-cy=\"ntm-roles-table-permission-checkbox\"\n disabled={\n ADMIN_ROLES.includes(role.name) ||\n !(config?.permissions?.update ?? DEFAULT_PERMISSION)\n }\n onChange={({ target: { checked } }) =>\n handleSubmit(role, checked)\n }\n />\n </div>\n </Tooltip>\n </div>\n ))}\n </div>\n );\n};\n\nexport default Row;\n","import React, { useEffect, useCallback, useRef } from \"react\";\n\nimport { DEFAULT_PERMISSION } from \"common/constants\";\nimport { isOverflown } from \"common/utils\";\nimport { MenuHorizontal } from \"neetoicons\";\nimport { Typography, Dropdown, Tooltip } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\nimport { ScrollSyncPane } from \"react-scroll-sync\";\n\nconst TableHeader = ({ config, roles, setManageRole, setIsScrollPresent }) => {\n const { t } = useTranslation();\n const scrollSyncElement = useRef(null);\n const { Menu, MenuItem } = Dropdown;\n\n const getOverflowStatus = useCallback(() => {\n if (scrollSyncElement.current) {\n const headerElement = scrollSyncElement.current.node;\n const isScrollBarPresent = isOverflown(headerElement);\n setIsScrollPresent(isScrollBarPresent);\n }\n }, [setIsScrollPresent]);\n\n useEffect(\n () => getOverflowStatus(),\n [getOverflowStatus, scrollSyncElement, roles]\n );\n\n return (\n <ScrollSyncPane group=\"horizontal\" ref={scrollSyncElement}>\n <div className=\"ntm-roles-table__header\">\n {roles?.map((role, index) => {\n const hasSystemRole = Object.is(role.kind, \"system\");\n\n return (\n <div className=\"ntm-roles-table__cell\" key={`ntm-roles-${index}`}>\n <div className=\"ntm-roles-table-header-cell__container\">\n <Typography\n className=\"ntm-roles-table-header__role-name\"\n data-cy=\"ntm-roles-table-header-role-title\"\n lineHeight=\"normal\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {role.name}\n </Typography>\n {!hasSystemRole && (\n <Dropdown\n autoWidth\n buttonStyle=\"text\"\n icon={MenuHorizontal}\n buttonProps={{\n className: \"ntm-roles-table-header__dropdown\",\n \"data-cy\": \"ntm-roles-table-header-role-dropdown-button\",\n }}\n >\n <Menu>\n <Tooltip\n content={t(\"tooltips.noPermissionToEditRoles\")}\n position=\"left\"\n disabled={\n config?.permissions?.update ?? DEFAULT_PERMISSION\n }\n >\n <span>\n <MenuItem.Button\n className=\"ntm-dropdown__button\"\n data-cy=\"ntm-roles-table-edit-role-button\"\n size=\"small\"\n style=\"text\"\n disabled={\n !(\n config?.permissions?.update ??\n DEFAULT_PERMISSION\n )\n }\n onClick={() =>\n setManageRole({\n isEdit: true,\n selectedRole: role,\n })\n }\n >\n {t(\"common.edit\")}\n </MenuItem.Button>\n </span>\n </Tooltip>\n <Tooltip\n content={t(\"tooltips.noPermissionToRemoveRoles\")}\n position=\"left\"\n disabled={\n config?.permissions?.delete ?? DEFAULT_PERMISSION\n }\n >\n <span>\n <MenuItem.Button\n className=\"ntm-dropdown__button\"\n data-cy=\"ntm-roles-table-delete-role-button\"\n size=\"small\"\n disabled={\n !(\n config?.permissions?.delete ??\n DEFAULT_PERMISSION\n )\n }\n onClick={() =>\n setManageRole({\n isDelete: true,\n selectedRole: role,\n })\n }\n >\n {t(\"common.delete\")}\n </MenuItem.Button>\n </span>\n </Tooltip>\n </Menu>\n </Dropdown>\n )}\n </div>\n </div>\n );\n })}\n </div>\n </ScrollSyncPane>\n );\n};\n\nexport default TableHeader;\n","import React from \"react\";\n\nimport { SINGULAR } from \"common/constants\";\nimport { useDestroyRole } from \"hooks/roles/useRolesApi\";\nimport { Alert } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nconst Delete = ({ isOpen, onClose, selectedRole, roles }) => {\n const { t } = useTranslation();\n const { mutate: deleteRole, isLoading: isDeleting } = useDestroyRole({\n onSuccess: onClose,\n });\n\n const handleDelete = () => {\n const { id } = selectedRole;\n const payload = { newRoleId: roles.find(role => role.id !== id)?.id };\n deleteRole({ id, payload });\n };\n\n return (\n <Alert\n cancelButtonLabel={t(\"buttons.cancel\")}\n isOpen={isOpen}\n isSubmitting={isDeleting}\n submitButtonLabel={t(\"buttons.proceed\")}\n message={\n <Trans\n i18nKey=\"alerts.deleting_\"\n values={{\n name: selectedRole?.name,\n what: t(\"common.role\", SINGULAR).toLocaleLowerCase(),\n }}\n />\n }\n title={t(\"common.delete_\", {\n what: t(\"common.role\", SINGULAR).toLocaleLowerCase(),\n })}\n onClose={onClose}\n onSubmit={handleDelete}\n />\n );\n};\n\nexport default Delete;\n","import React, { useRef } from \"react\";\n\nimport { SINGULAR } from \"common/constants\";\nimport ScrollToErrorField from \"components/Common/ScrollToErrorField\";\nimport { useUpdateRole } from \"hooks/roles/useRolesApi\";\nimport { Button, Pane, Typography } from \"neetoui\";\nimport { Form, Input, Textarea } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ROLE_FORMIK_PROPS } from \"./constants\";\n\nconst Edit = ({ isOpen, onClose, selectedRole }) => {\n const { t } = useTranslation();\n const formReference = useRef(null);\n const inputReference = useRef(null);\n const { mutate: updateRole, isLoading: isSubmitting } = useUpdateRole({\n onSuccess: onClose,\n });\n\n const initialValues = {\n name: selectedRole?.name,\n description: selectedRole?.description,\n };\n\n const handleFormSubmit = formValues => {\n const payload = {\n organizationRole: {\n ...selectedRole,\n ...formValues,\n description: formValues.description.trim(),\n },\n };\n updateRole({ id: selectedRole.id, payload });\n };\n\n return (\n <Pane initialFocusRef={inputReference} isOpen={isOpen} onClose={onClose}>\n <Pane.Header>\n <Typography data-cy=\"ntm-update-role-title\" style=\"h2\">\n {t(\"common.update_\", {\n what: t(\"common.role\", SINGULAR).toLocaleLowerCase(),\n })}\n </Typography>\n </Pane.Header>\n <Form\n ref={formReference}\n formikProps={{\n ...ROLE_FORMIK_PROPS,\n initialValues,\n onSubmit: handleFormSubmit,\n }}\n >\n {({ dirty }) => (\n <>\n <ScrollToErrorField formRef={formReference} />\n <Pane.Body>\n <div className=\"ntm-roles-pane__body\">\n <Input\n required\n data-cy=\"ntm-update-role-name-text-field\"\n label={t(\"common.name\")}\n maxLength={40}\n name=\"name\"\n placeholder={t(\"placeholders.enterRoleName\")}\n ref={inputReference}\n />\n <Textarea\n data-cy=\"ntm-update-role-description-text-field\"\n label={t(\"common.description\")}\n maxLength={255}\n name=\"description\"\n placeholder={t(\"placeholders.enterDescription\")}\n />\n </div>\n </Pane.Body>\n <Pane.Footer>\n <div className=\"ntm-roles-pane__footer\">\n <Button\n data-cy=\"ntm-update-role-submit-button\"\n disabled={!dirty || isSubmitting}\n label={t(\"buttons.saveChanges\")}\n loading={isSubmitting}\n type=\"submit\"\n />\n <Button\n data-cy=\"ntm-update-role-cancel-button\"\n label={t(\"buttons.cancel\")}\n style=\"text\"\n onClick={onClose}\n />\n </div>\n </Pane.Footer>\n </>\n )}\n </Form>\n </Pane>\n );\n};\n\nexport default Edit;\n","import React, { useState } from \"react\";\n\nimport { ScrollSyncPane } from \"react-scroll-sync\";\n\nimport { DEFAULT_MANAGE_ROLE_VALUES } from \"./constants\";\nimport Row from \"./Row\";\nimport TableHeader from \"./TableHeader\";\n\nimport Delete from \"../Delete\";\nimport Edit from \"../Edit\";\n\nconst Columns = ({\n config,\n filteredGroupPermissions,\n filteredRoles,\n roles,\n setModifiedRoles,\n setIsScrollPresent,\n}) => {\n const [manageRole, setManageRole] = useState(DEFAULT_MANAGE_ROLE_VALUES);\n const categories = Array.from(filteredGroupPermissions?.keys());\n\n const onClose = () => setManageRole(DEFAULT_MANAGE_ROLE_VALUES);\n\n return (\n <div className=\"ntm-roles-table__columns\">\n <TableHeader\n config={config}\n roles={filteredRoles}\n setIsScrollPresent={setIsScrollPresent}\n setManageRole={setManageRole}\n />\n <ScrollSyncPane group={[\"horizontal\", \"vertical\"]}>\n <div className=\"ntm-roles-table__rows\">\n {categories.map((category, index) => {\n const groupedPermissions = filteredGroupPermissions.get(category);\n const isPermissionVisible = groupedPermissions.get(\n \"isPermissionVisible\"\n );\n const permissions = groupedPermissions.get(\"permissions\");\n\n return (\n <div key={index}>\n <Row\n allPermissionsOfCategory={groupedPermissions}\n config={config}\n roles={filteredRoles}\n setModifiedRoles={setModifiedRoles}\n />\n {isPermissionVisible &&\n permissions.map(permission => (\n <Row\n config={config}\n key={permission.id}\n permission={permission}\n roles={filteredRoles}\n setModifiedRoles={setModifiedRoles}\n />\n ))}\n </div>\n );\n })}\n </div>\n </ScrollSyncPane>\n <Edit\n isOpen={manageRole.isEdit}\n selectedRole={manageRole.selectedRole}\n onClose={onClose}\n />\n <Delete\n isOpen={manageRole.isDelete}\n roles={roles}\n selectedRole={manageRole.selectedRole}\n onClose={onClose}\n />\n </div>\n );\n};\n\nexport default Columns;\n","export const ROLES_TABLE_CELL_HEIGHT_VARIABLE = \"--ntm-roles-table-cell-height\";\n","import React from \"react\";\n\nimport { getScrollBarWidth } from \"common/utils\";\nimport { Typography } from \"neetoui\";\nimport { pluck } from \"ramda\";\n\nimport { ROLES_TABLE_CELL_HEIGHT_VARIABLE } from \"./constants\";\n\nconst getCurrentTableCellHeight = () =>\n parseInt(\n getComputedStyle(document.documentElement).getPropertyValue(\n ROLES_TABLE_CELL_HEIGHT_VARIABLE\n ),\n 10\n );\nexport const renderDescription = permissions =>\n permissions?.map(({ id, description }) => (\n <div className=\"ntm-roles-table-sidebar__list-item\" key={id}>\n <Typography\n data-cy=\"ntm-permission-category-description\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {description}\n </Typography>\n </div>\n ));\n\nexport const getSearchWrapperStyle = () => {\n const scrollBarWidth = getScrollBarWidth();\n\n document.documentElement.style.setProperty(\n \"--ntm-roles-table-default-scroll\",\n `${scrollBarWidth}px`\n );\n\n return {\n marginBottom: `${scrollBarWidth}px`,\n };\n};\n\nexport const assignRolesTableCellHeight = () => {\n const sidebarItems = [\n ...document.getElementsByClassName(\"ntm-roles-table-sidebar__list-item\"),\n ];\n const clientHeights = pluck(\"clientHeight\", sidebarItems);\n const maxClientHeight = Math.max(...clientHeights);\n const currentTableCellHeight = getCurrentTableCellHeight();\n\n if (maxClientHeight > currentTableCellHeight) {\n document.documentElement.style.setProperty(\n ROLES_TABLE_CELL_HEIGHT_VARIABLE,\n `${maxClientHeight}px`\n );\n }\n};\n","import React from \"react\";\n\nimport { Down, Up } from \"neetoicons\";\n\nconst ToggleDropdown = ({ isVisible, onClick }) =>\n isVisible ? (\n <Up\n className=\"ntm-roles-table-sidebar__drop-down-button\"\n data-cy=\"ntm-permission-category-hide-button\"\n size={16}\n strokeWidth={2}\n onClick={onClick}\n />\n ) : (\n <Down\n className=\"ntm-roles-table-sidebar__drop-down-button\"\n data-cy=\"ntm-permission-category-show-button\"\n size={16}\n strokeWidth={2}\n onClick={onClick}\n />\n );\n\nexport default ToggleDropdown;\n","import React, { useLayoutEffect } from \"react\";\n\nimport { Search } from \"neetoicons\";\nimport { Input, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\nimport { ScrollSyncPane } from \"react-scroll-sync\";\n\nimport { PLURAL } from \"common/constants\";\n\nimport {\n assignRolesTableCellHeight,\n getSearchWrapperStyle,\n renderDescription,\n} from \"./helpers\";\nimport ToggleDropdown from \"./ToggleDropdown\";\n\nconst Sidebar = ({\n searchTerm,\n setSearchTerm,\n filteredGroupPermissions,\n toggleDropdown,\n isScrollPresent,\n}) => {\n const { t } = useTranslation();\n const categories = Array.from(filteredGroupPermissions.keys());\n const searchWrapperStyle = isScrollPresent ? getSearchWrapperStyle() : {};\n\n useLayoutEffect(() => {\n assignRolesTableCellHeight();\n }, []);\n\n return (\n <div className=\"ntm-roles-table__sidebar\">\n <div\n className=\"ntm-roles-table-sidebar__search\"\n style={searchWrapperStyle}\n >\n <Input\n data-cy=\"ntm-search-permissions-input\"\n prefix={<Search />}\n type=\"search\"\n value={searchTerm}\n placeholder={t(\"common.search_\", {\n what: t(\"common.permission\", PLURAL).toLocaleLowerCase(),\n })}\n onChange={({ target: { value } }) => setSearchTerm(value)}\n />\n </div>\n <ScrollSyncPane group=\"vertical\">\n <div className=\"ntm-roles-table-sidebar__list\">\n {categories.map((category, index) => {\n const groupedPermissions = filteredGroupPermissions.get(category);\n const isPermissionVisible = groupedPermissions.get(\n \"isPermissionVisible\"\n );\n const permissions = groupedPermissions.get(\"permissions\");\n\n return (\n <div key={index}>\n <div className=\"ntm-roles-table-sidebar__list-item ntm-roles-table-sidebar__list-item--highlighted\">\n <Typography\n data-cy=\"ntm-permission-category-title\"\n lineHeight=\"normal\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {category}\n </Typography>\n <ToggleDropdown\n isVisible={isPermissionVisible}\n onClick={() => toggleDropdown(category)}\n />\n </div>\n {isPermissionVisible && renderDescription(permissions)}\n </div>\n );\n })}\n </div>\n </ScrollSyncPane>\n </div>\n );\n};\n\nexport default Sidebar;\n","import React, { useState, useEffect } from \"react\";\n\nimport { NoData } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { MANAGE_MEMBER_PERMISSIONS, PLURAL, SINGULAR } from \"common/constants\";\nimport { hasPermission } from \"common/utils\";\n\nimport Columns from \"./Columns\";\nimport Sidebar from \"./Sidebar\";\nimport { filterPermissionsBySearch, updatePermissionVisibility } from \"./utils\";\n\nconst Table = ({\n config,\n filteredRoles,\n permissionGroups,\n roles,\n setModifiedRoles,\n setIsNewRolePaneOpen,\n}) => {\n const { t } = useTranslation();\n const [searchTerm, setSearchTerm] = useState(\"\");\n const [filteredGroupPermissions, setFilteredGroupPermissions] =\n useState(permissionGroups);\n const [isScrollPresent, setIsScrollPresent] = useState(false);\n\n const isAddRoleDisabled = !(\n config.permissions?.create ?? hasPermission(MANAGE_MEMBER_PERMISSIONS)\n );\n\n const toggleDropdown = category => {\n const permissions = updatePermissionVisibility(\n category,\n filteredGroupPermissions\n );\n setFilteredGroupPermissions(permissions);\n };\n\n useEffect(() => {\n const newValue = filterPermissionsBySearch(searchTerm, permissionGroups);\n setFilteredGroupPermissions(newValue);\n }, [permissionGroups, searchTerm]);\n\n return (\n <div className=\"ntm-roles-table__wrapper\">\n <Sidebar\n filteredGroupPermissions={filteredGroupPermissions}\n isScrollPresent={isScrollPresent}\n searchTerm={searchTerm}\n setSearchTerm={setSearchTerm}\n toggleDropdown={toggleDropdown}\n />\n {isEmpty(filteredRoles) ? (\n <div className=\"ntm-empty-state\">\n <NoData\n primaryButtonProps={{\n \"data-cy\": \"ntm-add-role-button\",\n disabled: isAddRoleDisabled,\n label: t(\"common.addNew_\", {\n what: t(\"common.role\", SINGULAR).toLocaleLowerCase(),\n }),\n onClick: () => setIsNewRolePaneOpen(true),\n }}\n title={t(\"common.notFound_\", {\n what: t(\"common.role\", PLURAL).toLocaleLowerCase(),\n })}\n />\n </div>\n ) : (\n <Columns\n config={config}\n filteredGroupPermissions={filteredGroupPermissions}\n filteredRoles={filteredRoles}\n roles={roles}\n setIsScrollPresent={setIsScrollPresent}\n setModifiedRoles={setModifiedRoles}\n />\n )}\n </div>\n );\n};\n\nexport default Table;\n","import { findById } from \"neetocommons/pure\";\nimport { append, equals } from \"ramda\";\n\nexport const getPermissionGroups = (permissions = []) => {\n const sortBySequence = permissions?.[0]?.sequence\n ? permissions.sort((first, second) => first.sequence - second.sequence)\n : permissions;\n\n const groupedPermissions = new Map();\n (\"\");\n sortBySequence.forEach(permission => {\n if (groupedPermissions.has(permission?.category)) {\n const category = groupedPermissions.get(permission.category);\n const currentPermissions = category.get(\"permissions\");\n const permissions = append(permission, currentPermissions);\n category.set(\"permissions\", permissions);\n } else {\n const value = new Map();\n value.set(\"permissions\", append(permission, []));\n value.set(\"isPermissionVisible\", true);\n groupedPermissions.set(permission?.category, value);\n }\n });\n\n return groupedPermissions;\n};\n\nexport const getModifiedPermissions = (roles = [], modifiedRoles = []) =>\n modifiedRoles\n .map(role => {\n const oldPermissions = findById(role.id, roles).permissionIds;\n if (equals(oldPermissions, role.permissionIds)) return false;\n\n return { id: role.id, permissionIds: role.permissionIds };\n })\n .filter(Boolean);\n","import React, { useState, useEffect } from \"react\";\n\nimport { isPresent } from \"neetocommons/pure\";\nimport { withTitle } from \"neetocommons/react-utils\";\nimport { ExternalLink } from \"neetoicons\";\nimport { Button, PageLoader } from \"neetoui\";\nimport { Container } from \"neetoui/layouts\";\nimport { filter, includes } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { ScrollSync } from \"react-scroll-sync\";\n\nimport { DEFAULT_PERMISSION, PLURAL } from \"common/constants\";\nimport i18n from \"common/i18n\";\nimport withReactQuery from \"components/Common/withReactQuery\";\nimport { useFetchPermissions } from \"hooks/roles/usePermissionsApi\";\nimport { useBulkUpdateRoles, useFetchRoles } from \"hooks/roles/useRolesApi\";\n\nimport Header from \"./Header\";\nimport New from \"./New\";\nimport Table from \"./Table\";\nimport { getModifiedPermissions, getPermissionGroups } from \"./utils\";\n\nconst Roles = ({ config }) => {\n const { t } = useTranslation();\n const [searchString, setSearchString] = useState(\"\");\n const [filteredRoles, setFilteredRoles] = useState([]);\n const [isNewRolePaneOpen, setIsNewRolePaneOpen] = useState(false);\n const { data: roles, isLoading: isRolesLoading } = useFetchRoles({\n onSuccess: roles => setModifiedRoles(roles),\n enabled: config?.permissions?.view ?? DEFAULT_PERMISSION,\n });\n\n const { data: permissions, isLoading: isPermissionsLoading } =\n useFetchPermissions({\n enabled: config?.permissions?.view ?? DEFAULT_PERMISSION,\n });\n\n const { mutate: bulkUpdate } = useBulkUpdateRoles({\n enabled: config?.permissions?.update ?? DEFAULT_PERMISSION,\n });\n const [modifiedRoles, setModifiedRoles] = useState(roles);\n const isDirty = isPresent(getModifiedPermissions(roles, modifiedRoles));\n const permissionGroups = getPermissionGroups(permissions);\n\n useEffect(() => {\n setFilteredRoles(\n filter(\n ({ name }) =>\n includes(\n searchString.toLowerCase().trim(),\n name.toLowerCase().trim()\n ),\n modifiedRoles || []\n )\n );\n }, [modifiedRoles, searchString]);\n\n const handleSubmit = () => {\n const updatedRoles = getModifiedPermissions(roles, modifiedRoles);\n bulkUpdate({ organizationRoles: { updatedRoles } });\n };\n\n const handleReset = () => setModifiedRoles(roles);\n\n if (isRolesLoading || isPermissionsLoading) {\n return (\n <div className=\"ntm-members-page-loader\">\n <PageLoader />\n </div>\n );\n }\n\n return (\n <>\n <ScrollSync>\n <Container isHeaderFixed>\n <Header\n config={config}\n handleReset={handleReset}\n handleSubmit={handleSubmit}\n isDirty={isDirty}\n searchString={searchString}\n setIsNewRolePaneOpen={setIsNewRolePaneOpen}\n setSearchString={setSearchString}\n />\n <Table\n config={config}\n filteredRoles={filteredRoles}\n permissionGroups={permissionGroups}\n roles={roles}\n setIsNewRolePaneOpen={setIsNewRolePaneOpen}\n setModifiedRoles={setModifiedRoles}\n />\n {config?.helpUrl && (\n <div className=\"ntm-roles-help-url-wrapper\">\n <Button\n data-cy=\"ntm-roles-permission-more-info-button\"\n href={config.helpUrl}\n icon={ExternalLink}\n label={t(\"helpers.visitToKnowMoreAboutPermissions\")}\n style=\"link\"\n target=\"_blank\"\n />\n </div>\n )}\n </Container>\n </ScrollSync>\n <New\n isOpen={isNewRolePaneOpen}\n permissions={permissions}\n onClose={() => setIsNewRolePaneOpen(false)}\n />\n </>\n );\n};\n\nexport default withTitle(withReactQuery(Roles), i18n.t(\"common.role\", PLURAL));\n","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\ntry {\n\tnull.error; // eslint-disable-line no-unused-expressions\n} catch (e) {\n\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\tvar errorProto = getProto(getProto(e));\n\tINTRINSICS['%Error.prototype%'] = errorProto;\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('has');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar slice = Array.prototype.slice;\nvar toStr = Object.prototype.toString;\nvar funcType = '[object Function]';\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.call(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slice.call(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n args.concat(slice.call(arguments))\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n } else {\n return target.apply(\n that,\n args.concat(slice.call(arguments))\n );\n }\n };\n\n var boundLength = Math.max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs.push('$' + i);\n }\n\n bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar bind = require('function-bind');\n\nmodule.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);\n","'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\nvar $max = GetIntrinsic('%Math.max%');\n\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = null;\n\t}\n}\n\nmodule.exports = function callBind(originalFunction) {\n\tvar func = $reflectApply(bind, $call, arguments);\n\tif ($gOPD && $defineProperty) {\n\t\tvar desc = $gOPD(func, 'length');\n\t\tif (desc.configurable) {\n\t\t\t// original length, plus the receiver, minus any additional arguments (after the receiver)\n\t\t\t$defineProperty(\n\t\t\t\tfunc,\n\t\t\t\t'length',\n\t\t\t\t{ value: 1 + $max(0, originalFunction.length - (arguments.length - 1)) }\n\t\t\t);\n\t\t}\n\t}\n\treturn func;\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","module.exports = require('util').inspect;\n","var hasMap = typeof Map === 'function' && Map.prototype;\nvar mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, 'size') : null;\nvar mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === 'function' ? mapSizeDescriptor.get : null;\nvar mapForEach = hasMap && Map.prototype.forEach;\nvar hasSet = typeof Set === 'function' && Set.prototype;\nvar setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, 'size') : null;\nvar setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === 'function' ? setSizeDescriptor.get : null;\nvar setForEach = hasSet && Set.prototype.forEach;\nvar hasWeakMap = typeof WeakMap === 'function' && WeakMap.prototype;\nvar weakMapHas = hasWeakMap ? WeakMap.prototype.has : null;\nvar hasWeakSet = typeof WeakSet === 'function' && WeakSet.prototype;\nvar weakSetHas = hasWeakSet ? WeakSet.prototype.has : null;\nvar hasWeakRef = typeof WeakRef === 'function' && WeakRef.prototype;\nvar weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null;\nvar booleanValueOf = Boolean.prototype.valueOf;\nvar objectToString = Object.prototype.toString;\nvar functionToString = Function.prototype.toString;\nvar $match = String.prototype.match;\nvar $slice = String.prototype.slice;\nvar $replace = String.prototype.replace;\nvar $toUpperCase = String.prototype.toUpperCase;\nvar $toLowerCase = String.prototype.toLowerCase;\nvar $test = RegExp.prototype.test;\nvar $concat = Array.prototype.concat;\nvar $join = Array.prototype.join;\nvar $arrSlice = Array.prototype.slice;\nvar $floor = Math.floor;\nvar bigIntValueOf = typeof BigInt === 'function' ? BigInt.prototype.valueOf : null;\nvar gOPS = Object.getOwnPropertySymbols;\nvar symToString = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol.prototype.toString : null;\nvar hasShammedSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'object';\n// ie, `has-tostringtag/shams\nvar toStringTag = typeof Symbol === 'function' && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? 'object' : 'symbol')\n ? Symbol.toStringTag\n : null;\nvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\nvar gPO = (typeof Reflect === 'function' ? Reflect.getPrototypeOf : Object.getPrototypeOf) || (\n [].__proto__ === Array.prototype // eslint-disable-line no-proto\n ? function (O) {\n return O.__proto__; // eslint-disable-line no-proto\n }\n : null\n);\n\nfunction addNumericSeparator(num, str) {\n if (\n num === Infinity\n || num === -Infinity\n || num !== num\n || (num && num > -1000 && num < 1000)\n || $test.call(/e/, str)\n ) {\n return str;\n }\n var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;\n if (typeof num === 'number') {\n var int = num < 0 ? -$floor(-num) : $floor(num); // trunc(num)\n if (int !== num) {\n var intStr = String(int);\n var dec = $slice.call(str, intStr.length + 1);\n return $replace.call(intStr, sepRegex, '$&_') + '.' + $replace.call($replace.call(dec, /([0-9]{3})/g, '$&_'), /_$/, '');\n }\n }\n return $replace.call(str, sepRegex, '$&_');\n}\n\nvar utilInspect = require('./util.inspect');\nvar inspectCustom = utilInspect.custom;\nvar inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null;\n\nmodule.exports = function inspect_(obj, options, depth, seen) {\n var opts = options || {};\n\n if (has(opts, 'quoteStyle') && (opts.quoteStyle !== 'single' && opts.quoteStyle !== 'double')) {\n throw new TypeError('option \"quoteStyle\" must be \"single\" or \"double\"');\n }\n if (\n has(opts, 'maxStringLength') && (typeof opts.maxStringLength === 'number'\n ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity\n : opts.maxStringLength !== null\n )\n ) {\n throw new TypeError('option \"maxStringLength\", if provided, must be a positive integer, Infinity, or `null`');\n }\n var customInspect = has(opts, 'customInspect') ? opts.customInspect : true;\n if (typeof customInspect !== 'boolean' && customInspect !== 'symbol') {\n throw new TypeError('option \"customInspect\", if provided, must be `true`, `false`, or `\\'symbol\\'`');\n }\n\n if (\n has(opts, 'indent')\n && opts.indent !== null\n && opts.indent !== '\\t'\n && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)\n ) {\n throw new TypeError('option \"indent\" must be \"\\\\t\", an integer > 0, or `null`');\n }\n if (has(opts, 'numericSeparator') && typeof opts.numericSeparator !== 'boolean') {\n throw new TypeError('option \"numericSeparator\", if provided, must be `true` or `false`');\n }\n var numericSeparator = opts.numericSeparator;\n\n if (typeof obj === 'undefined') {\n return 'undefined';\n }\n if (obj === null) {\n return 'null';\n }\n if (typeof obj === 'boolean') {\n return obj ? 'true' : 'false';\n }\n\n if (typeof obj === 'string') {\n return inspectString(obj, opts);\n }\n if (typeof obj === 'number') {\n if (obj === 0) {\n return Infinity / obj > 0 ? '0' : '-0';\n }\n var str = String(obj);\n return numericSeparator ? addNumericSeparator(obj, str) : str;\n }\n if (typeof obj === 'bigint') {\n var bigIntStr = String(obj) + 'n';\n return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr;\n }\n\n var maxDepth = typeof opts.depth === 'undefined' ? 5 : opts.depth;\n if (typeof depth === 'undefined') { depth = 0; }\n if (depth >= maxDepth && maxDepth > 0 && typeof obj === 'object') {\n return isArray(obj) ? '[Array]' : '[Object]';\n }\n\n var indent = getIndent(opts, depth);\n\n if (typeof seen === 'undefined') {\n seen = [];\n } else if (indexOf(seen, obj) >= 0) {\n return '[Circular]';\n }\n\n function inspect(value, from, noIndent) {\n if (from) {\n seen = $arrSlice.call(seen);\n seen.push(from);\n }\n if (noIndent) {\n var newOpts = {\n depth: opts.depth\n };\n if (has(opts, 'quoteStyle')) {\n newOpts.quoteStyle = opts.quoteStyle;\n }\n return inspect_(value, newOpts, depth + 1, seen);\n }\n return inspect_(value, opts, depth + 1, seen);\n }\n\n if (typeof obj === 'function' && !isRegExp(obj)) { // in older engines, regexes are callable\n var name = nameOf(obj);\n var keys = arrObjKeys(obj, inspect);\n return '[Function' + (name ? ': ' + name : ' (anonymous)') + ']' + (keys.length > 0 ? ' { ' + $join.call(keys, ', ') + ' }' : '');\n }\n if (isSymbol(obj)) {\n var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\\(.*\\))_[^)]*$/, '$1') : symToString.call(obj);\n return typeof obj === 'object' && !hasShammedSymbols ? markBoxed(symString) : symString;\n }\n if (isElement(obj)) {\n var s = '<' + $toLowerCase.call(String(obj.nodeName));\n var attrs = obj.attributes || [];\n for (var i = 0; i < attrs.length; i++) {\n s += ' ' + attrs[i].name + '=' + wrapQuotes(quote(attrs[i].value), 'double', opts);\n }\n s += '>';\n if (obj.childNodes && obj.childNodes.length) { s += '...'; }\n s += '</' + $toLowerCase.call(String(obj.nodeName)) + '>';\n return s;\n }\n if (isArray(obj)) {\n if (obj.length === 0) { return '[]'; }\n var xs = arrObjKeys(obj, inspect);\n if (indent && !singleLineValues(xs)) {\n return '[' + indentedJoin(xs, indent) + ']';\n }\n return '[ ' + $join.call(xs, ', ') + ' ]';\n }\n if (isError(obj)) {\n var parts = arrObjKeys(obj, inspect);\n if (!('cause' in Error.prototype) && 'cause' in obj && !isEnumerable.call(obj, 'cause')) {\n return '{ [' + String(obj) + '] ' + $join.call($concat.call('[cause]: ' + inspect(obj.cause), parts), ', ') + ' }';\n }\n if (parts.length === 0) { return '[' + String(obj) + ']'; }\n return '{ [' + String(obj) + '] ' + $join.call(parts, ', ') + ' }';\n }\n if (typeof obj === 'object' && customInspect) {\n if (inspectSymbol && typeof obj[inspectSymbol] === 'function' && utilInspect) {\n return utilInspect(obj, { depth: maxDepth - depth });\n } else if (customInspect !== 'symbol' && typeof obj.inspect === 'function') {\n return obj.inspect();\n }\n }\n if (isMap(obj)) {\n var mapParts = [];\n if (mapForEach) {\n mapForEach.call(obj, function (value, key) {\n mapParts.push(inspect(key, obj, true) + ' => ' + inspect(value, obj));\n });\n }\n return collectionOf('Map', mapSize.call(obj), mapParts, indent);\n }\n if (isSet(obj)) {\n var setParts = [];\n if (setForEach) {\n setForEach.call(obj, function (value) {\n setParts.push(inspect(value, obj));\n });\n }\n return collectionOf('Set', setSize.call(obj), setParts, indent);\n }\n if (isWeakMap(obj)) {\n return weakCollectionOf('WeakMap');\n }\n if (isWeakSet(obj)) {\n return weakCollectionOf('WeakSet');\n }\n if (isWeakRef(obj)) {\n return weakCollectionOf('WeakRef');\n }\n if (isNumber(obj)) {\n return markBoxed(inspect(Number(obj)));\n }\n if (isBigInt(obj)) {\n return markBoxed(inspect(bigIntValueOf.call(obj)));\n }\n if (isBoolean(obj)) {\n return markBoxed(booleanValueOf.call(obj));\n }\n if (isString(obj)) {\n return markBoxed(inspect(String(obj)));\n }\n if (!isDate(obj) && !isRegExp(obj)) {\n var ys = arrObjKeys(obj, inspect);\n var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object;\n var protoTag = obj instanceof Object ? '' : 'null prototype';\n var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? 'Object' : '';\n var constructorTag = isPlainObject || typeof obj.constructor !== 'function' ? '' : obj.constructor.name ? obj.constructor.name + ' ' : '';\n var tag = constructorTag + (stringTag || protoTag ? '[' + $join.call($concat.call([], stringTag || [], protoTag || []), ': ') + '] ' : '');\n if (ys.length === 0) { return tag + '{}'; }\n if (indent) {\n return tag + '{' + indentedJoin(ys, indent) + '}';\n }\n return tag + '{ ' + $join.call(ys, ', ') + ' }';\n }\n return String(obj);\n};\n\nfunction wrapQuotes(s, defaultStyle, opts) {\n var quoteChar = (opts.quoteStyle || defaultStyle) === 'double' ? '\"' : \"'\";\n return quoteChar + s + quoteChar;\n}\n\nfunction quote(s) {\n return $replace.call(String(s), /\"/g, '&quot;');\n}\n\nfunction isArray(obj) { return toStr(obj) === '[object Array]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isDate(obj) { return toStr(obj) === '[object Date]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isRegExp(obj) { return toStr(obj) === '[object RegExp]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isError(obj) { return toStr(obj) === '[object Error]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isString(obj) { return toStr(obj) === '[object String]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isNumber(obj) { return toStr(obj) === '[object Number]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isBoolean(obj) { return toStr(obj) === '[object Boolean]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\n\n// Symbol and BigInt do have Symbol.toStringTag by spec, so that can't be used to eliminate false positives\nfunction isSymbol(obj) {\n if (hasShammedSymbols) {\n return obj && typeof obj === 'object' && obj instanceof Symbol;\n }\n if (typeof obj === 'symbol') {\n return true;\n }\n if (!obj || typeof obj !== 'object' || !symToString) {\n return false;\n }\n try {\n symToString.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isBigInt(obj) {\n if (!obj || typeof obj !== 'object' || !bigIntValueOf) {\n return false;\n }\n try {\n bigIntValueOf.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nvar hasOwn = Object.prototype.hasOwnProperty || function (key) { return key in this; };\nfunction has(obj, key) {\n return hasOwn.call(obj, key);\n}\n\nfunction toStr(obj) {\n return objectToString.call(obj);\n}\n\nfunction nameOf(f) {\n if (f.name) { return f.name; }\n var m = $match.call(functionToString.call(f), /^function\\s*([\\w$]+)/);\n if (m) { return m[1]; }\n return null;\n}\n\nfunction indexOf(xs, x) {\n if (xs.indexOf) { return xs.indexOf(x); }\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) { return i; }\n }\n return -1;\n}\n\nfunction isMap(x) {\n if (!mapSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n mapSize.call(x);\n try {\n setSize.call(x);\n } catch (s) {\n return true;\n }\n return x instanceof Map; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakMap(x) {\n if (!weakMapHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakMapHas.call(x, weakMapHas);\n try {\n weakSetHas.call(x, weakSetHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakMap; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakRef(x) {\n if (!weakRefDeref || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakRefDeref.call(x);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isSet(x) {\n if (!setSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n setSize.call(x);\n try {\n mapSize.call(x);\n } catch (m) {\n return true;\n }\n return x instanceof Set; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakSet(x) {\n if (!weakSetHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakSetHas.call(x, weakSetHas);\n try {\n weakMapHas.call(x, weakMapHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakSet; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isElement(x) {\n if (!x || typeof x !== 'object') { return false; }\n if (typeof HTMLElement !== 'undefined' && x instanceof HTMLElement) {\n return true;\n }\n return typeof x.nodeName === 'string' && typeof x.getAttribute === 'function';\n}\n\nfunction inspectString(str, opts) {\n if (str.length > opts.maxStringLength) {\n var remaining = str.length - opts.maxStringLength;\n var trailer = '... ' + remaining + ' more character' + (remaining > 1 ? 's' : '');\n return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer;\n }\n // eslint-disable-next-line no-control-regex\n var s = $replace.call($replace.call(str, /(['\\\\])/g, '\\\\$1'), /[\\x00-\\x1f]/g, lowbyte);\n return wrapQuotes(s, 'single', opts);\n}\n\nfunction lowbyte(c) {\n var n = c.charCodeAt(0);\n var x = {\n 8: 'b',\n 9: 't',\n 10: 'n',\n 12: 'f',\n 13: 'r'\n }[n];\n if (x) { return '\\\\' + x; }\n return '\\\\x' + (n < 0x10 ? '0' : '') + $toUpperCase.call(n.toString(16));\n}\n\nfunction markBoxed(str) {\n return 'Object(' + str + ')';\n}\n\nfunction weakCollectionOf(type) {\n return type + ' { ? }';\n}\n\nfunction collectionOf(type, size, entries, indent) {\n var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ', ');\n return type + ' (' + size + ') {' + joinedEntries + '}';\n}\n\nfunction singleLineValues(xs) {\n for (var i = 0; i < xs.length; i++) {\n if (indexOf(xs[i], '\\n') >= 0) {\n return false;\n }\n }\n return true;\n}\n\nfunction getIndent(opts, depth) {\n var baseIndent;\n if (opts.indent === '\\t') {\n baseIndent = '\\t';\n } else if (typeof opts.indent === 'number' && opts.indent > 0) {\n baseIndent = $join.call(Array(opts.indent + 1), ' ');\n } else {\n return null;\n }\n return {\n base: baseIndent,\n prev: $join.call(Array(depth + 1), baseIndent)\n };\n}\n\nfunction indentedJoin(xs, indent) {\n if (xs.length === 0) { return ''; }\n var lineJoiner = '\\n' + indent.prev + indent.base;\n return lineJoiner + $join.call(xs, ',' + lineJoiner) + '\\n' + indent.prev;\n}\n\nfunction arrObjKeys(obj, inspect) {\n var isArr = isArray(obj);\n var xs = [];\n if (isArr) {\n xs.length = obj.length;\n for (var i = 0; i < obj.length; i++) {\n xs[i] = has(obj, i) ? inspect(obj[i], obj) : '';\n }\n }\n var syms = typeof gOPS === 'function' ? gOPS(obj) : [];\n var symMap;\n if (hasShammedSymbols) {\n symMap = {};\n for (var k = 0; k < syms.length; k++) {\n symMap['$' + syms[k]] = syms[k];\n }\n }\n\n for (var key in obj) { // eslint-disable-line no-restricted-syntax\n if (!has(obj, key)) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (isArr && String(Number(key)) === key && key < obj.length) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (hasShammedSymbols && symMap['$' + key] instanceof Symbol) {\n // this is to prevent shammed Symbols, which are stored as strings, from being included in the string key section\n continue; // eslint-disable-line no-restricted-syntax, no-continue\n } else if ($test.call(/[^\\w$]/, key)) {\n xs.push(inspect(key, obj) + ': ' + inspect(obj[key], obj));\n } else {\n xs.push(key + ': ' + inspect(obj[key], obj));\n }\n }\n if (typeof gOPS === 'function') {\n for (var j = 0; j < syms.length; j++) {\n if (isEnumerable.call(obj, syms[j])) {\n xs.push('[' + inspect(syms[j]) + ']: ' + inspect(obj[syms[j]], obj));\n }\n }\n }\n return xs;\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar callBound = require('call-bind/callBound');\nvar inspect = require('object-inspect');\n\nvar $TypeError = GetIntrinsic('%TypeError%');\nvar $WeakMap = GetIntrinsic('%WeakMap%', true);\nvar $Map = GetIntrinsic('%Map%', true);\n\nvar $weakMapGet = callBound('WeakMap.prototype.get', true);\nvar $weakMapSet = callBound('WeakMap.prototype.set', true);\nvar $weakMapHas = callBound('WeakMap.prototype.has', true);\nvar $mapGet = callBound('Map.prototype.get', true);\nvar $mapSet = callBound('Map.prototype.set', true);\nvar $mapHas = callBound('Map.prototype.has', true);\n\n/*\n * This function traverses the list returning the node corresponding to the\n * given key.\n *\n * That node is also moved to the head of the list, so that if it's accessed\n * again we don't need to traverse the whole list. By doing so, all the recently\n * used nodes can be accessed relatively quickly.\n */\nvar listGetNode = function (list, key) { // eslint-disable-line consistent-return\n\tfor (var prev = list, curr; (curr = prev.next) !== null; prev = curr) {\n\t\tif (curr.key === key) {\n\t\t\tprev.next = curr.next;\n\t\t\tcurr.next = list.next;\n\t\t\tlist.next = curr; // eslint-disable-line no-param-reassign\n\t\t\treturn curr;\n\t\t}\n\t}\n};\n\nvar listGet = function (objects, key) {\n\tvar node = listGetNode(objects, key);\n\treturn node && node.value;\n};\nvar listSet = function (objects, key, value) {\n\tvar node = listGetNode(objects, key);\n\tif (node) {\n\t\tnode.value = value;\n\t} else {\n\t\t// Prepend the new node to the beginning of the list\n\t\tobjects.next = { // eslint-disable-line no-param-reassign\n\t\t\tkey: key,\n\t\t\tnext: objects.next,\n\t\t\tvalue: value\n\t\t};\n\t}\n};\nvar listHas = function (objects, key) {\n\treturn !!listGetNode(objects, key);\n};\n\nmodule.exports = function getSideChannel() {\n\tvar $wm;\n\tvar $m;\n\tvar $o;\n\tvar channel = {\n\t\tassert: function (key) {\n\t\t\tif (!channel.has(key)) {\n\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t}\n\t\t},\n\t\tget: function (key) { // eslint-disable-line consistent-return\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapGet($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapGet($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listGet($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\thas: function (key) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapHas($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapHas($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listHas($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tset: function (key, value) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif (!$wm) {\n\t\t\t\t\t$wm = new $WeakMap();\n\t\t\t\t}\n\t\t\t\t$weakMapSet($wm, key, value);\n\t\t\t} else if ($Map) {\n\t\t\t\tif (!$m) {\n\t\t\t\t\t$m = new $Map();\n\t\t\t\t}\n\t\t\t\t$mapSet($m, key, value);\n\t\t\t} else {\n\t\t\t\tif (!$o) {\n\t\t\t\t\t/*\n\t\t\t\t\t * Initialize the linked list as an empty node, so that we don't have\n\t\t\t\t\t * to special-case handling of the first node: we can always refer to\n\t\t\t\t\t * it as (previous node).next, instead of something like (list).head\n\t\t\t\t\t */\n\t\t\t\t\t$o = { key: {}, next: null };\n\t\t\t\t}\n\t\t\t\tlistSet($o, key, value);\n\t\t\t}\n\t\t}\n\t};\n\treturn channel;\n};\n","'use strict';\n\nvar replace = String.prototype.replace;\nvar percentTwenties = /%20/g;\n\nvar Format = {\n RFC1738: 'RFC1738',\n RFC3986: 'RFC3986'\n};\n\nmodule.exports = {\n 'default': Format.RFC3986,\n formatters: {\n RFC1738: function (value) {\n return replace.call(value, percentTwenties, '+');\n },\n RFC3986: function (value) {\n return String(value);\n }\n },\n RFC1738: Format.RFC1738,\n RFC3986: Format.RFC3986\n};\n","'use strict';\n\nvar formats = require('./formats');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar hexTable = (function () {\n var array = [];\n for (var i = 0; i < 256; ++i) {\n array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());\n }\n\n return array;\n}());\n\nvar compactQueue = function compactQueue(queue) {\n while (queue.length > 1) {\n var item = queue.pop();\n var obj = item.obj[item.prop];\n\n if (isArray(obj)) {\n var compacted = [];\n\n for (var j = 0; j < obj.length; ++j) {\n if (typeof obj[j] !== 'undefined') {\n compacted.push(obj[j]);\n }\n }\n\n item.obj[item.prop] = compacted;\n }\n }\n};\n\nvar arrayToObject = function arrayToObject(source, options) {\n var obj = options && options.plainObjects ? Object.create(null) : {};\n for (var i = 0; i < source.length; ++i) {\n if (typeof source[i] !== 'undefined') {\n obj[i] = source[i];\n }\n }\n\n return obj;\n};\n\nvar merge = function merge(target, source, options) {\n /* eslint no-param-reassign: 0 */\n if (!source) {\n return target;\n }\n\n if (typeof source !== 'object') {\n if (isArray(target)) {\n target.push(source);\n } else if (target && typeof target === 'object') {\n if ((options && (options.plainObjects || options.allowPrototypes)) || !has.call(Object.prototype, source)) {\n target[source] = true;\n }\n } else {\n return [target, source];\n }\n\n return target;\n }\n\n if (!target || typeof target !== 'object') {\n return [target].concat(source);\n }\n\n var mergeTarget = target;\n if (isArray(target) && !isArray(source)) {\n mergeTarget = arrayToObject(target, options);\n }\n\n if (isArray(target) && isArray(source)) {\n source.forEach(function (item, i) {\n if (has.call(target, i)) {\n var targetItem = target[i];\n if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {\n target[i] = merge(targetItem, item, options);\n } else {\n target.push(item);\n }\n } else {\n target[i] = item;\n }\n });\n return target;\n }\n\n return Object.keys(source).reduce(function (acc, key) {\n var value = source[key];\n\n if (has.call(acc, key)) {\n acc[key] = merge(acc[key], value, options);\n } else {\n acc[key] = value;\n }\n return acc;\n }, mergeTarget);\n};\n\nvar assign = function assignSingleSource(target, source) {\n return Object.keys(source).reduce(function (acc, key) {\n acc[key] = source[key];\n return acc;\n }, target);\n};\n\nvar decode = function (str, decoder, charset) {\n var strWithoutPlus = str.replace(/\\+/g, ' ');\n if (charset === 'iso-8859-1') {\n // unescape never throws, no try...catch needed:\n return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);\n }\n // utf-8\n try {\n return decodeURIComponent(strWithoutPlus);\n } catch (e) {\n return strWithoutPlus;\n }\n};\n\nvar encode = function encode(str, defaultEncoder, charset, kind, format) {\n // This code was originally written by Brian White (mscdex) for the io.js core querystring library.\n // It has been adapted here for stricter adherence to RFC 3986\n if (str.length === 0) {\n return str;\n }\n\n var string = str;\n if (typeof str === 'symbol') {\n string = Symbol.prototype.toString.call(str);\n } else if (typeof str !== 'string') {\n string = String(str);\n }\n\n if (charset === 'iso-8859-1') {\n return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {\n return '%26%23' + parseInt($0.slice(2), 16) + '%3B';\n });\n }\n\n var out = '';\n for (var i = 0; i < string.length; ++i) {\n var c = string.charCodeAt(i);\n\n if (\n c === 0x2D // -\n || c === 0x2E // .\n || c === 0x5F // _\n || c === 0x7E // ~\n || (c >= 0x30 && c <= 0x39) // 0-9\n || (c >= 0x41 && c <= 0x5A) // a-z\n || (c >= 0x61 && c <= 0x7A) // A-Z\n || (format === formats.RFC1738 && (c === 0x28 || c === 0x29)) // ( )\n ) {\n out += string.charAt(i);\n continue;\n }\n\n if (c < 0x80) {\n out = out + hexTable[c];\n continue;\n }\n\n if (c < 0x800) {\n out = out + (hexTable[0xC0 | (c >> 6)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n if (c < 0xD800 || c >= 0xE000) {\n out = out + (hexTable[0xE0 | (c >> 12)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n i += 1;\n c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF));\n /* eslint operator-linebreak: [2, \"before\"] */\n out += hexTable[0xF0 | (c >> 18)]\n + hexTable[0x80 | ((c >> 12) & 0x3F)]\n + hexTable[0x80 | ((c >> 6) & 0x3F)]\n + hexTable[0x80 | (c & 0x3F)];\n }\n\n return out;\n};\n\nvar compact = function compact(value) {\n var queue = [{ obj: { o: value }, prop: 'o' }];\n var refs = [];\n\n for (var i = 0; i < queue.length; ++i) {\n var item = queue[i];\n var obj = item.obj[item.prop];\n\n var keys = Object.keys(obj);\n for (var j = 0; j < keys.length; ++j) {\n var key = keys[j];\n var val = obj[key];\n if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {\n queue.push({ obj: obj, prop: key });\n refs.push(val);\n }\n }\n }\n\n compactQueue(queue);\n\n return value;\n};\n\nvar isRegExp = function isRegExp(obj) {\n return Object.prototype.toString.call(obj) === '[object RegExp]';\n};\n\nvar isBuffer = function isBuffer(obj) {\n if (!obj || typeof obj !== 'object') {\n return false;\n }\n\n return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));\n};\n\nvar combine = function combine(a, b) {\n return [].concat(a, b);\n};\n\nvar maybeMap = function maybeMap(val, fn) {\n if (isArray(val)) {\n var mapped = [];\n for (var i = 0; i < val.length; i += 1) {\n mapped.push(fn(val[i]));\n }\n return mapped;\n }\n return fn(val);\n};\n\nmodule.exports = {\n arrayToObject: arrayToObject,\n assign: assign,\n combine: combine,\n compact: compact,\n decode: decode,\n encode: encode,\n isBuffer: isBuffer,\n isRegExp: isRegExp,\n maybeMap: maybeMap,\n merge: merge\n};\n","'use strict';\n\nvar getSideChannel = require('side-channel');\nvar utils = require('./utils');\nvar formats = require('./formats');\nvar has = Object.prototype.hasOwnProperty;\n\nvar arrayPrefixGenerators = {\n brackets: function brackets(prefix) {\n return prefix + '[]';\n },\n comma: 'comma',\n indices: function indices(prefix, key) {\n return prefix + '[' + key + ']';\n },\n repeat: function repeat(prefix) {\n return prefix;\n }\n};\n\nvar isArray = Array.isArray;\nvar push = Array.prototype.push;\nvar pushToArray = function (arr, valueOrArray) {\n push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]);\n};\n\nvar toISO = Date.prototype.toISOString;\n\nvar defaultFormat = formats['default'];\nvar defaults = {\n addQueryPrefix: false,\n allowDots: false,\n charset: 'utf-8',\n charsetSentinel: false,\n delimiter: '&',\n encode: true,\n encoder: utils.encode,\n encodeValuesOnly: false,\n format: defaultFormat,\n formatter: formats.formatters[defaultFormat],\n // deprecated\n indices: false,\n serializeDate: function serializeDate(date) {\n return toISO.call(date);\n },\n skipNulls: false,\n strictNullHandling: false\n};\n\nvar isNonNullishPrimitive = function isNonNullishPrimitive(v) {\n return typeof v === 'string'\n || typeof v === 'number'\n || typeof v === 'boolean'\n || typeof v === 'symbol'\n || typeof v === 'bigint';\n};\n\nvar sentinel = {};\n\nvar stringify = function stringify(\n object,\n prefix,\n generateArrayPrefix,\n commaRoundTrip,\n strictNullHandling,\n skipNulls,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n sideChannel\n) {\n var obj = object;\n\n var tmpSc = sideChannel;\n var step = 0;\n var findFlag = false;\n while ((tmpSc = tmpSc.get(sentinel)) !== void undefined && !findFlag) {\n // Where object last appeared in the ref tree\n var pos = tmpSc.get(object);\n step += 1;\n if (typeof pos !== 'undefined') {\n if (pos === step) {\n throw new RangeError('Cyclic object value');\n } else {\n findFlag = true; // Break while\n }\n }\n if (typeof tmpSc.get(sentinel) === 'undefined') {\n step = 0;\n }\n }\n\n if (typeof filter === 'function') {\n obj = filter(prefix, obj);\n } else if (obj instanceof Date) {\n obj = serializeDate(obj);\n } else if (generateArrayPrefix === 'comma' && isArray(obj)) {\n obj = utils.maybeMap(obj, function (value) {\n if (value instanceof Date) {\n return serializeDate(value);\n }\n return value;\n });\n }\n\n if (obj === null) {\n if (strictNullHandling) {\n return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key', format) : prefix;\n }\n\n obj = '';\n }\n\n if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {\n if (encoder) {\n var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key', format);\n return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value', format))];\n }\n return [formatter(prefix) + '=' + formatter(String(obj))];\n }\n\n var values = [];\n\n if (typeof obj === 'undefined') {\n return values;\n }\n\n var objKeys;\n if (generateArrayPrefix === 'comma' && isArray(obj)) {\n // we need to join elements in\n if (encodeValuesOnly && encoder) {\n obj = utils.maybeMap(obj, encoder);\n }\n objKeys = [{ value: obj.length > 0 ? obj.join(',') || null : void undefined }];\n } else if (isArray(filter)) {\n objKeys = filter;\n } else {\n var keys = Object.keys(obj);\n objKeys = sort ? keys.sort(sort) : keys;\n }\n\n var adjustedPrefix = commaRoundTrip && isArray(obj) && obj.length === 1 ? prefix + '[]' : prefix;\n\n for (var j = 0; j < objKeys.length; ++j) {\n var key = objKeys[j];\n var value = typeof key === 'object' && typeof key.value !== 'undefined' ? key.value : obj[key];\n\n if (skipNulls && value === null) {\n continue;\n }\n\n var keyPrefix = isArray(obj)\n ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(adjustedPrefix, key) : adjustedPrefix\n : adjustedPrefix + (allowDots ? '.' + key : '[' + key + ']');\n\n sideChannel.set(object, step);\n var valueSideChannel = getSideChannel();\n valueSideChannel.set(sentinel, sideChannel);\n pushToArray(values, stringify(\n value,\n keyPrefix,\n generateArrayPrefix,\n commaRoundTrip,\n strictNullHandling,\n skipNulls,\n generateArrayPrefix === 'comma' && encodeValuesOnly && isArray(obj) ? null : encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n valueSideChannel\n ));\n }\n\n return values;\n};\n\nvar normalizeStringifyOptions = function normalizeStringifyOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (opts.encoder !== null && typeof opts.encoder !== 'undefined' && typeof opts.encoder !== 'function') {\n throw new TypeError('Encoder has to be a function.');\n }\n\n var charset = opts.charset || defaults.charset;\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n\n var format = formats['default'];\n if (typeof opts.format !== 'undefined') {\n if (!has.call(formats.formatters, opts.format)) {\n throw new TypeError('Unknown format option provided.');\n }\n format = opts.format;\n }\n var formatter = formats.formatters[format];\n\n var filter = defaults.filter;\n if (typeof opts.filter === 'function' || isArray(opts.filter)) {\n filter = opts.filter;\n }\n\n return {\n addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix,\n allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,\n encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,\n encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,\n encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,\n filter: filter,\n format: format,\n formatter: formatter,\n serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,\n skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,\n sort: typeof opts.sort === 'function' ? opts.sort : null,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (object, opts) {\n var obj = object;\n var options = normalizeStringifyOptions(opts);\n\n var objKeys;\n var filter;\n\n if (typeof options.filter === 'function') {\n filter = options.filter;\n obj = filter('', obj);\n } else if (isArray(options.filter)) {\n filter = options.filter;\n objKeys = filter;\n }\n\n var keys = [];\n\n if (typeof obj !== 'object' || obj === null) {\n return '';\n }\n\n var arrayFormat;\n if (opts && opts.arrayFormat in arrayPrefixGenerators) {\n arrayFormat = opts.arrayFormat;\n } else if (opts && 'indices' in opts) {\n arrayFormat = opts.indices ? 'indices' : 'repeat';\n } else {\n arrayFormat = 'indices';\n }\n\n var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];\n if (opts && 'commaRoundTrip' in opts && typeof opts.commaRoundTrip !== 'boolean') {\n throw new TypeError('`commaRoundTrip` must be a boolean, or absent');\n }\n var commaRoundTrip = generateArrayPrefix === 'comma' && opts && opts.commaRoundTrip;\n\n if (!objKeys) {\n objKeys = Object.keys(obj);\n }\n\n if (options.sort) {\n objKeys.sort(options.sort);\n }\n\n var sideChannel = getSideChannel();\n for (var i = 0; i < objKeys.length; ++i) {\n var key = objKeys[i];\n\n if (options.skipNulls && obj[key] === null) {\n continue;\n }\n pushToArray(keys, stringify(\n obj[key],\n key,\n generateArrayPrefix,\n commaRoundTrip,\n options.strictNullHandling,\n options.skipNulls,\n options.encode ? options.encoder : null,\n options.filter,\n options.sort,\n options.allowDots,\n options.serializeDate,\n options.format,\n options.formatter,\n options.encodeValuesOnly,\n options.charset,\n sideChannel\n ));\n }\n\n var joined = keys.join(options.delimiter);\n var prefix = options.addQueryPrefix === true ? '?' : '';\n\n if (options.charsetSentinel) {\n if (options.charset === 'iso-8859-1') {\n // encodeURIComponent('&#10003;'), the \"numeric entity\" representation of a checkmark\n prefix += 'utf8=%26%2310003%3B&';\n } else {\n // encodeURIComponent('✓')\n prefix += 'utf8=%E2%9C%93&';\n }\n }\n\n return joined.length > 0 ? prefix + joined : '';\n};\n","'use strict';\n\nvar utils = require('./utils');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar defaults = {\n allowDots: false,\n allowPrototypes: false,\n allowSparse: false,\n arrayLimit: 20,\n charset: 'utf-8',\n charsetSentinel: false,\n comma: false,\n decoder: utils.decode,\n delimiter: '&',\n depth: 5,\n ignoreQueryPrefix: false,\n interpretNumericEntities: false,\n parameterLimit: 1000,\n parseArrays: true,\n plainObjects: false,\n strictNullHandling: false\n};\n\nvar interpretNumericEntities = function (str) {\n return str.replace(/&#(\\d+);/g, function ($0, numberStr) {\n return String.fromCharCode(parseInt(numberStr, 10));\n });\n};\n\nvar parseArrayValue = function (val, options) {\n if (val && typeof val === 'string' && options.comma && val.indexOf(',') > -1) {\n return val.split(',');\n }\n\n return val;\n};\n\n// This is what browsers will submit when the ✓ character occurs in an\n// application/x-www-form-urlencoded body and the encoding of the page containing\n// the form is iso-8859-1, or when the submitted form has an accept-charset\n// attribute of iso-8859-1. Presumably also with other charsets that do not contain\n// the ✓ character, such as us-ascii.\nvar isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('&#10003;')\n\n// These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded.\nvar charsetSentinel = 'utf8=%E2%9C%93'; // encodeURIComponent('✓')\n\nvar parseValues = function parseQueryStringValues(str, options) {\n var obj = {};\n var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\\?/, '') : str;\n var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;\n var parts = cleanStr.split(options.delimiter, limit);\n var skipIndex = -1; // Keep track of where the utf8 sentinel was found\n var i;\n\n var charset = options.charset;\n if (options.charsetSentinel) {\n for (i = 0; i < parts.length; ++i) {\n if (parts[i].indexOf('utf8=') === 0) {\n if (parts[i] === charsetSentinel) {\n charset = 'utf-8';\n } else if (parts[i] === isoSentinel) {\n charset = 'iso-8859-1';\n }\n skipIndex = i;\n i = parts.length; // The eslint settings do not allow break;\n }\n }\n }\n\n for (i = 0; i < parts.length; ++i) {\n if (i === skipIndex) {\n continue;\n }\n var part = parts[i];\n\n var bracketEqualsPos = part.indexOf(']=');\n var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;\n\n var key, val;\n if (pos === -1) {\n key = options.decoder(part, defaults.decoder, charset, 'key');\n val = options.strictNullHandling ? null : '';\n } else {\n key = options.decoder(part.slice(0, pos), defaults.decoder, charset, 'key');\n val = utils.maybeMap(\n parseArrayValue(part.slice(pos + 1), options),\n function (encodedVal) {\n return options.decoder(encodedVal, defaults.decoder, charset, 'value');\n }\n );\n }\n\n if (val && options.interpretNumericEntities && charset === 'iso-8859-1') {\n val = interpretNumericEntities(val);\n }\n\n if (part.indexOf('[]=') > -1) {\n val = isArray(val) ? [val] : val;\n }\n\n if (has.call(obj, key)) {\n obj[key] = utils.combine(obj[key], val);\n } else {\n obj[key] = val;\n }\n }\n\n return obj;\n};\n\nvar parseObject = function (chain, val, options, valuesParsed) {\n var leaf = valuesParsed ? val : parseArrayValue(val, options);\n\n for (var i = chain.length - 1; i >= 0; --i) {\n var obj;\n var root = chain[i];\n\n if (root === '[]' && options.parseArrays) {\n obj = [].concat(leaf);\n } else {\n obj = options.plainObjects ? Object.create(null) : {};\n var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;\n var index = parseInt(cleanRoot, 10);\n if (!options.parseArrays && cleanRoot === '') {\n obj = { 0: leaf };\n } else if (\n !isNaN(index)\n && root !== cleanRoot\n && String(index) === cleanRoot\n && index >= 0\n && (options.parseArrays && index <= options.arrayLimit)\n ) {\n obj = [];\n obj[index] = leaf;\n } else if (cleanRoot !== '__proto__') {\n obj[cleanRoot] = leaf;\n }\n }\n\n leaf = obj;\n }\n\n return leaf;\n};\n\nvar parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) {\n if (!givenKey) {\n return;\n }\n\n // Transform dot notation to bracket notation\n var key = options.allowDots ? givenKey.replace(/\\.([^.[]+)/g, '[$1]') : givenKey;\n\n // The regex chunks\n\n var brackets = /(\\[[^[\\]]*])/;\n var child = /(\\[[^[\\]]*])/g;\n\n // Get the parent\n\n var segment = options.depth > 0 && brackets.exec(key);\n var parent = segment ? key.slice(0, segment.index) : key;\n\n // Stash the parent if it exists\n\n var keys = [];\n if (parent) {\n // If we aren't using plain objects, optionally prefix keys that would overwrite object prototype properties\n if (!options.plainObjects && has.call(Object.prototype, parent)) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n\n keys.push(parent);\n }\n\n // Loop through children appending to the array until we hit depth\n\n var i = 0;\n while (options.depth > 0 && (segment = child.exec(key)) !== null && i < options.depth) {\n i += 1;\n if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n keys.push(segment[1]);\n }\n\n // If there's a remainder, just add whatever is left\n\n if (segment) {\n keys.push('[' + key.slice(segment.index) + ']');\n }\n\n return parseObject(keys, val, options, valuesParsed);\n};\n\nvar normalizeParseOptions = function normalizeParseOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (opts.decoder !== null && opts.decoder !== undefined && typeof opts.decoder !== 'function') {\n throw new TypeError('Decoder has to be a function.');\n }\n\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset;\n\n return {\n allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,\n allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes,\n allowSparse: typeof opts.allowSparse === 'boolean' ? opts.allowSparse : defaults.allowSparse,\n arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma,\n decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder,\n delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,\n // eslint-disable-next-line no-implicit-coercion, no-extra-parens\n depth: (typeof opts.depth === 'number' || opts.depth === false) ? +opts.depth : defaults.depth,\n ignoreQueryPrefix: opts.ignoreQueryPrefix === true,\n interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities,\n parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit,\n parseArrays: opts.parseArrays !== false,\n plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (str, opts) {\n var options = normalizeParseOptions(opts);\n\n if (str === '' || str === null || typeof str === 'undefined') {\n return options.plainObjects ? Object.create(null) : {};\n }\n\n var tempObj = typeof str === 'string' ? parseValues(str, options) : str;\n var obj = options.plainObjects ? Object.create(null) : {};\n\n // Iterate over the keys and setup the new object\n\n var keys = Object.keys(tempObj);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n var newObj = parseKeys(key, tempObj[key], options, typeof str === 'string');\n obj = utils.merge(obj, newObj, options);\n }\n\n if (options.allowSparse === true) {\n return obj;\n }\n\n return utils.compact(obj);\n};\n","'use strict';\n\nvar stringify = require('./stringify');\nvar parse = require('./parse');\nvar formats = require('./formats');\n\nmodule.exports = {\n formats: formats,\n parse: parse,\n stringify: stringify\n};\n","import axios from \"axios\";\nimport { BASE_URL } from \"common/routes\";\nimport { keysToSnakeCase } from \"neetocommons/pure\";\nimport qs from \"qs\";\n\nconst fetch = params => {\n const serializedParams = qs.stringify(keysToSnakeCase(params), {\n arrayFormat: \"brackets\",\n encode: false,\n });\n\n return axios.get(`${BASE_URL}/teams?${serializedParams}`);\n};\n\nconst create = payload => axios.post(`${BASE_URL}/teams`, payload);\n\nconst update = (id, payload) =>\n axios.put(`${BASE_URL}/teams/${id}`, { team: payload });\n\nconst bulkUpdate = payload =>\n axios.patch(`${BASE_URL}/teams/bulk_update`, payload);\n\nconst fetchFilterOptions = params =>\n axios.get(`${BASE_URL}/teams/filter_options`, {\n params: keysToSnakeCase(params),\n });\n\nconst teamsApi = { bulkUpdate, create, fetch, fetchFilterOptions, update };\n\nexport default teamsApi;\n","import { Toastr } from \"neetoui\";\nimport { useQuery, useMutation } from \"react-query\";\n\nimport queryClient from \"apis/queryClient\";\nimport teamsApi from \"apis/teams\";\nimport { DEFAULT_STALE_TIME, QUERY_KEYS } from \"common/queryConstants\";\n\nconst useFetchMembers = (params = {}, options = {}) =>\n useQuery([QUERY_KEYS.TEAMS, params], () => teamsApi.fetch(params), {\n staleTime: DEFAULT_STALE_TIME,\n select: response => response.data || response,\n keepPreviousData: true,\n ...options,\n });\n\nconst useCreateMember = ({ onSuccess, ...options }) =>\n useMutation(teamsApi.create, {\n onSuccess: response => {\n queryClient.invalidateQueries(QUERY_KEYS.TEAMS);\n queryClient.invalidateQueries(QUERY_KEYS.TEAMS_DEPENDENCIES);\n response?.ntmNotice && Toastr.success(response.ntmNotice);\n onSuccess?.();\n },\n ...options,\n });\n\nconst useUpdateMember = ({ onSuccess, ...options }) =>\n useMutation(({ id, payload }) => teamsApi.update(id, payload), {\n onSuccess: response => {\n queryClient.invalidateQueries(QUERY_KEYS.TEAMS);\n queryClient.invalidateQueries(QUERY_KEYS.TEAMS_DEPENDENCIES);\n response?.ntmNotice && Toastr.success(response.ntmNotice);\n onSuccess?.();\n },\n ...options,\n });\n\nconst useBulkUpdateMembers = ({ onSuccess, ...options }) =>\n useMutation(teamsApi.bulkUpdate, {\n onSuccess: response => {\n queryClient.invalidateQueries(QUERY_KEYS.TEAMS);\n queryClient.invalidateQueries(QUERY_KEYS.TEAMS_DEPENDENCIES);\n response?.ntmNotice && Toastr.success(response.ntmNotice);\n onSuccess?.();\n },\n ...options,\n });\n\nconst refetchMembers = () => {\n queryClient.invalidateQueries(QUERY_KEYS.TEAMS);\n queryClient.invalidateQueries(QUERY_KEYS.TEAMS_DEPENDENCIES);\n};\n\nconst useFetchFilterOptions = ({ params = {}, options = {} }) =>\n useQuery(\n [QUERY_KEYS.TEAMS_DEPENDENCIES, params],\n () => teamsApi.fetchFilterOptions(params),\n {\n staleTime: DEFAULT_STALE_TIME,\n select: response => response.data || response,\n ...options,\n }\n );\n\nexport {\n refetchMembers,\n useBulkUpdateMembers,\n useCreateMember,\n useFetchMembers,\n useFetchFilterOptions,\n useUpdateMember,\n};\n","import { PLURAL } from \"common/constants\";\nimport i18n from \"common/i18n\";\n\nexport const FIXED_COLUMNS = [\"actions\"];\n\nexport const COLUMNS_DROPDOWN_PROPS = {\n label: i18n.t(\"common.column\", PLURAL),\n};\n\nexport const COLUMNS_SEARCH_PROPS = {\n placeholder: i18n.t(\"columns.search\"),\n};\n\nexport const MANAGE_ROLES_BUTTON_LABEL = i18n.t(\"common.manage_\", {\n what: i18n.t(\"common.role\", PLURAL).toLocaleLowerCase(),\n});\n","import React from \"react\";\n\nimport { noop } from \"neetocommons/pure\";\nimport { Button, Tooltip } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { MANAGE_MEMBER_PERMISSIONS, SINGULAR } from \"common/constants\";\nimport { hasPermission } from \"common/utils\";\n\nimport { MANAGE_ROLES_BUTTON_LABEL } from \"./constants\";\n\nconst Header = ({\n config,\n metaName,\n onClick = noop,\n permissions,\n rolesButtonProps,\n}) => {\n const { t } = useTranslation();\n\n const isRolesButtonVisible = !!rolesButtonProps;\n const hasCreatePermission =\n permissions?.create ?? hasPermission(MANAGE_MEMBER_PERMISSIONS);\n const isOtherActionBlockVisible = !!config?.header?.otherActionBlock;\n\n return (\n <>\n {isOtherActionBlockVisible && config.header.otherActionBlock()}\n {isRolesButtonVisible ? (\n <Button\n data-cy=\"ntm-manage-roles-button\"\n label={MANAGE_ROLES_BUTTON_LABEL}\n style=\"secondary\"\n {...rolesButtonProps}\n />\n ) : null}\n <Tooltip\n content={t(\"tooltips.noPermissionToAddMember\")}\n disabled={hasCreatePermission}\n position=\"bottom\"\n >\n <span>\n <Button\n data-cy=\"ntm-add-member-button\"\n disabled={!hasCreatePermission}\n label={t(\"common.addNew_\", {\n what: metaName(SINGULAR).toLocaleLowerCase(),\n })}\n onClick={onClick}\n />\n </span>\n </Tooltip>\n </>\n );\n};\n\nexport default Header;\n","import { filter, includes, toLower, trim } from \"ramda\";\n\nexport const filterBySearchTerm = (searchTerm, roles) =>\n filter(\n ({ name }) => includes(trim(toLower(searchTerm)), trim(toLower(name))),\n roles\n );\n\nexport const getActivateButtonVisible = (selectedRows, config) =>\n selectedRows.active.some(active => active === false) &&\n !config?.hiddenBulkActions?.includes(\"activate\");\n\nexport const getDeactivatedButtonVisible = (selectedRows, config) =>\n selectedRows.active.some(active => active === true) &&\n !config?.hiddenBulkActions?.includes(\"deactivate\");\n","import React, { useState } from \"react\";\n\nimport { isNotEmpty } from \"neetocommons/pure\";\nimport { Right, Search } from \"neetoicons\";\nimport { Dropdown, Input, Tooltip, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PLURAL } from \"src/common/constants\";\n\nimport { filterBySearchTerm } from \"./utils\";\n\nconst { Menu, MenuItem } = Dropdown;\n\nconst RolesDropdown = ({\n disabled = false,\n handleRoleChange,\n hasUpdatePermission,\n isSearchable = false,\n roles = [],\n}) => {\n const [isDropdownOpen, setIsDropdownOpen] = useState(false);\n const [searchTerm, setSearchTerm] = useState(\"\");\n const { t } = useTranslation();\n\n const filteredRoles = filterBySearchTerm(searchTerm, roles);\n const isUpdationAllowed = hasUpdatePermission && !disabled;\n\n const handleSearch = ({ target: { value } }) => setSearchTerm(value);\n\n const handleSelectRole = role => {\n handleRoleChange(role);\n setIsDropdownOpen(false);\n };\n\n const handleOnClose = () => {\n setSearchTerm(\"\");\n setIsDropdownOpen(false);\n };\n\n const handleClick = event => {\n event.stopPropagation();\n setIsDropdownOpen(!isDropdownOpen);\n };\n\n return (\n <Tooltip\n content={t(\"tooltips.activateUserToEdit\", PLURAL)}\n disabled={isUpdationAllowed}\n position=\"top\"\n >\n <span>\n <Dropdown\n buttonStyle=\"secondary\"\n closeOnSelect={false}\n data-cy=\"ntm-members-roles-update-dropdown-button\"\n disabled={!isUpdationAllowed}\n isOpen={isUpdationAllowed && isDropdownOpen}\n position=\"auto-end\"\n customTarget={\n <MenuItem.Button\n disabled={!isUpdationAllowed}\n suffix={<Right size={16} />}\n >\n {t(\"buttons.changeRole\")}\n </MenuItem.Button>\n }\n onClick={handleClick}\n onClose={handleOnClose}\n >\n <Menu>\n {isSearchable && (\n <div\n className=\"neeto-ui-px-3 neeto-ui-py-2\"\n onClick={event => {\n event.stopPropagation();\n }}\n >\n <Input\n data-cy=\"ntm-members-roles-search-input\"\n placeholder={t(\"helpers.searchRoles\")}\n prefix={<Search />}\n type=\"search\"\n value={searchTerm}\n onChange={handleSearch}\n />\n </div>\n )}\n {isNotEmpty(filteredRoles) ? (\n filteredRoles.map(({ id, name }) => (\n <MenuItem.Button\n key={id}\n onClick={() => handleSelectRole(name)}\n >\n {name}\n </MenuItem.Button>\n ))\n ) : (\n <div className=\"neeto-ui-flex neeto-ui-justify-center neeto-ui-p-1\">\n <Typography className=\"neeto-ui-text-gray-700\" style=\"body2\">\n {t(\"helpers.noRolesFound\")}\n </Typography>\n </div>\n )}\n </Menu>\n </Dropdown>\n </span>\n </Tooltip>\n );\n};\n\nexport default RolesDropdown;\n","import { SINGULAR } from \"common/constants\";\nimport i18n from \"common/i18n\";\nimport { clamp } from \"ramda\";\n\nconst URL_PARAMS = new URLSearchParams(window.location.search);\n\nconst DEFAULT_PAGE_SIZE = 45;\n\nexport const MEMBER_FILTER = {\n ACTIVE: { label: i18n.t(\"common.active\"), value: \"ACTIVE\", defaultCount: 0 },\n DEACTIVATED: {\n label: i18n.t(\"common.deactivated\"),\n value: \"DEACTIVATED\",\n defaultCount: 0,\n },\n ALL: { label: i18n.t(\"common.all\"), value: \"ALL\", defaultCount: 0 },\n};\n\nexport const DEFAULT_MEMBER_FILTER = MEMBER_FILTER.ACTIVE.value;\n\nexport const DEFAULT_RADIX = 10;\n\nexport const DEFAULT_PAGE_NUMBER = 1;\n\nexport const DROPDOWN_BUTTON_PROPS = {\n \"data-cy\": \"ntm-members-table-row-dropdown-button\",\n size: \"medium\",\n};\n\nexport const DEFAULT_IS_OPEN_VALUES = {\n menuBar: false,\n manageMember: false,\n alert: false,\n};\n\nexport const URL_CATEGORY_FILTER_VALUE = new URLSearchParams(\n window.location.search\n)\n .get(\"filter\")\n ?.toUpperCase();\n\nexport const DEFAULT_FILTER_VALUES = {\n page:\n clamp(1, Infinity, parseInt(URL_PARAMS.get(\"page\"))) || DEFAULT_PAGE_NUMBER,\n results:\n clamp(10, 100, parseInt(URL_PARAMS.get(\"results\"))) || DEFAULT_PAGE_SIZE,\n category: URL_CATEGORY_FILTER_VALUE || DEFAULT_MEMBER_FILTER,\n search: \"\",\n sortBy: \"\",\n sortDirection: \"\",\n neetoFilters: [],\n};\n\nexport const DEFAULT_SELECTED_ROWS = {\n active: [],\n emails: [],\n keys: [],\n};\n\nexport const DEFAULT_NEETO_FILTERS_COLUMNS = [\n {\n key: \"email\",\n node: \"email\",\n label: i18n.t(\"common.email\", SINGULAR),\n type: \"multi_option\",\n values: [],\n },\n {\n key: \"name\",\n node: \"first_name,last_name\",\n label: i18n.t(\"common.name\"),\n type: \"text\",\n values: \"\",\n },\n {\n key: \"role\",\n node: \"organization_role.name\",\n model: \"OrganizationRole\",\n label: i18n.t(\"common.role\", SINGULAR),\n type: \"multi_option\",\n values: [],\n },\n];\n","import React from \"react\";\n\nimport { isNotEmpty } from \"neetocommons/pure\";\nimport { Filters as NeetoFilters } from \"neetofilters\";\nimport Columns from \"neetomolecules/Columns\";\nimport { Dropdown, Tooltip, Typography } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\n\nimport { DEFAULT_PERMISSION } from \"common/constants\";\nimport i18n from \"common/i18n\";\nimport { useBulkUpdateMembers } from \"hooks/teams/useTeamsApi\";\n\nimport {\n COLUMNS_DROPDOWN_PROPS,\n COLUMNS_SEARCH_PROPS,\n FIXED_COLUMNS,\n} from \"./constants\";\nimport RolesDropdown from \"./RolesDropdown\";\nimport { getActivateButtonVisible, getDeactivatedButtonVisible } from \"./utils\";\n\nimport { DEFAULT_SELECTED_ROWS } from \"../constants\";\n\nconst Left = ({\n config,\n filteredCount,\n filters,\n metaName,\n roles,\n selectedRows,\n setSelectedRows,\n}) => {\n const hasSelectedRows = isNotEmpty(selectedRows?.keys);\n\n const selectedMembersCountValues = {\n count: selectedRows?.keys?.length,\n metaName: metaName({\n count: hasSelectedRows ? selectedRows.keys.length : filteredCount,\n }).toLocaleLowerCase(),\n totalCount: filteredCount,\n };\n\n const hasUpdatePermission = config?.permissions?.update ?? DEFAULT_PERMISSION;\n const isDeactivateMemberPage = filters.category === \"DEACTIVATED\";\n\n const { mutate: bulkUpdateMember } = useBulkUpdateMembers({\n onSuccess: () => {\n setSelectedRows(DEFAULT_SELECTED_ROWS);\n config?.bulkUpdateMembers?.onSuccess?.callback();\n },\n });\n\n const handleDeactivateMembers = () =>\n bulkUpdateMember({\n users: { active: false, emails: selectedRows?.emails },\n });\n\n const handleActivateMembers = () =>\n bulkUpdateMember({\n users: { active: true, emails: selectedRows?.emails },\n });\n\n const handleRoleChange = role => {\n bulkUpdateMember({\n users: {\n active: true,\n emails: selectedRows?.emails,\n organization_role: role,\n },\n });\n };\n\n const { Menu, MenuItem } = Dropdown;\n\n return (\n <div className=\"neeto-ui-flex neeto-ui-items-center neeto-ui-gap-4\">\n <Typography\n component=\"h4\"\n data-cy=\"ntm-filtered-members-count\"\n style=\"h4\"\n >\n <Trans\n components={{ span: <span className=\"neeto-ui-text-gray-600\" /> }}\n values={selectedMembersCountValues}\n i18nKey={\n hasSelectedRows\n ? \"helpers.selectedMembersCount\"\n : \"helpers.metaNameWithCount_\"\n }\n />\n </Typography>\n {hasSelectedRows && (\n <Tooltip\n content={i18n.t(\"tooltips.noPermissionToEditMembers\")}\n disabled={hasUpdatePermission}\n position=\"top\"\n >\n <span>\n <Dropdown\n buttonStyle=\"secondary\"\n data-cy=\"ntm-members-take-action-dropdown-button\"\n disabled={!hasUpdatePermission}\n label={i18n.t(\"common.takeAction\")}\n >\n <Menu>\n {getDeactivatedButtonVisible(selectedRows, config) && (\n <MenuItem.Button\n data-cy=\"ntm-deactivate-members-button\"\n disabled={!hasUpdatePermission}\n onClick={() => handleDeactivateMembers()}\n >\n {i18n.t(\"common.deactivate\")}\n </MenuItem.Button>\n )}\n {getActivateButtonVisible(selectedRows, config) && (\n <MenuItem.Button\n data-cy=\"ntm-activate-members-button\"\n disabled={!hasUpdatePermission}\n onClick={() => handleActivateMembers()}\n >\n {i18n.t(\"common.activate\")}\n </MenuItem.Button>\n )}\n {!config?.hiddenBulkActions?.includes(\"role\") && (\n <RolesDropdown\n disabled={isDeactivateMemberPage}\n handleRoleChange={handleRoleChange}\n hasUpdatePermission={hasUpdatePermission}\n roles={roles}\n />\n )}\n {config?.otherBulkActions?.()}\n </Menu>\n </Dropdown>\n </span>\n </Tooltip>\n )}\n </div>\n );\n};\n\nconst Right = ({\n columns,\n setColumnData,\n filterColumns,\n handleNeetoFilterChange,\n setIsFiltersPaneOpen,\n isFiltersPaneOpen,\n}) => (\n <>\n <Columns\n columnData={columns}\n dropdownProps={COLUMNS_DROPDOWN_PROPS}\n fixedColumns={FIXED_COLUMNS}\n localStorageKey=\"TEAM_MEMBERS_TABLE_HIDDEN_COLUMNS\"\n noColumnMessage={i18n.t(\"columns.noColumnsFound\")}\n searchProps={COLUMNS_SEARCH_PROPS}\n onChange={setColumnData}\n />\n <NeetoFilters\n columns={filterColumns}\n isOpen={isFiltersPaneOpen}\n setIsOpen={setIsFiltersPaneOpen}\n onChange={handleNeetoFilterChange}\n />\n </>\n);\n\nconst SubHeader = {\n Left,\n Right,\n};\n\nexport default SubHeader;\n","import Header from \"./Header\";\nimport SubHeader from \"./SubHeader\";\n\nexport { Header, SubHeader };\n","import React, { useEffect, useState } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { toLabelAndValue } from \"neetocommons/pure\";\nimport { Checkbox, Tooltip, Typography } from \"neetoui\";\nimport { Select, Switch } from \"neetoui/formik\";\nimport { pluck, not } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nconst AppList = ({ globalRoles, savedStateRef }) => {\n const { t } = useTranslation();\n const [isAppListEnabled, setIsAppListEnabled] = useState(\n savedStateRef.current.isAppListEnabled\n );\n\n const {\n values: { emails, appRoles },\n setFieldValue,\n } = useFormikContext();\n\n const selectedEmail = pluck(\"value\", emails);\n\n useEffect(() => {\n if (savedStateRef.current.isAppListEnabled !== isAppListEnabled) {\n appRoles.forEach((appRole, index) => {\n if (appRole?.appName === globalProps.appName?.substring(5)) {\n setFieldValue(`appRoles[${index}].isEnabled`, true);\n\n return;\n }\n\n setFieldValue(`appRoles[${index}].isEnabled`, isAppListEnabled);\n });\n }\n savedStateRef.current.isAppListEnabled = isAppListEnabled;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isAppListEnabled]);\n\n const buildRoleOptions = roles =>\n roles.map(role => toLabelAndValue(role.name));\n\n return (\n <div className=\"neeto-ui-flex neeto-ui-flex-col neeto-ui-gap-6\">\n <div className=\"neeto-ui-w-full\">\n <Checkbox\n checked={isAppListEnabled}\n className=\"ntm-manage-members__checkbox-align-start\"\n label={\n <Typography component=\"span\" lineHeight=\"relaxed\" style=\"body2\">\n <Trans\n i18nKey=\"helpers.addMembersToNeetoProducts\"\n values={{ emails: selectedEmail }}\n />\n </Typography>\n }\n onChange={() => setIsAppListEnabled(not)}\n />\n </div>\n <div className=\"neeto-ui-w-full\">\n {appRoles.map(({ appName, isEnabled }, index) => {\n const isCurrentApp = appName === globalProps.appName?.substring(5);\n const isAppRoleSelectionChecked =\n isCurrentApp || (isEnabled && isAppListEnabled);\n\n return (\n <div className=\"ntm-manage-members__app-roles\" key={appName}>\n <Tooltip\n content={t(\"tooltips.hostAppisRequired\")}\n disabled={!isCurrentApp}\n position=\"left\"\n >\n <span>\n <Switch\n checked={isAppRoleSelectionChecked}\n disabled={isCurrentApp || !isAppListEnabled}\n label={t(\"labels.neeto_\", { product: appName })}\n name={`appsRoles[${index}].isEnabled`}\n onChange={({ target }) => {\n setFieldValue(\n `appRoles[${index}].isEnabled`,\n target.checked\n );\n }}\n />\n </span>\n </Tooltip>\n <Tooltip\n content={t(\"tooltips.goBackToChangeRole\")}\n disabled={!isCurrentApp}\n position=\"top\"\n >\n <span className=\"ntm-manage-members-app-roles__select-wrapper\">\n <Select\n isDisabled={isCurrentApp || !isEnabled}\n name={`appRoles[${index}].activeRole`}\n options={buildRoleOptions(globalRoles[appName])}\n size=\"small\"\n strategy=\"fixed\"\n onChange={({ value }) => {\n setFieldValue(`appRoles[${index}].activeRole`, value);\n }}\n />\n </span>\n </Tooltip>\n </div>\n );\n })}\n </div>\n </div>\n );\n};\n\nexport default AppList;\n","import React from \"react\";\n\nconst PageWrapper = ({ className, children, ...otherProps }) => (\n <div className={className} {...otherProps}>\n {children}\n </div>\n);\n\nconst Page = ({ className, children, ...otherProps }) => (\n <div className={className} {...otherProps}>\n {children}\n </div>\n);\n\nPage.Header = PageWrapper;\nPage.Body = PageWrapper;\nPage.Footer = PageWrapper;\n\nexport default Page;\n","import { PLURAL } from \"common/constants\";\nimport i18n from \"common/i18n\";\nimport { Pane, Modal } from \"neetoui\";\nimport { prop } from \"ramda\";\nimport * as yup from \"yup\";\n\nimport Page from \"./Page\";\n\nconst NAME_INPUT_VALIDATION_SCHEMA = {\n firstName: yup.string(),\n lastName: yup.string(),\n};\n\nconst MULTIPLE_EMAIL_INPUT_VALIDATION_SCHEMA = {\n emails: yup\n .array()\n .min(1, i18n.t(\"validations.minOneEmail\"))\n .test(\"are-all-emails-valid\", i18n.t(\"validations.validEmail\"), emails =>\n emails.every(prop(\"valid\"))\n )\n .nullable(),\n};\n\nconst ROLES_RADIO_GROUP_VALIDATION_SCHEMA = {\n role: yup.string().required(i18n.t(\"validations.roleRequired\")),\n};\n\nconst VALIDATION_SCHEMA = yup.object().shape({\n ...NAME_INPUT_VALIDATION_SCHEMA,\n ...MULTIPLE_EMAIL_INPUT_VALIDATION_SCHEMA,\n ...ROLES_RADIO_GROUP_VALIDATION_SCHEMA,\n appsRoles: yup.array().of(\n yup.object().shape({\n appName: yup.string(),\n isEnabled: yup.boolean(),\n role: yup.string().required(i18n.t(\"validations.roleRequired\")),\n })\n ),\n});\n\nexport const ADMIN_ROLE = \"Admin\";\n\nexport const OWNER_ROLE = \"Owner\";\n\nexport const FILTER_INVALID_EMAILS = {\n label: i18n.t(\"validations.filterInvalidEmails\"),\n};\n\nexport const COUNTER_PROPS = {\n label: i18n.t(\"common.email\", PLURAL),\n startsFrom: 4,\n};\n\nexport const MANAGE_MEMBERS_FORMIK_PROPS = {\n enableReinitialize: true,\n validationSchema: VALIDATION_SCHEMA,\n};\n\nexport const DEFAULT_COMPONENT_CONFIG = {\n type: \"pane\",\n isOpen: false,\n className: \"\",\n headerProps: {},\n bodyProps: {},\n footerProps: {},\n};\n\nexport const MEMBERS_FORM_COMPONENT_MAPPER = {\n pane: Pane,\n modal: Modal,\n page: Page,\n};\n\nexport const FORM_PAGES = {\n MAIN: \"main\",\n APP_LIST: \"appList\",\n CONFIRMATION: \"confirmation\",\n};\n\nexport const OWNER_CANT_CHANGE_USER_EMAIL_KB_ARTICLE_URL =\n \"https://neetoauthhelp.neetokb.com/articles/owner-cant-change-other-users-email\";\n","import i18n from \"common/i18n\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { notEquals, _findBy } from \"neetocommons/pure\";\nimport { equals, includes, move, pluck } from \"ramda\";\n\nimport { ADMIN_ROLE, OWNER_ROLE } from \"./constants\";\n\nconst getProductName = activeAppRoles =>\n activeAppRoles?.[0]?.appName\n ? i18n.t(\"labels.neeto_\", { product: activeAppRoles[0].appName })\n : globalProps.appName;\n\nconst getActiveRole = (activeAppRoles, role) =>\n activeAppRoles?.[0]?.activeRole || role;\n\nconst getDefaultRole = (roles, currentAppRole) => {\n const condition = isAdminRole(currentAppRole);\n\n const role = _findBy({ name: condition }, roles);\n\n return role ? role.name : roles[0].name;\n};\n\nconst generateAppsRolesInitialValue = (globalRoles, currentAppRole) => {\n if (!globalRoles) return [];\n\n const appNames = Object.keys(globalRoles);\n const currentAppNameIndex = appNames.indexOf(\n globalProps.appName?.substring(5)\n );\n const appNamesSorted = move(currentAppNameIndex, 0, appNames);\n\n return appNamesSorted.map(appName => ({\n appName,\n activeRole: getDefaultRole(globalRoles[appName], currentAppRole),\n isEnabled: true,\n }));\n};\n\nexport const isAdminRole = role =>\n includes(role, [ADMIN_ROLE, OWNER_ROLE])\n ? equals(ADMIN_ROLE)\n : notEquals(ADMIN_ROLE);\n\nexport const renderInitialValues = (selectedMember, roles, globalRoles) => ({\n firstName: selectedMember?.firstName || \"\",\n lastName: selectedMember?.lastName || \"\",\n emails: selectedMember\n ? [\n {\n label: selectedMember.email,\n value: selectedMember.email,\n valid: true,\n },\n ]\n : [],\n role: selectedMember?.role || roles[1]?.name || \"\",\n ...(!selectedMember && {\n appRoles: generateAppsRolesInitialValue(globalRoles, roles[1]?.name),\n }),\n});\n\nexport const renderPayload = (\n { appRoles, emails, firstName, lastName, role },\n selectedMember = null\n) =>\n selectedMember\n ? {\n active: true,\n firstName,\n lastName,\n organizationRole: role,\n }\n : {\n user: {\n emails: pluck(\"value\", emails),\n organizationRole: role,\n appRoles,\n },\n };\n\nexport const getSingleInvitationTranslationProps = ({\n activeAppRoles,\n role,\n selectedEmail,\n}) => ({\n count: selectedEmail.length,\n emails: selectedEmail,\n product: getProductName(activeAppRoles),\n role: getActiveRole(activeAppRoles, role),\n});\n","import React from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { filterBy } from \"neetocommons/pure\";\nimport { Typography } from \"neetoui\";\nimport { pluck } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { SINGULAR } from \"src/common/constants\";\n\nimport { getSingleInvitationTranslationProps } from \"./helpers\";\n\nconst Confirmation = () => {\n const { t } = useTranslation();\n const {\n values: { emails, role, appRoles },\n } = useFormikContext();\n\n const selectedEmail = pluck(\"value\", emails);\n const activeAppRoles = filterBy({ isEnabled: true }, appRoles);\n\n return activeAppRoles.length > 1 ? (\n <div className=\"neeto-ui-flex neeto-ui-flex-col neeto-ui-gap-6\">\n <div className=\"neeto-ui-w-full\">\n <Typography component=\"span\" lineHeight=\"relaxed\" style=\"body2\">\n <Trans\n i18nKey=\"helpers.multipleProductInvitation\"\n values={{\n count: selectedEmail.length,\n emails: selectedEmail,\n orgName: globalProps.organization?.name,\n }}\n />\n </Typography>\n </div>\n <table className=\"neeto-ui-w-full ntm-product-roles-table\">\n <thead>\n <tr>\n <th>{t(\"common.productName\")}</th>\n <th>{t(\"common.role\", SINGULAR)}</th>\n </tr>\n </thead>\n <tbody>\n {activeAppRoles.map(({ appName, activeRole }) => (\n <tr key={appName}>\n <td>\n <Typography component=\"span\" lineHeight=\"relaxed\" style=\"body2\">\n {t(\"labels.neeto_\", { product: appName })}\n </Typography>\n </td>\n <td>\n <Typography component=\"span\" lineHeight=\"relaxed\" style=\"body2\">\n {activeRole}\n </Typography>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n ) : (\n <Typography component=\"span\" lineHeight=\"relaxed\" style=\"body2\">\n <Trans\n i18nKey=\"helpers.singleProductInvitation\"\n values={getSingleInvitationTranslationProps({\n activeAppRoles,\n role,\n selectedEmail,\n })}\n />\n </Typography>\n );\n};\n\nexport default Confirmation;\n","import React from \"react\";\n\nimport { Button, Typography } from \"neetoui\";\nimport { MultiEmailInput, Input } from \"neetoui/formik\";\nimport { head } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PLURAL, SINGULAR } from \"common/constants\";\n\nimport {\n COUNTER_PROPS,\n FILTER_INVALID_EMAILS,\n OWNER_CANT_CHANGE_USER_EMAIL_KB_ARTICLE_URL,\n} from \"./constants\";\n\nconst MultipleEmailInput = ({\n emails = [],\n innerRef,\n selectedMember = null,\n}) => {\n const { t } = useTranslation();\n\n return (\n <div className=\"neeto-ui-w-full\">\n {selectedMember ? (\n <Input\n disabled\n data-cy=\"ntm-manage-member-email-input\"\n name=\"emails\"\n size=\"medium\"\n value={head(emails)?.value}\n label={\n <span className=\"neeto-ui-w-full neeto-ui-flex neeto-ui-justify-between\">\n <Typography component=\"span\" style=\"body2\">\n {t(\"common.email\", SINGULAR)}\n </Typography>\n <Button\n href={OWNER_CANT_CHANGE_USER_EMAIL_KB_ARTICLE_URL}\n label={t(\"helpers.whyIsItDisabled\")}\n style=\"link\"\n target=\"_blank\"\n />\n </span>\n }\n />\n ) : (\n <MultiEmailInput\n counter={COUNTER_PROPS}\n data-cy=\"ntm-manage-member-email-input\"\n filterInvalidEmails={FILTER_INVALID_EMAILS}\n helpText={t(\"helpers.enterMultipleEmails\")}\n label={`${t(\"common.email\", PLURAL)}*`}\n name=\"emails\"\n placeholder={t(\"placeholders.email\")}\n ref={innerRef}\n />\n )}\n </div>\n );\n};\n\nexport default MultipleEmailInput;\n","import React from \"react\";\n\nimport { Input } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nconst NameInputs = ({ innerRef }) => {\n const { t } = useTranslation();\n\n return (\n <div className=\"neeto-ui-flex neeto-ui-w-full neeto-ui-gap-4\">\n <Input\n data-cy=\"ntm-edit-member-first-name-text-field\"\n label={t(\"labels.firstName\")}\n name=\"firstName\"\n ref={innerRef}\n />\n <Input\n data-cy=\"ntm-edit-member-last-name-text-field\"\n label={t(\"labels.lastName\")}\n name=\"lastName\"\n />\n </div>\n );\n};\n\nexport default NameInputs;\n","import React from \"react\";\n\nimport { noop } from \"neetocommons/pure\";\nimport { Info } from \"neetoicons\";\nimport { Tooltip } from \"neetoui\";\n\nconst LabelWithIcon = ({\n label = \"\",\n tooltipProps = { content: \"\" },\n iconProps = { onClick: noop },\n}) => (\n <>\n <span className=\"ntm-members-radio-group__label\">{label}</span>\n <Tooltip position=\"right\" {...tooltipProps}>\n <span>\n <Info\n className=\"ntm-members-radio-group__icon\"\n size={16}\n {...iconProps}\n />\n </span>\n </Tooltip>\n </>\n);\n\nexport default LabelWithIcon;\n","import React from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { _findBy, slugify } from \"neetocommons/pure\";\nimport { Radio } from \"neetoui/formik\";\nimport { identical } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory, useLocation } from \"react-router-dom\";\n\nimport { SINGULAR } from \"common/constants\";\nimport LabelWithIcon from \"components/Common/LabelWithIcon\";\n\nimport { isAdminRole } from \"./helpers\";\n\nconst RolesRadioGroup = ({ role = \"\", roles = [], isEdit, globalRoles }) => {\n const history = useHistory();\n const location = useLocation();\n const { values, setFieldValue } = useFormikContext();\n const { t } = useTranslation();\n\n const setDefaultSelection = currentRole => {\n const condition = isAdminRole(currentRole);\n values.appRoles.forEach(({ appName, activeRole }, index) => {\n appName === globalProps.appName?.substring(5) &&\n setFieldValue(`appRoles[${index}].activeRole`, currentRole);\n\n if (condition(activeRole)) return;\n const matchingRole = _findBy({ name: condition }, globalRoles[appName]);\n if (matchingRole) {\n setFieldValue(`appRoles[${index}].activeRole`, matchingRole.name);\n }\n });\n };\n\n return (\n <Radio\n stacked\n className=\"ntm-members-radio-group\"\n data-cy=\"ntm-manage-member-roles-group\"\n name=\"role\"\n label={\n <LabelWithIcon\n label={`${t(\"common.role\", SINGULAR)}*`}\n tooltipProps={{ content: t(\"tooltips.clickToViewPermissions\") }}\n iconProps={{\n // eslint-disable-next-line @bigbinary/neeto/use-common-routes\n onClick: () => history.push(`${location.pathname}/roles`),\n }}\n />\n }\n onChange={({ target: { value } }) => {\n setFieldValue(\"role\", value);\n !isEdit && setDefaultSelection(value);\n }}\n >\n {roles.map(({ id, name }) => (\n <label\n className=\"ntm-members-form-radio-item__wrapper\"\n htmlFor={slugify(name)}\n key={id}\n >\n <Radio.Item\n className=\"ntm-members-form-radio-item__label\"\n data-cy=\"ntm-manage-member-roles-button\"\n defaultChecked={identical(name, role)}\n id={slugify(name)}\n label={name}\n name=\"role\"\n value={name}\n />\n </label>\n ))}\n </Radio>\n );\n};\n\nexport default RolesRadioGroup;\n","/* global define */\n\n(function (root, pluralize) {\n /* istanbul ignore else */\n if (typeof require === 'function' && typeof exports === 'object' && typeof module === 'object') {\n // Node.\n module.exports = pluralize();\n } else if (typeof define === 'function' && define.amd) {\n // AMD, registers as an anonymous module.\n define(function () {\n return pluralize();\n });\n } else {\n // Browser global.\n root.pluralize = pluralize();\n }\n})(this, function () {\n // Rule storage - pluralize and singularize need to be run sequentially,\n // while other rules can be optimized using an object for instant lookups.\n var pluralRules = [];\n var singularRules = [];\n var uncountables = {};\n var irregularPlurals = {};\n var irregularSingles = {};\n\n /**\n * Sanitize a pluralization rule to a usable regular expression.\n *\n * @param {(RegExp|string)} rule\n * @return {RegExp}\n */\n function sanitizeRule (rule) {\n if (typeof rule === 'string') {\n return new RegExp('^' + rule + '$', 'i');\n }\n\n return rule;\n }\n\n /**\n * Pass in a word token to produce a function that can replicate the case on\n * another word.\n *\n * @param {string} word\n * @param {string} token\n * @return {Function}\n */\n function restoreCase (word, token) {\n // Tokens are an exact match.\n if (word === token) return token;\n\n // Lower cased words. E.g. \"hello\".\n if (word === word.toLowerCase()) return token.toLowerCase();\n\n // Upper cased words. E.g. \"WHISKY\".\n if (word === word.toUpperCase()) return token.toUpperCase();\n\n // Title cased words. E.g. \"Title\".\n if (word[0] === word[0].toUpperCase()) {\n return token.charAt(0).toUpperCase() + token.substr(1).toLowerCase();\n }\n\n // Lower cased words. E.g. \"test\".\n return token.toLowerCase();\n }\n\n /**\n * Interpolate a regexp string.\n *\n * @param {string} str\n * @param {Array} args\n * @return {string}\n */\n function interpolate (str, args) {\n return str.replace(/\\$(\\d{1,2})/g, function (match, index) {\n return args[index] || '';\n });\n }\n\n /**\n * Replace a word using a rule.\n *\n * @param {string} word\n * @param {Array} rule\n * @return {string}\n */\n function replace (word, rule) {\n return word.replace(rule[0], function (match, index) {\n var result = interpolate(rule[1], arguments);\n\n if (match === '') {\n return restoreCase(word[index - 1], result);\n }\n\n return restoreCase(match, result);\n });\n }\n\n /**\n * Sanitize a word by passing in the word and sanitization rules.\n *\n * @param {string} token\n * @param {string} word\n * @param {Array} rules\n * @return {string}\n */\n function sanitizeWord (token, word, rules) {\n // Empty string or doesn't need fixing.\n if (!token.length || uncountables.hasOwnProperty(token)) {\n return word;\n }\n\n var len = rules.length;\n\n // Iterate over the sanitization rules and use the first one to match.\n while (len--) {\n var rule = rules[len];\n\n if (rule[0].test(word)) return replace(word, rule);\n }\n\n return word;\n }\n\n /**\n * Replace a word with the updated word.\n *\n * @param {Object} replaceMap\n * @param {Object} keepMap\n * @param {Array} rules\n * @return {Function}\n */\n function replaceWord (replaceMap, keepMap, rules) {\n return function (word) {\n // Get the correct token and case restoration functions.\n var token = word.toLowerCase();\n\n // Check against the keep object map.\n if (keepMap.hasOwnProperty(token)) {\n return restoreCase(word, token);\n }\n\n // Check against the replacement map for a direct word replacement.\n if (replaceMap.hasOwnProperty(token)) {\n return restoreCase(word, replaceMap[token]);\n }\n\n // Run all the rules against the word.\n return sanitizeWord(token, word, rules);\n };\n }\n\n /**\n * Check if a word is part of the map.\n */\n function checkWord (replaceMap, keepMap, rules, bool) {\n return function (word) {\n var token = word.toLowerCase();\n\n if (keepMap.hasOwnProperty(token)) return true;\n if (replaceMap.hasOwnProperty(token)) return false;\n\n return sanitizeWord(token, token, rules) === token;\n };\n }\n\n /**\n * Pluralize or singularize a word based on the passed in count.\n *\n * @param {string} word The word to pluralize\n * @param {number} count How many of the word exist\n * @param {boolean} inclusive Whether to prefix with the number (e.g. 3 ducks)\n * @return {string}\n */\n function pluralize (word, count, inclusive) {\n var pluralized = count === 1\n ? pluralize.singular(word) : pluralize.plural(word);\n\n return (inclusive ? count + ' ' : '') + pluralized;\n }\n\n /**\n * Pluralize a word.\n *\n * @type {Function}\n */\n pluralize.plural = replaceWord(\n irregularSingles, irregularPlurals, pluralRules\n );\n\n /**\n * Check if a word is plural.\n *\n * @type {Function}\n */\n pluralize.isPlural = checkWord(\n irregularSingles, irregularPlurals, pluralRules\n );\n\n /**\n * Singularize a word.\n *\n * @type {Function}\n */\n pluralize.singular = replaceWord(\n irregularPlurals, irregularSingles, singularRules\n );\n\n /**\n * Check if a word is singular.\n *\n * @type {Function}\n */\n pluralize.isSingular = checkWord(\n irregularPlurals, irregularSingles, singularRules\n );\n\n /**\n * Add a pluralization rule to the collection.\n *\n * @param {(string|RegExp)} rule\n * @param {string} replacement\n */\n pluralize.addPluralRule = function (rule, replacement) {\n pluralRules.push([sanitizeRule(rule), replacement]);\n };\n\n /**\n * Add a singularization rule to the collection.\n *\n * @param {(string|RegExp)} rule\n * @param {string} replacement\n */\n pluralize.addSingularRule = function (rule, replacement) {\n singularRules.push([sanitizeRule(rule), replacement]);\n };\n\n /**\n * Add an uncountable word rule.\n *\n * @param {(string|RegExp)} word\n */\n pluralize.addUncountableRule = function (word) {\n if (typeof word === 'string') {\n uncountables[word.toLowerCase()] = true;\n return;\n }\n\n // Set singular and plural references for the word.\n pluralize.addPluralRule(word, '$0');\n pluralize.addSingularRule(word, '$0');\n };\n\n /**\n * Add an irregular word definition.\n *\n * @param {string} single\n * @param {string} plural\n */\n pluralize.addIrregularRule = function (single, plural) {\n plural = plural.toLowerCase();\n single = single.toLowerCase();\n\n irregularSingles[single] = plural;\n irregularPlurals[plural] = single;\n };\n\n /**\n * Irregular rules.\n */\n [\n // Pronouns.\n ['I', 'we'],\n ['me', 'us'],\n ['he', 'they'],\n ['she', 'they'],\n ['them', 'them'],\n ['myself', 'ourselves'],\n ['yourself', 'yourselves'],\n ['itself', 'themselves'],\n ['herself', 'themselves'],\n ['himself', 'themselves'],\n ['themself', 'themselves'],\n ['is', 'are'],\n ['was', 'were'],\n ['has', 'have'],\n ['this', 'these'],\n ['that', 'those'],\n // Words ending in with a consonant and `o`.\n ['echo', 'echoes'],\n ['dingo', 'dingoes'],\n ['volcano', 'volcanoes'],\n ['tornado', 'tornadoes'],\n ['torpedo', 'torpedoes'],\n // Ends with `us`.\n ['genus', 'genera'],\n ['viscus', 'viscera'],\n // Ends with `ma`.\n ['stigma', 'stigmata'],\n ['stoma', 'stomata'],\n ['dogma', 'dogmata'],\n ['lemma', 'lemmata'],\n ['schema', 'schemata'],\n ['anathema', 'anathemata'],\n // Other irregular rules.\n ['ox', 'oxen'],\n ['axe', 'axes'],\n ['die', 'dice'],\n ['yes', 'yeses'],\n ['foot', 'feet'],\n ['eave', 'eaves'],\n ['goose', 'geese'],\n ['tooth', 'teeth'],\n ['quiz', 'quizzes'],\n ['human', 'humans'],\n ['proof', 'proofs'],\n ['carve', 'carves'],\n ['valve', 'valves'],\n ['looey', 'looies'],\n ['thief', 'thieves'],\n ['groove', 'grooves'],\n ['pickaxe', 'pickaxes'],\n ['passerby', 'passersby']\n ].forEach(function (rule) {\n return pluralize.addIrregularRule(rule[0], rule[1]);\n });\n\n /**\n * Pluralization rules.\n */\n [\n [/s?$/i, 's'],\n [/[^\\u0000-\\u007F]$/i, '$0'],\n [/([^aeiou]ese)$/i, '$1'],\n [/(ax|test)is$/i, '$1es'],\n [/(alias|[^aou]us|t[lm]as|gas|ris)$/i, '$1es'],\n [/(e[mn]u)s?$/i, '$1s'],\n [/([^l]ias|[aeiou]las|[ejzr]as|[iu]am)$/i, '$1'],\n [/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i, '$1i'],\n [/(alumn|alg|vertebr)(?:a|ae)$/i, '$1ae'],\n [/(seraph|cherub)(?:im)?$/i, '$1im'],\n [/(her|at|gr)o$/i, '$1oes'],\n [/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|automat|quor)(?:a|um)$/i, '$1a'],\n [/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)(?:a|on)$/i, '$1a'],\n [/sis$/i, 'ses'],\n [/(?:(kni|wi|li)fe|(ar|l|ea|eo|oa|hoo)f)$/i, '$1$2ves'],\n [/([^aeiouy]|qu)y$/i, '$1ies'],\n [/([^ch][ieo][ln])ey$/i, '$1ies'],\n [/(x|ch|ss|sh|zz)$/i, '$1es'],\n [/(matr|cod|mur|sil|vert|ind|append)(?:ix|ex)$/i, '$1ices'],\n [/\\b((?:tit)?m|l)(?:ice|ouse)$/i, '$1ice'],\n [/(pe)(?:rson|ople)$/i, '$1ople'],\n [/(child)(?:ren)?$/i, '$1ren'],\n [/eaux$/i, '$0'],\n [/m[ae]n$/i, 'men'],\n ['thou', 'you']\n ].forEach(function (rule) {\n return pluralize.addPluralRule(rule[0], rule[1]);\n });\n\n /**\n * Singularization rules.\n */\n [\n [/s$/i, ''],\n [/(ss)$/i, '$1'],\n [/(wi|kni|(?:after|half|high|low|mid|non|night|[^\\w]|^)li)ves$/i, '$1fe'],\n [/(ar|(?:wo|[ae])l|[eo][ao])ves$/i, '$1f'],\n [/ies$/i, 'y'],\n [/\\b([pl]|zomb|(?:neck|cross)?t|coll|faer|food|gen|goon|group|lass|talk|goal|cut)ies$/i, '$1ie'],\n [/\\b(mon|smil)ies$/i, '$1ey'],\n [/\\b((?:tit)?m|l)ice$/i, '$1ouse'],\n [/(seraph|cherub)im$/i, '$1'],\n [/(x|ch|ss|sh|zz|tto|go|cho|alias|[^aou]us|t[lm]as|gas|(?:her|at|gr)o|[aeiou]ris)(?:es)?$/i, '$1'],\n [/(analy|diagno|parenthe|progno|synop|the|empha|cri|ne)(?:sis|ses)$/i, '$1sis'],\n [/(movie|twelve|abuse|e[mn]u)s$/i, '$1'],\n [/(test)(?:is|es)$/i, '$1is'],\n [/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i, '$1us'],\n [/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|quor)a$/i, '$1um'],\n [/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)a$/i, '$1on'],\n [/(alumn|alg|vertebr)ae$/i, '$1a'],\n [/(cod|mur|sil|vert|ind)ices$/i, '$1ex'],\n [/(matr|append)ices$/i, '$1ix'],\n [/(pe)(rson|ople)$/i, '$1rson'],\n [/(child)ren$/i, '$1'],\n [/(eau)x?$/i, '$1'],\n [/men$/i, 'man']\n ].forEach(function (rule) {\n return pluralize.addSingularRule(rule[0], rule[1]);\n });\n\n /**\n * Uncountable rules.\n */\n [\n // Singular words with no plurals.\n 'adulthood',\n 'advice',\n 'agenda',\n 'aid',\n 'aircraft',\n 'alcohol',\n 'ammo',\n 'analytics',\n 'anime',\n 'athletics',\n 'audio',\n 'bison',\n 'blood',\n 'bream',\n 'buffalo',\n 'butter',\n 'carp',\n 'cash',\n 'chassis',\n 'chess',\n 'clothing',\n 'cod',\n 'commerce',\n 'cooperation',\n 'corps',\n 'debris',\n 'diabetes',\n 'digestion',\n 'elk',\n 'energy',\n 'equipment',\n 'excretion',\n 'expertise',\n 'firmware',\n 'flounder',\n 'fun',\n 'gallows',\n 'garbage',\n 'graffiti',\n 'hardware',\n 'headquarters',\n 'health',\n 'herpes',\n 'highjinks',\n 'homework',\n 'housework',\n 'information',\n 'jeans',\n 'justice',\n 'kudos',\n 'labour',\n 'literature',\n 'machinery',\n 'mackerel',\n 'mail',\n 'media',\n 'mews',\n 'moose',\n 'music',\n 'mud',\n 'manga',\n 'news',\n 'only',\n 'personnel',\n 'pike',\n 'plankton',\n 'pliers',\n 'police',\n 'pollution',\n 'premises',\n 'rain',\n 'research',\n 'rice',\n 'salmon',\n 'scissors',\n 'series',\n 'sewage',\n 'shambles',\n 'shrimp',\n 'software',\n 'species',\n 'staff',\n 'swine',\n 'tennis',\n 'traffic',\n 'transportation',\n 'trout',\n 'tuna',\n 'wealth',\n 'welfare',\n 'whiting',\n 'wildebeest',\n 'wildlife',\n 'you',\n /pok[eé]mon$/i,\n // Regexes.\n /[^aeiou]ese$/i, // \"chinese\", \"japanese\"\n /deer$/i, // \"deer\", \"reindeer\"\n /fish$/i, // \"fish\", \"blowfish\", \"angelfish\"\n /measles$/i,\n /o[iu]s$/i, // \"carnivorous\"\n /pox$/i, // \"chickpox\", \"smallpox\"\n /sheep$/i\n ].forEach(pluralize.addUncountableRule);\n\n return pluralize;\n});\n","import React from \"react\";\n\nimport { capitalize, notEquals, toLabelAndValue } from \"neetocommons/pure\";\nimport { MenuHorizontal } from \"neetoicons\";\nimport { Avatar, Dropdown, Tag, Tooltip } from \"neetoui\";\nimport pluralize from \"pluralize\";\nimport {\n assoc,\n curry,\n filter,\n identical,\n isNil,\n mergeLeft,\n toLower,\n} from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nimport { MANAGE_MEMBER_PERMISSIONS, PLURAL, SINGULAR } from \"common/constants\";\nimport i18n from \"common/i18n\";\nimport { hasPermission } from \"common/utils\";\n\nimport {\n DEFAULT_NEETO_FILTERS_COLUMNS,\n DEFAULT_RADIX,\n DROPDOWN_BUTTON_PROPS,\n MEMBER_FILTER,\n} from \"./constants\";\n\nconst { Menu, MenuItem } = Dropdown;\n\nconst renderNameColumn = (\n { displayName: name, profileImageUrl: imageUrl, active },\n diplayStatusTag\n) => (\n <div className=\"ntm-members-table__column\">\n <Avatar size=\"medium\" user={{ name, imageUrl }} />\n {name}\n {diplayStatusTag && (\n <Tag\n data-cy=\"ntm-member-status-tag\"\n style={active ? \"primary\" : \"secondary\"}\n type=\"outline\"\n label={\n active ? MEMBER_FILTER.ACTIVE.label : MEMBER_FILTER.DEACTIVATED.label\n }\n />\n )}\n </div>\n);\n\nconst isDropDownButtonDisabled = permissions =>\n !(permissions?.update ?? hasPermission(MANAGE_MEMBER_PERMISSIONS));\n\nconst renderDropdownButton = (\n { active, displayName, email, firstName, id, lastName, role },\n handleUpdateRole,\n handleUpdateStatus,\n permissions\n) => (\n <Tooltip\n content={i18n.t(\"tooltips.noPermissionToEditMembers\")}\n disabled={!isDropDownButtonDisabled(permissions)}\n position=\"top\"\n >\n <span>\n <Dropdown\n buttonProps={DROPDOWN_BUTTON_PROPS}\n buttonStyle=\"text\"\n disabled={isDropDownButtonDisabled(permissions)}\n icon={MenuHorizontal}\n strategy=\"fixed\"\n >\n <Menu>\n <Tooltip\n content={i18n.t(\"tooltips.activateUserToEdit\", SINGULAR)}\n disabled={active}\n position=\"top\"\n >\n <span>\n <MenuItem.Button\n className=\"ntm-dropdown__button\"\n data-cy=\"ntm-edit-member-button\"\n disabled={!active}\n size=\"small\"\n style=\"text\"\n onClick={() =>\n active &&\n handleUpdateRole({ email, firstName, id, lastName, role })\n }\n >\n {i18n.t(\"common.edit\")}\n </MenuItem.Button>\n </span>\n </Tooltip>\n <MenuItem.Button\n className=\"ntm-dropdown__button\"\n data-cy=\"ntm-deactivate-member-button\"\n size=\"small\"\n onClick={() =>\n handleUpdateStatus({ id, name: displayName, active })\n }\n >\n {active ? i18n.t(\"common.deactivate\") : i18n.t(\"common.activate\")}\n </MenuItem.Button>\n </Menu>\n </Dropdown>\n </span>\n </Tooltip>\n);\n\nconst getDefaultAlertTitle = ({ member, metaName }) =>\n member?.active\n ? i18n.t(\"common.deactivate_\", {\n what: metaName(SINGULAR).toLocaleLowerCase(),\n })\n : i18n.t(\"common.activate_\", {\n what: metaName(SINGULAR).toLocaleLowerCase(),\n });\n\nconst getDefaultAlertMessage = ({ member }) => (\n <Trans\n i18nKey={member?.active ? \"alerts.deactivating_\" : \"alerts.activating_\"}\n values={{ person: member?.name }}\n />\n);\n\nconst renderInvitedStatus = inviteStatus => {\n const statuses = {\n not_invited: i18n.t(\"common.notInvited\"),\n pending: i18n.t(\"common.pending\"),\n confirmed: i18n.t(\"common.invited\"),\n };\n\n return statuses[inviteStatus];\n};\n\nconst getDefaultColumns = displayStatusTag => [\n {\n dataIndex: \"name\",\n key: \"name\",\n render: (_, tableData) => renderNameColumn(tableData, displayStatusTag),\n sorter: true,\n title: i18n.t(\"common.name\"),\n },\n {\n dataIndex: \"email\",\n key: \"email\",\n sorter: true,\n title: i18n.t(\"common.email\", SINGULAR),\n },\n {\n dataIndex: \"role\",\n key: \"organization_role\",\n sorter: true,\n title: i18n.t(\"common.role\", SINGULAR),\n },\n {\n dataIndex: \"inviteStatus\",\n key: \"invite_status\",\n sorter: true,\n title: i18n.t(\"common.inviteStatus\"),\n render: inviteStatus => renderInvitedStatus(inviteStatus),\n },\n];\n\nconst getActionColumn = (\n handleUpdateRole,\n handleUpdateStatus,\n permissions\n) => ({\n dataIndex: \"actions\",\n key: \"icon_button\",\n render: (_, props) =>\n renderDropdownButton(\n props,\n handleUpdateRole,\n handleUpdateStatus,\n permissions\n ),\n width: 75,\n});\n\nconst getSearchParams = ({ page, results }, filter) => {\n const searchParams = new URLSearchParams(window.location.search);\n searchParams.set(\"page\", page);\n searchParams.set(\"results\", results);\n searchParams.set(\"filter\", filter.toLowerCase());\n\n return searchParams.toString();\n};\n\nconst removeExcludedRole = curry(\n (excludedRoles, role) => !excludedRoles?.includes(role?.name)\n);\n\nexport const getColumnData = ({\n config,\n handleUpdateRole,\n handleUpdateStatus,\n memberFilter,\n}) => {\n const displayStatusTag = identical(memberFilter, MEMBER_FILTER.ALL.value);\n const defaultColumns = getDefaultColumns(displayStatusTag);\n const actionColumn = getActionColumn(\n handleUpdateRole,\n handleUpdateStatus,\n config?.permissions\n );\n const otherColumns = config?.otherColumns ?? [];\n\n const columns = defaultColumns.map(column => {\n const otherColumn = otherColumns.find(({ dataIndex }) =>\n identical(dataIndex, column.dataIndex)\n );\n\n return otherColumn || column;\n });\n\n otherColumns.forEach(otherColumn => {\n const column = columns.find(({ dataIndex }) =>\n identical(dataIndex, otherColumn.dataIndex)\n );\n if (!column) columns.push(otherColumn);\n });\n\n if (!columns.some(({ dataIndex }) => identical(dataIndex, \"actions\"))) {\n columns.push(actionColumn);\n }\n\n return columns;\n};\n\nexport const renderHeaderTitle = (filterStatus, metaName) =>\n i18n.t(`common.${toLower(filterStatus)}_`, {\n what: metaName(PLURAL).toLocaleLowerCase(),\n });\n\nexport const renderUpdateAlert = (field, props) => {\n const { config, member } = props;\n\n if (config?.alert?.[field]) {\n return config.alert?.[field]({\n active: member?.active,\n id: member?.id,\n name: member?.name,\n });\n }\n\n return field === \"title\"\n ? getDefaultAlertTitle(props)\n : getDefaultAlertMessage(props);\n};\n\nexport const handlePageChange = (setFilters, filter) => (page, results) => {\n const pageParams = { page, results };\n window.history.replaceState(\n {},\n \"\",\n `?${getSearchParams(pageParams, filter)}`\n );\n setFilters(mergeLeft(pageParams));\n};\n\nexport const renderPaginationProps = size => ({\n pageSize: parseInt(size, DEFAULT_RADIX),\n});\n\nexport const getPerCategoryCount = (perCategoryCount, category) =>\n isNil(perCategoryCount)\n ? MEMBER_FILTER[category].defaultCount\n : perCategoryCount[category?.toLowerCase()];\n\nexport const getMetaName = curry((metaName, count) => {\n const singularizedMetaName = pluralize(metaName.toLowerCase(), 1);\n const translationWord = `metaNames.${singularizedMetaName}`;\n\n return i18n.exists(translationWord, count)\n ? i18n.t(translationWord, count)\n : pluralize(capitalize(singularizedMetaName), count.count);\n});\n\nexport const clearSelectedMembers = (previousCategory, currentCategory) =>\n notEquals(previousCategory, currentCategory) &&\n notEquals(currentCategory, \"ALL\");\n\nexport const buildFilterColumns = ({\n options: { emails = [], organizationRoles = [] },\n emailConfig: { setSearchTerm, isLoading },\n}) => {\n const columnValues = {\n email: emails.map(toLabelAndValue),\n role: organizationRoles.map(toLabelAndValue),\n };\n\n return DEFAULT_NEETO_FILTERS_COLUMNS.map(column => {\n const values = columnValues[column.key];\n if (column.key === \"role\") return assoc(\"values\", values, column);\n\n const emailConfig = {\n values,\n isLoading,\n onInputChange: setSearchTerm,\n };\n\n return mergeLeft(emailConfig, column);\n });\n};\n\nexport const getValidCategory = (\n category,\n defaultCategory = MEMBER_FILTER.ACTIVE.value\n) =>\n Object.values(MEMBER_FILTER).some(({ value }) => identical(value, category))\n ? category\n : defaultCategory;\n\nexport const addUrlSearchParams = (history, params = {}) =>\n Object.entries(params).forEach(([key, value]) => {\n const searchParams = new URLSearchParams(window.location.search);\n searchParams.set(key, value);\n history.push({ search: searchParams.toString() });\n });\n\nexport const getFilteredRoles = (roles = [], config = {}) =>\n filter(removeExcludedRole(config?.excludedRoles), roles);\n","import React, { useRef, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { LeftArrow } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\nimport { Form } from \"neetoui/formik\";\nimport { reverse, isEmpty, groupBy, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DEFAULT_PERMISSION, SINGULAR } from \"common/constants\";\nimport ScrollToErrorField from \"components/Common/ScrollToErrorField\";\nimport { useFetchGlobalRoles, useFetchRoles } from \"hooks/roles/useRolesApi\";\nimport { useCreateMember, useUpdateMember } from \"hooks/teams/useTeamsApi\";\n\nimport AppList from \"./AppList\";\nimport Confirmation from \"./Confirmation\";\nimport {\n DEFAULT_COMPONENT_CONFIG,\n MEMBERS_FORM_COMPONENT_MAPPER,\n FORM_PAGES,\n MANAGE_MEMBERS_FORMIK_PROPS,\n} from \"./constants\";\nimport { renderInitialValues, renderPayload } from \"./helpers\";\nimport MultipleEmailInput from \"./MultipleEmailInput\";\nimport NameInputs from \"./NameInputs\";\nimport RolesRadioGroup from \"./RolesRadioGroup\";\n\nimport { getFilteredRoles, getMetaName } from \"../utils\";\n\nconst ManageMember = ({\n config,\n onComplete,\n roles = [],\n selectedMember = null,\n componentConfig = {},\n}) => {\n const [hasSubmitted, setHasSubmitted] = useState(false);\n const [currentPage, setCurrentPage] = useState(FORM_PAGES.MAIN);\n const formReference = useRef(null);\n const inputReference = useRef(null);\n const appListSavedStateReference = useRef({ isAppListEnabled: true });\n const shouldSkipAppListPage = useRef(false);\n const { t } = useTranslation();\n\n const manageMemberComponentConfig = {\n ...DEFAULT_COMPONENT_CONFIG,\n initialFocusRef: inputReference,\n ...componentConfig,\n };\n\n const Component =\n MEMBERS_FORM_COMPONENT_MAPPER[manageMemberComponentConfig.type || \"pane\"];\n\n const isPermissionsGranted = config?.permissions?.view ?? DEFAULT_PERMISSION;\n const haveToFetchRoles = isEmpty(roles) && isPermissionsGranted;\n\n const isEditForm = !!selectedMember;\n const isLastPage = currentPage === FORM_PAGES.CONFIRMATION || isEditForm;\n\n const { data: rolesList = roles, isLoading: isRolesLoading } = useFetchRoles({\n select: response =>\n reverse(\n (response.organizationRoles || response.data.organizationRoles) ?? []\n ),\n enabled: haveToFetchRoles,\n });\n\n const { data: globalRoles = {}, isLoading: isGlobalRolesLoading } =\n useFetchGlobalRoles({\n select: response => groupBy(prop(\"appName\"), response ?? []),\n enabled: !selectedMember && isPermissionsGranted,\n });\n\n const filteredRoles = getFilteredRoles(rolesList, config);\n\n const { mutate: createMember, isLoading: isCreatingMember } = useCreateMember(\n {\n onSuccess: () => {\n handleClose();\n config?.createMember?.onSuccess?.callback();\n },\n }\n );\n\n const { mutate: updateMember, isLoading: isUpdatingMember } = useUpdateMember(\n {\n onSuccess: () => {\n handleClose();\n config?.updateMember?.onSuccess?.callback();\n },\n }\n );\n\n const handleClose = () => {\n onComplete();\n setHasSubmitted(false);\n setCurrentPage(FORM_PAGES.MAIN);\n appListSavedStateReference.current = { isAppListEnabled: true };\n };\n\n const isSubmitting =\n isCreatingMember ||\n isUpdatingMember ||\n isRolesLoading ||\n isGlobalRolesLoading;\n\n const handleAddMember = values => {\n selectedMember\n ? updateMember({\n id: selectedMember.id,\n payload: renderPayload(values, selectedMember),\n })\n : createMember(renderPayload(values));\n };\n\n const handleOnSubmit = values => {\n shouldSkipAppListPage.current = isEmpty(values.appRoles);\n\n if (isLastPage) {\n handleAddMember(values);\n } else if (\n currentPage === FORM_PAGES.APP_LIST ||\n shouldSkipAppListPage.current\n ) {\n setCurrentPage(FORM_PAGES.CONFIRMATION);\n } else if (currentPage === FORM_PAGES.MAIN) {\n setCurrentPage(FORM_PAGES.APP_LIST);\n }\n };\n\n const handleBackButton = () => {\n if (currentPage === FORM_PAGES.APP_LIST || shouldSkipAppListPage.current) {\n setCurrentPage(FORM_PAGES.MAIN);\n } else if (currentPage === FORM_PAGES.CONFIRMATION) {\n setCurrentPage(FORM_PAGES.APP_LIST);\n }\n };\n\n const getTitle = () => {\n const metaName = config?.metaName || \"member\";\n\n return selectedMember\n ? t(\"common.edit_\", {\n what: getMetaName(metaName)(SINGULAR).toLocaleLowerCase(),\n })\n : t(\"common.addNew_\", {\n what: getMetaName(metaName)(SINGULAR).toLocaleLowerCase(),\n });\n };\n\n const renderFormPage = (page, emails, role) => {\n switch (page) {\n case FORM_PAGES.MAIN:\n return (\n <>\n {selectedMember && <NameInputs innerRef={inputReference} />}\n <MultipleEmailInput\n emails={emails}\n innerRef={inputReference}\n selectedMember={selectedMember}\n />\n <RolesRadioGroup\n globalRoles={globalRoles}\n isEdit={!!selectedMember}\n role={role}\n roles={filteredRoles}\n />\n </>\n );\n case FORM_PAGES.APP_LIST:\n return (\n <AppList\n globalRoles={globalRoles}\n savedStateRef={appListSavedStateReference}\n />\n );\n case FORM_PAGES.CONFIRMATION:\n return <Confirmation />;\n default:\n return null;\n }\n };\n\n return (\n <Component\n className={manageMemberComponentConfig.className}\n data-cy=\"ntm-manage-members-pane-wrapper\"\n initialFocusRef={manageMemberComponentConfig.initialFocusRef}\n isOpen={manageMemberComponentConfig.isOpen}\n onClose={handleClose}\n >\n <Component.Header\n {...manageMemberComponentConfig.headerProps}\n className={classnames([\n { \"ntm-manage-members__header\": currentPage !== FORM_PAGES.MAIN },\n manageMemberComponentConfig.headerProps?.className,\n ])}\n >\n {currentPage !== FORM_PAGES.MAIN && (\n <Button\n aria-label=\"Back\"\n icon={LeftArrow}\n size=\"medium\"\n style=\"text\"\n tooltipProps={{\n content: t(\"buttons.back\"),\n position: \"bottom\",\n }}\n onClick={handleBackButton}\n />\n )}\n <Typography\n className=\"ntm-members-form__header\"\n data-cy=\"ntm-manage-members-pane-header\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {getTitle()}\n </Typography>\n </Component.Header>\n <Form\n ref={formReference}\n formikProps={{\n ...MANAGE_MEMBERS_FORMIK_PROPS,\n initialValues: renderInitialValues(\n selectedMember,\n filteredRoles,\n globalRoles\n ),\n onSubmit: handleOnSubmit,\n validateOnBlur: hasSubmitted,\n validateOnChange: hasSubmitted,\n }}\n >\n {({ values, dirty }) => {\n const { emails, role } = values;\n\n return (\n <>\n <ScrollToErrorField formRef={formReference} />\n <Component.Body\n {...manageMemberComponentConfig.bodyProps}\n className={classnames([\n \"ntm-members-form__body\",\n manageMemberComponentConfig.bodyProps?.className,\n ])}\n >\n {renderFormPage(currentPage, emails, role)}\n </Component.Body>\n <Component.Footer\n {...manageMemberComponentConfig.footerProps}\n className={classnames([\n \"ntm-members-form__footer\",\n manageMemberComponentConfig.footerProps?.className,\n ])}\n >\n <Button\n disabled={!dirty || isSubmitting}\n loading={isSubmitting}\n style=\"primary\"\n type=\"submit\"\n data-cy={\n isLastPage\n ? \"ntm-manage-member-submit-button\"\n : \"ntm-manage-member-continue-button\"\n }\n label={\n isLastPage\n ? t(\"buttons.saveChanges\")\n : t(\"buttons.continue\")\n }\n onClick={() => setHasSubmitted(true)}\n />\n <Button\n data-cy=\"ntm-manage-member-cancel-button\"\n label={t(\"buttons.cancel\")}\n style=\"text\"\n onClick={handleClose}\n />\n </Component.Footer>\n </>\n );\n }}\n </Form>\n </Component>\n );\n};\n\nexport default ManageMember;\n","import React from \"react\";\n\nimport { slugify } from \"neetocommons/pure\";\nimport { MenuBar } from \"neetoui/layouts\";\nimport { keys, identical } from \"ramda\";\n\nimport { PLURAL } from \"common/constants\";\n\nimport { MEMBER_FILTER } from \"./constants\";\nimport { getPerCategoryCount } from \"./utils\";\n\nconst Menu = ({\n filterCounts,\n handleMemberFilterChange,\n isMenuOpen,\n memberFilter,\n metaName,\n}) => {\n const memberFilterKeys = keys(MEMBER_FILTER);\n\n return (\n <MenuBar\n data-cy=\"ntm-members-menubar-heading\"\n showMenu={isMenuOpen}\n title={metaName(PLURAL)}\n >\n {memberFilterKeys.map(filter => (\n <MenuBar.Block\n count={getPerCategoryCount(filterCounts, filter)}\n data-cy={`ntm-members-menubar-${slugify(filter)}-block`}\n key={filter}\n label={MEMBER_FILTER[filter].label}\n active={\n memberFilterKeys.includes(memberFilter) &&\n identical(filter, memberFilter)\n }\n onClick={() => handleMemberFilterChange(filter)}\n />\n ))}\n </MenuBar>\n );\n};\n\nexport default Menu;\n","/* eslint-disable @bigbinary/neeto/file-name-and-export-name-standards */\nimport { useState } from \"react\";\n\nimport { useDebounce } from \"neetocommons/react-utils\";\nimport { buildFiltersFromURL } from \"neetofilters\";\nimport { isNil, mergeLeft } from \"ramda\";\n\nimport { PLURAL } from \"common/constants\";\nimport i18n from \"common/i18n\";\nimport { useFetchFilterOptions } from \"hooks/teams/useTeamsApi\";\n\nimport {\n DEFAULT_NEETO_FILTERS_COLUMNS,\n DEFAULT_FILTER_VALUES,\n DEFAULT_PAGE_NUMBER,\n URL_CATEGORY_FILTER_VALUE,\n} from \"./constants\";\nimport { buildFilterColumns, getMetaName, getValidCategory } from \"./utils\";\n\nconst useFilters = ({ config }) => {\n const [emailSearchTerm, setEmailSearchTerm] = useState(\"\");\n const metaName = getMetaName(config?.metaName || \"member\");\n const defaultNeetoFilters = buildFiltersFromURL(\n config?.filterColumns ?? DEFAULT_NEETO_FILTERS_COLUMNS\n );\n\n const [filters, setFilters] = useState({\n ...DEFAULT_FILTER_VALUES,\n ...config?.defaultFilterValues,\n neetoFilters: defaultNeetoFilters,\n category: getValidCategory(\n URL_CATEGORY_FILTER_VALUE,\n config?.defaultFilterValues?.category\n ),\n });\n const debouncedSearch = useDebounce(filters.search, 750);\n const debouncedEmailSearchTerm = useDebounce(emailSearchTerm, 750);\n\n const shouldFetchFilterOptions = isNil(config?.filterColumns);\n const { data: filterOptions = {}, isLoading: isFilterOptionsLoading } =\n useFetchFilterOptions({\n params: {\n emailSearchTerm: debouncedEmailSearchTerm,\n },\n options: { enabled: shouldFetchFilterOptions },\n });\n\n const filterColumns = shouldFetchFilterOptions\n ? buildFilterColumns({\n options: filterOptions,\n emailConfig: {\n setSearchTerm: setEmailSearchTerm,\n isLoading: isFilterOptionsLoading,\n },\n })\n : config?.filterColumns;\n\n const searchProps = {\n \"data-cy\": \"ntm-search-members-input\",\n onChange: ({ target: { value } }) =>\n setFilters(mergeLeft({ search: value, page: DEFAULT_PAGE_NUMBER })),\n placeholder: i18n.t(\"common.search_\", {\n what: metaName(PLURAL).toLocaleLowerCase(),\n }),\n value: filters.search,\n };\n\n return {\n filters,\n setFilters,\n filterColumns,\n debouncedSearch,\n searchProps,\n };\n};\n\nexport default useFilters;\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _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 }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n defineProperty = Object.defineProperty || function (obj, key, desc) {\n obj[key] = desc.value;\n },\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return defineProperty(generator, \"_invoke\", {\n value: makeInvokeMethod(innerFn, self, context)\n }), generator;\n }\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n exports.wrap = wrap;\n var ContinueSentinel = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n reject(record.arg);\n }\n var previousPromise;\n defineProperty(this, \"_invoke\", {\n value: function value(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method,\n method = delegate.iterator[methodName];\n if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel;\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n return next.value = undefined, next.done = !0, next;\n };\n return next.next = next;\n }\n }\n return {\n next: doneResult\n };\n }\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), defineProperty(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (val) {\n var object = Object(val),\n keys = [];\n for (var key in object) keys.push(key);\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","/* eslint-disable @bigbinary/neeto/file-name-and-export-name-standards */\nimport { useState } from \"react\";\n\nimport { assoc, mergeLeft, pluck } from \"ramda\";\n\nimport {\n DEFAULT_IS_OPEN_VALUES,\n DEFAULT_PAGE_NUMBER,\n DEFAULT_SELECTED_ROWS,\n} from \"./constants\";\nimport { clearSelectedMembers, handlePageChange } from \"./utils\";\n\nconst useTeams = ({ config, filters, setFilters, updateMember }) => {\n const [selectedMember, setSelectedMember] = useState(null);\n const [isOpen, setIsOpen] = useState(DEFAULT_IS_OPEN_VALUES);\n const [selectedRows, setSelectedRows] = useState(DEFAULT_SELECTED_ROWS);\n\n const handleUpdateMember = async () => {\n const { id, active } = selectedMember;\n const payload = { active: !active };\n updateMember({ id, payload });\n };\n\n const handleUpdateStatus = user => {\n setSelectedMember(user);\n setIsOpen(assoc(\"alert\", true));\n };\n\n const handleUpdateRole = user => {\n setSelectedMember(user);\n setIsOpen(assoc(\"manageMember\", true));\n };\n\n const handleAlertClose = () => {\n setIsOpen(assoc(\"alert\", false));\n setSelectedMember(null);\n };\n\n const handleModalClose = () => {\n setIsOpen(assoc(\"manageMember\", false));\n setSelectedMember(null);\n };\n\n const resetSelectedRows = () => setSelectedRows(DEFAULT_SELECTED_ROWS);\n\n const handleMemberFilterChange = filter => {\n setFilters(assoc(\"category\", filter));\n clearSelectedMembers(filters.category, filter) &&\n setSelectedRows(DEFAULT_SELECTED_ROWS);\n handlePageChange(setFilters, filter)(DEFAULT_PAGE_NUMBER, filters.results);\n };\n\n const handleTableChange = (_, __, sorter) => {\n setFilters(\n mergeLeft({ sortBy: sorter.field, sortDirection: sorter.order })\n );\n };\n\n const handleRowSelect = (keys, rowData) => {\n const rows = {\n active: pluck(\"active\", rowData),\n emails: pluck(\"email\", rowData),\n keys,\n };\n setSelectedRows({ ...rows });\n config?.table?.onRowSelect?.({ rows, resetSelectedRows, rowData });\n };\n\n return {\n handleAlertClose,\n handleMemberFilterChange,\n handleModalClose,\n handleRowSelect,\n handleTableChange,\n handleUpdateMember,\n handleUpdateRole,\n handleUpdateStatus,\n isOpen,\n selectedMember,\n selectedRows,\n setIsOpen,\n setSelectedRows,\n };\n};\n\nexport default useTeams;\n","import React, { useEffect, useMemo, useState } from \"react\";\n\nimport { withTitle } from \"neetocommons/react-utils\";\nimport { Bar as FiltersBar } from \"neetofilters\";\nimport { Alert, NoData, PageLoader, Table } from \"neetoui\";\nimport { Container, Header, SubHeader } from \"neetoui/layouts\";\nimport { assoc, mergeLeft, reverse } from \"ramda\";\nimport { useHistory } from \"react-router-dom\";\n\nimport {\n DEFAULT_PERMISSION,\n MANAGE_MEMBER_PERMISSIONS,\n PLURAL,\n SINGULAR,\n} from \"common/constants\";\nimport i18n from \"common/i18n\";\nimport { hasPermission } from \"common/utils\";\nimport withReactQuery from \"components/Common/withReactQuery\";\nimport { useFetchRoles } from \"hooks/roles/useRolesApi\";\nimport { useFetchMembers, useUpdateMember } from \"hooks/teams/useTeamsApi\";\n\nimport {\n Header as HeaderActionBlock,\n SubHeader as SubHeaderActionBlock,\n} from \"./ActionBlock\";\nimport {\n DEFAULT_PAGE_NUMBER,\n DEFAULT_RADIX,\n DEFAULT_SELECTED_ROWS,\n MEMBER_FILTER,\n} from \"./constants\";\nimport ManageMember from \"./ManageMember\";\nimport Menu from \"./Menu\";\nimport useFilters from \"./useFilters\";\nimport useTeams from \"./useTeams\";\nimport {\n addUrlSearchParams,\n clearSelectedMembers,\n getColumnData,\n getFilteredRoles,\n getMetaName,\n handlePageChange,\n renderHeaderTitle,\n renderPaginationProps,\n renderUpdateAlert,\n} from \"./utils\";\n\nconst TeamMembers = ({ config }) => {\n const history = useHistory();\n const metaName = getMetaName(config?.metaName || \"member\");\n const [columnData, setColumnData] = useState([]);\n const [isFiltersPaneOpen, setIsFiltersPaneOpen] = useState(false);\n const hasCreatePermission =\n config?.permissions?.create ?? hasPermission(MANAGE_MEMBER_PERMISSIONS);\n\n useEffect(() => {\n if (!localStorage.getItem(\"TEAM_MEMBERS_TABLE_HIDDEN_COLUMNS\")) {\n localStorage.setItem(\n \"TEAM_MEMBERS_TABLE_HIDDEN_COLUMNS\",\n JSON.stringify([\"inviteStatus\"])\n );\n }\n }, []);\n\n const { filters, setFilters, filterColumns, debouncedSearch, searchProps } =\n useFilters({ config });\n\n const {\n data: team,\n isLoading: isMembersLoading,\n isFetching: isMembersFetching,\n } = useFetchMembers(\n {\n ...filters,\n search: debouncedSearch.trim(),\n category: filters.category.toLowerCase(),\n },\n { enabled: config?.permissions?.view ?? DEFAULT_PERMISSION }\n );\n\n const { data: roles, isLoading: isRolesLoading } = useFetchRoles({\n select: response =>\n reverse(\n (response.organizationRoles || response.data.organizationRoles) ?? []\n ),\n enabled: config?.permissions?.view ?? DEFAULT_PERMISSION,\n });\n\n const { mutate: updateMember, isLoading: isUpdatingMember } = useUpdateMember(\n {\n onSuccess: () => {\n handleAlertClose();\n config?.updateMember?.onSuccess?.callback();\n },\n }\n );\n\n const filteredRoles = getFilteredRoles(roles, config);\n\n const {\n handleAlertClose,\n handleMemberFilterChange,\n handleModalClose,\n handleRowSelect,\n handleTableChange,\n handleUpdateMember,\n handleUpdateRole,\n handleUpdateStatus,\n isOpen,\n selectedMember,\n selectedRows,\n setIsOpen,\n setSelectedRows,\n } = useTeams({ config, filters, setFilters, updateMember });\n\n config?.fetchApiResponse?.({ team });\n\n const updateMemberAlertProps = { member: selectedMember, metaName, config };\n\n config?.table?.onDropdownClick?.({ handleUpdateRole, handleUpdateStatus });\n\n const columns = useMemo(\n () =>\n getColumnData({\n config,\n handleUpdateRole,\n handleUpdateStatus,\n memberFilter: filters.category,\n }),\n [filters.category] // eslint-disable-line react-hooks/exhaustive-deps\n );\n\n const handleNeetoFilterChange = filters => {\n setFilters(mergeLeft({ neetoFilters: filters, page: DEFAULT_PAGE_NUMBER }));\n clearSelectedMembers(filters.category, filters) &&\n setSelectedRows(DEFAULT_SELECTED_ROWS);\n addUrlSearchParams(history, { page: DEFAULT_PAGE_NUMBER.toString() });\n };\n\n if (isRolesLoading || isMembersLoading) {\n return (\n <div className=\"ntm-members-page-loader\">\n <PageLoader />\n </div>\n );\n }\n\n return (\n <div className=\"ntm-members\">\n <div className=\"ntm-members-wrapper\">\n <Menu\n filterCounts={team?.perCategoryCount}\n handleMemberFilterChange={handleMemberFilterChange}\n isMenuOpen={isOpen.menuBar}\n memberFilter={filters.category}\n metaName={metaName}\n />\n <Container>\n <Header\n searchProps={searchProps}\n actionBlock={\n <HeaderActionBlock\n config={config}\n metaName={metaName}\n permissions={config?.permissions}\n rolesButtonProps={config.rolesButtonProps}\n onClick={() => setIsOpen(assoc(\"manageMember\", true))}\n />\n }\n menuBarToggle={() =>\n setIsOpen(state => ({ ...state, menuBar: !state.menuBar }))\n }\n title={renderHeaderTitle(\n MEMBER_FILTER[filters.category].value,\n metaName\n )}\n {...config?.header?.otherProps}\n />\n <SubHeader\n leftActionBlock={\n <SubHeaderActionBlock.Left\n config={config}\n filteredCount={team?.membersCount}\n filters={filters}\n metaName={metaName}\n roles={filteredRoles}\n selectedRows={selectedRows}\n setSelectedRows={setSelectedRows}\n />\n }\n rightActionBlock={\n <SubHeaderActionBlock.Right\n columns={columns}\n filterColumns={filterColumns}\n handleNeetoFilterChange={handleNeetoFilterChange}\n isFiltersPaneOpen={isFiltersPaneOpen}\n setColumnData={setColumnData}\n setIsFiltersPaneOpen={setIsFiltersPaneOpen}\n />\n }\n />\n <FiltersBar\n columns={filterColumns}\n setIsPaneOpen={setIsFiltersPaneOpen}\n onChange={handleNeetoFilterChange}\n />\n {team?.membersCount !== 0 ? (\n <div className=\"ntm-members__table-wrapper\">\n <Table\n fixedHeight\n rowSelection\n allowRowClick={false}\n columnData={columnData}\n currentPageNumber={parseInt(filters.page, DEFAULT_RADIX)}\n data-cy=\"ntm-members-table\"\n loading={isMembersFetching}\n paginationProps={renderPaginationProps(filters.results)}\n rowData={team?.members}\n selectedRowKeys={selectedRows.keys}\n totalCount={team?.membersCount}\n handlePageChange={handlePageChange(\n setFilters,\n filters.category\n )}\n onChange={handleTableChange}\n onRowSelect={handleRowSelect}\n />\n </div>\n ) : (\n <div className=\"ntm-empty-state\">\n <NoData\n primaryButtonProps={{\n \"data-cy\": \"ntm-add-member-button\",\n disabled: !hasCreatePermission,\n label: i18n.t(\"common.addNew_\", {\n what: metaName(SINGULAR).toLocaleLowerCase(),\n }),\n onClick: () => setIsOpen(assoc(\"manageMember\", true)),\n }}\n title={i18n.t(\"common.notFound_\", {\n what: metaName(PLURAL).toLocaleLowerCase(),\n })}\n />\n </div>\n )}\n </Container>\n <ManageMember\n config={config}\n roles={filteredRoles}\n selectedMember={selectedMember}\n componentConfig={{\n isOpen: isOpen.manageMember,\n }}\n onComplete={handleModalClose}\n />\n <Alert\n cancelButtonLabel={i18n.t(\"buttons.cancel\")}\n isOpen={isOpen.alert}\n isSubmitting={isUpdatingMember}\n message={renderUpdateAlert(\"message\", updateMemberAlertProps)}\n submitButtonLabel={i18n.t(\"buttons.proceed\")}\n title={renderUpdateAlert(\"title\", updateMemberAlertProps)}\n onClose={handleAlertClose}\n onSubmit={handleUpdateMember}\n />\n </div>\n </div>\n );\n};\n\nTeamMembers.defaultProps = {\n config: {\n metaName: \"member\",\n permissions: {\n create: true,\n update: true,\n view: true,\n },\n },\n};\n\nexport default withTitle(\n withReactQuery(TeamMembers),\n i18n.t(\"metaNames.member\", PLURAL)\n);\n","var e=[],t=[];function n(n,r){if(n&&\"undefined\"!=typeof document){var a,s=!0===r.prepend?\"prepend\":\"append\",d=!0===r.singleTag,i=\"string\"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName(\"head\")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c()}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n))}function c(){var e=document.createElement(\"style\");if(e.setAttribute(\"type\",\"text/css\"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a=\"prepend\"===s?\"afterbegin\":\"beforeend\";return i.insertAdjacentElement(a,e),e}}export{n as default};\n","import \"common/i18n\";\nimport { hasPermission } from \"common/utils\";\nimport Roles from \"components/Roles\";\nimport TeamMembers from \"components/TeamMembers\";\nimport ManageMember from \"components/TeamMembers/ManageMember\";\nimport RolesRadioGroup from \"components/TeamMembers/ManageMember/RolesRadioGroup\";\nimport { refetchMembers } from \"hooks/teams/useTeamsApi\";\n\nimport \"./src/stylesheets/application.scss\";\n\nexport {\n hasPermission,\n refetchMembers,\n Roles,\n RolesRadioGroup,\n TeamMembers,\n ManageMember,\n};\n"],"names":["_typeof","obj","Symbol","iterator","constructor","prototype","_setPrototypeOf","o","p","Object","setPrototypeOf","__proto__","_construct","Parent","args","Class","Reflect","construct","sham","Proxy","Boolean","valueOf","call","e","_isNativeReflectConstruct","a","push","apply","instance","Function","bind","arguments","_slicedToArray","arr","i","Array","isArray","_arrayWithHoles","_i","_s","_e","_arr","_n","_d","next","done","value","length","err","_iterableToArrayLimit","_unsupportedIterableToArray","TypeError","_nonIterableRest","_toConsumableArray","_arrayLikeToArray","_arrayWithoutHoles","iter","from","_iterableToArray","_nonIterableSpread","minLen","n","toString","slice","name","test","len","arr2","entries","isFrozen","getPrototypeOf","getOwnPropertyDescriptor","freeze","seal","create","_ref","fun","thisValue","x","Func","func","arrayForEach","unapply","forEach","arrayPop","pop","arrayPush","stringToLowerCase","String","toLowerCase","stringToString","stringMatch","match","stringReplace","replace","stringIndexOf","indexOf","stringTrim","trim","regExpTest","RegExp","typeErrorCreate","_len2","_key2","thisArg","_len","_key","addToSet","set","array","transformCaseFunc","l","element","lcElement","clone","object","_step","newObject","_iterator","allowArrayLike","it","F","s","f","normalCompletion","didErr","step","return","_createForOfIteratorHelper","_step$value","property","lookupGetter","prop","desc","get","console","warn","html$1","svg$1","svgFilters","svgDisallowed","mathMl$1","mathMlDisallowed","text","html","svg","mathMl","xml","MUSTACHE_EXPR","ERB_EXPR","TMPLIT_EXPR","DATA_ATTR","ARIA_ATTR","IS_ALLOWED_URI","IS_SCRIPT_OR_DATA","ATTR_WHITESPACE","DOCTYPE_NAME","getGlobal","window","_createTrustedTypesPolicy","trustedTypes","document","createPolicy","suffix","ATTR_NAME","currentScript","hasAttribute","getAttribute","policyName","createHTML","createScriptURL","scriptUrl","_","purify","createDOMPurify","undefined","DOMPurify","root","version","removed","nodeType","isSupported","originalDocument","DocumentFragment","HTMLTemplateElement","Node","Element","NodeFilter","_window$NamedNodeMap","NamedNodeMap","MozNamedAttrMap","HTMLFormElement","DOMParser","ElementPrototype","cloneNode","getNextSibling","getChildNodes","getParentNode","template","createElement","content","ownerDocument","trustedTypesPolicy","emptyHTML","_document","implementation","createNodeIterator","createDocumentFragment","getElementsByTagName","importNode","hooks","createHTMLDocument","PARSER_MEDIA_TYPE","MUSTACHE_EXPR$1","ERB_EXPR$1","TMPLIT_EXPR$1","DATA_ATTR$1","ARIA_ATTR$1","IS_SCRIPT_OR_DATA$1","ATTR_WHITESPACE$1","IS_ALLOWED_URI$1","ALLOWED_TAGS","DEFAULT_ALLOWED_TAGS","concat","ALLOWED_ATTR","DEFAULT_ALLOWED_ATTR","CUSTOM_ELEMENT_HANDLING","tagNameCheck","writable","configurable","enumerable","attributeNameCheck","allowCustomizedBuiltInElements","FORBID_TAGS","FORBID_ATTR","ALLOW_ARIA_ATTR","ALLOW_DATA_ATTR","ALLOW_UNKNOWN_PROTOCOLS","ALLOW_SELF_CLOSE_IN_ATTR","SAFE_FOR_TEMPLATES","WHOLE_DOCUMENT","SET_CONFIG","FORCE_BODY","RETURN_DOM","RETURN_DOM_FRAGMENT","RETURN_TRUSTED_TYPE","SANITIZE_DOM","SANITIZE_NAMED_PROPS","KEEP_CONTENT","IN_PLACE","USE_PROFILES","FORBID_CONTENTS","DEFAULT_FORBID_CONTENTS","DATA_URI_TAGS","DEFAULT_DATA_URI_TAGS","URI_SAFE_ATTRIBUTES","DEFAULT_URI_SAFE_ATTRIBUTES","MATHML_NAMESPACE","SVG_NAMESPACE","HTML_NAMESPACE","NAMESPACE","IS_EMPTY_INPUT","ALLOWED_NAMESPACES","DEFAULT_ALLOWED_NAMESPACES","SUPPORTED_PARSER_MEDIA_TYPES","CONFIG","formElement","isRegexOrFunction","testValue","_parseConfig","cfg","ADD_URI_SAFE_ATTR","ADD_DATA_URI_TAGS","ALLOWED_URI_REGEXP","ADD_TAGS","ADD_ATTR","table","tbody","MATHML_TEXT_INTEGRATION_POINTS","HTML_INTEGRATION_POINTS","COMMON_SVG_AND_HTML_ELEMENTS","ALL_SVG_TAGS","ALL_MATHML_TAGS","_forceRemove","node","parentNode","removeChild","remove","_removeAttribute","attribute","getAttributeNode","removeAttribute","setAttribute","_initDocument","dirty","doc","leadingWhitespace","matches","dirtyPayload","parseFromString","documentElement","createDocument","innerHTML","body","insertBefore","createTextNode","childNodes","_createIterator","SHOW_ELEMENT","SHOW_COMMENT","SHOW_TEXT","_isNode","nodeName","_executeHook","entryPoint","currentNode","data","hook","_sanitizeElements","elm","textContent","attributes","namespaceURI","hasChildNodes","tagName","allowedTags","firstElementChild","_basicCustomElementTest","parent","parentTagName","_checkValidNamespace","_isValidAttribute","lcTag","lcName","_sanitizeAttributes","attr","hookEvent","attrName","attrValue","keepAttr","allowedAttributes","_attr","forceKeepAttr","getAttributeType","setAttributeNS","_sanitizeShadowDOM","fragment","shadowNode","shadowIterator","nextNode","sanitize","importedNode","returnNode","appendChild","firstChild","nodeIterator","shadowroot","shadowrootmod","serializedHTML","outerHTML","doctype","setConfig","clearConfig","isValidAttribute","tag","addHook","hookFunction","removeHook","removeHooks","removeAllHooks","_classCallCheck","Constructor","_toPropertyKey","arg","key","input","hint","prim","toPrimitive","res","Number","_defineProperties","target","props","descriptor","defineProperty","toPropertyKey","_createClass","protoProps","staticProps","_assertThisInitialized","self","ReferenceError","_inherits","subClass","superClass","_possibleConstructorReturn","assertThisInitialized","_getPrototypeOf","_defineProperty","arrayLikeToArray","ownKeys$6","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","_objectSpread$6","source","getOwnPropertyDescriptors","defineProperties","consoleLogger","type","log","this","output","error","baseLogger","Logger","concreteLogger","options","init","prefix","logger","debug","bool","forward","_len3","_key3","_len4","_key4","lvl","debugOnly","moduleName","EventEmitter","observers","events","listener","_this","split","event","observer","defer","rej","promise","Promise","resolve","reject","makeString","getLastOfPath","path","Empty","cleanKey","canNotTraverseDeeper","stack","shift","hasOwnProperty","k","setPath","newValue","_getLastOfPath","getPath","_getLastOfPath3","getPathWithDefaults","defaultData","deepExtend","overwrite","regexEscape","str","_entityMap","escape","isIE10","navigator","userAgentData","userAgent","chars","ownKeys$5","_objectSpread$5","_createSuper$3","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct$3","result","Super","NewTarget","deepFind","keySeparator","paths","current","j","join","mix","endsWith","joinedPath","ResourceStore","_EventEmitter","_super","ns","defaultNS","ignoreJSONStructure","index","splice","lng","silent","addNamespaces","emit","resources","m","addResource","deep","pack","hasResourceBundle","removeNamespaces","getResource","compatibilityAPI","getDataByLanguage","find","v","postProcessor","processors","addPostProcessor","module","handle","translator","processor","process","ownKeys$4","_objectSpread$4","_createSuper$2","_isNativeReflectConstruct$2","checkedLoadedFor","Translator","services","t","copy","language","interpolation","resolved","nsSeparator","namespaces","wouldCheckForNsInKey","seemsNaturalLanguage","userDefinedKeySeparator","userDefinedNsSeparator","possibleChars","c","r","map","matched","ki","substring","looksLikeObjectPath","interpolator","nestingRegexp","parts","lastKey","_this2","overloadTranslationOptionHandler","returnDetails","_this$extractFromKey","extractFromKey","namespace","appendNamespaceToCIMode","usedKey","exactUsedKey","usedLng","usedNS","resUsedKey","resExactUsedKey","resType","joinArrays","handleAsObjectInI18nFormat","i18nFormat","handleAsObject","returnObjects","returnedObjectHandler","resTypeIsArray","newKeyToUse","deepKey","translate","extendTranslation","usedDefault","needsPluralHandling","count","hasDefaultValue","defaultValueSuffix","pluralResolver","getSuffix","defaultValue","isValidLookup","resForMissing","missingKeyNoValueFallbackToKey","updateMissing","fk","lngs","fallbackLngs","languageUtils","getFallbackCodes","fallbackLng","saveMissingTo","toResolveHierarchy","send","specificDefaultValue","defaultForMissing","missingKeyHandler","backendConnector","saveMissing","saveMissingPlurals","getSuffixes","appendNamespaceToMissingKey","parseMissingKeyHandler","_this3","parse","defaultVariables","skipInterpolation","nestBef","skipOnVariables","nb","interpolate","na","nest","context","reset","postProcess","postProcessorNames","applyPostProcessor","postProcessPassResolved","i18nResolved","found","_this4","extracted","fallbackNS","needsZeroSuffixLookup","ordinal","shouldUseIntlApi","needsContextHandling","codes","utils","hasLoadedNamespace","code","possibleKey","finalKeys","addLookupKeys","pluralSuffix","zeroSuffix","pluralSeparator","contextKey","contextSeparator","returnNull","returnEmptyString","resourceStore","option","capitalize","string","charAt","toUpperCase","LanguageUtil","supportedLngs","formatLanguageCode","specialCases","lowerCaseLng","part","cleanCode","load","nonExplicitSupportedLngs","getLanguagePartFromCode","cleanedLng","isSupportedCode","lngOnly","supportedLng","fallbacks","getScriptPartFromCode","fallbackCode","fallbackCodes","addCode","fc","sets","nr","_rulesPluralsTypes","deprecatedJsonVersions","suffixesOrder","zero","one","two","few","many","other","PluralResolver","rules","compatibilityJSON","Intl","PluralRules","numbers","plurals","_unused","rule","getRule","resolvedOptions","pluralCategories","sort","pluralCategory1","pluralCategory2","pluralCategory","prepend","number","select","getSuffixRetroCompatible","idx","noAbs","Math","abs","simplifyPluralSuffix","returnSuffix","includes","ownKeys$3","_objectSpread$3","Interpolator","format","escapeValue","iOpts","useRawValueToEscape","prefixEscaped","suffixEscaped","formatSeparator","unescapePrefix","unescapeSuffix","nestingPrefix","nestingPrefixEscaped","nestingSuffix","nestingSuffixEscaped","nestingOptionsSeparator","maxReplaces","alwaysFormat","resetRegExp","regexpStr","regexp","regexpUnescapeStr","regexpUnescape","nestingRegexpStr","replaces","regexSafe","val","handleFormat","interpolationkey","missingInterpolationHandler","regex","safeValue","todo","exec","matchedVar","temp","lastIndex","clonedOptions","handleHasOptions","inheritedOptions","sep","optionsString","matchedSingleQuotes","matchedDoubleQuotes","JSON","formatters","doReduce","elem","reduce","ownKeys$2","_objectSpread$2","parseFormatStr","formatStr","formatName","formatOptions","optStr","currency","range","opt","_opt$split2","arrayWithHoles","iterableToArray","unsupportedIterableToArray","nonIterableRest","_toArray","isNaN","parseInt","createCachedFormatter","fn","cache","stringify","formatter","Formatter","formats","NumberFormat","style","datetime","DateTimeFormat","relativetime","RelativeTimeFormat","list","ListFormat","_format","mem","_parseFormatStr","formatted","valOptions","formatParams","locale","ownKeys$1","_objectSpread$1","_createSuper$1","_isNativeReflectConstruct$1","Connector","backend","store","waitingReads","maxParallelReads","readingCalls","maxRetries","retryTimeout","state","queue","languages","callback","toLoad","pending","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","reload","pendingCount","loaded","errors","addResourceBundle","q","_getLastOfPath2","pushPath","removePending","loadedKeys","fcName","tried","wait","resolver","read","setTimeout","then","queueLoad","loadOne","prepareLoading","_this5","fallbackValue","isUpdate","clb","opts","initImmediate","preload","partialBundledLanguages","ret","tDescription","transformOptions","ownKeys","_objectSpread","_createSuper","noop","I18n","inst","modules","external","getOwnPropertyNames","isInitialized","isClone","defOpts","createClassOnDemand","ClassOrObject","lu","on","languageDetector","detection","_this2$store","_this2$store2","deferred","finish","initializedStoreOnce","changeLanguage","usedCallback","append","resolvedLanguage","setResolvedLanguage","Error","li","lngInLngs","hasLanguageSomeTranslations","isLanguageChangingTo","setLngProps","setLng","getBestMatchFromCodes","cacheUserLanguage","loadResources","async","detect","keyPrefix","fixedT","rest","resultKey","_this$translator","_this$translator2","exists","_this6","lastLng","loadNotPending","loadState","precheck","preResult","_this7","preloaded","newLngs","_this8","mergedOptions","createInstance","dir","reloadResources","use","getFixedT","setDefaultNamespace","loadNamespaces","loadLanguages","each","fieldContentRegExp","cookie","minutes","domain","cookieOptions","sameSite","expires","Date","setTime","getTime","encodeURIComponent","maxAge","floor","toUTCString","httpOnly","secure","serializeCookie","nameEQ","ca","cookie$1","lookup","lookupCookie","cookieMinutes","cookieDomain","querystring","search","location","hash","params","pos","lookupQuerystring","hasLocalStorageSupport","localStorageAvailable","localStorage","testKey","setItem","removeItem","lookupLocalStorage","getItem","hasSessionStorageSupport","sessionStorageAvailable","sessionStorage","lookupSessionStorage","navigator$1","userLanguage","htmlTag","pathname","lookupFromPathIndex","subdomain","lookupFromSubdomainIndex","hostname","Browser","detectors","i18nOptions","defaults","order","caches","excludeCacheFor","lookupFromUrlIndex","addDetector","detector","detectionOrder","detected","detectorName","cacheName","_objectWithoutProperties","excluded","sourceKeys","objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","voidElements","area","base","br","col","embed","hr","img","link","meta","param","track","wbr","voidElement","attrs","children","startsWith","comment","components","u","h","d","g","_console","alreadyWarned","warnOnce","i18n","cb","initialized","off","matchHtmlEntity","htmlEntities","unescapeHtmlEntity","i18nInstance","defaultOptions","bindI18n","bindI18nStore","transEmptyNodeValue","transSupportBasicHtmlNodes","transWrapTextNodes","transKeepBasicHtmlNodesFor","useSuspense","unescape","getDefaults","getI18n","_excluded","_excluded2","hasChildren","checkLength","getChildren","getAsArray","nodesToString","stringNode","childrenArray","keepArray","child","childIndex","isValidElement","childPropsCount","shouldKeepChild","childChildren","i18nIsDynamicList","renderNodes","targetString","combinedTOpts","shouldUnescape","emptyChildrenButNeedsHandling","getData","childs","assign","ast","HTML","renderInner","rootReactNode","mappedChildren","mapAST","every","hasValidReactChildren","pushTranslatedJSX","inner","isVoid","dummy","cloneElement","reactNode","astNode","reactNodes","newTarget","translationContent","tmp","isElement","isValidTranslationWithChildren","isEmptyTransWithHTML","isKnownComponent","_inner","parseFloat","_inner3","_inner4","wrapTextNodes","_content","Trans","i18nKey","_ref$tOptions","tOptions","values","i18nFromProps","tFromProps","additionalProps","reactI18nextOptions","react","hashTransKey","interpolationOverride","useAsParent","defaultTransParent","initReactI18next","setDefaults","setI18n","I18nContext","createContext","ReportNamespaces","usedNamespaces","_ref2","useContext","i18nFromContext","defaultNSFromContext","TransWithoutContext","_x","_r","iterableToArrayLimit","usePrevious","ignore","ref","useRef","useEffect","useTranslation","reportNamespaces","notReadyT","optsOrDefaultValue","retNotReady","ready","addUsedNamespaces","oldI18nextHasLoadedNamespace","getT","nsMode","_useState2","useState","setT","joinedNS","previousJoinedNS","isMounted","boundReset","isInitial","cov_1slotdqjh0","actualCoverage","cov_bmpqbsqf8","cov_ojbc1aq0x","LanguageDetector","en","translation","fr","addCached","boldEmails","email","sanitizedEmails","sanitizer","hasPermission","permissions","b","userPermissions","globalProps","is","some","permission","factory","cov_a5y9dvwc7","__WEBPACK_EXTERNAL_MODULE_4__","installedModules","__webpack_require__","moduleId","exports","getter","__esModule","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","clearTimeout","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","run","marker","runClearTimeout","Item","nextTick","title","browser","env","argv","versions","addListener","once","removeListener","removeAllListeners","prependListener","prependOnceListener","listeners","binding","cwd","chdir","umask","makeEmptyFunction","emptyFunction","thatReturns","thatReturnsFalse","thatReturnsTrue","thatReturnsNull","thatReturnsThis","thatReturnsArgument","condition","argIndex","framesToPop","_react","ScrollSyncContext","default","registerPane","unregisterPane","warning","_react2","_interopRequireDefault","_propTypes2","_ScrollSyncContext2","ScrollSync","_Component","_temp","panes","groups","group","findPane","syncScrollPosition","addEvents","removeEvents","onscroll","handlePaneScroll","pane","enabled","requestAnimationFrame","syncScrollPositions","scrolledPane","onSync","scrollTop","scrollHeight","clientHeight","scrollLeft","scrollWidth","clientWidth","scrollTopOffset","scrollLeftOffset","_props","proportional","vertical","horizontal","paneHeight","paneWidth","Provider","getContextValue","Children","only","Component","propTypes","isRequired","defaultProps","ScrollSyncPane","toArray","updateNode","attachTo","childRef","createRef","prevProps","contextType","oneOfType","shape","any","arrayOf","_ScrollSync","_ScrollSyncPane","typeSpecs","componentName","getStack","invariant","ReactPropTypesSecret","shim","propName","propFullName","secret","getShim","ReactPropTypes","symbol","instanceOf","objectOf","oneOf","checkPropTypes","PropTypes","throwOnDirectAccess","ITERATOR_SYMBOL","FAUX_ITERATOR_SYMBOL","ANONYMOUS","createPrimitiveTypeChecker","createChainableTypeChecker","typeChecker","PropTypeError","propValue","getPropType","expectedClass","expectedClassName","isNode","propType","expectedValues","arrayOfTypeCheckers","checker","getPostfixForTypeWarning","shapeTypes","y","message","validate","checkType","chainedCheckType","expectedType","getPreciseType","iteratorFn","maybeIterable","getIteratorFn","entry","isSymbol","require$$0","SINGULAR","PLURAL","MANAGE_MEMBER_PERMISSIONS","DEFAULT_PERMISSION","cov_g3cwb7z9y","queryClient","QueryClient","queryCache","QueryCache","cov_vhdgzonj3","withReactQuery","React","QueryClientProvider","client","ReactQueryDevtools","initialIsOpen","position","cov_93pfnq10s","BASE_URL","cov_2q2pjqwd8e","permissionsApi","fetch","axios","cov_2pma19sc0f","DEFAULT_STALE_TIME","QUERY_KEYS","PERMISSIONS","ROLES","GLOBAL_ROLES","TEAMS","TEAMS_DEPENDENCIES","cov_1wny8nfgfa","useFetchPermissions","useQuery","staleTime","response","cov_8l27292v3","globalRolesApi","cov_1t0xlb7jgq","organizationRolesApi","bulkUpdate","payload","patch","post","destroy","id","update","cov_p6i359815","useFetchRoles","organizationRoles","cov_ev0yxv22","renderSearchProps","searchString","setSearchString","onChange","placeholder","what","toLocaleLowerCase","renderBreadcrumbs","breadcrumbs","cov_2ahg40zxqt","AddRoleButton","_ref3","_ref4","onClick","Tooltip","disabled","Button","label","cov_mmr2vopa7","Header","_config$permissions","_config$header","config","handleReset","handleSubmit","isDirty","setIsNewRolePaneOpen","hasUpdateRolePermission","NeetoHeader","header","className","searchProps","actionBlock","Fragment","helpUrl","href","icon","ExternalLink","arrayWithoutHoles","nonIterableSpread","cov_5plbhsta5","transformObjectToDotNotation","errorKey","nextKey","getErrorFieldName","formikErrors","_transformObjectToDot","cov_1d4jhk01bt","ScrollToErrorField","formRef","useFormikContext","submitCount","isValid","isValidatedReference","fieldErrorNames","errorFormElement","elements","scrollIntoView","behavior","block","cov_943wox7vz","ADD_ROLE_FORM_INITIAL_VALUES","description","permissionIds","ADD_ROLE_FORM_VALIDATION_SCHEMA","max","limit","required","ROLE_FORMIK_PROPS","initialValues","validateOnBlur","validateOnChange","validationSchema","cov_1szai6zq9t","Permissions","setFieldValue","_ref4$permissionIds","handleTogglePermission","permissionId","nextPermissionIds","groupedPermissions","useMemo","groupBy","Typography","lineHeight","weight","category","_ref5","Checkbox","checked","pid","cov_z0be275gq","New","isOpen","onClose","formReference","inputReference","onSuccess","useMutation","invalidateQueries","setQueriesData","cachedData","modifyPath","organizationRole","Toastr","success","ntmNotice","useCreateRole","createRole","mutate","isSubmitting","isLoading","Pane","initialFocusRef","Form","formikProps","onSubmit","formValues","modifiedFormValues","Body","Input","maxLength","Textarea","Footer","loading","cov_t86ssl4x9","DEFAULT_MANAGE_ROLE_VALUES","isDelete","isEdit","selectedRole","ADMIN_ROLES","cov_2ftxzw9nfe","_e2","deepClone","objectType","Map","filterPermissionsBySearch","searchTerm","permissionGroups","filteredPermissions","_permission$descripti","_permission$descripti2","_permission$descripti3","cov_lcauybxla","Row","_ref$allPermissionsOf","allPermissionsOfCategory","_ref$permission","roles","setModifiedRoles","allPermissionIdsOfCategory","role","isNotEmpty","modifiedRole","modify","removeDuplicates","Set","replaceById","isCheckboxChecked","classnames","_config$permissions2","roleName","identical","cov_2588e8qmzh","TableHeader","setManageRole","setIsScrollPresent","scrollSyncElement","Dropdown","Menu","MenuItem","getOverflowStatus","useCallback","headerElement","isScrollBarPresent","isOverflown","_ref6","_config$permissions3","_ref7","_config$permissions4","hasSystemRole","kind","autoWidth","buttonStyle","MenuHorizontal","buttonProps","size","cov_1cwvv35dii","Delete","_ref4$onSuccess","_excluded3","dissocPath","findIndex","propEq","deleteRole","isDeleting","Alert","cancelButtonLabel","submitButtonLabel","_roles$find","newRoleId","cov_e71h7g2r5","Edit","assocPath","useUpdateRole","updateRole","cov_1r2udlzgep","Columns","filteredGroupPermissions","filteredRoles","manageRole","categories","isPermissionVisible","cov_2j9l888ote","ROLES_TABLE_CELL_HEIGHT_VARIABLE","cov_1u4gvcxug1","getSearchWrapperStyle","scrollBarWidth","innerElement","classList","add","outerElement","w1","offsetWidth","overflow","w2","getScrollBarWidth","setProperty","marginBottom","assignRolesTableCellHeight","sidebarItems","getElementsByClassName","clientHeights","pluck","maxClientHeight","currentTableCellHeight","getComputedStyle","getPropertyValue","cov_2eg92y059b","ToggleDropdown","isVisible","Up","strokeWidth","Down","cov_2kq9w6nqyq","Sidebar","setSearchTerm","toggleDropdown","isScrollPresent","searchWrapperStyle","useLayoutEffect","Search","renderDescription","cov_2o0olptfc7","Table","_ref9","setFilteredGroupPermissions","_ref8","isAddRoleDisabled","updatePermissionVisibility","categoryName","isEmpty","NoData","primaryButtonProps","cov_1vl1xvxhhn","getModifiedPermissions","modifiedRoles","oldPermissions","findById","equals","cov_u6urjgtkd","index$1","withTitle","_ref10","_ref12","_ref14","setFilteredRoles","isNewRolePaneOpen","view","isRolesLoading","_ref11","isPermissionsLoading","_ref13","_excluded4","useBulkUpdateRoles","_ref16","isPresent","getPermissionGroups","_permissions$","sortBySequence","sequence","first","second","has","currentPermissions","_ref17","PageLoader","Container","isHeaderFixed","updatedRoles","_extends","origSymbol","hasSymbolSham","symObj","syms","toStr","that","bound","boundLength","boundArgs","functionBind","src","$SyntaxError","SyntaxError","$Function","$TypeError","getEvalledConstructor","expressionSyntax","$gOPD","throwTypeError","ThrowTypeError","calleeThrows","gOPDthrows","hasSymbols","getProto","needsEval","TypedArray","Uint8Array","INTRINSICS","AggregateError","ArrayBuffer","Atomics","BigInt","BigInt64Array","BigUint64Array","DataView","decodeURI","decodeURIComponent","encodeURI","eval","EvalError","Float32Array","Float64Array","FinalizationRegistry","Int8Array","Int16Array","Int32Array","isFinite","RangeError","SharedArrayBuffer","Uint8ClampedArray","Uint16Array","Uint32Array","URIError","WeakMap","WeakRef","WeakSet","errorProto","doEval","gen","LEGACY_ALIASES","require$$1","hasOwn","require$$2","$concat","$spliceApply","$replace","$strSlice","$exec","rePropName","reEscapeChar","getBaseIntrinsic","allowMissing","alias","intrinsicName","getIntrinsic","last","quote","subString","stringToPath","intrinsicBaseName","intrinsic","intrinsicRealName","skipFurtherCaching","isOwn","GetIntrinsic","$apply","$call","$reflectApply","$defineProperty","$max","originalFunction","applyBind","callBind","$indexOf","util_inspect","inspect","hasMap","mapSizeDescriptor","mapSize","mapForEach","hasSet","setSizeDescriptor","setSize","setForEach","weakMapHas","weakSetHas","weakRefDeref","deref","booleanValueOf","objectToString","functionToString","$match","$slice","$toUpperCase","$toLowerCase","$test","$join","$arrSlice","$floor","bigIntValueOf","gOPS","symToString","hasShammedSymbols","toStringTag","isEnumerable","gPO","O","addNumericSeparator","num","Infinity","sepRegex","int","intStr","dec","utilInspect","inspectCustom","custom","inspectSymbol","wrapQuotes","defaultStyle","quoteChar","quoteStyle","isRegExp","xs","inspectString","maxStringLength","remaining","trailer","lowbyte","charCodeAt","markBoxed","weakCollectionOf","collectionOf","indent","indentedJoin","lineJoiner","prev","arrObjKeys","isArr","symMap","callBound","inspect_","depth","seen","customInspect","numericSeparator","bigIntStr","maxDepth","baseIndent","getIndent","noIndent","newOpts","nameOf","symString","HTMLElement","singleLineValues","isError","cause","isMap","mapParts","isSet","setParts","isWeakMap","isWeakSet","isWeakRef","isNumber","isBigInt","isBoolean","isString","isDate","ys","isPlainObject","protoTag","stringTag","$WeakMap","$Map","$weakMapGet","$weakMapSet","$weakMapHas","$mapGet","$mapSet","$mapHas","listGetNode","curr","percentTwenties","Format","RFC1738","RFC3986","hexTable","arrayToObject","plainObjects","acc","combine","compact","refs","item","compacted","compactQueue","decode","decoder","charset","strWithoutPlus","encode","defaultEncoder","$0","out","isBuffer","maybeMap","mapped","merge","allowPrototypes","mergeTarget","targetItem","getSideChannel","$wm","$m","$o","channel","assert","objects","listGet","listHas","listSet","arrayPrefixGenerators","brackets","comma","indices","repeat","pushToArray","valueOrArray","toISO","toISOString","defaultFormat","addQueryPrefix","allowDots","charsetSentinel","delimiter","encoder","encodeValuesOnly","serializeDate","date","skipNulls","strictNullHandling","sentinel","generateArrayPrefix","commaRoundTrip","sideChannel","tmpSc","findFlag","objKeys","adjustedPrefix","valueSideChannel","allowSparse","arrayLimit","ignoreQueryPrefix","interpretNumericEntities","parameterLimit","parseArrays","numberStr","fromCharCode","parseArrayValue","parseKeys","givenKey","valuesParsed","segment","chain","leaf","cleanRoot","parseObject","normalizeStringifyOptions","arrayFormat","joined","normalizeParseOptions","tempObj","cleanStr","skipIndex","bracketEqualsPos","encodedVal","parseValues","newObj","lib","cov_om31pkwz0","teamsApi","serializedParams","qs","keysToSnakeCase","fetchFilterOptions","put","team","cov_233ifemovy","useUpdateMember","cov_29e821obxu","FIXED_COLUMNS","COLUMNS_DROPDOWN_PROPS","COLUMNS_SEARCH_PROPS","MANAGE_ROLES_BUTTON_LABEL","cov_1uscr5uctt","metaName","_ref$onClick","rolesButtonProps","isRolesButtonVisible","hasCreatePermission","isOtherActionBlockVisible","otherActionBlock","cov_els6icg8k","cov_2f6xx9kvrc","RolesDropdown","_ref2$disabled","handleRoleChange","hasUpdatePermission","_ref2$isSearchable","isSearchable","_ref2$roles","isDropdownOpen","setIsDropdownOpen","filterBySearchTerm","toLower","isUpdationAllowed","closeOnSelect","customTarget","Right","stopPropagation","cov_q22t281an","URL_PARAMS","URLSearchParams","DEFAULT_PAGE_SIZE","MEMBER_FILTER","ACTIVE","defaultCount","DEACTIVATED","ALL","DEFAULT_MEMBER_FILTER","DEFAULT_RADIX","DEFAULT_PAGE_NUMBER","DROPDOWN_BUTTON_PROPS","DEFAULT_IS_OPEN_VALUES","menuBar","manageMember","alert","URL_CATEGORY_FILTER_VALUE","_URLSearchParams$get","DEFAULT_FILTER_VALUES","page","clamp","results","sortBy","sortDirection","neetoFilters","DEFAULT_SELECTED_ROWS","active","emails","DEFAULT_NEETO_FILTERS_COLUMNS","model","cov_2dy7hua1ai","SubHeader","Left","_selectedRows$keys","_config$hiddenBulkAct","_config$otherBulkActi","filteredCount","filters","selectedRows","setSelectedRows","hasSelectedRows","selectedMembersCountValues","totalCount","isDeactivateMemberPage","useBulkUpdateMembers","_config$bulkUpdateMem","_config$bulkUpdateMem2","bulkUpdateMembers","bulkUpdateMember","component","span","getDeactivatedButtonVisible","_config$hiddenBulkAct2","hiddenBulkActions","users","getActivateButtonVisible","organization_role","otherBulkActions","columns","setColumnData","filterColumns","handleNeetoFilterChange","setIsFiltersPaneOpen","isFiltersPaneOpen","columnData","dropdownProps","fixedColumns","localStorageKey","noColumnMessage","NeetoFilters","setIsOpen","cov_285uhbbidb","cov_1svj1i19k4","AppList","globalRoles","savedStateRef","isAppListEnabled","setIsAppListEnabled","_ref5$values","appRoles","selectedEmail","appRole","_globalProps$appName","appName","not","_globalProps$appName2","isEnabled","isCurrentApp","isAppRoleSelectionChecked","Switch","product","Select","isDisabled","toLabelAndValue","strategy","cov_1da0jjdkik","PageWrapper","otherProps","Page","cov_82lke0lxh","NAME_INPUT_VALIDATION_SCHEMA","firstName","yup","lastName","MULTIPLE_EMAIL_INPUT_VALIDATION_SCHEMA","min","nullable","ROLES_RADIO_GROUP_VALIDATION_SCHEMA","VALIDATION_SCHEMA","appsRoles","of","ADMIN_ROLE","OWNER_ROLE","FILTER_INVALID_EMAILS","COUNTER_PROPS","startsFrom","MANAGE_MEMBERS_FORMIK_PROPS","enableReinitialize","DEFAULT_COMPONENT_CONFIG","headerProps","bodyProps","footerProps","MEMBERS_FORM_COMPONENT_MAPPER","modal","Modal","FORM_PAGES","MAIN","APP_LIST","CONFIRMATION","OWNER_CANT_CHANGE_USER_EMAIL_KB_ARTICLE_URL","cov_zarwj82mq","getProductName","activeAppRoles","_activeAppRoles$","getActiveRole","_activeAppRoles$2","activeRole","getDefaultRole","currentAppRole","isAdminRole","_findBy","generateAppsRolesInitialValue","appNames","currentAppNameIndex","appNamesSorted","move","notEquals","renderInitialValues","selectedMember","_roles$","_roles$2","valid","renderPayload","user","getSingleInvitationTranslationProps","cov_d1gg5em61","Confirmation","_globalProps$organiza","_ref2$values","filterBy","orgName","organization","cov_2ba7t6w9ch","MultipleEmailInput","_head","_ref$emails","innerRef","_ref$selectedMember","head","MultiEmailInput","counter","filterInvalidEmails","helpText","cov_267kfheogy","NameInputs","cov_2gsxux74ml","LabelWithIcon","_ref$label","_ref$tooltipProps","tooltipProps","_ref$iconProps","iconProps","Info","cov_1b0h1259jp","RolesRadioGroup","_ref$role","_ref$roles","history","useHistory","useLocation","Radio","stacked","currentRole","matchingRole","setDefaultSelection","htmlFor","slugify","defaultChecked","pluralize","pluralRules","singularRules","uncountables","irregularPlurals","irregularSingles","sanitizeRule","restoreCase","word","token","substr","sanitizeWord","replaceWord","replaceMap","keepMap","checkWord","inclusive","singular","plural","isPlural","isSingular","addPluralRule","replacement","addSingularRule","addUncountableRule","addIrregularRule","single","cov_1ajikpxp6u","isDropDownButtonDisabled","getDefaultColumns","displayStatusTag","dataIndex","render","tableData","diplayStatusTag","displayName","imageUrl","profileImageUrl","Avatar","Tag","sorter","inviteStatus","statuses","not_invited","confirmed","renderInvitedStatus","getActionColumn","handleUpdateRole","handleUpdateStatus","renderDropdownButton","width","removeExcludedRole","curry","excludedRoles","renderHeaderTitle","filterStatus","renderUpdateAlert","field","_config$alert","_config$alert2","member","getDefaultAlertTitle","person","getDefaultAlertMessage","handlePageChange","setFilters","pageParams","replaceState","searchParams","getSearchParams","mergeLeft","getMetaName","singularizedMetaName","translationWord","clearSelectedMembers","previousCategory","currentCategory","getValidCategory","defaultCategory","_ref15","getFilteredRoles","cov_2j88yubml2","ManageMember","_manageMemberComponen","onComplete","_ref$componentConfig","componentConfig","hasSubmitted","setHasSubmitted","currentPage","setCurrentPage","appListSavedStateReference","shouldSkipAppListPage","manageMemberComponentConfig","isPermissionsGranted","haveToFetchRoles","isEditForm","isLastPage","reverse","_ref8$data","rolesList","useFetchGlobalRoles","_ref10$data","isGlobalRolesLoading","useCreateMember","_config$createMember","_config$createMember$","handleClose","createMember","isCreatingMember","_config$updateMember","_config$updateMember$","updateMember","isUpdatingMember","LeftArrow","getTitle","handleAddMember","_manageMemberComponen2","_manageMemberComponen3","renderFormPage","cov_2dvpczlzzx","filterCounts","handleMemberFilterChange","isMenuOpen","memberFilter","memberFilterKeys","MenuBar","showMenu","Block","perCategoryCount","isNil","cov_2ip4fu4uwh","useFilters","_config$defaultFilter","emailSearchTerm","setEmailSearchTerm","defaultNeetoFilters","buildFiltersFromURL","defaultFilterValues","debouncedSearch","useDebounce","debouncedEmailSearchTerm","shouldFetchFilterOptions","_ref5$params","_ref5$options","useFetchFilterOptions","_ref7$data","filterOptions","isFilterOptionsLoading","_ref14$options","_ref14$options$emails","_ref14$options$organi","_ref14$emailConfig","emailConfig","columnValues","column","assoc","onInputChange","buildFilterColumns","asyncGeneratorStep","_next","_throw","info","_regeneratorRuntime","Op","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","define","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","makeInvokeMethod","tryCatch","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","NativeIteratorPrototype","Gp","defineIteratorMethods","method","_invoke","AsyncIterator","PromiseImpl","invoke","record","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","methodName","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iterable","iteratorMethod","isGeneratorFunction","genFun","ctor","mark","awrap","skipTempReset","stop","rootRecord","rval","exception","loc","caught","hasCatch","hasFinally","finallyEntry","complete","catch","thrown","delegateYield","runtime","regenerator","regeneratorRuntime","accidentalStrictMode","globalThis","cov_1q5i48b0wn","useTeams","setSelectedMember","handleUpdateMember","_callee","_context","resetSelectedRows","handleAlertClose","handleModalClose","handleRowSelect","rowData","_config$table","_config$table$onRowSe","rows","onRowSelect","handleTableChange","__","cov_2grgin5wgm","TeamMembers","_config$fetchApiRespo","_config$table$onDropd","keepPreviousData","useFetchMembers","isMembersLoading","isMembersFetching","isFetching","fetchApiResponse","updateMemberAlertProps","onDropdownClick","defaultColumns","actionColumn","otherColumns","otherColumn","getColumnData","addUrlSearchParams","HeaderActionBlock","menuBarToggle","leftActionBlock","SubHeaderActionBlock","membersCount","rightActionBlock","FiltersBar","setIsPaneOpen","fixedHeight","rowSelection","allowRowClick","currentPageNumber","paginationProps","pageSize","members","selectedRowKeys","cov_2n0c2rtlmj","singleTag","container","querySelector","styleSheet","cssText","insertAdjacentElement"],"mappings":";;AAEA,SAASA,EAAQC,GAGf,OAAOD,EAAU,mBAAqBE,QAAU,iBAAmBA,OAAOC,SAAW,SAAUF,GAC7F,cAAcA,CACf,EAAG,SAAUA,GACZ,OAAOA,GAAO,mBAAqBC,QAAUD,EAAIG,cAAgBF,QAAUD,IAAQC,OAAOG,UAAY,gBAAkBJ,CAC5H,EAAKD,EAAQC,EACb,CAEA,SAASK,EAAgBC,EAAGC,GAM1B,OALAF,EAAkBG,OAAOC,gBAAkB,SAAyBH,EAAGC,GAErE,OADAD,EAAEI,UAAYH,EACPD,CACX,EAESD,EAAgBC,EAAGC,EAC5B,CAeA,SAASI,EAAWC,EAAQC,EAAMC,GAchC,OAVEH,EAjBJ,WACE,GAAuB,oBAAZI,UAA4BA,QAAQC,UAAW,OAAO,EACjE,GAAID,QAAQC,UAAUC,KAAM,OAAO,EACnC,GAAqB,mBAAVC,MAAsB,OAAO,EAExC,IAEE,OADAC,QAAQf,UAAUgB,QAAQC,KAAKN,QAAQC,UAAUG,QAAS,IAAI,WAAc,MACrE,CACR,CAAC,MAAOG,GACP,OAAO,CACR,CACH,CAGMC,GACWR,QAAQC,UAER,SAAoBJ,EAAQC,EAAMC,GAC7C,IAAIU,EAAI,CAAC,MACTA,EAAEC,KAAKC,MAAMF,EAAGX,GAChB,IACIc,EAAW,IADGC,SAASC,KAAKH,MAAMd,EAAQY,IAG9C,OADIV,GAAOT,EAAgBsB,EAAUb,EAAMV,WACpCuB,CACb,EAGShB,EAAWe,MAAM,KAAMI,UAChC,CAEA,SAASC,EAAeC,EAAKC,GAC3B,OAWF,SAAyBD,GACvB,GAAIE,MAAMC,QAAQH,GAAM,OAAOA,CACjC,CAbSI,CAAgBJ,IAmBzB,SAA+BA,EAAKC,GAClC,IAAII,EAAY,MAAPL,EAAc,KAAyB,oBAAX/B,QAA0B+B,EAAI/B,OAAOC,WAAa8B,EAAI,cAE3F,GAAU,MAANK,EAAY,OAChB,IAIIC,EAAIC,EAJJC,EAAO,GACPC,GAAK,EACLC,GAAK,EAIT,IACE,IAAKL,EAAKA,EAAGhB,KAAKW,KAAQS,GAAMH,EAAKD,EAAGM,QAAQC,QAC9CJ,EAAKf,KAAKa,EAAGO,QAETZ,GAAKO,EAAKM,SAAWb,GAH4BQ,GAAK,GAK7D,CAAC,MAAOM,GACPL,GAAK,EACLH,EAAKQ,CACT,CAAY,QACR,IACON,GAAsB,MAAhBJ,EAAW,QAAWA,EAAW,QAClD,CAAc,QACR,GAAIK,EAAI,MAAMH,CACf,CACF,CAED,OAAOC,CACT,CA/CiCQ,CAAsBhB,EAAKC,IAAMgB,EAA4BjB,EAAKC,IAsEnG,WACE,MAAM,IAAIiB,UAAU,4IACtB,CAxEyGC,EACzG,CAEA,SAASC,EAAmBpB,GAC1B,OAGF,SAA4BA,GAC1B,GAAIE,MAAMC,QAAQH,GAAM,OAAOqB,EAAkBrB,EACnD,CALSsB,CAAmBtB,IAW5B,SAA0BuB,GACxB,GAAsB,oBAAXtD,QAAmD,MAAzBsD,EAAKtD,OAAOC,WAA2C,MAAtBqD,EAAK,cAAuB,OAAOrB,MAAMsB,KAAKD,EACtH,CAboCE,CAAiBzB,IAAQiB,EAA4BjB,IA8DzF,WACE,MAAM,IAAIkB,UAAU,uIACtB,CAhEiGQ,EACjG,CA4CA,SAAST,EAA4B3C,EAAGqD,GACtC,GAAKrD,EAAL,CACA,GAAiB,iBAANA,EAAgB,OAAO+C,EAAkB/C,EAAGqD,GACvD,IAAIC,EAAIpD,OAAOJ,UAAUyD,SAASxC,KAAKf,GAAGwD,MAAM,GAAI,GAEpD,MADU,WAANF,GAAkBtD,EAAEH,cAAayD,EAAItD,EAAEH,YAAY4D,MAC7C,QAANH,GAAqB,QAANA,EAAoB1B,MAAMsB,KAAKlD,GACxC,cAANsD,GAAqB,2CAA2CI,KAAKJ,GAAWP,EAAkB/C,EAAGqD,QAAzG,CALe,CAMjB,CAEA,SAASN,EAAkBrB,EAAKiC,IACnB,MAAPA,GAAeA,EAAMjC,EAAIc,UAAQmB,EAAMjC,EAAIc,QAE/C,IAAK,IAAIb,EAAI,EAAGiC,EAAO,IAAIhC,MAAM+B,GAAMhC,EAAIgC,EAAKhC,IAAKiC,EAAKjC,GAAKD,EAAIC,GAEnE,OAAOiC,CACT,CAmEA,IAAIC,EAAU3D,OAAO2D,QACjB1D,EAAiBD,OAAOC,eACxB2D,EAAW5D,OAAO4D,SAClBC,EAAiB7D,OAAO6D,eACxBC,EAA2B9D,OAAO8D,yBAClCC,EAAS/D,OAAO+D,OAChBC,EAAOhE,OAAOgE,KACdC,EAASjE,OAAOiE,OAEhBC,EAA0B,oBAAZ3D,SAA2BA,QACzCW,EAAQgD,EAAKhD,MACbV,EAAY0D,EAAK1D,UAEhBU,IACHA,EAAQ,SAAeiD,EAAKC,EAAW/D,GACrC,OAAO8D,EAAIjD,MAAMkD,EAAW/D,EAChC,GAGK0D,IACHA,EAAS,SAAgBM,GACvB,OAAOA,CACX,GAGKL,IACHA,EAAO,SAAcK,GACnB,OAAOA,CACX,GAGK7D,IACHA,EAAY,SAAmB8D,EAAMjE,GACnC,OAAOF,EAAWmE,EAAM1B,EAAmBvC,GAC/C,GAGA,IAoBqBkE,EApBjBC,EAAeC,GAAQ/C,MAAM9B,UAAU8E,SACvCC,EAAWF,GAAQ/C,MAAM9B,UAAUgF,KACnCC,EAAYJ,GAAQ/C,MAAM9B,UAAUqB,MACpC6D,EAAoBL,GAAQM,OAAOnF,UAAUoF,aAC7CC,EAAiBR,GAAQM,OAAOnF,UAAUyD,UAC1C6B,EAAcT,GAAQM,OAAOnF,UAAUuF,OACvCC,EAAgBX,GAAQM,OAAOnF,UAAUyF,SACzCC,EAAgBb,GAAQM,OAAOnF,UAAU2F,SACzCC,GAAaf,GAAQM,OAAOnF,UAAU6F,MACtCC,GAAajB,GAAQkB,OAAO/F,UAAU4D,MACtCoC,IAUiBrB,EAVa7B,UAWzB,WACL,IAAK,IAAImD,EAAQvE,UAAUgB,OAAQjC,EAAO,IAAIqB,MAAMmE,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFzF,EAAKyF,GAASxE,UAAUwE,GAG1B,OAAOtF,EAAU+D,EAAMlE,EAC3B,GAhBA,SAASoE,GAAQF,GACf,OAAO,SAAUwB,GACf,IAAK,IAAIC,EAAO1E,UAAUgB,OAAQjC,EAAO,IAAIqB,MAAMsE,EAAO,EAAIA,EAAO,EAAI,GAAIC,EAAO,EAAGA,EAAOD,EAAMC,IAClG5F,EAAK4F,EAAO,GAAK3E,UAAU2E,GAG7B,OAAO/E,EAAMqD,EAAMwB,EAAS1F,EAChC,CACA,CAYA,SAAS6F,GAASC,EAAKC,EAAOC,GAC5BA,EAAoBA,GAAwCvB,EAExD7E,GAIFA,EAAekG,EAAK,MAKtB,IAFA,IAAIG,EAAIF,EAAM9D,OAEPgE,KAAK,CACV,IAAIC,EAAUH,EAAME,GAEpB,GAAuB,iBAAZC,EAAsB,CAC/B,IAAIC,EAAYH,EAAkBE,GAE9BC,IAAcD,IAEX3C,EAASwC,KACZA,EAAME,GAAKE,GAGbD,EAAUC,EAEb,CAEDL,EAAII,IAAW,CAChB,CAED,OAAOJ,CACT,CAGA,SAASM,GAAMC,GACb,IAGIC,EAHAC,EAAY3C,EAAO,MAEnB4C,EAnKN,SAAoC/G,EAAGgH,GACrC,IAAIC,EAAuB,oBAAXtH,QAA0BK,EAAEL,OAAOC,WAAaI,EAAE,cAElE,IAAKiH,EAAI,CACP,GAAIrF,MAAMC,QAAQ7B,KAAOiH,EAAKtE,EAA4B3C,KAAOgH,GAAkBhH,GAAyB,iBAAbA,EAAEwC,OAAqB,CAChHyE,IAAIjH,EAAIiH,GACZ,IAAItF,EAAI,EAEJuF,EAAI,aAER,MAAO,CACLC,EAAGD,EACH5D,EAAG,WACD,OAAI3B,GAAK3B,EAAEwC,OAAe,CACxBF,MAAM,GAED,CACLA,MAAM,EACNC,MAAOvC,EAAE2B,KAEZ,EACDX,EAAG,SAAUA,GACX,MAAMA,CACP,EACDoG,EAAGF,EAEN,CAED,MAAM,IAAItE,UAAU,wIACrB,CAED,IAEIH,EAFA4E,GAAmB,EACnBC,GAAS,EAEb,MAAO,CACLH,EAAG,WACDF,EAAKA,EAAGlG,KAAKf,EACd,EACDsD,EAAG,WACD,IAAIiE,EAAON,EAAG5E,OAEd,OADAgF,EAAmBE,EAAKjF,KACjBiF,CACR,EACDvG,EAAG,SAAUA,GACXsG,GAAS,EACT7E,EAAMzB,CACP,EACDoG,EAAG,WACD,IACOC,GAAiC,MAAbJ,EAAGO,QAAgBP,EAAGO,QACvD,CAAgB,QACR,GAAIF,EAAQ,MAAM7E,CACnB,CACF,EAEL,CA4GkBgF,CAA2B5D,EAAQ+C,IAGnD,IACE,IAAKG,EAAUI,MAAON,EAAQE,EAAUzD,KAAKhB,MAAO,CAClD,IAAIoF,EAAcjG,EAAeoF,EAAMtE,MAAO,GAC1CoF,EAAWD,EAAY,GACvBnF,EAAQmF,EAAY,GAExBZ,EAAUa,GAAYpF,CACvB,CACF,CAAC,MAAOE,GACPsE,EAAU/F,EAAEyB,EAChB,CAAY,QACRsE,EAAUK,GACX,CAED,OAAON,CACT,CAIA,SAASc,GAAahB,EAAQiB,GAC5B,KAAkB,OAAXjB,GAAiB,CACtB,IAAIkB,EAAO9D,EAAyB4C,EAAQiB,GAE5C,GAAIC,EAAM,CACR,GAAIA,EAAKC,IACP,OAAOpD,GAAQmD,EAAKC,KAGtB,GAA0B,mBAAfD,EAAKvF,MACd,OAAOoC,GAAQmD,EAAKvF,MAEvB,CAEDqE,EAAS7C,EAAe6C,EACzB,CAOD,OALA,SAAuBH,GAErB,OADAuB,QAAQC,KAAK,qBAAsBxB,GAC5B,IACR,CAGH,CAEA,IAAIyB,GAASjE,EAAO,CAAC,IAAK,OAAQ,UAAW,UAAW,OAAQ,UAAW,QAAS,QAAS,IAAK,MAAO,MAAO,MAAO,QAAS,aAAc,OAAQ,KAAM,SAAU,SAAU,UAAW,SAAU,OAAQ,OAAQ,MAAO,WAAY,UAAW,OAAQ,WAAY,KAAM,YAAa,MAAO,UAAW,MAAO,SAAU,MAAO,MAAO,KAAM,KAAM,UAAW,KAAM,WAAY,aAAc,SAAU,OAAQ,SAAU,OAAQ,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,OAAQ,SAAU,SAAU,KAAM,OAAQ,IAAK,MAAO,QAAS,MAAO,MAAO,QAAS,SAAU,KAAM,OAAQ,MAAO,OAAQ,UAAW,OAAQ,WAAY,QAAS,MAAO,OAAQ,KAAM,WAAY,SAAU,SAAU,IAAK,UAAW,MAAO,WAAY,IAAK,KAAM,KAAM,OAAQ,IAAK,OAAQ,UAAW,SAAU,SAAU,QAAS,SAAU,SAAU,OAAQ,SAAU,SAAU,QAAS,MAAO,UAAW,MAAO,QAAS,QAAS,KAAM,WAAY,WAAY,QAAS,KAAM,QAAS,OAAQ,KAAM,QAAS,KAAM,IAAK,KAAM,MAAO,QAAS,QAEn+BkE,GAAQlE,EAAO,CAAC,MAAO,IAAK,WAAY,cAAe,eAAgB,eAAgB,gBAAiB,mBAAoB,SAAU,WAAY,OAAQ,OAAQ,UAAW,SAAU,OAAQ,IAAK,QAAS,WAAY,QAAS,QAAS,OAAQ,iBAAkB,SAAU,OAAQ,WAAY,QAAS,OAAQ,UAAW,UAAW,WAAY,iBAAkB,OAAQ,OAAQ,QAAS,SAAU,SAAU,OAAQ,WAAY,QAAS,OAAQ,QAAS,OAAQ,UAC3cmE,GAAanE,EAAO,CAAC,UAAW,gBAAiB,sBAAuB,cAAe,mBAAoB,oBAAqB,oBAAqB,iBAAkB,UAAW,UAAW,UAAW,UAAW,UAAW,iBAAkB,UAAW,UAAW,cAAe,eAAgB,WAAY,eAAgB,qBAAsB,cAAe,SAAU,iBAKhXoE,GAAgBpE,EAAO,CAAC,UAAW,gBAAiB,SAAU,UAAW,eAAgB,YAAa,mBAAoB,iBAAkB,gBAAiB,gBAAiB,gBAAiB,QAAS,YAAa,OAAQ,eAAgB,YAAa,UAAW,gBAAiB,SAAU,MAAO,aAAc,UAAW,QAChUqE,GAAWrE,EAAO,CAAC,OAAQ,WAAY,SAAU,UAAW,QAAS,SAAU,KAAM,aAAc,gBAAiB,KAAM,KAAM,QAAS,UAAW,WAAY,QAAS,OAAQ,KAAM,SAAU,QAAS,SAAU,OAAQ,OAAQ,UAAW,SAAU,MAAO,QAAS,MAAO,SAAU,eAG1RsE,GAAmBtE,EAAO,CAAC,UAAW,cAAe,aAAc,WAAY,YAAa,UAAW,UAAW,SAAU,SAAU,QAAS,YAAa,aAAc,iBAAkB,cAAe,SAC3MuE,GAAOvE,EAAO,CAAC,UAEfwE,GAAOxE,EAAO,CAAC,SAAU,SAAU,QAAS,MAAO,iBAAkB,eAAgB,uBAAwB,WAAY,aAAc,UAAW,SAAU,UAAW,cAAe,cAAe,UAAW,OAAQ,QAAS,QAAS,QAAS,OAAQ,UAAW,WAAY,eAAgB,SAAU,cAAe,WAAY,WAAY,UAAW,MAAO,WAAY,0BAA2B,wBAAyB,WAAY,YAAa,UAAW,eAAgB,OAAQ,MAAO,UAAW,SAAU,SAAU,OAAQ,OAAQ,WAAY,KAAM,YAAa,YAAa,QAAS,OAAQ,QAAS,OAAQ,OAAQ,UAAW,OAAQ,MAAO,MAAO,YAAa,QAAS,SAAU,MAAO,YAAa,WAAY,QAAS,OAAQ,QAAS,UAAW,aAAc,SAAU,OAAQ,UAAW,UAAW,cAAe,cAAe,SAAU,UAAW,UAAW,aAAc,WAAY,MAAO,WAAY,MAAO,WAAY,OAAQ,OAAQ,UAAW,aAAc,QAAS,WAAY,QAAS,OAAQ,QAAS,OAAQ,UAAW,QAAS,MAAO,SAAU,OAAQ,QAAS,UAAW,WAAY,QAAS,YAAa,OAAQ,SAAU,SAAU,QAAS,QAAS,QAAS,SACjqCyE,GAAMzE,EAAO,CAAC,gBAAiB,aAAc,WAAY,qBAAsB,SAAU,gBAAiB,gBAAiB,UAAW,gBAAiB,iBAAkB,QAAS,OAAQ,KAAM,QAAS,OAAQ,gBAAiB,YAAa,YAAa,QAAS,sBAAuB,8BAA+B,gBAAiB,kBAAmB,KAAM,KAAM,IAAK,KAAM,KAAM,kBAAmB,YAAa,UAAW,UAAW,MAAO,WAAY,YAAa,MAAO,OAAQ,eAAgB,YAAa,SAAU,cAAe,cAAe,gBAAiB,cAAe,YAAa,mBAAoB,eAAgB,aAAc,eAAgB,cAAe,KAAM,KAAM,KAAM,KAAM,aAAc,WAAY,gBAAiB,oBAAqB,SAAU,OAAQ,KAAM,kBAAmB,KAAM,MAAO,IAAK,KAAM,KAAM,KAAM,KAAM,UAAW,YAAa,aAAc,WAAY,OAAQ,eAAgB,iBAAkB,eAAgB,mBAAoB,iBAAkB,QAAS,aAAc,aAAc,eAAgB,eAAgB,cAAe,cAAe,mBAAoB,YAAa,MAAO,OAAQ,QAAS,SAAU,OAAQ,MAAO,OAAQ,aAAc,SAAU,WAAY,UAAW,QAAS,SAAU,cAAe,SAAU,WAAY,cAAe,OAAQ,aAAc,sBAAuB,mBAAoB,eAAgB,SAAU,gBAAiB,sBAAuB,iBAAkB,IAAK,KAAM,KAAM,SAAU,OAAQ,OAAQ,cAAe,YAAa,UAAW,SAAU,SAAU,QAAS,OAAQ,kBAAmB,mBAAoB,mBAAoB,eAAgB,cAAe,eAAgB,cAAe,aAAc,eAAgB,mBAAoB,oBAAqB,iBAAkB,kBAAmB,oBAAqB,iBAAkB,SAAU,eAAgB,QAAS,eAAgB,iBAAkB,WAAY,UAAW,UAAW,YAAa,mBAAoB,cAAe,kBAAmB,iBAAkB,aAAc,OAAQ,KAAM,KAAM,UAAW,SAAU,UAAW,aAAc,UAAW,aAAc,gBAAiB,gBAAiB,QAAS,eAAgB,OAAQ,eAAgB,mBAAoB,mBAAoB,IAAK,KAAM,KAAM,QAAS,IAAK,KAAM,KAAM,IAAK,eAC9vE0E,GAAS1E,EAAO,CAAC,SAAU,cAAe,QAAS,WAAY,QAAS,eAAgB,cAAe,aAAc,aAAc,QAAS,MAAO,UAAW,eAAgB,WAAY,QAAS,QAAS,SAAU,OAAQ,KAAM,UAAW,SAAU,gBAAiB,SAAU,SAAU,iBAAkB,YAAa,WAAY,cAAe,UAAW,UAAW,gBAAiB,WAAY,WAAY,OAAQ,WAAY,WAAY,aAAc,UAAW,SAAU,SAAU,cAAe,gBAAiB,uBAAwB,YAAa,YAAa,aAAc,WAAY,iBAAkB,iBAAkB,YAAa,UAAW,QAAS,UACrpB2E,GAAM3E,EAAO,CAAC,aAAc,SAAU,cAAe,YAAa,gBAElE4E,GAAgB3E,EAAK,6BAErB4E,GAAW5E,EAAK,yBAChB6E,GAAc7E,EAAK,iBACnB8E,GAAY9E,EAAK,8BAEjB+E,GAAY/E,EAAK,kBAEjBgF,GAAiBhF,EAAK,yFAEtBiF,GAAoBjF,EAAK,yBACzBkF,GAAkBlF,EAAK,+DAEvBmF,GAAenF,EAAK,WAEpBoF,GAAY,WACd,MAAyB,oBAAXC,OAAyB,KAAOA,MAChD,EAWIC,GAA4B,SAAmCC,EAAcC,GAC/E,GAA8B,WAA1BjK,EAAQgK,IAAmE,mBAA9BA,EAAaE,aAC5D,OAAO,KAMT,IAAIC,EAAS,KACTC,EAAY,wBAEZH,EAASI,eAAiBJ,EAASI,cAAcC,aAAaF,KAChED,EAASF,EAASI,cAAcE,aAAaH,IAG/C,IAAII,EAAa,aAAeL,EAAS,IAAMA,EAAS,IAExD,IACE,OAAOH,EAAaE,aAAaM,EAAY,CAC3CC,WAAY,SAAoBzB,GAC9B,OAAOA,CACR,EACD0B,gBAAiB,SAAyBC,GACxC,OAAOA,CACR,GAEJ,CAAC,MAAOC,GAKP,OADArC,QAAQC,KAAK,uBAAyBgC,EAAa,0BAC5C,IACR,CACH,EA2zCA,IAAIK,GAzzCJ,SAASC,IACP,IAAIhB,EAAS/H,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK8H,KAE7EmB,EAAY,SAAmBC,GACjC,OAAOH,EAAgBG,EAC3B,EAeE,GARAD,EAAUE,QAAU,QAMpBF,EAAUG,QAAU,IAEfrB,IAAWA,EAAOG,UAAyC,IAA7BH,EAAOG,SAASmB,SAIjD,OADAJ,EAAUK,aAAc,EACjBL,EAGT,IAAIM,EAAmBxB,EAAOG,SAC1BA,EAAWH,EAAOG,SAClBsB,EAAmBzB,EAAOyB,iBAC1BC,EAAsB1B,EAAO0B,oBAC7BC,EAAO3B,EAAO2B,KACdC,EAAU5B,EAAO4B,QACjBC,EAAa7B,EAAO6B,WACpBC,EAAuB9B,EAAO+B,aAC9BA,OAAwC,IAAzBD,EAAkC9B,EAAO+B,cAAgB/B,EAAOgC,gBAAkBF,EACjGG,EAAkBjC,EAAOiC,gBACzBC,EAAYlC,EAAOkC,UACnBhC,EAAeF,EAAOE,aACtBiC,EAAmBP,EAAQrL,UAC3B6L,EAAY/D,GAAa8D,EAAkB,aAC3CE,EAAiBhE,GAAa8D,EAAkB,eAChDG,EAAgBjE,GAAa8D,EAAkB,cAC/CI,EAAgBlE,GAAa8D,EAAkB,cAOnD,GAAmC,mBAAxBT,EAAoC,CAC7C,IAAIc,EAAWrC,EAASsC,cAAc,YAElCD,EAASE,SAAWF,EAASE,QAAQC,gBACvCxC,EAAWqC,EAASE,QAAQC,cAE/B,CAED,IAAIC,EAAqB3C,GAA0BC,EAAcsB,GAE7DqB,EAAYD,EAAqBA,EAAmBjC,WAAW,IAAM,GACrEmC,EAAY3C,EACZ4C,EAAiBD,EAAUC,eAC3BC,EAAqBF,EAAUE,mBAC/BC,EAAyBH,EAAUG,uBACnCC,EAAuBJ,EAAUI,qBACjCC,EAAa3B,EAAiB2B,WAC9BC,EAAQ,CAAA,EAKZlC,EAAUK,YAAiC,mBAAZjH,GAAmD,mBAAlBiI,GAAgCQ,QAA+D,IAAtCA,EAAeM,mBACxI,IAwJIC,EAGAtG,EA3JAuG,EAAkBjE,GAClBkE,EAAajE,GACbkE,EAAgBjE,GAChBkE,EAAcjE,GACdkE,EAAcjE,GACdkE,EAAsBhE,GACtBiE,EAAoBhE,GACpBiE,EAAmBnE,GAQnBoE,EAAe,KACfC,EAAuBnH,GAAS,GAAI,GAAGoH,OAAO1K,EAAmBoF,IAASpF,EAAmBqF,IAAQrF,EAAmBsF,IAAatF,EAAmBwF,IAAWxF,EAAmB0F,MAGtLiF,GAAe,KACfC,GAAuBtH,GAAS,CAAE,EAAE,GAAGoH,OAAO1K,EAAmB2F,IAAO3F,EAAmB4F,IAAM5F,EAAmB6F,IAAS7F,EAAmB8F,MAQhJ+E,GAA0BzN,OAAOgE,KAAKhE,OAAOiE,OAAO,KAAM,CAC5DyJ,aAAc,CACZC,UAAU,EACVC,cAAc,EACdC,YAAY,EACZxL,MAAO,MAETyL,mBAAoB,CAClBH,UAAU,EACVC,cAAc,EACdC,YAAY,EACZxL,MAAO,MAET0L,+BAAgC,CAC9BJ,UAAU,EACVC,cAAc,EACdC,YAAY,EACZxL,OAAO,MAKP2L,GAAc,KAGdC,GAAc,KAGdC,IAAkB,EAGlBC,IAAkB,EAGlBC,IAA0B,EAI1BC,IAA2B,EAK3BC,IAAqB,EAGrBC,IAAiB,EAGjBC,IAAa,EAIbC,IAAa,EAMbC,IAAa,EAIbC,IAAsB,EAItBC,IAAsB,EAKtBC,IAAe,EAefC,IAAuB,EAIvBC,IAAe,EAIfC,IAAW,EAGXC,GAAe,CAAA,EAGfC,GAAkB,KAClBC,GAA0BjJ,GAAS,CAAE,EAAE,CAAC,iBAAkB,QAAS,WAAY,OAAQ,gBAAiB,OAAQ,SAAU,OAAQ,KAAM,KAAM,KAAM,KAAM,QAAS,UAAW,WAAY,WAAY,YAAa,SAAU,QAAS,MAAO,WAAY,QAAS,QAAS,QAAS,QAGpRkJ,GAAgB,KAChBC,GAAwBnJ,GAAS,CAAE,EAAE,CAAC,QAAS,QAAS,MAAO,SAAU,QAAS,UAGlFoJ,GAAsB,KACtBC,GAA8BrJ,GAAS,GAAI,CAAC,MAAO,QAAS,MAAO,KAAM,QAAS,OAAQ,UAAW,cAAe,OAAQ,UAAW,QAAS,QAAS,QAAS,UAClKsJ,GAAmB,qCACnBC,GAAgB,6BAChBC,GAAiB,+BAGjBC,GAAYD,GACZE,IAAiB,EAGjBC,GAAqB,KACrBC,GAA6B5J,GAAS,GAAI,CAACsJ,GAAkBC,GAAeC,IAAiBzK,GAI7F8K,GAA+B,CAAC,wBAAyB,aAKzDC,GAAS,KAKTC,GAAczG,EAASsC,cAAc,QAErCoE,GAAoB,SAA2BC,GACjD,OAAOA,aAAqBxK,QAAUwK,aAAqB/O,QAC/D,EASMgP,GAAe,SAAsBC,GACnCL,IAAUA,KAAWK,IAMpBA,GAAwB,WAAjB9Q,EAAQ8Q,KAClBA,EAAM,CAAA,GAKRA,EAAM5J,GAAM4J,GACZ1D,EACqEA,GAAJ,IAAjEoD,GAA6BxK,QAAQ8K,EAAI1D,mBArCX,YAqC2G0D,EAAI1D,kBAE7ItG,EAA0C,0BAAtBsG,EAAgD1H,EAAiBH,EAGrFsI,EAAe,iBAAkBiD,EAAMnK,GAAS,CAAA,EAAImK,EAAIjD,aAAc/G,GAAqBgH,EAC3FE,GAAe,iBAAkB8C,EAAMnK,GAAS,CAAA,EAAImK,EAAI9C,aAAclH,GAAqBmH,GAC3FqC,GAAqB,uBAAwBQ,EAAMnK,GAAS,CAAA,EAAImK,EAAIR,mBAAoB5K,GAAkB6K,GAC1GR,GAAsB,sBAAuBe,EAAMnK,GAASO,GAAM8I,IAClEc,EAAIC,kBACJjK,GAEEkJ,GACFH,GAAgB,sBAAuBiB,EAAMnK,GAASO,GAAM4I,IAC5DgB,EAAIE,kBACJlK,GAEEgJ,GACFH,GAAkB,oBAAqBmB,EAAMnK,GAAS,CAAA,EAAImK,EAAInB,gBAAiB7I,GAAqB8I,GACpGnB,GAAc,gBAAiBqC,EAAMnK,GAAS,CAAA,EAAImK,EAAIrC,YAAa3H,GAAqB,GACxF4H,GAAc,gBAAiBoC,EAAMnK,GAAS,CAAA,EAAImK,EAAIpC,YAAa5H,GAAqB,GACxF4I,GAAe,iBAAkBoB,GAAMA,EAAIpB,aAC3Cf,IAA0C,IAAxBmC,EAAInC,gBAEtBC,IAA0C,IAAxBkC,EAAIlC,gBAEtBC,GAA0BiC,EAAIjC,0BAA2B,EAEzDC,IAA4D,IAAjCgC,EAAIhC,yBAE/BC,GAAqB+B,EAAI/B,qBAAsB,EAE/CC,GAAiB8B,EAAI9B,iBAAkB,EAEvCG,GAAa2B,EAAI3B,aAAc,EAE/BC,GAAsB0B,EAAI1B,sBAAuB,EAEjDC,GAAsByB,EAAIzB,sBAAuB,EAEjDH,GAAa4B,EAAI5B,aAAc,EAE/BI,IAAoC,IAArBwB,EAAIxB,aAEnBC,GAAuBuB,EAAIvB,uBAAwB,EAEnDC,IAAoC,IAArBsB,EAAItB,aAEnBC,GAAWqB,EAAIrB,WAAY,EAE3B7B,EAAmBkD,EAAIG,oBAAsBrD,EAC7CwC,GAAYU,EAAIV,WAAaD,GAC7BjC,GAA0B4C,EAAI5C,yBAA2B,GAErD4C,EAAI5C,yBAA2ByC,GAAkBG,EAAI5C,wBAAwBC,gBAC/ED,GAAwBC,aAAe2C,EAAI5C,wBAAwBC,cAGjE2C,EAAI5C,yBAA2ByC,GAAkBG,EAAI5C,wBAAwBK,sBAC/EL,GAAwBK,mBAAqBuC,EAAI5C,wBAAwBK,oBAGvEuC,EAAI5C,yBAAiG,kBAA/D4C,EAAI5C,wBAAwBM,iCACpEN,GAAwBM,+BAAiCsC,EAAI5C,wBAAwBM,gCAGnFO,KACFH,IAAkB,GAGhBQ,KACFD,IAAa,GAKXO,KACF7B,EAAelH,GAAS,CAAA,EAAItD,EAAmB0F,KAC/CiF,GAAe,IAEW,IAAtB0B,GAAa1G,OACfrC,GAASkH,EAAcpF,IACvB9B,GAASqH,GAAchF,MAGA,IAArB0G,GAAazG,MACftC,GAASkH,EAAcnF,IACvB/B,GAASqH,GAAc/E,IACvBtC,GAASqH,GAAc7E,MAGO,IAA5BuG,GAAa/G,aACfhC,GAASkH,EAAclF,IACvBhC,GAASqH,GAAc/E,IACvBtC,GAASqH,GAAc7E,MAGG,IAAxBuG,GAAaxG,SACfvC,GAASkH,EAAchF,IACvBlC,GAASqH,GAAc9E,IACvBvC,GAASqH,GAAc7E,MAMvB2H,EAAII,WACFrD,IAAiBC,IACnBD,EAAe3G,GAAM2G,IAGvBlH,GAASkH,EAAciD,EAAII,SAAUpK,IAGnCgK,EAAIK,WACFnD,KAAiBC,KACnBD,GAAe9G,GAAM8G,KAGvBrH,GAASqH,GAAc8C,EAAIK,SAAUrK,IAGnCgK,EAAIC,mBACNpK,GAASoJ,GAAqBe,EAAIC,kBAAmBjK,GAGnDgK,EAAInB,kBACFA,KAAoBC,KACtBD,GAAkBzI,GAAMyI,KAG1BhJ,GAASgJ,GAAiBmB,EAAInB,gBAAiB7I,IAK7C0I,KACF3B,EAAa,UAAW,GAKtBmB,IACFrI,GAASkH,EAAc,CAAC,OAAQ,OAAQ,SAKtCA,EAAauD,QACfzK,GAASkH,EAAc,CAAC,iBACjBY,GAAY4C,OAKjB7M,GACFA,EAAOsM,GAGTL,GAASK,EACb,EAEMQ,GAAiC3K,GAAS,CAAA,EAAI,CAAC,KAAM,KAAM,KAAM,KAAM,UACvE4K,GAA0B5K,GAAS,GAAI,CAAC,gBAAiB,OAAQ,QAAS,mBAK1E6K,GAA+B7K,GAAS,CAAA,EAAI,CAAC,QAAS,QAAS,OAAQ,IAAK,WAK5E8K,GAAe9K,GAAS,CAAE,EAAE+B,IAChC/B,GAAS8K,GAAc9I,IACvBhC,GAAS8K,GAAc7I,IACvB,IAAI8I,GAAkB/K,GAAS,CAAE,EAAEkC,IACnClC,GAAS+K,GAAiB5I,IAU1B,IA4FI6I,GAAe,SAAsBC,GACvCtM,EAAU0F,EAAUG,QAAS,CAC3BnE,QAAS4K,IAGX,IAEEA,EAAKC,WAAWC,YAAYF,EAC7B,CAAC,MAAOhH,GACPgH,EAAKG,QACN,CACL,EASMC,GAAmB,SAA0BhO,EAAM4N,GACrD,IACEtM,EAAU0F,EAAUG,QAAS,CAC3B8G,UAAWL,EAAKM,iBAAiBlO,GACjCP,KAAMmO,GAET,CAAC,MAAOhH,GACPtF,EAAU0F,EAAUG,QAAS,CAC3B8G,UAAW,KACXxO,KAAMmO,GAET,CAID,GAFAA,EAAKO,gBAAgBnO,GAER,OAATA,IAAkBgK,GAAahK,GACjC,GAAImL,IAAcC,GAChB,IACEuC,GAAaC,EACvB,CAAU,MAAOhH,GAAK,MAEd,IACEgH,EAAKQ,aAAapO,EAAM,GAClC,CAAU,MAAO4G,GAAK,CAGtB,EASMyH,GAAgB,SAAuBC,GAEzC,IAAIC,EACAC,EAEJ,GAAItD,GACFoD,EAAQ,oBAAsBA,MACzB,CAEL,IAAIG,EAAU9M,EAAY2M,EAAO,eACjCE,EAAoBC,GAAWA,EAAQ,EACxC,CAEyB,0BAAtBrF,GAAiDgD,KAAcD,KAEjEmC,EAAQ,iEAAmEA,EAAQ,kBAGrF,IAAII,EAAehG,EAAqBA,EAAmBjC,WAAW6H,GAASA,EAM/E,GAAIlC,KAAcD,GAChB,IACEoC,GAAM,IAAIvG,GAAY2G,gBAAgBD,EAActF,EAC5D,CAAQ,MAAOxC,GAAK,CAKhB,IAAK2H,IAAQA,EAAIK,gBAAiB,CAChCL,EAAM1F,EAAegG,eAAezC,GAAW,WAAY,MAE3D,IACEmC,EAAIK,gBAAgBE,UAAYzC,GAAiB1D,EAAY+F,CAC9D,CAAC,MAAO9H,GACR,CACF,CAED,IAAImI,EAAOR,EAAIQ,MAAQR,EAAIK,gBAQ3B,OANIN,GAASE,GACXO,EAAKC,aAAa/I,EAASgJ,eAAeT,GAAoBO,EAAKG,WAAW,IAAM,MAKlF9C,KAAcD,GACTnD,EAAqB1L,KAAKiR,EAAKvD,GAAiB,OAAS,QAAQ,GAGnEA,GAAiBuD,EAAIK,gBAAkBG,CAClD,EASMI,GAAkB,SAAyBlI,GAC7C,OAAO6B,EAAmBxL,KAAK2J,EAAKwB,eAAiBxB,EAAMA,EAC3DU,EAAWyH,aAAezH,EAAW0H,aAAe1H,EAAW2H,UAAW,MAAM,EACpF,EAoBMC,GAAU,SAAiBpM,GAC7B,MAAyB,WAAlBnH,EAAQyL,GAAqBtE,aAAkBsE,EAAOtE,GAA8B,WAApBnH,EAAQmH,IAAmD,iBAApBA,EAAOiE,UAAoD,iBAApBjE,EAAOqM,QAChK,EAWMC,GAAe,SAAsBC,EAAYC,EAAaC,GAC3D1G,EAAMwG,IAIXzO,EAAaiI,EAAMwG,IAAa,SAAUG,GACxCA,EAAKvS,KAAK0J,EAAW2I,EAAaC,EAAMnD,GAC9C,GACA,EAaMqD,GAAoB,SAA2BH,GACjD,IAAInH,EA9CmCuH,EAqDvC,GAJAN,GAAa,yBAA0BE,EAAa,OAjDbI,EAqDtBJ,aApDK5H,IAA4C,iBAAjBgI,EAAIP,UAAoD,iBAApBO,EAAIC,aAAuD,mBAApBD,EAAIjC,eAAgCiC,EAAIE,sBAAsBpI,IAAgD,mBAAxBkI,EAAI5B,iBAA8D,mBAArB4B,EAAI3B,cAA2D,iBAArB2B,EAAIG,cAAyD,mBAArBH,EAAIf,cAA4D,mBAAtBe,EAAII,eAuD7X,OAFAxC,GAAagC,IAEN,EAKT,IAAIS,EAAUtN,EAAkB6M,EAAYH,UAU5C,GAPAC,GAAa,sBAAuBE,EAAa,CAC/CS,QAASA,EACTC,YAAaxG,IAKX8F,EAAYQ,kBAAoBZ,GAAQI,EAAYW,sBAAwBf,GAAQI,EAAYnH,WAAa+G,GAAQI,EAAYnH,QAAQ8H,qBAAuBnO,GAAW,UAAWwN,EAAYb,YAAc3M,GAAW,UAAWwN,EAAYK,aAGpP,OAFArC,GAAagC,IAEN,EAKT,IAAK9F,EAAauG,IAAY3F,GAAY2F,GAAU,CAElD,IAAK3F,GAAY2F,IAAYG,GAAwBH,GAAU,CAC7D,GAAIlG,GAAwBC,wBAAwB/H,QAAUD,GAAW+H,GAAwBC,aAAciG,GAAU,OAAO,EAChI,GAAIlG,GAAwBC,wBAAwBtM,UAAYqM,GAAwBC,aAAaiG,GAAU,OAAO,CACvH,CAID,GAAI5E,KAAiBG,GAAgByE,GAAU,CAC7C,IAAIvC,EAAaxF,EAAcsH,IAAgBA,EAAY9B,WACvDqB,EAAa9G,EAAcuH,IAAgBA,EAAYT,WAE3D,GAAIA,GAAcrB,EAGhB,IAFA,IAES3P,EAFQgR,EAAWnQ,OAEF,EAAGb,GAAK,IAAKA,EACrC2P,EAAWmB,aAAa9G,EAAUgH,EAAWhR,IAAI,GAAOiK,EAAewH,GAG5E,CAID,OAFAhC,GAAagC,IAEN,CACR,CAID,OAAIA,aAAuBjI,IA1UF,SAA8B1E,GACvD,IAAIwN,EAASnI,EAAcrF,GAGtBwN,GAAWA,EAAOJ,UACrBI,EAAS,CACPN,aAAc9D,GACdgE,QAAS,aAIb,IAAIA,EAAU7O,EAAkByB,EAAQoN,SACpCK,EAAgBlP,EAAkBiP,EAAOJ,SAE7C,QAAK9D,GAAmBtJ,EAAQkN,gBAI5BlN,EAAQkN,eAAiBhE,GAIvBsE,EAAON,eAAiB/D,GACP,QAAZiE,EAMLI,EAAON,eAAiBjE,GACP,QAAZmE,IAAwC,mBAAlBK,GAAsCnD,GAA+BmD,IAK7FrT,QAAQqQ,GAAa2C,IAG1BpN,EAAQkN,eAAiBjE,GAIvBuE,EAAON,eAAiB/D,GACP,SAAZiE,EAKLI,EAAON,eAAiBhE,GACP,SAAZkE,GAAsB7C,GAAwBkD,GAKhDrT,QAAQsQ,GAAgB0C,IAG7BpN,EAAQkN,eAAiB/D,KAIvBqE,EAAON,eAAiBhE,KAAkBqB,GAAwBkD,OAIlED,EAAON,eAAiBjE,KAAqBqB,GAA+BmD,MAMxE/C,GAAgB0C,KAAa5C,GAA6B4C,KAAa3C,GAAa2C,MAIpE,0BAAtBhH,IAAiDkD,GAAmBtJ,EAAQkN,eASpF,CAsP2CQ,CAAqBf,IAC1DhC,GAAagC,IAEN,GAKQ,aAAZS,GAAsC,YAAZA,IAA0BjO,GAAW,uBAAwBwN,EAAYb,YAQpG/D,IAA+C,IAAzB4E,EAAYvI,WAEpCoB,EAAUmH,EAAYK,YACtBxH,EAAU3G,EAAc2G,EAASa,EAAiB,KAClDb,EAAU3G,EAAc2G,EAASc,EAAY,KAC7Cd,EAAU3G,EAAc2G,EAASe,EAAe,KAE5CoG,EAAYK,cAAgBxH,IAC9BlH,EAAU0F,EAAUG,QAAS,CAC3BnE,QAAS2M,EAAYzH,cAEvByH,EAAYK,YAAcxH,IAM9BiH,GAAa,wBAAyBE,EAAa,OAE5C,IA1BLhC,GAAagC,IAEN,EAyBb,EAYMgB,GAAoB,SAA2BC,EAAOC,EAAQ/R,GAEhE,GAAIwM,KAA4B,OAAXuF,GAA8B,SAAXA,KAAuB/R,KAASmH,GAAYnH,KAAS4N,IAC3F,OAAO,EAQT,GAAI9B,KAAoBF,GAAYmG,IAAW1O,GAAWqH,EAAaqH,SAAgB,GAAIlG,IAAmBxI,GAAWsH,EAAaoH,SAAgB,IAAK7G,GAAa6G,IAAWnG,GAAYmG,IAC7L,KAGAN,GAAwBK,KAAW1G,GAAwBC,wBAAwB/H,QAAUD,GAAW+H,GAAwBC,aAAcyG,IAAU1G,GAAwBC,wBAAwBtM,UAAYqM,GAAwBC,aAAayG,MAAY1G,GAAwBK,8BAA8BnI,QAAUD,GAAW+H,GAAwBK,mBAAoBsG,IAAW3G,GAAwBK,8BAA8B1M,UAAYqM,GAAwBK,mBAAmBsG,KAEze,OAAXA,GAAmB3G,GAAwBM,iCAAmCN,GAAwBC,wBAAwB/H,QAAUD,GAAW+H,GAAwBC,aAAcrL,IAAUoL,GAAwBC,wBAAwBtM,UAAYqM,GAAwBC,aAAarL,KAClS,OAAO,OAIJ,GAAIiN,GAAoB8E,SAAgB,GAAI1O,GAAWyH,EAAkB/H,EAAc/C,EAAO6K,EAAmB,WAAa,GAAgB,QAAXkH,GAA+B,eAAXA,GAAsC,SAAXA,GAAgC,WAAVD,GAAwD,IAAlC7O,EAAcjD,EAAO,WAAkB+M,GAAc+E,IAAe,GAAI/F,KAA4B1I,GAAWuH,EAAqB7H,EAAc/C,EAAO6K,EAAmB,WAAa,GAAK7K,EACja,OAAO,OAGT,OAAO,CACX,EASMyR,GAA0B,SAAiCH,GAC7D,OAAOA,EAAQpO,QAAQ,KAAO,CAClC,EAaM8O,GAAsB,SAA6BnB,GACrD,IAAIoB,EACAjS,EACA+R,EACA9N,EAGJ0M,GAAa,2BAA4BE,EAAa,MAEtD,IAAIM,EAAaN,EAAYM,WAG7B,GAAKA,EAAL,CAIA,IAAIe,EAAY,CACdC,SAAU,GACVC,UAAW,GACXC,UAAU,EACVC,kBAAmBpH,IAKrB,IAHAjH,EAAIkN,EAAWlR,OAGRgE,KAAK,CAEV,IAAIsO,EADJN,EAAOd,EAAWlN,GAEd/C,EAAOqR,EAAMrR,KACbkQ,EAAemB,EAAMnB,aAezB,GAdApR,EAAiB,UAATkB,EAAmB+Q,EAAKjS,MAAQmD,GAAW8O,EAAKjS,OACxD+R,EAAS/N,EAAkB9C,GAG3BgR,EAAUC,SAAWJ,EACrBG,EAAUE,UAAYpS,EACtBkS,EAAUG,UAAW,EACrBH,EAAUM,mBAAgBvK,EAE1B0I,GAAa,wBAAyBE,EAAaqB,GAEnDlS,EAAQkS,EAAUE,WAGdF,EAAUM,gBAMdtD,GAAiBhO,EAAM2P,GAIlBqB,EAAUG,UAMf,GAAKrG,KAA4B3I,GAAW,OAAQrD,GAApD,CAQIiM,KACFjM,EAAQ+C,EAAc/C,EAAOuK,EAAiB,KAC9CvK,EAAQ+C,EAAc/C,EAAOwK,EAAY,KACzCxK,EAAQ+C,EAAc/C,EAAOyK,EAAe,MAK9C,IAAIqH,EAAQ9N,EAAkB6M,EAAYH,UAE1C,GAAKmB,GAAkBC,EAAOC,EAAQ/R,GAAtC,CAkBA,IAVIyM,IAAoC,OAAXsF,GAA8B,SAAXA,IAE9C7C,GAAiBhO,EAAM2P,GAGvB7Q,EA9wB4B,gBA8wBUA,GAKpC4J,GAAgD,WAA1B1M,EAAQgK,IAAuE,mBAAlCA,EAAauL,iBAClF,GAAIrB,QACF,OAAQlK,EAAauL,iBAAiBX,EAAOC,IAC3C,IAAK,cACH/R,EAAQ4J,EAAmBjC,WAAW3H,GACtC,MAEF,IAAK,mBACHA,EAAQ4J,EAAmBhC,gBAAgB5H,GAQnD,IACMoR,EACFP,EAAY6B,eAAetB,EAAclQ,EAAMlB,GAG/C6Q,EAAYvB,aAAapO,EAAMlB,GAGjCsC,EAAS4F,EAAUG,QAC3B,CAAQ,MAAOP,GAAK,CAzCb,CAhBA,MAHCoH,GAAiBhO,EAAM2P,EA6D1B,CAIDF,GAAa,0BAA2BE,EAAa,KAhHpD,CAiHL,EAQM8B,GAAqB,SAASA,EAAmBC,GACnD,IAAIC,EAEAC,EAAiBzC,GAAgBuC,GAMrC,IAFAjC,GAAa,0BAA2BiC,EAAU,MAE3CC,EAAaC,EAAeC,YAEjCpC,GAAa,yBAA0BkC,EAAY,MAI/C7B,GAAkB6B,KAMlBA,EAAWnJ,mBAAmBjB,GAChCkK,EAAmBE,EAAWnJ,SAKhCsI,GAAoBa,IAKtBlC,GAAa,yBAA0BiC,EAAU,KACrD,EA8RE,OAnRA1K,EAAU8K,SAAW,SAAUxD,GAC7B,IACIS,EACAgD,EACApC,EACAqC,EAJAlF,EAAM/O,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK,CAAA,EAiB9E,IARAsO,IAAkBiC,KAGhBA,EAAQ,eAKW,iBAAVA,IAAuBiB,GAAQjB,GAAQ,CAEhD,GAA8B,mBAAnBA,EAAMxO,SACf,MAAMuC,GAAgB,8BAItB,GAAqB,iBAFrBiM,EAAQA,EAAMxO,YAGZ,MAAMuC,GAAgB,kCAG3B,CAID,IAAK2E,EAAUK,YACb,OAAOiH,EAkBT,GAbKrD,IACH4B,GAAaC,GAKf9F,EAAUG,QAAU,GAGC,iBAAVmH,IACT7C,IAAW,GAGTA,IAEF,GAAI6C,EAAMkB,SAAU,CAClB,IAAIY,EAAUtN,EAAkBwL,EAAMkB,UAEtC,IAAK3F,EAAauG,IAAY3F,GAAY2F,GACxC,MAAM/N,GAAgB,0DAEzB,OACI,GAAIiM,aAAiB7G,EAMI,KAF9BsK,GADAhD,EAAOV,GAAc,kBACD5F,cAAcQ,WAAWqF,GAAO,IAEnClH,UAA4C,SAA1B2K,EAAavC,UAGX,SAA1BuC,EAAavC,SADtBT,EAAOgD,EAKPhD,EAAKkD,YAAYF,OAEd,CAEL,IAAK5G,KAAeJ,KAAuBC,KACnB,IAAxBsD,EAAMtM,QAAQ,KACZ,OAAO0G,GAAsB2C,GAAsB3C,EAAmBjC,WAAW6H,GAASA,EAQ5F,KAHAS,EAAOV,GAAcC,IAInB,OAAOnD,GAAa,KAAOE,GAAsB1C,EAAY,EAEhE,CAIGoG,GAAQ7D,IACVyC,GAAaoB,EAAKmD,YASpB,IAJA,IAAIC,EAAehD,GAAgB1D,GAAW6C,EAAQS,GAI/CY,EAAcwC,EAAaN,YAE5B/B,GAAkBH,KAMlBA,EAAYnH,mBAAmBjB,GACjCkK,GAAmB9B,EAAYnH,SAKjCsI,GAAoBnB,IAKtB,GAAIlE,GACF,OAAO6C,EAKT,GAAInD,GAAY,CACd,GAAIC,GAGF,IAFA4G,EAAajJ,EAAuBzL,KAAKyR,EAAKtG,eAEvCsG,EAAKmD,YAEVF,EAAWC,YAAYlD,EAAKmD,iBAG9BF,EAAajD,EAcf,OAXI/E,GAAaoI,YAAcpI,GAAaqI,iBAQ1CL,EAAa/I,EAAW3L,KAAKgK,EAAkB0K,GAAY,IAGtDA,CACR,CAED,IAAIM,EAAiBtH,GAAiB+D,EAAKwD,UAAYxD,EAAKD,UAe5D,OAZI9D,IAAkBnB,EAAa,aAAekF,EAAKtG,eAAiBsG,EAAKtG,cAAc+J,SAAWzD,EAAKtG,cAAc+J,QAAQxS,MAAQmC,GAAWyD,GAAcmJ,EAAKtG,cAAc+J,QAAQxS,QAC3LsS,EAAiB,aAAevD,EAAKtG,cAAc+J,QAAQxS,KAAO,MAAQsS,GAKxEvH,KACFuH,EAAiBzQ,EAAcyQ,EAAgBjJ,EAAiB,KAChEiJ,EAAiBzQ,EAAcyQ,EAAgBhJ,EAAY,KAC3DgJ,EAAiBzQ,EAAcyQ,EAAgB/I,EAAe,MAGzDb,GAAsB2C,GAAsB3C,EAAmBjC,WAAW6L,GAAkBA,CACvG,EASEtL,EAAUyL,UAAY,SAAU3F,GAC9BD,GAAaC,GAEb7B,IAAa,CACjB,EAQEjE,EAAU0L,YAAc,WACtBjG,GAAS,KACTxB,IAAa,CACjB,EAaEjE,EAAU2L,iBAAmB,SAAUC,EAAK7B,EAAMjS,GAE3C2N,IACHI,GAAa,CAAE,GAGjB,IAAI+D,EAAQ9N,EAAkB8P,GAC1B/B,EAAS/N,EAAkBiO,GAC/B,OAAOJ,GAAkBC,EAAOC,EAAQ/R,EAC5C,EAUEkI,EAAU6L,QAAU,SAAUnD,EAAYoD,GACZ,mBAAjBA,IAIX5J,EAAMwG,GAAcxG,EAAMwG,IAAe,GACzCpO,EAAU4H,EAAMwG,GAAaoD,GACjC,EAWE9L,EAAU+L,WAAa,SAAUrD,GAC/B,GAAIxG,EAAMwG,GACR,OAAOtO,EAAS8H,EAAMwG,GAE5B,EASE1I,EAAUgM,YAAc,SAAUtD,GAC5BxG,EAAMwG,KACRxG,EAAMwG,GAAc,GAE1B,EAQE1I,EAAUiM,eAAiB,WACzB/J,EAAQ,CAAA,CACZ,EAESlC,CACT,CAEaF,GC5tDE,SAAS9K,GAAQC,GAG9B,OAAOD,GAAU,mBAAqBE,QAAU,iBAAmBA,OAAOC,SAAW,SAAUF,GAC7F,cAAcA,CACf,EAAG,SAAUA,GACZ,OAAOA,GAAO,mBAAqBC,QAAUD,EAAIG,cAAgBF,QAAUD,IAAQC,OAAOG,UAAY,gBAAkBJ,CAC5H,EAAKD,GAAQC,EACb,CCRe,SAASiX,GAAgBtV,EAAUuV,GAChD,KAAMvV,aAAoBuV,GACxB,MAAM,IAAIhU,UAAU,oCAExB,CCFe,SAASiU,GAAeC,GACrC,IAAIC,ECFS,SAAsBC,EAAOC,GAC1C,GAAuB,WAAnBxX,GAAQuX,IAAiC,OAAVA,EAAgB,OAAOA,EAC1D,IAAIE,EAAOF,EAAMrX,OAAOwX,aACxB,QAAa3M,IAAT0M,EAAoB,CACtB,IAAIE,EAAMF,EAAKnW,KAAKiW,EAAOC,GAAQ,WACnC,GAAqB,WAAjBxX,GAAQ2X,GAAmB,OAAOA,EACtC,MAAM,IAAIxU,UAAU,+CACrB,CACD,OAAiB,WAATqU,EAAoBhS,OAASoS,QAAQL,EAC/C,CDPYG,CAAYL,EAAK,UAC3B,MAAwB,WAAjBrX,GAAQsX,GAAoBA,EAAM9R,OAAO8R,EAClD,CEJA,SAASO,GAAkBC,EAAQC,GACjC,IAAK,IAAI7V,EAAI,EAAGA,EAAI6V,EAAMhV,OAAQb,IAAK,CACrC,IAAI8V,EAAaD,EAAM7V,GACvB8V,EAAW1J,WAAa0J,EAAW1J,aAAc,EACjD0J,EAAW3J,cAAe,EACtB,UAAW2J,IAAYA,EAAW5J,UAAW,GACjD3N,OAAOwX,eAAeH,EAAQI,GAAcF,EAAWV,KAAMU,EAC9D,CACH,CACe,SAASG,GAAahB,EAAaiB,EAAYC,GAM5D,OALID,GAAYP,GAAkBV,EAAY9W,UAAW+X,GACrDC,GAAaR,GAAkBV,EAAakB,GAChD5X,OAAOwX,eAAed,EAAa,YAAa,CAC9C/I,UAAU,IAEL+I,CACT,CCjBe,SAASmB,GAAuBC,GAC7C,QAAa,IAATA,EACF,MAAM,IAAIC,eAAe,6DAE3B,OAAOD,CACT,CCLe,SAASjY,GAAgBC,EAAGC,GAKzC,OAJAF,GAAkBG,OAAOC,eAAiBD,OAAOC,eAAeoB,OAAS,SAAyBvB,EAAGC,GAEnG,OADAD,EAAEI,UAAYH,EACPD,CACX,EACSD,GAAgBC,EAAGC,EAC5B,CCLe,SAASiY,GAAUC,EAAUC,GAC1C,GAA0B,mBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAIxV,UAAU,sDAEtBuV,EAASrY,UAAYI,OAAOiE,OAAOiU,GAAcA,EAAWtY,UAAW,CACrED,YAAa,CACX0C,MAAO4V,EACPtK,UAAU,EACVC,cAAc,KAGlB5N,OAAOwX,eAAeS,EAAU,YAAa,CAC3CtK,UAAU,IAERuK,GAAYjY,GAAegY,EAAUC,EAC3C,CCde,SAASC,GAA2BL,EAAMjX,GACvD,GAAIA,IAA2B,WAAlBtB,GAAQsB,IAAsC,mBAATA,GAChD,OAAOA,EACF,QAAa,IAATA,EACT,MAAM,IAAI6B,UAAU,4DAEtB,OAAO0V,GAAsBN,EAC/B,CCTe,SAASO,GAAgBvY,GAItC,OAHAuY,GAAkBrY,OAAOC,eAAiBD,OAAO6D,eAAexC,OAAS,SAAyBvB,GAChG,OAAOA,EAAEI,WAAaF,OAAO6D,eAAe/D,EAChD,EACSuY,GAAgBvY,EACzB,CCJe,SAASwY,GAAgB9Y,EAAKqX,EAAKxU,GAYhD,OAXAwU,EAAMY,GAAcZ,MACTrX,EACTQ,OAAOwX,eAAehY,EAAKqX,EAAK,CAC9BxU,MAAOA,EACPwL,YAAY,EACZD,cAAc,EACdD,UAAU,IAGZnO,EAAIqX,GAAOxU,EAEN7C,CACT,CCde,SAASoC,GAAgBJ,GACtC,GAAIE,MAAMC,QAAQH,GAAM,OAAOA,CACjC,CCFe,SAASyB,GAAiBF,GACvC,GAAsB,oBAAXtD,QAAmD,MAAzBsD,EAAKtD,OAAOC,WAA2C,MAAtBqD,EAAK,cAAuB,OAAOrB,MAAMsB,KAAKD,EACtH,CCFe,SAASF,GAAkBrB,EAAKiC,IAClC,MAAPA,GAAeA,EAAMjC,EAAIc,UAAQmB,EAAMjC,EAAIc,QAC/C,IAAK,IAAIb,EAAI,EAAGiC,EAAO,IAAIhC,MAAM+B,GAAMhC,EAAIgC,EAAKhC,IAAKiC,EAAKjC,GAAKD,EAAIC,GACnE,OAAOiC,CACT,CCHe,SAASjB,GAA4B3C,EAAGqD,GACrD,GAAKrD,EAAL,CACA,GAAiB,iBAANA,EAAgB,OAAOyY,GAAiBzY,EAAGqD,GACtD,IAAIC,EAAIpD,OAAOJ,UAAUyD,SAASxC,KAAKf,GAAGwD,MAAM,GAAI,GAEpD,MADU,WAANF,GAAkBtD,EAAEH,cAAayD,EAAItD,EAAEH,YAAY4D,MAC7C,QAANH,GAAqB,QAANA,EAAoB1B,MAAMsB,KAAKlD,GACxC,cAANsD,GAAqB,2CAA2CI,KAAKJ,GAAWmV,GAAiBzY,EAAGqD,QAAxG,CALe,CAMjB,CCRe,SAASR,KACtB,MAAM,IAAID,UAAU,4IACtB,CCQA,SAAS8V,GAAU9R,EAAQ+R,GAAkB,IAAIC,EAAO1Y,OAAO0Y,KAAKhS,GAAS,GAAI1G,OAAO2Y,sBAAuB,CAAE,IAAIC,EAAU5Y,OAAO2Y,sBAAsBjS,GAAS+R,IAAmBG,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAO9Y,OAAO8D,yBAAyB4C,EAAQoS,GAAKjL,UAAW,KAAM6K,EAAKzX,KAAKC,MAAMwX,EAAME,EAAS,CAAG,OAAOF,CAAO,CACvV,SAASK,GAAgB1B,GAAU,IAAK,IAAI5V,EAAI,EAAGA,EAAIH,UAAUgB,OAAQb,IAAK,CAAE,IAAIuX,EAAS,MAAQ1X,UAAUG,GAAKH,UAAUG,GAAK,CAAE,EAAEA,EAAI,EAAI+W,GAAUxY,OAAOgZ,IAAS,GAAItU,SAAQ,SAAUmS,GAAOyB,GAAgBjB,EAAQR,EAAKmC,EAAOnC,GAAQ,IAAI7W,OAAOiZ,0BAA4BjZ,OAAOkZ,iBAAiB7B,EAAQrX,OAAOiZ,0BAA0BD,IAAWR,GAAUxY,OAAOgZ,IAAStU,SAAQ,SAAUmS,GAAO7W,OAAOwX,eAAeH,EAAQR,EAAK7W,OAAO8D,yBAAyBkV,EAAQnC,GAAM,GAAM,CAAC,OAAOQ,CAAS,CAChgB,IAAI8B,GAAgB,CAClBC,KAAM,SACNC,IAAK,SAAahZ,GAChBiZ,KAAKC,OAAO,MAAOlZ,EACpB,EACD0H,KAAM,SAAc1H,GAClBiZ,KAAKC,OAAO,OAAQlZ,EACrB,EACDmZ,MAAO,SAAenZ,GACpBiZ,KAAKC,OAAO,QAASlZ,EACtB,EACDkZ,OAAQ,SAAgBH,EAAM/Y,GACxByH,SAAWA,QAAQsR,IAAOtR,QAAQsR,GAAMlY,MAAM4G,QAASzH,EAC5D,GA8ECoZ,GAAa,IA5EJ,WACX,SAASC,EAAOC,GACd,IAAIC,EAAUtY,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK,CAAA,EAClFmV,GAAgB6C,KAAMI,GACtBJ,KAAKO,KAAKF,EAAgBC,EAC3B,CAqED,OApEAlC,GAAagC,EAAQ,CAAC,CACpB7C,IAAK,OACLxU,MAAO,SAAcsX,GACnB,IAAIC,EAAUtY,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK,CAAA,EAClFgY,KAAKQ,OAASF,EAAQE,QAAU,WAChCR,KAAKS,OAASJ,GAAkBR,GAChCG,KAAKM,QAAUA,EACfN,KAAKU,MAAQJ,EAAQI,KACtB,GACA,CACDnD,IAAK,WACLxU,MAAO,SAAkB4X,GACvBX,KAAKU,MAAQC,CACd,GACA,CACDpD,IAAK,MACLxU,MAAO,WACL,IAAK,IAAI2D,EAAO1E,UAAUgB,OAAQjC,EAAO,IAAIqB,MAAMsE,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/E5F,EAAK4F,GAAQ3E,UAAU2E,GAEzB,OAAOqT,KAAKY,QAAQ7Z,EAAM,MAAO,IAAI,EACtC,GACA,CACDwW,IAAK,OACLxU,MAAO,WACL,IAAK,IAAIwD,EAAQvE,UAAUgB,OAAQjC,EAAO,IAAIqB,MAAMmE,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFzF,EAAKyF,GAASxE,UAAUwE,GAE1B,OAAOwT,KAAKY,QAAQ7Z,EAAM,OAAQ,IAAI,EACvC,GACA,CACDwW,IAAK,QACLxU,MAAO,WACL,IAAK,IAAI8X,EAAQ7Y,UAAUgB,OAAQjC,EAAO,IAAIqB,MAAMyY,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpF/Z,EAAK+Z,GAAS9Y,UAAU8Y,GAE1B,OAAOd,KAAKY,QAAQ7Z,EAAM,QAAS,GACpC,GACA,CACDwW,IAAK,YACLxU,MAAO,WACL,IAAK,IAAIgY,EAAQ/Y,UAAUgB,OAAQjC,EAAO,IAAIqB,MAAM2Y,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFja,EAAKia,GAAShZ,UAAUgZ,GAE1B,OAAOhB,KAAKY,QAAQ7Z,EAAM,OAAQ,wBAAwB,EAC3D,GACA,CACDwW,IAAK,UACLxU,MAAO,SAAiBhC,EAAMka,EAAKT,EAAQU,GACzC,OAAIA,IAAclB,KAAKU,MAAc,MACd,iBAAZ3Z,EAAK,KAAiBA,EAAK,GAAK,GAAGiN,OAAOwM,GAAQxM,OAAOgM,KAAKQ,OAAQ,KAAKxM,OAAOjN,EAAK,KAC3FiZ,KAAKS,OAAOQ,GAAKla,GACzB,GACA,CACDwW,IAAK,SACLxU,MAAO,SAAgBoY,GACrB,OAAO,IAAIf,EAAOJ,KAAKS,OAAQhB,GAAgBA,GAAgB,GAAI,CACjEe,OAAQ,GAAGxM,OAAOgM,KAAKQ,OAAQ,KAAKxM,OAAOmN,EAAY,OACrDnB,KAAKM,SACV,GACA,CACD/C,IAAK,QACLxU,MAAO,SAAeuX,GAGpB,OAFAA,EAAUA,GAAWN,KAAKM,SAClBE,OAASF,EAAQE,QAAUR,KAAKQ,OACjC,IAAIJ,EAAOJ,KAAKS,OAAQH,EAChC,KAEIF,CACT,CA3Ea,IA8ETgB,GAAe,WACjB,SAASA,IACPjE,GAAgB6C,KAAMoB,GACtBpB,KAAKqB,UAAY,EAClB,CA2CD,OA1CAjD,GAAagD,EAAc,CAAC,CAC1B7D,IAAK,KACLxU,MAAO,SAAYuY,EAAQC,GACzB,IAAIC,EAAQxB,KAKZ,OAJAsB,EAAOG,MAAM,KAAKrW,SAAQ,SAAUsW,GAClCF,EAAMH,UAAUK,GAASF,EAAMH,UAAUK,IAAU,GACnDF,EAAMH,UAAUK,GAAO/Z,KAAK4Z,EACpC,IACavB,IACR,GACA,CACDzC,IAAK,MACLxU,MAAO,SAAa2Y,EAAOH,GACpBvB,KAAKqB,UAAUK,KACfH,EAILvB,KAAKqB,UAAUK,GAAS1B,KAAKqB,UAAUK,GAAOnC,QAAO,SAAUvS,GAC7D,OAAOA,IAAMuU,CACrB,WALevB,KAAKqB,UAAUK,GAMzB,GACA,CACDnE,IAAK,OACLxU,MAAO,SAAc2Y,GACnB,IAAK,IAAIhV,EAAO1E,UAAUgB,OAAQjC,EAAO,IAAIqB,MAAMsE,EAAO,EAAIA,EAAO,EAAI,GAAIC,EAAO,EAAGA,EAAOD,EAAMC,IAClG5F,EAAK4F,EAAO,GAAK3E,UAAU2E,GAEzBqT,KAAKqB,UAAUK,IACJ,GAAG1N,OAAOgM,KAAKqB,UAAUK,IAC/BtW,SAAQ,SAAUuW,GACvBA,EAAS/Z,WAAM,EAAQb,EACjC,IAEUiZ,KAAKqB,UAAU,MACH,GAAGrN,OAAOgM,KAAKqB,UAAU,MAC/BjW,SAAQ,SAAUuW,GACxBA,EAAS/Z,MAAM+Z,EAAU,CAACD,GAAO1N,OAAOjN,GAClD,GAEK,KAEIqa,CACT,CAhDmB,GAkDnB,SAASQ,KACP,IAAIhE,EACAiE,EACAC,EAAU,IAAIC,SAAQ,SAAUC,EAASC,GAC3CrE,EAAMoE,EACNH,EAAMI,CACV,IAGE,OAFAH,EAAQE,QAAUpE,EAClBkE,EAAQG,OAASJ,EACVC,CACT,CACA,SAASI,GAAW9U,GAClB,OAAc,MAAVA,EAAuB,GACpB,GAAKA,CACd,CAMA,SAAS+U,GAAc/U,EAAQgV,EAAMC,GACnC,SAASC,EAAS/E,GAChB,OAAOA,GAAOA,EAAItR,QAAQ,QAAU,EAAIsR,EAAIxR,QAAQ,OAAQ,KAAOwR,CACpE,CACD,SAASgF,IACP,OAAQnV,GAA4B,iBAAXA,CAC1B,CAED,IADA,IAAIoV,EAAwB,iBAATJ,EAAoB,GAAGpO,OAAOoO,GAAQA,EAAKX,MAAM,KAC7De,EAAMxZ,OAAS,GAAG,CACvB,GAAIuZ,IAAwB,MAAO,GACnC,IAAIhF,EAAM+E,EAASE,EAAMC,UACpBrV,EAAOmQ,IAAQ8E,IAAOjV,EAAOmQ,GAAO,IAAI8E,GAE3CjV,EADE1G,OAAOJ,UAAUoc,eAAenb,KAAK6F,EAAQmQ,GACtCnQ,EAAOmQ,GAEP,CAAA,CAEZ,CACD,OAAIgF,IAA+B,GAC5B,CACLrc,IAAKkH,EACLuV,EAAGL,EAASE,EAAMC,SAEtB,CACA,SAASG,GAAQxV,EAAQgV,EAAMS,GAC7B,IAAIC,EAAiBX,GAAc/U,EAAQgV,EAAM1b,QACzCoc,EAAe5c,IACjB4c,EAAeH,GACZE,CACX,CASA,SAASE,GAAQ3V,EAAQgV,GACvB,IAAIY,EAAkBb,GAAc/U,EAAQgV,GAC1Clc,EAAM8c,EAAgB9c,IACtByc,EAAIK,EAAgBL,EACtB,GAAKzc,EACL,OAAOA,EAAIyc,EACb,CACA,SAASM,GAAoBpJ,EAAMqJ,EAAa3F,GAC9C,IAAIxU,EAAQga,GAAQlJ,EAAM0D,GAC1B,YAAcvM,IAAVjI,EACKA,EAEFga,GAAQG,EAAa3F,EAC9B,CACA,SAAS4F,GAAWpF,EAAQ2B,EAAQ0D,GAClC,IAAK,IAAI/U,KAAQqR,EACF,cAATrR,GAAiC,gBAATA,IACtBA,KAAQ0P,EACkB,iBAAjBA,EAAO1P,IAAsB0P,EAAO1P,aAAiB5C,QAAkC,iBAAjBiU,EAAOrR,IAAsBqR,EAAOrR,aAAiB5C,OAChI2X,IAAWrF,EAAO1P,GAAQqR,EAAOrR,IAErC8U,GAAWpF,EAAO1P,GAAOqR,EAAOrR,GAAO+U,GAGzCrF,EAAO1P,GAAQqR,EAAOrR,IAI5B,OAAO0P,CACT,CACA,SAASsF,GAAYC,GACnB,OAAOA,EAAIvX,QAAQ,sCAAuC,OAC5D,CACA,IAAIwX,GAAa,CACf,IAAK,QACL,IAAK,OACL,IAAK,OACL,IAAK,SACL,IAAK,QACL,IAAK,UAEP,SAASC,GAAO3J,GACd,MAAoB,iBAATA,EACFA,EAAK9N,QAAQ,cAAc,SAAU4B,GAC1C,OAAO4V,GAAW5V,EACxB,IAESkM,CACT,CACA,IAAI4J,GAA2B,oBAAX1T,QAA0BA,OAAO2T,gBAAuD,IAAnC3T,OAAO2T,UAAUC,eAAiC5T,OAAO2T,UAAUE,WAAa7T,OAAO2T,UAAUE,UAAU3X,QAAQ,SAAW,EACnM4X,GAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,KAqBjC,SAASC,GAAU1W,EAAQ+R,GAAkB,IAAIC,EAAO1Y,OAAO0Y,KAAKhS,GAAS,GAAI1G,OAAO2Y,sBAAuB,CAAE,IAAIC,EAAU5Y,OAAO2Y,sBAAsBjS,GAAS+R,IAAmBG,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAO9Y,OAAO8D,yBAAyB4C,EAAQoS,GAAKjL,UAAW,KAAM6K,EAAKzX,KAAKC,MAAMwX,EAAME,EAAS,CAAG,OAAOF,CAAO,CACvV,SAAS2E,GAAgBhG,GAAU,IAAK,IAAI5V,EAAI,EAAGA,EAAIH,UAAUgB,OAAQb,IAAK,CAAE,IAAIuX,EAAS,MAAQ1X,UAAUG,GAAKH,UAAUG,GAAK,CAAE,EAAEA,EAAI,EAAI2b,GAAUpd,OAAOgZ,IAAS,GAAItU,SAAQ,SAAUmS,GAAOyB,GAAgBjB,EAAQR,EAAKmC,EAAOnC,GAAQ,IAAI7W,OAAOiZ,0BAA4BjZ,OAAOkZ,iBAAiB7B,EAAQrX,OAAOiZ,0BAA0BD,IAAWoE,GAAUpd,OAAOgZ,IAAStU,SAAQ,SAAUmS,GAAO7W,OAAOwX,eAAeH,EAAQR,EAAK7W,OAAO8D,yBAAyBkV,EAAQnC,GAAM,GAAM,CAAC,OAAOQ,CAAS,CAChgB,SAASiG,GAAeC,GAAW,IAAIC,EACvC,WAAyC,GAAuB,oBAAZjd,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUC,KAAM,OAAO,EAAO,GAAqB,mBAAVC,MAAsB,OAAO,EAAM,IAAsF,OAAhFC,QAAQf,UAAUgB,QAAQC,KAAKN,QAAQC,UAAUG,QAAS,IAAI,WAAc,MAAW,CAAO,CAAC,MAAOG,GAAK,OAAO,EAAU,CADxQ2c,GAA+B,OAAO,WAAkC,IAAsCC,EAAlCC,EAAQtF,GAAgBkF,GAAkB,GAAIC,EAA2B,CAAE,IAAII,EAAYvF,GAAgBiB,MAAM3Z,YAAa+d,EAASnd,QAAQC,UAAUmd,EAAOrc,UAAWsc,QAAqBF,EAASC,EAAMzc,MAAMoY,KAAMhY,WAAc,OAAO6W,GAA2BmB,KAAMoE,EAAQ,CAAK,CAE7a,SAASG,GAASre,EAAKkc,GACrB,IAAIoC,EAAexc,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK,IACvF,GAAK9B,EAAL,CACA,GAAIA,EAAIkc,GAAO,OAAOlc,EAAIkc,GAG1B,IAFA,IAAIqC,EAAQrC,EAAKX,MAAM+C,GACnBE,EAAUxe,EACLiC,EAAI,EAAGA,EAAIsc,EAAMzb,SAAUb,EAAG,CACrC,IAAKuc,EAAS,OACd,GAAiC,iBAAtBA,EAAQD,EAAMtc,KAAoBA,EAAI,EAAIsc,EAAMzb,OACzD,OAEF,QAA0BgI,IAAtB0T,EAAQD,EAAMtc,IAAmB,CAInC,IAHA,IAAIwc,EAAI,EACJle,EAAIge,EAAMza,MAAM7B,EAAGA,EAAIwc,GAAGC,KAAKJ,GAC/BK,EAAMH,EAAQje,QACHuK,IAAR6T,GAAqBJ,EAAMzb,OAASb,EAAIwc,GAC7CA,IAEAE,EAAMH,EADNje,EAAIge,EAAMza,MAAM7B,EAAGA,EAAIwc,GAAGC,KAAKJ,IAGjC,QAAYxT,IAAR6T,EAAmB,OACvB,GAAY,OAARA,EAAc,OAAO,KACzB,GAAIzC,EAAK0C,SAASre,GAAI,CACpB,GAAmB,iBAARoe,EAAkB,OAAOA,EACpC,GAAIpe,GAAuB,iBAAXoe,EAAIpe,GAAiB,OAAOoe,EAAIpe,EACjD,CACD,IAAIse,EAAaN,EAAMza,MAAM7B,EAAIwc,GAAGC,KAAKJ,GACzC,OAAIO,EAAmBR,GAASM,EAAKE,EAAYP,QACjD,CACD,CACDE,EAAUA,EAAQD,EAAMtc,GACzB,CACD,OAAOuc,CA9BmB,CA+B5B,CACA,IAAIM,GAAgB,SAAUC,GAC5BvG,GAAUsG,EAuJV5D,IAtJA,IAAI8D,EAASlB,GAAegB,GAC5B,SAASA,EAAcnL,GACrB,IAAI2H,EACAlB,EAAUtY,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK,CAChFmd,GAAI,CAAC,eACLC,UAAW,eAeb,OAbAjI,GAAgB6C,KAAMgF,GACtBxD,EAAQ0D,EAAO3d,KAAKyY,MAChByD,IACFrC,GAAa7Z,KAAKgX,GAAuBiD,IAE3CA,EAAM3H,KAAOA,GAAQ,GACrB2H,EAAMlB,QAAUA,OACmBtP,IAA/BwQ,EAAMlB,QAAQkE,eAChBhD,EAAMlB,QAAQkE,aAAe,UAEWxT,IAAtCwQ,EAAMlB,QAAQ+E,sBAChB7D,EAAMlB,QAAQ+E,qBAAsB,GAE/B7D,CACR,CAgID,OA/HApD,GAAa4G,EAAe,CAAC,CAC3BzH,IAAK,gBACLxU,MAAO,SAAuBoc,GACxBnF,KAAKM,QAAQ6E,GAAGlZ,QAAQkZ,GAAM,GAChCnF,KAAKM,QAAQ6E,GAAGxd,KAAKwd,EAExB,GACA,CACD5H,IAAK,mBACLxU,MAAO,SAA0Boc,GAC/B,IAAIG,EAAQtF,KAAKM,QAAQ6E,GAAGlZ,QAAQkZ,GAChCG,GAAS,GACXtF,KAAKM,QAAQ6E,GAAGI,OAAOD,EAAO,EAEjC,GACA,CACD/H,IAAK,cACLxU,MAAO,SAAqByc,EAAKL,EAAI5H,GACnC,IAAI+C,EAAUtY,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK,CAAA,EAC9Ewc,OAAwCxT,IAAzBsP,EAAQkE,aAA6BlE,EAAQkE,aAAexE,KAAKM,QAAQkE,aACxFa,OAAsDrU,IAAhCsP,EAAQ+E,oBAAoC/E,EAAQ+E,oBAAsBrF,KAAKM,QAAQ+E,oBAC7GjD,EAAO,CAACoD,EAAKL,GACb5H,GAAsB,iBAARA,IAAkB6E,EAAOA,EAAKpO,OAAOuJ,IACnDA,GAAsB,iBAARA,IAAkB6E,EAAOA,EAAKpO,OAAOwQ,EAAejH,EAAIkE,MAAM+C,GAAgBjH,IAC5FiI,EAAIvZ,QAAQ,MAAQ,IACtBmW,EAAOoD,EAAI/D,MAAM,MAEnB,IAAI2C,EAASrB,GAAQ/C,KAAKnG,KAAMuI,GAChC,OAAIgC,IAAWiB,GAAsC,iBAAR9H,EAAyB6G,EAC/DG,GAASvE,KAAKnG,MAAQmG,KAAKnG,KAAK2L,IAAQxF,KAAKnG,KAAK2L,GAAKL,GAAK5H,EAAKiH,EACzE,GACA,CACDjH,IAAK,cACLxU,MAAO,SAAqByc,EAAKL,EAAI5H,EAAKxU,GACxC,IAAIuX,EAAUtY,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK,CAChFyd,QAAQ,GAENjB,EAAexE,KAAKM,QAAQkE,kBACXxT,IAAjBwT,IAA4BA,EAAe,KAC/C,IAAIpC,EAAO,CAACoD,EAAKL,GACb5H,IAAK6E,EAAOA,EAAKpO,OAAOwQ,EAAejH,EAAIkE,MAAM+C,GAAgBjH,IACjEiI,EAAIvZ,QAAQ,MAAQ,IAEtBlD,EAAQoc,EACRA,GAFA/C,EAAOoD,EAAI/D,MAAM,MAEP,IAEZzB,KAAK0F,cAAcP,GACnBvC,GAAQ5C,KAAKnG,KAAMuI,EAAMrZ,GACpBuX,EAAQmF,QAAQzF,KAAK2F,KAAK,QAASH,EAAKL,EAAI5H,EAAKxU,EACvD,GACA,CACDwU,IAAK,eACLxU,MAAO,SAAsByc,EAAKL,EAAIS,GACpC,IAAItF,EAAUtY,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK,CAChFyd,QAAQ,GAEV,IAAK,IAAII,KAAKD,EACgB,iBAAjBA,EAAUC,IAAqE,mBAAlDnf,OAAOJ,UAAUyD,SAASnC,MAAMge,EAAUC,KAA0B7F,KAAK8F,YAAYN,EAAKL,EAAIU,EAAGD,EAAUC,GAAI,CACrJJ,QAAQ,IAGPnF,EAAQmF,QAAQzF,KAAK2F,KAAK,QAASH,EAAKL,EAAIS,EAClD,GACA,CACDrI,IAAK,oBACLxU,MAAO,SAA2Byc,EAAKL,EAAIS,EAAWG,EAAM3C,GAC1D,IAAI9C,EAAUtY,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK,CAChFyd,QAAQ,GAENrD,EAAO,CAACoD,EAAKL,GACbK,EAAIvZ,QAAQ,MAAQ,IAEtB8Z,EAAOH,EACPA,EAAYT,EACZA,GAHA/C,EAAOoD,EAAI/D,MAAM,MAGP,IAEZzB,KAAK0F,cAAcP,GACnB,IAAIa,EAAOjD,GAAQ/C,KAAKnG,KAAMuI,IAAS,GACnC2D,EACF5C,GAAW6C,EAAMJ,EAAWxC,GAE5B4C,EAAOjC,GAAgBA,GAAgB,CAAE,EAAEiC,GAAOJ,GAEpDhD,GAAQ5C,KAAKnG,KAAMuI,EAAM4D,GACpB1F,EAAQmF,QAAQzF,KAAK2F,KAAK,QAASH,EAAKL,EAAIS,EAClD,GACA,CACDrI,IAAK,uBACLxU,MAAO,SAA8Byc,EAAKL,GACpCnF,KAAKiG,kBAAkBT,EAAKL,WACvBnF,KAAKnG,KAAK2L,GAAKL,GAExBnF,KAAKkG,iBAAiBf,GACtBnF,KAAK2F,KAAK,UAAWH,EAAKL,EAC3B,GACA,CACD5H,IAAK,oBACLxU,MAAO,SAA2Byc,EAAKL,GACrC,YAAqCnU,IAA9BgP,KAAKmG,YAAYX,EAAKL,EAC9B,GACA,CACD5H,IAAK,oBACLxU,MAAO,SAA2Byc,EAAKL,GAErC,OADKA,IAAIA,EAAKnF,KAAKM,QAAQ8E,WACW,OAAlCpF,KAAKM,QAAQ8F,iBAAkCrC,GAAgBA,GAAgB,CAAE,EAAE,CAAE,GAAG/D,KAAKmG,YAAYX,EAAKL,IAC3GnF,KAAKmG,YAAYX,EAAKL,EAC9B,GACA,CACD5H,IAAK,oBACLxU,MAAO,SAA2Byc,GAChC,OAAOxF,KAAKnG,KAAK2L,EAClB,GACA,CACDjI,IAAK,8BACLxU,MAAO,SAAqCyc,GAC1C,IAAI3L,EAAOmG,KAAKqG,kBAAkBb,GAElC,SADQ3L,GAAQnT,OAAO0Y,KAAKvF,IAAS,IAC1ByM,MAAK,SAAUC,GACxB,OAAO1M,EAAK0M,IAAM7f,OAAO0Y,KAAKvF,EAAK0M,IAAIvd,OAAS,CACxD,GACK,GACA,CACDuU,IAAK,SACLxU,MAAO,WACL,OAAOiX,KAAKnG,IACb,KAEImL,CACT,CAxJoB,GA0JhBwB,GAAgB,CAClBC,WAAY,CAAE,EACdC,iBAAkB,SAA0BC,GAC1C3G,KAAKyG,WAAWE,EAAO1c,MAAQ0c,CAChC,EACDC,OAAQ,SAAgBH,EAAY1d,EAAOwU,EAAK+C,EAASuG,GACvD,IAAIrF,EAAQxB,KAIZ,OAHAyG,EAAWrb,SAAQ,SAAU0b,GACvBtF,EAAMiF,WAAWK,KAAY/d,EAAQyY,EAAMiF,WAAWK,GAAWC,QAAQhe,EAAOwU,EAAK+C,EAASuG,GACxG,IACW9d,CACR,GAGH,SAASie,GAAU5Z,EAAQ+R,GAAkB,IAAIC,EAAO1Y,OAAO0Y,KAAKhS,GAAS,GAAI1G,OAAO2Y,sBAAuB,CAAE,IAAIC,EAAU5Y,OAAO2Y,sBAAsBjS,GAAS+R,IAAmBG,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAO9Y,OAAO8D,yBAAyB4C,EAAQoS,GAAKjL,UAAW,KAAM6K,EAAKzX,KAAKC,MAAMwX,EAAME,EAAS,CAAG,OAAOF,CAAO,CACvV,SAAS6H,GAAgBlJ,GAAU,IAAK,IAAI5V,EAAI,EAAGA,EAAIH,UAAUgB,OAAQb,IAAK,CAAE,IAAIuX,EAAS,MAAQ1X,UAAUG,GAAKH,UAAUG,GAAK,CAAE,EAAEA,EAAI,EAAI6e,GAAUtgB,OAAOgZ,IAAS,GAAItU,SAAQ,SAAUmS,GAAOyB,GAAgBjB,EAAQR,EAAKmC,EAAOnC,GAAQ,IAAI7W,OAAOiZ,0BAA4BjZ,OAAOkZ,iBAAiB7B,EAAQrX,OAAOiZ,0BAA0BD,IAAWsH,GAAUtgB,OAAOgZ,IAAStU,SAAQ,SAAUmS,GAAO7W,OAAOwX,eAAeH,EAAQR,EAAK7W,OAAO8D,yBAAyBkV,EAAQnC,GAAM,GAAM,CAAC,OAAOQ,CAAS,CAChgB,SAASmJ,GAAejD,GAAW,IAAIC,EACvC,WAAyC,GAAuB,oBAAZjd,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUC,KAAM,OAAO,EAAO,GAAqB,mBAAVC,MAAsB,OAAO,EAAM,IAAsF,OAAhFC,QAAQf,UAAUgB,QAAQC,KAAKN,QAAQC,UAAUG,QAAS,IAAI,WAAc,MAAW,CAAO,CAAC,MAAOG,GAAK,OAAO,EAAU,CADxQ2f,GAA+B,OAAO,WAAkC,IAAsC/C,EAAlCC,EAAQtF,GAAgBkF,GAAkB,GAAIC,EAA2B,CAAE,IAAII,EAAYvF,GAAgBiB,MAAM3Z,YAAa+d,EAASnd,QAAQC,UAAUmd,EAAOrc,UAAWsc,QAAqBF,EAASC,EAAMzc,MAAMoY,KAAMhY,WAAc,OAAO6W,GAA2BmB,KAAMoE,EAAQ,CAAK,CAE7a,IAAIgD,GAAmB,CAAA,EACnBC,GAAa,SAAUpC,GACzBvG,GAAU2I,EA+WVjG,IA9WA,IAAI8D,EAASgC,GAAeG,GAC5B,SAASA,EAAWC,GAClB,IAAI9F,EACAlB,EAAUtY,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK,CAAA,EAYlF,OAXAmV,GAAgB6C,KAAMqH,GACtB7F,EAAQ0D,EAAO3d,KAAKyY,MAChByD,IACFrC,GAAa7Z,KAAKgX,GAAuBiD,IA9U/C,SAAc9Z,EAAGiG,EAAG4Z,GAClB7f,EAAE0D,SAAQ,SAAUya,GACdlY,EAAEkY,KAAI0B,EAAE1B,GAAKlY,EAAEkY,GACvB,GACA,CA4UI2B,CAAK,CAAC,gBAAiB,gBAAiB,iBAAkB,eAAgB,mBAAoB,aAAc,SAAUF,EAAU/I,GAAuBiD,IACvJA,EAAMlB,QAAUA,OACmBtP,IAA/BwQ,EAAMlB,QAAQkE,eAChBhD,EAAMlB,QAAQkE,aAAe,KAE/BhD,EAAMf,OAASN,GAAWxV,OAAO,cAC1B6W,CACR,CA6VD,OA5VApD,GAAaiJ,EAAY,CAAC,CACxB9J,IAAK,iBACLxU,MAAO,SAAwByc,GACzBA,IAAKxF,KAAKyH,SAAWjC,EAC1B,GACA,CACDjI,IAAK,SACLxU,MAAO,SAAgBwU,GACrB,IAAI+C,EAAUtY,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK,CAChF0f,cAAe,CAAE,GAEnB,GAAInK,QACF,OAAO,EAET,IAAIoK,EAAW3H,KAAKgC,QAAQzE,EAAK+C,GACjC,OAAOqH,QAA6B3W,IAAjB2W,EAAS/J,GAC7B,GACA,CACDL,IAAK,iBACLxU,MAAO,SAAwBwU,EAAK+C,GAClC,IAAIsH,OAAsC5W,IAAxBsP,EAAQsH,YAA4BtH,EAAQsH,YAAc5H,KAAKM,QAAQsH,iBACrE5W,IAAhB4W,IAA2BA,EAAc,KAC7C,IAAIpD,OAAwCxT,IAAzBsP,EAAQkE,aAA6BlE,EAAQkE,aAAexE,KAAKM,QAAQkE,aACxFqD,EAAavH,EAAQ6E,IAAMnF,KAAKM,QAAQ8E,WAAa,GACrD0C,EAAuBF,GAAerK,EAAItR,QAAQ2b,IAAgB,EAClEG,IAAwB/H,KAAKM,QAAQ0H,yBAA4B1H,EAAQkE,cAAiBxE,KAAKM,QAAQ2H,wBAA2B3H,EAAQsH,aAnRpJ,SAA6BrK,EAAKqK,EAAapD,GAC7CoD,EAAcA,GAAe,GAC7BpD,EAAeA,GAAgB,GAC/B,IAAI0D,EAAgBrE,GAAMtE,QAAO,SAAU4I,GACzC,OAAOP,EAAY3b,QAAQkc,GAAK,GAAK3D,EAAavY,QAAQkc,GAAK,CACnE,IACE,GAA6B,IAAzBD,EAAclf,OAAc,OAAO,EACvC,IAAIof,EAAI,IAAI/b,OAAO,IAAI2H,OAAOkU,EAAcG,KAAI,SAAUF,GACxD,MAAa,MAANA,EAAY,MAAQA,CAC5B,IAAEvD,KAAK,KAAM,MACV0D,GAAWF,EAAEle,KAAKqT,GACtB,IAAK+K,EAAS,CACZ,IAAIC,EAAKhL,EAAItR,QAAQuY,GACjB+D,EAAK,IAAMH,EAAEle,KAAKqT,EAAIiL,UAAU,EAAGD,MACrCD,GAAU,EAEb,CACD,OAAOA,CACT,CAiQoKG,CAAoBlL,EAAKqK,EAAapD,IACpM,GAAIsD,IAAyBC,EAAsB,CACjD,IAAIlC,EAAItI,EAAI1R,MAAMmU,KAAK0I,aAAaC,eACpC,GAAI9C,GAAKA,EAAE7c,OAAS,EAClB,MAAO,CACLuU,IAAKA,EACLsK,WAAYA,GAGhB,IAAIe,EAAQrL,EAAIkE,MAAMmG,IAClBA,IAAgBpD,GAAgBoD,IAAgBpD,GAAgBxE,KAAKM,QAAQ6E,GAAGlZ,QAAQ2c,EAAM,KAAO,KAAGf,EAAae,EAAMnG,SAC/HlF,EAAMqL,EAAMhE,KAAKJ,EAClB,CAED,MAD0B,iBAAfqD,IAAyBA,EAAa,CAACA,IAC3C,CACLtK,IAAKA,EACLsK,WAAYA,EAEf,GACA,CACDtK,IAAK,YACLxU,MAAO,SAAmBqW,EAAMkB,EAASuI,GACvC,IAAIC,EAAS9I,KAKb,GAJyB,WAArB/Z,GAAQqa,IAAyBN,KAAKM,QAAQyI,mCAChDzI,EAAUN,KAAKM,QAAQyI,iCAAiC/gB,YAErDsY,IAASA,EAAU,IACpBlB,QAAqC,MAAO,GAC3ChX,MAAMC,QAAQ+W,KAAOA,EAAO,CAAC3T,OAAO2T,KACzC,IAAI4J,OAA0ChY,IAA1BsP,EAAQ0I,cAA8B1I,EAAQ0I,cAAgBhJ,KAAKM,QAAQ0I,cAC3FxE,OAAwCxT,IAAzBsP,EAAQkE,aAA6BlE,EAAQkE,aAAexE,KAAKM,QAAQkE,aACxFyE,EAAuBjJ,KAAKkJ,eAAe9J,EAAKA,EAAKpW,OAAS,GAAIsX,GACpE/C,EAAM0L,EAAqB1L,IAC3BsK,EAAaoB,EAAqBpB,WAChCsB,EAAYtB,EAAWA,EAAW7e,OAAS,GAC3Cwc,EAAMlF,EAAQkF,KAAOxF,KAAKyH,SAC1B2B,EAA0B9I,EAAQ8I,yBAA2BpJ,KAAKM,QAAQ8I,wBAC9E,GAAI5D,GAA6B,WAAtBA,EAAI9Z,cAA4B,CACzC,GAAI0d,EAAyB,CAC3B,IAAIxB,EAActH,EAAQsH,aAAe5H,KAAKM,QAAQsH,YACtD,OAAIoB,EACK,CACLpL,IAAK,GAAG5J,OAAOmV,GAAWnV,OAAO4T,GAAa5T,OAAOuJ,GACrD8L,QAAS9L,EACT+L,aAAc/L,EACdgM,QAAS/D,EACTgE,OAAQL,GAGL,GAAGnV,OAAOmV,GAAWnV,OAAO4T,GAAa5T,OAAOuJ,EACxD,CACD,OAAIyL,EACK,CACLpL,IAAKL,EACL8L,QAAS9L,EACT+L,aAAc/L,EACdgM,QAAS/D,EACTgE,OAAQL,GAGL5L,CACR,CACD,IAAIoK,EAAW3H,KAAKgC,QAAQ5C,EAAMkB,GAC9B1C,EAAM+J,GAAYA,EAAS/J,IAC3B6L,EAAa9B,GAAYA,EAAS0B,SAAW9L,EAC7CmM,EAAkB/B,GAAYA,EAAS2B,cAAgB/L,EACvDoM,EAAUjjB,OAAOJ,UAAUyD,SAASnC,MAAMgW,GAE1CgM,OAAoC5Y,IAAvBsP,EAAQsJ,WAA2BtJ,EAAQsJ,WAAa5J,KAAKM,QAAQsJ,WAClFC,GAA8B7J,KAAK8J,YAAc9J,KAAK8J,WAAWC,eAErE,GAAIF,GAA8BjM,IADE,iBAARA,GAAmC,kBAARA,GAAoC,iBAARA,IAHpE,CAAC,kBAAmB,oBAAqB,mBAIY3R,QAAQ0d,GAAW,IAA6B,iBAAfC,GAAuC,mBAAZD,GAA+B,CAC7J,IAAKrJ,EAAQ0J,gBAAkBhK,KAAKM,QAAQ0J,cAAe,CACpDhK,KAAKM,QAAQ2J,uBAChBjK,KAAKS,OAAOhS,KAAK,mEAEnB,IAAI2Z,EAAIpI,KAAKM,QAAQ2J,sBAAwBjK,KAAKM,QAAQ2J,sBAAsBR,EAAY7L,EAAKqJ,GAAgBA,GAAgB,CAAA,EAAI3G,GAAU,GAAI,CACjJ6E,GAAI0C,KACA,QAAQ7T,OAAOuJ,EAAK,MAAMvJ,OAAOgM,KAAKyH,SAAU,4CACtD,OAAIuB,GACFrB,EAAS/J,IAAMwK,EACRT,GAEFS,CACR,CACD,GAAI5D,EAAc,CAChB,IAAI0F,EAA6B,mBAAZP,EACjBnC,EAAO0C,EAAiB,GAAK,GAC7BC,EAAcD,EAAiBR,EAAkBD,EACrD,IAAK,IAAI5D,KAAKjI,EACZ,GAAIlX,OAAOJ,UAAUoc,eAAenb,KAAKqW,EAAKiI,GAAI,CAChD,IAAIuE,EAAU,GAAGpW,OAAOmW,GAAanW,OAAOwQ,GAAcxQ,OAAO6R,GACjE2B,EAAK3B,GAAK7F,KAAKqK,UAAUD,EAASnD,GAAgBA,GAAgB,GAAI3G,GAAU,CAC9EsJ,YAAY,EACZzE,GAAI0C,KAEFL,EAAK3B,KAAOuE,IAAS5C,EAAK3B,GAAKjI,EAAIiI,GACxC,CAEHjI,EAAM4J,CACP,CACT,MAAa,GAAIqC,GAAoD,iBAAfD,GAAuC,mBAAZD,GACzE/L,EAAMA,EAAIgH,KAAKgF,MACNhM,EAAMoC,KAAKsK,kBAAkB1M,EAAKwB,EAAMkB,EAASuI,QACrD,CACL,IAAI0B,GAAc,EACdlB,GAAU,EACVmB,OAAwCxZ,IAAlBsP,EAAQmK,OAAgD,iBAAlBnK,EAAQmK,MACpEC,EAAkBrD,EAAWqD,gBAAgBpK,GAC7CqK,EAAqBH,EAAsBxK,KAAK4K,eAAeC,UAAUrF,EAAKlF,EAAQmK,MAAOnK,GAAW,GACxGwK,EAAexK,EAAQ,eAAetM,OAAO2W,KAAwBrK,EAAQwK,cAC5E9K,KAAK+K,cAAcnN,IAAQ8M,IAC9BH,GAAc,EACd3M,EAAMkN,GAEH9K,KAAK+K,cAAcnN,KACtByL,GAAU,EACVzL,EAAML,GAER,IACIyN,GADiC1K,EAAQ2K,gCAAkCjL,KAAKM,QAAQ2K,iCACtC5B,OAAUrY,EAAY4M,EACxEsN,EAAgBR,GAAmBI,IAAiBlN,GAAOoC,KAAKM,QAAQ4K,cAC5E,GAAI7B,GAAWkB,GAAeW,EAAe,CAE3C,GADAlL,KAAKS,OAAOV,IAAImL,EAAgB,YAAc,aAAc1F,EAAK2D,EAAW5L,EAAK2N,EAAgBJ,EAAelN,GAC5G4G,EAAc,CAChB,IAAI2G,EAAKnL,KAAKgC,QAAQzE,EAAK0J,GAAgBA,GAAgB,CAAE,EAAE3G,GAAU,GAAI,CAC3EkE,cAAc,KAEZ2G,GAAMA,EAAGvN,KAAKoC,KAAKS,OAAOhS,KAAK,kLACpC,CACD,IAAI2c,EAAO,GACPC,EAAerL,KAAKsL,cAAcC,iBAAiBvL,KAAKM,QAAQkL,YAAalL,EAAQkF,KAAOxF,KAAKyH,UACrG,GAAmC,aAA/BzH,KAAKM,QAAQmL,eAAgCJ,GAAgBA,EAAa,GAC5E,IAAK,IAAIljB,EAAI,EAAGA,EAAIkjB,EAAariB,OAAQb,IACvCijB,EAAKzjB,KAAK0jB,EAAaljB,QAEe,QAA/B6X,KAAKM,QAAQmL,cACtBL,EAAOpL,KAAKsL,cAAcI,mBAAmBpL,EAAQkF,KAAOxF,KAAKyH,UAEjE2D,EAAKzjB,KAAK2Y,EAAQkF,KAAOxF,KAAKyH,UAEhC,IAAIkE,EAAO,SAAc3e,EAAG2V,EAAGiJ,GAC7B,IAAIC,EAAoBnB,GAAmBkB,IAAyBhO,EAAMgO,EAAuBZ,EAC7FlC,EAAOxI,QAAQwL,kBACjBhD,EAAOxI,QAAQwL,kBAAkB9e,EAAGmc,EAAWxG,EAAGkJ,EAAmBX,EAAe5K,GAC3EwI,EAAOiD,kBAAoBjD,EAAOiD,iBAAiBC,aAC5DlD,EAAOiD,iBAAiBC,YAAYhf,EAAGmc,EAAWxG,EAAGkJ,EAAmBX,EAAe5K,GAEzFwI,EAAOnD,KAAK,aAAc3Y,EAAGmc,EAAWxG,EAAG/E,EACvD,EACcoC,KAAKM,QAAQ0L,cACXhM,KAAKM,QAAQ2L,oBAAsBzB,EACrCY,EAAKhgB,SAAQ,SAAUqc,GACrBqB,EAAO8B,eAAesB,YAAYzE,EAAUnH,GAASlV,SAAQ,SAAUgF,GACrEub,EAAK,CAAClE,GAAWlK,EAAMnN,EAAQkQ,EAAQ,eAAetM,OAAO5D,KAAY0a,EAC3F,GACA,IAEca,EAAKP,EAAM7N,EAAKuN,GAGrB,CACDlN,EAAMoC,KAAKsK,kBAAkB1M,EAAKwB,EAAMkB,EAASqH,EAAUkB,GACvDQ,GAAWzL,IAAQL,GAAOyC,KAAKM,QAAQ6L,8BAA6BvO,EAAM,GAAG5J,OAAOmV,EAAW,KAAKnV,OAAOuJ,KAC1G8L,GAAWkB,IAAgBvK,KAAKM,QAAQ8L,yBAEzCxO,EADoC,OAAlCoC,KAAKM,QAAQ8F,iBACTpG,KAAKM,QAAQ8L,uBAAuBpM,KAAKM,QAAQ6L,4BAA8B,GAAGnY,OAAOmV,EAAW,KAAKnV,OAAOuJ,GAAOA,EAAKgN,EAAc3M,OAAM5M,GAEhJgP,KAAKM,QAAQ8L,uBAAuBxO,GAG/C,CACD,OAAIoL,GACFrB,EAAS/J,IAAMA,EACR+J,GAEF/J,CACR,GACA,CACDL,IAAK,oBACLxU,MAAO,SAA2B6U,EAAKL,EAAK+C,EAASqH,EAAUkB,GAC7D,IAAIwD,EAASrM,KACb,GAAIA,KAAK8J,YAAc9J,KAAK8J,WAAWwC,MACrC1O,EAAMoC,KAAK8J,WAAWwC,MAAM1O,EAAKqJ,GAAgBA,GAAgB,CAAE,EAAEjH,KAAKM,QAAQoH,cAAc6E,kBAAmBjM,GAAUqH,EAAS4B,QAAS5B,EAAS6B,OAAQ7B,EAAS0B,QAAS,CAChL1B,SAAUA,SAEP,IAAKrH,EAAQkM,kBAAmB,CACjClM,EAAQoH,eAAe1H,KAAK0I,aAAanI,KAAK0G,GAAgBA,GAAgB,GAAI3G,GAAU,CAC9FoH,cAAeT,GAAgBA,GAAgB,GAAIjH,KAAKM,QAAQoH,eAAgBpH,EAAQoH,kBAE1F,IACI+E,EADAC,EAAiC,iBAAR9O,IAAqB0C,GAAWA,EAAQoH,oBAA2D1W,IAA1CsP,EAAQoH,cAAcgF,gBAAgCpM,EAAQoH,cAAcgF,gBAAkB1M,KAAKM,QAAQoH,cAAcgF,iBAE/M,GAAIA,EAAiB,CACnB,IAAIC,EAAK/O,EAAI/R,MAAMmU,KAAK0I,aAAaC,eACrC8D,EAAUE,GAAMA,EAAG3jB,MACpB,CACD,IAAI6Q,EAAOyG,EAAQvU,SAAsC,iBAApBuU,EAAQvU,QAAuBuU,EAAQvU,QAAUuU,EAGtF,GAFIN,KAAKM,QAAQoH,cAAc6E,mBAAkB1S,EAAOoN,GAAgBA,GAAgB,CAAA,EAAIjH,KAAKM,QAAQoH,cAAc6E,kBAAmB1S,IAC1I+D,EAAMoC,KAAK0I,aAAakE,YAAYhP,EAAK/D,EAAMyG,EAAQkF,KAAOxF,KAAKyH,SAAUnH,GACzEoM,EAAiB,CACnB,IAAIG,EAAKjP,EAAI/R,MAAMmU,KAAK0I,aAAaC,eAEjC8D,GADUI,GAAMA,EAAG7jB,UACAsX,EAAQwM,MAAO,EACvC,EACoB,IAAjBxM,EAAQwM,OAAgBlP,EAAMoC,KAAK0I,aAAaoE,KAAKlP,GAAK,WAC5D,IAAK,IAAIlR,EAAO1E,UAAUgB,OAAQjC,EAAO,IAAIqB,MAAMsE,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/E5F,EAAK4F,GAAQ3E,UAAU2E,GAEzB,OAAIkc,GAAWA,EAAQ,KAAO9hB,EAAK,KAAOuZ,EAAQyM,SAChDV,EAAO5L,OAAOhS,KAAK,6CAA6CuF,OAAOjN,EAAK,GAAI,aAAaiN,OAAOuJ,EAAI,KACjG,MAEF8O,EAAOhC,UAAUziB,MAAMykB,EAAQtlB,EAAKiN,OAAO,CAACuJ,IACpD,GAAE+C,IACCA,EAAQoH,eAAe1H,KAAK0I,aAAasE,OAC9C,CACD,IAAIC,EAAc3M,EAAQ2M,aAAejN,KAAKM,QAAQ2M,YAClDC,EAA4C,iBAAhBD,EAA2B,CAACA,GAAeA,EAM3E,OALIrP,SAAqCsP,GAAsBA,EAAmBlkB,SAAyC,IAA/BsX,EAAQ6M,qBAClGvP,EAAM4I,GAAcI,OAAOsG,EAAoBtP,EAAKL,EAAKyC,KAAKM,SAAWN,KAAKM,QAAQ8M,wBAA0BnG,GAAgB,CAC9HoG,aAAc1F,GACbrH,GAAWA,EAASN,OAElBpC,CACR,GACA,CACDL,IAAK,UACLxU,MAAO,SAAiBqW,GACtB,IAEIkO,EACAjE,EACAC,EACAC,EACAC,EANA+D,EAASvN,KACTM,EAAUtY,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK,CAAA,EA8DlF,MAxDoB,iBAAToX,IAAmBA,EAAO,CAACA,IACtCA,EAAKhU,SAAQ,SAAUuX,GACrB,IAAI4K,EAAOxC,cAAcuC,GAAzB,CACA,IAAIE,EAAYD,EAAOrE,eAAevG,EAAGrC,GACrC/C,EAAMiQ,EAAUjQ,IACpB8L,EAAU9L,EACV,IAAIsK,EAAa2F,EAAU3F,WACvB0F,EAAOjN,QAAQmN,aAAY5F,EAAaA,EAAW7T,OAAOuZ,EAAOjN,QAAQmN,aAC7E,IAAIjD,OAAwCxZ,IAAlBsP,EAAQmK,OAAgD,iBAAlBnK,EAAQmK,MACpEiD,EAAwBlD,IAAwBlK,EAAQqN,SAA6B,IAAlBrN,EAAQmK,OAAe8C,EAAO3C,eAAegD,mBAChHC,OAA2C7c,IAApBsP,EAAQyM,UAAqD,iBAApBzM,EAAQyM,SAAmD,iBAApBzM,EAAQyM,UAA6C,KAApBzM,EAAQyM,QAChJe,EAAQxN,EAAQ8K,KAAO9K,EAAQ8K,KAAOmC,EAAOjC,cAAcI,mBAAmBpL,EAAQkF,KAAO+H,EAAO9F,SAAUnH,EAAQkL,aAC1H3D,EAAWzc,SAAQ,SAAU+Z,GACvBoI,EAAOxC,cAAcuC,KACzB9D,EAASrE,GACJiC,GAAiB,GAAGpT,OAAO8Z,EAAM,GAAI,KAAK9Z,OAAOmR,KAAQoI,EAAOQ,OAASR,EAAOQ,MAAMC,qBAAuBT,EAAOQ,MAAMC,mBAAmBxE,KAChJpC,GAAiB,GAAGpT,OAAO8Z,EAAM,GAAI,KAAK9Z,OAAOmR,KAAO,EACxDoI,EAAO9M,OAAOhS,KAAK,QAASuF,OAAOqV,EAAS,qBAAuBrV,OAAO8Z,EAAMlJ,KAAK,MAAO,wCAAyC5Q,OAAOwV,EAAQ,wBAA0B,6NAEhLsE,EAAM1iB,SAAQ,SAAU6iB,GACtB,IAAIV,EAAOxC,cAAcuC,GAAzB,CACA/D,EAAU0E,EACV,IAwBIC,EAxBAC,EAAY,CAAC5Q,GACjB,GAAIgQ,EAAOzD,YAAcyD,EAAOzD,WAAWsE,cACzCb,EAAOzD,WAAWsE,cAAcD,EAAW5Q,EAAK0Q,EAAM9I,EAAI7E,OACrD,CACL,IAAI+N,EACA7D,IAAqB6D,EAAed,EAAO3C,eAAeC,UAAUoD,EAAM3N,EAAQmK,MAAOnK,IAC7F,IAAIgO,EAAa,GAAGta,OAAOuZ,EAAOjN,QAAQiO,gBAAiB,QAO3D,GANI/D,IACF2D,EAAUxmB,KAAK4V,EAAM8Q,GACjBX,GACFS,EAAUxmB,KAAK4V,EAAM+Q,IAGrBT,EAAsB,CACxB,IAAIW,EAAa,GAAGxa,OAAOuJ,GAAKvJ,OAAOuZ,EAAOjN,QAAQmO,kBAAkBza,OAAOsM,EAAQyM,SACvFoB,EAAUxmB,KAAK6mB,GACXhE,IACF2D,EAAUxmB,KAAK6mB,EAAaH,GACxBX,GACFS,EAAUxmB,KAAK6mB,EAAaF,GAGjC,CACF,CAED,KAAOJ,EAAcC,EAAU7iB,OACxBiiB,EAAOxC,cAAcuC,KACxBhE,EAAe4E,EACfZ,EAAQC,EAAOpH,YAAY8H,EAAM9I,EAAI+I,EAAa5N,GA9Bd,CAiCpD,IACA,GApDgD,CAqDhD,IACa,CACL1C,IAAK0P,EACLjE,QAASA,EACTC,aAAcA,EACdC,QAASA,EACTC,OAAQA,EAEX,GACA,CACDjM,IAAK,gBACLxU,MAAO,SAAuB6U,GAC5B,aAAe5M,IAAR4M,IAAwBoC,KAAKM,QAAQoO,YAAsB,OAAR9Q,IAAoBoC,KAAKM,QAAQqO,mBAA6B,KAAR/Q,EACjH,GACA,CACDL,IAAK,cACLxU,MAAO,SAAqBklB,EAAM9I,EAAI5H,GACpC,IAAI+C,EAAUtY,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK,CAAA,EAClF,OAAIgY,KAAK8J,YAAc9J,KAAK8J,WAAW3D,YAAoBnG,KAAK8J,WAAW3D,YAAY8H,EAAM9I,EAAI5H,EAAK+C,GAC/FN,KAAK4O,cAAczI,YAAY8H,EAAM9I,EAAI5H,EAAK+C,EACtD,IACC,CAAC,CACH/C,IAAK,kBACLxU,MAAO,SAAyBuX,GAC9B,IAAIE,EAAS,eACb,IAAK,IAAIqO,KAAUvO,EACjB,GAAI5Z,OAAOJ,UAAUoc,eAAenb,KAAK+Y,EAASuO,IAAWrO,IAAWqO,EAAOrG,UAAU,EAAGhI,EAAOxX,cAAWgI,IAAcsP,EAAQuO,GAClI,OAAO,EAGX,OAAO,CACR,KAEIxH,CACT,CAhXiB,GAkXjB,SAASyH,GAAWC,GAClB,OAAOA,EAAOC,OAAO,GAAGC,cAAgBF,EAAO/kB,MAAM,EACvD,CACA,IAAIklB,GAAe,WACjB,SAASA,EAAa5O,GACpBnD,GAAgB6C,KAAMkP,GACtBlP,KAAKM,QAAUA,EACfN,KAAKmP,cAAgBnP,KAAKM,QAAQ6O,gBAAiB,EACnDnP,KAAKS,OAASN,GAAWxV,OAAO,gBACjC,CAuHD,OAtHAyT,GAAa8Q,EAAc,CAAC,CAC1B3R,IAAK,wBACLxU,MAAO,SAA+BklB,GACpC,IAAKA,GAAQA,EAAKhiB,QAAQ,KAAO,EAAG,OAAO,KAC3C,IAAIxF,EAAIwnB,EAAKxM,MAAM,KACnB,OAAiB,IAAbhb,EAAEuC,OAAqB,MAC3BvC,EAAE6E,MACoC,MAAlC7E,EAAEA,EAAEuC,OAAS,GAAG0C,cAA8B,KAC3CsU,KAAKoP,mBAAmB3oB,EAAEme,KAAK,MACvC,GACA,CACDrH,IAAK,0BACLxU,MAAO,SAAiCklB,GACtC,IAAKA,GAAQA,EAAKhiB,QAAQ,KAAO,EAAG,OAAOgiB,EAC3C,IAAIxnB,EAAIwnB,EAAKxM,MAAM,KACnB,OAAOzB,KAAKoP,mBAAmB3oB,EAAE,GAClC,GACA,CACD8W,IAAK,qBACLxU,MAAO,SAA4BklB,GACjC,GAAoB,iBAATA,GAAqBA,EAAKhiB,QAAQ,MAAQ,EAAG,CACtD,IAAIojB,EAAe,CAAC,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,QAChE5oB,EAAIwnB,EAAKxM,MAAM,KAgBnB,OAfIzB,KAAKM,QAAQgP,aACf7oB,EAAIA,EAAE4hB,KAAI,SAAUkH,GAClB,OAAOA,EAAK7jB,aACxB,IACgC,IAAbjF,EAAEuC,QACXvC,EAAE,GAAKA,EAAE,GAAGiF,cACZjF,EAAE,GAAKA,EAAE,GAAGwoB,cACRI,EAAapjB,QAAQxF,EAAE,GAAGiF,gBAAkB,IAAGjF,EAAE,GAAKqoB,GAAWroB,EAAE,GAAGiF,iBACpD,IAAbjF,EAAEuC,SACXvC,EAAE,GAAKA,EAAE,GAAGiF,cACQ,IAAhBjF,EAAE,GAAGuC,SAAcvC,EAAE,GAAKA,EAAE,GAAGwoB,eACtB,QAATxoB,EAAE,IAAgC,IAAhBA,EAAE,GAAGuC,SAAcvC,EAAE,GAAKA,EAAE,GAAGwoB,eACjDI,EAAapjB,QAAQxF,EAAE,GAAGiF,gBAAkB,IAAGjF,EAAE,GAAKqoB,GAAWroB,EAAE,GAAGiF,gBACtE2jB,EAAapjB,QAAQxF,EAAE,GAAGiF,gBAAkB,IAAGjF,EAAE,GAAKqoB,GAAWroB,EAAE,GAAGiF,iBAErEjF,EAAEme,KAAK,IACf,CACD,OAAO5E,KAAKM,QAAQkP,WAAaxP,KAAKM,QAAQgP,aAAerB,EAAKviB,cAAgBuiB,CACnF,GACA,CACD1Q,IAAK,kBACLxU,MAAO,SAAyBklB,GAI9B,OAH0B,iBAAtBjO,KAAKM,QAAQmP,MAA2BzP,KAAKM,QAAQoP,4BACvDzB,EAAOjO,KAAK2P,wBAAwB1B,KAE9BjO,KAAKmP,gBAAkBnP,KAAKmP,cAAcnmB,QAAUgX,KAAKmP,cAAcljB,QAAQgiB,IAAS,CACjG,GACA,CACD1Q,IAAK,wBACLxU,MAAO,SAA+B+kB,GACpC,IAEIR,EAFA9L,EAAQxB,KACZ,OAAK8N,GAELA,EAAM1iB,SAAQ,SAAU6iB,GACtB,IAAIX,EAAJ,CACA,IAAIsC,EAAapO,EAAM4N,mBAAmBnB,GACrCzM,EAAMlB,QAAQ6O,gBAAiB3N,EAAMqO,gBAAgBD,KAAatC,EAAQsC,EAF7D,CAG1B,KACWtC,GAAStN,KAAKM,QAAQ6O,eACzBrB,EAAM1iB,SAAQ,SAAU6iB,GACtB,IAAIX,EAAJ,CACA,IAAIwC,EAAUtO,EAAMmO,wBAAwB1B,GAC5C,GAAIzM,EAAMqO,gBAAgBC,GAAU,OAAOxC,EAAQwC,EACnDxC,EAAQ9L,EAAMlB,QAAQ6O,cAAc7I,MAAK,SAAUyJ,GACjD,OAAIA,IAAiBD,EAAgBC,EACjCA,EAAa9jB,QAAQ,KAAO,GAAK6jB,EAAQ7jB,QAAQ,KAAO,OAA5D,EACsC,IAAlC8jB,EAAa9jB,QAAQ6jB,GAAuBC,OAAhD,CACZ,GAP4B,CAQ5B,IAEWzC,IAAOA,EAAQtN,KAAKuL,iBAAiBvL,KAAKM,QAAQkL,aAAa,IAC7D8B,GApBY,IAqBpB,GACA,CACD/P,IAAK,mBACLxU,MAAO,SAA0BinB,EAAW/B,GAC1C,IAAK+B,EAAW,MAAO,GAGvB,GAFyB,mBAAdA,IAA0BA,EAAYA,EAAU/B,IAClC,iBAAd+B,IAAwBA,EAAY,CAACA,IACG,mBAA/CtpB,OAAOJ,UAAUyD,SAASnC,MAAMooB,GAAiC,OAAOA,EAC5E,IAAK/B,EAAM,OAAO+B,EAAmB,SAAK,GAC1C,IAAI1C,EAAQ0C,EAAU/B,GAKtB,OAJKX,IAAOA,EAAQ0C,EAAUhQ,KAAKiQ,sBAAsBhC,KACpDX,IAAOA,EAAQ0C,EAAUhQ,KAAKoP,mBAAmBnB,KACjDX,IAAOA,EAAQ0C,EAAUhQ,KAAK2P,wBAAwB1B,KACtDX,IAAOA,EAAQ0C,EAAmB,SAChC1C,GAAS,EACjB,GACA,CACD/P,IAAK,qBACLxU,MAAO,SAA4BklB,EAAMiC,GACvC,IAAIpH,EAAS9I,KACTmQ,EAAgBnQ,KAAKuL,iBAAiB2E,GAAgBlQ,KAAKM,QAAQkL,aAAe,GAAIyC,GACtFH,EAAQ,GACRsC,EAAU,SAAiBjI,GACxBA,IACDW,EAAO+G,gBAAgB1H,GACzB2F,EAAMnmB,KAAKwgB,GAEXW,EAAOrI,OAAOhS,KAAK,uDAAuDuF,OAAOmU,IAE3F,EAWM,MAVoB,iBAAT8F,GAAqBA,EAAKhiB,QAAQ,MAAQ,GACzB,iBAAtB+T,KAAKM,QAAQmP,MAAyBW,EAAQpQ,KAAKoP,mBAAmBnB,IAChD,iBAAtBjO,KAAKM,QAAQmP,MAAiD,gBAAtBzP,KAAKM,QAAQmP,MAAwBW,EAAQpQ,KAAKiQ,sBAAsBhC,IAC1F,gBAAtBjO,KAAKM,QAAQmP,MAAwBW,EAAQpQ,KAAK2P,wBAAwB1B,KACrD,iBAATA,GAChBmC,EAAQpQ,KAAKoP,mBAAmBnB,IAElCkC,EAAc/kB,SAAQ,SAAUilB,GAC1BvC,EAAM7hB,QAAQokB,GAAM,GAAGD,EAAQtH,EAAOsG,mBAAmBiB,GACrE,IACavC,CACR,KAEIoB,CACT,CA9HmB,GAgIfoB,GAAO,CAAC,CACVlF,KAAM,CAAC,MAAO,KAAM,KAAM,MAAO,KAAM,MAAO,MAAO,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,MACjImF,GAAI,CAAC,EAAG,GACRF,GAAI,GACH,CACDjF,KAAM,CAAC,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,MAAO,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAM,MAAO,MAAO,KAAM,QAAS,KAAM,MAAO,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MACzYmF,GAAI,CAAC,EAAG,GACRF,GAAI,GACH,CACDjF,KAAM,CAAC,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MACxImF,GAAI,CAAC,GACLF,GAAI,GACH,CACDjF,KAAM,CAAC,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,MAClDmF,GAAI,CAAC,EAAG,EAAG,GACXF,GAAI,GACH,CACDjF,KAAM,CAAC,MACPmF,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,GAAI,KACrBF,GAAI,GACH,CACDjF,KAAM,CAAC,KAAM,MACbmF,GAAI,CAAC,EAAG,EAAG,GACXF,GAAI,GACH,CACDjF,KAAM,CAAC,MAAO,MACdmF,GAAI,CAAC,EAAG,EAAG,GACXF,GAAI,GACH,CACDjF,KAAM,CAAC,MACPmF,GAAI,CAAC,EAAG,EAAG,EAAG,GACdF,GAAI,GACH,CACDjF,KAAM,CAAC,MACPmF,GAAI,CAAC,EAAG,GACRF,GAAI,GACH,CACDjF,KAAM,CAAC,MACPmF,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IACjBF,GAAI,IACH,CACDjF,KAAM,CAAC,MACPmF,GAAI,CAAC,EAAG,EAAG,EAAG,IACdF,GAAI,IACH,CACDjF,KAAM,CAAC,MACPmF,GAAI,CAAC,EAAG,GACRF,GAAI,IACH,CACDjF,KAAM,CAAC,MACPmF,GAAI,CAAC,EAAG,GACRF,GAAI,IACH,CACDjF,KAAM,CAAC,MACPmF,GAAI,CAAC,EAAG,EAAG,EAAG,GACdF,GAAI,IACH,CACDjF,KAAM,CAAC,MACPmF,GAAI,CAAC,EAAG,EAAG,IACXF,GAAI,IACH,CACDjF,KAAM,CAAC,MACPmF,GAAI,CAAC,EAAG,EAAG,GACXF,GAAI,IACH,CACDjF,KAAM,CAAC,MACPmF,GAAI,CAAC,EAAG,GACRF,GAAI,IACH,CACDjF,KAAM,CAAC,OACPmF,GAAI,CAAC,EAAG,EAAG,GACXF,GAAI,IACH,CACDjF,KAAM,CAAC,MACPmF,GAAI,CAAC,EAAG,EAAG,GAAI,IACfF,GAAI,IACH,CACDjF,KAAM,CAAC,MACPmF,GAAI,CAAC,EAAG,GACRF,GAAI,GACH,CACDjF,KAAM,CAAC,MACPmF,GAAI,CAAC,EAAG,EAAG,IACXF,GAAI,IACH,CACDjF,KAAM,CAAC,MACPmF,GAAI,CAAC,EAAG,EAAG,EAAG,GACdF,GAAI,IACH,CACDjF,KAAM,CAAC,KAAM,MACbmF,GAAI,CAAC,EAAG,EAAG,GAAI,IACfF,GAAI,KAEFG,GAAqB,CACvB,EAAG,SAAW1mB,GACZ,OAAO+T,OAAO/T,EAAI,EACnB,EACD,EAAG,SAAWA,GACZ,OAAO+T,OAAY,GAAL/T,EACf,EACD,EAAG,SAAWA,GACZ,OAAO,CACR,EACD,EAAG,SAAWA,GACZ,OAAO+T,OAAO/T,EAAI,IAAM,GAAKA,EAAI,KAAO,GAAK,EAAIA,EAAI,IAAM,GAAKA,EAAI,IAAM,IAAMA,EAAI,IAAM,IAAMA,EAAI,KAAO,IAAM,EAAI,EACtH,EACD,EAAG,SAAWA,GACZ,OAAO+T,OAAY,GAAL/T,EAAS,EAAS,GAALA,EAAS,EAAS,GAALA,EAAS,EAAIA,EAAI,KAAO,GAAKA,EAAI,KAAO,GAAK,EAAIA,EAAI,KAAO,GAAK,EAAI,EAC9G,EACD,EAAG,SAAWA,GACZ,OAAO+T,OAAY,GAAL/T,EAAS,EAAIA,GAAK,GAAKA,GAAK,EAAI,EAAI,EACnD,EACD,EAAG,SAAWA,GACZ,OAAO+T,OAAY,GAAL/T,EAAS,EAAIA,EAAI,IAAM,GAAKA,EAAI,IAAM,IAAMA,EAAI,IAAM,IAAMA,EAAI,KAAO,IAAM,EAAI,EAChG,EACD,EAAG,SAAWA,GACZ,OAAO+T,OAAY,GAAL/T,EAAS,EAAS,GAALA,EAAS,EAAS,GAALA,GAAe,IAALA,EAAU,EAAI,EACjE,EACD,EAAG,SAAWA,GACZ,OAAO+T,OAAO/T,GAAK,EACpB,EACD,GAAI,SAAWA,GACb,OAAO+T,OAAY,GAAL/T,EAAS,EAAS,GAALA,EAAS,EAAIA,EAAI,EAAI,EAAIA,EAAI,GAAK,EAAI,EAClE,EACD,GAAI,SAAWA,GACb,OAAO+T,OAAY,GAAL/T,GAAe,IAALA,EAAU,EAAS,GAALA,GAAe,IAALA,EAAU,EAAIA,EAAI,GAAKA,EAAI,GAAK,EAAI,EACrF,EACD,GAAI,SAAWA,GACb,OAAO+T,OAAO/T,EAAI,IAAM,GAAKA,EAAI,KAAO,GACzC,EACD,GAAI,SAAWA,GACb,OAAO+T,OAAa,IAAN/T,EACf,EACD,GAAI,SAAWA,GACb,OAAO+T,OAAY,GAAL/T,EAAS,EAAS,GAALA,EAAS,EAAS,GAALA,EAAS,EAAI,EACtD,EACD,GAAI,SAAWA,GACb,OAAO+T,OAAO/T,EAAI,IAAM,GAAKA,EAAI,KAAO,GAAK,EAAIA,EAAI,IAAM,IAAMA,EAAI,IAAM,IAAMA,EAAI,KAAO,IAAM,EAAI,EACvG,EACD,GAAI,SAAWA,GACb,OAAO+T,OAAO/T,EAAI,IAAM,GAAKA,EAAI,KAAO,GAAK,EAAU,IAANA,EAAU,EAAI,EAChE,EACD,GAAI,SAAWA,GACb,OAAO+T,OAAY,GAAL/T,GAAUA,EAAI,IAAM,GAAKA,EAAI,KAAO,GAAK,EAAI,EAC5D,EACD,GAAI,SAAWA,GACb,OAAO+T,OAAY,GAAL/T,EAAS,EAAS,GAALA,EAAS,EAAI,EACzC,EACD,GAAI,SAAWA,GACb,OAAO+T,OAAY,GAAL/T,EAAS,EAAS,GAALA,GAAUA,EAAI,IAAM,GAAKA,EAAI,IAAM,GAAK,EAAIA,EAAI,IAAM,IAAMA,EAAI,IAAM,GAAK,EAAI,EAC3G,EACD,GAAI,SAAWA,GACb,OAAO+T,OAAY,GAAL/T,EAAS,EAAS,GAALA,GAAUA,EAAI,IAAM,GAAKA,EAAI,IAAM,GAAK,EAAI,EACxE,EACD,GAAI,SAAWA,GACb,OAAO+T,OAAO/T,EAAI,KAAO,EAAI,EAAIA,EAAI,KAAO,EAAI,EAAIA,EAAI,KAAO,GAAKA,EAAI,KAAO,EAAI,EAAI,EACxF,EACD,GAAI,SAAWA,GACb,OAAO+T,OAAY,GAAL/T,EAAS,EAAS,GAALA,EAAS,GAAKA,EAAI,GAAKA,EAAI,KAAOA,EAAI,IAAM,EAAI,EAAI,EAChF,GAEC2mB,GAAyB,CAAC,KAAM,KAAM,MACtCC,GAAgB,CAClBC,KAAM,EACNC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,KAAM,EACNC,MAAO,GAcT,IAAIC,GAAiB,WACnB,SAASA,EAAe3F,GACtB,IAbE4F,EAaE5Q,EAAUtY,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK,CAAA,EAClFmV,GAAgB6C,KAAMiR,GACtBjR,KAAKsL,cAAgBA,EACrBtL,KAAKM,QAAUA,EACfN,KAAKS,OAASN,GAAWxV,OAAO,kBAC1BqV,KAAKM,QAAQ6Q,mBAAwD,OAAnCnR,KAAKM,QAAQ6Q,mBAAgD,oBAATC,MAAyBA,KAAKC,cACxHrR,KAAKM,QAAQ6Q,kBAAoB,KACjCnR,KAAKS,OAAOP,MAAM,uJAEpBF,KAAKkR,OAtBHA,EAAQ,CAAA,EACZZ,GAAKllB,SAAQ,SAAUyB,GACrBA,EAAIue,KAAKhgB,SAAQ,SAAU4B,GACzBkkB,EAAMlkB,GAAK,CACTskB,QAASzkB,EAAI0jB,GACbgB,QAASf,GAAmB3jB,EAAIwjB,IAExC,GACA,IACSa,EAcN,CA0GD,OAzGA9S,GAAa6S,EAAgB,CAAC,CAC5B1T,IAAK,UACLxU,MAAO,SAAiByc,EAAKtf,GAC3B8Z,KAAKkR,MAAM1L,GAAOtf,CACnB,GACA,CACDqX,IAAK,UACLxU,MAAO,SAAiBklB,GACtB,IAAI3N,EAAUtY,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK,CAAA,EAClF,GAAIgY,KAAK4N,mBACP,IACE,OAAO,IAAIwD,KAAKC,YAAYpD,EAAM,CAChCnO,KAAMQ,EAAQqN,QAAU,UAAY,YAEvC,CAAC,MAAO6D,GACP,MACD,CAEH,OAAOxR,KAAKkR,MAAMjD,IAASjO,KAAKkR,MAAMlR,KAAKsL,cAAcqE,wBAAwB1B,GAClF,GACA,CACD1Q,IAAK,cACLxU,MAAO,SAAqBklB,GAC1B,IAAI3N,EAAUtY,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK,CAAA,EAC9EypB,EAAOzR,KAAK0R,QAAQzD,EAAM3N,GAC9B,OAAIN,KAAK4N,mBACA6D,GAAQA,EAAKE,kBAAkBC,iBAAiB5oB,OAAS,EAE3DyoB,GAAQA,EAAKH,QAAQtoB,OAAS,CACtC,GACA,CACDuU,IAAK,sBACLxU,MAAO,SAA6BklB,EAAM1Q,GACxC,IAAI+C,EAAUtY,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK,CAAA,EAClF,OAAOgY,KAAKkM,YAAY+B,EAAM3N,GAAS+H,KAAI,SAAUjY,GACnD,MAAO,GAAG4D,OAAOuJ,GAAKvJ,OAAO5D,EACrC,GACK,GACA,CACDmN,IAAK,cACLxU,MAAO,SAAqBklB,GAC1B,IAAIzM,EAAQxB,KACRM,EAAUtY,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK,CAAA,EAC9EypB,EAAOzR,KAAK0R,QAAQzD,EAAM3N,GAC9B,OAAKmR,EAGDzR,KAAK4N,mBACA6D,EAAKE,kBAAkBC,iBAAiBC,MAAK,SAAUC,EAAiBC,GAC7E,OAAOrB,GAAcoB,GAAmBpB,GAAcqB,EAChE,IAAW1J,KAAI,SAAU2J,GACf,MAAO,GAAGhe,OAAOwN,EAAMlB,QAAQ2R,SAASje,OAAOge,EACzD,IAEaP,EAAKH,QAAQjJ,KAAI,SAAU6J,GAChC,OAAO1Q,EAAMqJ,UAAUoD,EAAMiE,EAAQ5R,EAC7C,IAXe,EAYV,GACA,CACD/C,IAAK,YACLxU,MAAO,SAAmBklB,EAAMxD,GAC9B,IAAInK,EAAUtY,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK,CAAA,EAC9EypB,EAAOzR,KAAK0R,QAAQzD,EAAM3N,GAC9B,OAAImR,EACEzR,KAAK4N,mBACA,GAAG5Z,OAAOgM,KAAKM,QAAQ2R,SAASje,OAAOyd,EAAKU,OAAO1H,IAErDzK,KAAKoS,yBAAyBX,EAAMhH,IAE7CzK,KAAKS,OAAOhS,KAAK,6BAA6BuF,OAAOia,IAC9C,GACR,GACA,CACD1Q,IAAK,2BACLxU,MAAO,SAAkC0oB,EAAMhH,GAC7C,IAAI3B,EAAS9I,KACTqS,EAAMZ,EAAKa,MAAQb,EAAKF,QAAQ9G,GAASgH,EAAKF,QAAQgB,KAAKC,IAAI/H,IAC/Dra,EAASqhB,EAAKH,QAAQe,GACtBrS,KAAKM,QAAQmS,sBAAgD,IAAxBhB,EAAKH,QAAQtoB,QAAoC,IAApByoB,EAAKH,QAAQ,KAClE,IAAXlhB,EACFA,EAAS,SACW,IAAXA,IACTA,EAAS,KAGb,IAAIsiB,EAAe,WACjB,OAAO5J,EAAOxI,QAAQ2R,SAAW7hB,EAAOrG,WAAa+e,EAAOxI,QAAQ2R,QAAU7hB,EAAOrG,WAAaqG,EAAOrG,UACjH,EACM,MAAuC,OAAnCiW,KAAKM,QAAQ6Q,kBACA,IAAX/gB,EAAqB,GACH,iBAAXA,EAA4B,WAAW4D,OAAO5D,EAAOrG,YACzD2oB,IACqC,OAAnC1S,KAAKM,QAAQ6Q,mBAEbnR,KAAKM,QAAQmS,sBAAgD,IAAxBhB,EAAKH,QAAQtoB,QAAoC,IAApByoB,EAAKH,QAAQ,GADjFoB,IAIF1S,KAAKM,QAAQ2R,SAAWI,EAAItoB,WAAaiW,KAAKM,QAAQ2R,QAAUI,EAAItoB,WAAasoB,EAAItoB,UAC7F,GACA,CACDwT,IAAK,mBACLxU,MAAO,WACL,OAAQ0nB,GAAuBkC,SAAS3S,KAAKM,QAAQ6Q,kBACtD,KAEIF,CACT,CAvHqB,GAyHrB,SAAS2B,GAAUxlB,EAAQ+R,GAAkB,IAAIC,EAAO1Y,OAAO0Y,KAAKhS,GAAS,GAAI1G,OAAO2Y,sBAAuB,CAAE,IAAIC,EAAU5Y,OAAO2Y,sBAAsBjS,GAAS+R,IAAmBG,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAO9Y,OAAO8D,yBAAyB4C,EAAQoS,GAAKjL,UAAW,KAAM6K,EAAKzX,KAAKC,MAAMwX,EAAME,EAAS,CAAG,OAAOF,CAAO,CACvV,SAASyT,GAAgB9U,GAAU,IAAK,IAAI5V,EAAI,EAAGA,EAAIH,UAAUgB,OAAQb,IAAK,CAAE,IAAIuX,EAAS,MAAQ1X,UAAUG,GAAKH,UAAUG,GAAK,CAAE,EAAEA,EAAI,EAAIyqB,GAAUlsB,OAAOgZ,IAAS,GAAItU,SAAQ,SAAUmS,GAAOyB,GAAgBjB,EAAQR,EAAKmC,EAAOnC,GAAQ,IAAI7W,OAAOiZ,0BAA4BjZ,OAAOkZ,iBAAiB7B,EAAQrX,OAAOiZ,0BAA0BD,IAAWkT,GAAUlsB,OAAOgZ,IAAStU,SAAQ,SAAUmS,GAAO7W,OAAOwX,eAAeH,EAAQR,EAAK7W,OAAO8D,yBAAyBkV,EAAQnC,GAAM,GAAM,CAAC,OAAOQ,CAAS,CAChgB,IAAI+U,GAAe,WACjB,SAASA,IACP,IAAIxS,EAAUtY,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK,CAAA,EAClFmV,GAAgB6C,KAAM8S,GACtB9S,KAAKS,OAASN,GAAWxV,OAAO,gBAChCqV,KAAKM,QAAUA,EACfN,KAAK+S,OAASzS,EAAQoH,eAAiBpH,EAAQoH,cAAcqL,QAAU,SAAUhqB,GAC/E,OAAOA,CACb,EACIiX,KAAKO,KAAKD,EACX,CAoLD,OAnLAlC,GAAa0U,EAAc,CAAC,CAC1BvV,IAAK,OACLxU,MAAO,WACL,IAAIuX,EAAUtY,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK,CAAA,EAC7EsY,EAAQoH,gBAAepH,EAAQoH,cAAgB,CAClDsL,aAAa,IAEf,IAAIC,EAAQ3S,EAAQoH,cACpB1H,KAAKwD,YAA0BxS,IAAjBiiB,EAAMzP,OAAuByP,EAAMzP,OAASA,GAC1DxD,KAAKgT,iBAAoChiB,IAAtBiiB,EAAMD,aAA4BC,EAAMD,YAC3DhT,KAAKkT,yBAAoDliB,IAA9BiiB,EAAMC,qBAAoCD,EAAMC,oBAC3ElT,KAAKQ,OAASyS,EAAMzS,OAAS6C,GAAY4P,EAAMzS,QAAUyS,EAAME,eAAiB,KAChFnT,KAAK5P,OAAS6iB,EAAM7iB,OAASiT,GAAY4P,EAAM7iB,QAAU6iB,EAAMG,eAAiB,KAChFpT,KAAKqT,gBAAkBJ,EAAMI,gBAAkBJ,EAAMI,gBAAkBJ,EAAMI,iBAAmB,IAChGrT,KAAKsT,eAAiBL,EAAMM,eAAiB,GAAKN,EAAMK,gBAAkB,IAC1EtT,KAAKuT,eAAiBvT,KAAKsT,eAAiB,GAAKL,EAAMM,gBAAkB,GACzEvT,KAAKwT,cAAgBP,EAAMO,cAAgBnQ,GAAY4P,EAAMO,eAAiBP,EAAMQ,sBAAwBpQ,GAAY,OACxHrD,KAAK0T,cAAgBT,EAAMS,cAAgBrQ,GAAY4P,EAAMS,eAAiBT,EAAMU,sBAAwBtQ,GAAY,KACxHrD,KAAK4T,wBAA0BX,EAAMW,wBAA0BX,EAAMW,wBAA0BX,EAAMW,yBAA2B,IAChI5T,KAAK6T,YAAcZ,EAAMY,YAAcZ,EAAMY,YAAc,IAC3D7T,KAAK8T,kBAAsC9iB,IAAvBiiB,EAAMa,cAA6Bb,EAAMa,aAC7D9T,KAAK+T,aACN,GACA,CACDxW,IAAK,QACLxU,MAAO,WACDiX,KAAKM,SAASN,KAAKO,KAAKP,KAAKM,QAClC,GACA,CACD/C,IAAK,cACLxU,MAAO,WACL,IAAIirB,EAAY,GAAGhgB,OAAOgM,KAAKQ,OAAQ,SAASxM,OAAOgM,KAAK5P,QAC5D4P,KAAKiU,OAAS,IAAI5nB,OAAO2nB,EAAW,KACpC,IAAIE,EAAoB,GAAGlgB,OAAOgM,KAAKQ,QAAQxM,OAAOgM,KAAKsT,eAAgB,SAAStf,OAAOgM,KAAKuT,gBAAgBvf,OAAOgM,KAAK5P,QAC5H4P,KAAKmU,eAAiB,IAAI9nB,OAAO6nB,EAAmB,KACpD,IAAIE,EAAmB,GAAGpgB,OAAOgM,KAAKwT,cAAe,SAASxf,OAAOgM,KAAK0T,eAC1E1T,KAAK2I,cAAgB,IAAItc,OAAO+nB,EAAkB,IACnD,GACA,CACD7W,IAAK,cACLxU,MAAO,SAAqBua,EAAKzJ,EAAM2L,EAAKlF,GAC1C,IACIzU,EACA9C,EACAsrB,EAHA7S,EAAQxB,KAIRkD,EAAclD,KAAKM,SAAWN,KAAKM,QAAQoH,eAAiB1H,KAAKM,QAAQoH,cAAc6E,kBAAoB,CAAA,EAC/G,SAAS+H,EAAUC,GACjB,OAAOA,EAAIxoB,QAAQ,MAAO,OAC3B,CACD,IAAIyoB,EAAe,SAAsBjX,GACvC,GAAIA,EAAItR,QAAQuV,EAAM6R,iBAAmB,EAAG,CAC1C,IAAIjR,EAAOa,GAAoBpJ,EAAMqJ,EAAa3F,GAClD,OAAOiE,EAAMsS,aAAetS,EAAMuR,OAAO3Q,OAAMpR,EAAWwU,EAAKqN,GAAgBA,GAAgBA,GAAgB,CAAE,EAAEvS,GAAUzG,GAAO,GAAI,CACtI4a,iBAAkBlX,KACd6E,CACP,CACD,IAAI3b,EAAI8W,EAAIkE,MAAMD,EAAM6R,iBACpB1Q,EAAIlc,EAAEgc,QAAQtW,OACdyB,EAAInH,EAAEme,KAAKpD,EAAM6R,iBAAiBlnB,OACtC,OAAOqV,EAAMuR,OAAO9P,GAAoBpJ,EAAMqJ,EAAaP,GAAI/U,EAAG4X,EAAKqN,GAAgBA,GAAgBA,GAAgB,CAAA,EAAIvS,GAAUzG,GAAO,GAAI,CAC9I4a,iBAAkB9R,IAE5B,EACM3C,KAAK+T,cACL,IAAIW,EAA8BpU,GAAWA,EAAQoU,6BAA+B1U,KAAKM,QAAQoU,4BAC7FhI,EAAkBpM,GAAWA,EAAQoH,oBAA2D1W,IAA1CsP,EAAQoH,cAAcgF,gBAAgCpM,EAAQoH,cAAcgF,gBAAkB1M,KAAKM,QAAQoH,cAAcgF,gBA+CnL,MA9CY,CAAC,CACXiI,MAAO3U,KAAKmU,eACZS,UAAW,SAAmBL,GAC5B,OAAOD,EAAUC,EAClB,GACA,CACDI,MAAO3U,KAAKiU,OACZW,UAAW,SAAmBL,GAC5B,OAAO/S,EAAMwR,YAAcsB,EAAU9S,EAAMgC,OAAO+Q,IAAQD,EAAUC,EACrE,IAEGnpB,SAAQ,SAAUypB,GAEtB,IADAR,EAAW,EACJxoB,EAAQgpB,EAAKF,MAAMG,KAAKxR,IAAM,CACnC,IAAIyR,EAAalpB,EAAM,GAAGM,OAE1B,QAAc6E,KADdjI,EAAQyrB,EAAaO,IAEnB,GAA2C,mBAAhCL,EAA4C,CACrD,IAAIM,EAAON,EAA4BpR,EAAKzX,EAAOyU,GACnDvX,EAAwB,iBAATisB,EAAoBA,EAAO,EACxD,MAAmB,GAAI1U,GAAW5Z,OAAOJ,UAAUoc,eAAenb,KAAK+Y,EAASyU,GAClEhsB,EAAQ,OACH,IAAI2jB,EAAiB,CAC1B3jB,EAAQ8C,EAAM,GACd,QACd,CACc2V,EAAMf,OAAOhS,KAAK,8BAA8BuF,OAAO+gB,EAAY,uBAAuB/gB,OAAOsP,IACjGva,EAAQ,EACT,KACyB,iBAAVA,GAAuByY,EAAM0R,sBAC7CnqB,EAAQmZ,GAAWnZ,IAErB,IAAI6rB,EAAYC,EAAKD,UAAU7rB,GAS/B,GARAua,EAAMA,EAAIvX,QAAQF,EAAM,GAAI+oB,GACxBlI,GACFmI,EAAKF,MAAMM,WAAalsB,EAAMC,OAC9B6rB,EAAKF,MAAMM,WAAappB,EAAM,GAAG7C,QAEjC6rB,EAAKF,MAAMM,UAAY,IAEzBZ,GACgB7S,EAAMqS,YACpB,KAEH,CACT,IACavQ,CACR,GACA,CACD/F,IAAK,OACLxU,MAAO,SAAcua,EAAK+M,GACxB,IAEIxkB,EACA9C,EACAmsB,EAJApM,EAAS9I,KACTM,EAAUtY,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK,CAAA,EAIlF,SAASmtB,EAAiB5X,EAAK6X,GAC7B,IAAIC,EAAMrV,KAAK4T,wBACf,GAAIrW,EAAItR,QAAQopB,GAAO,EAAG,OAAO9X,EACjC,IAAI4K,EAAI5K,EAAIkE,MAAM,IAAIpV,OAAO,GAAG2H,OAAOqhB,EAAK,WACxCC,EAAgB,IAAIthB,OAAOmU,EAAE,IACjC5K,EAAM4K,EAAE,GAER,IAAIoN,GADJD,EAAgBtV,KAAK4M,YAAY0I,EAAeJ,IACRrpB,MAAM,MAC1C2pB,EAAsBF,EAAczpB,MAAM,OAC1C0pB,GAAuBA,EAAoBvsB,OAAS,GAAM,IAAMwsB,GAAuBA,EAAoBxsB,OAAS,GAAM,KAC5HssB,EAAgBA,EAAcvpB,QAAQ,KAAM,MAE9C,IACEmpB,EAAgBO,KAAKnJ,MAAMgJ,GACvBF,IAAkBF,EAAgBrC,GAAgBA,GAAgB,CAAA,EAAIuC,GAAmBF,GAC9F,CAAC,MAAO1tB,GAEP,OADAwY,KAAKS,OAAOhS,KAAK,oDAAoDuF,OAAOuJ,GAAM/V,GAC3E,GAAGwM,OAAOuJ,GAAKvJ,OAAOqhB,GAAKrhB,OAAOshB,EAC1C,CAED,cADOJ,EAAcpK,aACdvN,CACR,CACD,KAAO1R,EAAQmU,KAAK2I,cAAcmM,KAAKxR,IAAM,CAC3C,IAAIoS,EAAa,IAEjBR,GADAA,EAAgBrC,GAAgB,GAAIvS,IACNvU,SAA4C,iBAA1BmpB,EAAcnpB,QAAuBmpB,EAAcnpB,QAAUmpB,GAC/F/H,oBAAqB,SAC5B+H,EAAcpK,aACrB,IAAI6K,GAAW,EACf,IAAgD,IAA5C9pB,EAAM,GAAGI,QAAQ+T,KAAKqT,mBAA4B,OAAOnpB,KAAK2B,EAAM,IAAK,CAC3E,IAAIuc,EAAIvc,EAAM,GAAG4V,MAAMzB,KAAKqT,iBAAiBhL,KAAI,SAAUuN,GACzD,OAAOA,EAAKzpB,MACxB,IACUN,EAAM,GAAKuc,EAAE3F,QACbiT,EAAatN,EACbuN,GAAW,CACZ,CAED,IADA5sB,EAAQsnB,EAAG8E,EAAiB5tB,KAAKyY,KAAMnU,EAAM,GAAGM,OAAQ+oB,GAAgBA,KAC3DrpB,EAAM,KAAOyX,GAAwB,iBAAVva,EAAoB,OAAOA,EAC9C,iBAAVA,IAAoBA,EAAQmZ,GAAWnZ,IAC7CA,IACHiX,KAAKS,OAAOhS,KAAK,qBAAqBuF,OAAOnI,EAAM,GAAI,iBAAiBmI,OAAOsP,IAC/Eva,EAAQ,IAEN4sB,IACF5sB,EAAQ2sB,EAAWG,QAAO,SAAUtP,EAAG3Y,GACrC,OAAOkb,EAAOiK,OAAOxM,EAAG3Y,EAAG0S,EAAQkF,IAAKqN,GAAgBA,GAAgB,CAAA,EAAIvS,GAAU,CAAA,EAAI,CACxFmU,iBAAkB5oB,EAAM,GAAGM,SAEzC,GAAapD,EAAMoD,SAEXmX,EAAMA,EAAIvX,QAAQF,EAAM,GAAI9C,GAC5BiX,KAAKiU,OAAOgB,UAAY,CACzB,CACD,OAAO3R,CACR,KAEIwP,CACT,CA/LmB,GAiMnB,SAASgD,GAAU1oB,EAAQ+R,GAAkB,IAAIC,EAAO1Y,OAAO0Y,KAAKhS,GAAS,GAAI1G,OAAO2Y,sBAAuB,CAAE,IAAIC,EAAU5Y,OAAO2Y,sBAAsBjS,GAAS+R,IAAmBG,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAO9Y,OAAO8D,yBAAyB4C,EAAQoS,GAAKjL,UAAW,KAAM6K,EAAKzX,KAAKC,MAAMwX,EAAME,EAAS,CAAG,OAAOF,CAAO,CACvV,SAAS2W,GAAgBhY,GAAU,IAAK,IAAI5V,EAAI,EAAGA,EAAIH,UAAUgB,OAAQb,IAAK,CAAE,IAAIuX,EAAS,MAAQ1X,UAAUG,GAAKH,UAAUG,GAAK,CAAE,EAAEA,EAAI,EAAI2tB,GAAUpvB,OAAOgZ,IAAS,GAAItU,SAAQ,SAAUmS,GAAOyB,GAAgBjB,EAAQR,EAAKmC,EAAOnC,GAAQ,IAAI7W,OAAOiZ,0BAA4BjZ,OAAOkZ,iBAAiB7B,EAAQrX,OAAOiZ,0BAA0BD,IAAWoW,GAAUpvB,OAAOgZ,IAAStU,SAAQ,SAAUmS,GAAO7W,OAAOwX,eAAeH,EAAQR,EAAK7W,OAAO8D,yBAAyBkV,EAAQnC,GAAM,GAAM,CAAC,OAAOQ,CAAS,CAChgB,SAASiY,GAAeC,GACtB,IAAIC,EAAaD,EAAUvqB,cAAcS,OACrCgqB,EAAgB,CAAA,EACpB,GAAIF,EAAUhqB,QAAQ,MAAQ,EAAG,CAC/B,IAAIxF,EAAIwvB,EAAUxU,MAAM,KACxByU,EAAazvB,EAAE,GAAGiF,cAAcS,OAChC,IAAIiqB,EAAS3vB,EAAE,GAAG+hB,UAAU,EAAG/hB,EAAE,GAAGuC,OAAS,GAC7C,GAAmB,aAAfktB,GAA6BE,EAAOnqB,QAAQ,KAAO,EAChDkqB,EAAcE,WAAUF,EAAcE,SAAWD,EAAOjqB,aACxD,GAAmB,iBAAf+pB,GAAiCE,EAAOnqB,QAAQ,KAAO,EAC3DkqB,EAAcG,QAAOH,EAAcG,MAAQF,EAAOjqB,YAClD,CACMiqB,EAAO3U,MAAM,KACnBrW,SAAQ,SAAUmrB,GACrB,GAAKA,EAAL,CACA,IACEC,ECp+CK,SAAkBtuB,GAC/B,OAAOuuB,GAAevuB,IAAQwuB,GAAgBxuB,IAAQyuB,GAA2BzuB,IAAQ0uB,IAC3F,CDk+CwBC,CADCN,EAAI9U,MAAM,MAEzBlE,EAAMiZ,EAAY,GAEhBjC,EADKiC,EAAYxsB,MAAM,GACZ4a,KAAK,KAAKzY,OAAOJ,QAAQ,WAAY,IAC/CoqB,EAAc5Y,EAAIpR,UAASgqB,EAAc5Y,EAAIpR,QAAUooB,GAChD,UAARA,IAAiB4B,EAAc5Y,EAAIpR,SAAU,GACrC,SAARooB,IAAgB4B,EAAc5Y,EAAIpR,SAAU,GAC3C2qB,MAAMvC,KAAM4B,EAAc5Y,EAAIpR,QAAU4qB,SAASxC,EAAK,IAT1C,CAUzB,GACK,CACF,CACD,MAAO,CACL2B,WAAYA,EACZC,cAAeA,EAEnB,CACA,SAASa,GAAsBC,GAC7B,IAAIC,EAAQ,CAAA,EACZ,OAAO,SAAyB3C,EAAK/O,EAAKlF,GACxC,IAAI/C,EAAMiI,EAAMiQ,KAAK0B,UAAU7W,GAC3B8W,EAAYF,EAAM3Z,GAKtB,OAJK6Z,IACHA,EAAYH,EAAGzR,EAAKlF,GACpB4W,EAAM3Z,GAAO6Z,GAERA,EAAU7C,EACrB,CACA,CACA,IAAI8C,GAAY,WACd,SAASA,IACP,IAAI/W,EAAUtY,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK,CAAA,EAClFmV,GAAgB6C,KAAMqX,GACtBrX,KAAKS,OAASN,GAAWxV,OAAO,aAChCqV,KAAKM,QAAUA,EACfN,KAAKsX,QAAU,CACbpF,OAAQ8E,IAAsB,SAAUxR,EAAK+Q,GAC3C,IAAIa,EAAY,IAAIhG,KAAKmG,aAAa/R,EAAKuQ,GAAgB,CAAA,EAAIQ,IAC/D,OAAO,SAAUhC,GACf,OAAO6C,EAAUrE,OAAOwB,EAClC,CACA,IACM8B,SAAUW,IAAsB,SAAUxR,EAAK+Q,GAC7C,IAAIa,EAAY,IAAIhG,KAAKmG,aAAa/R,EAAKuQ,GAAgBA,GAAgB,CAAE,EAAEQ,GAAM,GAAI,CACvFiB,MAAO,cAET,OAAO,SAAUjD,GACf,OAAO6C,EAAUrE,OAAOwB,EAClC,CACA,IACMkD,SAAUT,IAAsB,SAAUxR,EAAK+Q,GAC7C,IAAIa,EAAY,IAAIhG,KAAKsG,eAAelS,EAAKuQ,GAAgB,CAAA,EAAIQ,IACjE,OAAO,SAAUhC,GACf,OAAO6C,EAAUrE,OAAOwB,EAClC,CACA,IACMoD,aAAcX,IAAsB,SAAUxR,EAAK+Q,GACjD,IAAIa,EAAY,IAAIhG,KAAKwG,mBAAmBpS,EAAKuQ,GAAgB,CAAA,EAAIQ,IACrE,OAAO,SAAUhC,GACf,OAAO6C,EAAUrE,OAAOwB,EAAKgC,EAAID,OAAS,MACpD,CACA,IACMuB,KAAMb,IAAsB,SAAUxR,EAAK+Q,GACzC,IAAIa,EAAY,IAAIhG,KAAK0G,WAAWtS,EAAKuQ,GAAgB,CAAA,EAAIQ,IAC7D,OAAO,SAAUhC,GACf,OAAO6C,EAAUrE,OAAOwB,EAClC,CACA,KAEIvU,KAAKO,KAAKD,EACX,CAgDD,OA/CAlC,GAAaiZ,EAAW,CAAC,CACvB9Z,IAAK,OACLxU,MAAO,SAAcue,GACnB,IAGI2L,GAHUjrB,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK,CAChF0f,cAAe,CAAE,IAECA,cACpB1H,KAAKqT,gBAAkBJ,EAAMI,gBAAkBJ,EAAMI,gBAAkBJ,EAAMI,iBAAmB,GACjG,GACA,CACD9V,IAAK,MACLxU,MAAO,SAAakB,EAAMomB,GACxBrQ,KAAKsX,QAAQrtB,EAAKyB,cAAcS,QAAUkkB,CAC3C,GACA,CACD9S,IAAK,YACLxU,MAAO,SAAmBkB,EAAMomB,GAC9BrQ,KAAKsX,QAAQrtB,EAAKyB,cAAcS,QAAU6qB,GAAsB3G,EACjE,GACA,CACD9S,IAAK,SACLxU,MAAO,SAAgBA,EAAOgvB,EAASvS,GACrC,IAAIhE,EAAQxB,KACRM,EAAUtY,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK,CAAA,EAqBlF,OApBc+vB,EAAQtW,MAAMzB,KAAKqT,iBACZwC,QAAO,SAAUmC,EAAKpqB,GACzC,IAAIqqB,EAAkBjC,GAAepoB,GACnCsoB,EAAa+B,EAAgB/B,WAC7BC,EAAgB8B,EAAgB9B,cAClC,GAAI3U,EAAM8V,QAAQpB,GAAa,CAC7B,IAAIgC,EAAYF,EAChB,IACE,IAAIG,EAAa7X,GAAWA,EAAQ8X,cAAgB9X,EAAQ8X,aAAa9X,EAAQmU,mBAAqB,GAClGznB,EAAImrB,EAAWE,QAAUF,EAAW3S,KAAOlF,EAAQ+X,QAAU/X,EAAQkF,KAAOA,EAChF0S,EAAY1W,EAAM8V,QAAQpB,GAAY8B,EAAKhrB,EAAG+oB,GAAgBA,GAAgBA,GAAgB,CAAE,EAAEI,GAAgB7V,GAAU6X,GAC7H,CAAC,MAAOjY,GACPsB,EAAMf,OAAOhS,KAAKyR,EACnB,CACD,OAAOgY,CACjB,CAGQ,OAFE1W,EAAMf,OAAOhS,KAAK,oCAAoCuF,OAAOkiB,IAExD8B,CACR,GAAEjvB,EAEJ,KAEIsuB,CACT,CA1FgB,GA4FhB,SAASiB,GAAUlrB,EAAQ+R,GAAkB,IAAIC,EAAO1Y,OAAO0Y,KAAKhS,GAAS,GAAI1G,OAAO2Y,sBAAuB,CAAE,IAAIC,EAAU5Y,OAAO2Y,sBAAsBjS,GAAS+R,IAAmBG,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAO9Y,OAAO8D,yBAAyB4C,EAAQoS,GAAKjL,UAAW,KAAM6K,EAAKzX,KAAKC,MAAMwX,EAAME,EAAS,CAAG,OAAOF,CAAO,CACvV,SAASmZ,GAAgBxa,GAAU,IAAK,IAAI5V,EAAI,EAAGA,EAAIH,UAAUgB,OAAQb,IAAK,CAAE,IAAIuX,EAAS,MAAQ1X,UAAUG,GAAKH,UAAUG,GAAK,CAAE,EAAEA,EAAI,EAAImwB,GAAU5xB,OAAOgZ,IAAS,GAAItU,SAAQ,SAAUmS,GAAOyB,GAAgBjB,EAAQR,EAAKmC,EAAOnC,GAAQ,IAAI7W,OAAOiZ,0BAA4BjZ,OAAOkZ,iBAAiB7B,EAAQrX,OAAOiZ,0BAA0BD,IAAW4Y,GAAU5xB,OAAOgZ,IAAStU,SAAQ,SAAUmS,GAAO7W,OAAOwX,eAAeH,EAAQR,EAAK7W,OAAO8D,yBAAyBkV,EAAQnC,GAAM,GAAM,CAAC,OAAOQ,CAAS,CAChgB,SAASya,GAAevU,GAAW,IAAIC,EACvC,WAAyC,GAAuB,oBAAZjd,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUC,KAAM,OAAO,EAAO,GAAqB,mBAAVC,MAAsB,OAAO,EAAM,IAAsF,OAAhFC,QAAQf,UAAUgB,QAAQC,KAAKN,QAAQC,UAAUG,QAAS,IAAI,WAAc,MAAW,CAAO,CAAC,MAAOG,GAAK,OAAO,EAAU,CADxQixB,GAA+B,OAAO,WAAkC,IAAsCrU,EAAlCC,EAAQtF,GAAgBkF,GAAkB,GAAIC,EAA2B,CAAE,IAAII,EAAYvF,GAAgBiB,MAAM3Z,YAAa+d,EAASnd,QAAQC,UAAUmd,EAAOrc,UAAWsc,QAAqBF,EAASC,EAAMzc,MAAMoY,KAAMhY,WAAc,OAAO6W,GAA2BmB,KAAMoE,EAAQ,CAAK,CAQ7a,IAAIsU,GAAY,SAAUzT,GACxBvG,GAAUga,EA0PVtX,IAzPA,IAAI8D,EAASsT,GAAeE,GAC5B,SAASA,EAAUC,EAASC,EAAOtR,GACjC,IAAI9F,EACAlB,EAAUtY,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK,CAAA,EAsBlF,OArBAmV,GAAgB6C,KAAM0Y,GACtBlX,EAAQ0D,EAAO3d,KAAKyY,MAChByD,IACFrC,GAAa7Z,KAAKgX,GAAuBiD,IAE3CA,EAAMmX,QAAUA,EAChBnX,EAAMoX,MAAQA,EACdpX,EAAM8F,SAAWA,EACjB9F,EAAM8J,cAAgBhE,EAASgE,cAC/B9J,EAAMlB,QAAUA,EAChBkB,EAAMf,OAASN,GAAWxV,OAAO,oBACjC6W,EAAMqX,aAAe,GACrBrX,EAAMsX,iBAAmBxY,EAAQwY,kBAAoB,GACrDtX,EAAMuX,aAAe,EACrBvX,EAAMwX,WAAa1Y,EAAQ0Y,YAAc,EAAI1Y,EAAQ0Y,WAAa,EAClExX,EAAMyX,aAAe3Y,EAAQ2Y,cAAgB,EAAI3Y,EAAQ2Y,aAAe,IACxEzX,EAAM0X,MAAQ,GACd1X,EAAM2X,MAAQ,GACV3X,EAAMmX,SAAWnX,EAAMmX,QAAQpY,MACjCiB,EAAMmX,QAAQpY,KAAK+G,EAAUhH,EAAQqY,QAASrY,GAEzCkB,CACR,CA8ND,OA7NApD,GAAasa,EAAW,CAAC,CACvBnb,IAAK,YACLxU,MAAO,SAAmBqwB,EAAWvR,EAAYvH,EAAS+Y,GACxD,IAAIvQ,EAAS9I,KACTsZ,EAAS,CAAA,EACTC,EAAU,CAAA,EACVC,EAAkB,CAAA,EAClBC,EAAmB,CAAA,EA4BvB,OA3BAL,EAAUhuB,SAAQ,SAAUoa,GAC1B,IAAIkU,GAAmB,EACvB7R,EAAWzc,SAAQ,SAAU+Z,GAC3B,IAAIlb,EAAO,GAAG+J,OAAOwR,EAAK,KAAKxR,OAAOmR,IACjC7E,EAAQqZ,QAAU7Q,EAAO8P,MAAM3S,kBAAkBT,EAAKL,GACzD2D,EAAOoQ,MAAMjvB,GAAQ,EACZ6e,EAAOoQ,MAAMjvB,GAAQ,IAAqC,IAAvB6e,EAAOoQ,MAAMjvB,QACnC+G,IAAlBuoB,EAAQtvB,KAAqBsvB,EAAQtvB,IAAQ,IAEjD6e,EAAOoQ,MAAMjvB,GAAQ,EACrByvB,GAAmB,OACG1oB,IAAlBuoB,EAAQtvB,KAAqBsvB,EAAQtvB,IAAQ,QAC5B+G,IAAjBsoB,EAAOrvB,KAAqBqvB,EAAOrvB,IAAQ,QAClB+G,IAAzByoB,EAAiBtU,KAAmBsU,EAAiBtU,IAAM,IAE3E,IACauU,IAAkBF,EAAgBhU,IAAO,EACtD,KACU9e,OAAO0Y,KAAKka,GAAQtwB,QAAUtC,OAAO0Y,KAAKma,GAASvwB,SACrDgX,KAAKmZ,MAAMxxB,KAAK,CACd4xB,QAASA,EACTK,aAAclzB,OAAO0Y,KAAKma,GAASvwB,OACnC6wB,OAAQ,CAAE,EACVC,OAAQ,GACRT,SAAUA,IAGP,CACLC,OAAQ5yB,OAAO0Y,KAAKka,GACpBC,QAAS7yB,OAAO0Y,KAAKma,GACrBC,gBAAiB9yB,OAAO0Y,KAAKoa,GAC7BC,iBAAkB/yB,OAAO0Y,KAAKqa,GAEjC,GACA,CACDlc,IAAK,SACLxU,MAAO,SAAgBkB,EAAMhB,EAAK4Q,GAChC,IAAIlM,EAAI1D,EAAKwX,MAAM,KACf+D,EAAM7X,EAAE,GACRwX,EAAKxX,EAAE,GACP1E,GAAK+W,KAAK2F,KAAK,gBAAiBH,EAAKL,EAAIlc,GACzC4Q,GACFmG,KAAK4Y,MAAMmB,kBAAkBvU,EAAKL,EAAItL,GAExCmG,KAAKkZ,MAAMjvB,GAAQhB,GAAO,EAAI,EAC9B,IAAI4wB,EAAS,CAAA,EACb7Z,KAAKmZ,MAAM/tB,SAAQ,SAAU4uB,IAh/CnC,SAAkB5sB,EAAQgV,EAAMS,EAAU7O,GACxC,IAAIimB,EAAkB9X,GAAc/U,EAAQgV,EAAM1b,QAChDR,EAAM+zB,EAAgB/zB,IACtByc,EAAIsX,EAAgBtX,EACtBzc,EAAIyc,GAAKzc,EAAIyc,IAAM,GACf3O,IAAQ9N,EAAIyc,GAAKzc,EAAIyc,GAAG3O,OAAO6O,IAC9B7O,GAAQ9N,EAAIyc,GAAGhb,KAAKkb,EAC3B,CA0+CQqX,CAASF,EAAEH,OAAQ,CAACrU,GAAML,GA1FlC,SAAuB6U,EAAG/vB,QACA+G,IAApBgpB,EAAET,QAAQtvB,YACL+vB,EAAET,QAAQtvB,GACjB+vB,EAAEJ,eAEN,CAsFQO,CAAcH,EAAG/vB,GACbhB,GAAK+wB,EAAEF,OAAOnyB,KAAKsB,GACA,IAAnB+wB,EAAEJ,cAAuBI,EAAElxB,OAC7BpC,OAAO0Y,KAAK4a,EAAEH,QAAQzuB,SAAQ,SAAU4B,GACjC6sB,EAAO7sB,KAAI6sB,EAAO7sB,GAAK,IAC5B,IAAIotB,EAAaJ,EAAEH,OAAO7sB,GACtBotB,EAAWpxB,QACboxB,EAAWhvB,SAAQ,SAAUtB,QACNkH,IAAjB6oB,EAAO7sB,GAAGlD,KAAkB+vB,EAAO7sB,GAAGlD,IAAK,EAC/D,GAEA,IACUkwB,EAAElxB,MAAO,EACLkxB,EAAEF,OAAO9wB,OACXgxB,EAAEX,SAASW,EAAEF,QAEbE,EAAEX,WAGd,IACMrZ,KAAK2F,KAAK,SAAUkU,GACpB7Z,KAAKmZ,MAAQnZ,KAAKmZ,MAAM5Z,QAAO,SAAUya,GACvC,OAAQA,EAAElxB,IAClB,GACK,GACA,CACDyU,IAAK,OACLxU,MAAO,SAAcyc,EAAKL,EAAIkV,GAC5B,IAAIhO,EAASrM,KACTsa,EAAQtyB,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK,EAC5EuyB,EAAOvyB,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAKgY,KAAKiZ,aAChFI,EAAWrxB,UAAUgB,OAAS,EAAIhB,UAAU,QAAKgJ,EACrD,IAAKwU,EAAIxc,OAAQ,OAAOqwB,EAAS,KAAM,CAAA,GACvC,GAAIrZ,KAAK+Y,cAAgB/Y,KAAK8Y,iBAC5B9Y,KAAK6Y,aAAalxB,KAAK,CACrB6d,IAAKA,EACLL,GAAIA,EACJkV,OAAQA,EACRC,MAAOA,EACPC,KAAMA,EACNlB,SAAUA,QAPd,CAWArZ,KAAK+Y,eACL,IAAIyB,EAAW,SAAkBvxB,EAAK4Q,GAEpC,GADAwS,EAAO0M,eACH1M,EAAOwM,aAAa7vB,OAAS,EAAG,CAClC,IAAIH,EAAOwjB,EAAOwM,aAAapW,QAC/B4J,EAAOoO,KAAK5xB,EAAK2c,IAAK3c,EAAKsc,GAAItc,EAAKwxB,OAAQxxB,EAAKyxB,MAAOzxB,EAAK0xB,KAAM1xB,EAAKwwB,SACzE,CACGpwB,GAAO4Q,GAAQygB,EAAQjO,EAAO2M,WAChC0B,YAAW,WACTrO,EAAOoO,KAAKlzB,KAAK8kB,EAAQ7G,EAAKL,EAAIkV,EAAQC,EAAQ,EAAU,EAAPC,EAAUlB,EAChE,GAAEkB,GAGLlB,EAASpwB,EAAK4Q,EACtB,EACUwW,EAAKrQ,KAAK2Y,QAAQ0B,GAAQtyB,KAAKiY,KAAK2Y,SACxC,GAAkB,IAAdtI,EAAGrnB,OAeP,OAAOqnB,EAAG7K,EAAKL,EAAIqV,GAdjB,IACE,IAAIpS,EAAIiI,EAAG7K,EAAKL,GACZiD,GAAuB,mBAAXA,EAAEuS,KAChBvS,EAAEuS,MAAK,SAAU9gB,GACf,OAAO2gB,EAAS,KAAM3gB,EACpC,IAAsB,MAAE2gB,GAEZA,EAAS,KAAMpS,EAElB,CAAC,MAAOnf,GACPuxB,EAASvxB,EACV,CA7BF,CAiCF,GACA,CACDsU,IAAK,iBACLxU,MAAO,SAAwBqwB,EAAWvR,GACxC,IAAI0F,EAASvN,KACTM,EAAUtY,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK,CAAA,EAC9EqxB,EAAWrxB,UAAUgB,OAAS,EAAIhB,UAAU,QAAKgJ,EACrD,IAAKgP,KAAK2Y,QAER,OADA3Y,KAAKS,OAAOhS,KAAK,kEACV4qB,GAAYA,IAEI,iBAAdD,IAAwBA,EAAYpZ,KAAKsL,cAAcI,mBAAmB0N,IAC3D,iBAAfvR,IAAyBA,EAAa,CAACA,IAClD,IAAIyR,EAAStZ,KAAK4a,UAAUxB,EAAWvR,EAAYvH,EAAS+Y,GAC5D,IAAKC,EAAOA,OAAOtwB,OAEjB,OADKswB,EAAOC,QAAQvwB,QAAQqwB,IACrB,KAETC,EAAOA,OAAOluB,SAAQ,SAAUnB,GAC9BsjB,EAAOsN,QAAQ5wB,EACvB,GACK,GACA,CACDsT,IAAK,OACLxU,MAAO,SAAcqwB,EAAWvR,EAAYwR,GAC1CrZ,KAAK8a,eAAe1B,EAAWvR,EAAY,CAAE,EAAEwR,EAChD,GACA,CACD9b,IAAK,SACLxU,MAAO,SAAgBqwB,EAAWvR,EAAYwR,GAC5CrZ,KAAK8a,eAAe1B,EAAWvR,EAAY,CACzC8R,QAAQ,GACPN,EACJ,GACA,CACD9b,IAAK,UACLxU,MAAO,SAAiBkB,GACtB,IAAI8wB,EAAS/a,KACTQ,EAASxY,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK,GAC7E2F,EAAI1D,EAAKwX,MAAM,KACf+D,EAAM7X,EAAE,GACRwX,EAAKxX,EAAE,GACXqS,KAAKya,KAAKjV,EAAKL,EAAI,YAAQnU,OAAWA,GAAW,SAAU/H,EAAK4Q,GAC1D5Q,GAAK8xB,EAAOta,OAAOhS,KAAK,GAAGuF,OAAOwM,EAAQ,sBAAsBxM,OAAOmR,EAAI,kBAAkBnR,OAAOwR,EAAK,WAAYvc,IACpHA,GAAO4Q,GAAMkhB,EAAOta,OAAOV,IAAI,GAAG/L,OAAOwM,EAAQ,qBAAqBxM,OAAOmR,EAAI,kBAAkBnR,OAAOwR,GAAM3L,GACrHkhB,EAAOlB,OAAO5vB,EAAMhB,EAAK4Q,EACjC,GACK,GACA,CACD0D,IAAK,cACLxU,MAAO,SAAqBqwB,EAAWjQ,EAAW5L,EAAKyd,EAAeC,GACpE,IAAI3a,EAAUtY,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK,CAAA,EAC9EkzB,EAAMlzB,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK,WAAY,EAC1F,GAAIgY,KAAKsH,SAASyG,OAAS/N,KAAKsH,SAASyG,MAAMC,qBAAuBhO,KAAKsH,SAASyG,MAAMC,mBAAmB7E,GAC3GnJ,KAAKS,OAAOhS,KAAK,qBAAsBuF,OAAOuJ,EAAK,wBAA0BvJ,OAAOmV,EAAW,wBAA0B,iOAG3H,GAAI5L,SAA6C,KAARA,EAAzC,CACA,GAAIyC,KAAK2Y,SAAW3Y,KAAK2Y,QAAQhuB,OAAQ,CACvC,IAAIwwB,EAAO5C,GAAgBA,GAAgB,CAAA,EAAIjY,GAAU,GAAI,CAC3D2a,SAAUA,IAER5K,EAAKrQ,KAAK2Y,QAAQhuB,OAAO5C,KAAKiY,KAAK2Y,SACvC,GAAItI,EAAGrnB,OAAS,EACd,IACE,IAAIof,GAEFA,EADgB,IAAdiI,EAAGrnB,OACDqnB,EAAG+I,EAAWjQ,EAAW5L,EAAKyd,EAAeG,GAE7C9K,EAAG+I,EAAWjQ,EAAW5L,EAAKyd,KAET,mBAAX5S,EAAEuS,KAChBvS,EAAEuS,MAAK,SAAU9gB,GACf,OAAOqhB,EAAI,KAAMrhB,EACjC,IAAwB,MAAEqhB,GAEZA,EAAI,KAAM9S,EAEb,CAAC,MAAOnf,GACPiyB,EAAIjyB,EACL,MAEDonB,EAAG+I,EAAWjQ,EAAW5L,EAAKyd,EAAeE,EAAKC,EAErD,CACI/B,GAAcA,EAAU,IAC7BpZ,KAAK4Y,MAAM9S,YAAYsT,EAAU,GAAIjQ,EAAW5L,EAAKyd,EA7BO,CA8B7D,KAEItC,CACT,CA3PgB,GA6PhB,SAASnqB,KACP,MAAO,CACLmS,OAAO,EACP0a,eAAe,EACfjW,GAAI,CAAC,eACLC,UAAW,CAAC,eACZoG,YAAa,CAAC,OACdiC,YAAY,EACZ0B,eAAe,EACfO,0BAA0B,EAC1BD,KAAM,MACN4L,SAAS,EACT5I,sBAAsB,EACtBjO,aAAc,IACdoD,YAAa,IACb2G,gBAAiB,IACjBE,iBAAkB,IAClB6M,yBAAyB,EACzBtP,aAAa,EACbd,eAAe,EACfO,cAAe,WACfQ,oBAAoB,EACpBH,mBAAmB,EACnB4I,6BAA6B,EAC7BzH,aAAa,EACbG,yBAAyB,EACzBsB,YAAY,EACZC,mBAAmB,EACnB3E,eAAe,EACfJ,YAAY,EACZK,uBAAuB,EACvBmC,wBAAwB,EACxBD,6BAA6B,EAC7B/C,yBAAyB,EACzBL,iCAAkC,SAAgBhiB,GAChD,IAAIw0B,EAAM,CAAA,EAIV,GAHyB,WAArBt1B,GAAQc,EAAK,MAAkBw0B,EAAMx0B,EAAK,IACvB,iBAAZA,EAAK,KAAiBw0B,EAAIzQ,aAAe/jB,EAAK,IAClC,iBAAZA,EAAK,KAAiBw0B,EAAIC,aAAez0B,EAAK,IAChC,WAArBd,GAAQc,EAAK,KAAyC,WAArBd,GAAQc,EAAK,IAAkB,CAClE,IAAIuZ,EAAUvZ,EAAK,IAAMA,EAAK,GAC9BL,OAAO0Y,KAAKkB,GAASlV,SAAQ,SAAUmS,GACrCge,EAAIhe,GAAO+C,EAAQ/C,EAC7B,GACO,CACD,OAAOge,CACR,EACD7T,cAAe,CACbsL,aAAa,EACbD,OAAQ,SAAgBhqB,EAAOgvB,EAASvS,EAAKlF,GAC3C,OAAOvX,CACR,EACDyX,OAAQ,KACRpQ,OAAQ,KACRijB,gBAAiB,IACjBC,eAAgB,IAChBE,cAAe,MACfE,cAAe,IACfE,wBAAyB,IACzBC,YAAa,IACbnH,iBAAiB,GAGvB,CACA,SAAS+O,GAAiBnb,GAOxB,MAN0B,iBAAfA,EAAQ6E,KAAiB7E,EAAQ6E,GAAK,CAAC7E,EAAQ6E,KACvB,iBAAxB7E,EAAQkL,cAA0BlL,EAAQkL,YAAc,CAAClL,EAAQkL,cAC1C,iBAAvBlL,EAAQmN,aAAyBnN,EAAQmN,WAAa,CAACnN,EAAQmN,aACtEnN,EAAQ6O,eAAiB7O,EAAQ6O,cAAcljB,QAAQ,UAAY,IACrEqU,EAAQ6O,cAAgB7O,EAAQ6O,cAAcnb,OAAO,CAAC,YAEjDsM,CACT,CAEA,SAASob,GAAQtuB,EAAQ+R,GAAkB,IAAIC,EAAO1Y,OAAO0Y,KAAKhS,GAAS,GAAI1G,OAAO2Y,sBAAuB,CAAE,IAAIC,EAAU5Y,OAAO2Y,sBAAsBjS,GAAS+R,IAAmBG,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAO9Y,OAAO8D,yBAAyB4C,EAAQoS,GAAKjL,UAAW,KAAM6K,EAAKzX,KAAKC,MAAMwX,EAAME,EAAS,CAAG,OAAOF,CAAO,CACrV,SAASuc,GAAc5d,GAAU,IAAK,IAAI5V,EAAI,EAAGA,EAAIH,UAAUgB,OAAQb,IAAK,CAAE,IAAIuX,EAAS,MAAQ1X,UAAUG,GAAKH,UAAUG,GAAK,CAAE,EAAEA,EAAI,EAAIuzB,GAAQh1B,OAAOgZ,IAAS,GAAItU,SAAQ,SAAUmS,GAAOyB,GAAgBjB,EAAQR,EAAKmC,EAAOnC,GAAQ,IAAI7W,OAAOiZ,0BAA4BjZ,OAAOkZ,iBAAiB7B,EAAQrX,OAAOiZ,0BAA0BD,IAAWgc,GAAQh1B,OAAOgZ,IAAStU,SAAQ,SAAUmS,GAAO7W,OAAOwX,eAAeH,EAAQR,EAAK7W,OAAO8D,yBAAyBkV,EAAQnC,GAAM,GAAM,CAAC,OAAOQ,CAAS,CAC1f,SAAS6d,GAAa3X,GAAW,IAAIC,EACrC,WAAuC,GAAuB,oBAAZjd,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUC,KAAM,OAAO,EAAO,GAAqB,mBAAVC,MAAsB,OAAO,EAAM,IAAsF,OAAhFC,QAAQf,UAAUgB,QAAQC,KAAKN,QAAQC,UAAUG,QAAS,IAAI,WAAc,MAAW,CAAO,CAAC,MAAOG,GAAK,OAAO,EAAU,CADxQC,GAA6B,OAAO,WAAkC,IAAsC2c,EAAlCC,EAAQtF,GAAgBkF,GAAkB,GAAIC,EAA2B,CAAE,IAAII,EAAYvF,GAAgBiB,MAAM3Z,YAAa+d,EAASnd,QAAQC,UAAUmd,EAAOrc,UAAWsc,QAAqBF,EAASC,EAAMzc,MAAMoY,KAAMhY,WAAc,OAAO6W,GAA2BmB,KAAMoE,EAAQ,CAAK,CAEza,SAASyX,KAAS,CASlB,IAAIC,GAAO,SAAU7W,GACnBvG,GAAUod,EAgfV1a,IA/eA,IAAI8D,EAAS0W,GAAaE,GAC1B,SAASA,IACP,IAAIta,EAZqBua,EAarBzb,EAAUtY,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK,CAAA,EAC9EqxB,EAAWrxB,UAAUgB,OAAS,EAAIhB,UAAU,QAAKgJ,EAarD,GAZAmM,GAAgB6C,KAAM8b,GACtBta,EAAQ0D,EAAO3d,KAAKyY,MAChByD,IACFrC,GAAa7Z,KAAKgX,GAAuBiD,IAE3CA,EAAMlB,QAAUmb,GAAiBnb,GACjCkB,EAAM8F,SAAW,GACjB9F,EAAMf,OAASN,GACfqB,EAAMwa,QAAU,CACdC,SAAU,IAxBaF,EA0BLxd,GAAuBiD,GAzBlC9a,OAAOw1B,oBAAoBx1B,OAAO6D,eAAewxB,IACvD3wB,SAAQ,SAAU4sB,GACI,mBAAd+D,EAAK/D,KACd+D,EAAK/D,GAAO+D,EAAK/D,GAAKjwB,KAAKg0B,GAEjC,IAqBQ1C,IAAa7X,EAAM2a,gBAAkB7b,EAAQ8b,QAAS,CACxD,IAAK5a,EAAMlB,QAAQ8a,cAEjB,OADA5Z,EAAMjB,KAAKD,EAAS+Y,GACbxa,GAA2B2C,EAAOjD,GAAuBiD,IAElEkZ,YAAW,WACTlZ,EAAMjB,KAAKD,EAAS+Y,EACrB,GAAE,EACJ,CACD,OAAO7X,CACR,CAmdD,OAldApD,GAAa0d,EAAM,CAAC,CAClBve,IAAK,OACLxU,MAAO,WACL,IAAI+f,EAAS9I,KACTM,EAAUtY,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK,CAAA,EAC9EqxB,EAAWrxB,UAAUgB,OAAS,EAAIhB,UAAU,QAAKgJ,EAC9B,mBAAZsP,IACT+Y,EAAW/Y,EACXA,EAAU,CAAA,IAEPA,EAAQ8E,YAAmC,IAAtB9E,EAAQ8E,WAAuB9E,EAAQ6E,KACrC,iBAAf7E,EAAQ6E,GACjB7E,EAAQ8E,UAAY9E,EAAQ6E,GACnB7E,EAAQ6E,GAAGlZ,QAAQ,eAAiB,IAC7CqU,EAAQ8E,UAAY9E,EAAQ6E,GAAG,KAGnC,IAAIkX,EAAU9tB,KAWd,SAAS+tB,EAAoBC,GAC3B,OAAKA,EACwB,mBAAlBA,EAAqC,IAAIA,EAC7CA,EAFoB,IAG5B,CACD,GAfAvc,KAAKM,QAAUqb,GAAcA,GAAcA,GAAc,CAAE,EAAEU,GAAUrc,KAAKM,SAAUmb,GAAiBnb,IACjE,OAAlCN,KAAKM,QAAQ8F,mBACfpG,KAAKM,QAAQoH,cAAgBiU,GAAcA,GAAc,CAAA,EAAIU,EAAQ3U,eAAgB1H,KAAKM,QAAQoH,qBAEvE1W,IAAzBsP,EAAQkE,eACVxE,KAAKM,QAAQ0H,wBAA0B1H,EAAQkE,mBAErBxT,IAAxBsP,EAAQsH,cACV5H,KAAKM,QAAQ2H,uBAAyB3H,EAAQsH,cAO3C5H,KAAKM,QAAQ8b,QAAS,CAMzB,IAAIhF,EALApX,KAAKgc,QAAQvb,OACfN,GAAWI,KAAK+b,EAAoBtc,KAAKgc,QAAQvb,QAAST,KAAKM,SAE/DH,GAAWI,KAAK,KAAMP,KAAKM,SAGzBN,KAAKgc,QAAQ5E,UACfA,EAAYpX,KAAKgc,QAAQ5E,UACA,oBAAThG,OAChBgG,EAAYC,IAEd,IAAImF,EAAK,IAAItN,GAAalP,KAAKM,SAC/BN,KAAK4Y,MAAQ,IAAI5T,GAAchF,KAAKM,QAAQsF,UAAW5F,KAAKM,SAC5D,IAAI3S,EAAIqS,KAAKsH,SACb3Z,EAAE8S,OAASN,GACXxS,EAAEihB,cAAgB5O,KAAK4Y,MACvBjrB,EAAE2d,cAAgBkR,EAClB7uB,EAAEid,eAAiB,IAAIqG,GAAeuL,EAAI,CACxCvK,QAASjS,KAAKM,QAAQiO,gBACtB4C,kBAAmBnR,KAAKM,QAAQ6Q,kBAChCsB,qBAAsBzS,KAAKM,QAAQmS,wBAEjC2E,GAAepX,KAAKM,QAAQoH,cAAcqL,QAAU/S,KAAKM,QAAQoH,cAAcqL,SAAWsJ,EAAQ3U,cAAcqL,SAClHplB,EAAEypB,UAAYkF,EAAoBlF,GAClCzpB,EAAEypB,UAAU7W,KAAK5S,EAAGqS,KAAKM,SACzBN,KAAKM,QAAQoH,cAAcqL,OAASplB,EAAEypB,UAAUrE,OAAOhrB,KAAK4F,EAAEypB,YAEhEzpB,EAAE+a,aAAe,IAAIoK,GAAa9S,KAAKM,SACvC3S,EAAEogB,MAAQ,CACRC,mBAAoBhO,KAAKgO,mBAAmBjmB,KAAKiY,OAEnDrS,EAAEoe,iBAAmB,IAAI2M,GAAU4D,EAAoBtc,KAAKgc,QAAQrD,SAAUhrB,EAAEihB,cAAejhB,EAAGqS,KAAKM,SACvG3S,EAAEoe,iBAAiB0Q,GAAG,KAAK,SAAU/a,GACnC,IAAK,IAAIhV,EAAO1E,UAAUgB,OAAQjC,EAAO,IAAIqB,MAAMsE,EAAO,EAAIA,EAAO,EAAI,GAAIC,EAAO,EAAGA,EAAOD,EAAMC,IAClG5F,EAAK4F,EAAO,GAAK3E,UAAU2E,GAE7Bmc,EAAOnD,KAAK/d,MAAMkhB,EAAQ,CAACpH,GAAO1N,OAAOjN,GACnD,IACYiZ,KAAKgc,QAAQU,mBACf/uB,EAAE+uB,iBAAmBJ,EAAoBtc,KAAKgc,QAAQU,kBAClD/uB,EAAE+uB,iBAAiBnc,MAAM5S,EAAE+uB,iBAAiBnc,KAAK5S,EAAGqS,KAAKM,QAAQqc,UAAW3c,KAAKM,UAEnFN,KAAKgc,QAAQlS,aACfnc,EAAEmc,WAAawS,EAAoBtc,KAAKgc,QAAQlS,YAC5Cnc,EAAEmc,WAAWvJ,MAAM5S,EAAEmc,WAAWvJ,KAAKP,OAE3CA,KAAK6G,WAAa,IAAIQ,GAAWrH,KAAKsH,SAAUtH,KAAKM,SACrDN,KAAK6G,WAAW4V,GAAG,KAAK,SAAU/a,GAChC,IAAK,IAAInV,EAAQvE,UAAUgB,OAAQjC,EAAO,IAAIqB,MAAMmE,EAAQ,EAAIA,EAAQ,EAAI,GAAIC,EAAQ,EAAGA,EAAQD,EAAOC,IACxGzF,EAAKyF,EAAQ,GAAKxE,UAAUwE,GAE9Bsc,EAAOnD,KAAK/d,MAAMkhB,EAAQ,CAACpH,GAAO1N,OAAOjN,GACnD,IACQiZ,KAAKgc,QAAQC,SAAS7wB,SAAQ,SAAUya,GAClCA,EAAEtF,MAAMsF,EAAEtF,KAAKuI,EAC7B,GACO,CAGD,GAFA9I,KAAK+S,OAAS/S,KAAKM,QAAQoH,cAAcqL,OACpCsG,IAAUA,EAAWwC,IACtB7b,KAAKM,QAAQkL,cAAgBxL,KAAKsH,SAASoV,mBAAqB1c,KAAKM,QAAQkF,IAAK,CACpF,IAAIsI,EAAQ9N,KAAKsH,SAASgE,cAAcC,iBAAiBvL,KAAKM,QAAQkL,aAClEsC,EAAM9kB,OAAS,GAAkB,QAAb8kB,EAAM,KAAc9N,KAAKM,QAAQkF,IAAMsI,EAAM,GACtE,CACI9N,KAAKsH,SAASoV,kBAAqB1c,KAAKM,QAAQkF,KACnDxF,KAAKS,OAAOhS,KAAK,2DAEJ,CAAC,cAAe,oBAAqB,oBAAqB,qBAChErD,SAAQ,SAAUivB,GACzBvR,EAAOuR,GAAU,WACf,IAAIuC,EACJ,OAAQA,EAAe9T,EAAO8P,OAAOyB,GAAQzyB,MAAMg1B,EAAc50B,UAC3E,CACA,IAC4B,CAAC,cAAe,eAAgB,oBAAqB,wBAC3DoD,SAAQ,SAAUivB,GAChCvR,EAAOuR,GAAU,WACf,IAAIwC,EAEJ,OADCA,EAAgB/T,EAAO8P,OAAOyB,GAAQzyB,MAAMi1B,EAAe70B,WACrD8gB,CACjB,CACA,IACM,IAAIgU,EAAWlb,KACX6N,EAAO,WACT,IAAIsN,EAAS,SAAgB9zB,EAAKse,GAC5BuB,EAAOqT,gBAAkBrT,EAAOkU,sBAAsBlU,EAAOrI,OAAOhS,KAAK,yEAC7Eqa,EAAOqT,eAAgB,EAClBrT,EAAOxI,QAAQ8b,SAAStT,EAAOrI,OAAOV,IAAI,cAAe+I,EAAOxI,SACrEwI,EAAOnD,KAAK,cAAemD,EAAOxI,SAClCwc,EAAS9a,QAAQuF,GACjB8R,EAASpwB,EAAKse,EACxB,EACQ,GAAIuB,EAAOsQ,WAAiD,OAApCtQ,EAAOxI,QAAQ8F,mBAA8B0C,EAAOqT,cAAe,OAAOY,EAAO,KAAMjU,EAAOvB,EAAExf,KAAK+gB,IAC7HA,EAAOmU,eAAenU,EAAOxI,QAAQkF,IAAKuX,EAClD,EAMM,OALI/c,KAAKM,QAAQsF,YAAc5F,KAAKM,QAAQ8a,cAC1C3L,IAEAiL,WAAWjL,EAAM,GAEZqN,CACR,GACA,CACDvf,IAAK,gBACLxU,MAAO,SAAuB0e,GAC5B,IAAI4E,EAASrM,KAETkd,EADWl1B,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK6zB,GAE/EtS,EAA8B,iBAAb9B,EAAwBA,EAAWzH,KAAKyH,SAE7D,GADwB,mBAAbA,IAAyByV,EAAezV,IAC9CzH,KAAKM,QAAQsF,WAAa5F,KAAKM,QAAQgb,wBAAyB,CACnE,GAAI/R,GAAqC,WAA1BA,EAAQ7d,cAA4B,OAAOwxB,IAC1D,IAAI5D,EAAS,GACT6D,EAAS,SAAgB3X,GACtBA,GACM6G,EAAO/E,SAASgE,cAAcI,mBAAmBlG,GACvDpa,SAAQ,SAAU4B,GACjBssB,EAAOrtB,QAAQe,GAAK,GAAGssB,EAAO3xB,KAAKqF,EACnD,GACA,EACQ,GAAKuc,EAMH4T,EAAO5T,QALSvJ,KAAKsH,SAASgE,cAAcC,iBAAiBvL,KAAKM,QAAQkL,aAChEpgB,SAAQ,SAAU4B,GAC1B,OAAOmwB,EAAOnwB,EAC1B,IAIYgT,KAAKM,QAAQ+a,SACfrb,KAAKM,QAAQ+a,QAAQjwB,SAAQ,SAAU4B,GACrC,OAAOmwB,EAAOnwB,EAC1B,IAEQgT,KAAKsH,SAASyE,iBAAiB0D,KAAK6J,EAAQtZ,KAAKM,QAAQ6E,IAAI,SAAU3d,GAChEA,GAAM6kB,EAAO+Q,mBAAoB/Q,EAAO5E,UAAU4E,EAAOgR,oBAAoBhR,EAAO5E,UACzFyV,EAAa11B,EACvB,GACA,MACQ01B,EAAa,KAEhB,GACA,CACD3f,IAAK,kBACLxU,MAAO,SAAyBqiB,EAAMjG,EAAIkU,GACxC,IAAIyD,EAAWlb,KAQf,OAPKwJ,IAAMA,EAAOpL,KAAKoZ,WAClBjU,IAAIA,EAAKnF,KAAKM,QAAQ6E,IACtBkU,IAAUA,EAAWwC,IAC1B7b,KAAKsH,SAASyE,iBAAiB4N,OAAOvO,EAAMjG,GAAI,SAAUlc,GACxD6zB,EAAS9a,UACTqX,EAASpwB,EACjB,IACa6zB,CACR,GACA,CACDvf,IAAK,MACLxU,MAAO,SAAa4d,GAClB,IAAKA,EAAQ,MAAM,IAAI2W,MAAM,iGAC7B,IAAK3W,EAAO7G,KAAM,MAAM,IAAIwd,MAAM,4FAsBlC,MArBoB,YAAhB3W,EAAO7G,OACTE,KAAKgc,QAAQrD,QAAUhS,IAEL,WAAhBA,EAAO7G,MAAqB6G,EAAO5G,KAAO4G,EAAOlY,MAAQkY,EAAOzG,SAClEF,KAAKgc,QAAQvb,OAASkG,GAEJ,qBAAhBA,EAAO7G,OACTE,KAAKgc,QAAQU,iBAAmB/V,GAEd,eAAhBA,EAAO7G,OACTE,KAAKgc,QAAQlS,WAAanD,GAER,kBAAhBA,EAAO7G,MACT0G,GAAcE,iBAAiBC,GAEb,cAAhBA,EAAO7G,OACTE,KAAKgc,QAAQ5E,UAAYzQ,GAEP,aAAhBA,EAAO7G,MACTE,KAAKgc,QAAQC,SAASt0B,KAAKgf,GAEtB3G,IACR,GACA,CACDzC,IAAK,sBACLxU,MAAO,SAA6BiE,GAClC,GAAKA,GAAMgT,KAAKoZ,aACZ,CAAC,SAAU,OAAOntB,QAAQe,IAAM,GACpC,IAAK,IAAIuwB,EAAK,EAAGA,EAAKvd,KAAKoZ,UAAUpwB,OAAQu0B,IAAM,CACjD,IAAIC,EAAYxd,KAAKoZ,UAAUmE,GAC/B,KAAI,CAAC,SAAU,OAAOtxB,QAAQuxB,IAAc,IACxCxd,KAAK4Y,MAAM6E,4BAA4BD,GAAY,CACrDxd,KAAKod,iBAAmBI,EACxB,KACD,CACF,CACF,GACA,CACDjgB,IAAK,iBACLxU,MAAO,SAAwByc,EAAK6T,GAClC,IAAI9L,EAASvN,KACbA,KAAK0d,qBAAuBlY,EAC5B,IAAIsX,EAAWlb,KACf5B,KAAK2F,KAAK,mBAAoBH,GAC9B,IAAImY,EAAc,SAAqB3wB,GACrCugB,EAAO9F,SAAWza,EAClBugB,EAAO6L,UAAY7L,EAAOjG,SAASgE,cAAcI,mBAAmB1e,GACpEugB,EAAO6P,sBAAmBpsB,EAC1Buc,EAAO8P,oBAAoBrwB,EACnC,EAkBU4wB,EAAS,SAAgBxS,GACtB5F,GAAQ4F,IAAQmC,EAAOjG,SAASoV,mBAAkBtR,EAAO,IAC9D,IAAIpe,EAAoB,iBAAToe,EAAoBA,EAAOmC,EAAOjG,SAASgE,cAAcuS,sBAAsBzS,GAC1Fpe,IACGugB,EAAO9F,UACVkW,EAAY3wB,GAETugB,EAAO1G,WAAWY,UAAU8F,EAAO1G,WAAWoW,eAAejwB,GAC9DugB,EAAOjG,SAASoV,kBAAoBnP,EAAOjG,SAASoV,iBAAiBoB,mBAAmBvQ,EAAOjG,SAASoV,iBAAiBoB,kBAAkB9wB,IAEjJugB,EAAOwQ,cAAc/wB,GAAG,SAAU/D,IA3BzB,SAAcA,EAAK+D,GACxBA,GACF2wB,EAAY3wB,GACZugB,EAAO1G,WAAWoW,eAAejwB,GACjCugB,EAAOmQ,0BAAuB1sB,EAC9Buc,EAAO5H,KAAK,kBAAmB3Y,GAC/BugB,EAAO9M,OAAOV,IAAI,kBAAmB/S,IAErCugB,EAAOmQ,0BAAuB1sB,EAEhC8rB,EAAS9a,SAAQ,WACf,OAAOuL,EAAOhG,EAAE3f,MAAM2lB,EAAQvlB,UACxC,IACYqxB,GAAUA,EAASpwB,GAAK,WAC1B,OAAOskB,EAAOhG,EAAE3f,MAAM2lB,EAAQvlB,UACxC,GACA,CAYUc,CAAKG,EAAK+D,EACpB,GACA,EAYM,OAXKwY,IAAOxF,KAAKsH,SAASoV,kBAAqB1c,KAAKsH,SAASoV,iBAAiBsB,OAElExY,GAAOxF,KAAKsH,SAASoV,kBAAoB1c,KAAKsH,SAASoV,iBAAiBsB,MAC7B,IAAjDhe,KAAKsH,SAASoV,iBAAiBuB,OAAOj1B,OACxCgX,KAAKsH,SAASoV,iBAAiBuB,SAAStD,KAAKiD,GAE7C5d,KAAKsH,SAASoV,iBAAiBuB,OAAOL,GAGxCA,EAAOpY,GARPoY,EAAO5d,KAAKsH,SAASoV,iBAAiBuB,UAUjCnB,CACR,GACA,CACDvf,IAAK,YACLxU,MAAO,SAAmByc,EAAKL,EAAI+Y,GACjC,IAAInD,EAAS/a,KACTme,EAAS,SAASA,EAAO5gB,EAAK4d,GAChC,IAAI7a,EACJ,GAAsB,WAAlBra,GAAQk1B,GAAoB,CAC9B,IAAK,IAAIta,EAAQ7Y,UAAUgB,OAAQo1B,EAAO,IAAIh2B,MAAMyY,EAAQ,EAAIA,EAAQ,EAAI,GAAIC,EAAQ,EAAGA,EAAQD,EAAOC,IACxGsd,EAAKtd,EAAQ,GAAK9Y,UAAU8Y,GAE9BR,EAAUya,EAAOza,QAAQyI,iCAAiC,CAACxL,EAAK4d,GAAMnnB,OAAOoqB,GACvF,MACU9d,EAAUqb,GAAc,GAAIR,GAE9B7a,EAAQkF,IAAMlF,EAAQkF,KAAO2Y,EAAO3Y,IACpClF,EAAQ8K,KAAO9K,EAAQ8K,MAAQ+S,EAAO/S,KACtC9K,EAAQ6E,GAAK7E,EAAQ6E,IAAMgZ,EAAOhZ,GAClC7E,EAAQ4d,UAAY5d,EAAQ4d,WAAaA,GAAaC,EAAOD,UAC7D,IACIG,EADA7Z,EAAeuW,EAAOza,QAAQkE,cAAgB,IASlD,OANE6Z,EADE/d,EAAQ4d,WAAa91B,MAAMC,QAAQkV,GACzBA,EAAI8K,KAAI,SAAU1F,GAC5B,MAAO,GAAG3O,OAAOsM,EAAQ4d,WAAWlqB,OAAOwQ,GAAcxQ,OAAO2O,EAC5E,IAEsBrC,EAAQ4d,UAAY,GAAGlqB,OAAOsM,EAAQ4d,WAAWlqB,OAAOwQ,GAAcxQ,OAAOuJ,GAAOA,EAE3Fwd,EAAOxT,EAAE8W,EAAW/d,EACnC,EAQM,MAPmB,iBAARkF,EACT2Y,EAAO3Y,IAAMA,EAEb2Y,EAAO/S,KAAO5F,EAEhB2Y,EAAOhZ,GAAKA,EACZgZ,EAAOD,UAAYA,EACZC,CACR,GACA,CACD5gB,IAAK,IACLxU,MAAO,WACL,IAAIu1B,EACJ,OAAOte,KAAK6G,aAAeyX,EAAmBte,KAAK6G,YAAYwD,UAAUziB,MAAM02B,EAAkBt2B,UAClG,GACA,CACDuV,IAAK,SACLxU,MAAO,WACL,IAAIw1B,EACJ,OAAOve,KAAK6G,aAAe0X,EAAoBve,KAAK6G,YAAY2X,OAAO52B,MAAM22B,EAAmBv2B,UACjG,GACA,CACDuV,IAAK,sBACLxU,MAAO,SAA6Boc,GAClCnF,KAAKM,QAAQ8E,UAAYD,CAC1B,GACA,CACD5H,IAAK,qBACLxU,MAAO,SAA4Boc,GACjC,IAAIsZ,EAASze,KACTM,EAAUtY,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK,CAAA,EAClF,IAAKgY,KAAKmc,cAER,OADAnc,KAAKS,OAAOhS,KAAK,kDAAmDuR,KAAKoZ,YAClE,EAET,IAAKpZ,KAAKoZ,YAAcpZ,KAAKoZ,UAAUpwB,OAErC,OADAgX,KAAKS,OAAOhS,KAAK,6DAA8DuR,KAAKoZ,YAC7E,EAET,IAAI5T,EAAMxF,KAAKod,kBAAoBpd,KAAKoZ,UAAU,GAC9C5N,IAAcxL,KAAKM,SAAUN,KAAKM,QAAQkL,YAC1CkT,EAAU1e,KAAKoZ,UAAUpZ,KAAKoZ,UAAUpwB,OAAS,GACrD,GAA0B,WAAtBwc,EAAI9Z,cAA4B,OAAO,EAC3C,IAAIizB,EAAiB,SAAwB3xB,EAAGlD,GAC9C,IAAI80B,EAAYH,EAAOnX,SAASyE,iBAAiBmN,MAAM,GAAGllB,OAAOhH,EAAG,KAAKgH,OAAOlK,IAChF,OAAsB,IAAf80B,GAAkC,IAAdA,CACnC,EACM,GAAIte,EAAQue,SAAU,CACpB,IAAIC,EAAYxe,EAAQue,SAAS7e,KAAM2e,GACvC,QAAkB3tB,IAAd8tB,EAAyB,OAAOA,CACrC,CACD,QAAI9e,KAAKiG,kBAAkBT,EAAKL,OAC3BnF,KAAKsH,SAASyE,iBAAiB4M,WAAW3Y,KAAKM,QAAQsF,WAAc5F,KAAKM,QAAQgb,8BACnFqD,EAAenZ,EAAKL,IAASqG,IAAemT,EAAeD,EAASvZ,IAEzE,GACA,CACD5H,IAAK,iBACLxU,MAAO,SAAwBoc,EAAIkU,GACjC,IAAI0F,EAAS/e,KACT8c,EAAWlb,KACf,OAAK5B,KAAKM,QAAQ6E,IAIA,iBAAPA,IAAiBA,EAAK,CAACA,IAClCA,EAAG/Z,SAAQ,SAAUtB,GACfi1B,EAAOze,QAAQ6E,GAAGlZ,QAAQnC,GAAK,GAAGi1B,EAAOze,QAAQ6E,GAAGxd,KAAKmC,EACrE,IACMkW,KAAK+d,eAAc,SAAU90B,GAC3B6zB,EAAS9a,UACLqX,GAAUA,EAASpwB,EAC/B,IACa6zB,IAXDzD,GAAUA,IACPtX,QAAQC,UAWlB,GACA,CACDzE,IAAK,gBACLxU,MAAO,SAAuBqiB,EAAMiO,GAClC,IAAIyD,EAAWlb,KACK,iBAATwJ,IAAmBA,EAAO,CAACA,IACtC,IAAI4T,EAAYhf,KAAKM,QAAQ+a,SAAW,GACpC4D,EAAU7T,EAAK7L,QAAO,SAAUiG,GAClC,OAAOwZ,EAAU/yB,QAAQuZ,GAAO,CACxC,IACM,OAAKyZ,EAAQj2B,QAIbgX,KAAKM,QAAQ+a,QAAU2D,EAAUhrB,OAAOirB,GACxCjf,KAAK+d,eAAc,SAAU90B,GAC3B6zB,EAAS9a,UACLqX,GAAUA,EAASpwB,EAC/B,IACa6zB,IARDzD,GAAUA,IACPtX,QAAQC,UAQlB,GACA,CACDzE,IAAK,MACLxU,MAAO,SAAayc,GAElB,GADKA,IAAKA,EAAMxF,KAAKod,mBAAqBpd,KAAKoZ,WAAapZ,KAAKoZ,UAAUpwB,OAAS,EAAIgX,KAAKoZ,UAAU,GAAKpZ,KAAKyH,YAC5GjC,EAAK,MAAO,MACjB,IACI8F,EAAgBtL,KAAKsH,UAAYtH,KAAKsH,SAASgE,eAAiB,IAAI4D,GAAa3gB,MACrF,MAFc,CAAC,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,KAAM,KAAM,MAAO,MAAO,MAAO,KAAM,KAAM,MAAO,MAAO,MAAO,KAAM,MAAO,MAAO,MAAO,MAAO,KAAM,MAAO,OAEjatC,QAAQqf,EAAcqE,wBAAwBnK,KAAS,GAAKA,EAAI9Z,cAAcO,QAAQ,SAAW,EAAI,MAAQ,KAC7H,GACA,CACDsR,IAAK,gBACLxU,MAAO,WACL,IAAIm2B,EAASlf,KACTM,EAAUtY,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK,CAAA,EAC9EqxB,EAAWrxB,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK6zB,GAC/EsD,EAAgBxD,GAAcA,GAAcA,GAAc,CAAE,EAAE3b,KAAKM,SAAUA,GAAU,CACzF8b,SAAS,IAEPjvB,EAAQ,IAAI2uB,EAAKqD,QACCnuB,IAAlBsP,EAAQI,YAA0C1P,IAAnBsP,EAAQE,SACzCrT,EAAMsT,OAAStT,EAAMsT,OAAOtT,MAAMmT,IAsBpC,MApBoB,CAAC,QAAS,WAAY,YAC5BlV,SAAQ,SAAUya,GAC9B1Y,EAAM0Y,GAAKqZ,EAAOrZ,EAC1B,IACM1Y,EAAMma,SAAWqU,GAAc,CAAE,EAAE3b,KAAKsH,UACxCna,EAAMma,SAASyG,MAAQ,CACrBC,mBAAoB7gB,EAAM6gB,mBAAmBjmB,KAAKoF,IAEpDA,EAAM0Z,WAAa,IAAIQ,GAAWla,EAAMma,SAAUna,EAAMmT,SACxDnT,EAAM0Z,WAAW4V,GAAG,KAAK,SAAU/a,GACjC,IAAK,IAAIX,EAAQ/Y,UAAUgB,OAAQjC,EAAO,IAAIqB,MAAM2Y,EAAQ,EAAIA,EAAQ,EAAI,GAAIC,EAAQ,EAAGA,EAAQD,EAAOC,IACxGja,EAAKia,EAAQ,GAAKhZ,UAAUgZ,GAE9B7T,EAAMwY,KAAK/d,MAAMuF,EAAO,CAACuU,GAAO1N,OAAOjN,GAC/C,IACMoG,EAAMoT,KAAK4e,EAAe9F,GAC1BlsB,EAAM0Z,WAAWvG,QAAUnT,EAAMmT,QACjCnT,EAAM0Z,WAAWkF,iBAAiBzE,SAASyG,MAAQ,CACjDC,mBAAoB7gB,EAAM6gB,mBAAmBjmB,KAAKoF,IAE7CA,CACR,GACA,CACDoQ,IAAK,SACLxU,MAAO,WACL,MAAO,CACLuX,QAASN,KAAKM,QACdsY,MAAO5Y,KAAK4Y,MACZnR,SAAUzH,KAAKyH,SACf2R,UAAWpZ,KAAKoZ,UAChBgE,iBAAkBpd,KAAKod,iBAE1B,KAEItB,CACT,CAjfW,GAkfX9c,GAAgB8c,GAAM,kBAAkB,WAGtC,OAAO,IAAIA,GAFG9zB,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK,CAAA,EACnEA,UAAUgB,OAAS,EAAIhB,UAAU,QAAKgJ,EAEvD,IACA,IAAInJ,GAAWi0B,GAAKsD,iBACpBv3B,GAASu3B,eAAiBtD,GAAKsD,eAEVv3B,GAASu3B,eACpBv3B,GAASw3B,IACRx3B,GAAS0Y,KACA1Y,GAASk2B,cACPl2B,GAASy3B,gBACrBz3B,GAAS03B,IACE13B,GAASo1B,eACdp1B,GAAS23B,UACjB33B,GAAS0f,EACJ1f,GAAS22B,OACI32B,GAAS43B,oBACV53B,GAASmmB,mBACbnmB,GAAS63B,eACV73B,GAAS83B,cEl8E7B,IAAIz3B,GAAM,GACN03B,GAAO13B,GAAIkD,QACXpB,GAAQ9B,GAAI8B,MAahB,IAAI61B,GAAqB,wCAoDrBC,GACM,SAAgB71B,EAAMlB,EAAOg3B,EAASC,GAC5C,IAAIC,EAAgBj4B,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK,CACtFoa,KAAM,IACN8d,SAAU,UAERH,IACFE,EAAcE,QAAU,IAAIC,KAC5BH,EAAcE,QAAQE,QAAQJ,EAAcE,QAAQG,UAAsB,GAAVP,EAAe,MAE7EC,IAAQC,EAAcD,OAASA,GACnC9vB,SAAS4vB,OA9DS,SAAyB71B,EAAMsqB,EAAKjU,GACxD,IAAIiW,EAAMjW,GAAW,GACrBiW,EAAInU,KAAOmU,EAAInU,MAAQ,IACvB,IAAIrZ,EAAQw3B,mBAAmBhM,GAC3BjR,EAAM,GAAGtP,OAAO/J,EAAM,KAAK+J,OAAOjL,GACtC,GAAIwtB,EAAIiK,OAAS,EAAG,CAClB,IAAIA,EAASjK,EAAIiK,OAAS,EAC1B,GAAI3iB,OAAOiZ,MAAM0J,GAAS,MAAM,IAAIlD,MAAM,6BAC1Cha,GAAO,aAAatP,OAAOue,KAAKkO,MAAMD,GACvC,CACD,GAAIjK,EAAIyJ,OAAQ,CACd,IAAKH,GAAmB31B,KAAKqsB,EAAIyJ,QAC/B,MAAM,IAAI52B,UAAU,4BAEtBka,GAAO,YAAYtP,OAAOuiB,EAAIyJ,OAC/B,CACD,GAAIzJ,EAAInU,KAAM,CACZ,IAAKyd,GAAmB31B,KAAKqsB,EAAInU,MAC/B,MAAM,IAAIhZ,UAAU,0BAEtBka,GAAO,UAAUtP,OAAOuiB,EAAInU,KAC7B,CACD,GAAImU,EAAI4J,QAAS,CACf,GAAuC,mBAA5B5J,EAAI4J,QAAQO,YACrB,MAAM,IAAIt3B,UAAU,6BAEtBka,GAAO,aAAatP,OAAOuiB,EAAI4J,QAAQO,cACxC,CAGD,GAFInK,EAAIoK,WAAUrd,GAAO,cACrBiT,EAAIqK,SAAQtd,GAAO,YACnBiT,EAAI2J,SAEN,OADuC,iBAAjB3J,EAAI2J,SAAwB3J,EAAI2J,SAASx0B,cAAgB6qB,EAAI2J,UAEjF,KAAK,EACH5c,GAAO,oBACP,MACF,IAAK,MACHA,GAAO,iBACP,MACF,IAAK,SACHA,GAAO,oBACP,MACF,IAAK,OACHA,GAAO,kBACP,MACF,QACE,MAAM,IAAIla,UAAU,8BAG1B,OAAOka,CACT,CAYsBud,CAAgB52B,EAAMs2B,mBAAmBx3B,GAAQk3B,EACpE,EAZCH,GAaI,SAAc71B,GAGlB,IAFA,IAAI62B,EAAS,GAAG9sB,OAAO/J,EAAM,KACzB82B,EAAK7wB,SAAS4vB,OAAOre,MAAM,KACtBtZ,EAAI,EAAGA,EAAI44B,EAAG/3B,OAAQb,IAAK,CAElC,IADA,IAAIggB,EAAI4Y,EAAG54B,GACY,MAAhBggB,EAAE6G,OAAO,IACd7G,EAAIA,EAAEK,UAAU,EAAGL,EAAEnf,QAEvB,GAA0B,IAAtBmf,EAAElc,QAAQ60B,GAAe,OAAO3Y,EAAEK,UAAUsY,EAAO93B,OAAQmf,EAAEnf,OAClE,CACD,OAAO,IACR,EAKCg4B,GAAW,CACb/2B,KAAM,SACNg3B,OAAQ,SAAgB3gB,GACtB,IAAIgN,EACJ,GAAIhN,EAAQ4gB,cAAoC,oBAAbhxB,SAA0B,CAC3D,IAAIiY,EAAI2X,GAAYxf,EAAQ4gB,cACxB/Y,IAAGmF,EAAQnF,EAChB,CACD,OAAOmF,CACR,EACDwQ,kBAAmB,SAA2BtY,EAAKlF,GAC7CA,EAAQ4gB,cAAoC,oBAAbhxB,UACjC4vB,GAAcxf,EAAQ4gB,aAAc1b,EAAKlF,EAAQ6gB,cAAe7gB,EAAQ8gB,aAAc9gB,EAAQ2f,cAEjG,GAGCoB,GAAc,CAChBp3B,KAAM,cACNg3B,OAAQ,SAAgB3gB,GACtB,IAAIgN,EACJ,GAAsB,oBAAXvd,OAAwB,CACjC,IAAIuxB,EAASvxB,OAAOwxB,SAASD,QACxBvxB,OAAOwxB,SAASD,QAAUvxB,OAAOwxB,SAASC,MAAQzxB,OAAOwxB,SAASC,KAAKv1B,QAAQ,MAAQ,IAC1Fq1B,EAASvxB,OAAOwxB,SAASC,KAAKhZ,UAAUzY,OAAOwxB,SAASC,KAAKv1B,QAAQ,OAIvE,IAFA,IACIw1B,EADQH,EAAO9Y,UAAU,GACV/G,MAAM,KAChBtZ,EAAI,EAAGA,EAAIs5B,EAAOz4B,OAAQb,IAAK,CACtC,IAAIu5B,EAAMD,EAAOt5B,GAAG8D,QAAQ,KAC5B,GAAIy1B,EAAM,EACED,EAAOt5B,GAAGqgB,UAAU,EAAGkZ,KACrBphB,EAAQqhB,oBAClBrU,EAAQmU,EAAOt5B,GAAGqgB,UAAUkZ,EAAM,GAGvC,CACF,CACD,OAAOpU,CACR,GAGCsU,GAAyB,KACzBC,GAAwB,WAC1B,GAA+B,OAA3BD,GAAiC,OAAOA,GAC5C,IACEA,GAAoC,cAAX7xB,QAAkD,OAAxBA,OAAO+xB,aAC1D,IAAIC,EAAU,wBACdhyB,OAAO+xB,aAAaE,QAAQD,EAAS,OACrChyB,OAAO+xB,aAAaG,WAAWF,EAChC,CAAC,MAAOv6B,GACPo6B,IAAyB,CAC1B,CACD,OAAOA,EACT,EACIE,GAAe,CACjB73B,KAAM,eACNg3B,OAAQ,SAAgB3gB,GACtB,IAAIgN,EACJ,GAAIhN,EAAQ4hB,oBAAsBL,KAAyB,CACzD,IAAIrc,EAAMzV,OAAO+xB,aAAaK,QAAQ7hB,EAAQ4hB,oBAC1C1c,IAAK8H,EAAQ9H,EAClB,CACD,OAAO8H,CACR,EACDwQ,kBAAmB,SAA2BtY,EAAKlF,GAC7CA,EAAQ4hB,oBAAsBL,MAChC9xB,OAAO+xB,aAAaE,QAAQ1hB,EAAQ4hB,mBAAoB1c,EAE3D,GAGC4c,GAA2B,KAC3BC,GAA0B,WAC5B,GAAiC,OAA7BD,GAAmC,OAAOA,GAC9C,IACEA,GAAsC,cAAXryB,QAAoD,OAA1BA,OAAOuyB,eAC5D,IAAIP,EAAU,wBACdhyB,OAAOuyB,eAAeN,QAAQD,EAAS,OACvChyB,OAAOuyB,eAAeL,WAAWF,EAClC,CAAC,MAAOv6B,GACP46B,IAA2B,CAC5B,CACD,OAAOA,EACT,EACIE,GAAiB,CACnBr4B,KAAM,iBACNg3B,OAAQ,SAAgB3gB,GACtB,IAAIgN,EACJ,GAAIhN,EAAQiiB,sBAAwBF,KAA2B,CAC7D,IAAI7c,EAAMzV,OAAOuyB,eAAeH,QAAQ7hB,EAAQiiB,sBAC5C/c,IAAK8H,EAAQ9H,EAClB,CACD,OAAO8H,CACR,EACDwQ,kBAAmB,SAA2BtY,EAAKlF,GAC7CA,EAAQiiB,sBAAwBF,MAClCtyB,OAAOuyB,eAAeN,QAAQ1hB,EAAQiiB,qBAAsB/c,EAE/D,GAGCgd,GAAc,CAChBv4B,KAAM,YACNg3B,OAAQ,SAAgB3gB,GACtB,IAAIgN,EAAQ,GACZ,GAAyB,oBAAd5J,UAA2B,CACpC,GAAIA,UAAU0V,UAEZ,IAAK,IAAIjxB,EAAI,EAAGA,EAAIub,UAAU0V,UAAUpwB,OAAQb,IAC9CmlB,EAAM3lB,KAAK+b,UAAU0V,UAAUjxB,IAG/Bub,UAAU+e,cACZnV,EAAM3lB,KAAK+b,UAAU+e,cAEnB/e,UAAU+D,UACZ6F,EAAM3lB,KAAK+b,UAAU+D,SAExB,CACD,OAAO6F,EAAMtkB,OAAS,EAAIskB,OAAQtc,CACnC,GAGC0xB,GAAU,CACZz4B,KAAM,UACNg3B,OAAQ,SAAgB3gB,GACtB,IAAIgN,EACAoV,EAAUpiB,EAAQoiB,UAAgC,oBAAbxyB,SAA2BA,SAAS2I,gBAAkB,MAI/F,OAHI6pB,GAA2C,mBAAzBA,EAAQlyB,eAC5B8c,EAAQoV,EAAQlyB,aAAa,SAExB8c,CACR,GAGClL,GAAO,CACTnY,KAAM,OACNg3B,OAAQ,SAAgB3gB,GACtB,IAAIgN,EACJ,GAAsB,oBAAXvd,OAAwB,CACjC,IAAI0X,EAAW1X,OAAOwxB,SAASoB,SAAS92B,MAAM,mBAC9C,GAAI4b,aAAoBrf,MACtB,GAA2C,iBAAhCkY,EAAQsiB,oBAAkC,CACnD,GAAqD,iBAA1Cnb,EAASnH,EAAQsiB,qBAC1B,OAEFtV,EAAQ7F,EAASnH,EAAQsiB,qBAAqB72B,QAAQ,IAAK,GACrE,MACUuhB,EAAQ7F,EAAS,GAAG1b,QAAQ,IAAK,GAGtC,CACD,OAAOuhB,CACR,GAGCuV,GAAY,CACd54B,KAAM,YACNg3B,OAAQ,SAAgB3gB,GAEtB,IAAIwiB,EAAuE,iBAArCxiB,EAAQwiB,yBAAwCxiB,EAAQwiB,yBAA2B,EAAI,EAIzHrb,EAA6B,oBAAX1X,QAA0BA,OAAOwxB,UAAYxxB,OAAOwxB,SAASwB,UAAYhzB,OAAOwxB,SAASwB,SAASl3B,MAAM,0DAG9H,GAAK4b,EAEL,OAAOA,EAASqb,EACjB,GAiBH,IAAIE,GAAuB,WACzB,SAASA,EAAQ1b,GACf,IAAIhH,EAAUtY,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK,CAAA,EAClFmV,GAAgB6C,KAAMgjB,GACtBhjB,KAAKF,KAAO,mBACZE,KAAKijB,UAAY,GACjBjjB,KAAKO,KAAK+G,EAAUhH,EACrB,CAsDD,OArDAlC,GAAa4kB,EAAS,CAAC,CACrBzlB,IAAK,OACLxU,MAAO,SAAcue,GACnB,IAAIhH,EAAUtY,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK,CAAA,EAC9Ek7B,EAAcl7B,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK,CAAA,EACtFgY,KAAKsH,SAAWA,EAChBtH,KAAKM,QAvSX,SAAkBpa,GAQhB,OAPA05B,GAAKr4B,KAAKyC,GAAMzC,KAAKS,UAAW,IAAI,SAAU0X,GAC5C,GAAIA,EACF,IAAK,IAAIrR,KAAQqR,OACG1O,IAAd9K,EAAImI,KAAqBnI,EAAImI,GAAQqR,EAAOrR,GAGxD,IACSnI,CACT,CA8RqBi9B,CAAS7iB,EAASN,KAAKM,SAAW,CAAA,EA3B9C,CACL8iB,MAAO,CAAC,cAAe,SAAU,eAAgB,iBAAkB,YAAa,WAChFzB,kBAAmB,MACnBT,aAAc,UACdgB,mBAAoB,aACpBK,qBAAsB,aAEtBc,OAAQ,CAAC,gBACTC,gBAAiB,CAAC,YAsBZtjB,KAAKM,QAAQijB,qBAAoBvjB,KAAKM,QAAQsiB,oBAAsB5iB,KAAKM,QAAQijB,oBACrFvjB,KAAKkjB,YAAcA,EACnBljB,KAAKwjB,YAAYxC,IACjBhhB,KAAKwjB,YAAYnC,IACjBrhB,KAAKwjB,YAAY1B,IACjB9hB,KAAKwjB,YAAYlB,IACjBtiB,KAAKwjB,YAAYhB,IACjBxiB,KAAKwjB,YAAYd,IACjB1iB,KAAKwjB,YAAYphB,IACjBpC,KAAKwjB,YAAYX,GAClB,GACA,CACDtlB,IAAK,cACLxU,MAAO,SAAqB06B,GAC1BzjB,KAAKijB,UAAUQ,EAASx5B,MAAQw5B,CACjC,GACA,CACDlmB,IAAK,SACLxU,MAAO,SAAgB26B,GACrB,IAAIliB,EAAQxB,KACP0jB,IAAgBA,EAAiB1jB,KAAKM,QAAQ8iB,OACnD,IAAIO,EAAW,GAQf,OAPAD,EAAet4B,SAAQ,SAAUw4B,GAC/B,GAAIpiB,EAAMyhB,UAAUW,GAAe,CACjC,IAAI3C,EAASzf,EAAMyhB,UAAUW,GAAc3C,OAAOzf,EAAMlB,SACpD2gB,GAA4B,iBAAXA,IAAqBA,EAAS,CAACA,IAChDA,IAAQ0C,EAAWA,EAAS3vB,OAAOitB,GACxC,CACT,IACUjhB,KAAKsH,SAASgE,cAAcuS,sBAA8B8F,EACvDA,EAAS36B,OAAS,EAAI26B,EAAS,GAAK,IAC5C,GACA,CACDpmB,IAAK,oBACLxU,MAAO,SAA2Byc,EAAK6d,GACrC,IAAIva,EAAS9I,KACRqjB,IAAQA,EAASrjB,KAAKM,QAAQ+iB,QAC9BA,IACDrjB,KAAKM,QAAQgjB,iBAAmBtjB,KAAKM,QAAQgjB,gBAAgBr3B,QAAQuZ,IAAQ,GACjF6d,EAAOj4B,SAAQ,SAAUy4B,GACnB/a,EAAOma,UAAUY,IAAY/a,EAAOma,UAAUY,GAAW/F,kBAAkBtY,EAAKsD,EAAOxI,QACnG,IACK,KAEI0iB,CACT,CA9D2B,GC9RZ,SAASc,GAAyBpkB,EAAQqkB,GACvD,GAAc,MAAVrkB,EAAgB,MAAO,GAC3B,IACInC,EAAKpV,EADL4V,ECHS,SAAuC2B,EAAQqkB,GAC5D,GAAc,MAAVrkB,EAAgB,MAAO,GAC3B,IAEInC,EAAKpV,EAFL4V,EAAS,CAAA,EACTimB,EAAat9B,OAAO0Y,KAAKM,GAE7B,IAAKvX,EAAI,EAAGA,EAAI67B,EAAWh7B,OAAQb,IACjCoV,EAAMymB,EAAW77B,GACb47B,EAAS93B,QAAQsR,IAAQ,IAC7BQ,EAAOR,GAAOmC,EAAOnC,IAEvB,OAAOQ,CACT,CDRekmB,CAA6BvkB,EAAQqkB,GAElD,GAAIr9B,OAAO2Y,sBAAuB,CAChC,IAAI6kB,EAAmBx9B,OAAO2Y,sBAAsBK,GACpD,IAAKvX,EAAI,EAAGA,EAAI+7B,EAAiBl7B,OAAQb,IACvCoV,EAAM2mB,EAAiB/7B,GACnB47B,EAAS93B,QAAQsR,IAAQ,GACxB7W,OAAOJ,UAAU69B,qBAAqB58B,KAAKmY,EAAQnC,KACxDQ,EAAOR,GAAOmC,EAAOnC,GAExB,CACD,OAAOQ,CACT,CD+UAilB,GAAQljB,KAAO,oKGzVfskB,GAAiB,CACfC,MAAQ,EACRC,MAAQ,EACRC,IAAM,EACNC,KAAO,EACPC,OAAS,EACTC,IAAM,EACNC,KAAO,EACPnnB,OAAS,EACTonB,MAAQ,EACRC,MAAQ,EACRC,OAAS,EACTplB,QAAU,EACVqlB,OAAS,EACTC,KAAO,GCnBwBzd,GAAE,qDAAqD,SAASzd,GAAEA,GAAG,IAAIse,EAAE,CAACtI,KAAK,MAAM7V,KAAK,GAAGg7B,aAAY,EAAGC,MAAM,CAAE,EAACC,SAAS,IAAIh9B,EAAE2B,EAAE+B,MAAM,uBAAuB,GAAG1D,IAAIigB,EAAEne,KAAK9B,EAAE,IAAIX,GAAEW,EAAE,KAAK,MAAM2B,EAAEklB,OAAOllB,EAAEd,OAAO,MAAMof,EAAE6c,aAAY,GAAI7c,EAAEne,KAAKm7B,WAAW,QAAQ,CAAC,IAAIz3B,EAAE7D,EAAEmC,QAAQ,UAAU,MAAM,CAAC6T,KAAK,UAAUulB,SAAS,IAAI13B,EAAE7D,EAAEE,MAAM,EAAE2D,GAAG,GAAG,CAAC,IAAI,IAAIjG,EAAE,IAAI2E,OAAOkb,IAAGY,EAAE,KAAK,QAAQA,EAAEzgB,EAAEotB,KAAKhrB,KAAK,GAAGqe,EAAE,GAAGhc,OAAO,GAAGgc,EAAE,GAAG,CAAC,IAAI3hB,EAAE2hB,EAAE,GAAGhc,OAAOa,EAAE,CAACxG,EAAE,IAAIA,EAAEyF,QAAQ,MAAM,IAAIe,EAAExG,EAAEib,MAAM,MAAM2G,EAAE8c,MAAMl4B,EAAE,IAAIA,EAAE,GAAGtF,EAAEutB,WAAW,MAAM9M,EAAE,KAAKC,EAAE8c,MAAM/c,EAAE,IAAIA,EAAE,GAAGhc,OAAOqc,UAAU,EAAEL,EAAE,GAAGnf,OAAO,IAAI,OAAOof,CAAC,CAAC,IAAIA,GAAE,kDAAkDjgB,GAAE,QAAQwF,GAAEjH,OAAOiE,OAAO,MAAM,SAASjD,GAAEF,EAAE+f,GAAG,OAAOA,EAAEzH,MAAM,IAAI,OAAO,OAAOtY,EAAE+f,EAAE9U,QAAQ,IAAI,MAAM,OAAOjL,GAAG,IAAI+f,EAAEtd,MAAMsd,EAAE2d,MAAM,SAAS19B,GAAG,IAAI+f,EAAE,GAAG,IAAI,IAAIzd,KAAKtC,EAAE+f,EAAE5f,KAAKmC,EAAE,KAAKtC,EAAEsC,GAAG,KAAK,OAAOyd,EAAEve,OAAO,IAAIue,EAAE3C,KAAK,KAAK,EAAE,CAA9F,CAAgG2C,EAAE2d,OAAO,KAAK3d,EAAE0d,YAAY,KAAK,KAAK1d,EAAE0d,YAAYz9B,EAAEA,EAAE+f,EAAE4d,SAAStP,OAAOnuB,GAAE,IAAI,KAAK6f,EAAEtd,KAAK,IAAI,IAAI,UAAU,OAAOzC,EAAE,UAAU+f,EAAE8d,QAAQ,SAAS,CAAC,IAAIld,GAAE,CAACmE,MAAM,SAAS9kB,EAAE+f,GAAGA,IAAIA,EAAE,CAAA,GAAIA,EAAE+d,aAAa/d,EAAE+d,WAAW33B,IAAG,IAAIjG,EAAEygB,EAAE,GAAG3hB,EAAE,GAAGwG,GAAG,EAAE6Y,GAAE,EAAG,GAAG,IAAIre,EAAEyE,QAAQ,KAAK,CAAC,IAAIs5B,EAAE/9B,EAAEyE,QAAQ,KAAKkc,EAAExgB,KAAK,CAACmY,KAAK,OAAOrN,SAAS,IAAI8yB,EAAE/9B,EAAEA,EAAEghB,UAAU,EAAE+c,IAAI,CAAC,OAAO/9B,EAAEuE,QAAQqc,IAAE,SAASA,EAAEza,GAAG,GAAGkY,EAAE,CAAC,GAAGuC,IAAI,KAAK1gB,EAAEuC,KAAK,IAAI,OAAO4b,GAAE,CAAE,CAAC,IAAI0f,EAAE33B,EAAE,MAAMwa,EAAE4G,OAAO,GAAGwW,EAAEpd,EAAEgd,WAAW,WAAW3+B,EAAEkH,EAAEya,EAAEpf,OAAOy8B,EAAEj+B,EAAEwnB,OAAOvoB,GAAG,GAAG++B,EAAE,CAAC,IAAIjf,EAAEzc,GAAEse,GAAG,OAAOpb,EAAE,GAAGmb,EAAExgB,KAAK4e,GAAG4B,KAAKod,EAAE/+B,EAAEwG,IAAIm4B,SAASx9B,KAAK4e,GAAG4B,EAAE,CAAC,GAAGva,IAAIZ,IAAI,SAAStF,EAAEoC,GAAEse,IAAItI,MAAMyH,EAAE+d,WAAW59B,EAAEuC,QAAQvC,EAAEoY,KAAK,YAAY+F,GAAE,GAAIne,EAAEu9B,aAAapf,IAAI4f,GAAG,MAAMA,GAAG/9B,EAAEy9B,SAASx9B,KAAK,CAACmY,KAAK,OAAOrN,QAAQjL,EAAEwC,MAAMvD,EAAEe,EAAEyE,QAAQ,IAAIxF,MAAM,IAAIuG,GAAGmb,EAAExgB,KAAKD,IAAI69B,EAAE/+B,EAAEwG,EAAE,KAAKu4B,EAAEJ,SAASx9B,KAAKD,GAAGlB,EAAEwG,GAAGtF,KAAKkG,GAAGlG,EAAEu9B,eAAej4B,GAAG,IAAItF,EAAEu9B,aAAav9B,EAAEuC,OAAOme,EAAEpe,MAAM,GAAG,MAAMgD,IAAItF,GAAG,IAAIsF,EAAEmb,EAAE3hB,EAAEwG,KAAK6Y,GAAG,MAAM4f,GAAGA,GAAG,CAACF,GAAG,IAAIv4B,EAAEmb,EAAE3hB,EAAEwG,GAAGm4B,SAAS,IAAIp6B,EAAEvD,EAAEyE,QAAQ,IAAIxF,GAAGi/B,EAAEl+B,EAAEwC,MAAMvD,GAAG,IAAIsE,OAAE,EAAOA,GAAG5C,GAAE+B,KAAKw7B,KAAKA,EAAE,MAAM36B,GAAG,GAAGiC,EAAEu4B,EAAEv8B,QAAQ,GAAG,MAAM08B,IAAIH,EAAE59B,KAAK,CAACmY,KAAK,OAAOrN,QAAQizB,GAAG,CAAC,IAAGvd,CAAC,EAAEgP,UAAU,SAAS3vB,GAAG,OAAOA,EAAEquB,QAAO,SAASruB,EAAE+f,GAAG,OAAO/f,EAAEE,GAAE,GAAG6f,EAAE,GAAE,GAAG,GCA3gE,SAAS9Y,KACd,GAAID,SAAWA,QAAQC,KAAM,CAG3B,IAFA,IAAIk3B,EAEKj5B,EAAO1E,UAAUgB,OAAQjC,EAAO,IAAIqB,MAAMsE,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/E5F,EAAK4F,GAAQ3E,UAAU2E,GAGF,iBAAZ5F,EAAK,KAAiBA,EAAK,GAAK,mBAAmBiN,OAAOjN,EAAK,MAEzE4+B,EAAWn3B,SAASC,KAAK7G,MAAM+9B,EAAU5+B,EAC3C,CACH,CACA,IAAI6+B,GAAgB,CAAA,EACb,SAASC,KACd,IAAK,IAAIt5B,EAAQvE,UAAUgB,OAAQjC,EAAO,IAAIqB,MAAMmE,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFzF,EAAKyF,GAASxE,UAAUwE,GAGH,iBAAZzF,EAAK,IAAmB6+B,GAAc7+B,EAAK,MAC/B,iBAAZA,EAAK,KAAiB6+B,GAAc7+B,EAAK,IAAM,IAAIq5B,MAC9D3xB,GAAK7G,WAAM,EAAQb,GACrB,CACO,SAAS24B,GAAeoG,EAAM3gB,EAAI4gB,GACvCD,EAAKpG,eAAeva,GAAI,WACtB,GAAI2gB,EAAK3J,cACP4J,QACK,CAQLD,EAAKrJ,GAAG,eAPU,SAASuJ,IACzBtL,YAAW,WACToL,EAAKG,IAAI,cAAeD,EACzB,GAAE,GACHD,GACR,GAGK,CACL,GACA,CCtCA,IAAIG,GAAkB,oGAClBC,GAAe,CACjB,QAAS,IACT,QAAS,IACT,OAAQ,IACR,QAAS,IACT,OAAQ,IACR,QAAS,IACT,SAAU,IACV,QAAS,IACT,SAAU,IACV,QAAS,IACT,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,QAAS,IACT,SAAU,IACV,WAAY,IACZ,UAAW,IACX,SAAU,IACV,QAAS,KAGPC,GAAqB,SAA4BvgB,GACnD,OAAOsgB,GAAatgB,EACtB,ECxBA,SAAS6V,GAAQtuB,EAAQ+R,GAAkB,IAAIC,EAAO1Y,OAAO0Y,KAAKhS,GAAS,GAAI1G,OAAO2Y,sBAAuB,CAAE,IAAIC,EAAU5Y,OAAO2Y,sBAAsBjS,GAAa+R,IAAkBG,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAO9Y,OAAO8D,yBAAyB4C,EAAQoS,GAAKjL,UAAW,KAAO6K,EAAKzX,KAAKC,MAAMwX,EAAME,EAAS,CAAG,OAAOF,CAAO,CAEzV,SAASuc,GAAc5d,GAAU,IAAK,IAAI5V,EAAI,EAAGA,EAAIH,UAAUgB,OAAQb,IAAK,CAAE,IAAIuX,EAAyB,MAAhB1X,UAAUG,GAAaH,UAAUG,GAAK,CAAE,EAAMA,EAAI,EAAKuzB,GAAQh1B,OAAOgZ,IAAS,GAAMtU,SAAQ,SAAUmS,GAAOyB,GAAgBjB,EAAQR,EAAKmC,EAAOnC,GAAQ,IAAc7W,OAAOiZ,0BAA6BjZ,OAAOkZ,iBAAiB7B,EAAQrX,OAAOiZ,0BAA0BD,IAAmBgc,GAAQh1B,OAAOgZ,IAAStU,SAAQ,SAAUmS,GAAO7W,OAAOwX,eAAeH,EAAQR,EAAK7W,OAAO8D,yBAAyBkV,EAAQnC,GAAM,GAAQ,CAAC,OAAOQ,CAAS,CAGthB,ICPIsoB,GDOAC,GAAiB,CACnBC,SAAU,kBACVC,cAAe,GACfC,oBAAqB,GACrBC,4BAA4B,EAC5BC,mBAAoB,GACpBC,2BAA4B,CAAC,KAAM,SAAU,IAAK,KAClDC,aAAa,EACbC,SDaoB,SAAkB93B,GACtC,OAAOA,EAAKjD,QAAQm6B,GAAiBE,GACvC,GCTO,SAASW,KACd,OAAOT,EACT,CCnBO,SAASU,KACd,OAAOX,EACT,CCHA,IAAIY,GAAY,CAAC,UACbC,GAAa,CAAC,WAAY,QAAS,SAAU,UAAW,UAAW,WAAY,SAAU,WAAY,aAAc,KAAM,OAAQ,IAAK,kBAE1I,SAASxL,GAAQtuB,EAAQ+R,GAAkB,IAAIC,EAAO1Y,OAAO0Y,KAAKhS,GAAS,GAAI1G,OAAO2Y,sBAAuB,CAAE,IAAIC,EAAU5Y,OAAO2Y,sBAAsBjS,GAAa+R,IAAkBG,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAO9Y,OAAO8D,yBAAyB4C,EAAQoS,GAAKjL,UAAW,KAAO6K,EAAKzX,KAAKC,MAAMwX,EAAME,EAAS,CAAG,OAAOF,CAAO,CAEzV,SAASuc,GAAc5d,GAAU,IAAK,IAAI5V,EAAI,EAAGA,EAAIH,UAAUgB,OAAQb,IAAK,CAAE,IAAIuX,EAAyB,MAAhB1X,UAAUG,GAAaH,UAAUG,GAAK,CAAE,EAAMA,EAAI,EAAKuzB,GAAQh1B,OAAOgZ,IAAS,GAAMtU,SAAQ,SAAUmS,GAAOyB,GAAgBjB,EAAQR,EAAKmC,EAAOnC,GAAQ,IAAc7W,OAAOiZ,0BAA6BjZ,OAAOkZ,iBAAiB7B,EAAQrX,OAAOiZ,0BAA0BD,IAAmBgc,GAAQh1B,OAAOgZ,IAAStU,SAAQ,SAAUmS,GAAO7W,OAAOwX,eAAeH,EAAQR,EAAK7W,OAAO8D,yBAAyBkV,EAAQnC,GAAM,GAAQ,CAAC,OAAOQ,CAAS,CAQthB,SAASopB,GAAYtvB,EAAMuvB,GACzB,IAAKvvB,EAAM,OAAO,EAClB,IAAIysB,EAAOzsB,EAAKmG,MAAQnG,EAAKmG,MAAMmnB,SAAWttB,EAAKstB,SACnD,OAAIiC,EAAoB9C,EAAKt7B,OAAS,IAC7Bs7B,CACX,CAEA,SAAS+C,GAAYxvB,GACnB,OAAKA,EACEA,EAAKmG,MAAQnG,EAAKmG,MAAMmnB,SAAWttB,EAAKstB,SAD7B,EAEpB,CASA,SAASmC,GAAWztB,GAClB,OAAOzR,MAAMC,QAAQwR,GAAQA,EAAO,CAACA,EACvC,CASO,SAAS0tB,GAAcpC,EAAUjC,GACtC,IAAKiC,EAAU,MAAO,GACtB,IAAIqC,EAAa,GACbC,EAAgBH,GAAWnC,GAC3BuC,EAAYxE,EAAYwD,4BAA8BxD,EAAY0D,2BAA6B1D,EAAY0D,2BAA6B,GAuC5I,OAtCAa,EAAcr8B,SAAQ,SAAUu8B,EAAOC,GACrC,GAAqB,iBAAVD,EACTH,GAAc,GAAGxzB,OAAO2zB,QACnB,GAAIE,EAAAA,eAAeF,GAAQ,CAChC,IAAIG,EAAkBphC,OAAO0Y,KAAKuoB,EAAM3pB,OAAOhV,OAC3C++B,EAAkBL,EAAUz7B,QAAQ07B,EAAM7nB,OAAS,EACnDkoB,EAAgBL,EAAM3pB,MAAMmnB,SAEhC,IAAK6C,GAAiBD,GAAuC,IAApBD,EACvCN,GAAc,IAAIxzB,OAAO2zB,EAAM7nB,KAAM,WAChC,GAAKkoB,GAAmBD,GAAuC,IAApBD,EAE3C,GAAIH,EAAM3pB,MAAMiqB,kBACrBT,GAAc,IAAIxzB,OAAO4zB,EAAY,OAAO5zB,OAAO4zB,EAAY,UAC1D,GAAIG,GAAuC,IAApBD,GAAkD,iBAAlBE,EAC5DR,GAAc,IAAIxzB,OAAO2zB,EAAM7nB,KAAM,KAAK9L,OAAOg0B,EAAe,MAAMh0B,OAAO2zB,EAAM7nB,KAAM,SACpF,CACL,IAAIrN,EAAU80B,GAAcS,EAAe9E,GAC3CsE,GAAc,IAAIxzB,OAAO4zB,EAAY,KAAK5zB,OAAOvB,EAAS,MAAMuB,OAAO4zB,EAAY,IACpF,MARCJ,GAAc,IAAIxzB,OAAO4zB,EAAY,OAAO5zB,OAAO4zB,EAAY,IASvE,MAAW,GAAc,OAAVD,EACTl5B,GAAK,kFACA,GAAuB,WAAnBxI,GAAQ0hC,GAAqB,CACtC,IAAI5U,EAAS4U,EAAM5U,OACf5lB,EAAQ22B,GAAyB6D,EAAOV,IAExC7nB,EAAO1Y,OAAO0Y,KAAKjS,GAEvB,GAAoB,IAAhBiS,EAAKpW,OAAc,CACrB,IAAID,EAAQgqB,EAAS,GAAG/e,OAAOoL,EAAK,GAAI,MAAMpL,OAAO+e,GAAU3T,EAAK,GACpEooB,GAAc,KAAKxzB,OAAOjL,EAAO,KACzC,MACQ0F,GAAK,mJAAoJk5B,EAEjK,MACMl5B,GAAK,qKAAsKk5B,EAEjL,IACSH,CACT,CAEA,SAASU,GAAY/C,EAAUgD,EAAcrC,EAAM5C,EAAakF,EAAeC,GAC7E,GAAqB,KAAjBF,EAAqB,MAAO,GAChC,IAAIT,EAAYxE,EAAY0D,4BAA8B,GACtD0B,EAAgCH,GAAgB,IAAI97B,OAAOq7B,EAAU9iB,KAAK,MAAM1a,KAAKi+B,GACzF,IAAKhD,IAAamD,EAA+B,MAAO,CAACH,GACzD,IAAItuB,EAAO,CAAA,GAEX,SAAS0uB,EAAQC,GACKlB,GAAWkB,GACjBp9B,SAAQ,SAAUu8B,GACT,iBAAVA,IACPR,GAAYQ,GAAQY,EAAQlB,GAAYM,IAAoC,WAAnB1hC,GAAQ0hC,IAAwBE,EAAAA,eAAeF,IAAQjhC,OAAO+hC,OAAO5uB,EAAM8tB,GAC9I,GACG,CAEDY,CAAQpD,GACR,IAAIuD,EAAMC,GAAKrc,MAAM,MAAMtY,OAAOm0B,EAAc,SAE5ChN,EAAOQ,GAAcA,GAAc,CAAE,EAAE9hB,GAAOuuB,GAElD,SAASQ,EAAYjB,EAAO9vB,EAAMgxB,GAChC,IAAIL,EAASnB,GAAYM,GACrBmB,EAAiBC,EAAOP,EAAQ3wB,EAAKstB,SAAU0D,GACnD,OAvFJ,SAA+B1D,GAC7B,MAAiD,mBAA7Cz+B,OAAOJ,UAAUyD,SAASxC,KAAK49B,IAC5BA,EAAS6D,OAAM,SAAUrB,GAC9B,OAAOE,EAAAA,eAAeF,EAC1B,GACA,CAkFWsB,CAAsBT,IAAqC,IAA1BM,EAAe9/B,OAAew/B,EAASM,CAChF,CAED,SAASI,EAAkBvB,EAAOwB,EAAOnR,EAAK7vB,EAAGihC,GAC3CzB,EAAM0B,QAAO1B,EAAMxC,SAAWgE,GAClCnR,EAAIrwB,KAAK2hC,eAAa3B,EAAOhM,GAAcA,GAAc,CAAA,EAAIgM,EAAM3pB,OAAQ,GAAI,CAC7ET,IAAKpV,IACHihC,OAASp4B,EAAYm4B,GAC1B,CAED,SAASJ,EAAOQ,EAAWC,EAASX,GAClC,IAAIY,EAAanC,GAAWiC,GAE5B,OADejC,GAAWkC,GACV3T,QAAO,SAAUmC,EAAKngB,EAAM1P,GAC1C,IA1FcuX,EAAQ3B,EACtB2rB,EAyFIC,EAAqB9xB,EAAKstB,UAAYttB,EAAKstB,SAAS,IAAMttB,EAAKstB,SAAS,GAAG1yB,SAAWqzB,EAAKxe,SAASoB,aAAakE,YAAY/U,EAAKstB,SAAS,GAAG1yB,QAAS0oB,EAAM2K,EAAKre,UAEtK,GAAkB,QAAd5P,EAAKiI,KAAgB,CACvB,IAAI8pB,EAAMH,EAAW1S,SAASlf,EAAK5N,KAAM,MACpC2/B,GAAgC,IAAzBf,EAAc7/B,QAAgB6/B,EAAc,GAAGhxB,EAAK5N,QAAO2/B,EAAMf,EAAc,GAAGhxB,EAAK5N,OAC9F2/B,IAAKA,EAAM,IAChB,IAAIjC,EAA2C,IAAnCjhC,OAAO0Y,KAAKvH,EAAKqtB,OAAOl8B,QAhGxB0W,EAgGkD,CAC5D1B,MAAOnG,EAAKqtB,QAhGhBwE,EAAY/N,GAAc,CAAE,EADN5d,EAkGjB6rB,IA/FC5rB,MAAQtX,OAAO+hC,OAAO/oB,EAAO1B,MAAOD,EAAOC,OAC9C0rB,GA8FSE,EACNC,EAAYhC,iBAAeF,GAC3BmC,EAAiCD,GAAa1C,GAAYtvB,GAAM,KAAUA,EAAKotB,YAC/E8E,EAAuBzB,GAAoD,WAAnBriC,GAAQ0hC,IAAuBA,EAAM0B,QAAUQ,EACvGG,EAAyC,WAAtB/jC,GAAQk/B,IAAuC,OAAbA,GAAqBz+B,OAAOgc,eAAenb,KAAK49B,EAAUttB,EAAK5N,MAExH,GAAqB,iBAAV09B,EAAoB,CAC7B,IAAI5+B,EAAQ+8B,EAAKxe,SAASoB,aAAakE,YAAY+a,EAAOxM,EAAM2K,EAAKre,UACrEuQ,EAAIrwB,KAAKoB,EACV,MAAM,GAAIo+B,GAAYQ,IAAUmC,EAAgC,CAE7DZ,EAAkBvB,EADNiB,EAAYjB,EAAO9vB,EAAMgxB,GACL7Q,EAAK7vB,EACtC,MAAM,GAAI4hC,EAAsB,CACjC,IAAIE,EAASlB,EAAOU,EAAY5xB,EAAKstB,SAAU0D,GAE/C7Q,EAAIrwB,KAAK2hC,eAAa3B,EAAOhM,GAAcA,GAAc,CAAA,EAAIgM,EAAM3pB,OAAQ,GAAI,CAC7ET,IAAKpV,IACH8hC,GACd,MAAe,GAAIpsB,OAAOiZ,MAAMoT,WAAWryB,EAAK5N,OAAQ,CAC9C,GAAI+/B,EAGFd,EAAkBvB,EAFJiB,EAAYjB,EAAO9vB,EAAMgxB,GAEL7Q,EAAK7vB,EAAG0P,EAAKotB,kBAC1C,GAAI/B,EAAYwD,4BAA8BgB,EAAUz7B,QAAQ4L,EAAK5N,OAAS,EACnF,GAAI4N,EAAKotB,YACPjN,EAAIrwB,KAAK6K,gBAAcqF,EAAK5N,KAAM,CAChCsT,IAAK,GAAGvJ,OAAO6D,EAAK5N,KAAM,KAAK+J,OAAO7L,UAEnC,CACL,IAAIgiC,EAAUpB,EAAOU,EAAY5xB,EAAKstB,SAAU0D,GAEhD7Q,EAAIrwB,KAAK6K,gBAAcqF,EAAK5N,KAAM,CAChCsT,IAAK,GAAGvJ,OAAO6D,EAAK5N,KAAM,KAAK+J,OAAO7L,IACrCgiC,GACJ,MACI,GAAItyB,EAAKotB,YACdjN,EAAIrwB,KAAK,IAAIqM,OAAO6D,EAAK5N,KAAM,YAC1B,CACL,IAAImgC,EAAUrB,EAAOU,EAAY5xB,EAAKstB,SAAU0D,GAEhD7Q,EAAIrwB,KAAK,IAAIqM,OAAO6D,EAAK5N,KAAM,KAAK+J,OAAOo2B,EAAS,MAAMp2B,OAAO6D,EAAK5N,KAAM,KAC7E,CACF,MAAM,GAAuB,WAAnBhE,GAAQ0hC,IAAwBkC,EAGP,IAAzBhyB,EAAKstB,SAASn8B,QAAgB2gC,EACvC3R,EAAIrwB,KAAK2hC,eAAa3B,EAAOhM,GAAcA,GAAc,CAAA,EAAIgM,EAAM3pB,OAAQ,GAAI,CAC7ET,IAAKpV,IACHwhC,IAEJ3R,EAAIrwB,KAAK2hC,eAAa3B,EAAOhM,GAAcA,GAAc,CAAA,EAAIgM,EAAM3pB,OAAQ,GAAI,CAC7ET,IAAKpV,UAT6C,CACpD,IAAIsK,EAAUoF,EAAKstB,SAAS,GAAKwE,EAAqB,KAClDl3B,GAASulB,EAAIrwB,KAAK8K,EACvB,CAST,MAAa,GAAkB,SAAdoF,EAAKiI,KAAiB,CAC/B,IAAIuqB,EAAgBnH,EAAYyD,mBAE5B2D,EAAWjC,EAAiBnF,EAAY4D,SAAShB,EAAKxe,SAASoB,aAAakE,YAAY/U,EAAKpF,QAAS0oB,EAAM2K,EAAKre,WAAaqe,EAAKxe,SAASoB,aAAakE,YAAY/U,EAAKpF,QAAS0oB,EAAM2K,EAAKre,UAE9L4iB,EACFrS,EAAIrwB,KAAK6K,EAAaA,cAAC63B,EAAe,CACpC9sB,IAAK,GAAGvJ,OAAO6D,EAAK5N,KAAM,KAAK+J,OAAO7L,IACrCmiC,IAEHtS,EAAIrwB,KAAK2iC,EAEZ,CAED,OAAOtS,CACR,GAAE,GACJ,CAMD,OAAOqP,GAJM0B,EAAO,CAAC,CACnBM,OAAO,EACPlE,SAAUA,GAAY,KACpBuD,EAAKpB,GAAWnC,GAAY,KACN,GAC5B,CAEO,SAASoF,GAAM3/B,GACpB,IAAIu6B,EAAWv6B,EAAKu6B,SAChB1a,EAAQ7f,EAAK6f,MACbhQ,EAAS7P,EAAK6P,OACd+vB,EAAU5/B,EAAK4/B,QACfzd,EAAUniB,EAAKmiB,QACf0d,EAAgB7/B,EAAK8/B,SACrBA,OAA6B,IAAlBD,EAA2B,CAAE,EAAGA,EAC3CE,EAAS//B,EAAK+/B,OACdxH,EAAWv4B,EAAKu4B,SAChBmC,EAAa16B,EAAK06B,WAClBngB,EAAKva,EAAKua,GACVylB,EAAgBhgC,EAAKk7B,KACrB+E,EAAajgC,EAAK2c,EAClB8gB,EAAiBz9B,EAAKy9B,eACtByC,EAAkBhH,GAAyBl5B,EAAMs8B,IAEjDpB,EAAO8E,GAAiB5D,KAE5B,IAAKlB,EAEH,OADAD,GAAS,4EACFV,EAGT,IAAI5d,EAAIsjB,GAAc/E,EAAKve,EAAExf,KAAK+9B,IAAS,SAAUnjB,GACnD,OAAOA,CACX,EAEMoK,IAAS2d,EAAS3d,QAAUA,GAEhC,IAAIge,EAAsBpP,GAAcA,GAAc,CAAE,EAAEoL,MAAgBjB,EAAKxlB,SAAWwlB,EAAKxlB,QAAQ0qB,OAEnGnjB,EAAa1C,GAAMoC,EAAEpC,IAAM2gB,EAAKxlB,SAAWwlB,EAAKxlB,QAAQ8E,UAC5DyC,EAAmC,iBAAfA,EAA0B,CAACA,GAAcA,GAAc,CAAC,eAC5E,IAAIiD,EAAeqY,GAAYoE,GAAcpC,EAAU4F,IAAwBA,EAAoBtE,qBAAuB+D,EACtHS,EAAeF,EAAoBE,aACnC1tB,EAAMitB,IAAYS,EAAeA,EAAangB,GAAgBA,GAC9DogB,EAAwBP,EAASD,EAAShjB,cAAgB,CAC5DA,cAAeiU,GAAcA,GAAc,CAAA,EAAI+O,EAAShjB,eAAgB,GAAI,CAC1ElH,OAAQ,MACRpQ,OAAQ,SAIRg4B,EAAgBzM,GAAcA,GAAcA,GAAcA,GAAc,CAAE,EAAE+O,GAAW,GAAI,CAC7FjgB,MAAOA,GACNkgB,GAASO,GAAwB,GAAI,CACtCpgB,aAAcA,EACd3F,GAAI0C,IAIFpV,EAAUy1B,GAAY5C,GAAcH,EADtB5nB,EAAMgK,EAAEhK,EAAK6qB,GAAiBtd,EACegb,EAAMiF,EAAqB3C,EAAeC,GACrG8C,OAAyBn6B,IAAXyJ,EAAuBA,EAASswB,EAAoBK,mBACtE,OAAOD,EAAc34B,EAAAA,cAAc24B,EAAaL,EAAiBr4B,GAAWA,CAC9E,CC7QO,IAAI44B,GAAmB,CAC5BvrB,KAAM,WACNS,KAAM,SAAc1Y,IHaf,WACL,IAAIyY,EAAUtY,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK,CAAA,EAClFs+B,GAAiB3K,GAAcA,GAAc,CAAE,EAAE2K,IAAiBhmB,EACpE,CGfIgrB,CAAYzjC,EAASyY,QAAQ0qB,OFJ1B,SAAiBnjC,GACtBw+B,GAAex+B,CACjB,CEGI0jC,CAAQ1jC,EACT,GCMQ2jC,GAAcC,EAAaA,gBAC3BC,GAAmB,WAC5B,SAASA,IACPvuB,GAAgB6C,KAAM0rB,GAEtB1rB,KAAK2rB,eAAiB,EACvB,CAkBD,OAhBAvtB,GAAastB,EAAkB,CAAC,CAC9BnuB,IAAK,oBACLxU,MAAO,SAA2B8e,GAChC,IAAIrG,EAAQxB,KAEZ6H,EAAWzc,SAAQ,SAAU+Z,GACtB3D,EAAMmqB,eAAexmB,KAAK3D,EAAMmqB,eAAexmB,IAAM,EAClE,GACK,GACA,CACD5H,IAAK,oBACLxU,MAAO,WACL,OAAOrC,OAAO0Y,KAAKY,KAAK2rB,eACzB,KAGID,CACT,CAxB8B,GCZ1BzE,GAAY,CAAC,WAAY,QAAS,SAAU,UAAW,UAAW,WAAY,SAAU,WAAY,aAAc,KAAM,OAAQ,IAAK,kBAEzI,SAASvL,GAAQtuB,EAAQ+R,GAAkB,IAAIC,EAAO1Y,OAAO0Y,KAAKhS,GAAS,GAAI1G,OAAO2Y,sBAAuB,CAAE,IAAIC,EAAU5Y,OAAO2Y,sBAAsBjS,GAAa+R,IAAkBG,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAO9Y,OAAO8D,yBAAyB4C,EAAQoS,GAAKjL,UAAW,KAAO6K,EAAKzX,KAAKC,MAAMwX,EAAME,EAAS,CAAG,OAAOF,CAAO,CAQlV,SAASmrB,GAAM3/B,GACpB,IAAIu6B,EAAWv6B,EAAKu6B,SAChB1a,EAAQ7f,EAAK6f,MACbhQ,EAAS7P,EAAK6P,OACd+vB,EAAU5/B,EAAK4/B,QACfzd,EAAUniB,EAAKmiB,QACf0d,EAAgB7/B,EAAK8/B,SACrBA,OAA6B,IAAlBD,EAA2B,CAAE,EAAGA,EAC3CE,EAAS//B,EAAK+/B,OACdxH,EAAWv4B,EAAKu4B,SAChBmC,EAAa16B,EAAK06B,WAClBngB,EAAKva,EAAKua,GACVylB,EAAgBhgC,EAAKk7B,KACrB+E,EAAajgC,EAAK2c,EAClB8gB,EAAiBz9B,EAAKy9B,eACtByC,EAAkBhH,GAAyBl5B,EAAMq8B,IAEjD2E,EAAQC,EAAAA,WAAWL,KAAgB,CAAE,EACrCM,EAAkBF,EAAM9F,KACxBiG,EAAuBH,EAAMxmB,UAE7B0gB,EAAO8E,GAAiBkB,GAAmB9E,KAC3Czf,EAAIsjB,GAAc/E,GAAQA,EAAKve,EAAExf,KAAK+9B,GAC1C,OAAOkG,GA7BT,SAAuBjuB,GAAU,IAAK,IAAI5V,EAAI,EAAGA,EAAIH,UAAUgB,OAAQb,IAAK,CAAE,IAAIuX,EAAyB,MAAhB1X,UAAUG,GAAaH,UAAUG,GAAK,CAAE,EAAMA,EAAI,EAAKuzB,GAAQh1B,OAAOgZ,IAAS,GAAMtU,SAAQ,SAAUmS,GAAOyB,GAAgBjB,EAAQR,EAAKmC,EAAOnC,GAAQ,IAAc7W,OAAOiZ,0BAA6BjZ,OAAOkZ,iBAAiB7B,EAAQrX,OAAOiZ,0BAA0BD,IAAmBgc,GAAQh1B,OAAOgZ,IAAStU,SAAQ,SAAUmS,GAAO7W,OAAOwX,eAAeH,EAAQR,EAAK7W,OAAO8D,yBAAyBkV,EAAQnC,GAAM,GAAQ,CAAC,OAAOQ,CAAS,CA6Bzf4d,CAAc,CACvCwJ,SAAUA,EACV1a,MAAOA,EACPhQ,OAAQA,EACR+vB,QAASA,EACTzd,QAASA,EACT2d,SAAUA,EACVC,OAAQA,EACRxH,SAAUA,EACVmC,WAAYA,EACZngB,GAAIA,GAAMoC,GAAKA,EAAEpC,IAAM4mB,GAAwBjG,GAAQA,EAAKxlB,SAAWwlB,EAAKxlB,QAAQ8E,UACpF0gB,KAAMA,EACNve,EAAGsjB,EACHxC,eAAgBA,GACfyC,GACL,CC9Ce,SAAS7iC,GAAeC,EAAKC,GAC1C,OAAOsuB,GAAevuB,ICLT,SAA+BA,EAAKC,GACjD,IAAII,EAAK,MAAQL,EAAM,KAAO,oBAAsB/B,QAAU+B,EAAI/B,OAAOC,WAAa8B,EAAI,cAC1F,GAAI,MAAQK,EAAI,CACd,IAAIC,EACFC,EACAwjC,EACAC,EACAxjC,EAAO,GACPC,GAAK,EACLC,GAAK,EACP,IACE,GAAIqjC,GAAM1jC,EAAKA,EAAGhB,KAAKW,IAAMW,KAAM,IAAMV,EAAG,CAC1C,GAAIzB,OAAO6B,KAAQA,EAAI,OACvBI,GAAK,CACb,MAAa,OAASA,GAAMH,EAAKyjC,EAAG1kC,KAAKgB,IAAKO,QAAUJ,EAAKf,KAAKa,EAAGO,OAAQL,EAAKM,SAAWb,GAAIQ,GAAK,GACjG,CAAC,MAAOM,GACPL,GAAK,EAAIH,EAAKQ,CACpB,CAAc,QACR,IACE,IAAKN,GAAM,MAAQJ,EAAW,SAAM2jC,EAAK3jC,EAAW,SAAK7B,OAAOwlC,KAAQA,GAAK,MACrF,CAAgB,QACR,GAAItjC,EAAI,MAAMH,CACf,CACF,CACD,OAAOC,CACR,CACH,CDrBgCyjC,CAAqBjkC,EAAKC,IAAMwuB,GAA2BzuB,EAAKC,IAAMyuB,IACtG,CEFA,SAAS8E,GAAQtuB,EAAQ+R,GAAkB,IAAIC,EAAO1Y,OAAO0Y,KAAKhS,GAAS,GAAI1G,OAAO2Y,sBAAuB,CAAE,IAAIC,EAAU5Y,OAAO2Y,sBAAsBjS,GAAa+R,IAAkBG,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAO9Y,OAAO8D,yBAAyB4C,EAAQoS,GAAKjL,UAAW,KAAO6K,EAAKzX,KAAKC,MAAMwX,EAAME,EAAS,CAAG,OAAOF,CAAO,CAEzV,SAASuc,GAAc5d,GAAU,IAAK,IAAI5V,EAAI,EAAGA,EAAIH,UAAUgB,OAAQb,IAAK,CAAE,IAAIuX,EAAyB,MAAhB1X,UAAUG,GAAaH,UAAUG,GAAK,CAAE,EAAMA,EAAI,EAAKuzB,GAAQh1B,OAAOgZ,IAAS,GAAMtU,SAAQ,SAAUmS,GAAOyB,GAAgBjB,EAAQR,EAAKmC,EAAOnC,GAAQ,IAAc7W,OAAOiZ,0BAA6BjZ,OAAOkZ,iBAAiB7B,EAAQrX,OAAOiZ,0BAA0BD,IAAmBgc,GAAQh1B,OAAOgZ,IAAStU,SAAQ,SAAUmS,GAAO7W,OAAOwX,eAAeH,EAAQR,EAAK7W,OAAO8D,yBAAyBkV,EAAQnC,GAAM,GAAQ,CAAC,OAAOQ,CAAS,CAMthB,IAAIquB,GAAc,SAAqBrjC,EAAOsjC,GAC5C,IAAIC,EAAMC,EAAAA,SAIV,OAHAC,EAAAA,WAAU,WACRF,EAAI5nB,QAAU2nB,EAASC,EAAI5nB,QAAU3b,CACzC,GAAK,CAACA,EAAOsjC,IACJC,EAAI5nB,OACb,EAEO,SAAS+nB,GAAetnB,GAC7B,IAAInH,EAAQhW,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK,CAAA,EAC5E4iC,EAAgB5sB,EAAM8nB,KAEtBl7B,EAAOihC,EAAAA,WAAWL,KAAgB,CAAE,EACpCM,EAAkBlhC,EAAKk7B,KACvBiG,EAAuBnhC,EAAKwa,UAE5B0gB,EAAO8E,GAAiBkB,GAAmB9E,KAG/C,GAFIlB,IAASA,EAAK4G,mBAAkB5G,EAAK4G,iBAAmB,IAAIhB,KAE3D5F,EAAM,CACTD,GAAS,0EAET,IAAI8G,EAAY,SAAmBhqB,EAAGiqB,GACpC,MAAkC,iBAAvBA,EAAwCA,EAC/CA,GAAsD,WAAhC3mC,GAAQ2mC,IAA+E,iBAApCA,EAAmB9hB,aAAkC8hB,EAAmB9hB,aAC9I1iB,MAAMC,QAAQsa,GAAKA,EAAEA,EAAE3Z,OAAS,GAAK2Z,CAClD,EAEQkqB,EAAc,CAACF,EAAW,CAAE,GAAE,GAIlC,OAHAE,EAAYtlB,EAAIolB,EAChBE,EAAY/G,KAAO,GACnB+G,EAAYC,OAAQ,EACbD,CACR,CAEG/G,EAAKxlB,QAAQ0qB,YAAqCh6B,IAA5B80B,EAAKxlB,QAAQ0qB,MAAMzQ,MAAoBsL,GAAS,uGAE1E,IAAI3C,EAAcvH,GAAcA,GAAcA,GAAc,CAAA,EAAIoL,MAAgBjB,EAAKxlB,QAAQ0qB,OAAQhtB,GAEjG6oB,EAAc3D,EAAY2D,YAC1B3I,EAAYgF,EAAYhF,UACxBrW,EAAa1C,GAAM4mB,GAAwBjG,EAAKxlB,SAAWwlB,EAAKxlB,QAAQ8E,UAC5EyC,EAAmC,iBAAfA,EAA0B,CAACA,GAAcA,GAAc,CAAC,eACxEie,EAAK4G,iBAAiBK,mBAAmBjH,EAAK4G,iBAAiBK,kBAAkBllB,GACrF,IAAIilB,GAAShH,EAAK3J,eAAiB2J,EAAK9I,uBAAyBnV,EAAWmhB,OAAM,SAAUl/B,GAC1F,OVEG,SAA4Bqb,EAAI2gB,GACrC,IAAIxlB,EAAUtY,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK,CAAA,EAElF,OAAK89B,EAAK1M,WAAc0M,EAAK1M,UAAUpwB,YAKmBgI,IAArC80B,EAAKxlB,QAAQ+E,oBAM3BygB,EAAK9X,mBAAmB7I,EAAI,CACjC0Z,SAAU,SAAkBwH,EAAc1H,GACxC,GAAIre,EAAQimB,UAAYjmB,EAAQimB,SAASt6B,QAAQ,qBAAuB,GAAKo6B,EAAa/e,SAASyE,iBAAiB4M,SAAW0N,EAAa3I,uBAAyBiB,EAAe0H,EAAa3I,qBAAsBvY,GAAK,OAAO,CACpO,IApCL,SAAsCA,EAAI2gB,GACxC,IAAIxlB,EAAUtY,UAAUgB,OAAS,QAAsBgI,IAAjBhJ,UAAU,GAAmBA,UAAU,GAAK,CAAA,EAC9Ewd,EAAMsgB,EAAK1M,UAAU,GACrB5N,IAAcsa,EAAKxlB,SAAUwlB,EAAKxlB,QAAQkL,YAC1CkT,EAAUoH,EAAK1M,UAAU0M,EAAK1M,UAAUpwB,OAAS,GACrD,GAA0B,WAAtBwc,EAAI9Z,cAA4B,OAAO,EAE3C,IAAIizB,EAAiB,SAAwB3xB,EAAGlD,GAC9C,IAAI80B,EAAYkH,EAAKxe,SAASyE,iBAAiBmN,MAAM,GAAGllB,OAAOhH,EAAG,KAAKgH,OAAOlK,IAC9E,OAAsB,IAAf80B,GAAkC,IAAdA,CAC/B,EAEE,QAAIte,EAAQimB,UAAYjmB,EAAQimB,SAASt6B,QAAQ,qBAAuB,GAAK65B,EAAKxe,SAASyE,iBAAiB4M,SAAWmN,EAAKpI,uBAAyBiB,EAAemH,EAAKpI,qBAAsBvY,KAC3L2gB,EAAK7f,kBAAkBT,EAAKL,IAC3B2gB,EAAKxe,SAASyE,iBAAiB4M,WAAWmN,EAAKxlB,QAAQsF,WAAckgB,EAAKxlB,QAAQgb,4BACnFqD,EAAenZ,EAAKL,IAASqG,IAAemT,EAAeD,EAASvZ,IAE1E,CAaW6nB,CAA6B7nB,EAAI2gB,EAAMxlB,IAP9CulB,GAAS,yCAA0CC,EAAK1M,YACjD,EAcX,CUrBWpL,CAAmBlkB,EAAGg8B,EAAM5C,EACvC,IAEE,SAAS+J,IACP,OAAOnH,EAAKtG,UAAU,KAA6B,aAAvB0D,EAAYgK,OAAwBrlB,EAAaA,EAAW,GAAIqW,EAC7F,CAED,IACIiP,EAAallC,GADDmlC,EAAQA,SAACH,GACkB,GACvC1lB,EAAI4lB,EAAW,GACfE,EAAOF,EAAW,GAElBG,EAAWzlB,EAAWjD,OACtB2oB,EAAmBnB,GAAYkB,GAC/BE,EAAYjB,UAAO,GACvBC,EAAAA,WAAU,WACR,IAAIjG,EAAWrD,EAAYqD,SACvBC,EAAgBtD,EAAYsD,cAahC,SAASiH,IACHD,EAAU9oB,SAAS2oB,EAAKJ,EAC7B,CAID,OAlBAO,EAAU9oB,SAAU,EAEfooB,GAAUjG,GACbnH,GAAeoG,EAAMje,GAAY,WAC3B2lB,EAAU9oB,SAAS2oB,EAAKJ,EACpC,IAGQH,GAASS,GAAoBA,IAAqBD,GAAYE,EAAU9oB,SAC1E2oB,EAAKJ,GAOH1G,GAAYT,GAAMA,EAAKrJ,GAAG8J,EAAUkH,GACpCjH,GAAiBV,GAAMA,EAAKlN,MAAM6D,GAAG+J,EAAeiH,GACjD,WACLD,EAAU9oB,SAAU,EAChB6hB,GAAYT,GAAMS,EAAS9kB,MAAM,KAAKrW,SAAQ,SAAU5D,GAC1D,OAAOs+B,EAAKG,IAAIz+B,EAAGimC,EAC3B,IACUjH,GAAiBV,GAAMU,EAAc/kB,MAAM,KAAKrW,SAAQ,SAAU5D,GACpE,OAAOs+B,EAAKlN,MAAMqN,IAAIz+B,EAAGimC,EACjC,GACA,CACA,GAAK,CAAC3H,EAAMwH,IACV,IAAII,EAAYnB,UAAO,GACvBC,EAAAA,WAAU,WACJgB,EAAU9oB,UAAYgpB,EAAUhpB,SAClC2oB,EAAKJ,GAGPS,EAAUhpB,SAAU,CACxB,GAAK,CAACohB,EAAM5H,IACV,IAAI3C,EAAM,CAAChU,EAAGue,EAAMgH,GAIpB,GAHAvR,EAAIhU,EAAIA,EACRgU,EAAIuK,KAAOA,EACXvK,EAAIuR,MAAQA,EACRA,EAAO,OAAOvR,EAClB,IAAKuR,IAAUjG,EAAa,OAAOtL,EACnC,MAAM,IAAIxZ,SAAQ,SAAUC,GAC1B0d,GAAeoG,EAAMje,GAAY,WAC/B7F,GACN,GACA,GACA,6xRC3GY,OAAA2rB,cAAA,OAAAC,CAAA,EAAAA,CAAA,wpDCAA,OAAAC,cAAA,OAAAD,CAAA,EAAAA,CAAA,2qHCAA,OAAAE,cAAA,OAAAF,CAAA,EAAAA,CAAA,CFAAD,KCAAE,KAX0BA,KAAAlgC,EAAA,KAEtCm4B,GACGvG,IAAIwO,IACJxO,IAAI8L,IACJ9qB,KAAK,CACJqF,UAAW,CACTooB,GAAI,CAAEC,YAAaD,IACnBE,GAAI,CAAED,YAAaC,KAErB1iB,YAAa,KACbmR,UAAW,CAAEyG,MAAO,CAAC,gBACpByK,KAAAlgC,EAAA,KAELm4B,GAAKxe,SAAS8P,UAAU+W,UAAU,YAAY,SAAC3oB,EAAKlF,GAAYutB,KAAAjgC,EAAA,KAC9D,IAAMwpB,GAASyW,KAAAlgC,EAAG,KAAA,IAAIyjB,KAAK0G,WAAWtS,EAAKlF,IAASutB,KAAAlgC,EAAA,KAIpD,OAF8DkgC,KAAAlgC,EAAA,KAEvD,SAAA5E,GAAS8kC,KAAAjgC,EAAA,KACd,IAAMwgC,GAAUP,KAAAlgC,EAAA,KAAG5E,EAAMsf,KAAI,SAAAgmB,GAAS,OAAAR,KAAAjgC,EAAA,KAAAigC,KAAAlgC,EAAA,KAAAqG,WAAAA,OAAWq6B,EAAK,YAAW,KAC3DC,GAAeT,KAAAlgC,EAAG4gC,KALR,SAAAxlC,GAChB,OAAA8kC,KAAAjgC,EAAA,KAAAigC,KAAAlgC,EAAA,KAAAsD,GAAU8K,SAAShT,EAAO,CAAE4M,aAAc,CAAE1G,MAAM,KAI1Bs/B,CAAUH,GAAY3sB,MAAM,MAEpD,OAFyDosB,KAAAlgC,EAAA,KAElDypB,EAAUrE,OAAOub,GAE5B,ICdYR,KAf4CA,KAAAngC,EAAA,SAE3C6gC,GAAgB,WAAsB,IAAA5jC,EAArB6jC,EAAWzmC,UAAAgB,eAAAgI,IAAAhJ,UAAA,GAAAA,UAAA8lC,IAAAA,KAAAY,UAAG,IAAEZ,KAAAlgC,EAAA,KAC5C,IAAMkS,GAAIguB,KAAAngC,EAAA1H,KAAAA,GAAUwoC,IACdE,GAAeb,KAAAngC,OAA0B/C,QAA1BkjC,KAAAY,EAAA,GAAA,KAAA9jC,EAAGgkC,EAAAA,YAAYH,mBAAW7jC,IAAAA,EAAAA,GAAAkjC,KAAAY,EAAA,GAAA,KAAI,KAEnD,OAFsDZ,KAAAngC,EAAA,KAElDjH,OAAOmoC,GAAG/uB,EAAM,WAAWguB,KAAAY,EAAA,GAAA,KAAAZ,KAAAngC,EAAA,KACtBghC,EAAgBhc,SAAS8b,KAC3BX,KAAAY,EAAA,GAAA,KAAAZ,KAAAngC,EAAA,KAAIvF,MAAMC,QAAQomC,IAAcX,KAAAY,EAAA,GAAA,KAAAZ,KAAAngC,EAAA,KAC9B8gC,EAAYK,MAAK,SAAAC,GAAc,OAAAjB,KAAAlgC,EAAA,KAAAkgC,KAAAngC,EAAA,KAAAghC,EAAgBhc,SAASoc,EAAU,MAC1EjB,KAAAY,EAAA,GAAA,KAAAZ,KAAAngC,EAAA,MAEM,GACT,EAAEmgC,KAAAngC,EAAA,KAO6DmgC,KAAAngC,EAAA,MAExD,ICtB0CqhC,4vBCerC,OAAAC,cAAA,OAAArB,CAAA,EAAAA,CAAA,CDfqCoB,GASxC,SAASE,GAClB,OAAgB,SAAUlT,GAEhB,IAAImT,EAAmB,CAAA,EAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUC,QAGnC,IAAI3oB,EAASwoB,EAAiBE,GAAY,CACzClnC,EAAGknC,EACHriC,GAAG,EACHsiC,QAAS,CAAE,GAUZ,OANAtT,EAAQqT,GAAU9nC,KAAKof,EAAO2oB,QAAS3oB,EAAQA,EAAO2oB,QAASF,GAG/DzoB,EAAO3Z,GAAI,EAGJ2Z,EAAO2oB,OACd,CAuCD,OAnCAF,EAAoBvpB,EAAImW,EAGxBoT,EAAoBjnB,EAAIgnB,EAGxBC,EAAoBjnC,EAAI,SAASY,GAAS,OAAOA,CAAM,EAGvDqmC,EAAoB3J,EAAI,SAAS6J,EAASrlC,EAAMslC,GAC3CH,EAAoB5oC,EAAE8oC,EAASrlC,IAClCvD,OAAOwX,eAAeoxB,EAASrlC,EAAM,CACpCqK,cAAc,EACdC,YAAY,EACZhG,IAAKghC,GAGlB,EAGUH,EAAoBtlC,EAAI,SAAS6c,GAChC,IAAI4oB,EAAS5oB,GAAUA,EAAO6oB,WAC7B,WAAwB,OAAO7oB,EAAgB,OAAI,EACnD,WAA8B,OAAOA,GAEtC,OADAyoB,EAAoB3J,EAAE8J,EAAQ,IAAKA,GAC5BA,CAClB,EAGUH,EAAoB5oC,EAAI,SAAS4G,EAAQe,GAAY,OAAOzH,OAAOJ,UAAUoc,eAAenb,KAAK6F,EAAQe,EAAU,EAGnHihC,EAAoB3oC,EAAI,GAGjB2oC,EAAoBA,EAAoBzhC,EAAI,GACnD,CAlEM,CAoEN,CAEV,SAAgBgZ,EAAQ2oB,GAGxB,IAOIG,EACAC,EARA3oB,EAAUJ,EAAO2oB,QAAU,GAU/B,SAASK,IACL,MAAM,IAAIrS,MAAM,kCACnB,CACD,SAASsS,IACL,MAAM,IAAItS,MAAM,oCACnB,CAqBD,SAASuS,EAAWhlC,GAChB,GAAI4kC,IAAqB/U,WAErB,OAAOA,WAAW7vB,EAAK,GAG3B,IAAK4kC,IAAqBE,IAAqBF,IAAqB/U,WAEhE,OADA+U,EAAmB/U,WACZA,WAAW7vB,EAAK,GAE3B,IAEI,OAAO4kC,EAAiB5kC,EAAK,EAChC,CAAC,MAAMrD,GACJ,IAEI,OAAOioC,EAAiBloC,KAAK,KAAMsD,EAAK,EAC3C,CAAC,MAAMrD,GAEJ,OAAOioC,EAAiBloC,KAAKyY,KAAMnV,EAAK,EAC3C,CACJ,CAGJ,EA5CA,WACG,IAEQ4kC,EADsB,mBAAf/U,WACYA,WAEAiV,CAE1B,CAAC,MAAOnoC,GACLioC,EAAmBE,CACtB,CACD,IAEQD,EADwB,mBAAjBI,aACcA,aAEAF,CAE5B,CAAC,MAAOpoC,GACLkoC,EAAqBE,CACxB,CACL,CAnBA,GAwEA,IAEIG,EAFA5W,EAAQ,GACR6W,GAAW,EAEXC,GAAc,EAElB,SAASC,IACAF,GAAaD,IAGlBC,GAAW,EACPD,EAAa/mC,OACbmwB,EAAQ4W,EAAa/7B,OAAOmlB,GAE5B8W,GAAc,EAEd9W,EAAMnwB,QACNmnC,IAEP,CAED,SAASA,IACL,IAAIH,EAAJ,CAGA,IAAII,EAAUP,EAAWK,GACzBF,GAAW,EAGX,IADA,IAAI7lC,EAAMgvB,EAAMnwB,OACVmB,GAAK,CAGP,IAFA4lC,EAAe5W,EACfA,EAAQ,KACC8W,EAAa9lC,GACd4lC,GACAA,EAAaE,GAAYI,MAGjCJ,GAAc,EACd9lC,EAAMgvB,EAAMnwB,MACf,CACD+mC,EAAe,KACfC,GAAW,EAnEf,SAAyBM,GACrB,GAAIZ,IAAuBI,aAEvB,OAAOA,aAAaQ,GAGxB,IAAKZ,IAAuBE,IAAwBF,IAAuBI,aAEvE,OADAJ,EAAqBI,aACdA,aAAaQ,GAExB,IAEI,OAAOZ,EAAmBY,EAC7B,CAAC,MAAO9oC,GACL,IAEI,OAAOkoC,EAAmBnoC,KAAK,KAAM+oC,EACxC,CAAC,MAAO9oC,GAGL,OAAOkoC,EAAmBnoC,KAAKyY,KAAMswB,EACxC,CACJ,CAIJ,CA0CGC,CAAgBH,EAlBf,CAmBJ,CAgBD,SAASI,EAAK3lC,EAAKiC,GACfkT,KAAKnV,IAAMA,EACXmV,KAAKlT,MAAQA,CAChB,CAWD,SAAS+uB,IAAS,CA5BlB9U,EAAQ0pB,SAAW,SAAU5lC,GACzB,IAAI9D,EAAO,IAAIqB,MAAMJ,UAAUgB,OAAS,GACxC,GAAIhB,UAAUgB,OAAS,EACnB,IAAK,IAAIb,EAAI,EAAGA,EAAIH,UAAUgB,OAAQb,IAClCpB,EAAKoB,EAAI,GAAKH,UAAUG,GAGhCgxB,EAAMxxB,KAAK,IAAI6oC,EAAK3lC,EAAK9D,IACJ,IAAjBoyB,EAAMnwB,QAAiBgnC,GACvBH,EAAWM,EAEnB,EAOAK,EAAKlqC,UAAU+pC,IAAM,WACjBrwB,KAAKnV,IAAIjD,MAAM,KAAMoY,KAAKlT,MAC9B,EACAia,EAAQ2pB,MAAQ,UAChB3pB,EAAQ4pB,SAAU,EAClB5pB,EAAQ6pB,IAAM,GACd7pB,EAAQ8pB,KAAO,GACf9pB,EAAQ5V,QAAU,GAClB4V,EAAQ+pB,SAAW,GAInB/pB,EAAQ0V,GAAKZ,EACb9U,EAAQgqB,YAAclV,EACtB9U,EAAQiqB,KAAOnV,EACf9U,EAAQkf,IAAMpK,EACd9U,EAAQkqB,eAAiBpV,EACzB9U,EAAQmqB,mBAAqBrV,EAC7B9U,EAAQpB,KAAOkW,EACf9U,EAAQoqB,gBAAkBtV,EAC1B9U,EAAQqqB,oBAAsBvV,EAE9B9U,EAAQsqB,UAAY,SAAUpnC,GAAQ,MAAO,EAAI,EAEjD8c,EAAQuqB,QAAU,SAAUrnC,GACxB,MAAM,IAAIqzB,MAAM,mCACpB,EAEAvW,EAAQwqB,IAAM,WAAc,MAAO,GAAG,EACtCxqB,EAAQyqB,MAAQ,SAAUnS,GACtB,MAAM,IAAI/B,MAAM,iCACpB,EACAvW,EAAQ0qB,MAAQ,WAAa,OAAO,CAAE,CAG/B,EAEP,SAAgB9qB,EAAQ2oB,EAASF,GAgBjC,SAASsC,EAAkBp0B,GACzB,OAAO,WACL,OAAOA,CACX,CACC,CAOD,IAAIq0B,EAAgB,aAEpBA,EAAcC,YAAcF,EAC5BC,EAAcE,iBAAmBH,GAAkB,GACnDC,EAAcG,gBAAkBJ,GAAkB,GAClDC,EAAcI,gBAAkBL,EAAkB,MAClDC,EAAcK,gBAAkB,WAC9B,OAAOhyB,IACT,EACA2xB,EAAcM,oBAAsB,SAAU30B,GAC5C,OAAOA,CACT,EAEAqJ,EAAO2oB,QAAUqC,CAEV,EAEP,SAAgBhrB,EAAQ2oB,EAASF,IAGL,SAASroB,GAsDrCJ,EAAO2oB,QArBP,SAAmB4C,EAAWnf,EAAQrrB,EAAGgnC,EAAGvmB,EAAGsd,EAAGj+B,EAAGoG,GAGnD,IAAKskC,EAAW,CACd,IAAIhyB,EACJ,QAAelP,IAAX+hB,EACF7S,EAAQ,IAAIod,MAAM,qIACb,CACL,IAAIv2B,EAAO,CAACW,EAAGgnC,EAAGvmB,EAAGsd,EAAGj+B,EAAGoG,GACvBukC,EAAW,GACfjyB,EAAQ,IAAIod,MAAMvK,EAAOhnB,QAAQ,OAAO,WACtC,OAAOhF,EAAKorC,IACb,MACKloC,KAAO,qBACd,CAGD,MADAiW,EAAMkyB,YAAc,EACdlyB,CACP,CACF,CAG2B,GAAC3Y,KAAK+nC,EAASF,EAAoB,GAExD,EAEP,SAAgBzoB,EAAQ2oB,EAASF,GAgBjCzoB,EAAO2oB,QAFoB,8CAKpB,EAEP,SAAgB3oB,EAAQ2oB,GAExB3oB,EAAO2oB,QAAUJ,CAEV,EAEP,SAAgBvoB,EAAQ2oB,EAASF,GAKjC1oC,OAAOwX,eAAeoxB,EAAS,aAAc,CAC3CvmC,OAAO,IAGT,IAIgC7C,EAJ5BmsC,EAASjD,EAAoB,GAM7BkD,IAF4BpsC,EAFKmsC,IAEgBnsC,EAAIspC,WAAatpC,EAAM,CAAEqsC,QAASrsC,IAEvDqsC,QAAQ9G,cAAc,CACpD+G,aAAc,WAA0B,EACxCC,eAAgB,WAA4B,IAG9CnD,EAAQiD,QAAUD,EAClB3rB,EAAO2oB,QAAUA,EAAiB,OAE3B,EAEP,SAAgB3oB,EAAQ2oB,EAASF,IAGL,SAASroB,GAYrC,IASI2rB,EATgBtD,EAAoB,GAqDxCzoB,EAAO2oB,QAAUoD,CACW,GAACnrC,KAAK+nC,EAASF,EAAoB,GAExD,EAEP,SAAgBzoB,EAAQ2oB,EAASF,IAEL,SAASroB,GA4BnCJ,EAAO2oB,QAAUF,EAAoB,GAApBA,EAGS,GAAC7nC,KAAK+nC,EAASF,EAAoB,GAExD,EAEP,SAAgBzoB,EAAQ2oB,EAASF,GAKjC1oC,OAAOwX,eAAeoxB,EAAS,aAAc,CAC3CvmC,OAAO,IAGT,IAAIqV,EAAe,WAAc,SAASwB,EAAiB7B,EAAQC,GAAS,IAAK,IAAI7V,EAAI,EAAGA,EAAI6V,EAAMhV,OAAQb,IAAK,CAAE,IAAI8V,EAAaD,EAAM7V,GAAI8V,EAAW1J,WAAa0J,EAAW1J,aAAc,EAAO0J,EAAW3J,cAAe,EAAU,UAAW2J,IAAYA,EAAW5J,UAAW,GAAM3N,OAAOwX,eAAeH,EAAQE,EAAWV,IAAKU,EAAY,CAAI,CAAC,OAAO,SAAUb,EAAaiB,EAAYC,GAAiJ,OAA9HD,GAAYuB,EAAiBxC,EAAY9W,UAAW+X,GAAiBC,GAAasB,EAAiBxC,EAAakB,GAAqBlB,CAAc,CAAG,CAA9hB,GAEfi1B,EAASjD,EAAoB,GAE7BuD,EAAUC,EAAuBP,GAIjCQ,EAAcD,EAFDxD,EAAoB,IAMjC0D,EAAsBF,EAFDxD,EAAoB,IAI7C,SAASwD,EAAuB1sC,GAAO,OAAOA,GAAOA,EAAIspC,WAAatpC,EAAM,CAAEqsC,QAASrsC,EAAQ,CAI/F,SAAS2Y,EAA2BL,EAAMjX,GAAQ,IAAKiX,EAAQ,MAAM,IAAIC,eAAe,6DAAgE,OAAOlX,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BiX,EAAPjX,CAAc,CAShP,IAAIwrC,EAAa,SAAUC,GAGzB,SAASD,IACP,IAAInoC,EAEAqoC,EAAOzxB,GAjBf,SAAyB3Z,EAAUuV,GAAe,KAAMvV,aAAoBuV,GAAgB,MAAM,IAAIhU,UAAU,oCAAyC,CAmBrJ+T,CAAgB6C,KAAM+yB,GAEtB,IAAK,IAAIrmC,EAAO1E,UAAUgB,OAAQjC,EAAOqB,MAAMsE,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC3E5F,EAAK4F,GAAQ3E,UAAU2E,GAGzB,OAAesmC,EAASzxB,EAAQ3C,EAA2BmB,MAAOpV,EAAOmoC,EAAWnsC,WAAaF,OAAO6D,eAAewoC,IAAaxrC,KAAKK,MAAMgD,EAAM,CAACoV,MAAMhM,OAAOjN,KAAiBya,EAAM0xB,MAAQ,CAAE,EAAE1xB,EAAMgxB,aAAe,SAAU36B,EAAMs7B,GACzOA,EAAO/nC,SAAQ,SAAUgoC,GAClB5xB,EAAM0xB,MAAME,KACf5xB,EAAM0xB,MAAME,GAAS,IAGlB5xB,EAAM6xB,SAASx7B,EAAMu7B,KACpB5xB,EAAM0xB,MAAME,GAAOpqC,OAAS,GAC9BwY,EAAM8xB,mBAAmB9xB,EAAM0xB,MAAME,GAAO,GAAIv7B,GAElD2J,EAAM0xB,MAAME,GAAOzrC,KAAKkQ,GAElC,IACM2J,EAAM+xB,UAAU17B,EAAMs7B,EACvB,EAAE3xB,EAAMixB,eAAiB,SAAU56B,EAAMs7B,GACxCA,EAAO/nC,SAAQ,SAAUgoC,GACnB5xB,EAAM6xB,SAASx7B,EAAMu7B,KACvB5xB,EAAMgyB,aAAa37B,GACnB2J,EAAM0xB,MAAME,GAAO7tB,OAAO/D,EAAM0xB,MAAME,GAAOnnC,QAAQ4L,GAAO,GAEtE,GACK,EAAE2J,EAAM+xB,UAAY,SAAU17B,EAAMs7B,GAEnCt7B,EAAK47B,SAAWjyB,EAAMkyB,iBAAiB3rC,KAAKyZ,EAAO3J,EAAMs7B,EAC/D,EAAO3xB,EAAMgyB,aAAe,SAAU37B,GAEhCA,EAAK47B,SAAW,IACjB,EAAEjyB,EAAM6xB,SAAW,SAAUx7B,EAAMu7B,GAClC,QAAK5xB,EAAM0xB,MAAME,IAIV5xB,EAAM0xB,MAAME,GAAO9sB,MAAK,SAAUqtB,GACvC,OAAOA,IAAS97B,CACxB,GACK,EAAE2J,EAAMkyB,iBAAmB,SAAU77B,EAAMs7B,GACrC3xB,EAAMxD,MAAM41B,SAIjB7jC,OAAO8jC,uBAAsB,WAC3BryB,EAAMsyB,oBAAoBj8B,EAAMs7B,EACxC,GACK,EAAE3xB,EAAMsyB,oBAAsB,SAAUC,EAAcZ,GACrDA,EAAO/nC,SAAQ,SAAUgoC,GACvB5xB,EAAM0xB,MAAME,GAAOhoC,SAAQ,SAAUuoC,GAE/BI,IAAiBJ,IAEnBnyB,EAAMgyB,aAAaG,EAAMP,GACzB5xB,EAAM8xB,mBAAmBS,EAAcJ,GAEvC5jC,OAAO8jC,uBAAsB,WAC3BryB,EAAM+xB,UAAUI,EAAMR,EACpC,IAEA,GACA,IACU3xB,EAAMxD,MAAMg2B,QAAQxyB,EAAMxD,MAAMg2B,OAAOD,EAC5C,EAAUl1B,EAA2B2C,EAAnCyxB,EACJ,CAoDD,OArIF,SAAmBt0B,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIxV,UAAU,kEAAoEwV,GAAeD,EAASrY,UAAYI,OAAOiE,OAAOiU,GAAcA,EAAWtY,UAAW,CAAED,YAAa,CAAE0C,MAAO4V,EAAUpK,YAAY,EAAOF,UAAU,EAAMC,cAAc,KAAesK,IAAYlY,OAAOC,eAAiBD,OAAOC,eAAegY,EAAUC,GAAcD,EAAS/X,UAAYgY,EAAa,CAQ5eF,CAAUq0B,EAAYC,GA2EtB50B,EAAa20B,EAAY,CAAC,CACxBx1B,IAAK,kBACLxU,MAAO,WACL,MAAO,CACLypC,aAAcxyB,KAAKwyB,aACnBC,eAAgBzyB,KAAKyyB,eAExB,GACA,CACDl1B,IAAK,qBACLxU,MAAO,SAA4BgrC,EAAcJ,GAC/C,IAAIM,EAAYF,EAAaE,UACzBC,EAAeH,EAAaG,aAC5BC,EAAeJ,EAAaI,aAC5BC,EAAaL,EAAaK,WAC1BC,EAAcN,EAAaM,YAC3BC,EAAcP,EAAaO,YAG3BC,EAAkBL,EAAeC,EACjCK,EAAmBH,EAAcC,EAEjCG,EAASz0B,KAAKhC,MACd02B,EAAeD,EAAOC,aACtBC,EAAWF,EAAOE,SAClBC,EAAaH,EAAOG,WAIpBC,EAAalB,EAAKO,aAAeC,EACjCW,EAAYnB,EAAKU,YAAcC,EAE/BK,GAAYJ,EAAkB,IAChCZ,EAAKM,UAAYS,EAAeG,EAAaZ,EAAYM,EAAkBN,GAEzEW,GAAcJ,EAAmB,IACnCb,EAAKS,WAAaM,EAAeI,EAAYV,EAAaI,EAAmBJ,EAEhF,GACA,CACD72B,IAAK,SACLxU,MAAO,WACL,OAAO4pC,EAAQJ,QAAQ//B,cACrBsgC,EAAoBP,QAAQwC,SAC5B,CAAEhsC,MAAOiX,KAAKg1B,mBACdrC,EAAQJ,QAAQ0C,SAASC,KAAKl1B,KAAKhC,MAAMmnB,UAE5C,KAGI4N,CACT,CA/HiB,CA+HfV,EAAO8C,WAETpC,EAAWqC,UAAY,CAMrBpB,OAAQnB,EAAYN,QAAQtnC,KAC5Bk6B,SAAU0N,EAAYN,QAAQtlC,QAAQooC,WACtCX,aAAc7B,EAAYN,QAAQ5xB,KAClCg0B,SAAU9B,EAAYN,QAAQ5xB,KAC9Bi0B,WAAY/B,EAAYN,QAAQ5xB,KAChCizB,QAASf,EAAYN,QAAQ5xB,MAE/BoyB,EAAWuC,aAAe,CACxBZ,cAAc,EACdC,UAAU,EACVC,YAAY,EACZhB,SAAS,GAEXtE,EAAQiD,QAAUQ,EAClBpsB,EAAO2oB,QAAUA,EAAiB,OAE3B,EAEP,SAAgB3oB,EAAQ2oB,EAASF,GAKjC1oC,OAAOwX,eAAeoxB,EAAS,aAAc,CAC3CvmC,OAAO,IAGT,IAAIqV,EAAe,WAAc,SAASwB,EAAiB7B,EAAQC,GAAS,IAAK,IAAI7V,EAAI,EAAGA,EAAI6V,EAAMhV,OAAQb,IAAK,CAAE,IAAI8V,EAAaD,EAAM7V,GAAI8V,EAAW1J,WAAa0J,EAAW1J,aAAc,EAAO0J,EAAW3J,cAAe,EAAU,UAAW2J,IAAYA,EAAW5J,UAAW,GAAM3N,OAAOwX,eAAeH,EAAQE,EAAWV,IAAKU,EAAY,CAAI,CAAC,OAAO,SAAUb,EAAaiB,EAAYC,GAAiJ,OAA9HD,GAAYuB,EAAiBxC,EAAY9W,UAAW+X,GAAiBC,GAAasB,EAAiBxC,EAAakB,GAAqBlB,CAAc,CAAG,CAA9hB,GAEfi1B,EAASjD,EAAoB,GAI7ByD,EAAcD,EAFDxD,EAAoB,IAMjC0D,EAAsBF,EAFDxD,EAAoB,IAI7C,SAASwD,EAAuB1sC,GAAO,OAAOA,GAAOA,EAAIspC,WAAatpC,EAAM,CAAEqsC,QAASrsC,EAAQ,CAgB/F,IAAIqvC,EAAiB,SAAUvC,GAG7B,SAASuC,EAAev3B,IAjB1B,SAAyBnW,EAAUuV,GAAe,KAAMvV,aAAoBuV,GAAgB,MAAM,IAAIhU,UAAU,oCAAyC,CAkBrJ+T,CAAgB6C,KAAMu1B,GAEtB,IAAI/zB,EAlBR,SAAoChD,EAAMjX,GAAQ,IAAKiX,EAAQ,MAAM,IAAIC,eAAe,6DAAgE,OAAOlX,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BiX,EAAPjX,CAAc,CAkBhOsX,CAA2BmB,MAAOu1B,EAAe3uC,WAAaF,OAAO6D,eAAegrC,IAAiBhuC,KAAKyY,KAAMhC,IAe5H,OAbAwD,EAAMg0B,QAAU,SAAUrC,GACxB,MAAO,GAAGn/B,OAAOm/B,EACvB,EAEI3xB,EAAMi0B,WAAa,WACbj0B,EAAMxD,MAAM03B,SACdl0B,EAAM3J,KAAO2J,EAAMxD,MAAM03B,SAAShxB,QAElClD,EAAM3J,KAAO2J,EAAMm0B,SAASjxB,OAEpC,EAEIlD,EAAMm0B,UAAW,EAAItD,EAAOuD,aACrBp0B,CACR,CAqDD,OArFF,SAAmB7C,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIxV,UAAU,kEAAoEwV,GAAeD,EAASrY,UAAYI,OAAOiE,OAAOiU,GAAcA,EAAWtY,UAAW,CAAED,YAAa,CAAE0C,MAAO4V,EAAUpK,YAAY,EAAOF,UAAU,EAAMC,cAAc,KAAesK,IAAYlY,OAAOC,eAAiBD,OAAOC,eAAegY,EAAUC,GAAcD,EAAS/X,UAAYgY,EAAa,CAW5eF,CAAU62B,EAAgBvC,GAuB1B50B,EAAam3B,EAAgB,CAAC,CAC5Bh4B,IAAK,oBACLxU,MAAO,WACDiX,KAAKhC,MAAM41B,UACb5zB,KAAKy1B,aACDz1B,KAAKnI,MACPmI,KAAK+M,QAAQylB,aAAaxyB,KAAKnI,KAAMmI,KAAKw1B,QAAQx1B,KAAKhC,MAAMo1B,QAGlE,GACA,CACD71B,IAAK,qBACLxU,MAAO,SAA4B8sC,GAC7B71B,KAAKhC,MAAM03B,WAAaG,EAAUH,WAChC11B,KAAKnI,MACPmI,KAAK+M,QAAQ0lB,eAAezyB,KAAKnI,KAAMmI,KAAKw1B,QAAQK,EAAUzC,QAEhEpzB,KAAKy1B,aACDz1B,KAAKnI,MACPmI,KAAK+M,QAAQylB,aAAaxyB,KAAKnI,KAAMmI,KAAKw1B,QAAQK,EAAUzC,SAG5DpzB,KAAKnI,MAAQmI,KAAKhC,MAAM41B,UAAYiC,EAAUjC,UAC5C5zB,KAAKhC,MAAM41B,QACb5zB,KAAK+M,QAAQylB,aAAaxyB,KAAKnI,KAAMmI,KAAKw1B,QAAQK,EAAUzC,QAE5DpzB,KAAK+M,QAAQ0lB,eAAezyB,KAAKnI,KAAMmI,KAAKw1B,QAAQK,EAAUzC,SAG9DpzB,KAAKnI,MAAQmI,KAAKhC,MAAM41B,SAAW5zB,KAAKhC,MAAMo1B,QAAUyC,EAAUzC,QACpEpzB,KAAK+M,QAAQ0lB,eAAezyB,KAAKnI,KAAMmI,KAAKw1B,QAAQK,EAAUzC,QAC9DpzB,KAAK+M,QAAQylB,aAAaxyB,KAAKnI,KAAMmI,KAAKw1B,QAAQx1B,KAAKhC,MAAMo1B,QAEhE,GACA,CACD71B,IAAK,uBACLxU,MAAO,WACDiX,KAAKnI,MAAQmI,KAAKhC,MAAM41B,SAC1B5zB,KAAK+M,QAAQ0lB,eAAezyB,KAAKnI,KAAMmI,KAAKw1B,QAAQx1B,KAAKhC,MAAMo1B,OAElE,GACA,CACD71B,IAAK,SACLxU,MAAO,WACL,OAAIiX,KAAKhC,MAAM03B,SACN11B,KAAKhC,MAAMmnB,UAEb,EAAIkN,EAAO/I,cAAc+I,EAAO4C,SAASC,KAAKl1B,KAAKhC,MAAMmnB,UAAW,CAAEmH,IAAKtsB,KAAK21B,UACxF,KAGIJ,CACT,CA5EqB,CA4EnBlD,EAAO8C,WAETI,EAAeO,YAAchD,EAAoBP,QACjDgD,EAAeH,UAAY,CACzBjQ,SAAU0N,EAAYN,QAAQ16B,KAAKw9B,WACnCK,SAAU7C,EAAYN,QAAQwD,UAAU,CAAClD,EAAYN,QAAQtnC,KAAM4nC,EAAYN,QAAQyD,MAAM,CAAEtxB,QAASmuB,EAAYN,QAAQ0D,QAC5H7C,MAAOP,EAAYN,QAAQwD,UAAU,CAAClD,EAAYN,QAAQxjB,OAAQ8jB,EAAYN,QAAQ2D,QAAQrD,EAAYN,QAAQxjB,UAClH6kB,QAASf,EAAYN,QAAQ5xB,MAE/B40B,EAAeD,aAAe,CAC5BlC,MAAO,UACPQ,SAAS,GAEXtE,EAAQiD,QAAUgD,EAClB5uB,EAAO2oB,QAAUA,EAAiB,OAE3B,EAEP,SAAgB3oB,EAAQ2oB,EAASF,GAKjC1oC,OAAOwX,eAAeoxB,EAAS,aAAc,CAC3CvmC,OAAO,IAGT,IAAIotC,EAAc/G,EAAoB,GAEtC1oC,OAAOwX,eAAeoxB,EAAS,aAAc,CAC3C/6B,YAAY,EACZhG,IAAK,WACH,OAAOqkC,EAAuBuD,GAAa5D,OAC5C,IAGH,IAAI6D,EAAkBhH,EAAoB,GAS1C,SAASwD,EAAuB1sC,GAAO,OAAOA,GAAOA,EAAIspC,WAAatpC,EAAM,CAAEqsC,QAASrsC,EAAQ,CAP/FQ,OAAOwX,eAAeoxB,EAAS,iBAAkB,CAC/C/6B,YAAY,EACZhG,IAAK,WACH,OAAOqkC,EAAuBwD,GAAiB7D,OAChD,GAKI,EAEP,SAAgB5rB,EAAQ2oB,EAASF,IAGL,SAASroB,GA4DrCJ,EAAO2oB,QA/BP,SAAwB+G,EAAW1L,EAAQpJ,EAAU+U,EAAeC,GA6BnE,CAI2B,GAAChvC,KAAK+nC,EAASF,EAAoB,GAExD,EAEP,SAAgBzoB,EAAQ2oB,EAASF,GAcjC,IAAIuC,EAAgBvC,EAAoB,GACpCoH,EAAYpH,EAAoB,GAChCqH,EAAuBrH,EAAoB,GAE/CzoB,EAAO2oB,QAAU,WACf,SAASoH,EAAK14B,EAAO24B,EAAUL,EAAe/U,EAAUqV,EAAcC,GAChEA,IAAWJ,GAIfD,GACE,EACA,kLAIN,CAEE,SAASM,IACP,OAAOJ,CAEX,CAJEA,EAAKrB,WAAaqB,EAMlB,IAAIK,EAAiB,CACnBjqC,MAAO4pC,EACP/1B,KAAM+1B,EACNzrC,KAAMyrC,EACNxkB,OAAQwkB,EACRtpC,OAAQspC,EACR3nB,OAAQ2nB,EACRM,OAAQN,EAERT,IAAKS,EACLR,QAASY,EACT7pC,QAASypC,EACTO,WAAYH,EACZj/B,KAAM6+B,EACNQ,SAAUJ,EACVK,MAAOL,EACPf,UAAWe,EACXd,MAAOc,GAMT,OAHAC,EAAeK,eAAiBzF,EAChCoF,EAAeM,UAAYN,EAEpBA,CACT,CAGO,EAEP,SAAgBpwB,EAAQ2oB,EAASF,IAGL,SAASroB,GAWrC,IAAI4qB,EAAgBvC,EAAoB,GACpCoH,EAAYpH,EAAoB,GAChCsD,EAAUtD,EAAoB,GAE9BqH,EAAuBrH,EAAoB,GAC3CgI,EAAiBhI,EAAoB,IAEzCzoB,EAAO2oB,QAAU,SAASzH,EAAgByP,GAExC,IAAIC,EAAoC,mBAAXpxC,QAAyBA,OAAOC,SACzDoxC,EAAuB,aAsEvBC,EAAY,gBAIZV,EAAiB,CACnBjqC,MAAO4qC,EAA2B,SAClC/2B,KAAM+2B,EAA2B,WACjCzsC,KAAMysC,EAA2B,YACjCxlB,OAAQwlB,EAA2B,UACnCtqC,OAAQsqC,EAA2B,UACnC3oB,OAAQ2oB,EAA2B,UACnCV,OAAQU,EAA2B,UAEnCzB,IAyHO0B,EAA2BhG,EAAcI,iBAxHhDmE,QA2HF,SAAkC0B,GAkBhC,OAAOD,GAjBP,SAAkB35B,EAAO24B,EAAUL,EAAe/U,EAAUqV,GAC1D,GAA2B,mBAAhBgB,EACT,OAAO,IAAIC,EAAc,aAAejB,EAAe,mBAAqBN,EAAgB,mDAE9F,IAAIwB,EAAY95B,EAAM24B,GACtB,IAAKvuC,MAAMC,QAAQyvC,GAEjB,OAAO,IAAID,EAAc,WAAatW,EAAW,KAAOqV,EAA/B,cADVmB,EAAYD,GAC6E,kBAAoBxB,EAAgB,yBAE9I,IAAK,IAAInuC,EAAI,EAAGA,EAAI2vC,EAAU9uC,OAAQb,IAAK,CACzC,IAAI+X,EAAQ03B,EAAYE,EAAW3vC,EAAGmuC,EAAe/U,EAAUqV,EAAe,IAAMzuC,EAAI,IAAKsuC,GAC7F,GAAIv2B,aAAiBod,MACnB,OAAOpd,CAEV,CACD,OAAO,IACR,GAEF,EA7ICjT,QAwJO0qC,GARP,SAAkB35B,EAAO24B,EAAUL,EAAe/U,EAAUqV,GAC1D,IAAIkB,EAAY95B,EAAM24B,GACtB,OAAK9O,EAAeiQ,GAIb,KAFE,IAAID,EAAc,WAAatW,EAAW,KAAOqV,EAA/B,cADVmB,EAAYD,GAC6E,kBAAoBxB,EAAgB,qCAG/I,IAtJDW,WA0JF,SAAmCe,GASjC,OAAOL,GARP,SAAkB35B,EAAO24B,EAAUL,EAAe/U,EAAUqV,GAC1D,KAAM54B,EAAM24B,aAAqBqB,GAAgB,CAC/C,IAAIC,EAAoBD,EAAc/tC,MAAQwtC,EAE9C,OAAO,IAAII,EAAc,WAAatW,EAAW,KAAOqV,EAA/B,gBA0OTkB,EA3OmB95B,EAAM24B,IA4O9BtwC,aAAgByxC,EAAUzxC,YAAY4D,KAG9C6tC,EAAUzxC,YAAY4D,KAFpBwtC,GA5O0G,kBAAoBnB,EAA1G,4BAA+J2B,EAAoB,KAC7M,CAyOL,IAAsBH,EAxOlB,OAAO,IACR,GAEF,EAnKCjgC,KAwPO8/B,GANP,SAAkB35B,EAAO24B,EAAUL,EAAe/U,EAAUqV,GAC1D,OAAKsB,EAAOl6B,EAAM24B,IAGX,KAFE,IAAIkB,EAAc,WAAatW,EAAW,KAAOqV,EAA/B,kBAAwEN,EAAgB,2BAGpH,IAtPDY,SAwLF,SAAmCU,GAoBjC,OAAOD,GAnBP,SAAkB35B,EAAO24B,EAAUL,EAAe/U,EAAUqV,GAC1D,GAA2B,mBAAhBgB,EACT,OAAO,IAAIC,EAAc,aAAejB,EAAe,mBAAqBN,EAAgB,oDAE9F,IAAIwB,EAAY95B,EAAM24B,GAClBwB,EAAWJ,EAAYD,GAC3B,GAAiB,WAAbK,EACF,OAAO,IAAIN,EAAc,WAAatW,EAAW,KAAOqV,EAA/B,cAAoEuB,EAAW,kBAAoB7B,EAAgB,0BAE9I,IAAK,IAAI/4B,KAAOu6B,EACd,GAAIA,EAAUp1B,eAAenF,GAAM,CACjC,IAAI2C,EAAQ03B,EAAYE,EAAWv6B,EAAK+4B,EAAe/U,EAAUqV,EAAe,IAAMr5B,EAAKk5B,GAC3F,GAAIv2B,aAAiBod,MACnB,OAAOpd,CAEV,CAEH,OAAO,IACR,GAEF,EA5MCi3B,MAmKF,SAA+BiB,GAC7B,OAAKhwC,MAAMC,QAAQ+vC,GAgBZT,GAXP,SAAkB35B,EAAO24B,EAAUL,EAAe/U,EAAUqV,GAE1D,IADA,IAAIkB,EAAY95B,EAAM24B,GACbxuC,EAAI,EAAGA,EAAIiwC,EAAepvC,OAAQb,IACzC,GAAI0mC,EAAGiJ,EAAWM,EAAejwC,IAC/B,OAAO,KAKX,OAAO,IAAI0vC,EAAc,WAAatW,EAAW,KAAOqV,EAAe,eAAiBkB,EAA/D,kBAAqGxB,EAAgB,sBAD3H7gB,KAAK0B,UAAUihB,GACmJ,IACtL,IAbQzG,EAAcI,eAexB,EApLCgE,UA6MF,SAAgCsC,GAC9B,IAAKjwC,MAAMC,QAAQgwC,GAEjB,OAAO1G,EAAcI,gBAGvB,IAAK,IAAI5pC,EAAI,EAAGA,EAAIkwC,EAAoBrvC,OAAQb,IAAK,CACnD,IAAImwC,EAAUD,EAAoBlwC,GAClC,GAAuB,mBAAZmwC,EAQT,OAPA5F,GACE,EACA,4GAEA6F,EAAyBD,GACzBnwC,GAEKwpC,EAAcI,eAExB,CAYD,OAAO4F,GAVP,SAAkB35B,EAAO24B,EAAUL,EAAe/U,EAAUqV,GAC1D,IAAK,IAAIzuC,EAAI,EAAGA,EAAIkwC,EAAoBrvC,OAAQb,IAE9C,GAA6F,OAAzFmwC,EADUD,EAAoBlwC,IACtB6V,EAAO24B,EAAUL,EAAe/U,EAAUqV,EAAcH,GAClE,OAAO,KAIX,OAAO,IAAIoB,EAAc,WAAatW,EAAW,KAAOqV,EAA/B,kBAAwEN,EAAgB,KAClH,GAEF,EA3OCN,MAuPF,SAAgCwC,GAmB9B,OAAOb,GAlBP,SAAkB35B,EAAO24B,EAAUL,EAAe/U,EAAUqV,GAC1D,IAAIkB,EAAY95B,EAAM24B,GAClBwB,EAAWJ,EAAYD,GAC3B,GAAiB,WAAbK,EACF,OAAO,IAAIN,EAAc,WAAatW,EAAW,KAAOqV,EAAe,cAAgBuB,EAA9D,kBAAmG7B,EAAgB,yBAE9I,IAAK,IAAI/4B,KAAOi7B,EAAY,CAC1B,IAAIF,EAAUE,EAAWj7B,GACzB,GAAK+6B,EAAL,CAGA,IAAIp4B,EAAQo4B,EAAQR,EAAWv6B,EAAK+4B,EAAe/U,EAAUqV,EAAe,IAAMr5B,EAAKk5B,GACvF,GAAIv2B,EACF,OAAOA,CAHR,CAKF,CACD,OAAO,IACR,GAEF,GAnQD,SAAS2uB,EAAG9jC,EAAG0tC,GAEb,OAAI1tC,IAAM0tC,EAGK,IAAN1tC,GAAW,EAAIA,GAAM,EAAI0tC,EAGzB1tC,GAAMA,GAAK0tC,GAAMA,CAE3B,CAUD,SAASZ,EAAca,GACrB14B,KAAK04B,QAAUA,EACf14B,KAAKwC,MAAQ,EACd,CAID,SAASm1B,EAA2BgB,GAKlC,SAASC,EAAUvD,EAAYr3B,EAAO24B,EAAUL,EAAe/U,EAAUqV,EAAcC,GAoCrF,OAnCAP,EAAgBA,GAAiBmB,EACjCb,EAAeA,GAAgBD,EAE3BE,IAAWJ,GACTa,GAEFd,GACE,EACA,qLA2BiB,MAAnBx4B,EAAM24B,GACJtB,EACsB,OAApBr3B,EAAM24B,GACD,IAAIkB,EAAc,OAAStW,EAAW,KAAOqV,EAA3B,+BAAiFN,EAAgB,+BAErH,IAAIuB,EAAc,OAAStW,EAAW,KAAOqV,EAA3B,+BAAiFN,EAAgB,oCAErH,KAEAqC,EAAS36B,EAAO24B,EAAUL,EAAe/U,EAAUqV,EAE7D,CAED,IAAIiC,EAAmBD,EAAU7wC,KAAK,MAAM,GAG5C,OAFA8wC,EAAiBxD,WAAauD,EAAU7wC,KAAK,MAAM,GAE5C8wC,CACR,CAED,SAASnB,EAA2BoB,GAclC,OAAOnB,GAbP,SAAkB35B,EAAO24B,EAAUL,EAAe/U,EAAUqV,EAAcC,GACxE,IAAIiB,EAAY95B,EAAM24B,GAEtB,OADeoB,EAAYD,KACVgB,EAMR,IAAIjB,EAAc,WAAatW,EAAW,KAAOqV,EAA/B,cAFPmC,EAAejB,GAE0E,kBAAoBxB,EAAtG,gBAA+IwC,EAAe,MAElL,IACR,GAEF,CA+JD,SAASZ,EAAOJ,GACd,cAAeA,GACb,IAAK,SACL,IAAK,SACL,IAAK,YACH,OAAO,EACT,IAAK,UACH,OAAQA,EACV,IAAK,SACH,GAAI1vC,MAAMC,QAAQyvC,GAChB,OAAOA,EAAU9O,MAAMkP,GAEzB,GAAkB,OAAdJ,GAAsBjQ,EAAeiQ,GACvC,OAAO,EAGT,IAAIkB,EAxWV,SAAuBC,GACrB,IAAID,EAAaC,IAAkB1B,GAAmB0B,EAAc1B,IAAoB0B,EAAczB,IACtG,GAA0B,mBAAfwB,EACT,OAAOA,CAEV,CAmWsBE,CAAcpB,GAC/B,IAAIkB,EAqBF,OAAO,EApBP,IACIjrC,EADA3H,EAAW4yC,EAAWzxC,KAAKuwC,GAE/B,GAAIkB,IAAelB,EAAUztC,SAC3B,OAAS0D,EAAO3H,EAASyC,QAAQC,MAC/B,IAAKovC,EAAOnqC,EAAKhF,OACf,OAAO,OAKX,OAASgF,EAAO3H,EAASyC,QAAQC,MAAM,CACrC,IAAIqwC,EAAQprC,EAAKhF,MACjB,GAAIowC,IACGjB,EAAOiB,EAAM,IAChB,OAAO,CAGZ,CAML,OAAO,EACT,QACE,OAAO,EAEZ,CAsBD,SAASpB,EAAYD,GACnB,IAAIK,SAAkBL,EACtB,OAAI1vC,MAAMC,QAAQyvC,GACT,QAELA,aAAqBzrC,OAIhB,SA7BX,SAAkB8rC,EAAUL,GAE1B,MAAiB,WAAbK,GAK+B,WAA/BL,EAAU,kBAKQ,mBAAX3xC,QAAyB2xC,aAAqB3xC,MAK1D,CAcKizC,CAASjB,EAAUL,GACd,SAEFK,CACR,CAID,SAASY,EAAejB,GACtB,GAAI,MAAOA,EACT,MAAO,GAAKA,EAEd,IAAIK,EAAWJ,EAAYD,GAC3B,GAAiB,WAAbK,EAAuB,CACzB,GAAIL,aAAqB1X,KACvB,MAAO,OACF,GAAI0X,aAAqBzrC,OAC9B,MAAO,QAEV,CACD,OAAO8rC,CACR,CAID,SAASI,EAAyBxvC,GAChC,IAAI+W,EAAOi5B,EAAehwC,GAC1B,OAAQ+W,GACN,IAAK,QACL,IAAK,SACH,MAAO,MAAQA,EACjB,IAAK,UACL,IAAK,OACL,IAAK,SACH,MAAO,KAAOA,EAChB,QACE,OAAOA,EAEZ,CAaD,OA7WA+3B,EAAcvxC,UAAYg3B,MAAMh3B,UA0WhCywC,EAAeK,eAAiBA,EAChCL,EAAeM,UAAYN,EAEpBA,CACT,CAE4B,GAACxvC,KAAK+nC,EAASF,EAAoB,GAExD,GAEP,kDAtgDmBE,QAAAN,GAAQqK,EAAAA,SCafpK,KAfL,IAAMqK,IAAQrK,KAAAthC,EAAG,KAAA,CAAE8c,MAAO,IACpB8uB,IAAMtK,KAAAthC,EAAG,KAAA,CAAE8c,MAAO,IAClB+uB,IAAyBvK,KAAAthC,EAAA,KAAG,CACvC,yBACA,yBAEW8rC,IAAkBxK,KAAAthC,EAAA,MAAG,8kBCStB,OAAA+rC,cAAA,OAAA9L,CAAA,EAAAA,CAAA,CAAA8L,KAbZ,IAAMC,IAAWD,KAAA/rC,EAAG,KAAA,IAAIisC,cAAY,CAClCC,WAAY,IAAIC,EAAAA,qkCCYN,OAAAC,cAAA,OAAAnM,CAAA,EAAAA,CAAA,CAAAmM,KAX8CA,KAAApsC,EAAA,KAE1D,IAAMqsC,GAAiB,SAAA7E,GAAa4E,KAAAnsC,EAAA,KAAAmsC,KAAApsC,EAAA,KAQlC,OAFEosC,KAAApsC,EAAA,KALmB,SAAAqQ,GACnB,OAAA+7B,KAAAnsC,EAAA,KAAAmsC,KAAApsC,EAAA,KAAAssC,EAAA,QAAAznC,cAAC0nC,sBAAmB,CAACC,OAAQR,IAC3BM,EAAAA,QAAAznC,cAAC2iC,EAAcn3B,GACfi8B,EAAA,QAAAznC,cAAC4nC,qBAAkB,CAACC,eAAe,EAAOC,SAAS,kBAKzD,wkBCAY,OAAAC,cAAA,OAAA3M,CAAA,EAAAA,CAAA,CAAA2M,KAdL,IAAMC,IAAQD,KAAA5sC,OAAG,21BCcZ,OAAA8sC,cAAA,OAAA7M,CAAA,EAAAA,CAAA,CAAA6M,KAd6BA,KAAA9sC,EAAA,KAEzC,IAEM+sC,IAAcD,KAAA9sC,EAAG,KAAA,CAAEgtC,MAFX,WAAM,OAAAF,KAAA7sC,EAAA,KAAA6sC,KAAA9sC,EAAA,KAAAitC,EAAAA,QAAMrsC,OAAGyF,OAAIwmC,GAAuB,gBAAD,ipBCY3C,OAAAK,cAAA,OAAAjN,CAAA,EAAAA,CAAA,CAAAiN,KAfL,IAAMC,IAAkBD,KAAAltC,EAAA,KAAG,KAErBotC,IAAUF,KAAAltC,EAAG,KAAA,CACxBqtC,YAAa,iCACbC,MAAO,2BACPC,aAAc,kCACdC,MAAO,2BACPC,mBAAoB,g4CCQV,OAAAC,cAAA,OAAAzN,CAAA,EAAAA,CAAA,CAAA,SAAAlS,GAAAtuB,EAAA+R,GAAA,IAAAC,EAAA1Y,OAAA0Y,KAAAhS,MAAA1G,OAAA2Y,sBAAA,CAAA,IAAAC,EAAA5Y,OAAA2Y,sBAAAjS,GAAA+R,IAAAG,EAAAA,EAAAC,QAAAC,SAAAA,GAAA9Y,OAAAA,OAAA8D,yBAAA4C,EAAAoS,GAAAjL,UAAA,KAAA6K,EAAAzX,KAAAC,MAAAwX,EAAAE,EAAA,CAAA,OAAAF,CAAA,CAAAi8B,KAb2BA,KAAA1tC,EAAA,KAEvC,IAAM2tC,GAAsB,WAC1B,IAD2Bh7B,EAAOtY,UAAAgB,eAAAgI,IAAAhJ,UAAA,GAAAA,UAAAqzC,IAAAA,KAAA3M,EAAA,GAAA,KAAG,CAAA,GACrC,OADuC2M,KAAAztC,EAAA,KAAAytC,KAAA1tC,EAAA,KACvC4tC,EAAAA,SAASR,GAAWC,YAAaN,GAAeC,MAUtC,SAAA58B,GAAA,IAAA,IAAA5V,EAAAA,EAAAA,EAAAH,UAAAgB,OAAAb,IAAAuX,CAAAA,IAAAA,QAAA1X,UAAAG,GAAAH,UAAAG,MAAAA,EAAA,EAAAuzB,GAAAh1B,OAAAgZ,IAAA,GAAAtU,SAAAmS,SAAAA,GAAAyB,GAAAjB,EAAAR,EAAAmC,EAAAnC,GAAA,IAAA7W,OAAAiZ,0BAAAjZ,OAAAkZ,iBAAA7B,EAAArX,OAAAiZ,0BAAAD,IAAAgc,GAAAh1B,OAAAgZ,IAAAtU,kBAAAmS,GAAA7W,OAAAwX,eAAAH,EAAAR,EAAA7W,OAAA8D,yBAAAkV,EAAAnC,cAAAQ,CAAA,CAV2C4d,CAAA,CACnD6f,UAAWV,GACX3oB,OAAQ,SAAAspB,GAAY,OAAAJ,KAAAztC,EAAA,KAAAytC,KAAA1tC,EAAA,KAAA0tC,KAAA3M,EAAA+M,GAAAA,KAAAA,EAAShN,cAAW4M,KAAA3M,EAAI+M,GAAAA,KAAAA,EAAS5hC,KAAK40B,YAAU,GACjEnuB,GACJ,+0BCMS,OAAAo7B,cAAA,OAAA9N,CAAA,EAAAA,CAAA,CAAA8N,KAd6BA,KAAA/tC,EAAA,KAEzC,IAEMguC,IAAcD,KAAA/tC,EAAG,KAAA,CAAEgtC,MAFX,WAAM,OAAAe,KAAA9tC,EAAA,KAAA8tC,KAAA/tC,EAAA,KAAAitC,EAAAA,QAAMrsC,OAAGyF,OAAIwmC,GAAwB,iBAAD,i3DCY5C,OAAAoB,cAAA,OAAAhO,CAAA,EAAAA,CAAA,CAAAgO,KAd6BA,KAAAjuC,EAAA,KAEuBiuC,KAAAjuC,EAAA,KAEgBiuC,KAAAjuC,EAAA,KAGjBiuC,KAAAjuC,EAAA,KAGWiuC,KAAAjuC,EAAA,KAE1E,IAGMkuC,IAAoBD,KAAAjuC,EAAG,MAAA,CAAEmuC,WAHZ,SAAAC,GACjB,OAAAH,KAAAhuC,EAAA,KAAAguC,KAAAjuC,EAAA,KAAAitC,EAAK,QAACoB,MAAK,GAAAhoC,OAAIwmC,GAA2CuB,mCAAAA,EAAO,EAExBpxC,OAX5B,SAAAoxC,GAAW,OAAAH,KAAAhuC,EAAA,KAAAguC,KAAAjuC,EAAA,KAAAitC,EAAK,QAACqB,KAAI,GAAAjoC,OAAIwmC,GAA+BuB,uBAAAA,EAAO,EAW3BG,QANnC,SAACC,EAAIJ,GACnB,OAAAH,KAAAhuC,EAAA,KAAAguC,KAAAjuC,EAAA,KAAAitC,EAAK,QAAO,OAAA,GAAA5mC,OAAIwmC,GAAQxmC,wBAAAA,OAAuBmoC,GAAM,CAAEtiC,KAAMkiC,GAAS,EAKZpB,MAb9C,WAAM,OAAAiB,KAAAhuC,EAAA,KAAAguC,KAAAjuC,EAAA,KAAAitC,EAAAA,QAAMrsC,OAAGyF,OAAIwmC,GAA8B,uBAAD,EAaK4B,OATpD,SAACD,EAAIJ,GAClB,OAAAH,KAAAhuC,EAAA,KAAAguC,KAAAjuC,EAAA,KAAAitC,UAAMoB,MAAK,GAAAhoC,OAAIwmC,GAAQ,wBAAAxmC,OAAuBmoC,GAAMJ,EAAO,otQCOjD,OAAAM,cAAA,OAAAzO,CAAA,EAAAA,CAAA,CAAA,SAAAlS,GAAAtuB,EAAA+R,GAAA,IAAAC,EAAA1Y,OAAA0Y,KAAAhS,MAAA1G,OAAA2Y,sBAAA,CAAA,IAAAC,EAAA5Y,OAAA2Y,sBAAAjS,GAAA+R,IAAAG,EAAAA,EAAAC,QAAAC,SAAAA,GAAA9Y,OAAAA,OAAA8D,yBAAA4C,EAAAoS,GAAAjL,UAAA,KAAA6K,EAAAzX,KAAAC,MAAAwX,EAAAE,EAAA,CAAA,OAAAF,CAAA,CAAA,SAAAuc,GAAA5d,GAAA,IAAA,IAAA5V,EAAAA,EAAAA,EAAAH,UAAAgB,OAAAb,IAAAuX,CAAAA,IAAAA,QAAA1X,UAAAG,GAAAH,UAAAG,MAAAA,EAAA,EAAAuzB,GAAAh1B,OAAAgZ,IAAA,GAAAtU,SAAAmS,SAAAA,GAAAyB,GAAAjB,EAAAR,EAAAmC,EAAAnC,GAAA,IAAA7W,OAAAiZ,0BAAAjZ,OAAAkZ,iBAAA7B,EAAArX,OAAAiZ,0BAAAD,IAAAgc,GAAAh1B,OAAAgZ,IAAAtU,kBAAAmS,GAAA7W,OAAAwX,eAAAH,EAAAR,EAAA7W,OAAA8D,yBAAAkV,EAAAnC,cAAAQ,CAAA,CAAAs+B,KADwCA,KAAA1uC,EAAA,KAEpD,IAAM2uC,GAAgB,WACpB,IADqBh8B,EAAOtY,UAAAgB,eAAAgI,IAAAhJ,UAAA,GAAAA,UAAAq0C,IAAAA,KAAA3N,EAAA,GAAA,KAAG,CAAA,GAC/B,OADiC2N,KAAAzuC,EAAA,KAAAyuC,KAAA1uC,EAAA,KACjC4tC,EAAAA,SAASR,GAAWE,MAAOY,GAAqBlB,MAAKhf,GAAA,CACnD6f,UAAWV,GACX3oB,OAAQ,SAAAspB,GACN,OAAAY,KAAAzuC,EAAA,KAAAyuC,KAAA1uC,EAAA,KAAA0uC,KAAA3N,EAAA+M,GAAAA,KAAAA,EAASc,oBAAiBF,KAAA3N,EAAI+M,GAAAA,KAAAA,EAAS5hC,KAAK0iC,kBAAgB,GAC3Dj8B,GACJ,EAAE+7B,KAAA1uC,EAAA,KAMA0uC,KAAA1uC,EAAA,KAyBA0uC,KAAA1uC,EAAA,MAuCA0uC,KAAA1uC,EAAA,MAkCA0uC,KAAA1uC,EAAA,k9CC/GO,OAAA6uC,cAAA,OAAA5O,CAAA,EAAAA,CAAA,CAAA4O,KAdmBA,KAAA7uC,EAAA,KAExB,IAAM8uC,GAAoB,SAACC,EAAcC,GAAqB,OAAAH,KAAA5uC,EAAA,KAAA4uC,KAAA7uC,EAAA,KAAA,CACnE,UAAW,yBACXivC,SAAU,SAAAhyC,GAA2B,IAAd7B,EAAK6B,EAAfmT,OAAUhV,MAAc,OAATyzC,KAAA5uC,EAAA,KAAA4uC,KAAA7uC,EAAA,KAASgvC,EAAgB5zC,EAAM,EAC3D8zC,YAAa/W,GAAKve,EAAE,iBAAkB,CACpCu1B,KAAMhX,GAAKve,EAAE,cAAegyB,IAAQwD,sBAEtCh0C,MAAO2zC,EACT,EAAGF,KAAA7uC,EAAA,KAEI,IAAMqvC,GAAoB,SAAAC,GAC/B,IAAArR,EAAA,OAAA4Q,KAAA5uC,EAAA,KAAA4uC,KAAA7uC,EAAA,KAAW,QAAX6uC,KAAA9N,UAAA9C,EAAAqR,SAAW,IAAArR,EAAAA,GAAA4Q,KAAA9N,UAAI,CACb,CACE1/B,KAAM82B,GAAKve,EAAE,mBAAoBgyB,IACjC3U,KAAM,aAEV,+wCCHU,OAAAsY,cAAA,OAAAtP,CAAA,EAAAA,CAAA,CAAAsP,KAVmCA,KAAAvvC,EAAA,KAE/C,IAAMwvC,GAAgB,SAAHvyC,GAAiC,IAAAwyC,EAAAC,EAA3BC,EAAO1yC,EAAP0yC,QAAS7O,EAAW7jC,EAAX6jC,YAAWyO,KAAAtvC,EAAA,KAC3C,IAAQ2Z,GAAR21B,KAAAvvC,EAAA,KAAc8+B,MAANllB,EAER,OAF+B21B,KAAAvvC,EAAA,KAG7BssC,EAAA,QAAAznC,cAAC+qC,UAAO,CACN9qC,QAAS8U,EAAE,kCACXi2B,SAA6B,QAArBN,KAAAxO,EAAA,GAAA,KAAA0O,EAAE3O,aAAW,EAAXA,EAAa9jC,cAAM,IAAAyyC,EAAAA,GAAAF,KAAAxO,EAAA,GAAA,KAAIF,GAAcgL,KAC/Cc,SAAS,UAETL,EAAAA,QAAAznC,cAAA,OAAA,KACEynC,EAAA,QAAAznC,cAACirC,SAAM,CACL,UAAQ,sBACRD,WACuB,QAArBN,KAAAxO,EAAA,GAAA,KAAA2O,EAAE5O,aAAW,EAAXA,EAAa9jC,cAAM,IAAA0yC,EAAAA,GAAAH,KAAAxO,EAAA,GAAA,KAAIF,GAAcgL,MAEzCkE,MAAOn2B,EAAE,iBAAkB,CACzBu1B,KAAMv1B,EAAE,cAAe+xB,IAAUyD,sBAEnCO,QAASA,KAKnB,yuDCfY,OAAAK,cAAA,OAAA/P,CAAA,EAAAA,CAAA,CAAA+P,KAJiCA,KAAAhwC,EAAA,KAE7C,IAAMiwC,GAAS,SAAHhzC,GAQN,IAAAwyC,EAAAS,EAAAC,EAPJC,EAAMnzC,EAANmzC,OACAC,EAAWpzC,EAAXozC,YACAC,EAAYrzC,EAAZqzC,aACAC,EAAOtzC,EAAPszC,QACAxB,EAAY9xC,EAAZ8xC,aACAC,EAAe/xC,EAAf+xC,gBACAwB,EAAoBvzC,EAApBuzC,qBAAoBR,KAAA/vC,EAAA,KAEpB,IAAQ2Z,GAARo2B,KAAAhwC,EAAA,KAAc8+B,MAANllB,EACF62B,GAAuBT,KAAAhwC,eAAAgwC,KAAAjP,EAC3BqP,GAAAA,KAD2BX,EAC3BW,iBAAMF,EAANE,EAAQtP,mBAAW,IAAAoP,OAAb,EAANA,EAAqBzB,cAAM,IAAAgB,EAAAA,GAAAO,KAAAjP,UAAIF,GAAcgL,MAE/C,OAF0EmE,KAAAhwC,EAAA,KAGxEssC,EAAA,QAAAznC,cAAC6rC,SAAW,CACVpB,YAAaD,GAAkBe,SAAcD,QAARA,EAANC,EAAQO,kBAAMR,SAAdA,EAAgBb,aAC/CsB,UAAU,mBACVC,YAAa/B,GAAkBC,EAAcC,GAC7C8B,YACEP,GAAOP,KAAAjP,UACLuL,EAAAA,QAAAznC,cAAAynC,EAAAA,QAAAyE,SAAA,KACEzE,EAAA,QAAAznC,cAAC+qC,UAAO,CACN9qC,QAAS8U,EAAE,oCACXi2B,SAAUY,EACV9D,SAAS,UAETL,EAAAA,QAAAznC,cAAA,OAAA,KACEynC,EAAA,QAAAznC,cAACirC,SAAM,CACL,UAAQ,6BACRD,UAAWY,EACXV,MAAOn2B,EAAE,uBACTzH,KAAK,SACLw9B,QAASW,MAIfhE,UAAAznC,cAACirC,EAAAA,OAAM,CACL,UAAQ,wBACRC,MAAOn2B,EAAE,iBACTiQ,MAAM,OACN1X,KAAK,QACLw9B,QAASU,OAEVL,KAAAjP,UAEHuL,EAAAA,QAAAznC,cAAC2qC,GAAa,CACZ1O,YAAasP,aAAAA,EAAAA,EAAQtP,YACrB6O,QAAS,WAAM,OAAAK,KAAA/vC,EAAA,KAAA+vC,KAAAhwC,EAAA,KAAAwwC,GAAqB,EAAI,KAI9CzN,MACEuJ,EAAAA,QAAAznC,cAAA,OAAA,CAAM+rC,UAAU,sDACbh3B,EAAE,cAAegyB,KACjBoE,KAAAjP,EAAA,GAAA,MAAAqP,aAAM,EAANA,EAAQY,WAAOhB,KAAAjP,EAAA,GAAA,KACduL,EAAAA,QAAAznC,cAACirC,EAAAA,OAAM,CACLc,UAAU,gBACV,UAAQ,wCACRK,KAAMb,aAAAA,EAAAA,EAAQY,QACdE,KAAMC,EAAaA,aACnBpB,MAAOn2B,EAAE,oCACTiQ,MAAM,OACNzZ,OAAO,eAOrB,EC9Ee,SAASzU,GAAmBpB,GACzC,OCJa,SAA4BA,GACzC,GAAIE,MAAMC,QAAQH,GAAM,OAAO+W,GAAiB/W,EAClD,CDES62C,CAAkB72C,IAAQwuB,GAAgBxuB,IAAQyuB,GAA2BzuB,IELvE,WACb,MAAM,IAAIkB,UAAU,uIACtB,CFG8F41C,EAC9F,m1FGSY,OAAAC,cAAA,OAAArR,CAAA,EAAAA,CAAA,CAAAqR,KAfeA,KAAAtxC,EAAA,KAE3B,IAAMuxC,GAA+B,SAA/BA,EAAgC9xC,GAAqC,IAA7BoT,EAAMxY,UAAAgB,eAAAgI,IAAAhJ,UAAA,GAAAA,UAAAi3C,IAAAA,KAAAvQ,UAAG,IAAItqB,EAAMpc,UAAAgB,eAAAgI,IAAAhJ,UAAA,GAAAA,UAAAi3C,IAAAA,KAAAvQ,UAAG,IAAEuQ,KAAArxC,EAAA,KACpE,IAAMuxC,GAAQF,KAAAtxC,OAAGjH,OAAO0Y,KAAKhS,GAAQkZ,MAAK,SAAA/I,GAAO,OAAA0hC,KAAArxC,EAAA,KAAAqxC,KAAAtxC,EAAA,OAAEP,EAAOmQ,EAAI,KAC9D,GADgE0hC,KAAAtxC,EAAA,MAC3DwxC,EAAU,OAAAF,KAAAvQ,EAAA,GAAA,UAAAuQ,KAAAtxC,EAAA,KAAOsxC,KAAAvQ,EAAA,GAAA,KACtB,IAAM3lC,GAAKk2C,KAAAtxC,EAAGP,KAAAA,EAAO+xC,IACrB,GAD+BF,KAAAtxC,EAAA,MAC1B5E,EAAO,OAAAk2C,KAAAvQ,EAAA,GAAA,UAAAuQ,KAAAtxC,EAAA,KAAOsxC,KAAAvQ,EAAA,GAAA,KAEnB,IAAM0Q,GAAOH,KAAAtxC,OAAG6S,GAAMy+B,KAAAvQ,EAAA,GAAA,KAAA,GAAA16B,OAAMwM,EAAMxM,KAAAA,OAAImrC,KAAQF,KAAAvQ,EAAA,GAAA,KAAKyQ,IAMnD,OAN4DF,KAAAtxC,EAAA,KAC5DkhC,EAAAA,GAAGnoC,OAAQqC,IAAMk2C,KAAAvQ,EAAA,GAAA,KACbwQ,EAA6Bn2C,EAAOq2C,EAASh7B,KAAO66B,KAAAvQ,EACpDtqB,GAAAA,KAAAA,EAAOzc,KAAKy3C,IAEhBH,KAAAtxC,EAAA,MACOyW,CACT,EAAE66B,KAAAtxC,EAAA,MAEK,IAAM0xC,GAAoB,SAAAC,GAC/B,IAAAC,EAAA,OAAAN,KAAArxC,EAAA,KAAAqxC,KAAAtxC,EAAA,MAA0C4xC,QAA1CA,EAAAL,GAA6BI,UAA7BC,IAA0CA,OAA1CA,EAAAA,EAA6C,EAAC,qgGCHpC,OAAAC,cAAA,OAAA5R,CAAA,EAAAA,CAAA,CAAA4R,KAXkCA,KAAA7xC,EAAA,KAE9C,IAAM8xC,GAAqB,SAAH70C,GAAoB,IAAd80C,EAAO90C,EAAP80C,QAAOF,KAAA5xC,EAAA,KACnC,IAAAg+B,GAAA4T,KAAA7xC,EAAA,KAAyCgyC,EAAAA,oBAAjCC,EAAWhU,EAAXgU,YAAaC,EAAOjU,EAAPiU,QAAS/lB,EAAM8R,EAAN9R,OACxBgmB,GAAoBN,KAAA7xC,EAAG4+B,KAAAA,EAAAA,QAAO,IAyBpC,OAzB2CiT,KAAA7xC,EAAA,KAE3C6+B,EAAAA,WAAU,WAAMgT,KAAA5xC,EAAA,KAAA4xC,KAAA7xC,EAAA,KACdmyC,EAAqBp7B,SAAU,CACjC,GAAG,CAACk7B,IAAcJ,KAAA7xC,EAAA,KAElB6+B,EAAAA,WAAU,WACR,GADcgT,KAAA5xC,EAAA,KAAA4xC,KAAA7xC,EAAA,MACT+xC,EAAQh7B,QAAS,OAAA86B,KAAA9Q,EAAA,GAAA,UAAA8Q,KAAA7xC,EAAA,KAEtB,GAF6B6xC,KAAA9Q,EAAA,GAAA,KAAA8Q,KAAA7xC,EAAA,KAEzB6xC,KAAA9Q,UAAAoR,EAAqBp7B,UAAO86B,KAAA9Q,EAAA,GAAA,KAAImR,GAAS,OAAAL,KAAA9Q,EAAA,GAAA,UAAA8Q,KAAA7xC,EAAA,KAAO6xC,KAAA9Q,EAAA,GAAA,KAAA8Q,KAAA7xC,EAAA,MAEpDmyC,EAAqBp7B,SAAU,EAC/B,IAAMq7B,GAAeP,KAAA7xC,EAAG0xC,MAAAA,GAAkBvlB,IAC1C,GADkD0lB,KAAA7xC,EAAA,MAC9CoyC,EAAgB/2C,QAAU,EAAG,OAAAw2C,KAAA9Q,EAAA,GAAA,UAAA8Q,KAAA7xC,EAAA,MAAO6xC,KAAA9Q,EAAA,GAAA,KAExC,IAAMsR,GAAgBR,KAAA7xC,EAAA,MAAGrE,GAAIo2C,EAAQh7B,QAAQu7B,UAAU35B,MACrD,SAAArZ,GAAW,OAAAuyC,KAAA5xC,EAAA,KAAA4xC,KAAA7xC,EAAA,MAAAV,EAAQhD,OAAS81C,CAAe,KAC3CP,KAAA7xC,EAAA,MAEFqyC,SAAAA,EAAkBE,eAAe,CAC/BC,SAAU,SACVC,MAAO,aAER,CAACR,EAAa9lB,IAAU0lB,KAAA7xC,EAAA,MAEpB,IACT,mtBCnBY,OAAA0yC,cAAA,OAAAzS,CAAA,EAAAA,CAAA,CAAAyS,KAZZ,IAAMC,IAA4BD,KAAA1yC,EAAG,KAAA,CACnC1D,KAAM,GACNs2C,YAAa,GACbC,cAAe,KAGXC,IAA+BJ,KAAA1yC,EAAA,KAAGP,EAAAA,OAAO,CAC7CnD,KAAM8kB,EAAAA,SACH5iB,OACAu0C,IACC,GACA5a,GAAKve,EAAE,4BAA6B,CAClCu1B,KAAMhX,GAAKve,EAAE,eAAew1B,oBAC5B4D,MAAO,MAGVC,SAAS9a,GAAKve,EAAE,8BACnBg5B,YAAaxxB,EAAAA,SACV5iB,OACAu0C,IACC,IACA5a,GAAKve,EAAE,4BAA6B,CAClCu1B,KAAMhX,GAAKve,EAAE,sBAAsBw1B,oBACnC4D,MAAO,UAKFE,IAAiBR,KAAA1yC,EAAG,KAAA,CAC/BmzC,cAAeR,GACfS,gBAAgB,EAChBC,kBAAkB,EAClBC,iBAAkBR,4nGCpBR,OAAAS,cAAA,OAAAtT,CAAA,EAAAA,CAAA,CAAAsT,KATmCA,KAAAvzC,EAAA,KAE/C,IAAMwzC,GAAc,SAAHv2C,GAAwB,IAAlB6jC,EAAW7jC,EAAX6jC,YAAWyS,KAAAtzC,EAAA,KAChC,IAAQ2Z,GAAR25B,KAAAvzC,EAAA,KAAc8+B,MAANllB,EACR61B,GAAA8D,KAAAvzC,EAAA,KAAkCgyC,EAAAA,oBAA1ByB,EAAahE,EAAbgE,cAAezW,EAAMyS,EAANzS,OACc0W,GAArCH,KAAAvzC,OAA+Bg9B,GAAvB6V,cAAAA,OAAaU,IAAAG,GAAAH,KAAAxS,EAAA,GAAA,KAAG,IAAE2S,EAAYH,KAAAvzC,EAAA,KAEtC,IAAM2zC,EAAyB,SAAAC,GAAgBL,KAAAtzC,EAAA,KAC7C,IAAM4zC,GAAiBN,KAAAvzC,EAAG6yC,KAAAA,EAAc7tB,SAAS4uB,IAAaL,KAAAxS,EAC1D8R,GAAAA,KAAAA,EAAcjhC,QAAO,SAAA48B,GAAM,OAAA+E,KAAAtzC,EAAA,KAAAszC,KAAAvzC,EAAA,KAAAwuC,IAAOoF,CAAW,MAAEL,KAAAxS,EAAA,GAAA,KAAA,GAAA16B,OAAA1K,GAC3Ck3C,GAAa,CAAEe,MAAcL,KAAAvzC,EAAA,KACrCyzC,EAAc,gBAAiBI,IAG3BC,GAAkBP,KAAAvzC,EAAG+zC,KAAAA,EAAAA,SACzB,WAAM,OAAAR,KAAAtzC,EAAA,KAAAszC,KAAAvzC,EAAA,KAAAg0C,EAAOA,QAACtzC,EAAIA,KAAC,YAAbszC,CAA0BlT,EAAW,GAC3C,CAACA,KAGH,OAFEyS,KAAAvzC,EAAA,MAGAssC,EAAA,QAAAznC,cAAA,MAAA,CAAK+rC,UAAU,gCACbtE,EAAAA,QAAAznC,cAAA,MAAA,KACEynC,EAAA,QAAAznC,cAACovC,aAAU,CAACC,WAAW,SAASrqB,MAAM,KAAKsqB,OAAO,YAC/Cv6B,EAAE,oBAAqB+xB,KAE1BW,EAAA,QAAAznC,cAACovC,aAAU,CACTrD,UAAU,yBACVsD,WAAW,SACXrqB,MAAM,SAELjQ,EAAE,+BAINnI,EAAIA,KAACqiC,GAAoBp5B,KAAI,SAAA05B,GAC5B,OAAAb,KAAAtzC,EAAA,KAAAszC,KAAAvzC,EAAA,MAAAssC,EAAA,QAAAznC,cAAA,MAAA,CAAK+rC,UAAU,uBAAuBhhC,IAAKwkC,GACzC9H,EAAA,QAAAznC,cAACovC,aAAU,CACTrD,UAAU,gCACV,UAAQ,sCACRsD,WAAW,SACXrqB,MAAM,KACNsqB,OAAO,QAENC,GAEFN,EAAmBM,GAAU15B,KAAI,SAAA25B,GAChC,IADmC7F,EAAE6F,EAAF7F,GAAIoE,EAAWyB,EAAXzB,YACvC,OADkDW,KAAAtzC,EAAA,KAAAszC,KAAAvzC,EAAA,MAClDssC,EAAA,QAAAznC,cAAA,MAAA,CACE+rC,UAAU,6BACVhhC,IAAK4+B,EACLmB,QAAS,WAAM,OAAA4D,KAAAtzC,EAAA,KAAAszC,KAAAvzC,EAAA,MAAA2zC,EAAuBnF,EAAE,GAExClC,EAAA,QAAAznC,cAACovC,aAAU,CACTrD,UAAU,0CACV,UAAQ,4BACRsD,WAAW,SACXrqB,MAAM,SAEL+oB,GAEHtG,UAAAznC,cAAA,MAAA,CAAK+rC,UAAU,wCACbtE,EAAA,QAAAznC,cAACyvC,WAAQ,CACPC,QAAS1B,EAAc1R,MAAK,SAAAqT,GAAO,OAAAjB,KAAAtzC,EAAA,KAAAszC,KAAAvzC,EAAA,MAAAw0C,IAAQhG,CAAC,IAC5C,UAAQ,gCACRS,SAAU,WAAM,OAAAsE,KAAAtzC,EAAA,KAAAszC,KAAAvzC,EAAA,MAAA2zC,EAAuBnF,EAAE,KAIhD,IAEJ,IAGP,2uDC/DY,OAAAiG,cAAA,OAAAxU,CAAA,EAAAA,CAAA,CAAA,SAAAlS,GAAAtuB,EAAA+R,GAAA,IAAAC,EAAA1Y,OAAA0Y,KAAAhS,MAAA1G,OAAA2Y,sBAAA,CAAA,IAAAC,EAAA5Y,OAAA2Y,sBAAAjS,GAAA+R,IAAAG,EAAAA,EAAAC,QAAAC,SAAAA,GAAA9Y,OAAAA,OAAA8D,yBAAA4C,EAAAoS,GAAAjL,UAAA,KAAA6K,EAAAzX,KAAAC,MAAAwX,EAAAE,EAAA,CAAA,OAAAF,CAAA,CAAA,SAAAuc,GAAA5d,GAAA,IAAA,IAAA5V,EAAAA,EAAAA,EAAAH,UAAAgB,OAAAb,IAAAuX,CAAAA,IAAAA,QAAA1X,UAAAG,GAAAH,UAAAG,MAAAA,EAAA,EAAAuzB,GAAAh1B,OAAAgZ,IAAA,GAAAtU,SAAAmS,SAAAA,GAAAyB,GAAAjB,EAAAR,EAAAmC,EAAAnC,GAAA,IAAA7W,OAAAiZ,0BAAAjZ,OAAAkZ,iBAAA7B,EAAArX,OAAAiZ,0BAAAD,IAAAgc,GAAAh1B,OAAAgZ,IAAAtU,kBAAAmS,GAAA7W,OAAAwX,eAAAH,EAAAR,EAAA7W,OAAA8D,yBAAAkV,EAAAnC,cAAAQ,CAAA,CAAAqkC,KAL4BA,KAAAz0C,EAAA,KAExC,IAAM00C,GAAM,SAAHz3C,GAAyC,IAAnC03C,EAAM13C,EAAN03C,OAAQC,EAAO33C,EAAP23C,QAAS9T,EAAW7jC,EAAX6jC,YAAW2T,KAAAx0C,EAAA,KACzC,IAAQ2Z,GAAR66B,KAAAz0C,EAAA,KAAc8+B,MAANllB,EACFi7B,GAAaJ,KAAAz0C,EAAG4+B,KAAAA,EAAAA,OAAO,OACvBkW,GAAcL,KAAAz0C,EAAG4+B,KAAAA,EAAAA,OAAO,OAC9B6Q,GAAAgF,KAAAz0C,EAAA,KXcoB,SAAH/C,GACjB,IADuB83C,EAAS93C,EAAT83C,UAAcpiC,EAAOwjB,GAAAl5B,EAAAq8B,IAC5C,OAD4CoV,KAAAzuC,EAAA,KAAAyuC,KAAA1uC,EAAA,KAC5Cg1C,cAAY9G,GAAqBlxC,OAAMgxB,GAAA,CACrC+mB,UAAW,SAAAjH,GAAYY,KAAAzuC,EAAA,KAAAyuC,KAAA1uC,EAAA,KACrBgsC,GAAYiJ,kBAAkB7H,GAAWK,oBAAoBiB,KAAA1uC,EAAA,KAC7DgsC,GAAYkJ,eAAe9H,GAAWE,OAAO,SAAA6H,GAC3C,OADyDzG,KAAAzuC,EAAA,KAAAyuC,KAAA1uC,EAAA,KACrD0uC,KAAA3N,UAAEoU,EAAWjpC,OAAIwiC,KAAA3N,UAAMoU,EAAWjpC,KAAK0iC,oBAAmBF,KAAA3N,EAAA,GAAA,KAAA2N,KAAA1uC,EAAA,MACrDo1C,aACL,CAAC,OAAQ,qBACT9wB,EAAAA,QAAQwpB,EAAS5hC,KAAKmpC,kBACtBF,KAEHzG,KAAA3N,EAAA,GAAA,KAAA2N,KAAA1uC,EAAA,MAEMo1C,EAAUA,WACf,CAAC,qBACD9wB,EAAAA,QAAQwpB,EAASuH,kBACjBF,GAEJ,IAAGzG,KAAA1uC,EAAA,MACHs1C,SAAOC,SAAQ7G,KAAA3N,UAAA+M,EAAS0H,YAAS9G,KAAA3N,EAAA,GAAA,KAAI+M,EAAS5hC,KAAKspC,aAAW9G,KAAA1uC,EAAA,MAC9D+0C,SAAAA,GACF,GACGpiC,GACJ,CWrCuD8iC,CAAc,CACpEV,UAAWH,KADGc,EAAUjG,EAAlBkG,OAA+BC,EAAYnG,EAAvBoG,UAEzBpB,KAAAz0C,EAAA,KAUH,OAFEy0C,KAAAz0C,EAAA,KAGAssC,EAAA,QAAAznC,cAACixC,OAAI,CAACC,gBAAiBjB,EAAgBH,OAAQA,EAAQC,QAASA,GAC9DtI,EAAA,QAAAznC,cAACixC,OAAK7F,OAAM,KACV3D,EAAA,QAAAznC,cAACovC,aAAU,CAAC,UAAQ,qBAAqBpqB,MAAM,MAC5CjQ,EAAE,iBAAkB,CACnBu1B,KAAMv1B,EAAE,cAAe+xB,IAAUyD,wBAIvC9C,UAAAznC,cAACmxC,EAAAA,KAAI,CACHrX,IAAKkW,EACLoB,YAAWjoB,GAAAA,MACNklB,IAAiB,CAAA,EAAA,CACpBgD,SArBiB,SAAAC,GAAc1B,KAAAx0C,EAAA,KACrC,IAAMm2C,GAAkB3B,KAAAz0C,OAAAguB,GAAAA,GAAA,CAAA,EACnBmoB,GAAU,CAAA,EAAA,CACbvD,YAAauD,EAAWvD,YAAYp0C,UACpCi2C,KAAAz0C,EAAA,KACF01C,EAAW,CAAEL,iBAAkBe,SAmB1B,SAAA1G,GACC,IADE9kC,EAAK8kC,EAAL9kC,MACF,OADO6pC,KAAAx0C,EAAA,KAAAw0C,KAAAz0C,EAAA,KACPssC,EAAA,QAAAznC,cAAAynC,UAAAyE,SAAA,KACEzE,EAAA,QAAAznC,cAACitC,GAAkB,CAACC,QAAS8C,IAC7BvI,EAAAA,QAAAznC,cAACixC,EAAIA,KAACO,KAAI,KACR/J,EAAAA,QAAAznC,cAAA,MAAA,CAAK+rC,UAAU,wBACbtE,EAAA,QAAAznC,cAAA,MAAA,CAAK+rC,UAAU,gCACbtE,EAAA,QAAAznC,cAACyxC,QAAK,CACJrD,UAAQ,EACR,UAAQ,+BACRlD,MAAOn2B,EAAE,eACT28B,UAAW,GACXj6C,KAAK,OACLqiC,IAAKmW,EACL5F,YAAat1B,EAAE,sBAAuB,CACpCu1B,KAAMv1B,EAAE,eAAew1B,wBAG3B9C,EAAAA,QAAAznC,cAAC2xC,WAAQ,CACP,UAAQ,sCACRzG,MAAOn2B,EAAE,sBACT28B,UAAW,IACXj6C,KAAK,cACL4yC,YAAat1B,EAAE,sBAAuB,CACpCu1B,KAAMv1B,EAAE,sBAAsBw1B,yBAIpC9C,EAAAA,QAAAznC,cAAC2uC,GAAW,CAAC1S,YAAaA,MAG9BwL,EAAA,QAAAznC,cAACixC,EAAAA,KAAKW,OACJnK,KAAAA,EAAAA,QAAAznC,cAAA,MAAA,CAAK+rC,UAAU,0BACbtE,EAAA,QAAAznC,cAACirC,SAAM,CACL,UAAQ,6BACRD,UAAU4E,KAAA1T,EAAA,GAAA,MAACn2B,IAAK6pC,KAAA1T,EAAA,GAAA,KAAI6U,IACpB7F,MAAOn2B,EAAE,uBACT88B,QAASd,EACTzjC,KAAK,WAEPm6B,EAAAA,QAAAznC,cAACirC,SAAM,CACL,UAAQ,6BACRC,MAAOn2B,EAAE,kBACTiQ,MAAM,OACN8lB,QAASiF,MAKlB,IAIT,qqBCjFY,OAAA+B,cAAA,OAAA1W,CAAA,EAAAA,CAAA,CAAA0W,KAfL,IAAMC,IAA0BD,KAAA32C,EAAG,KAAA,CACxC62C,UAAU,EACVC,QAAQ,EACRC,aAAc,CAAC,IAGJC,IAAWL,KAAA32C,EAAA,KAAG,CAAC,QAAS,qkLCSzB,OAAAi3C,cAAA,OAAAhX,CAAA,EAAAA,CAAA,CAAA,SAAA3/B,GAAAzH,EAAAgH,OAAAC,EAAA,oBAAAtH,QAAAK,EAAAL,OAAAC,WAAAI,EAAAiH,cAAAA,IAAAA,EAAArF,CAAAA,GAAAA,MAAAC,QAAA7B,KAAAiH,EAAA,SAAAjH,EAAAqD,GAAArD,IAAAA,EAAAA,OAAAA,GAAA+C,iBAAA/C,EAAA+C,OAAAA,GAAA/C,EAAAqD,GAAAC,IAAAA,EAAApD,OAAAJ,UAAAyD,SAAAxC,KAAAf,GAAAwD,YAAA,WAAAF,GAAAtD,EAAAH,cAAAyD,EAAAtD,EAAAH,YAAA4D,MAAA,GAAA,QAAAH,GAAA1B,QAAA0B,EAAA1B,OAAAA,MAAAsB,KAAAlD,GAAAsD,GAAAI,cAAAJ,GAAAI,2CAAAA,KAAAJ,GAAAP,OAAAA,GAAA/C,EAAAqD,EAAA,CAAAV,CAAA3C,KAAAgH,GAAAhH,GAAA,iBAAAA,EAAAwC,OAAA,CAAAyE,IAAAjH,EAAAiH,GAAAtF,IAAAA,IAAAuF,EAAA,aAAA,MAAA,CAAAC,EAAAD,EAAA5D,EAAAA,WAAA3B,OAAAA,GAAA3B,EAAAwC,OAAA,CAAAF,MAAAA,GAAAA,CAAAA,MAAAC,EAAAA,MAAAvC,EAAA2B,KAAA,EAAAX,EAAA,SAAAiB,SAAAA,CAAA,EAAAmF,EAAAF,EAAAtE,CAAAA,MAAAA,IAAAA,UAAAyE,wIAAAA,CAAAA,IAAA5E,EAAA4E,KAAAC,GAAA,EAAA,MAAA,CAAAH,EAAA,WAAAF,EAAAA,EAAAlG,KAAAf,EAAA,EAAAsD,EAAA,WAAAiE,IAAAA,EAAAN,EAAA5E,OAAA,OAAAgF,EAAAE,EAAAjF,KAAAiF,CAAAvG,EAAAA,EAAAA,SAAAq9C,GAAA/2C,GAAA7E,EAAAA,EAAA47C,CAAAj3C,EAAAA,aAAA,IAAAC,GAAAJ,MAAAA,EAAAA,QAAAA,EAAAK,QAAAA,CAAAA,QAAAA,GAAAA,QAAA7E,CAAA,CAAA,EAAA,CAAA,SAAAM,GAAArB,EAAAiC,UAAAA,GAAAA,EAAAjC,EAAAc,UAAAmB,EAAAjC,EAAAc,QAAAb,IAAAA,IAAAA,EAAAiC,EAAAA,MAAAhC,MAAA+B,GAAAhC,EAAAgC,EAAAhC,IAAAiC,EAAAjC,GAAAD,EAAAC,UAAAiC,CAAA,CAAAw6C,KAfmBA,KAAAj3C,EAAA,KAE/B,IAAMm3C,GAAY,SAAZA,EAAY13C,GAChB,GAD0Bw3C,KAAAh3C,EAAA,KAAAg3C,KAAAj3C,EAAA,KACtBi3C,KAAAlW,WAACthC,IAAMw3C,KAAAlW,EAAA,GAAA,MAAI,IAASthC,GAEtB,OAF8Bw3C,KAAAlW,EAAA,GAAA,KAAAkW,KAAAj3C,EAAA,KAEvBP,EACRw3C,KAAAlW,EAAA,GAAA,KACD,IAAMqW,GAAUH,KAAAj3C,EAAA1H,KAAAA,GAAUmH,IAC1B,GADiCw3C,KAAAj3C,EAAA,KAC7Bi3C,KAAAlW,qBAAaqW,IAAUH,KAAAlW,EAAA,GAAA,KAAI,WAAaqW,GAE1C,OAFsDH,KAAAlW,EAAA,GAAA,KAAAkW,KAAAj3C,EAAA,KAE/CP,EACRw3C,KAAAlW,EAAA,GAAA,KAED,IAAItqB,GAAMwgC,KAAAj3C,OAAG,MASb,GATkBi3C,KAAAj3C,EAAA,KACdvF,MAAMC,QAAQ+E,IAASw3C,KAAAlW,EAAA,GAAA,KAAAkW,KAAAj3C,EAAA,KACzByW,EAAS,KACJwgC,KAAAlW,EAAA,GAAA,KAAAkW,KAAAj3C,EAAA,KAAKP,EAAO/G,aAEZu+C,KAAAlW,EAAA,GAAA,KAAAkW,KAAAj3C,EAAA,MACLyW,EAAS,IAAIhX,EAAO/G,cAHUu+C,KAAAlW,EAAA,GAAA,KAAAkW,KAAAj3C,EAAA,MAC9ByW,EAAS,CAAA,IAGVwgC,KAAAj3C,EAAA,MAEGP,aAAkB43C,IAAK,CAAAJ,KAAAlW,EAAA,GAAA,KAAAkW,KAAAj3C,EAAA,MAAA,IACMN,EADNE,EAAAU,GACPb,EAAOgS,QAAM,IAA/B,IAAA7R,EAAAI,MAAAN,EAAAE,EAAAzD,KAAAhB,MAAiC,CAAA,IAAtByU,EAAGlQ,EAAAtE,MAAA67C,KAAAj3C,EAAA,MACZyW,EAAOvX,IAAI0Q,EAAKunC,EAAU13C,EAAOmB,IAAIgP,IACvC,CAAC,CAAA,MAAAtU,GAAAsE,EAAA/F,EAAAyB,EAAA,CAAA,QAAAsE,EAAAK,GAAA,OACFg3C,KAAAlW,EAAA,GAAA,KAQD,OARCkW,KAAAj3C,EAAA,MAEDjH,OAAO0Y,KAAKhS,GAAQhC,SAAQ,SAAAmS,GAAOqnC,KAAAh3C,EAAA,KAAAg3C,KAAAj3C,EAAA,MAC7BjH,OAAOJ,UAAUoc,eAAenb,KAAK6F,EAAQmQ,IAAMqnC,KAAAlW,EAAA,GAAA,KAAAkW,KAAAj3C,EAAA,MACrDyW,EAAO7G,GAAOunC,EAAU13C,EAAOmQ,KAChCqnC,KAAAlW,EAAA,GAAA,IACH,IAAGkW,KAAAj3C,EAAA,MAEIyW,CACT,EAAEwgC,KAAAj3C,EAAA,MAK+Ci3C,KAAAj3C,EAAA,MAEYi3C,KAAAj3C,EAAA,MAQ3Di3C,KAAAj3C,EAAA,MAEK,IAAMs3C,GAA4B,SAACC,EAAYC,GAAqBP,KAAAh3C,EAAA,KACzE,IAAMiV,GAAQ+hC,KAAAj3C,EAAGm3C,MAAAA,GAAUK,IAa3B,OAb6CP,KAAAj3C,EAAA,MAC7CkV,EAASzX,SAAQ,SAAArC,GAAS67C,KAAAh3C,EAAA,KACxB,IAAM6gC,GAAWmW,KAAAj3C,EAAG5E,MAAAA,EAAMwF,IAAI,gBAExB62C,GAAmBR,KAAAj3C,EAAA,MAAG8gC,EAAYlvB,QAAO,SAAAwvB,GAC7C,IAAAsW,EAAAC,EAAAC,EAAA,OAAAX,KAAAh3C,EAAA,KAAAg3C,KAAAj3C,EAAA,MAAAohC,SAAuBsW,QAAbA,EAAVtW,EAAYwR,uBAAW8E,GACNC,QADMA,EAAvBD,EACI35C,qBAAa65C,IAAAD,GACP,QADOC,EADjBD,EAEIn5C,cAFJo5C,IAEUA,SAFVA,EAGI5yB,SAASuyB,EAAWx5C,cAAcS,OAAO,KAC7Cy4C,KAAAj3C,EAAA,MACF5E,EAAM8D,IAAI,cAAeu4C,EAC3B,IAAGR,KAAAj3C,EAAA,MAEIkV,CACT,y1ICpDY,OAAA2iC,cAAA,OAAA5X,CAAA,EAAAA,CAAA,CAAA4X,KAL0DA,KAAA73C,EAAA,KAEtE,IAAM83C,GAAM,SAAH76C,GAMH,IAAA86C,EAAA96C,EALJ+6C,yBAAAA,OAAwBH,IAAAE,GAAAF,KAAA9W,EAAA,GAAA,KAAG,MAAIgX,EAC/B3H,EAAMnzC,EAANmzC,OAAM6H,EAAAh7C,EACNmkC,WAAAA,OAAUyW,IAAAI,GAAAJ,KAAA9W,EAAA,GAAA,KAAG,MAAIkX,EACjBC,EAAKj7C,EAALi7C,MACAC,EAAgBl7C,EAAhBk7C,iBAAgBN,KAAA53C,EAAA,KAEhB,IAAM6gC,GAAW+W,KAAA73C,EAAG,KAAA63C,KAAA9W,EAAA,GAAA,MAAAiX,aAAAA,EAAAA,EAA0Bp3C,IAAI,kBAAci3C,KAAA9W,EAAA,GAAA,KAAI,KAC9DqX,GAA0BP,KAAA73C,EAAG0a,KAAAA,EAAGA,IAACha,OAAK,MAAOogC,IAAa+W,KAAA73C,EAAA,KAEhE,IAAMswC,EAAe,SAAC+H,EAAM9D,GAAYsD,KAAA53C,EAAA,KACtC,IAAM4yC,GAAagF,KAAA73C,EAAA,KAAGs4C,EAAUA,WAACF,IAA2BP,KAAA9W,EACxDqX,GAAAA,KAAAA,IAA0BP,KAAA9W,EAC1B,GAAA,KAAA,CAACK,aAAU,EAAVA,EAAYoN,MAEX+J,GAAYV,KAAA73C,OAAGw4C,EAAAA,OACnB,iBACA,WACE,OAAAX,KAAA53C,EAAA,KAAA43C,KAAA73C,EAAA,KAAAu0C,GAAOsD,KAAA9W,EACH0X,GAAAA,KDWoBt5C,ECXJkH,GAAAA,OAAA1K,GAAK08C,EAAKxF,eAAal3C,GAAKk3C,IDWfoE,KAAAh3C,EAAA,KAAAg3C,KAAAj3C,EAAA,MAAArE,GAAI,IAAI+8C,IAAIv5C,MCXkB04C,KAAA9W,EAAA,GAAA,KAC3DsX,EAAKxF,cAAcjhC,QAAO,SAAA48B,GAAM,OAAAqJ,KAAA53C,EAAA,KAAA43C,KAAA73C,EAAA,MAAC6yC,EAAc7tB,SAASwpB,EAAG,KDUvC,IAAArvC,ICT1Bk5C,IACAR,KAAA73C,EAAA,KACFm4C,EAAiBQ,EAAAA,YAAYN,EAAK7J,GAAI+J,KACtCV,KAAA73C,EAAA,KAEF,IAAM44C,EAAoB,SAAAP,GACxB,OAAAR,KAAA53C,EAAA,KAAA43C,KAAA73C,EAAA,MAACg4C,GAC+CH,KAAA9W,EAC5CqX,GAAAA,KAAAA,EAA2B/c,OAAM,SAAAmT,GAC/B,OAAAqJ,KAAA53C,EAAA,KAAA43C,KAAA73C,EAAA,MAAAglB,WAASwpB,EAAI6J,EAAKxF,cAAc,MAHbgF,KAAA9W,EAAA,GAAA,KACrB/b,EAAQA,SAACoc,aAAU,EAAVA,EAAYoN,GAAI6J,EAAKxF,iBAKpC,OAFQgF,KAAA73C,EAAA,MAGNssC,EAAA,QAAAznC,cAAA,MAAA,CACE+rC,UAAWiI,EAAU,QAAC,uBAAwB,CAC5C,sCAAuCb,KAGxCE,EAAMx9B,KAAI,SAAA29B,GACT,IAAApa,EAAAiS,EAAAT,EAAAqJ,EDfiCC,ECejC,OAAAlB,KAAA53C,EAAA,KAAA43C,KAAA73C,EAAA,MAAAssC,EAAA,QAAAznC,cAAA,MAAA,CAAK+rC,UAAU,wBAAwBhhC,IAAKyoC,EAAK7J,IAC/ClC,EAAA,QAAAznC,cAAC+qC,UAAO,CACN9qC,SDjB6Bi0C,ECiBMV,EAAK/7C,KDhBlD26C,KAAAh3C,EAAA,KAAAg3C,KAAAj3C,EAAA,MAAAjH,OAAOmoC,GAAG6X,EAAU,UAAQ9B,KAAAlW,EACxB5I,GAAAA,KAAAA,GAAKve,EAAE,kCAA+Bq9B,KAAAlW,EAAA,GAAA,KACtC5I,GAAKve,EAAE,sCCeD+yB,SAAS,MACTkD,kBACEgI,KAAA9W,UAAA9C,EAACmS,SAAmBF,QAAbA,EAANE,EAAQtP,mBAARoP,IAAmBA,OAAbA,EAANA,EAAqBzB,cAAM,IAAAxQ,EAAAA,GAAA4Z,KAAA9W,EAAA,GAAA,KAAI+K,OAAkB+L,KAAA9W,EAAA,GAAA,MACjDiY,YAAUX,EAAK/7C,KAAM,WAGxBgwC,EAAA,QAAAznC,cAAA,MAAA,CAAK+rC,UAAU,0CACbtE,EAAA,QAAAznC,cAACyvC,WAAQ,CACPC,QAASqE,EAAkBP,GAC3BzH,UAAU,iCACV,UAAQ,sCACRf,UACEgI,KAAA9W,UAAAiW,GAAYhyB,SAASqzB,EAAK/7C,QAAKu7C,KAAA9W,EAAA,GAAA,OACF0O,QAA7BoI,KAAA9W,EAAA,GAAA,KAAA0O,EAAEW,SAAmB,QAAb0I,EAAN1I,EAAQtP,mBAAW,IAAAgY,OAAbA,EAANA,EAAqBrK,cAAMgB,IAAAA,EAAAA,GAAAoI,KAAA9W,EAAA,GAAA,KAAI+K,OAEnCmD,SAAU,SAAAS,GACR,IADqB6E,EAAO7E,EAAjBt/B,OAAUmkC,QACrB,OAD4BsD,KAAA53C,EAAA,KAAA43C,KAAA73C,EAAA,MAC5BswC,EAAa+H,EAAM9D,EAAO,MAMrC,IAGP,ymHCjEY,OAAA0E,cAAA,OAAAhZ,CAAA,EAAAA,CAAA,CAAAgZ,KARuCA,KAAAj5C,EAAA,KAEnD,IAAMk5C,GAAc,SAAHj8C,GAA6D,IAAvDmzC,EAAMnzC,EAANmzC,OAAQ8H,EAAKj7C,EAALi7C,MAAOiB,EAAal8C,EAAbk8C,cAAeC,EAAkBn8C,EAAlBm8C,mBAAkBH,KAAAh5C,EAAA,KACrE,IAAQ2Z,GAARq/B,KAAAj5C,EAAA,KAAc8+B,MAANllB,EACFy/B,GAAiBJ,KAAAj5C,EAAG4+B,KAAAA,EAAAA,OAAO,OACjC6Q,GAAAwJ,KAAAj5C,OAA2Bs5C,YAAnBC,EAAI9J,EAAJ8J,KAAMC,EAAQ/J,EAAR+J,SAERC,GAAiBR,KAAAj5C,EAAG05C,KAAAA,EAAAA,aAAY,WACpC,GAD0CT,KAAAh5C,EAAA,KAAAg5C,KAAAj5C,EAAA,KACtCq5C,EAAkBtiC,QAAS,CAAAkiC,KAAAlY,EAAA,GAAA,KAC7B,IAAM4Y,GAAaV,KAAAj5C,OAAGq5C,EAAkBtiC,QAAQ7M,MAC1C0vC,GAAkBX,KAAAj5C,EAAG65C,K1BFN,SAAH5b,GAKlB,IAJJ0I,EAAW1I,EAAX0I,YACAH,EAAYvI,EAAZuI,aACAE,EAAWzI,EAAXyI,YACAH,EAAYtI,EAAZsI,aACI,OADQpG,KAAAlgC,EAAA,KAAAkgC,KAAAngC,EAAA,MACRmgC,KAAAY,EAAA,GAAA,KAAAwF,EAAeC,IAAYrG,KAAAY,EAAI2F,GAAAA,KAAAA,EAAcC,EAAU,C0BH5BkT,CAAYF,IAAeV,KAAAj5C,EAAA,KACtDo5C,EAAmBQ,QACpBX,KAAAlY,EAAA,GAAA,IACH,GAAG,CAACqY,KAOJ,OAPyBH,KAAAj5C,EAAA,KAEzB6+B,EAAAA,WACE,WAAM,OAAAoa,KAAAh5C,EAAA,KAAAg5C,KAAAj5C,EAAA,MAAAy5C,GAAmB,GACzB,CAACA,EAAmBJ,EAAmBnB,IACvCe,KAAAj5C,EAAA,MAGAssC,EAAA,QAAAznC,cAAC+iC,kBAAc,CAACnC,MAAM,aAAa9G,IAAK0a,GACtC/M,EAAA,QAAAznC,cAAA,MAAA,CAAK+rC,UAAU,2BACZsH,aAAK,EAALA,EAAOx9B,KAAI,SAAC29B,EAAM1gC,GAAU,IAAA+3B,EAAAQ,EAAAmE,EAAAyE,EAAAgB,EAAAC,EAAAC,EAAAC,EAAAhB,KAAAh5C,EAAA,KAC3B,IAAMi6C,GAAajB,KAAAj5C,EAAGjH,MAAAA,OAAOmoC,GAAGmX,EAAK8B,KAAM,WAE3C,OAFqDlB,KAAAj5C,EAAA,MAGnDssC,EAAA,QAAAznC,cAAA,MAAA,CAAK+rC,UAAU,wBAAwBhhC,IAAG,aAAAvJ,OAAesR,IACvD20B,EAAA,QAAAznC,cAAA,MAAA,CAAK+rC,UAAU,0CACbtE,EAAA,QAAAznC,cAACovC,aAAU,CACTrD,UAAU,oCACV,UAAQ,oCACRsD,WAAW,SACXrqB,MAAM,KACNsqB,OAAO,YAENkE,EAAK/7C,OAEP28C,KAAAlY,EAAA,GAAA,MAACmZ,IAAajB,KAAAlY,EAAA,GAAA,KACbuL,EAAAA,QAAAznC,cAACy0C,WAAQ,CACPc,WAAS,EACTC,YAAY,OACZnJ,KAAMoJ,EAAeA,eACrBC,YAAa,CACX3J,UAAW,mCACX,UAAW,gDAGbtE,EAAAA,QAAAznC,cAAC00C,OACCjN,EAAA,QAAAznC,cAAC+qC,UAAO,CACN9qC,QAAS8U,EAAE,oCACX+yB,SAAS,OACTkD,SAC6BH,QADrBuJ,KAAAlY,EACNqP,GAAAA,KADMV,EACNU,SAAmB,QAAbF,EAANE,EAAQtP,mBAAW,IAAAoP,OAAbA,EAANA,EAAqBzB,cAAMiB,IAAAA,EAAAA,GAAAuJ,KAAAlY,UAAI+K,KAGjCQ,EAAA,QAAAznC,cACEynC,OAAAA,KAAAA,EAAAA,QAAAznC,cAAC20C,EAAS1J,OAAM,CACdc,UAAU,uBACV,UAAQ,mCACR4J,KAAK,QACL3wB,MAAM,OACNgmB,WAE+BwE,QAD7B4E,KAAAlY,EACEqP,GAAAA,KADFiE,EACEjE,SAAmB,QAAb0I,EAAN1I,EAAQtP,mBAAW,IAAAgY,OAAbA,EAANA,EAAqBrK,cAAM4F,IAAAA,EAAAA,GAAA4E,KAAAlY,EAAA,GAAA,KAC3B+K,KAGJ6D,QAAS,WACP,OAAAsJ,KAAAh5C,EAAA,KAAAg5C,KAAAj5C,EAAA,MAAAm5C,EAAc,CACZrC,QAAQ,EACRC,aAAcsB,GACf,GAGFz+B,EAAE,kBAIT0yB,EAAA,QAAAznC,cAAC+qC,UAAO,CACN9qC,QAAS8U,EAAE,sCACX+yB,SAAS,OACTkD,SAC6BiK,QADrBb,KAAAlY,EACNqP,GAAAA,KADM0J,EACN1J,SAAmB,QAAb2J,EAAN3J,EAAQtP,mBAAW,IAAAiZ,OAAbA,EAANA,EAAA,cAA2BD,IAAAA,EAAAA,GAAAb,KAAAlY,UAAI+K,KAGjCQ,EAAA,QAAAznC,cACEynC,OAAAA,KAAAA,EAAAA,QAAAznC,cAAC20C,EAAS1J,OAAM,CACdc,UAAU,uBACV,UAAQ,qCACR4J,KAAK,QACL3K,mBACEoJ,KAAAlY,EACEqP,GAAAA,KADF4J,EACE5J,SAAmB,QAAb6J,EAAN7J,EAAQtP,mBAAW,IAAAmZ,OAAbA,EAANA,EAAA,cAA2B,IAAAD,EAAAA,GAAAf,KAAAlY,EAAA,GAAA,KAC3B+K,KAGJ6D,QAAS,WACP,OAAAsJ,KAAAh5C,EAAA,KAAAg5C,KAAAj5C,EAAA,MAAAm5C,EAAc,CACZtC,UAAU,EACVE,aAAcsB,GACf,GAGFz+B,EAAE,yBAUtB,KAIT,i+CC9GY,OAAA6gC,cAAA,OAAAxa,CAAA,EAAAA,CAAA,CAAAwa,KAV0CA,KAAAz6C,EAAA,KAEtD,IAAM06C,GAAS,SAAHz9C,GAAiD,IAA3C03C,EAAM13C,EAAN03C,OAAQC,EAAO33C,EAAP23C,QAASmC,EAAY95C,EAAZ85C,aAAcmB,EAAKj7C,EAALi7C,MAAKuC,KAAAx6C,EAAA,KACpD,IhBsFkByvC,EAClBiL,EADwB5F,EAAqBpiC,EgBtFrCiH,GAAR6gC,KAAAz6C,EAAA,KAAc8+B,MAANllB,EACR61B,GAAAgL,KAAAz6C,EAAA,KhBsFA26C,GADkBjL,EgBrFmD,CACnEqF,UAAWH,IhBoFWG,UAAAA,OAASrG,IAAAiM,GAAAjM,KAAA3N,EAAA,GAAA,KAAG7S,EAAIA,MAAAysB,EAAKhoC,EAAOwjB,GAAAuZ,EAAAkL,IAAAlM,KAAAzuC,EAAA,MAAAyuC,KAAA1uC,EAAA,MACpDg1C,EAAAA,aAAY,SAAAX,GAAqB,IAAlB7F,EAAE6F,EAAF7F,GAAIJ,EAAOiG,EAAPjG,QAAc,OAAPM,KAAAzuC,EAAA,MAAAyuC,KAAA1uC,EAAA,MAAOkuC,GAAqBK,QAAQC,EAAIJ,EAAQ,GAAApgB,GAAA,CACxE+mB,UAAW,SAAAjH,GAAYY,KAAAzuC,EAAA,MAAAyuC,KAAA1uC,EAAA,MACrBgsC,GAAYiJ,kBAAkB7H,GAAWI,OAAOkB,KAAA1uC,EAAA,MAChDgsC,GAAYiJ,kBAAkB7H,GAAWK,oBAAoBiB,KAAA1uC,EAAA,MAC7DgsC,GAAYkJ,eAAe9H,GAAWE,OAAO,SAAA6H,GAC3C,OADyDzG,KAAAzuC,EAAA,MAAAyuC,KAAA1uC,EAAA,MACrD0uC,KAAA3N,WAAEoU,EAAWjpC,OAAIwiC,KAAA3N,WAAMoU,EAAWjpC,KAAK0iC,oBAAmBF,KAAA3N,EAAA,IAAA,KAAA2N,KAAA1uC,EAAA,MACrD66C,EAAAA,WACL,CACE,OACA,oBACAC,EAASA,UACPC,EAAMA,OAAC,KAAMjN,EAAS5hC,KAAKsiC,IAC3B2G,EAAWjpC,KAAK0iC,oBAGpBuG,KAEHzG,KAAA3N,EAAA,IAAA,KAAA2N,KAAA1uC,EAAA,MAEM66C,EAAUA,WACf,CACE,oBACAC,EAASA,UAACC,EAAMA,OAAC,KAAMjN,EAASU,IAAK2G,EAAWvG,oBAElDuG,GAEJ,IAAGzG,KAAA1uC,EAAA,MACHs1C,SAAOC,SAAQ7G,KAAA3N,WAAA+M,EAAS0H,YAAS9G,KAAA3N,EAAA,IAAA,KAAI+M,EAAS5hC,KAAKspC,aAAW9G,KAAA1uC,EAAA,MAC9D+0C,SAAAA,GACF,GACGpiC,KgBpHWqoC,EAAUvL,EAAlBkG,OAA+BsF,EAAUxL,EAArBoG,UAEzB4E,KAAAz6C,EAAA,KAQH,OAFEy6C,KAAAz6C,EAAA,KAGAssC,EAAA,QAAAznC,cAACq2C,QAAK,CACJC,kBAAmBvhC,EAAE,kBACrB+6B,OAAQA,EACRiB,aAAcqF,EACdG,kBAAmBxhC,EAAE,mBACrBmxB,QACEuB,EAAAA,QAAAznC,cAAC+3B,GAAK,CACJC,QAAQ,mBACRG,OAAQ,CACN1gC,KAAMy6C,aAAAA,EAAAA,EAAcz6C,KACpB6yC,KAAMv1B,EAAE,cAAe+xB,IAAUyD,uBAIvCrM,MAAOnpB,EAAE,iBAAkB,CACzBu1B,KAAMv1B,EAAE,cAAe+xB,IAAUyD,sBAEnCwF,QAASA,EACTsB,SAzBiB,WAAM,IAAAmF,EAAAZ,KAAAx6C,EAAA,KACzB,IAAQuuC,GAARiM,KAAAz6C,OAAe+2C,GAAPvI,GACFJ,GAAOqM,KAAAz6C,EAAG,KAAA,CAAEs7C,UAA6C,QAApCD,EAAEnD,EAAMv/B,MAAK,SAAA0/B,GAAQ,OAAAoC,KAAAx6C,EAAA,KAAAw6C,KAAAz6C,EAAA,KAAAq4C,EAAK7J,KAAOA,CAAC,WAAE,IAAA6M,OAAA,EAAlCA,EAAoC7M,KAAKiM,KAAAz6C,EAAA,KACtEg7C,EAAW,CAAExM,GAAAA,EAAIJ,QAAAA,MAyBrB,wyDC1BY,OAAAmN,cAAA,OAAAtb,CAAA,EAAAA,CAAA,CAAA,SAAAlS,GAAAtuB,EAAA+R,GAAA,IAAAC,EAAA1Y,OAAA0Y,KAAAhS,MAAA1G,OAAA2Y,sBAAA,CAAA,IAAAC,EAAA5Y,OAAA2Y,sBAAAjS,GAAA+R,IAAAG,EAAAA,EAAAC,QAAAC,SAAAA,GAAA9Y,OAAAA,OAAA8D,yBAAA4C,EAAAoS,GAAAjL,UAAA,KAAA6K,EAAAzX,KAAAC,MAAAwX,EAAAE,EAAA,CAAA,OAAAF,CAAA,CAAA,SAAAuc,GAAA5d,GAAA,IAAA,IAAA5V,EAAAA,EAAAA,EAAAH,UAAAgB,OAAAb,IAAAuX,CAAAA,IAAAA,QAAA1X,UAAAG,GAAAH,UAAAG,MAAAA,EAAA,EAAAuzB,GAAAh1B,OAAAgZ,IAAA,GAAAtU,SAAAmS,SAAAA,GAAAyB,GAAAjB,EAAAR,EAAAmC,EAAAnC,GAAA,IAAA7W,OAAAiZ,0BAAAjZ,OAAAkZ,iBAAA7B,EAAArX,OAAAiZ,0BAAAD,IAAAgc,GAAAh1B,OAAAgZ,IAAAtU,kBAAAmS,GAAA7W,OAAAwX,eAAAH,EAAAR,EAAA7W,OAAA8D,yBAAAkV,EAAAnC,cAAAQ,CAAA,CAAAmrC,KANoCA,KAAAv7C,EAAA,KAEhD,IAAMw7C,GAAO,SAAHv+C,GAA0C,IAApC03C,EAAM13C,EAAN03C,OAAQC,EAAO33C,EAAP23C,QAASmC,EAAY95C,EAAZ85C,aAAYwE,KAAAt7C,EAAA,KAC3C,IAAQ2Z,GAAR2hC,KAAAv7C,EAAA,KAAc8+B,MAANllB,EACFi7B,GAAa0G,KAAAv7C,EAAG4+B,KAAAA,EAAAA,OAAO,OACvBkW,GAAcyG,KAAAv7C,EAAG4+B,KAAAA,EAAAA,OAAO,OAC9B6Q,GAAA8L,KAAAv7C,EAAA,KjBwCoB,SAAHi+B,GACjB,IADuB8W,EAAS9W,EAAT8W,UAAcpiC,EAAOwjB,GAAA8H,EAAA1E,IAC5C,OAD4CmV,KAAAzuC,EAAA,KAAAyuC,KAAA1uC,EAAA,MAC5Cg1C,EAAAA,aAAY,SAAAvF,GAAqB,IAAlBjB,EAAEiB,EAAFjB,GAAIJ,EAAOqB,EAAPrB,QAAc,OAAPM,KAAAzuC,EAAA,KAAAyuC,KAAA1uC,EAAA,MAAOkuC,GAAqBO,OAAOD,EAAIJ,EAAQ,GAAApgB,GAAA,CACvE+mB,UAAW,SAAAjH,GAAYY,KAAAzuC,EAAA,KAAAyuC,KAAA1uC,EAAA,MACrBgsC,GAAYiJ,kBAAkB7H,GAAWI,OAAOkB,KAAA1uC,EAAA,MAChDgsC,GAAYiJ,kBAAkB7H,GAAWK,oBAAoBiB,KAAA1uC,EAAA,MAC7DgsC,GAAYkJ,eAAe9H,GAAWE,OAAO,SAAA6H,GAC3C,OADyDzG,KAAAzuC,EAAA,KAAAyuC,KAAA1uC,EAAA,MACrD0uC,KAAA3N,UAAEoU,EAAWjpC,OAAIwiC,KAAA3N,UAAMoU,EAAWjpC,KAAK0iC,oBAAmBF,KAAA3N,EAAA,GAAA,KAAA2N,KAAA1uC,EAAA,MACrDy7C,EAASA,UACd,CACE,OACA,oBACAX,EAASA,UACPC,SAAO,KAAMjN,EAAS5hC,KAAKmpC,iBAAiB7G,IAC5C2G,EAAWjpC,KAAK0iC,oBAGpBd,EAAS5hC,KAAKmpC,iBACdF,KAEHzG,KAAA3N,EAAA,GAAA,KAAA2N,KAAA1uC,EAAA,MAEMy7C,EAAAA,UACL,CACE,oBACAX,EAASA,UACPC,EAAMA,OAAC,KAAMjN,EAASuH,iBAAiB7G,IACvC2G,EAAWvG,oBAGfd,EAASuH,iBACTF,GAEJ,IAAGzG,KAAA1uC,EAAA,MACHs1C,SAAOC,SAAQ7G,KAAA3N,UAAA+M,EAAS0H,YAAS9G,KAAA3N,EAAA,GAAA,KAAI+M,EAAS5hC,KAAKspC,aAAW9G,KAAA1uC,EAAA,MAC9D+0C,SAAAA,GACF,GACGpiC,GACJ,CiB7EuD+oC,CAAc,CACpE3G,UAAWH,KADG+G,EAAUlM,EAAlBkG,OAA+BC,EAAYnG,EAAvBoG,UAItB1C,GAAaoI,KAAAv7C,EAAG,KAAA,CACpB1D,KAAMy6C,aAAAA,EAAAA,EAAcz6C,KACpBs2C,YAAamE,aAAY,EAAZA,EAAcnE,cAC3B2I,KAAAv7C,EAAA,KAaF,OAFEu7C,KAAAv7C,EAAA,KAGAssC,EAAA,QAAAznC,cAACixC,OAAI,CAACC,gBAAiBjB,EAAgBH,OAAQA,EAAQC,QAASA,GAC9DtI,EAAA,QAAAznC,cAACixC,OAAK7F,OAAM,KACV3D,EAAA,QAAAznC,cAACovC,aAAU,CAAC,UAAQ,wBAAwBpqB,MAAM,MAC/CjQ,EAAE,iBAAkB,CACnBu1B,KAAMv1B,EAAE,cAAe+xB,IAAUyD,wBAIvC9C,UAAAznC,cAACmxC,EAAAA,KAAI,CACHrX,IAAKkW,EACLoB,YAAWjoB,GAAAA,MACNklB,IAAiB,CAAA,EAAA,CACpBC,cAAAA,EACA+C,SAzBiB,SAAAC,GAAcoF,KAAAt7C,EAAA,KACrC,IAAMmuC,GAAOmN,KAAAv7C,EAAG,KAAA,CACdq1C,iBAAgBrnB,GAAAA,GAAAA,GAAA,CAAA,EACX+oB,GACAZ,GAAU,GAAA,CACbvD,YAAauD,EAAWvD,YAAYp0C,WAEtC+8C,KAAAv7C,EAAA,KACF27C,EAAW,CAAEnN,GAAIuI,EAAavI,GAAIJ,QAAAA,SAoB7B,SAAAsB,GACC,IADE9kC,EAAK8kC,EAAL9kC,MACF,OADO2wC,KAAAt7C,EAAA,KAAAs7C,KAAAv7C,EAAA,MACPssC,EAAA,QAAAznC,cAAAynC,UAAAyE,SAAA,KACEzE,EAAA,QAAAznC,cAACitC,GAAkB,CAACC,QAAS8C,IAC7BvI,EAAAA,QAAAznC,cAACixC,EAAIA,KAACO,KAAI,KACR/J,EAAAA,QAAAznC,cAAA,MAAA,CAAK+rC,UAAU,wBACbtE,EAAA,QAAAznC,cAACyxC,QAAK,CACJrD,UAAQ,EACR,UAAQ,kCACRlD,MAAOn2B,EAAE,eACT28B,UAAW,GACXj6C,KAAK,OACL4yC,YAAat1B,EAAE,8BACf+kB,IAAKmW,IAEPxI,EAAAA,QAAAznC,cAAC2xC,WAAQ,CACP,UAAQ,yCACRzG,MAAOn2B,EAAE,sBACT28B,UAAW,IACXj6C,KAAK,cACL4yC,YAAat1B,EAAE,qCAIrB0yB,EAAA,QAAAznC,cAACixC,EAAAA,KAAKW,OACJnK,KAAAA,EAAAA,QAAAznC,cAAA,MAAA,CAAK+rC,UAAU,0BACbtE,EAAA,QAAAznC,cAACirC,SAAM,CACL,UAAQ,gCACRD,UAAU0L,KAAAxa,EAAA,GAAA,MAACn2B,IAAK2wC,KAAAxa,EAAA,GAAA,KAAI6U,IACpB7F,MAAOn2B,EAAE,uBACT88B,QAASd,EACTzjC,KAAK,WAEPm6B,EAAAA,QAAAznC,cAACirC,SAAM,CACL,UAAQ,gCACRC,MAAOn2B,EAAE,kBACTiQ,MAAM,OACN8lB,QAASiF,MAKlB,IAIT,s9DClFY,OAAAgH,cAAA,OAAA3b,CAAA,EAAAA,CAAA,CAAA2b,KANeA,KAAA57C,EAAA,KAE3B,IAAM67C,GAAU,SAAH5+C,GAOP,IANJmzC,EAAMnzC,EAANmzC,OACA0L,EAAwB7+C,EAAxB6+C,yBACAC,EAAa9+C,EAAb8+C,cACA7D,EAAKj7C,EAALi7C,MACAC,EAAgBl7C,EAAhBk7C,iBACAiB,EAAkBn8C,EAAlBm8C,mBAAkBwC,KAAA37C,EAAA,KAElB,IAAwEwvC,EAAAn1C,IAAxEshD,KAAA57C,EAAoCy/B,KAAAA,EAAAA,SAASmX,KAA2B,GAAjEoF,EAAUvM,EAAA,GAAE0J,EAAa1J,EAAA,GAC1BwM,GAAUL,KAAA57C,EAAA,KAAGvF,MAAMsB,KAAK+/C,aAAwB,EAAxBA,EAA0BrqC,SAAQmqC,KAAA57C,EAAA,KAEhE,IAAM40C,EAAU,WAAM,OAAAgH,KAAA37C,EAAA,KAAA27C,KAAA57C,EAAA,KAAAm5C,EAAcvC,KAEpC,OAFgEgF,KAAA57C,EAAA,KAG9DssC,EAAA,QAAAznC,cAAA,MAAA,CAAK+rC,UAAU,4BACbtE,EAAA,QAAAznC,cAACq0C,GAAW,CACV9I,OAAQA,EACR8H,MAAO6D,EACP3C,mBAAoBA,EACpBD,cAAeA,IAEjB7M,EAAAA,QAAAznC,cAAC+iC,kBAAc,CAACnC,MAAO,CAAC,aAAc,aACpC6G,EAAA,QAAAznC,cAAA,MAAA,CAAK+rC,UAAU,yBACZqL,EAAWvhC,KAAI,SAAC05B,EAAUz8B,GAAUikC,KAAA37C,EAAA,KACnC,IAAM6zC,GAAkB8H,KAAA57C,EAAG87C,KAAAA,EAAyBl7C,IAAIwzC,IAClD8H,GAAmBN,KAAA57C,EAAG8zC,KAAAA,EAAmBlzC,IAC7C,wBAEIkgC,GAAW8a,KAAA57C,EAAG8zC,KAAAA,EAAmBlzC,IAAI,gBAE3C,OAF0Dg7C,KAAA57C,EAAA,KAGxDssC,EAAA,QAAAznC,cAAA,MAAA,CAAK+K,IAAK+H,GACR20B,EAAA,QAAAznC,cAACizC,GAAG,CACFE,yBAA0BlE,EAC1B1D,OAAQA,EACR8H,MAAO6D,EACP5D,iBAAkBA,KAEnByD,KAAA7a,EAAA,GAAA,KAAAmb,IAAmBN,KAAA7a,UAClBD,EAAYpmB,KAAI,SAAA0mB,GACd,OAAAwa,KAAA37C,EAAA,KAAA27C,KAAA57C,EAAA,MAAAssC,EAAA,QAAAznC,cAACizC,GAAG,CACF1H,OAAQA,EACRxgC,IAAKwxB,EAAWoN,GAChBpN,WAAYA,EACZ8W,MAAO6D,EACP5D,iBAAkBA,GAErB,MAGR,MAGL7L,UAAAznC,cAAC22C,GAAI,CACH7G,OAAQqH,EAAWlF,OACnBC,aAAciF,EAAWjF,aACzBnC,QAASA,IAEXtI,EAAAA,QAAAznC,cAAC61C,GAAM,CACL/F,OAAQqH,EAAWnF,SACnBqB,MAAOA,EACPnB,aAAciF,EAAWjF,aACzBnC,QAASA,IAIjB,8nBC9DY,OAAAuH,cAAA,OAAAlc,CAAA,EAAAA,CAAA,CAAAkc,KAfL,IAAMC,IAAgCD,KAAAn8C,OAAG,u7ECepC,OAAAq8C,cAAA,OAAApc,CAAA,EAAAA,CAAA,CAAAoc,KATmDA,KAAAr8C,EAAA,KAQ3Dq8C,KAAAr8C,EAAA,KAYCq8C,KAAAr8C,EAAA,KAEE,IAAMs8C,GAAwB,WAAMD,KAAAp8C,EAAA,KACzC,IAAMs8C,GAAcF,KAAAr8C,EAAA,K/BPW,WAAMmgC,KAAAlgC,EAAA,KACrC,IAAMu8C,GAAYrc,KAAAngC,EAAGuC,MAAAA,SAASsC,cAAc,MAAKs7B,KAAAngC,EAAA,MACjDw8C,EAAaC,UAAUC,IAAI,wBAE3B,IAAMC,GAAYxc,KAAAngC,EAAGuC,MAAAA,SAASsC,cAAc,QAAOs7B,KAAAngC,EAAA,MACnD28C,EAAaF,UAAUC,IAAI,wBAAwBvc,KAAAngC,EAAA,MAEnD28C,EAAapuC,YAAYiuC,GAAcrc,KAAAngC,EAAA,MACvCuC,SAAS8I,KAAKkD,YAAYouC,GAE1B,IAAMC,GAAEzc,KAAAngC,EAAGw8C,MAAAA,EAAaK,aAAY1c,KAAAngC,EAAA,MACpC28C,EAAa9yB,MAAMizB,SAAW,SAC9B,IAAIC,GAAE5c,KAAAngC,EAAGw8C,MAAAA,EAAaK,aAKtB,OALkC1c,KAAAngC,EAAA,MAC9B48C,IAAOG,GAAI5c,KAAAY,EAAA,GAAA,KAAAZ,KAAAngC,EAAA,MAAA+8C,EAAKJ,EAAahW,aAAYxG,KAAAY,EAAA,GAAA,KAAAZ,KAAAngC,EAAA,MAE7CuC,SAAS8I,KAAKjB,YAAYuyC,GAAcxc,KAAAngC,EAAA,MAEjC48C,EAAKG,CACd,C+BXyBC,IAOvB,OAP2CX,KAAAr8C,EAAA,KAE3CuC,SAAS2I,gBAAgB2e,MAAMozB,YAC7B,mCAAkC52C,GAAAA,OAC/Bk2C,EACJ,OAACF,KAAAr8C,EAAA,KAEK,CACLk9C,aAAY,GAAA72C,OAAKk2C,EAAc,MAEnC,EAAEF,KAAAr8C,EAAA,KAEK,IAAMm9C,GAA6B,WAAMd,KAAAp8C,EAAA,KAC9C,IAAMm9C,GAAYf,KAAAr8C,EAAArE,MAAAA,GACb4G,SAAS86C,uBAAuB,wCAE/BC,GAAajB,KAAAr8C,EAAGu9C,MAAAA,QAAM,eAAgBH,IACtCI,GAAenB,KAAAr8C,QAAG4kB,KAAKmuB,IAAG94C,MAAR2qB,KAAIjpB,GAAQ2hD,KAC9BG,GAAsBpB,KAAAr8C,EAAA,MAtC5Bq8C,KAAAp8C,EAAA,KAAAo8C,KAAAr8C,EAAA,KAAAopB,SACEs0B,iBAAiBn7C,SAAS2I,iBAAiByyC,iBACzCvB,IAEF,KAkCyDC,KAAAr8C,EAAA,MAEvDw9C,EAAkBC,GAAwBpB,KAAAtb,EAAA,GAAA,KAAAsb,KAAAr8C,EAAA,MAC5CuC,SAAS2I,gBAAgB2e,MAAMozB,YAC7Bb,GAAgC/1C,GAAAA,OAC7Bm3C,EACJ,QACFnB,KAAAtb,EAAA,GAAA,IACH,qhCCxCY,OAAA6c,cAAA,OAAA3d,CAAA,EAAAA,CAAA,CAAA2d,KAb0BA,KAAA59C,EAAA,KAEtC,IAAM69C,GAAiB,SAAH5gD,GAClB,IADwB6gD,EAAS7gD,EAAT6gD,UAAWnO,EAAO1yC,EAAP0yC,QACnC,OAD0CiO,KAAA39C,EAAA,KAAA29C,KAAA59C,EAAA,KAC1C89C,GAASF,KAAA7c,UACPuL,EAAAA,QAAAznC,cAACk5C,KAAE,CACDnN,UAAU,4CACV,UAAQ,sCACR4J,KAAM,GACNwD,YAAa,EACbrO,QAASA,MACTiO,KAAA7c,UAEFuL,EAAAA,QAAAznC,cAACo5C,OAAI,CACHrN,UAAU,4CACV,UAAQ,sCACR4J,KAAM,GACNwD,YAAa,EACbrO,QAASA,IAEb,67ECNU,OAAAuO,cAAA,OAAAje,CAAA,EAAAA,CAAA,CAAAie,KADkCA,KAAAl+C,EAAA,KAE9C,IAAMm+C,GAAU,SAAHlhD,GAMP,IALJs6C,EAAUt6C,EAAVs6C,WACA6G,EAAanhD,EAAbmhD,cACAtC,EAAwB7+C,EAAxB6+C,yBACAuC,EAAcphD,EAAdohD,eACAC,EAAerhD,EAAfqhD,gBAAeJ,KAAAj+C,EAAA,KAEf,IAAQ2Z,GAARskC,KAAAl+C,EAAA,KAAc8+B,MAANllB,EACFqiC,GAAUiC,KAAAl+C,EAAGvF,KAAAA,MAAMsB,KAAK+/C,EAAyBrqC,SACjD8sC,GAAkBL,KAAAl+C,EAAGs+C,KAAAA,GAAeJ,KAAAnd,EAAGub,GAAAA,KAAAA,OAAuB4B,KAAAnd,EAAA,GAAA,KAAG,CAAE,IAMzE,OAN0Emd,KAAAl+C,EAAA,KAE1Ew+C,EAAAA,iBAAgB,WAAMN,KAAAj+C,EAAA,KAAAi+C,KAAAl+C,EAAA,KACpBm9C,IACD,GAAE,IAAIe,KAAAl+C,EAAA,KAGLssC,EAAA,QAAAznC,cAAA,MAAA,CAAK+rC,UAAU,4BACbtE,EAAA,QAAAznC,cAAA,MAAA,CACE+rC,UAAU,kCACV/mB,MAAO00B,GAEPjS,EAAA,QAAAznC,cAACyxC,QAAK,CACJ,UAAQ,+BACRzjC,OAAQy5B,EAAA,QAAAznC,cAAC45C,EAAAA,OAAU,MACnBtsC,KAAK,SACL/W,MAAOm8C,EACPrI,YAAat1B,EAAE,iBAAkB,CAC/Bu1B,KAAMv1B,EAAE,oBAAqBgyB,IAAQwD,sBAEvCH,SAAU,SAAAQ,GAA2B,IAAdr0C,EAAKq0C,EAAfr/B,OAAUhV,MAAc,OAAT8iD,KAAAj+C,EAAA,KAAAi+C,KAAAl+C,EAAA,KAASo+C,EAAchjD,EAAK,KAG5DkxC,EAAAA,QAAAznC,cAAC+iC,kBAAc,CAACnC,MAAM,YACpB6G,EAAA,QAAAznC,cAAA,MAAA,CAAK+rC,UAAU,iCACZqL,EAAWvhC,KAAI,SAAC05B,EAAUz8B,GAAUumC,KAAAj+C,EAAA,KACnC,IAAM6zC,GAAkBoK,KAAAl+C,EAAG87C,KAAAA,EAAyBl7C,IAAIwzC,IAClD8H,GAAmBgC,KAAAl+C,EAAG8zC,KAAAA,EAAmBlzC,IAC7C,wBAEIkgC,GAAWod,KAAAl+C,EAAG8zC,MAAAA,EAAmBlzC,IAAI,gBAE3C,OAF0Ds9C,KAAAl+C,EAAA,MAGxDssC,EAAA,QAAAznC,cAAA,MAAA,CAAK+K,IAAK+H,GACR20B,EAAA,QAAAznC,cAAA,MAAA,CAAK+rC,UAAU,sFACbtE,EAAA,QAAAznC,cAACovC,aAAU,CACT,UAAQ,gCACRC,WAAW,SACXrqB,MAAM,KACNsqB,OAAO,YAENC,GAEH9H,UAAAznC,cAACg5C,GAAc,CACbC,UAAW5B,EACXvM,QAAS,WAAM,OAAAuO,KAAAj+C,EAAA,KAAAi+C,KAAAl+C,EAAA,MAAAq+C,EAAejK,EAAQ,MAGzC8J,KAAAnd,EAAAmb,GAAAA,KAAAA,IAAmBgC,KAAAnd,EAAA,GAAA,KF1DH,SAAAD,GAC/B,OAAAub,KAAAp8C,EAAA,KAAAo8C,KAAAr8C,EAAA,KAAA8gC,aAAAA,EAAAA,EAAapmB,KAAI,SAAAzd,GACf,IADkBuxC,EAAEvxC,EAAFuxC,GAAIoE,EAAW31C,EAAX21C,YACtB,OADiCyJ,KAAAp8C,EAAA,KAAAo8C,KAAAr8C,EAAA,KACjCssC,EAAA,QAAAznC,cAAA,MAAA,CAAK+rC,UAAU,qCAAqChhC,IAAK4+B,GACvDlC,EAAA,QAAAznC,cAACovC,aAAU,CACT,UAAQ,sCACRC,WAAW,SACXrqB,MAAM,SAEL+oB,GAEA,GACN,CE+CqC8L,CAAkB5d,WAQ1D,w0EClEY,OAAA6d,cAAA,OAAA1e,CAAA,EAAAA,CAAA,CAAA0e,KAJoEA,KAAA3+C,EAAA,KAEhF,IAAM4+C,GAAQ,SAAH3hD,GAOL,IAAA4hD,EAAA3O,EANJE,EAAMnzC,EAANmzC,OACA2L,EAAa9+C,EAAb8+C,cACAvE,EAAgBv6C,EAAhBu6C,iBACAU,EAAKj7C,EAALi7C,MACAC,EAAgBl7C,EAAhBk7C,iBACA3H,EAAoBvzC,EAApBuzC,qBAAoBmO,KAAA1+C,EAAA,KAEpB,IAAQ2Z,GAAR+kC,KAAA3+C,EAAA,KAAc8+B,MAANllB,EACwC81B,EAAAp1C,IAAhDqkD,KAAA3+C,EAAoCy/B,KAAAA,EAAAA,SAAS,KAAG,GAAzC8X,EAAU7H,EAAA,GAAE0O,EAAa1O,EAAA,GAEJoK,EAAAx/C,IAD5BqkD,KAAA3+C,EACEy/B,KAAAA,EAAAA,SAAS+X,IAAiB,GADrBsE,EAAwBhC,EAAA,GAAEgF,EAA2BhF,EAAA,GAECiF,EAAAzkD,IAA7DqkD,KAAA3+C,EAA8Cy/B,KAAAA,EAAAA,UAAS,IAAM,GAAtD6e,EAAeS,EAAA,GAAE3F,EAAkB2F,EAAA,GAEpCC,GAAiBL,KAAA3+C,SACK,QADF2+C,KAAA5d,EAAA,GAAA,KAAA8d,EACN3O,QADMA,EACxBE,EAAOtP,uBAAWoP,SAAlBA,EAAoBlzC,cAAM6hD,IAAAA,EAAAA,GAAAF,KAAA5d,EAAA,GAAA,KAAIF,GAAcgL,OAC5C8S,KAAA3+C,EAAA,KAeF,OAPE2+C,KAAA3+C,EAAA,KAEF6+B,EAAAA,WAAU,WAAM8f,KAAA1+C,EAAA,KACd,IAAMiV,GAAQypC,KAAA3+C,EAAGs3C,MAAAA,GAA0BC,EAAYC,IAAkBmH,KAAA3+C,EAAA,MACzE8+C,EAA4B5pC,EAC9B,GAAG,CAACsiC,EAAkBD,IAAaoH,KAAA3+C,EAAA,MAGjCssC,EAAA,QAAAznC,cAAA,MAAA,CAAK+rC,UAAU,4BACbtE,EAAA,QAAAznC,cAACs5C,GAAO,CACNrC,yBAA0BA,EAC1BwC,gBAAiBA,EACjB/G,WAAYA,EACZ6G,cAAeA,EACfC,eApBiB,SAAAjK,GAAYuK,KAAA1+C,EAAA,KACjC,IAAM6gC,GAAW6d,KAAA3+C,EAAGi/C,KVYkB,SAACC,EAAcpe,GAAgBmW,KAAAh3C,EAAA,KACvE,IAAMm0C,GAAQ6C,KAAAj3C,EAAG8gC,MAAAA,EAAYlgC,IAAIs+C,IAC3BhD,GAAmBjF,KAAAj3C,EAAGo0C,MAAAA,EAASxzC,IAAI,wBAGzC,OAHgEq2C,KAAAj3C,EAAA,MAChEo0C,EAASl1C,IAAI,uBAAwBg9C,GAAqBjF,KAAAj3C,EAAA,MAEnD,IAAIq3C,IAAIvW,EAAY5hC,IAAIggD,EAAc9K,GAC/C,CUlBwB6K,CAClB7K,EACA0H,IACA6C,KAAA3+C,EAAA,KACF8+C,EAA4Bhe,MAiBzBqe,EAAAA,QAAQpD,IAAc4C,KAAA5d,EAAA,GAAA,KACrBuL,UAAAznC,cAAA,MAAA,CAAK+rC,UAAU,mBACbtE,EAAA,QAAAznC,cAACu6C,SAAM,CACLC,mBAAoB,CAClB,UAAW,sBACXxP,SAAUmP,EACVjP,MAAOn2B,EAAE,iBAAkB,CACzBu1B,KAAMv1B,EAAE,cAAe+xB,IAAUyD,sBAEnCO,QAAS,WAAM,OAAAgP,KAAA1+C,EAAA,KAAA0+C,KAAA3+C,EAAA,MAAAwwC,GAAqB,EAAI,GAE1CzN,MAAOnpB,EAAE,mBAAoB,CAC3Bu1B,KAAMv1B,EAAE,cAAegyB,IAAQwD,2BAG/BuP,KAAA5d,UAENuL,EAAAA,QAAAznC,cAACg3C,GAAO,CACNzL,OAAQA,EACR0L,yBAA0BA,EAC1BC,cAAeA,EACf7D,MAAOA,EACPkB,mBAAoBA,EACpBjB,iBAAkBA,KAK5B,ujHClEY,OAAAmH,cAAA,OAAArf,CAAA,EAAAA,CAAA,CAAAqf,KAd2BA,KAAAt/C,EAAA,KAwBrCs/C,KAAAt/C,EAAA,MAEK,IAAMu/C,GAAyB,WACpC,IADqCrH,EAAK79C,UAAAgB,eAAAgI,IAAAhJ,UAAA,GAAAA,UAAAilD,IAAAA,KAAAve,UAAG,IAAIye,EAAanlD,UAAAgB,eAAAgI,IAAAhJ,UAAA,GAAAA,UAAAilD,IAAAA,KAAAve,UAAG,IACjE,OADmEue,KAAAr/C,EAAA,KAAAq/C,KAAAt/C,EAAA,MACnEw/C,EACG9kC,KAAI,SAAA29B,GAAQiH,KAAAr/C,EAAA,KACX,IAAMw/C,GAAcH,KAAAt/C,EAAG0/C,MAAAA,EAAQA,SAACrH,EAAK7J,GAAI0J,GAAOrF,eAChD,OAD8DyM,KAAAt/C,EAAA,MAC1D2/C,SAAOF,EAAgBpH,EAAKxF,gBAAgByM,KAAAve,EAAA,GAAA,KAAAue,KAAAt/C,EAAA,OAAO,IAAMs/C,KAAAve,EAAA,GAAA,KAAAue,KAAAt/C,EAAA,MAEtD,CAAEwuC,GAAI6J,EAAK7J,GAAIqE,cAAewF,EAAKxF,eAC5C,IACCjhC,OAAOlY,QAAO,q4ICpBP,OAAAkmD,cAAA,OAAA3f,CAAA,EAAAA,CAAA,CAAA2f,KAK0DA,KAAA5/C,EAAA,KAEtE,IA8FA6/C,GAAeC,EAASA,UAACzT,IA9FX,SAAHpvC,GAAmB,IAAA8iD,EAAA7P,EAAA8P,EAAAlH,EAAAmH,EAAAlG,EAAb3J,EAAMnzC,EAANmzC,OAAMwP,KAAA3/C,EAAA,KACrB,IAAQ2Z,GAARgmC,KAAA5/C,EAAA,KAAc8+B,MAANllB,EAC4C81B,EAAAp1C,IAApDslD,KAAA5/C,EAAwCy/B,KAAAA,EAAAA,SAAS,KAAG,GAA7CsP,EAAYW,EAAA,GAAEV,EAAeU,EAAA,GACkBoK,EAAAx/C,IAAtDslD,KAAA5/C,EAA0Cy/B,KAAAA,EAAAA,SAAS,KAAG,GAA/Csc,EAAajC,EAAA,GAAEoG,EAAgBpG,EAAA,GAC2BiF,EAAAzkD,IAAjEslD,KAAA5/C,EAAkDy/B,KAAAA,EAAAA,UAAS,IAAM,GAA1D0gB,EAAiBpB,EAAA,GAAEvO,EAAoBuO,EAAA,GAC9CF,GAAAe,KAAA5/C,EAAA,KAAmD2uC,GAAc,CAC/DoG,UAAW,SAAAmD,GAAS,OAAA0H,KAAA3/C,EAAA,KAAA2/C,KAAA5/C,EAAA,KAAAm4C,EAAiBD,EAAM,EAC3CjS,QAAkC8Z,QAA3BH,KAAA7e,EAAEqP,GAAAA,KAAF2P,EAAE3P,SAAmB,QAAbF,EAANE,EAAQtP,mBAAW,IAAAoP,OAAbA,EAANA,EAAqBkQ,YAAIL,IAAAA,EAAAA,GAAAH,KAAA7e,UAAI+K,OAF1BoM,EAAK2G,EAAX3yC,KAAwBm0C,EAAcxB,EAAzBhJ,UAKrByK,GAAAV,KAAA5/C,EAAA,KACE2tC,GAAoB,CAClB1H,QAAkC+Z,QAA3BJ,KAAA7e,EAAEqP,GAAAA,KAAF4P,EAAE5P,SAAmB,QAAb0I,EAAN1I,EAAQtP,mBAAW,IAAAgY,OAAbA,EAANA,EAAqBsH,YAAIJ,IAAAA,EAAAA,GAAAJ,KAAA7e,UAAI+K,OAF5BhL,EAAWwf,EAAjBp0C,KAA8Bq0C,EAAoBD,EAA/BzK,UAK3B2K,GAAAZ,KAAA5/C,EAAA,KzB2FyB,SAAH85C,GACtB,IAD4B/E,EAAS+E,EAAT/E,UAAcpiC,EAAOwjB,GAAA2jB,EAAA2G,IACjD,OADiD/R,KAAAzuC,EAAA,MAAAyuC,KAAA1uC,EAAA,MACjDg1C,cAAY9G,GAAqBC,WAAUngB,GAAA,CACzC+mB,UAAW,SAAAjH,GAAYY,KAAAzuC,EAAA,MAAAyuC,KAAA1uC,EAAA,MACrBgsC,GAAYiJ,kBAAkB7H,GAAWI,OAAOkB,KAAA1uC,EAAA,MAChDgsC,GAAYiJ,kBAAkB7H,GAAWK,oBAAoBiB,KAAA1uC,EAAA,MAC7DgsC,GAAYiJ,kBAAkB7H,GAAWE,OAAOoB,KAAA1uC,EAAA,MAChDs1C,SAAOC,SAAQ7G,KAAA3N,WAAA+M,EAAS0H,YAAS9G,KAAA3N,EAAA,IAAA,KAAI+M,EAAS5hC,KAAKspC,aAAW9G,KAAA1uC,EAAA,MAC9D+0C,SAAAA,GACF,GACGpiC,GACJ,CyBrG8B+tC,CAAmB,CAChDza,QAAoCga,QAA7BL,KAAA7e,EAAEqP,GAAAA,KAAF6P,EAAE7P,SAAmB,QAAb2J,EAAN3J,EAAQtP,mBAAW,IAAAiZ,OAAbA,EAANA,EAAqBtL,cAAMwR,IAAAA,EAAAA,GAAAL,KAAA7e,UAAI+K,OAD1BqC,EAAUqS,EAAlB7K,OAGiDgL,EAAArmD,IAAzDslD,KAAA5/C,EAA0Cy/B,KAAAA,EAAAA,SAASyY,IAAM,GAAlDsH,EAAamB,EAAA,GAAExI,EAAgBwI,EAAA,GAChCpQ,GAAOqP,KAAA5/C,EAAG4gD,MAAAA,EAASA,UAACrB,GAAuBrH,EAAOsH,KAClDhI,GAAgBoI,KAAA5/C,EAAG6gD,MDvCQ,WAAsB,IAAAC,EAArBhgB,EAAWzmC,UAAAgB,eAAAgI,IAAAhJ,UAAA,GAAAA,UAAAilD,IAAAA,KAAAve,UAAG,IAAEue,KAAAr/C,EAAA,KAClD,IAAM8gD,GAAczB,KAAAt/C,EAAG8gC,KAAAA,SAAgB,QAALggB,EAAXhgB,EAAc,UAAE,IAAAggB,GAAhBA,EAAkBE,UAAQ1B,KAAAve,EAAA,GAAA,KAC7CD,EAAY5c,MAAK,SAAC+8B,EAAOC,GAAW,OAAA5B,KAAAr/C,EAAA,KAAAq/C,KAAAt/C,EAAA,KAAAihD,EAAMD,SAAWE,EAAOF,QAAO,MAAE1B,KAAAve,UACrED,IAEEgT,GAAkBwL,KAAAt/C,EAAG,KAAA,IAAIq3C,KAgB/B,OAhBqCiI,KAAAt/C,EAAA,KAChCs/C,KAAAt/C,EAAA,KACL+gD,EAAetjD,SAAQ,SAAA2jC,GACrB,GADmCke,KAAAr/C,EAAA,KAAAq/C,KAAAt/C,EAAA,KAC/B8zC,EAAmBqN,IAAI/f,aAAU,EAAVA,EAAYgT,UAAW,CAAAkL,KAAAve,EAAA,GAAA,KAChD,IAAMqT,GAAQkL,KAAAt/C,EAAA,KAAG8zC,EAAmBlzC,IAAIwgC,EAAWgT,WAC7CgN,GAAkB9B,KAAAt/C,EAAGo0C,KAAAA,EAASxzC,IAAI,gBAClCkgC,GAAWwe,KAAAt/C,EAAGwvB,KAAAA,SAAO4R,EAAYggB,IAAoB9B,KAAAt/C,EAAA,MAC3Do0C,EAASl1C,IAAI,cAAe4hC,EAC9B,KAAO,CAAAwe,KAAAve,EAAA,GAAA,KACL,IAAM3lC,GAAKkkD,KAAAt/C,EAAG,MAAA,IAAIq3C,KAAMiI,KAAAt/C,EAAA,MACxB5E,EAAM8D,IAAI,cAAeswB,EAAMA,OAAC4R,EAAY,KAAKke,KAAAt/C,EAAA,MACjD5E,EAAM8D,IAAI,uBAAuB,GAAMogD,KAAAt/C,EAAA,MACvC8zC,EAAmB50C,IAAIkiC,aAAAA,EAAAA,EAAYgT,SAAUh5C,EAC/C,CACF,IAAGkkD,KAAAt/C,EAAA,MAEI8zC,CACT,CCiB2B+M,CAAoB/f,IAAa8e,KAAA5/C,EAAA,MAE1D6+B,EAAAA,WAAU,WAAM+gB,KAAA3/C,EAAA,KAAA2/C,KAAA5/C,EAAA,MACdkgD,EACEtuC,EAAAA,QACE,SAAAyvC,GACE,IADC/kD,EAAI+kD,EAAJ/kD,KACD,OADKsjD,KAAA3/C,EAAA,KAAA2/C,KAAA5/C,EAAA,MACLglB,EAAQA,SACN+pB,EAAahxC,cAAcS,OAC3BlC,EAAKyB,cAAcS,OACrB,IACFohD,KAAA7e,EAAAye,GAAAA,KAAAA,IAAaI,KAAA7e,EAAI,GAAA,KAAA,MAGvB,GAAG,CAACye,EAAezQ,IAAe6Q,KAAA5/C,EAAA,MAKhC4/C,KAAA5/C,EAAA,MAIF,OAFkD4/C,KAAA5/C,EAAA,MAE9C4/C,KAAA7e,EAAAsf,GAAAA,KAAAA,IAAcT,KAAA7e,EAAIwf,GAAAA,KAAAA,IAAsBX,KAAA7e,EAAA,GAAA,KAAA6e,KAAA5/C,EAAA,MAExCssC,EAAA,QAAAznC,cAAA,MAAA,CAAK+rC,UAAU,2BACbtE,EAAA,QAAAznC,cAACy8C,sBAGN1B,KAAA7e,EAAA,GAAA,KAAA6e,KAAA5/C,EAAA,MAGCssC,EAAA,QAAAznC,cAAAynC,UAAAyE,SACEzE,KAAAA,EAAAA,QAAAznC,cAACugC,GAAUA,WAAA,KACTkH,UAAAznC,cAAC08C,EAAAA,UAAS,CAACC,eAAa,GACtBlV,EAAA,QAAAznC,cAACorC,GAAM,CACLG,OAAQA,EACRC,YAhBU,WAAM,OAAAuP,KAAA3/C,EAAA,KAAA2/C,KAAA5/C,EAAA,MAAAm4C,EAAiBD,IAiBjC5H,aAtBW,WAAMsP,KAAA3/C,EAAA,KACzB,IAAMwhD,GAAY7B,KAAA5/C,EAAGu/C,MAAAA,GAAuBrH,EAAOsH,IAAeI,KAAA5/C,EAAA,MAClEmuC,EAAW,CAAES,kBAAmB,CAAE6S,aAAAA,MAqB1BlR,QAASA,EACTxB,aAAcA,EACdyB,qBAAsBA,EACtBxB,gBAAiBA,IAEnB1C,EAAAA,QAAAznC,cAAC+5C,GAAK,CACJxO,OAAQA,EACR2L,cAAeA,EACfvE,iBAAkBA,EAClBU,MAAOA,EACP1H,qBAAsBA,EACtB2H,iBAAkBA,KAEnByH,KAAA7e,EAAAqP,GAAAA,MAAAA,aAAM,EAANA,EAAQY,WAAO4O,KAAA7e,EACduL,GAAAA,KAAAA,UAAAznC,cAAA,MAAA,CAAK+rC,UAAU,8BACbtE,EAAA,QAAAznC,cAACirC,SAAM,CACL,UAAQ,wCACRmB,KAAMb,EAAOY,QACbE,KAAMC,EAAaA,aACnBpB,MAAOn2B,EAAE,2CACTiQ,MAAM,OACNzZ,OAAO,gBAMjBk8B,EAAAA,QAAAznC,cAAC6vC,GAAG,CACFC,OAAQwL,EACRrf,YAAaA,EACb8T,QAAS,WAAM,OAAAgL,KAAA3/C,EAAA,KAAA2/C,KAAA5/C,EAAA,MAAAwwC,GAAqB,EAAK,KAIjD,IAEgDrY,GAAKve,EAAE,cAAegyB,KCpHvD,SAAS8V,KAYtB,OAXAA,GAAW3oD,OAAO+hC,OAAS/hC,OAAO+hC,OAAO1gC,OAAS,SAAUgW,GAC1D,IAAK,IAAI5V,EAAI,EAAGA,EAAIH,UAAUgB,OAAQb,IAAK,CACzC,IAAIuX,EAAS1X,UAAUG,GACvB,IAAK,IAAIoV,KAAOmC,EACVhZ,OAAOJ,UAAUoc,eAAenb,KAAKmY,EAAQnC,KAC/CQ,EAAOR,GAAOmC,EAAOnC,GAG1B,CACD,OAAOQ,CACX,EACSsxC,GAASznD,MAAMoY,KAAMhY,UAC9B,KCXIgJ,GCAAs+C,GAA+B,oBAAXnpD,QAA0BA,OAC9CopD,GCAa,WAChB,GAAsB,mBAAXppD,QAAiE,mBAAjCO,OAAO2Y,sBAAwC,OAAO,EACjG,GAA+B,iBAApBlZ,OAAOC,SAAyB,OAAO,EAElD,IAAIF,EAAM,CAAA,EACNsZ,EAAMrZ,OAAO,QACbqpD,EAAS9oD,OAAO8Y,GACpB,GAAmB,iBAARA,EAAoB,OAAO,EAEtC,GAA4C,oBAAxC9Y,OAAOJ,UAAUyD,SAASxC,KAAKiY,GAA8B,OAAO,EACxE,GAA+C,oBAA3C9Y,OAAOJ,UAAUyD,SAASxC,KAAKioD,GAAiC,OAAO,EAY3E,IAAKhwC,KADLtZ,EAAIsZ,GADS,GAEDtZ,EAAO,OAAO,EAC1B,GAA2B,mBAAhBQ,OAAO0Y,MAAmD,IAA5B1Y,OAAO0Y,KAAKlZ,GAAK8C,OAAgB,OAAO,EAEjF,GAA0C,mBAA/BtC,OAAOw1B,qBAAiF,IAA3Cx1B,OAAOw1B,oBAAoBh2B,GAAK8C,OAAgB,OAAO,EAE/G,IAAIymD,EAAO/oD,OAAO2Y,sBAAsBnZ,GACxC,GAAoB,IAAhBupD,EAAKzmD,QAAgBymD,EAAK,KAAOjwC,EAAO,OAAO,EAEnD,IAAK9Y,OAAOJ,UAAU69B,qBAAqB58B,KAAKrB,EAAKsZ,GAAQ,OAAO,EAEpE,GAA+C,mBAApC9Y,OAAO8D,yBAAyC,CAC1D,IAAIyT,EAAavX,OAAO8D,yBAAyBtE,EAAKsZ,GACtD,GAdY,KAcRvB,EAAWlV,QAA8C,IAA1BkV,EAAW1J,WAAuB,OAAO,CAC5E,CAED,OAAO,CACR,ECpCIvK,GAAQ5B,MAAM9B,UAAU0D,MACxB0lD,GAAQhpD,OAAOJ,UAAUyD,SCJzB+I,GDOa,SAAc68C,GAC3B,IAAI5xC,EAASiC,KACb,GAAsB,mBAAXjC,GAJA,sBAIyB2xC,GAAMnoD,KAAKwW,GAC3C,MAAM,IAAI3U,UARE,kDAQwB2U,GAyBxC,IAvBA,IAEI6xC,EAFA7oD,EAAOiD,GAAMzC,KAAKS,UAAW,GAqB7B6nD,EAAct9B,KAAKmuB,IAAI,EAAG3iC,EAAO/U,OAASjC,EAAKiC,QAC/C8mD,EAAY,GACP3nD,EAAI,EAAGA,EAAI0nD,EAAa1nD,IAC7B2nD,EAAUnoD,KAAK,IAAMQ,GAKzB,GAFAynD,EAAQ9nD,SAAS,SAAU,oBAAsBgoD,EAAUlrC,KAAK,KAAO,4CAA/D9c,EAxBK,WACT,GAAIkY,gBAAgB4vC,EAAO,CACvB,IAAIxrC,EAASrG,EAAOnW,MAChBoY,KACAjZ,EAAKiN,OAAOhK,GAAMzC,KAAKS,aAE3B,OAAItB,OAAO0d,KAAYA,EACZA,EAEJpE,IACnB,CACY,OAAOjC,EAAOnW,MACV+nD,EACA5oD,EAAKiN,OAAOhK,GAAMzC,KAAKS,YAGvC,IAUQ+V,EAAOzX,UAAW,CAClB,IAAI+b,EAAQ,aACZA,EAAM/b,UAAYyX,EAAOzX,UACzBspD,EAAMtpD,UAAY,IAAI+b,EACtBA,EAAM/b,UAAY,IACrB,CAED,OAAOspD,CACX,EC/CAG,GAAiBjoD,SAASxB,UAAUyB,MAAQ+K,GCA5Ck9C,GAFW3W,GAEW9xC,KAAKO,SAASP,KAAMb,OAAOJ,UAAUoc,gBLAvDutC,GAAeC,YACfC,GAAYroD,SACZsoD,GAAahnD,UAGbinD,GAAwB,SAAUC,GACrC,IACC,OAAOH,GAAU,yBAA2BG,EAAmB,iBAAxDH,EACT,CAAG,MAAO3oD,GAAK,CACf,EAEI+oD,GAAQ7pD,OAAO8D,yBACnB,GAAI+lD,GACH,IACCA,GAAM,CAAA,EAAI,GACV,CAAC,MAAO/oD,IACR+oD,GAAQ,IACR,CAGF,IAAIC,GAAiB,WACpB,MAAM,IAAIJ,EACX,EACIK,GAAiBF,GACjB,WACF,IAGC,OAAOC,EACP,CAAC,MAAOE,GACR,IAEC,OAAOH,GAAMvoD,UAAW,UAAUuG,GAClC,CAAC,MAAOoiD,GACR,OAAOH,EACP,CACD,CACH,CAbA,GAcGA,GAECI,GCtCuB,mBAAftB,IACW,mBAAXnpD,QACsB,iBAAtBmpD,GAAW,QACO,iBAAlBnpD,OAAO,QAEXopD,KDmCJsB,GAAWnqD,OAAO6D,gBAAkB,SAAUQ,GAAK,OAAOA,EAAEnE,WAE5DkqD,GAAY,CAAA,EAEZC,GAAmC,oBAAfC,WAA6BhgD,GAAY6/C,GAASG,YAEtEC,GAAa,CAChB,mBAA8C,oBAAnBC,eAAiClgD,GAAYkgD,eACxE,UAAW9oD,MACX,gBAAwC,oBAAhB+oD,YAA8BngD,GAAYmgD,YAClE,2BAA4BP,GAAaC,GAAS,GAAG1qD,OAAOC,aAAe4K,GAC3E,mCAAoCA,GACpC,kBAAmB8/C,GACnB,mBAAoBA,GACpB,2BAA4BA,GAC5B,2BAA4BA,GAC5B,YAAgC,oBAAZM,QAA0BpgD,GAAYogD,QAC1D,WAA8B,oBAAXC,OAAyBrgD,GAAYqgD,OACxD,kBAA4C,oBAAlBC,cAAgCtgD,GAAYsgD,cACtE,mBAA8C,oBAAnBC,eAAiCvgD,GAAYugD,eACxE,YAAalqD,QACb,aAAkC,oBAAbmqD,SAA2BxgD,GAAYwgD,SAC5D,SAAUpxB,KACV,cAAeqxB,UACf,uBAAwBC,mBACxB,cAAeC,UACf,uBAAwBpxB,mBACxB,UAAWjD,MACX,SAAUs0B,KACV,cAAeC,UACf,iBAA0C,oBAAjBC,aAA+B9gD,GAAY8gD,aACpE,iBAA0C,oBAAjBC,aAA+B/gD,GAAY+gD,aACpE,yBAA0D,oBAAzBC,qBAAuChhD,GAAYghD,qBACpF,aAAc7B,GACd,sBAAuBW,GACvB,cAAoC,oBAAdmB,UAA4BjhD,GAAYihD,UAC9D,eAAsC,oBAAfC,WAA6BlhD,GAAYkhD,WAChE,eAAsC,oBAAfC,WAA6BnhD,GAAYmhD,WAChE,aAAcC,SACd,UAAWt7B,MACX,sBAAuB85B,GAAaC,GAASA,GAAS,GAAG1qD,OAAOC,cAAgB4K,GAChF,SAA0B,iBAATykB,KAAoBA,KAAOzkB,GAC5C,QAAwB,oBAARg0C,IAAsBh0C,GAAYg0C,IAClD,yBAAyC,oBAARA,KAAwB4L,GAAyBC,IAAS,IAAI7L,KAAM7+C,OAAOC,aAAtC4K,GACtE,SAAUuhB,KACV,WAAY1U,OACZ,WAAYnX,OACZ,eAAgBwjC,WAChB,aAAcnT,SACd,YAAgC,oBAAZhV,QAA0B/Q,GAAY+Q,QAC1D,UAA4B,oBAAV3a,MAAwB4J,GAAY5J,MACtD,eAAgBirD,WAChB,mBAAoB5zC,eACpB,YAAgC,oBAAZxX,QAA0B+J,GAAY/J,QAC1D,WAAYoF,OACZ,QAAwB,oBAARg6C,IAAsBr1C,GAAYq1C,IAClD,yBAAyC,oBAARA,KAAwBuK,GAAyBC,IAAS,IAAIxK,KAAMlgD,OAAOC,aAAtC4K,GACtE,sBAAoD,oBAAtBshD,kBAAoCthD,GAAYshD,kBAC9E,WAAY7mD,OACZ,4BAA6BmlD,GAAaC,GAAS,GAAG1qD,OAAOC,aAAe4K,GAC5E,WAAY4/C,GAAazqD,OAAS6K,GAClC,gBAAiBi/C,GACjB,mBAAoBQ,GACpB,eAAgBM,GAChB,cAAeX,GACf,eAAsC,oBAAfY,WAA6BhgD,GAAYggD,WAChE,sBAAoD,oBAAtBuB,kBAAoCvhD,GAAYuhD,kBAC9E,gBAAwC,oBAAhBC,YAA8BxhD,GAAYwhD,YAClE,gBAAwC,oBAAhBC,YAA8BzhD,GAAYyhD,YAClE,aAAcC,SACd,YAAgC,oBAAZC,QAA0B3hD,GAAY2hD,QAC1D,YAAgC,oBAAZC,QAA0B5hD,GAAY4hD,QAC1D,YAAgC,oBAAZC,QAA0B7hD,GAAY6hD,SAG3D,IACC,KAAK3yC,KACN,CAAE,MAAO1Y,IAER,IAAIsrD,GAAajC,GAASA,GAASrpD,KACnCypD,GAAW,qBAAuB6B,EACnC,CAEA,IAAIC,GAAS,SAASA,EAAO9oD,GAC5B,IAAIlB,EACJ,GAAa,oBAATkB,EACHlB,EAAQsnD,GAAsB,6BACxB,GAAa,wBAATpmD,EACVlB,EAAQsnD,GAAsB,wBACxB,GAAa,6BAATpmD,EACVlB,EAAQsnD,GAAsB,8BACxB,GAAa,qBAATpmD,EAA6B,CACvC,IAAIgtB,EAAK87B,EAAO,4BACZ97B,IACHluB,EAAQkuB,EAAG3wB,UAEd,MAAQ,GAAa,6BAAT2D,EAAqC,CAC/C,IAAI+oD,EAAMD,EAAO,oBACbC,IACHjqD,EAAQ8nD,GAASmC,EAAI1sD,WAEtB,CAID,OAFA2qD,GAAWhnD,GAAQlB,EAEZA,CACR,EAEIkqD,GAAiB,CACpB,yBAA0B,CAAC,cAAe,aAC1C,mBAAoB,CAAC,QAAS,aAC9B,uBAAwB,CAAC,QAAS,YAAa,WAC/C,uBAAwB,CAAC,QAAS,YAAa,WAC/C,oBAAqB,CAAC,QAAS,YAAa,QAC5C,sBAAuB,CAAC,QAAS,YAAa,UAC9C,2BAA4B,CAAC,gBAAiB,aAC9C,mBAAoB,CAAC,yBAA0B,aAC/C,4BAA6B,CAAC,yBAA0B,YAAa,aACrE,qBAAsB,CAAC,UAAW,aAClC,sBAAuB,CAAC,WAAY,aACpC,kBAAmB,CAAC,OAAQ,aAC5B,mBAAoB,CAAC,QAAS,aAC9B,uBAAwB,CAAC,YAAa,aACtC,0BAA2B,CAAC,eAAgB,aAC5C,0BAA2B,CAAC,eAAgB,aAC5C,sBAAuB,CAAC,WAAY,aACpC,cAAe,CAAC,oBAAqB,aACrC,uBAAwB,CAAC,oBAAqB,YAAa,aAC3D,uBAAwB,CAAC,YAAa,aACtC,wBAAyB,CAAC,aAAc,aACxC,wBAAyB,CAAC,aAAc,aACxC,cAAe,CAAC,OAAQ,SACxB,kBAAmB,CAAC,OAAQ,aAC5B,iBAAkB,CAAC,MAAO,aAC1B,oBAAqB,CAAC,SAAU,aAChC,oBAAqB,CAAC,SAAU,aAChC,sBAAuB,CAAC,SAAU,YAAa,YAC/C,qBAAsB,CAAC,SAAU,YAAa,WAC9C,qBAAsB,CAAC,UAAW,aAClC,sBAAuB,CAAC,UAAW,YAAa,QAChD,gBAAiB,CAAC,UAAW,OAC7B,mBAAoB,CAAC,UAAW,UAChC,oBAAqB,CAAC,UAAW,WACjC,wBAAyB,CAAC,aAAc,aACxC,4BAA6B,CAAC,iBAAkB,aAChD,oBAAqB,CAAC,SAAU,aAChC,iBAAkB,CAAC,MAAO,aAC1B,+BAAgC,CAAC,oBAAqB,aACtD,oBAAqB,CAAC,SAAU,aAChC,oBAAqB,CAAC,SAAU,aAChC,yBAA0B,CAAC,cAAe,aAC1C,wBAAyB,CAAC,aAAc,aACxC,uBAAwB,CAAC,YAAa,aACtC,wBAAyB,CAAC,aAAc,aACxC,+BAAgC,CAAC,oBAAqB,aACtD,yBAA0B,CAAC,cAAe,aAC1C,yBAA0B,CAAC,cAAe,aAC1C,sBAAuB,CAAC,WAAY,aACpC,qBAAsB,CAAC,UAAW,aAClC,qBAAsB,CAAC,UAAW,cAG/BlrD,GAAOmrD,GACPC,GAASC,GACTC,GAAUtrD,GAAKR,KAAKO,SAASP,KAAMa,MAAM9B,UAAU0N,QACnDs/C,GAAevrD,GAAKR,KAAKO,SAASF,MAAOQ,MAAM9B,UAAUif,QACzDguC,GAAWxrD,GAAKR,KAAKO,SAASP,KAAMkE,OAAOnF,UAAUyF,SACrDynD,GAAYzrD,GAAKR,KAAKO,SAASP,KAAMkE,OAAOnF,UAAU0D,OACtDypD,GAAQ1rD,GAAKR,KAAKO,SAASP,KAAM8E,OAAO/F,UAAUwuB,MAGlD4+B,GAAa,qGACbC,GAAe,WAiBfC,GAAmB,SAA0B3pD,EAAM4pD,GACtD,IACIC,EADAC,EAAgB9pD,EAOpB,GALIkpD,GAAOF,GAAgBc,KAE1BA,EAAgB,KADhBD,EAAQb,GAAec,IACK,GAAK,KAG9BZ,GAAOlC,GAAY8C,GAAgB,CACtC,IAAIhrD,EAAQkoD,GAAW8C,GAIvB,GAHIhrD,IAAU+nD,KACb/nD,EAAQgqD,GAAOgB,SAEK,IAAVhrD,IAA0B8qD,EACpC,MAAM,IAAIzD,GAAW,aAAenmD,EAAO,wDAG5C,MAAO,CACN6pD,MAAOA,EACP7pD,KAAM8pD,EACNhrD,MAAOA,EAER,CAED,MAAM,IAAIknD,GAAa,aAAehmD,EAAO,mBAC9C,EAEA+pD,GAAiB,SAAsB/pD,EAAM4pD,GAC5C,GAAoB,iBAAT5pD,GAAqC,IAAhBA,EAAKjB,OACpC,MAAM,IAAIonD,GAAW,6CAEtB,GAAIpoD,UAAUgB,OAAS,GAA6B,kBAAjB6qD,EAClC,MAAM,IAAIzD,GAAW,6CAGtB,GAAmC,OAA/BqD,GAAM,cAAexpD,GACxB,MAAM,IAAIgmD,GAAa,sFAExB,IAAIrnC,EAtDc,SAAsBmG,GACxC,IAAI6/B,EAAQ4E,GAAUzkC,EAAQ,EAAG,GAC7BklC,EAAOT,GAAUzkC,GAAS,GAC9B,GAAc,MAAV6/B,GAA0B,MAATqF,EACpB,MAAM,IAAIhE,GAAa,kDACjB,GAAa,MAATgE,GAA0B,MAAVrF,EAC1B,MAAM,IAAIqB,GAAa,kDAExB,IAAI7rC,EAAS,GAIb,OAHAmvC,GAASxkC,EAAQ2kC,IAAY,SAAU7nD,EAAOqmB,EAAQgiC,EAAOC,GAC5D/vC,EAAOA,EAAOpb,QAAUkrD,EAAQX,GAASY,EAAWR,GAAc,MAAQzhC,GAAUrmB,CACtF,IACQuY,CACR,CAyCagwC,CAAanqD,GACrBoqD,EAAoBzrC,EAAM5f,OAAS,EAAI4f,EAAM,GAAK,GAElD0rC,EAAYV,GAAiB,IAAMS,EAAoB,IAAKR,GAC5DU,EAAoBD,EAAUrqD,KAC9BlB,EAAQurD,EAAUvrD,MAClByrD,GAAqB,EAErBV,EAAQQ,EAAUR,MAClBA,IACHO,EAAoBP,EAAM,GAC1BR,GAAa1qC,EAAOyqC,GAAQ,CAAC,EAAG,GAAIS,KAGrC,IAAK,IAAI3rD,EAAI,EAAGssD,GAAQ,EAAMtsD,EAAIygB,EAAM5f,OAAQb,GAAK,EAAG,CACvD,IAAIonB,EAAO3G,EAAMzgB,GACbymD,EAAQ4E,GAAUjkC,EAAM,EAAG,GAC3B0kC,EAAOT,GAAUjkC,GAAO,GAC5B,IAEa,MAAVq/B,GAA2B,MAAVA,GAA2B,MAAVA,GACtB,MAATqF,GAAyB,MAATA,GAAyB,MAATA,IAElCrF,IAAUqF,EAEb,MAAM,IAAIhE,GAAa,wDASxB,GAPa,gBAAT1gC,GAA2BklC,IAC9BD,GAAqB,GAMlBrB,GAAOlC,GAFXsD,EAAoB,KADpBF,GAAqB,IAAM9kC,GACmB,KAG7CxmB,EAAQkoD,GAAWsD,QACb,GAAa,MAATxrD,EAAe,CACzB,KAAMwmB,KAAQxmB,GAAQ,CACrB,IAAK8qD,EACJ,MAAM,IAAIzD,GAAW,sBAAwBnmD,EAAO,+CAErD,MACA,CACD,GAAIsmD,IAAUpoD,EAAI,GAAMygB,EAAM5f,OAAQ,CACrC,IAAIsF,EAAOiiD,GAAMxnD,EAAOwmB,GAWvBxmB,GAVD0rD,IAAUnmD,IASG,QAASA,KAAU,kBAAmBA,EAAKC,KAC/CD,EAAKC,IAELxF,EAAMwmB,EAEnB,MACIklC,EAAQtB,GAAOpqD,EAAOwmB,GACtBxmB,EAAQA,EAAMwmB,GAGXklC,IAAUD,IACbvD,GAAWsD,GAAqBxrD,EAEjC,CACD,CACD,OAAOA,CACR,qBMrVA,IAAIhB,EAAOsxC,GACPqb,EAAexB,GAEfyB,EAASD,EAAa,8BACtBE,EAAQF,EAAa,6BACrBG,EAAgBH,EAAa,mBAAmB,IAAS3sD,EAAKR,KAAKqtD,EAAOD,GAE1EpE,EAAQmE,EAAa,qCAAqC,GAC1DI,EAAkBJ,EAAa,2BAA2B,GAC1DK,EAAOL,EAAa,cAExB,GAAII,EACH,IACCA,EAAgB,CAAE,EAAE,IAAK,CAAE/rD,MAAO,GAClC,CAAC,MAAOvB,GAERstD,EAAkB,IAClB,CAGFnuC,EAAA2oB,QAAiB,SAAkB0lB,GAClC,IAAI/pD,EAAO4pD,EAAc9sD,EAAM6sD,EAAO5sD,WAClCuoD,GAASuE,IACDvE,EAAMtlD,EAAM,UACdqJ,cAERwgD,EACC7pD,EACA,SACA,CAAElC,MAAO,EAAIgsD,EAAK,EAAGC,EAAiBhsD,QAAUhB,UAAUgB,OAAS,OAItE,OAAOiC,CACR,EAEA,IAAIgqD,EAAY,WACf,OAAOJ,EAAc9sD,EAAM4sD,EAAQ3sD,UACpC,EAEI8sD,EACHA,EAAgBnuC,EAAO2oB,QAAS,QAAS,CAAEvmC,MAAOksD,IAElDtuC,EAAA2oB,QAAA1nC,MAAuBqtD,oDC3CxB,IAAIP,GAAerb,GAEf6b,GAAWhC,GAEXiC,GAAWD,GAASR,GAAa,6BCNrCU,GAAiB/b,EAAe,QAACgc,QCA7BC,GAAwB,mBAARtQ,KAAsBA,IAAI1+C,UAC1CivD,GAAoB7uD,OAAO8D,0BAA4B8qD,GAAS5uD,OAAO8D,yBAAyBw6C,IAAI1+C,UAAW,QAAU,KACzHkvD,GAAUF,IAAUC,IAAsD,mBAA1BA,GAAkBhnD,IAAqBgnD,GAAkBhnD,IAAM,KAC/GknD,GAAaH,IAAUtQ,IAAI1+C,UAAU8E,QACrCsqD,GAAwB,mBAARrP,KAAsBA,IAAI//C,UAC1CqvD,GAAoBjvD,OAAO8D,0BAA4BkrD,GAAShvD,OAAO8D,yBAAyB67C,IAAI//C,UAAW,QAAU,KACzHsvD,GAAUF,IAAUC,IAAsD,mBAA1BA,GAAkBpnD,IAAqBonD,GAAkBpnD,IAAM,KAC/GsnD,GAAaH,IAAUrP,IAAI//C,UAAU8E,QAErC0qD,GADgC,mBAAZnD,SAA0BA,QAAQrsD,UAC5BqsD,QAAQrsD,UAAUwoD,IAAM,KAElDiH,GADgC,mBAAZlD,SAA0BA,QAAQvsD,UAC5BusD,QAAQvsD,UAAUwoD,IAAM,KAElDkH,GADgC,mBAAZpD,SAA0BA,QAAQtsD,UAC1BssD,QAAQtsD,UAAU2vD,MAAQ,KACtDC,GAAiB7uD,QAAQf,UAAUgB,QACnC6uD,GAAiBzvD,OAAOJ,UAAUyD,SAClCqsD,GAAmBtuD,SAASxB,UAAUyD,SACtCssD,GAAS5qD,OAAOnF,UAAUuF,MAC1ByqD,GAAS7qD,OAAOnF,UAAU0D,MAC1BupD,GAAW9nD,OAAOnF,UAAUyF,QAC5BwqD,GAAe9qD,OAAOnF,UAAU2oB,YAChCunC,GAAe/qD,OAAOnF,UAAUoF,YAChC+qD,GAAQpqD,OAAO/F,UAAU4D,KACzBmpD,GAAUjrD,MAAM9B,UAAU0N,OAC1B0iD,GAAQtuD,MAAM9B,UAAUse,KACxB+xC,GAAYvuD,MAAM9B,UAAU0D,MAC5B4sD,GAASrkC,KAAKkO,MACdo2B,GAAkC,mBAAXxF,OAAwBA,OAAO/qD,UAAUgB,QAAU,KAC1EwvD,GAAOpwD,OAAO2Y,sBACd03C,GAAgC,mBAAX5wD,QAAoD,iBAApBA,OAAOC,SAAwBD,OAAOG,UAAUyD,SAAW,KAChHitD,GAAsC,mBAAX7wD,QAAoD,iBAApBA,OAAOC,SAElE6wD,GAAgC,mBAAX9wD,QAAyBA,OAAO8wD,qBAAuB9wD,OAAO8wD,cAAgBD,IAA+B,UAChI7wD,OAAO8wD,YACP,KACFC,GAAexwD,OAAOJ,UAAU69B,qBAEhCgzB,IAA0B,mBAAZlwD,QAAyBA,QAAQsD,eAAiB7D,OAAO6D,kBACvE,GAAG3D,YAAcwB,MAAM9B,UACjB,SAAU8wD,GACR,OAAOA,EAAExwD,SACZ,EACC,MAGV,SAASywD,GAAoBC,EAAKh0C,GAC9B,GACIg0C,IAAQC,KACLD,KAASC,KACTD,GAAQA,GACPA,GAAOA,GAAO,KAAQA,EAAM,KAC7Bb,GAAMlvD,KAAK,IAAK+b,GAEnB,OAAOA,EAEX,IAAIk0C,EAAW,mCACf,GAAmB,iBAARF,EAAkB,CACzB,IAAIG,EAAMH,EAAM,GAAKV,IAAQU,GAAOV,GAAOU,GAC3C,GAAIG,IAAQH,EAAK,CACb,IAAII,EAASjsD,OAAOgsD,GAChBE,EAAMrB,GAAO/uD,KAAK+b,EAAKo0C,EAAO1uD,OAAS,GAC3C,OAAOuqD,GAAShsD,KAAKmwD,EAAQF,EAAU,OAAS,IAAMjE,GAAShsD,KAAKgsD,GAAShsD,KAAKowD,EAAK,cAAe,OAAQ,KAAM,GACvH,CACJ,CACD,OAAOpE,GAAShsD,KAAK+b,EAAKk0C,EAAU,MACxC,CAEA,IAAII,GAAcve,GACdwe,GAAgBD,GAAYE,OAC5BC,GAAgB3e,GAASye,IAAiBA,GAAgB,KA4L9D,SAASG,GAAWrqD,EAAGsqD,EAAc98B,GACjC,IAAI+8B,EAAkD,YAArC/8B,EAAKg9B,YAAcF,GAA6B,IAAM,IACvE,OAAOC,EAAYvqD,EAAIuqD,CAC3B,CAEA,SAAShE,GAAMvmD,GACX,OAAO4lD,GAAShsD,KAAKkE,OAAOkC,GAAI,KAAM,SAC1C,CAEA,SAAStF,GAAQnC,GAAO,QAAsB,mBAAfwpD,GAAMxpD,IAA+B+wD,IAAgC,iBAAR/wD,GAAoB+wD,MAAe/wD,EAAQ,CAEvI,SAASkyD,GAASlyD,GAAO,QAAsB,oBAAfwpD,GAAMxpD,IAAgC+wD,IAAgC,iBAAR/wD,GAAoB+wD,MAAe/wD,EAAQ,CAOzI,SAASkzC,GAASlzC,GACd,GAAI8wD,GACA,OAAO9wD,GAAsB,iBAARA,GAAoBA,aAAeC,OAE5D,GAAmB,iBAARD,EACP,OAAO,EAEX,IAAKA,GAAsB,iBAARA,IAAqB6wD,GACpC,OAAO,EAEX,IAEI,OADAA,GAAYxvD,KAAKrB,IACV,CACf,CAAM,MAAOsB,GAAK,CACd,OAAO,CACX,CAaA,IAAI2rD,GAASzsD,OAAOJ,UAAUoc,gBAAkB,SAAUnF,GAAO,OAAOA,KAAOyC,MAC/E,SAAS8uC,GAAI5oD,EAAKqX,GACd,OAAO41C,GAAO5rD,KAAKrB,EAAKqX,EAC5B,CAEA,SAASmyC,GAAMxpD,GACX,OAAOiwD,GAAe5uD,KAAKrB,EAC/B,CASA,SAAS+F,GAAQosD,EAAIttD,GACjB,GAAIstD,EAAGpsD,QAAW,OAAOosD,EAAGpsD,QAAQlB,GACpC,IAAK,IAAI5C,EAAI,EAAG6E,EAAIqrD,EAAGrvD,OAAQb,EAAI6E,EAAG7E,IAClC,GAAIkwD,EAAGlwD,KAAO4C,EAAK,OAAO5C,EAE9B,OAAQ,CACZ,CAqFA,SAASmwD,GAAch1C,EAAK6X,GACxB,GAAI7X,EAAIta,OAASmyB,EAAKo9B,gBAAiB,CACnC,IAAIC,EAAYl1C,EAAIta,OAASmyB,EAAKo9B,gBAC9BE,EAAU,OAASD,EAAY,mBAAqBA,EAAY,EAAI,IAAM,IAC9E,OAAOF,GAAchC,GAAO/uD,KAAK+b,EAAK,EAAG6X,EAAKo9B,iBAAkBp9B,GAAQs9B,CAC3E,CAGD,OAAOT,GADCzE,GAAShsD,KAAKgsD,GAAShsD,KAAK+b,EAAK,WAAY,QAAS,eAAgBo1C,IACzD,SAAUv9B,EACnC,CAEA,SAASu9B,GAAQvwC,GACb,IAAIre,EAAIqe,EAAEwwC,WAAW,GACjB5tD,EAAI,CACJ,EAAG,IACH,EAAG,IACH,GAAI,IACJ,GAAI,IACJ,GAAI,KACNjB,GACF,OAAIiB,EAAY,KAAOA,EAChB,OAASjB,EAAI,GAAO,IAAM,IAAMysD,GAAahvD,KAAKuC,EAAEC,SAAS,IACxE,CAEA,SAAS6uD,GAAUt1C,GACf,MAAO,UAAYA,EAAM,GAC7B,CAEA,SAASu1C,GAAiB/4C,GACtB,OAAOA,EAAO,QAClB,CAEA,SAASg5C,GAAah5C,EAAMqoC,EAAM99C,EAAS0uD,GAEvC,OAAOj5C,EAAO,KAAOqoC,EAAO,OADR4Q,EAASC,GAAa3uD,EAAS0uD,GAAUrC,GAAMnvD,KAAK8C,EAAS,OAC7B,GACxD,CA0BA,SAAS2uD,GAAaX,EAAIU,GACtB,GAAkB,IAAdV,EAAGrvD,OAAgB,MAAO,GAC9B,IAAIiwD,EAAa,KAAOF,EAAOG,KAAOH,EAAOz0B,KAC7C,OAAO20B,EAAavC,GAAMnvD,KAAK8wD,EAAI,IAAMY,GAAc,KAAOF,EAAOG,IACzE,CAEA,SAASC,GAAWjzD,EAAKmvD,GACrB,IAAI+D,EAAQ/wD,GAAQnC,GAChBmyD,EAAK,GACT,GAAIe,EAAO,CACPf,EAAGrvD,OAAS9C,EAAI8C,OAChB,IAAK,IAAIb,EAAI,EAAGA,EAAIjC,EAAI8C,OAAQb,IAC5BkwD,EAAGlwD,GAAK2mD,GAAI5oD,EAAKiC,GAAKktD,EAAQnvD,EAAIiC,GAAIjC,GAAO,EAEpD,CACD,IACImzD,EADA5J,EAAuB,mBAATqH,GAAsBA,GAAK5wD,GAAO,GAEpD,GAAI8wD,GAAmB,CACnBqC,EAAS,CAAA,EACT,IAAK,IAAI12C,EAAI,EAAGA,EAAI8sC,EAAKzmD,OAAQ2Z,IAC7B02C,EAAO,IAAM5J,EAAK9sC,IAAM8sC,EAAK9sC,EAEpC,CAED,IAAK,IAAIpF,KAAOrX,EACP4oD,GAAI5oD,EAAKqX,KACV67C,GAAS3tD,OAAOoS,OAAON,MAAUA,GAAOA,EAAMrX,EAAI8C,QAClDguD,IAAqBqC,EAAO,IAAM97C,aAAgBpX,SAG3CswD,GAAMlvD,KAAK,SAAUgW,GAC5B86C,EAAG1wD,KAAK0tD,EAAQ93C,EAAKrX,GAAO,KAAOmvD,EAAQnvD,EAAIqX,GAAMrX,IAErDmyD,EAAG1wD,KAAK4V,EAAM,KAAO83C,EAAQnvD,EAAIqX,GAAMrX,MAG/C,GAAoB,mBAAT4wD,GACP,IAAK,IAAInyC,EAAI,EAAGA,EAAI8qC,EAAKzmD,OAAQ2b,IACzBuyC,GAAa3vD,KAAKrB,EAAKupD,EAAK9qC,KAC5B0zC,EAAG1wD,KAAK,IAAM0tD,EAAQ5F,EAAK9qC,IAAM,MAAQ0wC,EAAQnvD,EAAIupD,EAAK9qC,IAAKze,IAI3E,OAAOmyD,CACX,CCjgBA,IAAI3D,GAAerb,GACfigB,GHKa,SAA4BrvD,EAAM4pD,GAClD,IAAIS,EAAYI,GAAazqD,IAAQ4pD,GACrC,MAAyB,mBAAdS,GAA4Ba,GAASlrD,EAAM,gBAAkB,EAChEirD,GAASZ,GAEVA,CACR,EGVIe,GDmEa,SAASkE,EAASrzD,EAAKoa,EAASk5C,EAAOC,GACpD,IAAIt+B,EAAO7a,GAAW,GAEtB,GAAIwuC,GAAI3zB,EAAM,eAAsC,WAApBA,EAAKg9B,YAA+C,WAApBh9B,EAAKg9B,WACjE,MAAM,IAAI/uD,UAAU,oDAExB,GACI0lD,GAAI3zB,EAAM,qBAAuD,iBAAzBA,EAAKo9B,gBACvCp9B,EAAKo9B,gBAAkB,GAAKp9B,EAAKo9B,kBAAoBhB,IAC5B,OAAzBp8B,EAAKo9B,iBAGX,MAAM,IAAInvD,UAAU,0FAExB,IAAIswD,GAAgB5K,GAAI3zB,EAAM,kBAAmBA,EAAKu+B,cACtD,GAA6B,kBAAlBA,GAAiD,WAAlBA,EACtC,MAAM,IAAItwD,UAAU,iFAGxB,GACI0lD,GAAI3zB,EAAM,WACS,OAAhBA,EAAK49B,QACW,OAAhB59B,EAAK49B,UACHhiC,SAASoE,EAAK49B,OAAQ,MAAQ59B,EAAK49B,QAAU59B,EAAK49B,OAAS,GAEhE,MAAM,IAAI3vD,UAAU,4DAExB,GAAI0lD,GAAI3zB,EAAM,qBAAwD,kBAA1BA,EAAKw+B,iBAC7C,MAAM,IAAIvwD,UAAU,qEAExB,IAAIuwD,EAAmBx+B,EAAKw+B,iBAE5B,QAAmB,IAARzzD,EACP,MAAO,YAEX,GAAY,OAARA,EACA,MAAO,OAEX,GAAmB,kBAARA,EACP,OAAOA,EAAM,OAAS,QAG1B,GAAmB,iBAARA,EACP,OAAOoyD,GAAcpyD,EAAKi1B,GAE9B,GAAmB,iBAARj1B,EAAkB,CACzB,GAAY,IAARA,EACA,OAAOqxD,IAAWrxD,EAAM,EAAI,IAAM,KAEtC,IAAIod,EAAM7X,OAAOvF,GACjB,OAAOyzD,EAAmBtC,GAAoBnxD,EAAKod,GAAOA,CAC7D,CACD,GAAmB,iBAARpd,EAAkB,CACzB,IAAI0zD,EAAYnuD,OAAOvF,GAAO,IAC9B,OAAOyzD,EAAmBtC,GAAoBnxD,EAAK0zD,GAAaA,CACnE,CAED,IAAIC,OAAiC,IAAf1+B,EAAKq+B,MAAwB,EAAIr+B,EAAKq+B,MAE5D,QADqB,IAAVA,IAAyBA,EAAQ,GACxCA,GAASK,GAAYA,EAAW,GAAoB,iBAAR3zD,EAC5C,OAAOmC,GAAQnC,GAAO,UAAY,WAGtC,IAAI6yD,EAkUR,SAAmB59B,EAAMq+B,GACrB,IAAIM,EACJ,GAAoB,OAAhB3+B,EAAK49B,OACLe,EAAa,SACV,MAA2B,iBAAhB3+B,EAAK49B,QAAuB59B,EAAK49B,OAAS,GAGxD,OAAO,KAFPe,EAAapD,GAAMnvD,KAAKa,MAAM+yB,EAAK49B,OAAS,GAAI,IAGnD,CACD,MAAO,CACHz0B,KAAMw1B,EACNZ,KAAMxC,GAAMnvD,KAAKa,MAAMoxD,EAAQ,GAAIM,GAE3C,CA/UiBC,CAAU5+B,EAAMq+B,GAE7B,QAAoB,IAATC,EACPA,EAAO,QACJ,GAAIxtD,GAAQwtD,EAAMvzD,IAAQ,EAC7B,MAAO,aAGX,SAASmvD,EAAQtsD,EAAOW,EAAMswD,GAK1B,GAJItwD,IACA+vD,EAAO9C,GAAUpvD,KAAKkyD,IACjB9xD,KAAK+B,GAEVswD,EAAU,CACV,IAAIC,EAAU,CACVT,MAAOr+B,EAAKq+B,OAKhB,OAHI1K,GAAI3zB,EAAM,gBACV8+B,EAAQ9B,WAAah9B,EAAKg9B,YAEvBoB,EAASxwD,EAAOkxD,EAAST,EAAQ,EAAGC,EAC9C,CACD,OAAOF,EAASxwD,EAAOoyB,EAAMq+B,EAAQ,EAAGC,EAC3C,CAED,GAAmB,mBAARvzD,IAAuBkyD,GAASlyD,GAAM,CAC7C,IAAI+D,EAwJZ,SAAgB2D,GACZ,GAAIA,EAAE3D,KAAQ,OAAO2D,EAAE3D,KACvB,IAAI4b,EAAIwwC,GAAO9uD,KAAK6uD,GAAiB7uD,KAAKqG,GAAI,wBAC9C,GAAIiY,EAAK,OAAOA,EAAE,GAClB,OAAO,IACX,CA7JmBq0C,CAAOh0D,GACdkZ,EAAO+5C,GAAWjzD,EAAKmvD,GAC3B,MAAO,aAAeprD,EAAO,KAAOA,EAAO,gBAAkB,KAAOmV,EAAKpW,OAAS,EAAI,MAAQ0tD,GAAMnvD,KAAK6X,EAAM,MAAQ,KAAO,GACjI,CACD,GAAIg6B,GAASlzC,GAAM,CACf,IAAIi0D,EAAYnD,GAAoBzD,GAAShsD,KAAKkE,OAAOvF,GAAM,yBAA0B,MAAQ6wD,GAAYxvD,KAAKrB,GAClH,MAAsB,iBAARA,GAAqB8wD,GAA2CmD,EAAvBvB,GAAUuB,EACpE,CACD,GA0OJ,SAAmBpvD,GACf,IAAKA,GAAkB,iBAANA,EAAkB,OAAO,EAC1C,GAA2B,oBAAhBqvD,aAA+BrvD,aAAaqvD,YACnD,OAAO,EAEX,MAA6B,iBAAfrvD,EAAE0O,UAAmD,mBAAnB1O,EAAEyF,YACtD,CAhPQq5B,CAAU3jC,GAAM,CAGhB,IAFA,IAAIyH,EAAI,IAAM6oD,GAAajvD,KAAKkE,OAAOvF,EAAIuT,WACvCyrB,EAAQh/B,EAAIgU,YAAc,GACrB/R,EAAI,EAAGA,EAAI+8B,EAAMl8B,OAAQb,IAC9BwF,GAAK,IAAMu3B,EAAM/8B,GAAG8B,KAAO,IAAM+tD,GAAW9D,GAAMhvB,EAAM/8B,GAAGY,OAAQ,SAAUoyB,GAKjF,OAHAxtB,GAAK,IACDzH,EAAIiT,YAAcjT,EAAIiT,WAAWnQ,SAAU2E,GAAK,OACpDA,GAAK,KAAO6oD,GAAajvD,KAAKkE,OAAOvF,EAAIuT,WAAa,GAEzD,CACD,GAAIpR,GAAQnC,GAAM,CACd,GAAmB,IAAfA,EAAI8C,OAAgB,MAAO,KAC/B,IAAIqvD,EAAKc,GAAWjzD,EAAKmvD,GACzB,OAAI0D,IAyQZ,SAA0BV,GACtB,IAAK,IAAIlwD,EAAI,EAAGA,EAAIkwD,EAAGrvD,OAAQb,IAC3B,GAAI8D,GAAQosD,EAAGlwD,GAAI,OAAS,EACxB,OAAO,EAGf,OAAO,CACX,CAhRuBkyD,CAAiBhC,GACrB,IAAMW,GAAaX,EAAIU,GAAU,IAErC,KAAOrC,GAAMnvD,KAAK8wD,EAAI,MAAQ,IACxC,CACD,GAkFJ,SAAiBnyD,GAAO,QAAsB,mBAAfwpD,GAAMxpD,IAA+B+wD,IAAgC,iBAAR/wD,GAAoB+wD,MAAe/wD,EAAQ,CAlF/Ho0D,CAAQp0D,GAAM,CACd,IAAI0iB,EAAQuwC,GAAWjzD,EAAKmvD,GAC5B,MAAM,UAAW/3B,MAAMh3B,aAAc,UAAWJ,IAAQgxD,GAAa3vD,KAAKrB,EAAK,SAG1D,IAAjB0iB,EAAM5f,OAAuB,IAAMyC,OAAOvF,GAAO,IAC9C,MAAQuF,OAAOvF,GAAO,KAAOwwD,GAAMnvD,KAAKqhB,EAAO,MAAQ,KAHnD,MAAQnd,OAAOvF,GAAO,KAAOwwD,GAAMnvD,KAAK8rD,GAAQ9rD,KAAK,YAAc8tD,EAAQnvD,EAAIq0D,OAAQ3xC,GAAQ,MAAQ,IAIrH,CACD,GAAmB,iBAAR1iB,GAAoBwzD,EAAe,CAC1C,GAAI3B,IAA+C,mBAAvB7xD,EAAI6xD,KAAiCH,GAC7D,OAAOA,GAAY1xD,EAAK,CAAEszD,MAAOK,EAAWL,IACzC,GAAsB,WAAlBE,GAAqD,mBAAhBxzD,EAAImvD,QAChD,OAAOnvD,EAAImvD,SAElB,CACD,GA6HJ,SAAetqD,GACX,IAAKyqD,KAAYzqD,GAAkB,iBAANA,EACzB,OAAO,EAEX,IACIyqD,GAAQjuD,KAAKwD,GACb,IACI6qD,GAAQruD,KAAKwD,EAChB,CAAC,MAAO4C,GACL,OAAO,CACV,CACD,OAAO5C,aAAai6C,GAC5B,CAAM,MAAOx9C,GAAK,CACd,OAAO,CACX,CA3IQgzD,CAAMt0D,GAAM,CACZ,IAAIu0D,EAAW,GAMf,OALIhF,IACAA,GAAWluD,KAAKrB,GAAK,SAAU6C,EAAOwU,GAClCk9C,EAAS9yD,KAAK0tD,EAAQ93C,EAAKrX,GAAK,GAAQ,OAASmvD,EAAQtsD,EAAO7C,GAChF,IAEe4yD,GAAa,MAAOtD,GAAQjuD,KAAKrB,GAAMu0D,EAAU1B,EAC3D,CACD,GA+JJ,SAAehuD,GACX,IAAK6qD,KAAY7qD,GAAkB,iBAANA,EACzB,OAAO,EAEX,IACI6qD,GAAQruD,KAAKwD,GACb,IACIyqD,GAAQjuD,KAAKwD,EAChB,CAAC,MAAO8a,GACL,OAAO,CACV,CACD,OAAO9a,aAAas7C,GAC5B,CAAM,MAAO7+C,GAAK,CACd,OAAO,CACX,CA7KQkzD,CAAMx0D,GAAM,CACZ,IAAIy0D,EAAW,GAMf,OALI9E,IACAA,GAAWtuD,KAAKrB,GAAK,SAAU6C,GAC3B4xD,EAAShzD,KAAK0tD,EAAQtsD,EAAO7C,GAC7C,IAEe4yD,GAAa,MAAOlD,GAAQruD,KAAKrB,GAAMy0D,EAAU5B,EAC3D,CACD,GA2HJ,SAAmBhuD,GACf,IAAK+qD,KAAe/qD,GAAkB,iBAANA,EAC5B,OAAO,EAEX,IACI+qD,GAAWvuD,KAAKwD,EAAG+qD,IACnB,IACIC,GAAWxuD,KAAKwD,EAAGgrD,GACtB,CAAC,MAAOpoD,GACL,OAAO,CACV,CACD,OAAO5C,aAAa4nD,OAC5B,CAAM,MAAOnrD,GAAK,CACd,OAAO,CACX,CAzIQozD,CAAU10D,GACV,OAAO2yD,GAAiB,WAE5B,GAmKJ,SAAmB9tD,GACf,IAAKgrD,KAAehrD,GAAkB,iBAANA,EAC5B,OAAO,EAEX,IACIgrD,GAAWxuD,KAAKwD,EAAGgrD,IACnB,IACID,GAAWvuD,KAAKwD,EAAG+qD,GACtB,CAAC,MAAOnoD,GACL,OAAO,CACV,CACD,OAAO5C,aAAa8nD,OAC5B,CAAM,MAAOrrD,GAAK,CACd,OAAO,CACX,CAjLQqzD,CAAU30D,GACV,OAAO2yD,GAAiB,WAE5B,GAqIJ,SAAmB9tD,GACf,IAAKirD,KAAiBjrD,GAAkB,iBAANA,EAC9B,OAAO,EAEX,IAEI,OADAirD,GAAazuD,KAAKwD,IACX,CACf,CAAM,MAAOvD,GAAK,CACd,OAAO,CACX,CA9IQszD,CAAU50D,GACV,OAAO2yD,GAAiB,WAE5B,GA0CJ,SAAkB3yD,GAAO,QAAsB,oBAAfwpD,GAAMxpD,IAAgC+wD,IAAgC,iBAAR/wD,GAAoB+wD,MAAe/wD,EAAQ,CA1CjI60D,CAAS70D,GACT,OAAO0yD,GAAUvD,EAAQx3C,OAAO3X,KAEpC,GA4DJ,SAAkBA,GACd,IAAKA,GAAsB,iBAARA,IAAqB2wD,GACpC,OAAO,EAEX,IAEI,OADAA,GAActvD,KAAKrB,IACZ,CACf,CAAM,MAAOsB,GAAK,CACd,OAAO,CACX,CArEQwzD,CAAS90D,GACT,OAAO0yD,GAAUvD,EAAQwB,GAActvD,KAAKrB,KAEhD,GAqCJ,SAAmBA,GAAO,QAAsB,qBAAfwpD,GAAMxpD,IAAiC+wD,IAAgC,iBAAR/wD,GAAoB+wD,MAAe/wD,EAAQ,CArCnI+0D,CAAU/0D,GACV,OAAO0yD,GAAU1C,GAAe3uD,KAAKrB,IAEzC,GAgCJ,SAAkBA,GAAO,QAAsB,oBAAfwpD,GAAMxpD,IAAgC+wD,IAAgC,iBAAR/wD,GAAoB+wD,MAAe/wD,EAAQ,CAhCjIg1D,CAASh1D,GACT,OAAO0yD,GAAUvD,EAAQ5pD,OAAOvF,KAEpC,IA0BJ,SAAgBA,GAAO,QAAsB,kBAAfwpD,GAAMxpD,IAA8B+wD,IAAgC,iBAAR/wD,GAAoB+wD,MAAe/wD,EAAQ,CA1B5Hi1D,CAAOj1D,KAASkyD,GAASlyD,GAAM,CAChC,IAAIk1D,EAAKjC,GAAWjzD,EAAKmvD,GACrBgG,EAAgBlE,GAAMA,GAAIjxD,KAASQ,OAAOJ,UAAYJ,aAAeQ,QAAUR,EAAIG,cAAgBK,OACnG40D,EAAWp1D,aAAeQ,OAAS,GAAK,iBACxC60D,GAAaF,GAAiBpE,IAAevwD,OAAOR,KAASA,GAAO+wD,MAAe/wD,EAAMowD,GAAO/uD,KAAKmoD,GAAMxpD,GAAM,GAAI,GAAKo1D,EAAW,SAAW,GAEhJz+C,GADiBw+C,GAA4C,mBAApBn1D,EAAIG,YAA6B,GAAKH,EAAIG,YAAY4D,KAAO/D,EAAIG,YAAY4D,KAAO,IAAM,KAC3GsxD,GAAaD,EAAW,IAAM5E,GAAMnvD,KAAK8rD,GAAQ9rD,KAAK,GAAIg0D,GAAa,GAAID,GAAY,IAAK,MAAQ,KAAO,IACvI,OAAkB,IAAdF,EAAGpyD,OAAuB6T,EAAM,KAChCk8C,EACOl8C,EAAM,IAAMm8C,GAAaoC,EAAIrC,GAAU,IAE3Cl8C,EAAM,KAAO65C,GAAMnvD,KAAK6zD,EAAI,MAAQ,IAC9C,CACD,OAAO3vD,OAAOvF,EAClB,ECzPIkqD,GAAasE,GAAa,eAC1B8G,GAAW9G,GAAa,aAAa,GACrC+G,GAAO/G,GAAa,SAAS,GAE7BgH,GAAcpC,GAAU,yBAAyB,GACjDqC,GAAcrC,GAAU,yBAAyB,GACjDsC,GAActC,GAAU,yBAAyB,GACjDuC,GAAUvC,GAAU,qBAAqB,GACzCwC,GAAUxC,GAAU,qBAAqB,GACzCyC,GAAUzC,GAAU,qBAAqB,GAUzC0C,GAAc,SAAUnkC,EAAMta,GACjC,IAAK,IAAiB0+C,EAAb/C,EAAOrhC,EAAmC,QAAtBokC,EAAO/C,EAAKrwD,MAAgBqwD,EAAO+C,EAC/D,GAAIA,EAAK1+C,MAAQA,EAIhB,OAHA27C,EAAKrwD,KAAOozD,EAAKpzD,KACjBozD,EAAKpzD,KAAOgvB,EAAKhvB,KACjBgvB,EAAKhvB,KAAOozD,EACLA,CAGV,EChCIlwD,GAAUN,OAAOnF,UAAUyF,QAC3BmwD,GAAkB,OAElBC,GAES,UAGb7kC,GAAiB,CACbib,QAAW4pB,GACXzmC,WAAY,CACR0mC,QAAS,SAAUrzD,GACf,OAAOgD,GAAQxE,KAAKwB,EAAOmzD,GAAiB,IAC/C,EACDG,QAAS,SAAUtzD,GACf,OAAO0C,OAAO1C,EACjB,GAELqzD,QAdS,UAeTC,QAASF,ICnBT7kC,GAAU+hB,GAEVyV,GAAMpoD,OAAOJ,UAAUoc,eACvBra,GAAUD,MAAMC,QAEhBi0D,GAAY,WAEZ,IADA,IAAIxvD,EAAQ,GACH3E,EAAI,EAAGA,EAAI,MAAOA,EACvB2E,EAAMnF,KAAK,MAAQQ,EAAI,GAAK,IAAM,IAAMA,EAAE4B,SAAS,KAAKklB,eAG5D,OAAOniB,CACX,IAqBIyvD,GAAgB,SAAuB78C,EAAQY,GAE/C,IADA,IAAIpa,EAAMoa,GAAWA,EAAQk8C,aAAe91D,OAAOiE,OAAO,MAAQ,GACzDxC,EAAI,EAAGA,EAAIuX,EAAO1W,SAAUb,OACR,IAAduX,EAAOvX,KACdjC,EAAIiC,GAAKuX,EAAOvX,IAIxB,OAAOjC,CACX,EAoMA6nB,GAAiB,CACbwuC,cAAeA,GACf9zB,OA3IS,SAA4B1qB,EAAQ2B,GAC7C,OAAOhZ,OAAO0Y,KAAKM,GAAQmW,QAAO,SAAU4mC,EAAKl/C,GAE7C,OADAk/C,EAAIl/C,GAAOmC,EAAOnC,GACXk/C,CACV,GAAE1+C,EACP,EAuII2+C,QAlBU,SAAiBh1D,EAAGgnC,GAC9B,MAAO,GAAG16B,OAAOtM,EAAGgnC,EACxB,EAiBIiuB,QAvDU,SAAiB5zD,GAI3B,IAHA,IAAIowB,EAAQ,CAAC,CAAEjzB,IAAK,CAAEM,EAAGuC,GAASsF,KAAM,MACpCuuD,EAAO,GAEFz0D,EAAI,EAAGA,EAAIgxB,EAAMnwB,SAAUb,EAKhC,IAJA,IAAI00D,EAAO1jC,EAAMhxB,GACbjC,EAAM22D,EAAK32D,IAAI22D,EAAKxuD,MAEpB+Q,EAAO1Y,OAAO0Y,KAAKlZ,GACdye,EAAI,EAAGA,EAAIvF,EAAKpW,SAAU2b,EAAG,CAClC,IAAIpH,EAAM6B,EAAKuF,GACX4P,EAAMruB,EAAIqX,GACK,iBAARgX,GAA4B,OAARA,IAAuC,IAAvBqoC,EAAK3wD,QAAQsoB,KACxD4E,EAAMxxB,KAAK,CAAEzB,IAAKA,EAAKmI,KAAMkP,IAC7Bq/C,EAAKj1D,KAAK4sB,GAEjB,CAKL,OAlMe,SAAsB4E,GACrC,KAAOA,EAAMnwB,OAAS,GAAG,CACrB,IAAI6zD,EAAO1jC,EAAM7tB,MACbpF,EAAM22D,EAAK32D,IAAI22D,EAAKxuD,MAExB,GAAIhG,GAAQnC,GAAM,CAGd,IAFA,IAAI42D,EAAY,GAEPn4C,EAAI,EAAGA,EAAIze,EAAI8C,SAAU2b,OACR,IAAXze,EAAIye,IACXm4C,EAAUn1D,KAAKzB,EAAIye,IAI3Bk4C,EAAK32D,IAAI22D,EAAKxuD,MAAQyuD,CACzB,CACJ,CACL,CA+KIC,CAAa5jC,GAENpwB,CACX,EAkCIi0D,OAvIS,SAAU15C,EAAK25C,EAASC,GACjC,IAAIC,EAAiB75C,EAAIvX,QAAQ,MAAO,KACxC,GAAgB,eAAZmxD,EAEA,OAAOC,EAAepxD,QAAQ,iBAAkB+6B,UAGpD,IACI,OAAO4qB,mBAAmByL,EAC7B,CAAC,MAAO31D,GACL,OAAO21D,CACV,CACL,EA4HIC,OA1HS,SAAgB95C,EAAK+5C,EAAgBH,EAASpV,EAAM/0B,GAG7D,GAAmB,IAAfzP,EAAIta,OACJ,OAAOsa,EAGX,IAAIyL,EAASzL,EAOb,GANmB,iBAARA,EACPyL,EAAS5oB,OAAOG,UAAUyD,SAASxC,KAAK+b,GAClB,iBAARA,IACdyL,EAAStjB,OAAO6X,IAGJ,eAAZ45C,EACA,OAAO15C,OAAOuL,GAAQhjB,QAAQ,mBAAmB,SAAUuxD,GACvD,MAAO,SAAWvmC,SAASumC,EAAGtzD,MAAM,GAAI,IAAM,KAC1D,IAII,IADA,IAAIuzD,EAAM,GACDp1D,EAAI,EAAGA,EAAI4mB,EAAO/lB,SAAUb,EAAG,CACpC,IAAIggB,EAAI4G,EAAO4pC,WAAWxwD,GAGhB,KAANggB,GACS,KAANA,GACM,KAANA,GACM,MAANA,GACCA,GAAK,IAAQA,GAAK,IAClBA,GAAK,IAAQA,GAAK,IAClBA,GAAK,IAAQA,GAAK,KAClB4K,IAAWuE,GAAQ8kC,UAAkB,KAANj0C,GAAoB,KAANA,GAEjDo1C,GAAOxuC,EAAOC,OAAO7mB,GAIrBggB,EAAI,IACJo1C,GAAYjB,GAASn0C,GAIrBA,EAAI,KACJo1C,GAAajB,GAAS,IAAQn0C,GAAK,GAAMm0C,GAAS,IAAY,GAAJn0C,GAI1DA,EAAI,OAAUA,GAAK,MACnBo1C,GAAajB,GAAS,IAAQn0C,GAAK,IAAOm0C,GAAS,IAASn0C,GAAK,EAAK,IAASm0C,GAAS,IAAY,GAAJn0C,IAIpGhgB,GAAK,EACLggB,EAAI,QAAiB,KAAJA,IAAc,GAA8B,KAAvB4G,EAAO4pC,WAAWxwD,IAExDo1D,GAAOjB,GAAS,IAAQn0C,GAAK,IACvBm0C,GAAS,IAASn0C,GAAK,GAAM,IAC7Bm0C,GAAS,IAASn0C,GAAK,EAAK,IAC5Bm0C,GAAS,IAAY,GAAJn0C,GAC1B,CAED,OAAOo1C,CACX,EA4DIC,SA9BW,SAAkBt3D,GAC7B,SAAKA,GAAsB,iBAARA,OAITA,EAAIG,aAAeH,EAAIG,YAAYm3D,UAAYt3D,EAAIG,YAAYm3D,SAASt3D,GACtF,EAyBIkyD,SAnCW,SAAkBlyD,GAC7B,MAA+C,oBAAxCQ,OAAOJ,UAAUyD,SAASxC,KAAKrB,EAC1C,EAkCIu3D,SApBW,SAAkBlpC,EAAK0C,GAClC,GAAI5uB,GAAQksB,GAAM,CAEd,IADA,IAAImpC,EAAS,GACJv1D,EAAI,EAAGA,EAAIosB,EAAIvrB,OAAQb,GAAK,EACjCu1D,EAAO/1D,KAAKsvB,EAAG1C,EAAIpsB,KAEvB,OAAOu1D,CACV,CACD,OAAOzmC,EAAG1C,EACd,EAYIopC,MA5MQ,SAASA,EAAM5/C,EAAQ2B,EAAQY,GAEvC,IAAKZ,EACD,OAAO3B,EAGX,GAAsB,iBAAX2B,EAAqB,CAC5B,GAAIrX,GAAQ0V,GACRA,EAAOpW,KAAK+X,OACT,KAAI3B,GAA4B,iBAAXA,EAKxB,MAAO,CAACA,EAAQ2B,IAJXY,IAAYA,EAAQk8C,cAAgBl8C,EAAQs9C,mBAAsB9O,GAAIvnD,KAAKb,OAAOJ,UAAWoZ,MAC9F3B,EAAO2B,IAAU,EAIxB,CAED,OAAO3B,CACV,CAED,IAAKA,GAA4B,iBAAXA,EAClB,MAAO,CAACA,GAAQ/J,OAAO0L,GAG3B,IAAIm+C,EAAc9/C,EAKlB,OAJI1V,GAAQ0V,KAAY1V,GAAQqX,KAC5Bm+C,EAActB,GAAcx+C,EAAQuC,IAGpCjY,GAAQ0V,IAAW1V,GAAQqX,IAC3BA,EAAOtU,SAAQ,SAAUyxD,EAAM10D,GAC3B,GAAI2mD,GAAIvnD,KAAKwW,EAAQ5V,GAAI,CACrB,IAAI21D,EAAa//C,EAAO5V,GACpB21D,GAAoC,iBAAfA,GAA2BjB,GAAwB,iBAATA,EAC/D9+C,EAAO5V,GAAKw1D,EAAMG,EAAYjB,EAAMv8C,GAEpCvC,EAAOpW,KAAKk1D,EAEhC,MACgB9+C,EAAO5V,GAAK00D,CAE5B,IACe9+C,GAGJrX,OAAO0Y,KAAKM,GAAQmW,QAAO,SAAU4mC,EAAKl/C,GAC7C,IAAIxU,EAAQ2W,EAAOnC,GAOnB,OALIuxC,GAAIvnD,KAAKk1D,EAAKl/C,GACdk/C,EAAIl/C,GAAOogD,EAAMlB,EAAIl/C,GAAMxU,EAAOuX,GAElCm8C,EAAIl/C,GAAOxU,EAER0zD,CACV,GAAEoB,EACP,GCnGIE,GHuDa,WAChB,IAAIC,EACAC,EACAC,EACAC,EAAU,CACbC,OAAQ,SAAU7gD,GACjB,IAAK4gD,EAAQrP,IAAIvxC,GAChB,MAAM,IAAI6yC,GAAW,iCAAmCiF,GAAQ93C,GAEjE,EACDhP,IAAK,SAAUgP,GACd,GAAIi+C,IAAYj+C,IAAuB,iBAARA,GAAmC,mBAARA,IACzD,GAAIygD,EACH,OAAOtC,GAAYsC,EAAKzgD,QAEnB,GAAIk+C,IACV,GAAIwC,EACH,OAAOpC,GAAQoC,EAAI1gD,QAGpB,GAAI2gD,EACH,OA1CS,SAAUG,EAAS9gD,GAChC,IAAI1F,EAAOmkD,GAAYqC,EAAS9gD,GAChC,OAAO1F,GAAQA,EAAK9O,KACrB,CAuCYu1D,CAAQJ,EAAI3gD,EAGrB,EACDuxC,IAAK,SAAUvxC,GACd,GAAIi+C,IAAYj+C,IAAuB,iBAARA,GAAmC,mBAARA,IACzD,GAAIygD,EACH,OAAOpC,GAAYoC,EAAKzgD,QAEnB,GAAIk+C,IACV,GAAIwC,EACH,OAAOlC,GAAQkC,EAAI1gD,QAGpB,GAAI2gD,EACH,OAxCS,SAAUG,EAAS9gD,GAChC,QAASy+C,GAAYqC,EAAS9gD,EAC/B,CAsCYghD,CAAQL,EAAI3gD,GAGrB,OAAO,CACP,EACD1Q,IAAK,SAAU0Q,EAAKxU,GACfyyD,IAAYj+C,IAAuB,iBAARA,GAAmC,mBAARA,IACpDygD,IACJA,EAAM,IAAIxC,IAEXG,GAAYqC,EAAKzgD,EAAKxU,IACZ0yD,IACLwC,IACJA,EAAK,IAAIxC,IAEVK,GAAQmC,EAAI1gD,EAAKxU,KAEZm1D,IAMJA,EAAK,CAAE3gD,IAAK,CAAE,EAAE1U,KAAM,OA5Eb,SAAUw1D,EAAS9gD,EAAKxU,GACrC,IAAI8O,EAAOmkD,GAAYqC,EAAS9gD,GAC5B1F,EACHA,EAAK9O,MAAQA,EAGbs1D,EAAQx1D,KAAO,CACd0U,IAAKA,EACL1U,KAAMw1D,EAAQx1D,KACdE,MAAOA,EAGV,CAkEIy1D,CAAQN,EAAI3gD,EAAKxU,GAElB,GAEF,OAAOo1D,CACR,EGxHIpwC,GAAQmlC,GACR57B,GAAU87B,GACVtE,GAAMpoD,OAAOJ,UAAUoc,eAEvB+7C,GAAwB,CACxBC,SAAU,SAAkBl+C,GACxB,OAAOA,EAAS,IACnB,EACDm+C,MAAO,QACPC,QAAS,SAAiBp+C,EAAQjD,GAC9B,OAAOiD,EAAS,IAAMjD,EAAM,GAC/B,EACDshD,OAAQ,SAAgBr+C,GACpB,OAAOA,CACV,GAGDnY,GAAUD,MAAMC,QAChBV,GAAOS,MAAM9B,UAAUqB,KACvBm3D,GAAc,SAAU52D,EAAK62D,GAC7Bp3D,GAAKC,MAAMM,EAAKG,GAAQ02D,GAAgBA,EAAe,CAACA,GAC5D,EAEIC,GAAQ5+B,KAAK95B,UAAU24D,YAEvBC,GAAgB5nC,GAAiB,QACjC6L,GAAW,CACXg8B,gBAAgB,EAChBC,WAAW,EACXlC,QAAS,QACTmC,iBAAiB,EACjBC,UAAW,IACXlC,QAAQ,EACRmC,QAASxxC,GAAMqvC,OACfoC,kBAAkB,EAClBzsC,OAAQmsC,GACR9nC,UAAWE,GAAQ5B,WAAWwpC,IAE9BN,SAAS,EACTa,cAAe,SAAuBC,GAClC,OAAOV,GAAMz3D,KAAKm4D,EACrB,EACDC,WAAW,EACXC,oBAAoB,GAWpBC,GAAW,CAAA,EAEX1oC,GAAY,SAASA,EACrB/pB,EACAoT,EACAs/C,EACAC,EACAH,EACAD,EACAJ,EACAhgD,EACAsS,EACAutC,EACAK,EACA1sC,EACAqE,EACAooC,EACAtC,EACA8C,GAOA,IALA,IA5BuDz5C,EA4BnDrgB,EAAMkH,EAEN6yD,EAAQD,EACRjyD,EAAO,EACPmyD,GAAW,OAC0B,KAAjCD,EAAQA,EAAM1xD,IAAIsxD,OAAkCK,GAAU,CAElE,IAAIx+B,EAAMu+B,EAAM1xD,IAAInB,GAEpB,GADAW,GAAQ,OACW,IAAR2zB,EAAqB,CAC5B,GAAIA,IAAQ3zB,EACR,MAAM,IAAIskD,WAAW,uBAErB6N,GAAW,CAElB,MACkC,IAAxBD,EAAM1xD,IAAIsxD,MACjB9xD,EAAO,EAEd,CAeD,GAbsB,mBAAXwR,EACPrZ,EAAMqZ,EAAOiB,EAAQta,GACdA,aAAek6B,KACtBl6B,EAAMu5D,EAAcv5D,GACW,UAAxB45D,GAAmCz3D,GAAQnC,KAClDA,EAAM6nB,GAAM0vC,SAASv3D,GAAK,SAAU6C,GAChC,OAAIA,aAAiBq3B,KACVq/B,EAAc12D,GAElBA,CACnB,KAGgB,OAAR7C,EAAc,CACd,GAAI05D,EACA,OAAOL,IAAYC,EAAmBD,EAAQ/+C,EAAQ2iB,GAASo8B,QAASrC,EAAS,MAAOnqC,GAAUvS,EAGtGta,EAAM,EACT,CAED,GArEoB,iBADmCqgB,EAsE7BrgB,IApEN,iBAANqgB,GACM,kBAANA,GACM,iBAANA,GACM,iBAANA,GAiEoBwH,GAAMyvC,SAASt3D,GAC7C,OAAIq5D,EAEO,CAACnoC,EADOooC,EAAmBh/C,EAAS++C,EAAQ/+C,EAAQ2iB,GAASo8B,QAASrC,EAAS,MAAOnqC,IAC/D,IAAMqE,EAAUmoC,EAAQr5D,EAAKi9B,GAASo8B,QAASrC,EAAS,QAASnqC,KAE5F,CAACqE,EAAU5W,GAAU,IAAM4W,EAAU3rB,OAAOvF,KAGvD,IAMIi6D,EANAx1B,EAAS,GAEb,QAAmB,IAARzkC,EACP,OAAOykC,EAIX,GAA4B,UAAxBm1B,GAAmCz3D,GAAQnC,GAEvCs5D,GAAoBD,IACpBr5D,EAAM6nB,GAAM0vC,SAASv3D,EAAKq5D,IAE9BY,EAAU,CAAC,CAAEp3D,MAAO7C,EAAI8C,OAAS,EAAI9C,EAAI0e,KAAK,MAAQ,UAAO,SAC1D,GAAIvc,GAAQkX,GACf4gD,EAAU5gD,MACP,CACH,IAAIH,EAAO1Y,OAAO0Y,KAAKlZ,GACvBi6D,EAAUtuC,EAAOzS,EAAKyS,KAAKA,GAAQzS,CACtC,CAID,IAFA,IAAIghD,EAAiBL,GAAkB13D,GAAQnC,IAAuB,IAAfA,EAAI8C,OAAewX,EAAS,KAAOA,EAEjFmE,EAAI,EAAGA,EAAIw7C,EAAQn3D,SAAU2b,EAAG,CACrC,IAAIpH,EAAM4iD,EAAQx7C,GACd5b,EAAuB,iBAARwU,QAAyC,IAAdA,EAAIxU,MAAwBwU,EAAIxU,MAAQ7C,EAAIqX,GAE1F,IAAIoiD,GAAuB,OAAV52D,EAAjB,CAIA,IAAIm1B,EAAY71B,GAAQnC,GACa,mBAAxB45D,EAAqCA,EAAoBM,EAAgB7iD,GAAO6iD,EACvFA,GAAkBhB,EAAY,IAAM7hD,EAAM,IAAMA,EAAM,KAE5DyiD,EAAYnzD,IAAIO,EAAQW,GACxB,IAAIsyD,EAAmBtC,KACvBsC,EAAiBxzD,IAAIgzD,GAAUG,GAC/BlB,GAAYn0B,EAAQxT,EAChBpuB,EACAm1B,EACA4hC,EACAC,EACAH,EACAD,EACwB,UAAxBG,GAAmCN,GAAoBn3D,GAAQnC,GAAO,KAAOq5D,EAC7EhgD,EACAsS,EACAutC,EACAK,EACA1sC,EACAqE,EACAooC,EACAtC,EACAmD,GAzBH,CA2BJ,CAED,OAAO11B,CACX,ECvLI5c,GAAQsrB,GAERyV,GAAMpoD,OAAOJ,UAAUoc,eACvBra,GAAUD,MAAMC,QAEhB86B,GAAW,CACXi8B,WAAW,EACXxB,iBAAiB,EACjB0C,aAAa,EACbC,WAAY,GACZrD,QAAS,QACTmC,iBAAiB,EACjBV,OAAO,EACP1B,QAASlvC,GAAMivC,OACfsC,UAAW,IACX9F,MAAO,EACPgH,mBAAmB,EACnBC,0BAA0B,EAC1BC,eAAgB,IAChBC,aAAa,EACbnE,cAAc,EACdoD,oBAAoB,GAGpBa,GAA2B,SAAUn9C,GACrC,OAAOA,EAAIvX,QAAQ,aAAa,SAAUuxD,EAAIsD,GAC1C,OAAOn1D,OAAOo1D,aAAa9pC,SAAS6pC,EAAW,IACvD,GACA,EAEIE,GAAkB,SAAUvsC,EAAKjU,GACjC,OAAIiU,GAAsB,iBAARA,GAAoBjU,EAAQq+C,OAASpqC,EAAItoB,QAAQ,MAAQ,EAChEsoB,EAAI9S,MAAM,KAGd8S,CACX,EA+GIwsC,GAAY,SAA8BC,EAAUzsC,EAAKjU,EAAS2gD,GAClE,GAAKD,EAAL,CAKA,IAAIzjD,EAAM+C,EAAQ8+C,UAAY4B,EAASj1D,QAAQ,cAAe,QAAUi1D,EAKpEr5B,EAAQ,gBAIRu5B,EAAU5gD,EAAQk5C,MAAQ,GALf,eAK6B1kC,KAAKvX,GAC7C9C,EAASymD,EAAU3jD,EAAIvT,MAAM,EAAGk3D,EAAQ57C,OAAS/H,EAIjD6B,EAAO,GACX,GAAI3E,EAAQ,CAER,IAAK6F,EAAQk8C,cAAgB1N,GAAIvnD,KAAKb,OAAOJ,UAAWmU,KAC/C6F,EAAQs9C,gBACT,OAIRx+C,EAAKzX,KAAK8S,EACb,CAKD,IADA,IAAItS,EAAI,EACDmY,EAAQk5C,MAAQ,GAAqC,QAA/B0H,EAAUv5B,EAAM7S,KAAKvX,KAAkBpV,EAAImY,EAAQk5C,OAAO,CAEnF,GADArxD,GAAK,GACAmY,EAAQk8C,cAAgB1N,GAAIvnD,KAAKb,OAAOJ,UAAW46D,EAAQ,GAAGl3D,MAAM,GAAI,MACpEsW,EAAQs9C,gBACT,OAGRx+C,EAAKzX,KAAKu5D,EAAQ,GACrB,CAQD,OAJIA,GACA9hD,EAAKzX,KAAK,IAAM4V,EAAIvT,MAAMk3D,EAAQ57C,OAAS,KAnFjC,SAAU67C,EAAO5sC,EAAKjU,EAAS2gD,GAG7C,IAFA,IAAIG,EAAOH,EAAe1sC,EAAMusC,GAAgBvsC,EAAKjU,GAE5CnY,EAAIg5D,EAAMn4D,OAAS,EAAGb,GAAK,IAAKA,EAAG,CACxC,IAAIjC,EACAgL,EAAOiwD,EAAMh5D,GAEjB,GAAa,OAAT+I,GAAiBoP,EAAQqgD,YACzBz6D,EAAM,GAAG8N,OAAOotD,OACb,CACHl7D,EAAMoa,EAAQk8C,aAAe91D,OAAOiE,OAAO,MAAQ,GACnD,IAAI02D,EAA+B,MAAnBnwD,EAAK8d,OAAO,IAA+C,MAAjC9d,EAAK8d,OAAO9d,EAAKlI,OAAS,GAAakI,EAAKlH,MAAM,GAAI,GAAKkH,EACjGoU,EAAQyR,SAASsqC,EAAW,IAC3B/gD,EAAQqgD,aAA6B,KAAdU,GAGvBvqC,MAAMxR,IACJpU,IAASmwD,GACT51D,OAAO6Z,KAAW+7C,GAClB/7C,GAAS,GACRhF,EAAQqgD,aAAer7C,GAAShF,EAAQigD,YAE5Cr6D,EAAM,IACFof,GAAS87C,EACQ,cAAdC,IACPn7D,EAAIm7D,GAAaD,GAXjBl7D,EAAM,CAAE,EAAGk7D,EAalB,CAEDA,EAAOl7D,CACV,CAED,OAAOk7D,CACX,CAqDWE,CAAYliD,EAAMmV,EAAKjU,EAAS2gD,EAhDtC,CAiDL,ECvMI9pC,GFwOa,SAAU/pB,EAAQ+tB,GAC/B,IAGIglC,EAHAj6D,EAAMkH,EACNkT,EAjDwB,SAAmC6a,GAC/D,IAAKA,EACD,OAAOgI,GAGX,GAAqB,OAAjBhI,EAAKokC,cAA4C,IAAjBpkC,EAAKokC,SAAmD,mBAAjBpkC,EAAKokC,QAC5E,MAAM,IAAIn2D,UAAU,iCAGxB,IAAI8zD,EAAU/hC,EAAK+hC,SAAW/5B,GAAS+5B,QACvC,QAA4B,IAAjB/hC,EAAK+hC,SAA4C,UAAjB/hC,EAAK+hC,SAAwC,eAAjB/hC,EAAK+hC,QACxE,MAAM,IAAI9zD,UAAU,qEAGxB,IAAI2pB,EAASuE,GAAiB,QAC9B,QAA2B,IAAhB6D,EAAKpI,OAAwB,CACpC,IAAK+7B,GAAIvnD,KAAK+vB,GAAQ5B,WAAYyF,EAAKpI,QACnC,MAAM,IAAI3pB,UAAU,mCAExB2pB,EAASoI,EAAKpI,MACjB,CACD,IAAIqE,EAAYE,GAAQ5B,WAAW3C,GAE/BxT,EAAS4jB,GAAS5jB,OAKtB,OAJ2B,mBAAhB4b,EAAK5b,QAAyBlX,GAAQ8yB,EAAK5b,WAClDA,EAAS4b,EAAK5b,QAGX,CACH4/C,eAA+C,kBAAxBhkC,EAAKgkC,eAA+BhkC,EAAKgkC,eAAiBh8B,GAASg8B,eAC1FC,eAAqC,IAAnBjkC,EAAKikC,UAA4Bj8B,GAASi8B,YAAcjkC,EAAKikC,UAC/ElC,QAASA,EACTmC,gBAAiD,kBAAzBlkC,EAAKkkC,gBAAgClkC,EAAKkkC,gBAAkBl8B,GAASk8B,gBAC7FC,eAAqC,IAAnBnkC,EAAKmkC,UAA4Bn8B,GAASm8B,UAAYnkC,EAAKmkC,UAC7ElC,OAA+B,kBAAhBjiC,EAAKiiC,OAAuBjiC,EAAKiiC,OAASj6B,GAASi6B,OAClEmC,QAAiC,mBAAjBpkC,EAAKokC,QAAyBpkC,EAAKokC,QAAUp8B,GAASo8B,QACtEC,iBAAmD,kBAA1BrkC,EAAKqkC,iBAAiCrkC,EAAKqkC,iBAAmBr8B,GAASq8B,iBAChGjgD,OAAQA,EACRwT,OAAQA,EACRqE,UAAWA,EACXqoC,cAA6C,mBAAvBtkC,EAAKskC,cAA+BtkC,EAAKskC,cAAgBt8B,GAASs8B,cACxFE,UAAqC,kBAAnBxkC,EAAKwkC,UAA0BxkC,EAAKwkC,UAAYx8B,GAASw8B,UAC3E9tC,KAA2B,mBAAdsJ,EAAKtJ,KAAsBsJ,EAAKtJ,KAAO,KACpD+tC,mBAAuD,kBAA5BzkC,EAAKykC,mBAAmCzkC,EAAKykC,mBAAqBz8B,GAASy8B,mBAE9G,CAIkB2B,CAA0BpmC,GAKV,mBAAnB7a,EAAQf,OAEfrZ,GADAqZ,EAASe,EAAQf,QACJ,GAAIrZ,GACVmC,GAAQiY,EAAQf,UAEvB4gD,EADS7/C,EAAQf,QAIrB,IAMIiiD,EANApiD,EAAO,GAEX,GAAmB,iBAARlZ,GAA4B,OAARA,EAC3B,MAAO,GAKPs7D,EADArmC,GAAQA,EAAKqmC,eAAe/C,GACdtjC,EAAKqmC,YACZrmC,GAAQ,YAAaA,EACdA,EAAKyjC,QAAU,UAAY,SAE3B,UAGlB,IAAIkB,EAAsBrB,GAAsB+C,GAChD,GAAIrmC,GAAQ,mBAAoBA,GAAuC,kBAAxBA,EAAK4kC,eAChD,MAAM,IAAI32D,UAAU,iDAExB,IAAI22D,EAAyC,UAAxBD,GAAmC3kC,GAAQA,EAAK4kC,eAEhEI,IACDA,EAAUz5D,OAAO0Y,KAAKlZ,IAGtBoa,EAAQuR,MACRsuC,EAAQtuC,KAAKvR,EAAQuR,MAIzB,IADA,IAAImuC,EAAcjC,KACT51D,EAAI,EAAGA,EAAIg4D,EAAQn3D,SAAUb,EAAG,CACrC,IAAIoV,EAAM4iD,EAAQh4D,GAEdmY,EAAQq/C,WAA0B,OAAbz5D,EAAIqX,IAG7BuhD,GAAY1/C,EAAM+X,GACdjxB,EAAIqX,GACJA,EACAuiD,EACAC,EACAz/C,EAAQs/C,mBACRt/C,EAAQq/C,UACRr/C,EAAQ88C,OAAS98C,EAAQi/C,QAAU,KACnCj/C,EAAQf,OACRe,EAAQuR,KACRvR,EAAQ8+C,UACR9+C,EAAQm/C,cACRn/C,EAAQyS,OACRzS,EAAQ8W,UACR9W,EAAQk/C,iBACRl/C,EAAQ48C,QACR8C,GAEP,CAED,IAAIyB,EAASriD,EAAKwF,KAAKtE,EAAQg/C,WAC3B9+C,GAAoC,IAA3BF,EAAQ6+C,eAA0B,IAAM,GAYrD,OAVI7+C,EAAQ++C,kBACgB,eAApB/+C,EAAQ48C,QAER18C,GAAU,uBAGVA,GAAU,mBAIXihD,EAAOz4D,OAAS,EAAIwX,EAASihD,EAAS,EACjD,EE5TIn1C,GD2Oa,SAAUhJ,EAAK6X,GAC5B,IAAI7a,EApCoB,SAA+B6a,GACvD,IAAKA,EACD,OAAOgI,GAGX,GAAqB,OAAjBhI,EAAK8hC,cAAqCjsD,IAAjBmqB,EAAK8hC,SAAiD,mBAAjB9hC,EAAK8hC,QACnE,MAAM,IAAI7zD,UAAU,iCAGxB,QAA4B,IAAjB+xB,EAAK+hC,SAA4C,UAAjB/hC,EAAK+hC,SAAwC,eAAjB/hC,EAAK+hC,QACxE,MAAM,IAAI9zD,UAAU,qEAExB,IAAI8zD,OAAkC,IAAjB/hC,EAAK+hC,QAA0B/5B,GAAS+5B,QAAU/hC,EAAK+hC,QAE5E,MAAO,CACHkC,eAAqC,IAAnBjkC,EAAKikC,UAA4Bj8B,GAASi8B,YAAcjkC,EAAKikC,UAC/ExB,gBAAiD,kBAAzBziC,EAAKyiC,gBAAgCziC,EAAKyiC,gBAAkBz6B,GAASy6B,gBAC7F0C,YAAyC,kBAArBnlC,EAAKmlC,YAA4BnlC,EAAKmlC,YAAcn9B,GAASm9B,YACjFC,WAAuC,iBAApBplC,EAAKolC,WAA0BplC,EAAKolC,WAAap9B,GAASo9B,WAC7ErD,QAASA,EACTmC,gBAAiD,kBAAzBlkC,EAAKkkC,gBAAgClkC,EAAKkkC,gBAAkBl8B,GAASk8B,gBAC7FV,MAA6B,kBAAfxjC,EAAKwjC,MAAsBxjC,EAAKwjC,MAAQx7B,GAASw7B,MAC/D1B,QAAiC,mBAAjB9hC,EAAK8hC,QAAyB9hC,EAAK8hC,QAAU95B,GAAS85B,QACtEqC,UAAqC,iBAAnBnkC,EAAKmkC,WAA0BvxC,GAAMqqC,SAASj9B,EAAKmkC,WAAankC,EAAKmkC,UAAYn8B,GAASm8B,UAE5G9F,MAA8B,iBAAfr+B,EAAKq+B,QAAqC,IAAfr+B,EAAKq+B,OAAoBr+B,EAAKq+B,MAAQr2B,GAASq2B,MACzFgH,mBAA8C,IAA3BrlC,EAAKqlC,kBACxBC,yBAAmE,kBAAlCtlC,EAAKslC,yBAAyCtlC,EAAKslC,yBAA2Bt9B,GAASs9B,yBACxHC,eAA+C,iBAAxBvlC,EAAKulC,eAA8BvlC,EAAKulC,eAAiBv9B,GAASu9B,eACzFC,aAAkC,IAArBxlC,EAAKwlC,YAClBnE,aAA2C,kBAAtBrhC,EAAKqhC,aAA6BrhC,EAAKqhC,aAAer5B,GAASq5B,aACpFoD,mBAAuD,kBAA5BzkC,EAAKykC,mBAAmCzkC,EAAKykC,mBAAqBz8B,GAASy8B,mBAE9G,CAGkB8B,CAAsBvmC,GAEpC,GAAY,KAAR7X,SAAcA,EACd,OAAOhD,EAAQk8C,aAAe91D,OAAOiE,OAAO,MAAQ,GASxD,IANA,IAAIg3D,EAAyB,iBAARr+C,EAnMP,SAAgCA,EAAKhD,GACnD,IAKInY,EALAjC,EAAM,CAAA,EACN07D,EAAWthD,EAAQkgD,kBAAoBl9C,EAAIvX,QAAQ,MAAO,IAAMuX,EAChEq9B,EAAQrgC,EAAQogD,iBAAmBnJ,SAAWvmD,EAAYsP,EAAQogD,eAClE93C,EAAQg5C,EAASngD,MAAMnB,EAAQg/C,UAAW3e,GAC1CkhB,GAAa,EAGb3E,EAAU58C,EAAQ48C,QACtB,GAAI58C,EAAQ++C,gBACR,IAAKl3D,EAAI,EAAGA,EAAIygB,EAAM5f,SAAUb,EACM,IAA9BygB,EAAMzgB,GAAG8D,QAAQ,WAbX,mBAcF2c,EAAMzgB,GACN+0D,EAAU,QAlBZ,wBAmBSt0C,EAAMzgB,KACb+0D,EAAU,cAEd2E,EAAY15D,EACZA,EAAIygB,EAAM5f,QAKtB,IAAKb,EAAI,EAAGA,EAAIygB,EAAM5f,SAAUb,EAC5B,GAAIA,IAAM05D,EAAV,CAGA,IAKItkD,EAAKgX,EALLhF,EAAO3G,EAAMzgB,GAEb25D,EAAmBvyC,EAAKtjB,QAAQ,MAChCy1B,GAA4B,IAAtBogC,EAA0BvyC,EAAKtjB,QAAQ,KAAO61D,EAAmB,GAG9D,IAATpgC,GACAnkB,EAAM+C,EAAQ28C,QAAQ1tC,EAAM4T,GAAS85B,QAASC,EAAS,OACvD3oC,EAAMjU,EAAQs/C,mBAAqB,KAAO,KAE1CriD,EAAM+C,EAAQ28C,QAAQ1tC,EAAKvlB,MAAM,EAAG03B,GAAMyB,GAAS85B,QAASC,EAAS,OACrE3oC,EAAMxG,GAAM0vC,SACRqD,GAAgBvxC,EAAKvlB,MAAM03B,EAAM,GAAIphB,IACrC,SAAUyhD,GACN,OAAOzhD,EAAQ28C,QAAQ8E,EAAY5+B,GAAS85B,QAASC,EAAS,QACjE,KAIL3oC,GAAOjU,EAAQmgD,0BAAwC,eAAZvD,IAC3C3oC,EAAMksC,GAAyBlsC,IAG/BhF,EAAKtjB,QAAQ,QAAU,IACvBsoB,EAAMlsB,GAAQksB,GAAO,CAACA,GAAOA,GAG7Bu6B,GAAIvnD,KAAKrB,EAAKqX,GACdrX,EAAIqX,GAAOwQ,GAAM2uC,QAAQx2D,EAAIqX,GAAMgX,GAEnCruB,EAAIqX,GAAOgX,CA/Bd,CAmCL,OAAOruB,CACX,CAqI4C87D,CAAY1+C,EAAKhD,GAAWgD,EAChEpd,EAAMoa,EAAQk8C,aAAe91D,OAAOiE,OAAO,MAAQ,GAInDyU,EAAO1Y,OAAO0Y,KAAKuiD,GACdx5D,EAAI,EAAGA,EAAIiX,EAAKpW,SAAUb,EAAG,CAClC,IAAIoV,EAAM6B,EAAKjX,GACX85D,EAASlB,GAAUxjD,EAAKokD,EAAQpkD,GAAM+C,EAAwB,iBAARgD,GAC1Dpd,EAAM6nB,GAAM4vC,MAAMz3D,EAAK+7D,EAAQ3hD,EAClC,CAED,OAA4B,IAAxBA,EAAQggD,YACDp6D,EAGJ6nB,GAAM4uC,QAAQz2D,EACzB,EChQAg8D,GAAiB,CACb5qC,QAHU87B,GAIV9mC,MAAOA,GACP6K,UAAWA,i6DCMH,OAAAgrC,cAAA,OAAAv0B,CAAA,EAAAA,CAAA,CAAAu0B,KAZQA,KAAAx0D,EAAA,KASlBw0D,KAAAx0D,EAAA,KAEiEw0D,KAAAx0D,EAAA,KAGTw0D,KAAAx0D,EAAA,KAGFw0D,KAAAx0D,EAAA,KAExD,IAKMy0D,IAAQD,KAAAx0D,EAAG,MAAA,CAAEmuC,WARA,SAAAC,GACjB,OAAAomB,KAAAv0D,EAAA,KAAAu0D,KAAAx0D,EAAA,KAAAitC,EAAK,QAACoB,MAAK,GAAAhoC,OAAIwmC,GAA8BuB,sBAAAA,EAAO,EAOvBpxC,OAbhB,SAAAoxC,GAAW,OAAAomB,KAAAv0D,EAAA,KAAAu0D,KAAAx0D,EAAA,KAAAitC,EAAK,QAACqB,KAAI,GAAAjoC,OAAIwmC,GAAkBuB,UAAAA,EAAO,EAa1BpB,MAtBzB,SAAAlZ,GAAU0gC,KAAAv0D,EAAA,KACtB,IAAMy0D,GAAgBF,KAAAx0D,EAAG20D,KAAAA,GAAGnrC,UAAUorC,kBAAgB9gC,GAAS,CAC7D+/B,YAAa,WACbpE,QAAQ,KAGV,OAFG+E,KAAAx0D,EAAA,KAEIitC,EAAK,QAACrsC,IAAGyF,GAAAA,OAAIwmC,GAAQxmC,WAAAA,OAAUquD,GACxC,EAe8CG,mBALnB,SAAA/gC,GACzB,OAAA0gC,KAAAv0D,EAAA,KAAAu0D,KAAAx0D,EAAA,MAAAitC,EAAAA,QAAMrsC,OAAGyF,OAAIwmC,GAAiC,yBAAA,CAC5C/Y,OAAQ8gC,EAAeA,gBAAC9gC,IACzB,EAE+D2a,OAXnD,SAACD,EAAIJ,GAClB,OAAAomB,KAAAv0D,EAAA,KAAAu0D,KAAAx0D,EAAA,KAAAitC,EAAK,QAAC6nB,IAAGzuD,GAAAA,OAAIwmC,GAAQxmC,WAAAA,OAAUmoC,GAAM,CAAEumB,KAAM3mB,GAAS,i9LCF5C,OAAA4mB,cAAA,OAAA/0B,CAAA,EAAAA,CAAA,CAAA,SAAAlS,GAAAtuB,EAAA+R,GAAA,IAAAC,EAAA1Y,OAAA0Y,KAAAhS,MAAA1G,OAAA2Y,sBAAA,CAAA,IAAAC,EAAA5Y,OAAA2Y,sBAAAjS,GAAA+R,IAAAG,EAAAA,EAAAC,QAAAC,SAAAA,GAAA9Y,OAAAA,OAAA8D,yBAAA4C,EAAAoS,GAAAjL,UAAA,KAAA6K,EAAAzX,KAAAC,MAAAwX,EAAAE,EAAA,CAAA,OAAAF,CAAA,CAAA,SAAAuc,GAAA5d,GAAA,IAAA,IAAA5V,EAAAA,EAAAA,EAAAH,UAAAgB,OAAAb,IAAAuX,CAAAA,IAAAA,QAAA1X,UAAAG,GAAAH,UAAAG,MAAAA,EAAA,EAAAuzB,GAAAh1B,OAAAgZ,IAAA,GAAAtU,SAAAmS,SAAAA,GAAAyB,GAAAjB,EAAAR,EAAAmC,EAAAnC,GAAA,IAAA7W,OAAAiZ,0BAAAjZ,OAAAkZ,iBAAA7B,EAAArX,OAAAiZ,0BAAAD,IAAAgc,GAAAh1B,OAAAgZ,IAAAtU,kBAAAmS,GAAA7W,OAAAwX,eAAAH,EAAAR,EAAA7W,OAAA8D,yBAAAkV,EAAAnC,cAAAQ,CAAA,CAAA4kD,KAV2DA,KAAAh1D,EAAA,KAQlEg1D,KAAAh1D,EAAA,KAWAg1D,KAAAh1D,EAAA,MAEL,IAAMi1D,GAAkB,SAAHh3B,GACnB,IADyB8W,EAAS9W,EAAT8W,UAAcpiC,EAAOwjB,GAAA8H,EAAA1E,IAC9C,OAD8Cy7B,KAAA/0D,EAAA,KAAA+0D,KAAAh1D,EAAA,MAC9Cg1C,EAAAA,aAAY,SAAAvF,GAAqB,IAAlBjB,EAAEiB,EAAFjB,GAAIJ,EAAOqB,EAAPrB,QAAc,OAAP4mB,KAAA/0D,EAAA,KAAA+0D,KAAAh1D,EAAA,MAAOy0D,GAAShmB,OAAOD,EAAIJ,EAAQ,GAAApgB,GAAA,CAC3D+mB,UAAW,SAAAjH,GAAYknB,KAAA/0D,EAAA,KAAA+0D,KAAAh1D,EAAA,MACrBgsC,GAAYiJ,kBAAkB7H,GAAWI,OAAOwnB,KAAAh1D,EAAA,MAChDgsC,GAAYiJ,kBAAkB7H,GAAWK,oBAAoBunB,KAAAh1D,EAAA,MAC7Dg1D,KAAAj0B,EAAA,GAAA,MAAA+M,aAAAA,EAAAA,EAAU0H,aAASwf,KAAAj0B,EAAA,GAAA,KAAIuU,EAAMA,OAACC,QAAQzH,EAAS0H,YAAWwf,KAAAh1D,EAAA,MAC1D+0C,SAAAA,GACF,GACGpiC,GACJ,EAAEqiD,KAAAh1D,EAAA,MAWAg1D,KAAAh1D,EAAA,MAKHg1D,KAAAh1D,EAAA,mzBCpCU,OAAAk1D,cAAA,OAAAj1B,CAAA,EAAAA,CAAA,CAAAi1B,KAZL,IAAMC,IAAaD,KAAAl1D,EAAA,KAAG,CAAC,YAEjBo1D,IAAsBF,KAAAl1D,EAAG,KAAA,CACpC+vC,MAAO5X,GAAKve,EAAE,gBAAiBgyB,MAGpBypB,IAAoBH,KAAAl1D,EAAG,KAAA,CAClCkvC,YAAa/W,GAAKve,EAAE,oBAGT07C,IAAyBJ,KAAAl1D,EAAGm4B,KAAAA,GAAKve,EAAE,iBAAkB,CAChEu1B,KAAMhX,GAAKve,EAAE,cAAegyB,IAAQwD,o1DCC1B,OAAAmmB,cAAA,OAAAt1B,CAAA,EAAAA,CAAA,CAAAs1B,KAN4CA,KAAAv1D,EAAA,KAExD,IAAMiwC,GAAS,SAAHhzC,GAMN,IAAAwyC,EAAAU,EALJC,EAAMnzC,EAANmzC,OACAolB,EAAQv4D,EAARu4D,SAAQC,EAAAx4D,EACR0yC,QAAAA,OAAO4lB,IAAAE,GAAAF,KAAAx0B,EAAA,GAAA,KAAG7S,EAAIA,MAAAunC,EACd30B,EAAW7jC,EAAX6jC,YACA40B,EAAgBz4D,EAAhBy4D,iBAAgBH,KAAAt1D,EAAA,KAEhB,IAAQ2Z,GAAR27C,KAAAv1D,EAAA,KAAc8+B,MAANllB,EAEF+7C,GAAoBJ,KAAAv1D,EAAG,OAAE01D,GACzBE,GAAmBL,KAAAv1D,EAAA,KACJyvC,QADI8lB,KAAAx0B,EAAA,GAAA,KAAA0O,EACvB3O,aAAAA,EAAAA,EAAa9jC,kBAAMyyC,EAAAA,GAAA8lB,KAAAx0B,EAAA,GAAA,KAAIF,GAAcgL,MACjCgqB,GAAyBN,KAAAv1D,EAAG,OAAEowC,iBAAMD,EAANC,EAAQO,cAAM,IAAAR,IAAdA,EAAgB2lB,mBAEpD,OAFqEP,KAAAv1D,EAAA,KAGnEssC,EAAAA,QAAAznC,cAAAynC,EAAAA,QAAAyE,SAAA,MACGwkB,KAAAx0B,EAAA,GAAA,KAAA80B,IAAyBN,KAAAx0B,EAAA,GAAA,KAAIqP,EAAOO,OAAOmlB,qBAC3CH,GAAoBJ,KAAAx0B,UACnBuL,EAAA,QAAAznC,cAACirC,EAAMA,OAAA4R,GAAA,CACL,UAAQ,0BACR3R,MAAOulB,GACPzrC,MAAM,aACF6rC,MACJH,KAAAx0B,EACA,GAAA,KAAA,MACJuL,EAAAA,QAAAznC,cAAC+qC,EAAAA,QAAO,CACN9qC,QAAS8U,EAAE,oCACXi2B,SAAU+lB,EACVjpB,SAAS,UAETL,EAAAA,QAAAznC,cAAA,OAAA,KACEynC,EAAA,QAAAznC,cAACirC,SAAM,CACL,UAAQ,wBACRD,UAAW+lB,EACX7lB,MAAOn2B,EAAE,iBAAkB,CACzBu1B,KAAMqmB,EAAS7pB,IAAUyD,sBAE3BO,QAASA,MAMrB,k1ECvCY,OAAAomB,cAAA,OAAA91B,CAAA,EAAAA,CAAA,CAAA81B,KAf4CA,KAAA/1D,EAAA,KAMpD+1D,KAAA/1D,EAAA,KAI+C+1D,KAAA/1D,EAAA,6yICKvC,OAAAg2D,cAAA,OAAA/1B,CAAA,EAAAA,CAAA,CAAA+1B,KAJZ,IAAA/4D,IAAA+4D,KAAAh2D,OAA2Bs5C,EAAAA,UAAnBC,GAAIt8C,GAAJs8C,KAAMC,GAAQv8C,GAARu8C,SAAsBwc,KAAAh2D,EAAA,KAEpC,OAAMi2D,GAAgB,SAAHh4B,GAMb,IAAAi4B,EAAAj4B,EALJ4R,SAAAA,OAAQmmB,IAAAE,GAAAF,KAAAj1B,EAAA,GAAA,MAAG,GAAKm1B,EAChBC,EAAgBl4B,EAAhBk4B,iBACAC,EAAmBn4B,EAAnBm4B,oBAAmBC,EAAAp4B,EACnBq4B,aAAAA,OAAYN,IAAAK,GAAAL,KAAAj1B,EAAA,GAAA,MAAG,GAAKs1B,EAAAE,EAAAt4B,EACpBia,MAAAA,OAAK8d,IAAAO,GAAAP,KAAAj1B,EAAA,GAAA,KAAG,IAAEw1B,EAAAP,KAAA/1D,EAAA,KAEV,IAA2DyvC,EAAAp1C,IAA3D07D,KAAAh2D,EAA4Cy/B,KAAAA,EAAAA,UAAS,IAAM,GAApD+2B,EAAc9mB,EAAA,GAAE+mB,EAAiB/mB,EAAA,GACQoK,EAAAx/C,IAAhD07D,KAAAh2D,EAAoCy/B,KAAAA,EAAAA,SAAS,KAAG,GAAzC8X,EAAUuC,EAAA,GAAEsE,EAAatE,EAAA,GACxBlgC,GAARo8C,KAAAh2D,EAAA,KAAc8+B,MAANllB,EAEFmiC,GAAaia,KAAAh2D,EAAG02D,KDtBU,SAACnf,EAAYW,GAC7C,OAAA6d,KAAA91D,EAAA,KAAA81D,KAAA/1D,EAAA,KAAA4R,EAAAA,QACE,SAAA3U,GAAc,IAAXX,EAAIW,EAAJX,KAAW,OAAPy5D,KAAA91D,EAAA,KAAA81D,KAAA/1D,EAAA,KAAOglB,EAAQA,SAACxmB,OAAKm4D,EAAAA,QAAQpf,IAAc/4C,EAAAA,KAAKm4D,EAAOA,QAACr6D,IAAO,GACtE47C,EACF,CCkBsBwe,CAAmBnf,EAAYW,IAC/C0e,GAAiBZ,KAAAh2D,EAAA,KAAGg2D,KAAAj1B,EAAA,GAAA,KAAAq1B,IAAmBJ,KAAAj1B,EAAA,GAAA,MAAK8O,IAASmmB,KAAAh2D,EAAA,KAEUg2D,KAAAh2D,EAAA,KAKnEg2D,KAAAh2D,EAAA,MAKAg2D,KAAAh2D,EAAA,MAOF,OAFEg2D,KAAAh2D,EAAA,MAGAssC,EAAA,QAAAznC,cAAC+qC,UAAO,CACN9qC,QAAS8U,EAAE,8BAA+BgyB,IAC1CiE,SAAU+mB,EACVjqB,SAAS,OAETL,EAAAA,QAAAznC,cAAA,OAAA,KACEynC,EAAA,QAAAznC,cAACy0C,WAAQ,CACPe,YAAY,YACZwc,eAAe,EACf,UAAQ,2CACRhnB,UAAW+mB,EACXjiB,QAAQqhB,KAAAj1B,EAAA,GAAA,KAAA61B,IAAiBZ,KAAAj1B,EAAA,GAAA,KAAIy1B,IAC7B7pB,SAAS,WACTmqB,aACExqB,EAAA,QAAAznC,cAAC20C,GAAS1J,OAAM,CACdD,UAAW+mB,EACXn0D,OAAQ6pC,EAAAA,QAAAznC,cAACkyD,QAAK,CAACvc,KAAM,MAEpB5gC,EAAE,uBAGP+1B,QA3BY,SAAA57B,GAASiiD,KAAA/1D,EAAA,KAAA+1D,KAAAh2D,EAAA,MAC3B+T,EAAMijD,kBAAkBhB,KAAAh2D,EAAA,MACxBy2D,GAAmBD,IA0Bb5hB,QAjCc,WAAMohB,KAAA/1D,EAAA,KAAA+1D,KAAAh2D,EAAA,MAC1Bo+C,EAAc,IAAI4X,KAAAh2D,EAAA,MAClBy2D,GAAkB,KAiCZnqB,EAAA,QAAAznC,cAAC00C,GAAI,MACFyc,KAAAj1B,EAAAu1B,GAAAA,KAAAA,IAAYN,KAAAj1B,EACXuL,GAAAA,KAAAA,EAAAA,QAAAznC,cAAA,MAAA,CACE+rC,UAAU,8BACVjB,QAAS,SAAA57B,GAASiiD,KAAA/1D,EAAA,KAAA+1D,KAAAh2D,EAAA,MAChB+T,EAAMijD,iBACR,GAEA1qB,EAAA,QAAAznC,cAACyxC,QAAK,CACJ,UAAQ,iCACRpH,YAAat1B,EAAE,uBACf/G,OAAQy5B,EAAA,QAAAznC,cAAC45C,EAAAA,OAAU,MACnBtsC,KAAK,SACL/W,MAAOm8C,EACPtI,SAxDK,SAAH8P,GAA8B,IAAd3jD,EAAK2jD,EAAf3uC,OAAUhV,MAAc,OAAT46D,KAAA/1D,EAAA,KAAA+1D,KAAAh2D,EAAA,KAASo+C,EAAchjD,SA4DnDk9C,EAAAA,WAAWyD,IAAcia,KAAAj1B,UACxBgb,EAAcrhC,KAAI,SAAAmkC,GAChB,IADmBrQ,EAAEqQ,EAAFrQ,GAAIlyC,EAAIuiD,EAAJviD,KACvB,OAD2B05D,KAAA/1D,EAAA,KAAA+1D,KAAAh2D,EAAA,MAC3BssC,UAAAznC,cAAC20C,GAAS1J,OAAM,CACdlgC,IAAK4+B,EACLmB,QAAS,WAAM,OAAAqmB,KAAA/1D,EAAA,KAAA+1D,KAAAh2D,EAAA,MA9DNq4C,EA8DuB/7C,EA9Df05D,KAAA/1D,EAAA,KAAA+1D,KAAAh2D,EAAA,MAC/Bm2D,EAAiB9d,GAAM2d,KAAAh2D,EAAA,WACvBy2D,GAAkB,GAFK,IAAApe,CA8D2B,GAEnC/7C,QAEH05D,KAAAj1B,EAEFuL,GAAAA,KAAAA,EAAAA,QAAAznC,cAAA,MAAA,CAAK+rC,UAAU,sDACbtE,EAAA,QAAAznC,cAACovC,aAAU,CAACrD,UAAU,yBAAyB/mB,MAAM,SAClDjQ,EAAE,8BASrB,01DC7FY,OAAAq9C,cAAA,OAAAh3B,CAAA,EAAAA,CAAA,CAAAg3B,KAXZ,IAAMC,IAAUD,KAAAj3D,EAAG,KAAA,IAAIm3D,gBAAgB/0D,OAAOwxB,SAASD,SAEjDyjC,IAAiBH,KAAAj3D,OAAG,IAEbq3D,IAAaJ,KAAAj3D,EAAG,KAAA,CAC3Bs3D,OAAQ,CAAEvnB,MAAO5X,GAAKve,EAAE,iBAAkBxe,MAAO,SAAUm8D,aAAc,GACzEC,YAAa,CACXznB,MAAO5X,GAAKve,EAAE,sBACdxe,MAAO,cACPm8D,aAAc,GAEhBE,IAAK,CAAE1nB,MAAO5X,GAAKve,EAAE,cAAexe,MAAO,MAAOm8D,aAAc,KAGrDG,IAAqBT,KAAAj3D,EAAA,KAAGq3D,GAAcC,OAAOl8D,OAE7Cu8D,IAAaV,KAAAj3D,OAAG,IAEhB43D,IAAmBX,KAAAj3D,OAAG,GAEtB63D,IAAqBZ,KAAAj3D,EAAG,KAAA,CACnC,UAAW,wCACXw6C,KAAM,WAGKsd,IAAsBb,KAAAj3D,EAAG,KAAA,CACpC+3D,SAAS,EACTC,cAAc,EACdC,OAAO,IAGIC,IAAyBjB,KAAAj3D,EAAAm4D,KAGtB,QAHsBA,GAAG,IAAIhB,gBAC3C/0D,OAAOwxB,SAASD,QAEf/yB,IAAI,iBAAS,IAAAu3D,QAAA,EAHyBA,GAIrC72C,eAES82C,IAAqBnB,KAAAj3D,EAAG,KAAA,CACnCq4D,MACEpB,KAAAl2B,EAAAu3B,GAAAA,KAAAA,EAAAA,MAAM,EAAG1O,IAAUxgC,SAAS8tC,GAAWt2D,IAAI,YAASq2D,KAAAl2B,EAAA,GAAA,KAAI62B,KAC1DW,SACEtB,KAAAl2B,EAAAu3B,GAAAA,KAAAA,EAAAA,MAAM,GAAI,IAAKlvC,SAAS8tC,GAAWt2D,IAAI,eAAYq2D,KAAAl2B,EAAA,GAAA,KAAIq2B,KACzDhjB,UAAU6iB,KAAAl2B,EAAA,GAAA,KAAAm3B,KAAyBjB,KAAAl2B,EAAA,GAAA,KAAI22B,KACvC/jC,OAAQ,GACR6kC,OAAQ,GACRC,cAAe,GACfC,aAAc,KAGHC,IAAqB1B,KAAAj3D,EAAG,MAAA,CACnC44D,OAAQ,GACRC,OAAQ,GACRpnD,KAAM,KAGKqnD,IAA6B7B,KAAAj3D,QAAG,CAC3C,CACE4P,IAAK,QACL1F,KAAM,QACN6lC,MAAO5X,GAAKve,EAAE,eAAgB+xB,IAC9Bx5B,KAAM,eACN6qB,OAAQ,IAEV,CACEptB,IAAK,OACL1F,KAAM,uBACN6lC,MAAO5X,GAAKve,EAAE,eACdzH,KAAM,OACN6qB,OAAQ,IAEV,CACEptB,IAAK,OACL1F,KAAM,yBACN6uD,MAAO,mBACPhpB,MAAO5X,GAAKve,EAAE,cAAe+xB,IAC7Bx5B,KAAM,eACN6qB,OAAQ,06ICjEA,OAAAg8B,cAAA,OAAA/4B,CAAA,EAAAA,CAAA,CAAA+4B,KAKyCA,KAAAh5D,EAAA,KAsHnDg5D,KAAAh5D,EAAA,MAEF,IA2BMi5D,IAASD,KAAAh5D,EAAG,MAAA,CAChBk5D,KAlJW,SAAHj8D,GAQJ,IAAAk8D,EAAAl7B,EAAAiS,EAAAkpB,EAAAC,EAPJjpB,EAAMnzC,EAANmzC,OACAkpB,EAAar8D,EAAbq8D,cACAC,EAAOt8D,EAAPs8D,QACA/D,EAAQv4D,EAARu4D,SACAtd,EAAKj7C,EAALi7C,MACAshB,EAAYv8D,EAAZu8D,aACAC,EAAex8D,EAAfw8D,gBAAeT,KAAA/4D,EAAA,KAEf,IAAMy5D,GAAeV,KAAAh5D,EAAGs4C,KAAAA,aAAWkhB,aAAY,EAAZA,EAAc/nD,OAE3CkoD,GAA0BX,KAAAh5D,EAAG,KAAA,CACjC8c,MAAO08C,SAAkBL,QAANA,EAAZK,EAAc/nD,YAAd0nD,IAAkBA,SAAlBA,EAAoB99D,OAC3Bm6D,SAAUA,EAAS,CACjB14C,MAAO48C,GAAeV,KAAAj4B,EAAGy4B,GAAAA,KAAAA,EAAa/nD,KAAKpW,SAAM29D,KAAAj4B,UAAGu4B,KACnDlqB,oBACHwqB,WAAYN,IAGRlD,GAAmB4C,KAAAh5D,OAA8B,QAA9Bg5D,KAAAj4B,EAAGqP,GAAAA,KAAHnS,EAAGmS,SAAmBF,QAAbA,EAANE,EAAQtP,mBAARoP,IAAmBA,SAAnBA,EAAqBzB,cAAM,IAAAxQ,EAAAA,GAAA+6B,KAAAj4B,UAAI+K,KACrD+tB,GAAsBb,KAAAh5D,OAAwB,gBAArBu5D,EAAQnlB,UAEvC3E,GAAAupB,KAAAh5D,EAAA,KNP2B,SAAH0vC,GACxB,IAD8BqF,EAASrF,EAATqF,UAAcpiC,EAAOwjB,GAAAuZ,EAAAkL,IACnD,OADmDoa,KAAA/0D,EAAA,KAAA+0D,KAAAh1D,EAAA,MACnDg1C,cAAYyf,GAAStmB,WAAUngB,GAAA,CAC7B+mB,UAAW,SAAAjH,GAAYknB,KAAA/0D,EAAA,KAAA+0D,KAAAh1D,EAAA,MACrBgsC,GAAYiJ,kBAAkB7H,GAAWI,OAAOwnB,KAAAh1D,EAAA,MAChDgsC,GAAYiJ,kBAAkB7H,GAAWK,oBAAoBunB,KAAAh1D,EAAA,MAC7Dg1D,KAAAj0B,EAAA,GAAA,MAAA+M,aAAAA,EAAAA,EAAU0H,aAASwf,KAAAj0B,EAAA,GAAA,KAAIuU,EAAMA,OAACC,QAAQzH,EAAS0H,YAAWwf,KAAAh1D,EAAA,MAC1D+0C,SAAAA,GACF,GACGpiC,GACJ,CMFoCmnD,CAAqB,CACxD/kB,UAAW,WAAM,IAAAglB,EAAAC,EAAAhB,KAAA/4D,EAAA,KAAA+4D,KAAAh5D,EAAA,KACfy5D,EAAgBd,IAAuBK,KAAAh5D,EAAA,KACvCowC,SAAyB,QAAnB2pB,EAAN3pB,EAAQ6pB,yBAAiB,IAAAF,GAAW,QAAXC,EAAzBD,EAA2BhlB,iBAA3BilB,IAAoCA,GAApCA,EAAsCtuC,UACxC,KAJcwuC,EAAgBzqB,EAAxBkG,OAKLqjB,KAAAh5D,EAAA,KAKEg5D,KAAAh5D,EAAA,MAKAg5D,KAAAh5D,EAAA,MAEL,IAUA0vC,GAAAspB,KAAAh5D,QAA2Bs5C,YAAnBC,EAAI7J,EAAJ6J,KAAMC,EAAQ9J,EAAR8J,SAEd,OAFoCwf,KAAAh5D,EAAA,MAGlCssC,EAAA,QAAAznC,cAAA,MAAA,CAAK+rC,UAAU,sDACbtE,EAAA,QAAAznC,cAACovC,aAAU,CACTkmB,UAAU,KACV,UAAQ,6BACRtwC,MAAM,MAENyiB,EAAA,QAAAznC,cAAC+3B,GAAK,CACJjF,WAAY,CAAEyiC,KAAM9tB,EAAAA,QAAAznC,cAAA,OAAA,CAAM+rC,UAAU,4BACpC5T,OAAQ28B,EACR98B,QACE68B,GAAeV,KAAAj4B,EACX,GAAA,KAAA,iCAA8Bi4B,KAAAj4B,UAC9B,kCAITi4B,KAAAj4B,EAAA24B,GAAAA,KAAAA,IAAeV,KAAAj4B,EAAA,GAAA,KACduL,EAAA,QAAAznC,cAAC+qC,UAAO,CACN9qC,QAASqzB,GAAKve,EAAE,sCAChBi2B,SAAUumB,EACVzpB,SAAS,OAETL,EAAAA,QAAAznC,cAAA,OAAA,KACEynC,EAAA,QAAAznC,cAACy0C,WAAQ,CACPe,YAAY,YACZ,UAAQ,0CACRxK,UAAWumB,EACXrmB,MAAO5X,GAAKve,EAAE,sBAEd0yB,UAAAznC,cAAC00C,EAAI,MACFyf,KAAAj4B,EAAAs5B,GAAAA,KH5F0B,SAACb,EAAcppB,GACxD,IAAAkqB,EAAA,OAAAvE,KAAA91D,EAAA,KAAA81D,KAAA/1D,EAAA,KAAA+1D,KAAAh1B,EAAA,GAAA,KAAAy4B,EAAaZ,OAAOz3B,MAAK,SAAAy3B,GAAU,OAAA7C,KAAA91D,EAAA,KAAA81D,KAAA/1D,EAAA,MAAW,IAAX44D,CAAe,MAAC7C,KAAAh1B,YAClDqP,SAAyB,QAAnBkqB,EAANlqB,EAAQmqB,yBAAiB,IAAAD,GAAzBA,EAA2Bt1C,SAAS,eAAY,CG0FlCq1C,CAA4Bb,EAAcppB,KAAO4oB,KAAAj4B,EAAA,GAAA,KAChDuL,EAAA,QAAAznC,cAAC20C,EAAS1J,OAAM,CACd,UAAQ,gCACRD,UAAWumB,EACXzmB,QAAS,WAAM,OAAAqpB,KAAA/4D,EAAA,KAAA+4D,KAAAh5D,EAAA,MAxD/Bg5D,KAAA/4D,EAAA,KAAA+4D,KAAAh5D,EAAA,KAAAk6D,EAAiB,CACfM,MAAO,CAAE5B,QAAQ,EAAOC,OAAQW,aAAY,EAAZA,EAAcX,SAuDO,GAEtC1gC,GAAKve,EAAE,yBAGXo/C,KAAAj4B,EAAA05B,GAAAA,KHzGuB,SAACjB,EAAcppB,GACrD,IAAAgpB,EAAA,OAAArD,KAAA91D,EAAA,KAAA81D,KAAA/1D,EAAA,KAAA+1D,KAAAh1B,EAAA,GAAA,KAAAy4B,EAAaZ,OAAOz3B,MAAK,SAAAy3B,GAAU,OAAA7C,KAAA91D,EAAA,KAAA81D,KAAA/1D,EAAA,MAAW,IAAX44D,CAAgB,MAAC7C,KAAAh1B,YACnDqP,SAAyB,QAAnBgpB,EAANhpB,EAAQmqB,yBAAiB,IAAAnB,GAAzBA,EAA2Bp0C,SAAS,aAAU,CGuGhCy1C,CAAyBjB,EAAcppB,KAAO4oB,KAAAj4B,EAC7CuL,GAAAA,KAAAA,EAAA,QAAAznC,cAAC20C,EAAS1J,OAAM,CACd,UAAQ,8BACRD,UAAWumB,EACXzmB,QAAS,WAAM,OAAAqpB,KAAA/4D,EAAA,KAAA+4D,KAAAh5D,EAAA,MA5D/Bg5D,KAAA/4D,EAAA,KAAA+4D,KAAAh5D,EAAA,MAAAk6D,EAAiB,CACfM,MAAO,CAAE5B,QAAQ,EAAMC,OAAQW,aAAY,EAAZA,EAAcX,SA2DM,GAEpC1gC,GAAKve,EAAE,uBAGXo/C,KAAAj4B,EAAA,GAAA,OAACqP,SAAyBgpB,QAAnBA,EAANhpB,EAAQmqB,6BAAiBnB,GAAzBA,EAA2Bp0C,SAAS,WAAOg0C,KAAAj4B,EAAA,GAAA,KAC3CuL,EAAA,QAAAznC,cAACoxD,GAAa,CACZpmB,SAAUgqB,EACV1D,iBAhEO,SAAA9d,GAAQ2gB,KAAA/4D,EAAA,KAAA+4D,KAAAh5D,EAAA,MAC/Bk6D,EAAiB,CACfM,MAAO,CACL5B,QAAQ,EACRC,OAAQW,aAAAA,EAAAA,EAAcX,OACtB6B,kBAAmBriB,MA4DP+d,oBAAqBA,EACrBle,MAAOA,MAGV9H,SAAwB,QAAlBipB,EAANjpB,EAAQuqB,wBAARtB,IAAwBA,SAAxBA,EAAAz/D,KAAAw2C,SAQjB,EA+BE2mB,MA7BY,SAAH1iB,GAQT,IAPAumB,EAAOvmB,EAAPumB,QACAC,EAAaxmB,EAAbwmB,cACAC,EAAazmB,EAAbymB,cACAC,EAAuB1mB,EAAvB0mB,wBACAC,EAAoB3mB,EAApB2mB,qBACAC,EAAiB5mB,EAAjB4mB,kBAEA,OAFiBjC,KAAA/4D,EAAA,KAAA+4D,KAAAh5D,EAAA,MAEjBssC,EAAA,QAAAznC,cAAAynC,UAAAyE,SAAA,KACEzE,EAAA,QAAAznC,cAACg3C,UAAO,CACNqf,WAAYN,EACZO,cAAe/F,GACfgG,aAAcjG,GACdkG,gBAAgB,oCAChBC,gBAAiBnjC,GAAKve,EAAE,0BACxBi3B,YAAawkB,GACbpmB,SAAU4rB,IAEZvuB,EAAAA,QAAAznC,cAAC02D,UAAY,CACXX,QAASE,EACTnmB,OAAQsmB,EACRO,UAAWR,EACX/rB,SAAU8rB,IAEZ,0kBCrJQ,OAAAU,cAAA,OAAAx7B,CAAA,EAAAA,CAAA,szICAA,OAAAy7B,cAAA,OAAAz7B,CAAA,EAAAA,CAAA,CDAAw7B,KCAAC,KAP0CA,KAAA17D,EAAA,KAEtD,IAAM27D,GAAU,SAAH1+D,GAAuC,IAAjC2+D,EAAW3+D,EAAX2+D,YAAaC,EAAa5+D,EAAb4+D,cAAaH,KAAAz7D,EAAA,KAC3C,IAAQ2Z,GAAR8hD,KAAA17D,EAAA,KAAc8+B,MAANllB,EAGP81B,EAAAp1C,IAFDohE,KAAA17D,EAAA,KAAgDy/B,EAAAA,SAC9Co8B,EAAc9kD,QAAQ+kD,mBACvB,GAFMA,EAAgBpsB,EAAA,GAAEqsB,EAAmBrsB,EAAA,GAI5C2E,GAAAqnB,KAAA17D,EAAA,KAGIgyC,EAAAA,oBAAkBgqB,EAAA3nB,EAFpBrX,OAAU67B,EAAMmD,EAANnD,OAAQoD,EAAQD,EAARC,SAClBxoB,EAAaY,EAAbZ,cAGIyoB,GAAaR,KAAA17D,EAAGu9C,KAAAA,QAAM,QAASsb,IAAQ6C,KAAA17D,EAAA,KAE7C6+B,EAAAA,WAAU,WAAM68B,KAAAz7D,EAAA,KAAAy7D,KAAA17D,EAAA,KACV67D,EAAc9kD,QAAQ+kD,mBAAqBA,GAAkBJ,KAAA36B,EAAA,GAAA,KAAA26B,KAAA17D,EAAA,KAC/Di8D,EAASx+D,SAAQ,SAAC0+D,EAASxkD,GAAU,IAAAykD,EACnC,GADmCV,KAAAz7D,EAAA,KAAAy7D,KAAA17D,EAAA,MAC/Bm8D,eAAAA,EAASE,YAA+BD,QAAxBA,EAAKn7B,EAAWA,YAACo7B,eAAZD,IAAmBA,OAAnBA,EAAAA,EAAqBvhD,UAAU,IAGtD,OAH0D6gD,KAAA36B,EAAA,GAAA,KAAA26B,KAAA17D,EAAA,KAC1DyzC,cAAaptC,OAAasR,EAAK,gBAAe,QAAM+jD,KAAA17D,EAAA,MAGrD07D,KAAA36B,EAAA,GAAA,KAAA26B,KAAA17D,EAAA,MAEDyzC,cAAaptC,OAAasR,EAAK,eAAemkD,EAChD,KACDJ,KAAA36B,EAAA,GAAA,KAAA26B,KAAA17D,EAAA,MACD67D,EAAc9kD,QAAQ+kD,iBAAmBA,CAE3C,GAAG,CAACA,IAAmBJ,KAAA17D,EAAA,MAKvB,OAFgD07D,KAAA17D,EAAA,MAG9CssC,EAAA,QAAAznC,cAAA,MAAA,CAAK+rC,UAAU,kDACbtE,EAAA,QAAAznC,cAAA,MAAA,CAAK+rC,UAAU,mBACbtE,EAAA,QAAAznC,cAACyvC,WAAQ,CACPC,QAASunB,EACTlrB,UAAU,2CACVb,MACEzD,EAAAA,QAAAznC,cAACovC,aAAU,CAACkmB,UAAU,OAAOjmB,WAAW,UAAUrqB,MAAM,SACtDyiB,EAAA,QAAAznC,cAAC+3B,GAAK,CACJC,QAAQ,oCACRG,OAAQ,CAAE67B,OAAQqD,MAIxBjtB,SAAU,WAAM,OAAAysB,KAAAz7D,EAAA,KAAAy7D,KAAA17D,EAAA,MAAA+7D,EAAoBO,EAAAA,IAAG,KAG3ChwB,EAAAA,QAAAznC,cAAA,MAAA,CAAK+rC,UAAU,mBACZqrB,EAASvhD,KAAI,SAAAo/B,EAAyBniC,GAAU,IAAA4kD,EAAhCF,EAAOviB,EAAPuiB,QAASG,EAAS1iB,EAAT0iB,UAASd,KAAAz7D,EAAA,KACjC,IAtBiBi4C,EAsBXukB,GAAYf,KAAA17D,EAAGq8D,MAAAA,aAAOE,EAAKt7B,EAAWA,YAACo7B,eAAO,IAAAE,OAAA,EAAnBA,EAAqB1hD,UAAU,KAC1D6hD,GAAyBhB,KAAA17D,QAC7B07D,KAAA36B,EAAA07B,GAAAA,KAAAA,IAAiBf,KAAA36B,EAAAy7B,GAAAA,KAAAA,IAASd,KAAA36B,EAAI+6B,GAAAA,KAAAA,KAEhC,OAFkDJ,KAAA17D,EAAA,MAGhDssC,EAAA,QAAAznC,cAAA,MAAA,CAAK+rC,UAAU,gCAAgChhC,IAAKysD,GAClD/vB,EAAA,QAAAznC,cAAC+qC,UAAO,CACN9qC,QAAS8U,EAAE,8BACXi2B,UAAW4sB,EACX9vB,SAAS,QAETL,EAAAA,QAAAznC,cAAA,OAAA,KACEynC,EAAA,QAAAznC,cAAC83D,SAAM,CACLpoB,QAASmoB,EACT7sB,UAAU6rB,KAAA36B,EAAA07B,GAAAA,KAAAA,IAAYf,KAAA36B,EAAI,GAAA,MAAC+6B,IAC3B/rB,MAAOn2B,EAAE,gBAAiB,CAAEgjD,QAASP,IACrC//D,KAAI+J,aAAAA,OAAesR,EAAmB,eACtCs3B,SAAU,SAAA+K,GAAgB,IAAb5pC,EAAM4pC,EAAN5pC,OAAMsrD,KAAAz7D,EAAA,KAAAy7D,KAAA17D,EAAA,MACjByzC,EAAa,YAAAptC,OACCsR,iBACZvH,EAAOmkC,QAEX,MAINjI,UAAAznC,cAAC+qC,EAAAA,QAAO,CACN9qC,QAAS8U,EAAE,+BACXi2B,UAAW4sB,EACX9vB,SAAS,OAETL,EAAA,QAAAznC,cAAA,OAAA,CAAM+rC,UAAU,gDACdtE,EAAA,QAAAznC,cAACg4D,SAAM,CACLC,YAAYpB,KAAA36B,EAAA07B,GAAAA,KAAAA,IAAYf,KAAA36B,EAAI,GAAA,MAACy7B,IAC7BlgE,KAAI+J,YAAAA,OAAcsR,EAAoB,gBACtChF,SAzDOulC,EAyDmB0jB,EAAYS,GAxDtDX,KAAAz7D,EAAA,KAAAy7D,KAAA17D,EAAA,MAAAk4C,EAAMx9B,KAAI,SAAA29B,GAAQ,OAAAqjB,KAAAz7D,EAAA,KAAAy7D,KAAA17D,EAAA,MAAA+8D,EAAeA,gBAAC1kB,EAAK/7C,KAAI,KAyD3Bk+C,KAAK,QACLwiB,SAAS,QACT/tB,SAAU,SAAA8P,GAAe,IAAZ3jD,EAAK2jD,EAAL3jD,MAAKsgE,KAAAz7D,EAAA,KAAAy7D,KAAA17D,EAAA,MAChByzC,cAAaptC,OAAasR,EAAK,gBAAgBvc,EACjD,MAMX,KAIT,mzCChGY,OAAA6hE,cAAA,OAAAh9B,CAAA,EAAAA,CAAA,CAAAg9B,KAfcA,KAAAj9D,EAAA,KAE1B,IAAMk9D,GAAc,SAAHjgE,GACf,IADqB2zC,EAAS3zC,EAAT2zC,UAAWpZ,EAAQv6B,EAARu6B,SAAa2lC,EAAUhnC,GAAAl5B,EAAAq8B,IACvD,OADuD2jC,KAAAh9D,EAAA,KAAAg9D,KAAAj9D,EAAA,KACvDssC,UAAAznC,cAAA,MAAA68C,GAAA,CAAK9Q,UAAWA,GAAeusB,GAC5B3lC,EACE,EACLylC,KAAAj9D,EAAA,KAEF,IAAMo9D,GAAO,SAAHn/B,GACR,IADc2S,EAAS3S,EAAT2S,UAAWpZ,EAAQyG,EAARzG,SAAa2lC,EAAUhnC,GAAA8H,EAAA1E,IAChD,OADgD0jC,KAAAh9D,EAAA,KAAAg9D,KAAAj9D,EAAA,KAChDssC,UAAAznC,cAAA,MAAA68C,GAAA,CAAK9Q,UAAWA,GAAeusB,GAC5B3lC,EACE,0gDCIK,OAAA6lC,cAAA,OAAAp9B,CAAA,EAAAA,CAAA,CAAA,SAAAlS,GAAAtuB,EAAA+R,GAAA,IAAAC,EAAA1Y,OAAA0Y,KAAAhS,MAAA1G,OAAA2Y,sBAAA,CAAA,IAAAC,EAAA5Y,OAAA2Y,sBAAAjS,GAAA+R,IAAAG,EAAAA,EAAAC,QAAAC,SAAAA,GAAA9Y,OAAAA,OAAA8D,yBAAA4C,EAAAoS,GAAAjL,UAAA,KAAA6K,EAAAzX,KAAAC,MAAAwX,EAAAE,EAAA,CAAA,OAAAF,CAAA,CAAA,SAAAuc,GAAA5d,GAAA,IAAA,IAAA5V,EAAAA,EAAAA,EAAAH,UAAAgB,OAAAb,IAAAuX,CAAAA,IAAAA,QAAA1X,UAAAG,GAAAH,UAAAG,MAAAA,EAAA,EAAAuzB,GAAAh1B,OAAAgZ,IAAA,GAAAtU,SAAAmS,SAAAA,GAAAyB,GAAAjB,EAAAR,EAAAmC,EAAAnC,GAAA,IAAA7W,OAAAiZ,0BAAAjZ,OAAAkZ,iBAAA7B,EAAArX,OAAAiZ,0BAAAD,IAAAgc,GAAAh1B,OAAAgZ,IAAAtU,kBAAAmS,GAAA7W,OAAAwX,eAAAH,EAAAR,EAAA7W,OAAA8D,yBAAAkV,EAAAnC,cAAAQ,CAAA,CDHV6sD,KAAAj9D,EAAA,KAEFo9D,GAAKntB,OAASitB,GAAYD,KAAAj9D,EAAA,KAC1Bo9D,GAAK/mB,KAAO6mB,GAAYD,KAAAj9D,EAAA,KACxBo9D,GAAK3mB,OAASymB,GCDFG,KAPZ,IAAMC,IAA4BD,KAAAr9D,EAAG,KAAA,CACnCu9D,UAAWC,EAAIp8C,SACfq8C,SAAUD,EAAIp8C,WAGVs8C,IAAsCL,KAAAr9D,EAAG,KAAA,CAC7C64D,OAAQ2E,EACLr+D,QACAw+D,IAAI,EAAGxlC,GAAKve,EAAE,4BACdrd,KAAK,uBAAwB47B,GAAKve,EAAE,2BAA2B,SAAAi/C,GAC9D,OAAAwE,KAAAp9D,EAAA,KAAAo9D,KAAAr9D,EAAA,KAAA64D,EAAOx9B,MAAM36B,OAAK,SAAS,IAE5Bk9D,aAGCC,IAAmCR,KAAAr9D,EAAG,KAAA,CAC1Cq4C,KAAMmlB,EAAIp8C,SAAS6xB,SAAS9a,GAAKve,EAAE,+BAG/BkkD,IAAiBT,KAAAr9D,OAAGw9D,EAAI/9D,SAAS4oC,MAAKra,GAAAA,GAAAA,GAAAA,GAAA,GACvCsvC,IACAI,IACAG,IAAmC,GAAA,CACtCE,UAAWP,EAAIr+D,QAAQ6+D,GACrBR,EAAI/9D,SAAS4oC,MAAM,CACjBg0B,QAASmB,EAAIp8C,SACbo7C,UAAWgB,EAAG,UACdnlB,KAAMmlB,EAAIp8C,SAAS6xB,SAAS9a,GAAKve,EAAE,oCAK5BqkD,IAAUZ,KAAAr9D,OAAG,SAEbk+D,IAAUb,KAAAr9D,OAAG,SAEbm+D,IAAqBd,KAAAr9D,EAAG,KAAA,CACnC+vC,MAAO5X,GAAKve,EAAE,qCAGHwkD,IAAaf,KAAAr9D,EAAG,KAAA,CAC3B+vC,MAAO5X,GAAKve,EAAE,eAAgBgyB,IAC9ByyB,WAAY,IAGDC,IAA2BjB,KAAAr9D,EAAG,KAAA,CACzCu+D,oBAAoB,EACpBjrB,iBAAkBwqB,KAGPU,IAAwBnB,KAAAr9D,EAAG,MAAA,CACtCmS,KAAM,OACNwiC,QAAQ,EACR/D,UAAW,GACX6tB,YAAa,CAAE,EACfC,UAAW,CAAE,EACbC,YAAa,CAAC,IAGHC,IAA6BvB,KAAAr9D,EAAG,MAAA,CAC3CgmC,KAAM8P,EAAIA,KACV+oB,MAAOC,EAAKA,MACZzG,KAAM+E,KAGK2B,IAAU1B,KAAAr9D,EAAG,MAAA,CACxBg/D,KAAM,OACNC,SAAU,UACVC,aAAc,iBAGHC,IAA2C9B,KAAAr9D,QACtD,gxLCjEU,OAAAo/D,cAAA,OAAAn/B,CAAA,EAAAA,CAAA,CAAA,SAAAlS,GAAAtuB,EAAA+R,GAAA,IAAAC,EAAA1Y,OAAA0Y,KAAAhS,MAAA1G,OAAA2Y,sBAAA,CAAA,IAAAC,EAAA5Y,OAAA2Y,sBAAAjS,GAAA+R,IAAAG,EAAAA,EAAAC,QAAAC,SAAAA,GAAA9Y,OAAAA,OAAA8D,yBAAA4C,EAAAoS,GAAAjL,UAAA,KAAA6K,EAAAzX,KAAAC,MAAAwX,EAAAE,EAAA,CAAA,OAAAF,CAAA,CAAA2tD,KAVyCA,KAAAp/D,EAAA,KAErD,IAAMq/D,GAAiB,SAAAC,GACrB,IAAAC,EAAA,OAAAH,KAAAn/D,EAAA,KAAAm/D,KAAAp/D,EAAA,KAAAs/D,SAAmB,QAALC,EAAdD,EAAiB,UAAE,IAAAC,GAAnBA,EAAqBlD,SAAO+C,KAAAr+B,EACxB5I,GAAAA,KAAAA,GAAKve,EAAE,gBAAiB,CAAEgjD,QAAS0C,EAAe,GAAGjD,YAAU+C,KAAAr+B,EAC/DE,GAAAA,KAAAA,cAAYo7B,QAAM,EAAE+C,KAAAp/D,EAAA,KAE1B,IAAMw/D,GAAgB,SAACF,EAAgBjnB,GACrC,IAAAonB,EAAA,OAAAL,KAAAn/D,EAAA,KAAAm/D,KAAAp/D,EAAA,KAAAo/D,KAAAr+B,EAAAu+B,GAAAA,MAAAA,SAAmB,QAALG,EAAdH,EAAiB,UAAE,IAAAG,OAAL,EAAdA,EAAqBC,cAAUN,KAAAr+B,EAAA,GAAA,KAAIsX,EAAG,EAAE+mB,KAAAp/D,EAAA,KAE1C,IAAM2/D,GAAiB,SAACznB,EAAO0nB,GAAmBR,KAAAn/D,EAAA,KAChD,IAAMskC,GAAS66B,KAAAp/D,EAAG6/D,KAAAA,GAAYD,IAExBvnB,GAAI+mB,KAAAp/D,EAAA,KAAG8/D,UAAQ,CAAExjE,KAAMioC,GAAa2T,IAE1C,OAFiDknB,KAAAp/D,EAAA,KAE1Cq4C,GAAI+mB,KAAAr+B,EAAA,GAAA,KAAGsX,EAAK/7C,OAAI8iE,KAAAr+B,EAAGmX,GAAAA,KAAAA,EAAM,GAAG57C,KACrC,EAAE8iE,KAAAp/D,EAAA,KAEF,IAAM+/D,GAAgC,SAACnE,EAAagE,GAAmB,IAAAxD,EACrE,GADqEgD,KAAAn/D,EAAA,KAAAm/D,KAAAp/D,EAAA,MAChE47D,EAAa,OAAAwD,KAAAr+B,EAAA,GAAA,KAAAq+B,KAAAp/D,EAAA,MAAO,GAAGo/D,KAAAr+B,EAAA,GAAA,KAE5B,IAAMi/B,GAAQZ,KAAAp/D,EAAGjH,MAAAA,OAAO0Y,KAAKmqD,IACvBqE,GAAmBb,KAAAp/D,QAAGggE,EAAS1hE,QAChB89D,QADuBA,EAC1Cn7B,EAAAA,YAAYo7B,eAAZD,IAAmBA,OAAnBA,EAAAA,EAAqBvhD,UAAU,KAE3BqlD,GAAcd,KAAAp/D,EAAA,MAAGmgE,EAAAA,KAAKF,EAAqB,EAAGD,IAEpD,OAF8DZ,KAAAp/D,EAAA,MAEvDkgE,EAAexlD,KAAI,SAAA2hD,GAAY,OAAA+C,KAAAn/D,EAAA,KAAAm/D,KAAAp/D,EAAA,MAAA,CACpCq8D,QAAAA,EACAqD,WAAYC,GAAe/D,EAAYS,GAAUuD,GACjDpD,WAAW,EACb,GACF,EAAE4C,KAAAp/D,EAAA,MAEK,IAAM6/D,GAAc,SAAAxnB,GACzB,OAAA+mB,KAAAn/D,EAAA,KAAAm/D,KAAAp/D,EAAA,MAAAglB,WAASqzB,EAAM,CAAC4lB,GAAYC,MAAYkB,KAAAr+B,EAAA,GAAA,KACpC4e,EAAMA,OAACse,MAAWmB,KAAAr+B,EAClBq/B,GAAAA,KAAAA,YAAUnC,IAAU,EAAEmB,KAAAp/D,EAAA,MAErB,IAAMqgE,GAAsB,SAACC,EAAgBpoB,EAAO0jB,GAAiB,IAAA2E,EAAAC,EAAA,OAAApB,KAAAn/D,EAAA,KAAAm/D,KAAAp/D,EAAA,MA7BhE,SAAAoQ,GAAA,IAAA,IAAA5V,EAAAA,EAAAA,EAAAH,UAAAgB,OAAAb,IAAAuX,CAAAA,IAAAA,QAAA1X,UAAAG,GAAAH,UAAAG,MAAAA,EAAA,EAAAuzB,GAAAh1B,OAAAgZ,IAAA,GAAAtU,SAAAmS,SAAAA,GAAAyB,GAAAjB,EAAAR,EAAAmC,EAAAnC,GAAA,IAAA7W,OAAAiZ,0BAAAjZ,OAAAkZ,iBAAA7B,EAAArX,OAAAiZ,0BAAAD,IAAAgc,GAAAh1B,OAAAgZ,IAAAtU,kBAAAmS,GAAA7W,OAAAwX,eAAAH,EAAAR,EAAA7W,OAAA8D,yBAAAkV,EAAAnC,cAAAQ,CAAA,CA6BgE4d,CAAA,CAC1EuvC,WAAW6B,KAAAr+B,EAAA,GAAA,MAAAu/B,aAAAA,EAAAA,EAAgB/C,aAAS6B,KAAAr+B,UAAI,KACxC08B,UAAU2B,KAAAr+B,EAAA,GAAA,MAAAu/B,aAAAA,EAAAA,EAAgB7C,YAAQ2B,KAAAr+B,UAAI,KACtC83B,OAAQyH,GAAclB,KAAAr+B,UAClB,CACE,CACEgP,MAAOuwB,EAAe5/B,MACtBtlC,MAAOklE,EAAe5/B,MACtB+/B,OAAO,MAEVrB,KAAAr+B,UACD,IACJsX,MAAM+mB,KAAAr+B,EAAAu/B,GAAAA,MAAAA,eAAAA,EAAgBjoB,QAAI+mB,KAAAr+B,EAAAw/B,GAAAA,aAAAA,EAAIroB,EAAM,UAAE,IAAAqoB,OAAA,EAARA,EAAUjkE,QAAI8iE,KAAAr+B,UAAI,OAC5Cq+B,KAAAr+B,EAAA,GAAA,MAACu/B,IAAclB,KAAAr+B,EAAI,GAAA,KAAA,CACrBk7B,SAAU8D,GAA8BnE,EAAqB4E,QAAVA,EAAEtoB,EAAM,UAANsoB,IAAQA,OAARA,EAAAA,EAAUlkE,SAEnE,EAAG8iE,KAAAp/D,EAAA,MAEI,IAAM0gE,GAAgB,SAAHzjE,GAIxB,IAHEg/D,EAAQh/D,EAARg/D,SAAUpD,EAAM57D,EAAN47D,OAAQ0E,EAAStgE,EAATsgE,UAAWE,EAAQxgE,EAARwgE,SAAUplB,EAAIp7C,EAAJo7C,KACzCioB,EAAcjmE,UAAAgB,eAAAgI,IAAAhJ,UAAA,GAAAA,UAAA+kE,IAAAA,KAAAr+B,WAAG,MAEjB,OAFqBq+B,KAAAn/D,EAAA,KAAAm/D,KAAAp/D,EAAA,MAErBsgE,GAAclB,KAAAr+B,EACV,IAAA,KAAA,CACE63B,QAAQ,EACR2E,UAAAA,EACAE,SAAAA,EACApoB,iBAAkBgD,KACnB+mB,KAAAr+B,EACD,IAAA,KAAA,CACE4/B,KAAM,CACJ9H,OAAQtb,EAAAA,MAAM,QAASsb,GACvBxjB,iBAAkBgD,EAClB4jB,SAAAA,IAEJ,EAAEmD,KAAAp/D,EAAA,MAED,IAAM4gE,GAAsC,SAAH3iC,GAIzC,IAHLqhC,EAAcrhC,EAAdqhC,eACAjnB,EAAIpa,EAAJoa,KACA6jB,EAAaj+B,EAAbi+B,cACK,OADQkD,KAAAn/D,EAAA,KAAAm/D,KAAAp/D,EAAA,MACR,CACL8c,MAAOo/C,EAAc7gE,OACrBw9D,OAAQqD,EACRU,QAASyC,GAAeC,GACxBjnB,KAAMmnB,GAAcF,EAAgBjnB,GACtC,89CC3EY,OAAAwoB,cAAA,OAAA5gC,CAAA,EAAAA,CAAA,CAAA4gC,KAJoDA,KAAA7gE,EAAA,KAEhE,IAAM8gE,GAAe,WAAM,IAAAC,EAAAF,KAAA5gE,EAAA,KACzB,IAAQ2Z,GAARinD,KAAA7gE,EAAA,KAAc8+B,MAANllB,EAGconD,GAFtBH,KAAA7gE,EAAA,KAEIgyC,EAAAA,oBADFhV,OAAU67B,EAAMmI,EAANnI,OAAQxgB,EAAI2oB,EAAJ3oB,KAAM4jB,EAAQ+E,EAAR/E,SAGpBC,GAAa2E,KAAA7gE,EAAGu9C,KAAAA,QAAM,QAASsb,IAC/ByG,GAAcuB,KAAA7gE,EAAA,KAAGihE,WAAS,CAAEzE,WAAW,GAAQP,IAErD,OAF+D4E,KAAA7gE,EAAA,KAExDs/D,EAAejkE,OAAS,GAACwlE,KAAA9/B,EAAA,GAAA,KAC9BuL,UAAAznC,cAAA,MAAA,CAAK+rC,UAAU,kDACbtE,EAAA,QAAAznC,cAAA,MAAA,CAAK+rC,UAAU,mBACbtE,EAAA,QAAAznC,cAACovC,aAAU,CAACkmB,UAAU,OAAOjmB,WAAW,UAAUrqB,MAAM,SACtDyiB,EAAA,QAAAznC,cAAC+3B,GAAK,CACJC,QAAQ,oCACRG,OAAQ,CACNlgB,MAAOo/C,EAAc7gE,OACrBw9D,OAAQqD,EACRgF,QAAiCH,QAA1BA,EAAE9/B,EAAWA,YAACkgC,oBAAZJ,IAAwBA,OAAxBA,EAAAA,EAA0BzkE,UAK3CgwC,UAAAznC,cAAA,QAAA,CAAO+rC,UAAU,2CACftE,EAAAA,QAAAznC,2BACEynC,EAAAA,QAAAznC,cACEynC,KAAAA,KAAAA,EAAAA,QAAAznC,cAAA,KAAA,KAAK+U,EAAE,uBACP0yB,EAAA,QAAAznC,cAAK+U,KAAAA,KAAAA,EAAE,cAAe+xB,OAG1BW,EAAAA,QAAAznC,2BACGy6D,EAAe5kD,KAAI,SAAA+0B,GAClB,IADqB4sB,EAAO5sB,EAAP4sB,QAASqD,EAAUjwB,EAAViwB,WAC9B,OADwCmB,KAAA5gE,EAAA,KAAA4gE,KAAA7gE,EAAA,KACxCssC,EAAA,QAAAznC,cAAA,KAAA,CAAI+K,IAAKysD,GACP/vB,EAAAA,QAAAznC,cAAA,KAAA,KACEynC,EAAA,QAAAznC,cAACovC,aAAU,CAACkmB,UAAU,OAAOjmB,WAAW,UAAUrqB,MAAM,SACrDjQ,EAAE,gBAAiB,CAAEgjD,QAASP,MAGnC/vB,EAAAA,QAAAznC,cAAA,KAAA,KACEynC,EAAAA,QAAAznC,cAACovC,aAAU,CAACkmB,UAAU,OAAOjmB,WAAW,UAAUrqB,MAAM,SACrD61C,IAIR,SAGDmB,KAAA9/B,EAENuL,GAAAA,KAAAA,UAAAznC,cAACovC,EAAAA,WAAU,CAACkmB,UAAU,OAAOjmB,WAAW,UAAUrqB,MAAM,SACtDyiB,EAAA,QAAAznC,cAAC+3B,GAAK,CACJC,QAAQ,kCACRG,OAAQ4jC,GAAoC,CAC1CtB,eAAAA,EACAjnB,KAAAA,EACA6jB,cAAAA,OAKV,o6CC1DY,OAAAkF,cAAA,OAAAnhC,CAAA,EAAAA,CAAA,CAAAmhC,KAFSA,KAAAphE,EAAA,KAErB,IAAMqhE,GAAqB,SAAHpkE,GAIlB,IAAAqkE,EAAAC,EAAAtkE,EAHJ47D,OAAAA,OAAMuI,IAAAG,GAAAH,KAAArgC,EAAA,GAAA,KAAG,IAAEwgC,EACXC,EAAQvkE,EAARukE,SAAQC,EAAAxkE,EACRqjE,eAAAA,OAAcc,IAAAK,GAAAL,KAAArgC,EAAA,GAAA,KAAG,MAAI0gC,EAAAL,KAAAnhE,EAAA,KAErB,IAAQ2Z,GAARwnD,KAAAphE,EAAA,KAAc8+B,MAANllB,EAER,OAF+BwnD,KAAAphE,EAAA,KAG7BssC,EAAA,QAAAznC,cAAA,MAAA,CAAK+rC,UAAU,mBACZ0vB,GAAcc,KAAArgC,UACbuL,EAAAA,QAAAznC,cAACyxC,QAAK,CACJzG,UAAQ,EACR,UAAQ,gCACRvzC,KAAK,SACLk+C,KAAK,SACLp/C,MAAmB,QAAdkmE,EAAEI,EAAIA,KAAC7I,UAAO,IAAAyI,OAAA,EAAZA,EAAclmE,MACrB20C,MACEzD,EAAAA,QAAAznC,cAAA,OAAA,CAAM+rC,UAAU,0DACdtE,EAAA,QAAAznC,cAACovC,aAAU,CAACkmB,UAAU,OAAOtwC,MAAM,SAChCjQ,EAAE,eAAgB+xB,KAErBW,EAAA,QAAAznC,cAACirC,SAAM,CACLmB,KAAMkuB,GACNpvB,MAAOn2B,EAAE,2BACTiQ,MAAM,OACNzZ,OAAO,gBAIbgxD,KAAArgC,UAEFuL,EAAAA,QAAAznC,cAAC88D,kBAAe,CACdC,QAASxD,GACT,UAAQ,gCACRyD,oBAAqB1D,GACrB2D,SAAUloD,EAAE,+BACZm2B,MAAK,GAAA1pC,OAAKuT,EAAE,eAAgBgyB,IAAW,KACvCtvC,KAAK,SACL4yC,YAAat1B,EAAE,sBACf+kB,IAAK6iC,KAKf,04BC5CY,OAAAO,cAAA,OAAA9hC,CAAA,EAAAA,CAAA,CAAA8hC,KAZmCA,KAAA/hE,EAAA,KAE/C,IAAMgiE,GAAa,SAAH/kE,GAAqB,IAAfukE,EAAQvkE,EAARukE,SAAQO,KAAA9hE,EAAA,KAC5B,IAAQ2Z,GAARmoD,KAAA/hE,EAAA,KAAc8+B,MAANllB,EAER,OAF+BmoD,KAAA/hE,EAAA,KAG7BssC,EAAA,QAAAznC,cAAA,MAAA,CAAK+rC,UAAU,gDACbtE,EAAA,QAAAznC,cAACyxC,QAAK,CACJ,UAAQ,wCACRvG,MAAOn2B,EAAE,oBACTtd,KAAK,YACLqiC,IAAK6iC,IAEPl1B,EAAAA,QAAAznC,cAACyxC,QAAK,CACJ,UAAQ,uCACRvG,MAAOn2B,EAAE,mBACTtd,KAAK,aAIb,8vCCRY,OAAA2lE,cAAA,OAAAhiC,CAAA,EAAAA,CAAA,CAAAgiC,KAXsBA,KAAAjiE,EAAA,KAElC,IAAMkiE,GAAgB,SAAHjlE,GAKjB,IAAAklE,EAAAllE,EAJA8yC,MAAAA,OAAKkyB,IAAAE,GAAAF,KAAAlhC,EAAA,GAAA,KAAG,IAAEohC,EAAAC,EAAAnlE,EACVolE,aAAAA,OAAY,IAAAD,GAAAH,KAAAlhC,EAAG,GAAA,KAAA,CAAEj8B,QAAS,KAAIs9D,EAAAE,EAAArlE,EAC9BslE,UAAAA,OAAS,IAAAD,GAAAL,KAAAlhC,EAAG,GAAA,KAAA,CAAE4O,QAASzhB,EAAAA,OAAMo0C,EAE7B,OAF6BL,KAAAhiE,EAAA,KAAAgiE,KAAAjiE,EAAA,KAE7BssC,EAAA,QAAAznC,cAAAynC,UAAAyE,SAAA,KACEzE,EAAA,QAAAznC,cAAA,OAAA,CAAM+rC,UAAU,kCAAkCb,GAClDzD,EAAAA,QAAAznC,cAAC+qC,EAAAA,QAAO8R,GAAA,CAAC/U,SAAS,SAAY01B,GAC5B/1B,EAAA,QAAAznC,cAAA,OAAA,KACEynC,UAAAznC,cAAC29D,EAAIA,KAAA9gB,GAAA,CACH9Q,UAAU,gCACV4J,KAAM,IACF+nB,MAIV,wrHCPQ,OAAAE,cAAA,OAAAxiC,CAAA,EAAAA,CAAA,CAAAwiC,KAF4BA,KAAAziE,EAAA,KAExC,IAAM0iE,GAAkB,SAAHzlE,GAAuD,IAAA0lE,EAAA1lE,EAAjDo7C,KAAAA,OAAIoqB,IAAAE,GAAAF,KAAA1hC,EAAA,GAAA,KAAG,IAAE4hC,EAAAC,EAAA3lE,EAAEi7C,MAAAA,OAAKuqB,IAAAG,GAAAH,KAAA1hC,EAAA,GAAA,KAAG,IAAE6hC,EAAE9rB,EAAM75C,EAAN65C,OAAQ8kB,EAAW3+D,EAAX2+D,YAAW6G,KAAAxiE,EAAA,KACnE,IAAM4iE,GAAOJ,KAAAziE,EAAA,KAAG8iE,EAAUA,cACpBlvC,GAAQ6uC,KAAAziE,EAAA,KAAG+iE,EAAWA,eAC5B9kC,GAAAwkC,KAAAziE,EAAA,KAAkCgyC,EAAAA,oBAA1BhV,EAAMiB,EAANjB,OAAQyW,EAAaxV,EAAbwV,cACR75B,GAAR6oD,KAAAziE,EAAA,KAAc8+B,MAANllB,EAAuB6oD,KAAAziE,EAAA,KAgB/B,OAFEyiE,KAAAziE,EAAA,MAGAssC,EAAA,QAAAznC,cAACm+D,QAAK,CACJC,SAAO,EACPryB,UAAU,0BACV,UAAQ,gCACRt0C,KAAK,OACLyzC,MACEzD,EAAAA,QAAAznC,cAACq9D,GAAa,CACZnyB,MAAK,GAAA1pC,OAAKuT,EAAE,cAAe+xB,IAAa,KACxC02B,aAAc,CAAEv9D,QAAS8U,EAAE,oCAC3B2oD,UAAW,CAET5yB,QAAS,WAAM,OAAA8yB,KAAAxiE,EAAA,KAAAwiE,KAAAziE,EAAA,MAAA6iE,EAAQ7oE,KAAI,GAAAqM,OAAIutB,EAASoB,SAAiB,UAAD,KAI9Dia,SAAU,SAAAoF,GAA2B,IAAdj5C,EAAKi5C,EAAfjkC,OAAUhV,MAAKqnE,KAAAxiE,EAAA,KAAAwiE,KAAAziE,EAAA,MAC1ByzC,EAAc,OAAQr4C,GAAOqnE,KAAAziE,EAAA,MAC7ByiE,KAAA1hC,EAAA,GAAA,MAAC+V,IAAM2rB,KAAA1hC,EAAA,GAAA,KAhCe,SAAAmiC,GAAeT,KAAAxiE,EAAA,KACzC,IAAMskC,GAASk+B,KAAAziE,EAAG6/D,KAAAA,GAAYqD,IAAaT,KAAAziE,EAAA,KAC3Cg9B,EAAOi/B,SAASx+D,SAAQ,SAAAiyC,EAA0B/3B,GAAU,IAAAykD,EAAjCC,EAAO3sB,EAAP2sB,QAASqD,EAAUhwB,EAAVgwB,WAIlC,GAJ4C+C,KAAAxiE,EAAA,KAAAwiE,KAAAziE,EAAA,KAC5CyiE,KAAA1hC,EAAA,GAAA,KAAAs7B,KAA+BD,QAAxBA,EAAKn7B,EAAAA,YAAYo7B,mBAAOD,SAAnBA,EAAqBvhD,UAAU,MAAE4nD,KAAA1hC,EAAA,GAAA,KAC3C0S,EAAa,YAAAptC,OAAasR,EAAK,gBAAgBurD,IAAaT,KAAAziE,EAAA,KAE1DukC,EAAUm7B,GAAa,OAAA+C,KAAA1hC,EAAA,GAAA,UAAA0hC,KAAAziE,EAAA,MAAOyiE,KAAA1hC,EAAA,GAAA,KAClC,IAAMoiC,GAAYV,KAAAziE,EAAA,MAAG8/D,UAAQ,CAAExjE,KAAMioC,GAAaq3B,EAAYS,KAAUoG,KAAAziE,EAAA,MACpEmjE,GAAcV,KAAA1hC,EAAA,GAAA,KAAA0hC,KAAAziE,EAAA,MAChByzC,EAAa,YAAAptC,OAAasR,kBAAqBwrD,EAAa7mE,OAC7DmmE,KAAA1hC,EAAA,GAAA,IACH,IAqBeqiC,CAAoBhoE,GACjC,GAEC88C,EAAMx9B,KAAI,SAAAo/B,GACT,IADYtL,EAAEsL,EAAFtL,GAAIlyC,EAAIw9C,EAAJx9C,KAChB,OADoBmmE,KAAAxiE,EAAA,KAAAwiE,KAAAziE,EAAA,MACpBssC,EAAA,QAAAznC,cAAA,QAAA,CACE+rC,UAAU,uCACVyyB,QAASC,EAAOA,QAAChnE,GACjBsT,IAAK4+B,GAELlC,UAAAznC,cAACm+D,EAAKA,MAACngC,KAAI,CACT+N,UAAU,qCACV,UAAQ,iCACR2yB,eAAgBvqB,EAAAA,UAAU18C,EAAM+7C,GAChC7J,GAAI80B,EAAOA,QAAChnE,GACZyzC,MAAOzzC,EACPA,KAAK,OACLlB,MAAOkB,IAGZ,IAGP,kECzEA,SAAWiH,EAAMigE,GAIbxqD,GAAA2oB,QAAiB6hC,GAUpB,CAdD,CAcGnxD,GAAM,WAGP,IAAIoxD,EAAc,GACdC,EAAgB,GAChBC,EAAe,CAAA,EACfC,EAAmB,CAAA,EACnBC,EAAmB,CAAA,EAQvB,SAASC,EAAchgD,GACrB,MAAoB,iBAATA,EACF,IAAIplB,OAAO,IAAMolB,EAAO,IAAK,KAG/BA,CACR,CAUD,SAASigD,EAAaC,EAAMC,GAE1B,OAAID,IAASC,EAAcA,EAGvBD,IAASA,EAAKjmE,cAAsBkmE,EAAMlmE,cAG1CimE,IAASA,EAAK1iD,cAAsB2iD,EAAM3iD,cAG1C0iD,EAAK,KAAOA,EAAK,GAAG1iD,cACf2iD,EAAM5iD,OAAO,GAAGC,cAAgB2iD,EAAMC,OAAO,GAAGnmE,cAIlDkmE,EAAMlmE,aACd,CAsBD,SAASK,EAAS4lE,EAAMlgD,GACtB,OAAOkgD,EAAK5lE,QAAQ0lB,EAAK,IAAI,SAAU5lB,EAAOyZ,GAC5C,IAfkBhC,EAAKvc,EAenBqd,GAfcd,EAeOmO,EAAK,GAfP1qB,EAeWiB,UAd7Bsb,EAAIvX,QAAQ,gBAAgB,SAAUF,EAAOyZ,GAClD,OAAOve,EAAKue,IAAU,EAC5B,KAcM,OACSosD,EADK,KAAV7lE,EACiB8lE,EAAKrsD,EAAQ,GAGfzZ,EAHmBuY,EAI5C,GACG,CAUD,SAAS0tD,EAAcF,EAAOD,EAAMzgD,GAElC,IAAK0gD,EAAM5oE,QAAUsoE,EAAa5uD,eAAekvD,GAC/C,OAAOD,EAMT,IAHA,IAAIxnE,EAAM+mB,EAAMloB,OAGTmB,KAAO,CACZ,IAAIsnB,EAAOP,EAAM/mB,GAEjB,GAAIsnB,EAAK,GAAGvnB,KAAKynE,GAAO,OAAO5lE,EAAQ4lE,EAAMlgD,EAC9C,CAED,OAAOkgD,CACR,CAUD,SAASI,EAAaC,EAAYC,EAAS/gD,GACzC,OAAO,SAAUygD,GAEf,IAAIC,EAAQD,EAAKjmE,cAGjB,OAAIumE,EAAQvvD,eAAekvD,GAClBF,EAAYC,EAAMC,GAIvBI,EAAWtvD,eAAekvD,GACrBF,EAAYC,EAAMK,EAAWJ,IAI/BE,EAAaF,EAAOD,EAAMzgD,EACvC,CACG,CAKD,SAASghD,EAAWF,EAAYC,EAAS/gD,EAAOvQ,GAC9C,OAAO,SAAUgxD,GACf,IAAIC,EAAQD,EAAKjmE,cAEjB,QAAIumE,EAAQvvD,eAAekvD,KACvBI,EAAWtvD,eAAekvD,IAEvBE,EAAaF,EAAOA,EAAO1gD,KAAW0gD,CACnD,CACG,CAUD,SAAST,EAAWQ,EAAMlnD,EAAO0nD,GAI/B,OAAQA,EAAY1nD,EAAQ,IAAM,KAHP,IAAVA,EACb0mD,EAAUiB,SAAST,GAAQR,EAAUkB,OAAOV,GAGjD,CAkUD,OA3TAR,EAAUkB,OAASN,EACjBP,EAAkBD,EAAkBH,GAQtCD,EAAUmB,SAAWJ,EACnBV,EAAkBD,EAAkBH,GAQtCD,EAAUiB,SAAWL,EACnBR,EAAkBC,EAAkBH,GAQtCF,EAAUoB,WAAaL,EACrBX,EAAkBC,EAAkBH,GAStCF,EAAUqB,cAAgB,SAAU/gD,EAAMghD,GACxCrB,EAAYzpE,KAAK,CAAC8pE,EAAahgD,GAAOghD,GAC1C,EAQEtB,EAAUuB,gBAAkB,SAAUjhD,EAAMghD,GAC1CpB,EAAc1pE,KAAK,CAAC8pE,EAAahgD,GAAOghD,GAC5C,EAOEtB,EAAUwB,mBAAqB,SAAUhB,GACnB,iBAATA,GAMXR,EAAUqB,cAAcb,EAAM,MAC9BR,EAAUuB,gBAAgBf,EAAM,OAN9BL,EAAaK,EAAKjmE,gBAAiB,CAOzC,EAQEylE,EAAUyB,iBAAmB,SAAUC,EAAQR,GAC7CA,EAASA,EAAO3mE,cAChBmnE,EAASA,EAAOnnE,cAEhB8lE,EAAiBqB,GAAUR,EAC3Bd,EAAiBc,GAAUQ,CAC/B,EAKE,CAEE,CAAC,IAAK,MACN,CAAC,KAAM,MACP,CAAC,KAAM,QACP,CAAC,MAAO,QACR,CAAC,OAAQ,QACT,CAAC,SAAU,aACX,CAAC,WAAY,cACb,CAAC,SAAU,cACX,CAAC,UAAW,cACZ,CAAC,UAAW,cACZ,CAAC,WAAY,cACb,CAAC,KAAM,OACP,CAAC,MAAO,QACR,CAAC,MAAO,QACR,CAAC,OAAQ,SACT,CAAC,OAAQ,SAET,CAAC,OAAQ,UACT,CAAC,QAAS,WACV,CAAC,UAAW,aACZ,CAAC,UAAW,aACZ,CAAC,UAAW,aAEZ,CAAC,QAAS,UACV,CAAC,SAAU,WAEX,CAAC,SAAU,YACX,CAAC,QAAS,WACV,CAAC,QAAS,WACV,CAAC,QAAS,WACV,CAAC,SAAU,YACX,CAAC,WAAY,cAEb,CAAC,KAAM,QACP,CAAC,MAAO,QACR,CAAC,MAAO,QACR,CAAC,MAAO,SACR,CAAC,OAAQ,QACT,CAAC,OAAQ,SACT,CAAC,QAAS,SACV,CAAC,QAAS,SACV,CAAC,OAAQ,WACT,CAAC,QAAS,UACV,CAAC,QAAS,UACV,CAAC,QAAS,UACV,CAAC,QAAS,UACV,CAAC,QAAS,UACV,CAAC,QAAS,WACV,CAAC,SAAU,WACX,CAAC,UAAW,YACZ,CAAC,WAAY,cACbznE,SAAQ,SAAUqmB,GAClB,OAAO0/C,EAAUyB,iBAAiBnhD,EAAK,GAAIA,EAAK,GACpD,IAKE,CACE,CAAC,OAAQ,KACT,CAAC,qBAAsB,MACvB,CAAC,kBAAmB,MACpB,CAAC,gBAAiB,QAClB,CAAC,qCAAsC,QACvC,CAAC,eAAgB,OACjB,CAAC,yCAA0C,MAC3C,CAAC,4FAA6F,OAC9F,CAAC,gCAAiC,QAClC,CAAC,2BAA4B,QAC7B,CAAC,iBAAkB,SACnB,CAAC,wHAAyH,OAC1H,CAAC,qGAAsG,OACvG,CAAC,QAAS,OACV,CAAC,2CAA4C,WAC7C,CAAC,oBAAqB,SACtB,CAAC,uBAAwB,SACzB,CAAC,oBAAqB,QACtB,CAAC,gDAAiD,UAClD,CAAC,gCAAiC,SAClC,CAAC,sBAAuB,UACxB,CAAC,oBAAqB,SACtB,CAAC,SAAU,MACX,CAAC,WAAY,OACb,CAAC,OAAQ,QACTrmB,SAAQ,SAAUqmB,GAClB,OAAO0/C,EAAUqB,cAAc/gD,EAAK,GAAIA,EAAK,GACjD,IAKE,CACE,CAAC,MAAO,IACR,CAAC,SAAU,MACX,CAAC,gEAAiE,QAClE,CAAC,kCAAmC,OACpC,CAAC,QAAS,KACV,CAAC,uFAAwF,QACzF,CAAC,oBAAqB,QACtB,CAAC,uBAAwB,UACzB,CAAC,sBAAuB,MACxB,CAAC,2FAA4F,MAC7F,CAAC,qEAAsE,SACvE,CAAC,iCAAkC,MACnC,CAAC,oBAAqB,QACtB,CAAC,4FAA6F,QAC9F,CAAC,yGAA0G,QAC3G,CAAC,8FAA+F,QAChG,CAAC,0BAA2B,OAC5B,CAAC,+BAAgC,QACjC,CAAC,sBAAuB,QACxB,CAAC,oBAAqB,UACtB,CAAC,eAAgB,MACjB,CAAC,YAAa,MACd,CAAC,QAAS,QACVrmB,SAAQ,SAAUqmB,GAClB,OAAO0/C,EAAUuB,gBAAgBjhD,EAAK,GAAIA,EAAK,GACnD,IAKE,CAEE,YACA,SACA,SACA,MACA,WACA,UACA,OACA,YACA,QACA,YACA,QACA,QACA,QACA,QACA,UACA,SACA,OACA,OACA,UACA,QACA,WACA,MACA,WACA,cACA,QACA,SACA,WACA,YACA,MACA,SACA,YACA,YACA,YACA,WACA,WACA,MACA,UACA,UACA,WACA,WACA,eACA,SACA,SACA,YACA,WACA,YACA,cACA,QACA,UACA,QACA,SACA,aACA,YACA,WACA,OACA,QACA,OACA,QACA,QACA,MACA,QACA,OACA,OACA,YACA,OACA,WACA,SACA,SACA,YACA,WACA,OACA,WACA,OACA,SACA,WACA,SACA,SACA,WACA,SACA,WACA,UACA,QACA,QACA,SACA,UACA,iBACA,QACA,OACA,SACA,UACA,UACA,aACA,WACA,MACA,eAEA,gBACA,SACA,SACA,YACA,WACA,QACA,WACArmB,QAAQ+lE,EAAUwB,oBAEbxB,CACT,swgBCveY,OAAA2B,cAAA,OAAAllC,CAAA,EAAAA,CAAA,CAAAklC,KAaZ,IAAAloE,IAAAkoE,KAAAnlE,OAA2Bs5C,EAAAA,UAAnBC,GAAIt8C,GAAJs8C,KAAMC,GAAQv8C,GAARu8C,SAAsB2rB,KAAAnlE,EAAA,KAoBlCmlE,KAAAnlE,EAAA,KAEF,IAAMolE,GAA2B,SAAAtkC,GAC/B,IAAA2O,EAAA,OAAA01B,KAAAllE,EAAA,KAAAklE,KAAAnlE,EAAA,eAAAmlE,KAAApkC,EAAED,GAAAA,KAAF2O,EAAE3O,aAAAA,EAAAA,EAAa2N,cAAM,IAAAgB,EAAAA,GAAA01B,KAAApkC,EAAA,GAAA,KAAIF,GAAcgL,KAA0B,EAAEs5B,KAAAnlE,EAAA,KAyDnEmlE,KAAAnlE,EAAA,KASOmlE,KAAAnlE,EAAA,MAOPmlE,KAAAnlE,EAAA,MAUAmlE,KAAAnlE,EAAA,MAEF,IAAMqlE,GAAoB,SAAAC,GAAoB,OAAAH,KAAAllE,EAAA,KAAAklE,KAAAnlE,EAAA,MAC5C,CAAA,CACEulE,UAAW,OACX31D,IAAK,OACL41D,OAAQ,SAACtiE,EAAGuiE,GAAc,OAAAN,KAAAllE,EAAA,KAAAklE,KAAAnlE,EAAA,MA5G5B0lE,EA4GwDJ,EA7GzChpE,GADK2hC,EA8GyBwnC,GA7G3CE,YAAoCC,EAAQ3nC,EAAzB4nC,gBAA2BjN,EAAM36B,EAAN26B,OAAMuM,KAAAllE,EAAA,KAAAklE,KAAAnlE,EAAA,KAGtDssC,EAAA,QAAAznC,cAAA,MAAA,CAAK+rC,UAAU,6BACbtE,EAAA,QAAAznC,cAACihE,SAAM,CAACtrB,KAAK,SAASmmB,KAAM,CAAErkE,KAAAA,EAAMspE,SAAAA,KACnCtpE,GACA6oE,KAAApkC,EAAA2kC,GAAAA,KAAAA,IAAeP,KAAApkC,EAAA,GAAA,KACduL,EAAA,QAAAznC,cAACkhE,MAAG,CACF,UAAQ,wBACRl8C,MAAO+uC,GAAMuM,KAAApkC,EAAA,GAAA,KAAG,YAASokC,KAAApkC,EAAA,GAAA,KAAG,aAC5B5uB,KAAK,UACL49B,MACE6oB,GAAMuM,KAAApkC,EAAA,GAAA,KAAGs2B,GAAcC,OAAOvnB,QAAKo1B,KAAApkC,UAAGs2B,GAAcG,YAAYznB,YAbjD,IAAH9R,EAEpBynC,EADeppE,EAAuBspE,EAAUhN,CA6GyB,EACvEoN,QAAQ,EACRjjC,MAAO5K,GAAKve,EAAE,gBAEhB,CACE2rD,UAAW,QACX31D,IAAK,QACLo2D,QAAQ,EACRjjC,MAAO5K,GAAKve,EAAE,eAAgB+xB,KAEhC,CACE45B,UAAW,OACX31D,IAAK,oBACLo2D,QAAQ,EACRjjC,MAAO5K,GAAKve,EAAE,cAAe+xB,KAE/B,CACE45B,UAAW,eACX31D,IAAK,gBACLo2D,QAAQ,EACRjjC,MAAO5K,GAAKve,EAAE,uBACd4rD,OAAQ,SAAAS,GAAgB,OAAAd,KAAAllE,EAAA,MAAAklE,KAAAnlE,EAAA,MAnCA,SAAAimE,GAAgBd,KAAAllE,EAAA,KAC1C,IAAMimE,GAAQf,KAAAnlE,EAAG,MAAA,CACfmmE,YAAahuC,GAAKve,EAAE,qBACpBgS,QAASuM,GAAKve,EAAE,kBAChBwsD,UAAWjuC,GAAKve,EAAE,oBAGpB,OAFEurD,KAAAnlE,EAAA,MAEKkmE,EAASD,EAClB,CA2B4BI,CAAoBJ,EAAY,GAE5D,EAAEd,KAAAnlE,EAAA,MAEF,IAAMsmE,GAAkB,SACtBC,EACAC,EACA1lC,GACI,OAAAqkC,KAAAllE,EAAA,MAAAklE,KAAAnlE,EAAA,MAAA,CACJulE,UAAW,UACX31D,IAAK,cACL41D,OAAQ,SAACtiE,EAAGmN,GACV,OAAA80D,KAAAllE,EAAA,MAAAklE,KAAAnlE,EAAA,MAxHyB,SAAH0vC,EAExB62B,EACAC,EACA1lC,GAEA,IALE83B,EAAMlpB,EAANkpB,OAAQ+M,EAAWj2B,EAAXi2B,YAAajlC,EAAKgP,EAALhP,MAAO68B,EAAS7tB,EAAT6tB,UAAW/uB,EAAEkB,EAAFlB,GAAIivB,EAAQ/tB,EAAR+tB,SAAUplB,EAAI3I,EAAJ2I,KAKvD,OAL2D8sB,KAAAllE,EAAA,KAAAklE,KAAAnlE,EAAA,KAK3DssC,EAAA,QAAAznC,cAAC+qC,UAAO,CACN9qC,QAASqzB,GAAKve,EAAE,sCAChBi2B,UAAWu1B,GAAyBtkC,GACpC6L,SAAS,OAETL,EAAAA,QAAAznC,cAAA,OAAA,KACEynC,EAAA,QAAAznC,cAACy0C,WAAQ,CACPiB,YAAasd,GACbxd,YAAY,OACZxK,SAAUu1B,GAAyBtkC,GACnCoQ,KAAMoJ,EAAeA,eACrB0iB,SAAS,SAET1wB,EAAAA,QAAAznC,cAAC00C,QACCjN,EAAA,QAAAznC,cAAC+qC,UAAO,CACN9qC,QAASqzB,GAAKve,EAAE,8BAA+B+xB,IAC/CkE,SAAU+oB,EACVjsB,SAAS,OAETL,EAAA,QAAAznC,cACEynC,OAAAA,KAAAA,EAAAA,QAAAznC,cAAC20C,GAAS1J,OAAM,CACdc,UAAU,uBACV,UAAQ,yBACRf,UAAW+oB,EACXpe,KAAK,QACL3wB,MAAM,OACN8lB,QAAS,WACP,OAAAw1B,KAAAllE,EAAA,KAAAklE,KAAAnlE,EAAA,KAAAmlE,KAAApkC,EAAA63B,GAAAA,KAAAA,IAAMuM,KAAApkC,EACNwlC,GAAAA,KAAAA,EAAiB,CAAE7lC,MAAAA,EAAO68B,UAAAA,EAAW/uB,GAAAA,EAAIivB,SAAAA,EAAUplB,KAAAA,IAAM,GAG1DlgB,GAAKve,EAAE,kBAId0yB,UAAAznC,cAAC20C,GAAS1J,OAAM,CACdc,UAAU,uBACV,UAAQ,+BACR4J,KAAK,QACL7K,QAAS,WACP,OAAAw1B,KAAAllE,EAAA,KAAAklE,KAAAnlE,EAAA,KAAAwmE,EAAmB,CAAEh4B,GAAAA,EAAIlyC,KAAMqpE,EAAa/M,OAAAA,GAAQ,GAGrDA,GAAMuM,KAAApkC,EAAG5I,GAAAA,KAAAA,GAAKve,EAAE,uBAAoBurD,KAAApkC,EAAA,GAAA,KAAG5I,GAAKve,EAAE,wBAKhD,CAkEP6sD,CACEp2D,EACAk2D,EACAC,EACA1lC,EACD,EACH4lC,MAAO,GACT,EAAGvB,KAAAnlE,EAAA,MAEH,IASM2mE,IAAkBxB,KAAAnlE,EAAA,MAAG4mE,EAAKA,OAC9B,SAACC,EAAexuB,GAAS,OAAA8sB,KAAAllE,EAAA,MAAAklE,KAAAnlE,EAAA,QAAC6mE,SAAAA,EAAe7hD,SAASqzB,aAAI,EAAJA,EAAM/7C,MAAI,KAC5D6oE,KAAAnlE,EAAA,MAqCAmlE,KAAAnlE,EAAA,MAEK,IAAM8mE,GAAoB,SAACC,EAAcvR,GAC9C,OAAA2P,KAAAllE,EAAA,MAAAklE,KAAAnlE,EAAA,MAAAm4B,GAAKve,EAACvT,UAAAA,OAAWswD,EAAAA,QAAQoQ,GAAkB,KAAA,CACzC53B,KAAMqmB,EAAS5pB,IAAQwD,qBACxB,EAAE+1B,KAAAnlE,EAAA,MAEE,IAAMgnE,GAAoB,SAACC,EAAO52D,GAAU,IAAA62D,EAAA/B,KAAAllE,EAAA,MACjD,IAE4BknE,EAF5B3mB,GAAA2kB,KAAAnlE,QAA2BqQ,GAAnB+/B,EAAMoQ,EAANpQ,OAAQg3B,EAAM5mB,EAAN4mB,OAEhB,OAFiCjC,KAAAnlE,EAAA,MAE7BowC,SAAa,QAAP82B,EAAN92B,EAAQ6nB,aAARiP,IAAaA,GAAbA,EAAgBD,IAAQ9B,KAAApkC,EAAA,IAAA,KAAAokC,KAAAnlE,EAAA,MACP,QAAnBmnE,EAAO/2B,EAAO6nB,aAAK,IAAAkP,OAAA,EAAZA,EAAeF,GAAO,CAC3BrO,OAAQwO,aAAAA,EAAAA,EAAQxO,OAChBpqB,GAAI44B,aAAAA,EAAAA,EAAQ54B,GACZlyC,KAAM8qE,aAAM,EAANA,EAAQ9qE,SAEjB6oE,KAAApkC,EAAA,IAAA,KAAAokC,KAAAnlE,EAAA,MAEgB,UAAVinE,GAAiB9B,KAAApkC,WA1IG,SAAHsT,GACxB,IAD8B+yB,EAAM/yB,EAAN+yB,OAAQ5R,EAAQnhB,EAARmhB,SACtC,OAD8C2P,KAAAllE,EAAA,KAAAklE,KAAAnlE,EAAA,MAC9ConE,SAAAA,EAAQxO,QAAMuM,KAAApkC,EACV5I,GAAAA,KAAAA,GAAKve,EAAE,qBAAsB,CAC3Bu1B,KAAMqmB,EAAS7pB,IAAUyD,wBACzB+1B,KAAApkC,EACF5I,GAAAA,KAAAA,GAAKve,EAAE,mBAAoB,CACzBu1B,KAAMqmB,EAAS7pB,IAAUyD,sBAC1B,CAoIDi4B,CAAqBh3D,KAAM80D,KAAApkC,WAlIF,SAAH+Y,GAC1B,IADgCstB,EAAMttB,EAANstB,OAChC,OADsCjC,KAAAllE,EAAA,KAAAklE,KAAAnlE,EAAA,MACtCssC,EAAA,QAAAznC,cAAC+3B,GAAK,CACJC,QAASuqC,SAAAA,EAAQxO,QAAMuM,KAAApkC,EAAA,GAAA,KAAG,yBAAsBokC,KAAApkC,EAAA,GAAA,KAAG,sBACnD/D,OAAQ,CAAEsqC,OAAQF,aAAM,EAANA,EAAQ9qE,OAC3B,CA+HGirE,CAAuBl3D,IAC7B,EAAE80D,KAAAnlE,EAAA,MAEK,IAAMwnE,GAAmB,SAACC,EAAY71D,GAAW,OAAAuzD,KAAAllE,EAAA,MAAAklE,KAAAnlE,EAAA,MAACq4D,SAAAA,EAAME,GAAY4M,KAAAllE,EAAA,MACzE,IAAMynE,GAAUvC,KAAAnlE,EAAG,MAAA,CAAEq4D,KAAAA,EAAME,QAAAA,IAAU4M,KAAAnlE,EAAA,MACrCoC,OAAOygE,QAAQ8E,aACb,CAAA,EACA,GAAEthE,IAAAA,OA3EkB,SAAH2zC,EAAuBpoC,GAAW,IAA5BymD,EAAIre,EAAJqe,KAAME,EAAOve,EAAPue,QAAO4M,KAAAllE,EAAA,MACtC,IAAM2nE,GAAYzC,KAAAnlE,EAAG,MAAA,IAAIm3D,gBAAgB/0D,OAAOwxB,SAASD,SAKzD,OALiEwxC,KAAAnlE,EAAA,MACjE4nE,EAAa1oE,IAAI,OAAQm5D,GAAM8M,KAAAnlE,EAAA,MAC/B4nE,EAAa1oE,IAAI,UAAWq5D,GAAS4M,KAAAnlE,EAAA,MACrC4nE,EAAa1oE,IAAI,SAAU0S,EAAO7T,eAAeonE,KAAAnlE,EAAA,MAE1C4nE,EAAaxrE,UACtB,CAqEQyrE,CAAgBH,EAAY91D,KAChCuzD,KAAAnlE,EAAA,MACFynE,EAAWK,EAAAA,UAAUJ,IACvB,EAAEvC,KAAAnlE,EAAA,MAICmlE,KAAAnlE,EAAA,MAEI,IAKM+nE,IAAW5C,KAAAnlE,EAAG4mE,MAAAA,EAAKA,OAAC,SAACpR,EAAU14C,GAAUqoD,KAAAllE,EAAA,MACpD,IAAM+nE,GAAoB7C,KAAAnlE,EAAGwjE,MAAAA,GAAUhO,EAASz3D,cAAe,IACzDkqE,GAAe9C,KAAAnlE,EAAAqG,MAAAA,aAAAA,OAAgB2hE,IAErC,OAF4D7C,KAAAnlE,EAAA,MAErDm4B,GAAKtH,OAAOo3C,EAAiBnrD,IAAMqoD,KAAApkC,EAAA,IAAA,KACtC5I,GAAKve,EAAEquD,EAAiBnrD,KAAMqoD,KAAApkC,WAC9ByiC,GAAUriD,EAAUA,WAAC6mD,GAAuBlrD,EAAMA,OACxD,KAAGqoD,KAAAnlE,EAAA,MAEI,IAAMkoE,GAAuB,SAACC,EAAkBC,GACrD,OAAAjD,KAAAllE,EAAA,MAAAklE,KAAAnlE,EAAA,MAAAmlE,KAAApkC,EAAA,IAAA,KAAAq/B,YAAU+H,EAAkBC,KAAgBjD,KAAApkC,EAC5Cq/B,IAAAA,KAAAA,YAAUgI,EAAiB,OAAK,EAAEjD,KAAAnlE,EAAA,MAuBlCmlE,KAAAnlE,EAAA,MAEK,IAAMqoE,GAAmB,SAC9Bj0B,GAGA,IAFAk0B,EAAejuE,UAAAgB,OAAAhB,QAAAgJ,IAAAhJ,aAAAA,UAAA8qE,IAAAA,KAAApkC,EAAA,IAAA,KAAGs2B,GAAcC,OAAOl8D,OAEvC,OAF4C+pE,KAAAllE,EAAA,MAAAklE,KAAAnlE,EAAA,MAE5CjH,OAAOikC,OAAOq6B,IAAel2B,MAAK,SAAAonC,GAAe,IAAZntE,EAAKmtE,EAALntE,MAAY,OAAP+pE,KAAAllE,EAAA,MAAAklE,KAAAnlE,EAAA,MAAOg5C,EAASA,UAAC59C,EAAOg5C,EAAQ,KAAE+wB,KAAApkC,EAAA,IAAA,KACxEqT,IAAQ+wB,KAAApkC,EAAA,IAAA,KACRunC,EAAc,EAAEnD,KAAAnlE,EAAA,MAOjBmlE,KAAAnlE,EAAA,MAEE,IAAMwoE,GAAmB,WAC9B,IAD+BtwB,EAAK79C,UAAAgB,eAAAgI,IAAAhJ,UAAA,GAAAA,UAAA8qE,IAAAA,KAAApkC,WAAG,IAAIqP,EAAM/1C,UAAAgB,eAAAgI,IAAAhJ,UAAA,GAAAA,UAAA8qE,IAAAA,KAAApkC,EAAA,IAAA,KAAG,CAAA,GACpD,OADsDokC,KAAAllE,EAAA,MAAAklE,KAAAnlE,EAAA,MACtD4R,EAAMA,OAAC+0D,GAAmBv2B,aAAAA,EAAAA,EAAQy2B,eAAgB3uB,EAAK,khYCrT7C,OAAAuwB,cAAA,OAAAxoC,CAAA,EAAAA,CAAA,CAAA,SAAAlS,GAAAtuB,EAAA+R,GAAA,IAAAC,EAAA1Y,OAAA0Y,KAAAhS,MAAA1G,OAAA2Y,sBAAA,CAAA,IAAAC,EAAA5Y,OAAA2Y,sBAAAjS,GAAA+R,IAAAG,EAAAA,EAAAC,QAAAC,SAAAA,GAAA9Y,OAAAA,OAAA8D,yBAAA4C,EAAAoS,GAAAjL,UAAA,KAAA6K,EAAAzX,KAAAC,MAAAwX,EAAAE,EAAA,CAAA,OAAAF,CAAA,CAAA,SAAAuc,GAAA5d,GAAA,IAAA,IAAA5V,EAAAA,EAAAA,EAAAH,UAAAgB,OAAAb,IAAAuX,CAAAA,IAAAA,QAAA1X,UAAAG,GAAAH,UAAAG,MAAAA,EAAA,EAAAuzB,GAAAh1B,OAAAgZ,IAAA,GAAAtU,SAAAmS,SAAAA,GAAAyB,GAAAjB,EAAAR,EAAAmC,EAAAnC,GAAA,IAAA7W,OAAAiZ,0BAAAjZ,OAAAkZ,iBAAA7B,EAAArX,OAAAiZ,0BAAAD,IAAAgc,GAAAh1B,OAAAgZ,IAAAtU,kBAAAmS,GAAA7W,OAAAwX,eAAAH,EAAAR,EAAA7W,OAAA8D,yBAAAkV,EAAAnC,cAAAQ,CAAA,CAAAq4D,KAY6CA,KAAAzoE,EAAA,KAEzD,IAAM0oE,GAAe,SAAHzrE,GAMZ,IAAA+8C,EAAA9J,EAAAy4B,EALJv4B,EAAMnzC,EAANmzC,OACAw4B,EAAU3rE,EAAV2rE,WAAUhG,EAAA3lE,EACVi7C,MAAAA,OAAKuwB,IAAA7F,GAAA6F,KAAA1nC,EAAA,GAAA,KAAG,IAAE6hC,EAAAnB,EAAAxkE,EACVqjE,eAAAA,OAAcmI,IAAAhH,GAAAgH,KAAA1nC,EAAA,GAAA,KAAG,MAAI0gC,EAAAoH,EAAA5rE,EACrB6rE,gBAAAA,OAAe,IAAAD,GAAAJ,KAAA1nC,EAAG,GAAA,KAAA,CAAA,GAAE8nC,EAAAJ,KAAAxoE,EAAA,KAEpB,IAAuDwvC,EAAAn1C,IAAvDmuE,KAAAzoE,EAAwCy/B,KAAAA,EAAAA,UAAS,IAAM,GAAhDspC,EAAYt5B,EAAA,GAAEu5B,EAAev5B,EAAA,GAC2B4E,EAAA/5C,IAA/DmuE,KAAAzoE,EAAsCy/B,KAAAA,EAAQA,SAACs/B,GAAWC,OAAK,GAAxDiK,EAAW50B,EAAA,GAAE60B,EAAc70B,EAAA,GAC5BQ,GAAa4zB,KAAAzoE,EAAG4+B,KAAAA,EAAAA,OAAO,OACvBkW,GAAc2zB,KAAAzoE,EAAG4+B,KAAAA,EAAAA,OAAO,OACxBuqC,GAA0BV,KAAAzoE,EAAA,KAAG4+B,SAAO,CAAEk9B,kBAAkB,KACxDsN,GAAqBX,KAAAzoE,EAAG4+B,KAAAA,EAAAA,QAAO,IAC7BhlB,GAAR6uD,KAAAzoE,EAAA,KAAc8+B,MAANllB,EAEFyvD,GAA2BZ,KAAAzoE,OAAAguB,GAAAA,GAAA,CAAA,EAC5BwwC,IAAwB,CAAA,EAAA,CAC3BzoB,gBAAiBjB,GACdg0B,IAGCthC,GAASihC,KAAAzoE,EACb4+D,KAAAA,IAA8B6J,KAAA1nC,EAAAsoC,GAAAA,KAAAA,EAA4Bl3D,OAAIs2D,KAAA1nC,EAAI,GAAA,KAAA,WAE9DuoC,GAAoBb,KAAAzoE,QAA4B,QAA5ByoE,KAAA1nC,EAAGqP,GAAAA,KAAH4J,EAAG5J,SAAmBF,QAAbA,EAANE,EAAQtP,mBAARoP,IAAmBA,SAAnBA,EAAqBkQ,YAAI,IAAApG,EAAAA,GAAAyuB,KAAA1nC,UAAI+K,KACpDy9B,GAAgBd,KAAAzoE,EAAG,MAAAyoE,KAAA1nC,UAAAoe,UAAQjH,KAAMuwB,KAAA1nC,UAAIuoC,IAErCE,GAAUf,KAAAzoE,EAAG,QAAEsgE,GACfmJ,GAAUhB,KAAAzoE,EAAG,MAAAyoE,KAAA1nC,UAAAkoC,IAAgBlK,GAAWG,eAAYuJ,KAAA1nC,EAAA,GAAA,KAAIyoC,IAE9DzqB,GAAA0pB,KAAAzoE,EAAA,MAA+D2uC,GAAc,CAC3EnqB,OAAQ,SAAAspB,GACN,IAAA+Q,EAAA,OAAA4pB,KAAAxoE,EAAA,KAAAwoE,KAAAzoE,EAAA,MAAA0pE,EAAAA,gBACGjB,KAAA1nC,EAAA,GAAA,KADI8d,EACJ/Q,EAASc,oBAAiB65B,KAAA1nC,EAAI+M,GAAAA,KAAAA,EAAS5hC,KAAK0iC,0BAAiB,IAAAiQ,EAAAA,GAAA4pB,KAAA1nC,EAAA,GAAA,KAAK,IACpE,EACHkF,QAASsjC,KACTI,EAAA5qB,EANM7yC,KAAM09D,OAASnB,IAAAkB,GAAAlB,KAAA1nC,EAAA,GAAA,KAAGmX,GAAKyxB,EAAatpB,EAActB,EAAzBlJ,UAQjCkK,GAAA0oB,KAAAzoE,EAAA,M/D3C0B,WAC1B,IAD2B2S,EAAOtY,UAAAgB,eAAAgI,IAAAhJ,UAAA,GAAAA,UAAAq0C,IAAAA,KAAA3N,EAAA,GAAA,KAAG,CAAA,GACrC,OADuC2N,KAAAzuC,EAAA,KAAAyuC,KAAA1uC,EAAA,KACvC4tC,EAAAA,SAASR,GAAWG,aAAcS,GAAehB,MAAKhf,GAAA,CACpD6f,UAAWV,IACRx6B,GACJ,C+DwCCk3D,CAAoB,CAClBrlD,OAAQ,SAAAspB,GAAY,IAAAwS,EAAA,OAAAmoB,KAAAxoE,EAAA,KAAAwoE,KAAAzoE,EAAA,MAAAg0C,UAAQtzC,EAAAA,KAAK,WAAoB,QAAV+nE,KAAA1nC,WAAAuf,EAAExS,SAAQ,IAAAwS,EAAAA,GAAAmoB,KAAA1nC,EAAI,IAAA,KAAA,IAAG,EAC5DkF,SAASwiC,KAAA1nC,EAAA,IAAA,MAACu/B,IAAcmI,KAAA1nC,EAAA,IAAA,KAAIuoC,OAC5BQ,EAAA/pB,EAJI7zC,KAAM0vD,OAAW,IAAAkO,GAAArB,KAAA1nC,EAAG,GAAA,KAAA,CAAE,GAAA+oC,EAAaC,EAAoBhqB,EAA/BlK,UAM1BkG,GAAa0sB,KAAAzoE,EAAGwoE,MAAAA,GAAiBoB,EAAWx5B,IAElD4P,GAAAyoB,KAAAzoE,EAAA,MnB5DsB,SAAH/C,GACnB,IADyB83C,EAAS93C,EAAT83C,UAAcpiC,EAAOwjB,GAAAl5B,EAAAq8B,IAC9C,OAD8C07B,KAAA/0D,EAAA,KAAA+0D,KAAAh1D,EAAA,KAC9Cg1C,cAAYyf,GAASz3D,OAAMgxB,GAAA,CACzB+mB,UAAW,SAAAjH,GAAYknB,KAAA/0D,EAAA,KAAA+0D,KAAAh1D,EAAA,KACrBgsC,GAAYiJ,kBAAkB7H,GAAWI,OAAOwnB,KAAAh1D,EAAA,KAChDgsC,GAAYiJ,kBAAkB7H,GAAWK,oBAAoBunB,KAAAh1D,EAAA,KAC7Dg1D,KAAAj0B,EAAA,GAAA,MAAA+M,aAAAA,EAAAA,EAAU0H,aAASwf,KAAAj0B,EAAA,GAAA,KAAIuU,EAAMA,OAACC,QAAQzH,EAAS0H,YAAWwf,KAAAh1D,EAAA,KAC1D+0C,SAAAA,GACF,GACGpiC,GACJ,CmBmD6Dq3D,CAC5D,CACEj1B,UAAW,WAAM,IAAAk1B,EAAAC,EAAAzB,KAAAxoE,EAAA,KAAAwoE,KAAAzoE,EAAA,MACfmqE,IAAc1B,KAAAzoE,EAAA,MACdowC,SAAoB,QAAd65B,EAAN75B,EAAQg6B,oBAAY,IAAAH,GAAW,QAAXC,EAApBD,EAAsBl1B,iBAAtBm1B,IAA+BA,GAA/BA,EAAiCx+C,UACnC,KALY0+C,EAAYpqB,EAApBrK,OAAiC00B,EAAgBrqB,EAA3BnK,UAS9B2K,GAAAioB,KAAAzoE,EAAA,MAA8Di1D,GAC5D,CACElgB,UAAW,WAAM,IAAAu1B,EAAAC,EAAA9B,KAAAxoE,EAAA,KAAAwoE,KAAAzoE,EAAA,MACfmqE,IAAc1B,KAAAzoE,EAAA,MACdowC,SAAoB,QAAdk6B,EAANl6B,EAAQo6B,oBAAY,IAAAF,GAAW,QAAXC,EAApBD,EAAsBv1B,iBAAtBw1B,IAA+BA,GAA/BA,EAAiC7+C,UACnC,KALY8+C,EAAYhqB,EAApB7K,OAAiC80B,EAAgBjqB,EAA3B3K,UAO5B4yB,KAAAzoE,EAAA,MAEF,IAAMmqE,EAAc,WAAM1B,KAAAxoE,EAAA,KAAAwoE,KAAAzoE,EAAA,MACxB4oE,IAAaH,KAAAzoE,EAAA,MACbgpE,GAAgB,GAAOP,KAAAzoE,EAAA,MACvBkpE,EAAenK,GAAWC,MAAMyJ,KAAAzoE,EAAA,MAChCmpE,EAA2BpyD,QAAU,CAAE+kD,kBAAkB,IAGrDlmB,GAAY6yB,KAAAzoE,EAAA,MAChByoE,KAAA1nC,EAAAspC,IAAAA,KAAAA,IAAgB5B,KAAA1nC,EAChB0pC,IAAAA,KAAAA,KAAgBhC,KAAA1nC,EAChBsf,IAAAA,KAAAA,KAAcooB,KAAA1nC,WACdgpC,IAAqBtB,KAAAzoE,EAAA,MASrByoE,KAAAzoE,EAAA,MAeAyoE,KAAAzoE,EAAA,MAQAyoE,KAAAzoE,EAAA,MAYAyoE,KAAAzoE,EAAA,MAmCF,OAFEyoE,KAAAzoE,EAAA,MAGAssC,EAAA,QAAAznC,cAAC2iC,EAAS,CACRoJ,UAAWy4B,EAA4Bz4B,UACvC,UAAQ,kCACRmF,gBAAiBszB,EAA4BtzB,gBAC7CpB,OAAQ00B,EAA4B10B,OACpCC,QAASu1B,GAET79B,EAAA,QAAAznC,cAAC2iC,EAAUyI,OAAMyR,GAAA,CAAA,EACX2nB,EAA4B5K,YAAW,CAC3C7tB,UAAWiI,EAAU,QAAC,CACpB,CAAE,6BAA8BowB,IAAgBlK,GAAWC,MACpB2J,QAD0BA,EACjEU,EAA4B5K,mBAA5BkK,IAAuCA,OAAvCA,EAAAA,EAAyC/3B,eAG1C63B,KAAA1nC,EAAAkoC,IAAAA,KAAAA,IAAgBlK,GAAWC,OAAIyJ,KAAA1nC,EAAA,IAAA,KAC9BuL,EAAAA,QAAAznC,cAACirC,SAAM,CACL,aAAW,OACXoB,KAAMw5B,EAAUA,UAChBlwB,KAAK,SACL3wB,MAAM,OACNw4C,aAAc,CACZv9D,QAAS8U,EAAE,gBACX+yB,SAAU,UAEZgD,QA9Ee,WAAM84B,KAAAxoE,EAAA,KAAAwoE,KAAAzoE,EAAA,MACzByoE,KAAA1nC,EAAAkoC,IAAAA,KAAAA,IAAgBlK,GAAWE,WAAQwJ,KAAA1nC,WAAIqoC,EAAsBryD,UAAS0xD,KAAA1nC,EAAA,IAAA,KAAA0nC,KAAAzoE,EAAA,MACxEkpE,EAAenK,GAAWC,QACrByJ,KAAA1nC,EAAA,IAAA,KAAA0nC,KAAAzoE,EAAA,MAAIipE,IAAgBlK,GAAWG,cAAcuJ,KAAA1nC,EAAA,IAAA,KAAA0nC,KAAAzoE,EAAA,MAClDkpE,EAAenK,GAAWE,WAC3BwJ,KAAA1nC,EAAA,IAAA,WA4EGuL,EAAAA,QAAAznC,cAACovC,aAAU,CACTrD,UAAU,2BACV,UAAQ,iCACR/mB,MAAM,KACNsqB,OAAO,YA7EE,WAAMs0B,KAAAxoE,EAAA,KACrB,IAAMu1D,GAAQiT,KAAAzoE,EAAG,MAAAyoE,KAAA1nC,EAAA,IAAA,MAAAqP,aAAAA,EAAAA,EAAQolB,YAAQiT,KAAA1nC,EAAA,IAAA,KAAI,WAErC,OAF8C0nC,KAAAzoE,EAAA,MAEvCsgE,GAAcmI,KAAA1nC,EACjBnnB,IAAAA,KAAAA,EAAE,eAAgB,CAChBu1B,KAAM44B,GAAYvS,EAAZuS,CAAsBp8B,IAAUyD,wBACtCq5B,KAAA1nC,EACFnnB,IAAAA,KAAAA,EAAE,iBAAkB,CAClBu1B,KAAM44B,GAAYvS,EAAZuS,CAAsBp8B,IAAUyD,uBAuErCu7B,KAGLr+B,EAAAA,QAAAznC,cAACmxC,EAAAA,KAAI,CACHrX,IAAKkW,EACLoB,YAAWjoB,GAAAA,MACNswC,IAA2B,CAAA,EAAA,CAC9BnrB,cAAektB,GACbC,EACAvkB,EACA6f,GAEF1lB,SAlHe,SAAAlZ,GAAUyrC,KAAAxoE,EAAA,KAAAwoE,KAAAzoE,EAAA,MAC/BopE,EAAsBryD,QAAUooC,EAAAA,QAAQniB,EAAOi/B,UAAUwM,KAAAzoE,EAAA,MAErDypE,GAAYhB,KAAA1nC,EAAA,IAAA,KAAA0nC,KAAAzoE,EAAA,MAZM,SAAAg9B,GAAUyrC,KAAAxoE,EAAA,KAAAwoE,KAAAzoE,EAAA,MAChCsgE,GAAcmI,KAAA1nC,EAAA,IAAA,KACVypC,EAAa,CACXh8B,GAAI8xB,EAAe9xB,GACnBJ,QAASsyB,GAAc1jC,EAAQsjC,OAC/BmI,KAAA1nC,EAAA,IAAA,KACFqpC,EAAa1J,GAAc1jC,KAO7B4tC,CAAgB5tC,KACXyrC,KAAA1nC,EAAA,IAAA,KAAA0nC,KAAAzoE,EAAA,MACLyoE,KAAA1nC,EAAAkoC,IAAAA,KAAAA,IAAgBlK,GAAWE,WAAQwJ,KAAA1nC,WACnCqoC,EAAsBryD,UACtB0xD,KAAA1nC,EAAA,IAAA,KAAA0nC,KAAAzoE,EAAA,MACAkpE,EAAenK,GAAWG,gBACrBuJ,KAAA1nC,EAAA,IAAA,KAAA0nC,KAAAzoE,EAAA,MAAIipE,IAAgBlK,GAAWC,MAAMyJ,KAAA1nC,EAAA,IAAA,KAAA0nC,KAAAzoE,EAAA,MAC1CkpE,EAAenK,GAAWE,WAC3BwJ,KAAA1nC,EAAA,IAAA,QAuGKqS,eAAgB21B,EAChB11B,iBAAkB01B,MAGnB,SAAA9oB,GAAuB,IAAA4qB,EAAAC,EAApB9tC,EAAMijB,EAANjjB,OAAQpyB,EAAKq1C,EAALr1C,MAAK69D,KAAAxoE,EAAA,MACf,IAAAsoE,GAAAE,KAAAzoE,QAAyBg9B,GAAjB67B,EAAM0P,EAAN1P,OAAQxgB,EAAIkwB,EAAJlwB,KAEhB,OAFgCowB,KAAAzoE,EAAA,MAG9BssC,EAAA,QAAAznC,cAAAynC,UAAAyE,SAAA,KACEzE,EAAA,QAAAznC,cAACitC,GAAkB,CAACC,QAAS8C,IAC7BvI,EAAAA,QAAAznC,cAAC2iC,EAAU6O,KAAIqL,GACT2nB,CAAAA,EAAAA,EAA4B3K,UAAS,CACzC9tB,UAAWiI,EAAU,QAAC,CACpB,yBACqCgyB,QADbA,EACxBxB,EAA4B3K,qBAASmM,SAArCA,EAAuCj6B,cA9FhC,SAACynB,EAAMQ,EAAQxgB,GACpC,OAD6CowB,KAAAxoE,EAAA,MAAAwoE,KAAAzoE,EAAA,MACrCq4D,GACN,KAAK0G,GAAWC,KACd,OADkByJ,KAAA1nC,EAAA,IAAA,KAAA0nC,KAAAzoE,EAAA,MAEhBssC,EAAA,QAAAznC,cAAAynC,EAAAA,QAAAyE,SACG,MAAA03B,KAAA1nC,EAAAu/B,IAAAA,KAAAA,IAAcmI,KAAA1nC,WAAIuL,EAAAA,QAAAznC,cAACm9D,GAAU,CAACR,SAAU1sB,MACzCxI,EAAAA,QAAAznC,cAACw8D,GAAkB,CACjBxI,OAAQA,EACR2I,SAAU1sB,EACVwrB,eAAgBA,IAElBh0B,EAAAA,QAAAznC,cAAC69D,GAAe,CACd9G,YAAaA,EACb9kB,SAAUwpB,EACVjoB,KAAMA,EACNH,MAAO6D,KAIf,KAAKgjB,GAAWE,SACd,OADsBwJ,KAAA1nC,EAAA,IAAA,KAAA0nC,KAAAzoE,EAAA,MAEpBssC,EAAA,QAAAznC,cAAC82D,GAAO,CACNC,YAAaA,EACbC,cAAesN,IAGrB,KAAKpK,GAAWG,aACd,OAD0BuJ,KAAA1nC,EAAA,IAAA,KAAA0nC,KAAAzoE,EAAA,MACnBssC,UAAAznC,cAACi8D,GAAe,MACzB,QACE,OADF2H,KAAA1nC,EAAA,IAAA,KAAA0nC,KAAAzoE,EAAA,MACS,MAoEE+qE,CAAe9B,EAAapQ,EAAQxgB,IAEvC/L,EAAAA,QAAAznC,cAAC2iC,EAAUiP,OAAMiL,GAAA,CAAA,EACX2nB,EAA4B1K,YAAW,CAC3C/tB,UAAWiI,EAAU,QAAC,CACpB,2BACuCiyB,QADbA,EAC1BzB,EAA4B1K,uBAAWmM,SAAvCA,EAAyCl6B,cAG3CtE,EAAAA,QAAAznC,cAACirC,SAAM,CACLD,UAAU44B,KAAA1nC,EAAA,IAAA,MAACn2B,IAAK69D,KAAA1nC,EAAA,IAAA,KAAI6U,IACpBc,QAASd,EACT/rB,MAAM,UACN1X,KAAK,SACL,UACEs3D,GAAUhB,KAAA1nC,EAAA,IAAA,KACN,oCAAiC0nC,KAAA1nC,EAAA,IAAA,KACjC,qCAENgP,MACE05B,GAAUhB,KAAA1nC,EAAA,IAAA,KACNnnB,EAAE,yBAAsB6uD,KAAA1nC,EAAA,IAAA,KACxBnnB,EAAE,qBAER+1B,QAAS,WAAM,OAAA84B,KAAAxoE,EAAA,MAAAwoE,KAAAzoE,EAAA,MAAAgpE,GAAgB,EAAI,IAErC18B,EAAAA,QAAAznC,cAACirC,SAAM,CACL,UAAQ,kCACRC,MAAOn2B,EAAE,kBACTiQ,MAAM,OACN8lB,QAASw6B,KAKlB,IAIT,09CC/QY,OAAAa,cAAA,OAAA/qC,CAAA,EAAAA,CAAA,CAAA+qC,KANkCA,KAAAhrE,EAAA,KAE9C,IAAMu5C,GAAO,SAAHt8C,GAMJ,IALJguE,EAAYhuE,EAAZguE,aACAC,EAAwBjuE,EAAxBiuE,yBACAC,EAAUluE,EAAVkuE,WACAC,EAAYnuE,EAAZmuE,aACA5V,EAAQv4D,EAARu4D,SAAQwV,KAAA/qE,EAAA,KAER,IAAMorE,GAAgBL,KAAAhrE,EAAGyR,KAAAA,EAAAA,KAAK4lD,KAE9B,OAF6C2T,KAAAhrE,EAAA,KAG3CssC,EAAA,QAAAznC,cAACymE,UAAO,CACN,UAAQ,8BACRC,SAAUJ,EACVpoC,MAAOyyB,EAAS5pB,KAEfy/B,EAAiB3wD,KAAI,SAAA9I,GACpB,OAAAo5D,KAAA/qE,EAAA,KAAA+qE,KAAAhrE,EAAA,KAAAssC,UAAAznC,cAACymE,EAAOA,QAACE,MAAK,CACZ1uD,OF+O0B2uD,EE/OCR,EF+OiB72B,EE/OHxiC,EFgPjDuzD,KAAAllE,EAAA,MAAAklE,KAAAnlE,EAAA,MAAA0rE,EAAKA,MAACD,IAAiBtG,KAAApkC,EACnBs2B,IAAAA,KAAAA,GAAcjjB,GAAUmjB,eAAY4N,KAAApkC,EACpC0qC,IAAAA,KAAAA,EAAiBr3B,aAAAA,EAAAA,EAAUr2C,iBEjPvB,UAAA,uBAAAsI,OAAgCi9D,EAAOA,QAAC1xD,GAAgB,UACxDhC,IAAKgC,EACLm+B,MAAOsnB,GAAczlD,GAAQm+B,MAC7B6oB,QACEoS,KAAAjqC,EAAAsqC,GAAAA,KAAAA,EAAiBrmD,SAASomD,KAAaJ,KAAAjqC,EACvCiY,GAAAA,KAAAA,EAASA,UAACpnC,EAAQw5D,KAEpBz7B,QAAS,WAAM,OAAAq7B,KAAA/qE,EAAA,KAAA+qE,KAAAhrE,EAAA,KAAAkrE,EAAyBt5D,EAAM,IFuOrB,IAAC65D,EAAkBr3B,CErO/C,IAGP,41EC1BY,OAAAu3B,cAAA,OAAA1rC,CAAA,EAAAA,CAAA,CAAA,SAAAlS,GAAAtuB,EAAA+R,GAAA,IAAAC,EAAA1Y,OAAA0Y,KAAAhS,MAAA1G,OAAA2Y,sBAAA,CAAA,IAAAC,EAAA5Y,OAAA2Y,sBAAAjS,GAAA+R,IAAAG,EAAAA,EAAAC,QAAAC,SAAAA,GAAA9Y,OAAAA,OAAA8D,yBAAA4C,EAAAoS,GAAAjL,UAAA,KAAA6K,EAAAzX,KAAAC,MAAAwX,EAAAE,EAAA,CAAA,OAAAF,CAAA,CAAA,SAAAuc,GAAA5d,GAAA,IAAA,IAAA5V,EAAAA,EAAAA,EAAAH,UAAAgB,OAAAb,IAAAuX,CAAAA,IAAAA,QAAA1X,UAAAG,GAAAH,UAAAG,MAAAA,EAAA,EAAAuzB,GAAAh1B,OAAAgZ,IAAA,GAAAtU,SAAAmS,SAAAA,GAAAyB,GAAAjB,EAAAR,EAAAmC,EAAAnC,GAAA,IAAA7W,OAAAiZ,0BAAAjZ,OAAAkZ,iBAAA7B,EAAArX,OAAAiZ,0BAAAD,IAAAgc,GAAAh1B,OAAAgZ,IAAAtU,kBAAAmS,GAAA7W,OAAAwX,eAAAH,EAAAR,EAAA7W,OAAA8D,yBAAAkV,EAAAnC,cAAAQ,CAAA,CAAAu7D,KAEgEA,KAAA3rE,EAAA,KAE5E,IAAM4rE,GAAa,SAAH3uE,GAAmB,IAAAyyC,EAAAm8B,EAAbz7B,EAAMnzC,EAANmzC,OAAMu7B,KAAA1rE,EAAA,KAC1B,IAA0DwvC,EAAAn1C,IAA1DqxE,KAAA3rE,EAA8Cy/B,KAAAA,EAAAA,SAAS,KAAG,GAAnDqsC,EAAer8B,EAAA,GAAEs8B,EAAkBt8B,EAAA,GACpC+lB,GAAQmW,KAAA3rE,EAAG+nE,KAAAA,IAAY4D,KAAA5qC,EAAA,GAAA,MAAAqP,aAAAA,EAAAA,EAAQolB,YAAQmW,KAAA5qC,EAAI,GAAA,KAAA,aAC3CirC,GAAmBL,KAAA3rE,EAAA,KAAGisE,EAAAA,4BAAmBN,KAAA5qC,EAC7CqP,GAAAA,KAD6CV,EAC7CU,aAAAA,EAAAA,EAAQ0qB,qBAAa,IAAAprB,EAAAA,GAAAi8B,KAAA5qC,EAAA,GAAA,KAAI+3B,MAWzBhf,EAAAx/C,IARFqxE,KAAA3rE,EAA8By/B,KAAAA,WAAQzR,GAAAA,GAAAA,GAAA,CAAA,EACjCoqC,IACAhoB,aAAM,EAANA,EAAQ87B,qBAAmB,GAAA,CAC9BxT,aAAcsT,EACd53B,SAAUi0B,GACRnQ,GACA9nB,SAA2B,QAArBy7B,EAANz7B,EAAQ87B,2BAARL,IAA2BA,OAArB,EAANA,EAA6Bz3B,cAE/B,GARKmlB,EAAOzf,EAAA,GAAE2tB,EAAU3tB,EAAA,GASpBqyB,GAAeR,KAAA3rE,EAAA,KAAGosE,EAAAA,YAAY7S,EAAQ5lC,OAAQ,MAC9C04C,GAAwBV,KAAA3rE,EAAGosE,KAAAA,cAAYN,EAAiB,MAExDQ,GAAwBX,KAAA3rE,EAAG0rE,KAAAA,QAAMt7B,aAAM,EAANA,EAAQ0qB,gBAC/C9gB,GAAA2xB,KAAA3rE,EAAA,KrBc4B,SAAHq0C,GACzB,IAAAk4B,EAAAl4B,EAD+BvgB,OAAAA,OAAM,IAAAy4C,GAAAvX,KAAAj0B,EAAG,GAAA,KAAA,CAAE,GAAAwrC,EAAAC,EAAAn4B,EAAE1hC,QAAAA,OAAO,IAAA65D,GAAAxX,KAAAj0B,EAAG,GAAA,KAAA,CAAA,GAAEyrC,EACxD,OADwDxX,KAAA/0D,EAAA,MAAA+0D,KAAAh1D,EAAA,MACxD4tC,EAAQA,SACN,CAACR,GAAWK,mBAAoB3Z,IAChC,WAAM,OAAAkhC,KAAA/0D,EAAA,MAAA+0D,KAAAh1D,EAAA,MAAAy0D,GAASI,mBAAmB/gC,EAAO,GAAA9F,GAAA,CAEvC6f,UAAWV,GACX3oB,OAAQ,SAAAspB,GAAY,OAAAknB,KAAA/0D,EAAA,MAAA+0D,KAAAh1D,EAAA,MAAAg1D,KAAAj0B,EAAA,GAAA,KAAA+M,EAAS5hC,OAAI8oD,KAAAj0B,EAAA,GAAA,KAAI+M,EAAO,GACzCn7B,GAEP,CqBtBE85D,CAAsB,CACpB34C,OAAQ,CACNg4C,gBAAiBO,GAEnB15D,QAAS,CAAEszB,QAASqmC,MACpBI,EAAA1yB,EANI9tC,KAAMygE,OAAa,IAAAD,GAAAf,KAAA5qC,EAAG,GAAA,KAAA,CAAE,GAAA2rC,EAAaE,EAAsB5yB,EAAjCnE,UAQ5BilB,GAAa6Q,KAAA3rE,EAAA,KAAGssE,GAAwBX,KAAA5qC,EAAA,GAAA,KH8Od,SAAHkf,GAGzB,IAAA4sB,EAAA5sB,EAFJttC,QAAOm6D,EAAAD,EAAIhU,OAAAA,OAAMsM,IAAA2H,GAAA3H,KAAApkC,EAAA,IAAA,KAAG,IAAE+rC,EAAAC,EAAAF,EAAEj+B,kBAAAA,OAAiBu2B,IAAA4H,GAAA5H,KAAApkC,EAAA,IAAA,KAAG,IAAEgsC,EAAAC,EAAA/sB,EAC9CgtB,YAAe7uB,EAAa4uB,EAAb5uB,cAAevI,EAASm3B,EAATn3B,UAASsvB,KAAAllE,EAAA,MAEvC,IAAMitE,GAAY/H,KAAAnlE,EAAG,MAAA,CACnB0gC,MAAOm4B,EAAOn+C,IAAIqiD,mBAClB1kB,KAAMzJ,EAAkBl0B,IAAIqiD,qBAG9B,OAFEoI,KAAAnlE,EAAA,MAEK84D,GAA8Bp+C,KAAI,SAAAyyD,GAAUhI,KAAAllE,EAAA,MACjD,IAAM+8B,GAAMmoC,KAAAnlE,EAAGktE,MAAAA,EAAaC,EAAOv9D,MACnC,GADwCu1D,KAAAnlE,EAAA,MACrB,SAAfmtE,EAAOv9D,IAAgB,OAAAu1D,KAAApkC,EAAA,IAAA,KAAAokC,KAAAnlE,EAAA,MAAOotE,QAAM,SAAUpwC,EAAQmwC,GAAQhI,KAAApkC,EAAA,IAAA,KAElE,IAAMksC,GAAW9H,KAAAnlE,EAAG,MAAA,CAClBg9B,OAAAA,EACA6Y,UAAAA,EACAw3B,cAAejvB,IAGjB,OAFE+mB,KAAAnlE,EAAA,MAEK8nE,EAASA,UAACmF,EAAaE,EAChC,GACF,CGlQMG,CAAmB,CACjB36D,QAASg6D,EACTM,YAAa,CACX7uB,cAAe2tB,EACfl2B,UAAW+2B,OAEbjB,KAAA5qC,EAAA,GAAA,KACFqP,aAAM,EAANA,EAAQ0qB,gBAENjqB,GAAW86B,KAAA3rE,EAAG,MAAA,CAClB,UAAW,2BACXivC,SAAU,SAAA8P,GACR,IADqB3jD,EAAK2jD,EAAf3uC,OAAUhV,MACrB,OAD0BuwE,KAAA1rE,EAAA,KAAA0rE,KAAA3rE,EAAA,MAC1BynE,EAAWK,EAAAA,UAAU,CAAEn0C,OAAQv4B,EAAOi9D,KAAMT,KAAuB,EACrE1oB,YAAa/W,GAAKve,EAAE,iBAAkB,CACpCu1B,KAAMqmB,EAAS5pB,IAAQwD,sBAEzBh0C,MAAOm+D,EAAQ5lC,SAGjB,OAFEg4C,KAAA3rE,EAAA,MAEK,CACLu5D,QAAAA,EACAkO,WAAAA,EACA3M,cAAAA,EACAqR,gBAAAA,EACAt7B,YAAAA,EAEJ,EC1EA,SAAS08B,GAAmBloB,EAAKhxC,EAASC,EAAQk5D,EAAOC,EAAQ79D,EAAKD,GACpE,IACE,IAAI+9D,EAAOroB,EAAIz1C,GAAKD,GAChBvU,EAAQsyE,EAAKtyE,KAClB,CAAC,MAAOmX,GAEP,YADA+B,EAAO/B,EAER,CACGm7D,EAAKvyE,KACPkZ,EAAQjZ,GAERgZ,QAAQC,QAAQjZ,GAAO4xB,KAAKwgD,EAAOC,EAEvC,iFCbA,SAASn1E,EAAQC,GAGf,OAAQygB,EAAA2oB,QAAiBrpC,EAAU,mBAAqBE,QAAU,iBAAmBA,OAAOC,SAAW,SAAUF,GAC/G,cAAcA,CACf,EAAG,SAAUA,GACZ,OAAOA,GAAO,mBAAqBC,QAAUD,EAAIG,cAAgBF,QAAUD,IAAQC,OAAOG,UAAY,gBAAkBJ,CACzH,EAAEygB,EAA4B2oB,QAAAE,YAAA,EAAM7oB,EAAO2oB,QAAiB,QAAI3oB,EAAO2oB,QAAUrpC,EAAQC,EAC3F,CACDygB,EAAA2oB,QAAiBrpC,EAAS0gB,EAA4B2oB,QAAAE,YAAA,EAAM7oB,EAAO2oB,QAAiB,QAAI3oB,EAAO2oB,sECT/F,IAAIrpC,EAAUozC,GAAgC,QAC9C,SAASiiC,IAEP30D,EAAiB2oB,QAAAgsC,EAAsB,WACrC,OAAOhsC,CACX,EAAK3oB,EAAA2oB,QAAAE,YAA4B,EAAM7oB,EAAO2oB,QAAiB,QAAI3oB,EAAO2oB,QACxE,IAAIA,EAAU,CAAE,EACdisC,EAAK70E,OAAOJ,UACZ6sD,EAASooB,EAAG74D,eACZxE,EAAiBxX,OAAOwX,gBAAkB,SAAUhY,EAAKqX,EAAKjP,GAC5DpI,EAAIqX,GAAOjP,EAAKvF,KACjB,EACDyyE,EAAU,mBAAqBr1E,OAASA,OAAS,CAAE,EACnDs1E,EAAiBD,EAAQp1E,UAAY,aACrCs1E,EAAsBF,EAAQG,eAAiB,kBAC/CC,EAAoBJ,EAAQvkB,aAAe,gBAC7C,SAAS4kB,EAAO31E,EAAKqX,EAAKxU,GACxB,OAAOrC,OAAOwX,eAAehY,EAAKqX,EAAK,CACrCxU,MAAOA,EACPwL,YAAY,EACZD,cAAc,EACdD,UAAU,IACRnO,EAAIqX,EACT,CACD,IACEs+D,EAAO,CAAA,EAAI,GACZ,CAAC,MAAO5yE,GACP4yE,EAAS,SAAgB31E,EAAKqX,EAAKxU,GACjC,OAAO7C,EAAIqX,GAAOxU,CACxB,CACG,CACD,SAAS+yE,EAAKC,EAASC,EAASx9D,EAAMy9D,GACpC,IAAIC,EAAiBF,GAAWA,EAAQ11E,qBAAqB61E,EAAYH,EAAUG,EACjFC,EAAY11E,OAAOiE,OAAOuxE,EAAe51E,WACzCymB,EAAU,IAAIsvD,EAAQJ,GAAe,IACvC,OAAO/9D,EAAek+D,EAAW,UAAW,CAC1CrzE,MAAOuzE,EAAiBP,EAASv9D,EAAMuO,KACrCqvD,CACL,CACD,SAASG,EAAStlD,EAAI/wB,EAAKoX,GACzB,IACE,MAAO,CACLwC,KAAM,SACNxC,IAAK2Z,EAAG1vB,KAAKrB,EAAKoX,GAErB,CAAC,MAAOrU,GACP,MAAO,CACL6W,KAAM,QACNxC,IAAKrU,EAER,CACF,CACDqmC,EAAQwsC,KAAOA,EACf,IAAIU,EAAmB,CAAA,EACvB,SAASL,IAAc,CACvB,SAASM,IAAsB,CAC/B,SAASC,IAA+B,CACxC,IAAIC,EAAoB,CAAA,EACxBd,EAAOc,EAAmBlB,GAAgB,WACxC,OAAOz7D,IACX,IACE,IAAI6wC,EAAWnqD,OAAO6D,eACpBqyE,EAA0B/rB,GAAYA,EAASA,EAASlmB,EAAO,MACjEiyC,GAA2BA,IAA4BrB,GAAMpoB,EAAO5rD,KAAKq1E,EAAyBnB,KAAoBkB,EAAoBC,GAC1I,IAAIC,EAAKH,EAA2Bp2E,UAAY61E,EAAU71E,UAAYI,OAAOiE,OAAOgyE,GACpF,SAASG,EAAsBx2E,GAC7B,CAAC,OAAQ,QAAS,UAAU8E,SAAQ,SAAU2xE,GAC5ClB,EAAOv1E,EAAWy2E,GAAQ,SAAUz/D,GAClC,OAAO0C,KAAKg9D,QAAQD,EAAQz/D,EACpC,GACA,GACG,CACD,SAAS2/D,EAAcb,EAAWc,GAChC,SAASC,EAAOJ,EAAQz/D,EAAK0E,EAASC,GACpC,IAAIm7D,EAASb,EAASH,EAAUW,GAASX,EAAW9+D,GACpD,GAAI,UAAY8/D,EAAOt9D,KAAM,CAC3B,IAAIsE,EAASg5D,EAAO9/D,IAClBvU,EAAQqb,EAAOrb,MACjB,OAAOA,GAAS,UAAY9C,EAAQ8C,IAAUoqD,EAAO5rD,KAAKwB,EAAO,WAAam0E,EAAYl7D,QAAQjZ,EAAMs0E,SAAS1iD,MAAK,SAAU5xB,GAC9Ho0E,EAAO,OAAQp0E,EAAOiZ,EAASC,EAChC,IAAE,SAAUhZ,GACXk0E,EAAO,QAASl0E,EAAK+Y,EAASC,EACxC,IAAai7D,EAAYl7D,QAAQjZ,GAAO4xB,MAAK,SAAU2iD,GAC7Cl5D,EAAOrb,MAAQu0E,EAAWt7D,EAAQoC,EACnC,IAAE,SAAUlE,GACX,OAAOi9D,EAAO,QAASj9D,EAAO8B,EAASC,EACjD,GACO,CACDA,EAAOm7D,EAAO9/D,IACf,CACD,IAAIigE,EACJr/D,EAAe8B,KAAM,UAAW,CAC9BjX,MAAO,SAAeg0E,EAAQz/D,GAC5B,SAASkgE,IACP,OAAO,IAAIN,GAAY,SAAUl7D,EAASC,GACxCk7D,EAAOJ,EAAQz/D,EAAK0E,EAASC,EACzC,GACS,CACD,OAAOs7D,EAAkBA,EAAkBA,EAAgB5iD,KAAK6iD,EAA4BA,GAA8BA,GAC3H,GAEJ,CACD,SAASlB,EAAiBP,EAASv9D,EAAMuO,GACvC,IAAImM,EAAQ,iBACZ,OAAO,SAAU6jD,EAAQz/D,GACvB,GAAI,cAAgB4b,EAAO,MAAM,IAAIoE,MAAM,gCAC3C,GAAI,cAAgBpE,EAAO,CACzB,GAAI,UAAY6jD,EAAQ,MAAMz/D,EAC9B,OAAOmgE,GACR,CACD,IAAK1wD,EAAQgwD,OAASA,EAAQhwD,EAAQzP,IAAMA,IAAO,CACjD,IAAIogE,EAAW3wD,EAAQ2wD,SACvB,GAAIA,EAAU,CACZ,IAAIC,EAAiBC,EAAoBF,EAAU3wD,GACnD,GAAI4wD,EAAgB,CAClB,GAAIA,IAAmBnB,EAAkB,SACzC,OAAOmB,CACR,CACF,CACD,GAAI,SAAW5wD,EAAQgwD,OAAQhwD,EAAQ8wD,KAAO9wD,EAAQ+wD,MAAQ/wD,EAAQzP,SAAS,GAAI,UAAYyP,EAAQgwD,OAAQ,CAC7G,GAAI,mBAAqB7jD,EAAO,MAAMA,EAAQ,YAAanM,EAAQzP,IACnEyP,EAAQgxD,kBAAkBhxD,EAAQzP,IAC5C,KAAe,WAAayP,EAAQgwD,QAAUhwD,EAAQixD,OAAO,SAAUjxD,EAAQzP,KACvE4b,EAAQ,YACR,IAAIkkD,EAASb,EAASR,EAASv9D,EAAMuO,GACrC,GAAI,WAAaqwD,EAAOt9D,KAAM,CAC5B,GAAIoZ,EAAQnM,EAAQjkB,KAAO,YAAc,iBAAkBs0E,EAAO9/D,MAAQk/D,EAAkB,SAC5F,MAAO,CACLzzE,MAAOq0E,EAAO9/D,IACdxU,KAAMikB,EAAQjkB,KAEjB,CACD,UAAYs0E,EAAOt9D,OAASoZ,EAAQ,YAAanM,EAAQgwD,OAAS,QAAShwD,EAAQzP,IAAM8/D,EAAO9/D,IACjG,CACP,CACG,CACD,SAASsgE,EAAoBF,EAAU3wD,GACrC,IAAIkxD,EAAalxD,EAAQgwD,OACvBA,EAASW,EAASt3E,SAAS63E,GAC7B,QAAIjtE,IAAc+rE,EAAQ,OAAOhwD,EAAQ2wD,SAAW,KAAM,UAAYO,GAAcP,EAASt3E,SAAiB,SAAM2mB,EAAQgwD,OAAS,SAAUhwD,EAAQzP,SAAMtM,EAAW4sE,EAAoBF,EAAU3wD,GAAU,UAAYA,EAAQgwD,SAAW,WAAakB,IAAelxD,EAAQgwD,OAAS,QAAShwD,EAAQzP,IAAM,IAAIlU,UAAU,oCAAsC60E,EAAa,aAAczB,EAClY,IAAIY,EAASb,EAASQ,EAAQW,EAASt3E,SAAU2mB,EAAQzP,KACzD,GAAI,UAAY8/D,EAAOt9D,KAAM,OAAOiN,EAAQgwD,OAAS,QAAShwD,EAAQzP,IAAM8/D,EAAO9/D,IAAKyP,EAAQ2wD,SAAW,KAAMlB,EACjH,IAAInB,EAAO+B,EAAO9/D,IAClB,OAAO+9D,EAAOA,EAAKvyE,MAAQikB,EAAQ2wD,EAASQ,YAAc7C,EAAKtyE,MAAOgkB,EAAQlkB,KAAO60E,EAASS,QAAS,WAAapxD,EAAQgwD,SAAWhwD,EAAQgwD,OAAS,OAAQhwD,EAAQzP,SAAMtM,GAAY+b,EAAQ2wD,SAAW,KAAMlB,GAAoBnB,GAAQtuD,EAAQgwD,OAAS,QAAShwD,EAAQzP,IAAM,IAAIlU,UAAU,oCAAqC2jB,EAAQ2wD,SAAW,KAAMlB,EACpW,CACD,SAAS4B,EAAaC,GACpB,IAAIllC,EAAQ,CACVmlC,OAAQD,EAAK,IAEf,KAAKA,IAASllC,EAAMolC,SAAWF,EAAK,IAAK,KAAKA,IAASllC,EAAMqlC,WAAaH,EAAK,GAAIllC,EAAMslC,SAAWJ,EAAK,IAAKr+D,KAAK0+D,WAAW/2E,KAAKwxC,EACpI,CACD,SAASwlC,EAAcxlC,GACrB,IAAIikC,EAASjkC,EAAMylC,YAAc,GACjCxB,EAAOt9D,KAAO,gBAAiBs9D,EAAO9/D,IAAK67B,EAAMylC,WAAaxB,CAC/D,CACD,SAASf,EAAQJ,GACfj8D,KAAK0+D,WAAa,CAAC,CACjBJ,OAAQ,SACNrC,EAAY7wE,QAAQgzE,EAAcp+D,MAAOA,KAAKgN,OAAM,EACzD,CACD,SAAS2d,EAAOk0C,GACd,GAAIA,EAAU,CACZ,IAAIC,EAAiBD,EAASpD,GAC9B,GAAIqD,EAAgB,OAAOA,EAAev3E,KAAKs3E,GAC/C,GAAI,mBAAqBA,EAASh2E,KAAM,OAAOg2E,EAC/C,IAAK/nD,MAAM+nD,EAAS71E,QAAS,CAC3B,IAAIb,GAAK,EACPU,EAAO,SAASA,IACd,OAASV,EAAI02E,EAAS71E,QAAS,GAAImqD,EAAO5rD,KAAKs3E,EAAU12E,GAAI,OAAOU,EAAKE,MAAQ81E,EAAS12E,GAAIU,EAAKC,MAAO,EAAID,EAC9G,OAAOA,EAAKE,WAAQiI,EAAWnI,EAAKC,MAAO,EAAID,CAC3D,EACQ,OAAOA,EAAKA,KAAOA,CACpB,CACF,CACD,MAAO,CACLA,KAAM40E,EAET,CACD,SAASA,IACP,MAAO,CACL10E,WAAOiI,EACPlI,MAAM,EAET,CACD,OAAO2zE,EAAkBn2E,UAAYo2E,EAA4Bx+D,EAAe2+D,EAAI,cAAe,CACjG9zE,MAAO2zE,EACPpoE,cAAc,IACZ4J,EAAew+D,EAA4B,cAAe,CAC5D3zE,MAAO0zE,EACPnoE,cAAc,IACZmoE,EAAkBnJ,YAAcuI,EAAOa,EAA4Bd,EAAmB,qBAAsBtsC,EAAQyvC,oBAAsB,SAAUC,GACtJ,IAAIC,EAAO,mBAAqBD,GAAUA,EAAO34E,YACjD,QAAS44E,IAASA,IAASxC,GAAqB,uBAAyBwC,EAAK3L,aAAe2L,EAAKh1E,MACtG,EAAKqlC,EAAQ4vC,KAAO,SAAUF,GAC1B,OAAOt4E,OAAOC,eAAiBD,OAAOC,eAAeq4E,EAAQtC,IAA+BsC,EAAOp4E,UAAY81E,EAA4Bb,EAAOmD,EAAQpD,EAAmB,sBAAuBoD,EAAO14E,UAAYI,OAAOiE,OAAOkyE,GAAKmC,CAC9O,EAAK1vC,EAAQ6vC,MAAQ,SAAU7hE,GAC3B,MAAO,CACL+/D,QAAS//D,EAEf,EAAKw/D,EAAsBG,EAAc32E,WAAYu1E,EAAOoB,EAAc32E,UAAWo1E,GAAqB,WACtG,OAAO17D,IACR,IAAGsvB,EAAQ2tC,cAAgBA,EAAe3tC,EAAQtR,MAAQ,SAAU+9C,EAASC,EAASx9D,EAAMy9D,EAAaiB,QACxG,IAAWA,IAAgBA,EAAcn7D,SACzC,IAAItY,EAAO,IAAIwzE,EAAcnB,EAAKC,EAASC,EAASx9D,EAAMy9D,GAAciB,GACxE,OAAO5tC,EAAQyvC,oBAAoB/C,GAAWvyE,EAAOA,EAAKZ,OAAO8xB,MAAK,SAAUvW,GAC9E,OAAOA,EAAOtb,KAAOsb,EAAOrb,MAAQU,EAAKZ,MAC/C,GACG,EAAEi0E,EAAsBD,GAAKhB,EAAOgB,EAAIjB,EAAmB,aAAcC,EAAOgB,EAAIpB,GAAgB,WACnG,OAAOz7D,IACR,IAAG67D,EAAOgB,EAAI,YAAY,WACzB,MAAO,oBACR,IAAGvtC,EAAQlwB,KAAO,SAAUmV,GAC3B,IAAInnB,EAAS1G,OAAO6tB,GAClBnV,EAAO,GACT,IAAK,IAAI7B,KAAOnQ,EAAQgS,EAAKzX,KAAK4V,GAClC,OAAO6B,EAAKi4D,UAAW,SAASxuE,IAC9B,KAAOuW,EAAKpW,QAAS,CACnB,IAAIuU,EAAM6B,EAAK9T,MACf,GAAIiS,KAAOnQ,EAAQ,OAAOvE,EAAKE,MAAQwU,EAAK1U,EAAKC,MAAO,EAAID,CAC7D,CACD,OAAOA,EAAKC,MAAO,EAAID,CAC7B,CACG,EAAEymC,EAAQ3E,OAASA,EAAQ0xC,EAAQ/1E,UAAY,CAC9CD,YAAag2E,EACbrvD,MAAO,SAAeoyD,GACpB,GAAIp/D,KAAKk5C,KAAO,EAAGl5C,KAAKnX,KAAO,EAAGmX,KAAK69D,KAAO79D,KAAK89D,WAAQ9sE,EAAWgP,KAAKlX,MAAO,EAAIkX,KAAK09D,SAAW,KAAM19D,KAAK+8D,OAAS,OAAQ/8D,KAAK1C,SAAMtM,EAAWgP,KAAK0+D,WAAWtzE,QAAQuzE,IAAiBS,EAAe,IAAK,IAAIn1E,KAAQ+V,KAAM,MAAQ/V,EAAK+kB,OAAO,IAAMmkC,EAAO5rD,KAAKyY,KAAM/V,KAAU6sB,OAAO7sB,EAAKD,MAAM,MAAQgW,KAAK/V,QAAQ+G,EACrU,EACDquE,KAAM,WACJr/D,KAAKlX,MAAO,EACZ,IAAIw2E,EAAat/D,KAAK0+D,WAAW,GAAGE,WACpC,GAAI,UAAYU,EAAWx/D,KAAM,MAAMw/D,EAAWhiE,IAClD,OAAO0C,KAAKu/D,IACb,EACDxB,kBAAmB,SAA2ByB,GAC5C,GAAIx/D,KAAKlX,KAAM,MAAM02E,EACrB,IAAIzyD,EAAU/M,KACd,SAAS4G,EAAO64D,EAAKC,GACnB,OAAOtC,EAAOt9D,KAAO,QAASs9D,EAAO9/D,IAAMkiE,EAAWzyD,EAAQlkB,KAAO42E,EAAKC,IAAW3yD,EAAQgwD,OAAS,OAAQhwD,EAAQzP,SAAMtM,KAAc0uE,CAC3I,CACD,IAAK,IAAIv3E,EAAI6X,KAAK0+D,WAAW11E,OAAS,EAAGb,GAAK,IAAKA,EAAG,CACpD,IAAIgxC,EAAQn5B,KAAK0+D,WAAWv2E,GAC1Bi1E,EAASjkC,EAAMylC,WACjB,GAAI,SAAWzlC,EAAMmlC,OAAQ,OAAO13D,EAAO,OAC3C,GAAIuyB,EAAMmlC,QAAUt+D,KAAKk5C,KAAM,CAC7B,IAAIymB,EAAWxsB,EAAO5rD,KAAK4xC,EAAO,YAChCymC,EAAazsB,EAAO5rD,KAAK4xC,EAAO,cAClC,GAAIwmC,GAAYC,EAAY,CAC1B,GAAI5/D,KAAKk5C,KAAO/f,EAAMolC,SAAU,OAAO33D,EAAOuyB,EAAMolC,UAAU,GAC9D,GAAIv+D,KAAKk5C,KAAO/f,EAAMqlC,WAAY,OAAO53D,EAAOuyB,EAAMqlC,WACvD,MAAM,GAAImB,GACT,GAAI3/D,KAAKk5C,KAAO/f,EAAMolC,SAAU,OAAO33D,EAAOuyB,EAAMolC,UAAU,OACzD,CACL,IAAKqB,EAAY,MAAM,IAAItiD,MAAM,0CACjC,GAAItd,KAAKk5C,KAAO/f,EAAMqlC,WAAY,OAAO53D,EAAOuyB,EAAMqlC,WACvD,CACF,CACF,CACF,EACDR,OAAQ,SAAgBl+D,EAAMxC,GAC5B,IAAK,IAAInV,EAAI6X,KAAK0+D,WAAW11E,OAAS,EAAGb,GAAK,IAAKA,EAAG,CACpD,IAAIgxC,EAAQn5B,KAAK0+D,WAAWv2E,GAC5B,GAAIgxC,EAAMmlC,QAAUt+D,KAAKk5C,MAAQ/F,EAAO5rD,KAAK4xC,EAAO,eAAiBn5B,KAAKk5C,KAAO/f,EAAMqlC,WAAY,CACjG,IAAIqB,EAAe1mC,EACnB,KACD,CACF,CACD0mC,IAAiB,UAAY//D,GAAQ,aAAeA,IAAS+/D,EAAavB,QAAUhhE,GAAOA,GAAOuiE,EAAarB,aAAeqB,EAAe,MAC7I,IAAIzC,EAASyC,EAAeA,EAAajB,WAAa,CAAA,EACtD,OAAOxB,EAAOt9D,KAAOA,EAAMs9D,EAAO9/D,IAAMA,EAAKuiE,GAAgB7/D,KAAK+8D,OAAS,OAAQ/8D,KAAKnX,KAAOg3E,EAAarB,WAAYhC,GAAoBx8D,KAAK8/D,SAAS1C,EAC3J,EACD0C,SAAU,SAAkB1C,EAAQqB,GAClC,GAAI,UAAYrB,EAAOt9D,KAAM,MAAMs9D,EAAO9/D,IAC1C,MAAO,UAAY8/D,EAAOt9D,MAAQ,aAAes9D,EAAOt9D,KAAOE,KAAKnX,KAAOu0E,EAAO9/D,IAAM,WAAa8/D,EAAOt9D,MAAQE,KAAKu/D,KAAOv/D,KAAK1C,IAAM8/D,EAAO9/D,IAAK0C,KAAK+8D,OAAS,SAAU/8D,KAAKnX,KAAO,OAAS,WAAau0E,EAAOt9D,MAAQ2+D,IAAaz+D,KAAKnX,KAAO41E,GAAWjC,CACrQ,EACDz/C,OAAQ,SAAgByhD,GACtB,IAAK,IAAIr2E,EAAI6X,KAAK0+D,WAAW11E,OAAS,EAAGb,GAAK,IAAKA,EAAG,CACpD,IAAIgxC,EAAQn5B,KAAK0+D,WAAWv2E,GAC5B,GAAIgxC,EAAMqlC,aAAeA,EAAY,OAAOx+D,KAAK8/D,SAAS3mC,EAAMylC,WAAYzlC,EAAMslC,UAAWE,EAAcxlC,GAAQqjC,CACpH,CACF,EACDuD,MAAS,SAAgBzB,GACvB,IAAK,IAAIn2E,EAAI6X,KAAK0+D,WAAW11E,OAAS,EAAGb,GAAK,IAAKA,EAAG,CACpD,IAAIgxC,EAAQn5B,KAAK0+D,WAAWv2E,GAC5B,GAAIgxC,EAAMmlC,SAAWA,EAAQ,CAC3B,IAAIlB,EAASjkC,EAAMylC,WACnB,GAAI,UAAYxB,EAAOt9D,KAAM,CAC3B,IAAIkgE,EAAS5C,EAAO9/D,IACpBqhE,EAAcxlC,EACf,CACD,OAAO6mC,CACR,CACF,CACD,MAAM,IAAI1iD,MAAM,wBACjB,EACD2iD,cAAe,SAAuBpB,EAAUX,EAAYC,GAC1D,OAAOn+D,KAAK09D,SAAW,CACrBt3E,SAAUukC,EAAOk0C,GACjBX,WAAYA,EACZC,QAASA,GACR,SAAWn+D,KAAK+8D,SAAW/8D,KAAK1C,SAAMtM,GAAYwrE,CACtD,GACAltC,CACJ,CACD3oB,EAAA2oB,QAAiBgsC,EAAqB30D,EAA4B2oB,QAAAE,YAAA,EAAM7oB,EAAO2oB,QAAiB,QAAI3oB,EAAO2oB,aC7S3G,IAAI4wC,GAAU7mC,KACd8mC,GAAiBD,GAGjB,IACEE,mBAAqBF,EACvB,CAAE,MAAOG,GACmB,iBAAfC,WACTA,WAAWF,mBAAqBF,GAEhCp4E,SAAS,IAAK,yBAAdA,CAAwCo4E,GAE5C,8lICCY,OAAAK,cAAA,OAAA3yC,CAAA,EAAAA,CAAA,CAAA,SAAAlS,GAAAtuB,EAAA+R,GAAA,IAAAC,EAAA1Y,OAAA0Y,KAAAhS,MAAA1G,OAAA2Y,sBAAA,CAAA,IAAAC,EAAA5Y,OAAA2Y,sBAAAjS,GAAA+R,IAAAG,EAAAA,EAAAC,QAAAC,SAAAA,GAAA9Y,OAAAA,OAAA8D,yBAAA4C,EAAAoS,GAAAjL,UAAA,KAAA6K,EAAAzX,KAAAC,MAAAwX,EAAAE,EAAA,CAAA,OAAAF,CAAA,CAAAmhE,KALqDA,KAAA5yE,EAAA,KAEjE,IAAM6yE,GAAW,SAAH51E,GAAsD,IAAhDmzC,EAAMnzC,EAANmzC,OAAQmpB,EAAOt8D,EAAPs8D,QAASkO,EAAUxqE,EAAVwqE,WAAY+C,EAAYvtE,EAAZutE,aAAYoI,KAAA3yE,EAAA,KAC3D,IAA0DwvC,EAAAn1C,IAA1Ds4E,KAAA5yE,EAA4Cy/B,KAAAA,EAAAA,SAAS,OAAK,GAAnD6gC,EAAc7wB,EAAA,GAAEqjC,EAAiBrjC,EAAA,GACoB4E,EAAA/5C,IAA5Ds4E,KAAA5yE,EAA4By/B,KAAAA,EAAAA,SAASq4B,KAAuB,GAArDnjB,EAAMN,EAAA,GAAEmnB,EAASnnB,EAAA,GAC+C2F,EAAA1/C,IAAvEs4E,KAAA5yE,EAAwCy/B,KAAAA,EAAAA,SAASk5B,KAAsB,GAAhEa,EAAYxf,EAAA,GAAEyf,EAAezf,EAAA,GAAoC44B,KAAA5yE,EAAA,KAExE,IAAM+yE,EAAkB,WAAA,IJHgBzpD,EIGhBy1B,GJHgBz1B,EIGhBqkD,GAAA4D,MAAG,SAAAyB,IAAA,IAAAn0B,EAAArQ,EAAAoqB,EAAAxqB,EAAA,OAAAu/B,GAAAQ,MAAA,SAAA8E,GAAA,cAAAA,EAAA1nB,KAAA0nB,EAAA/3E,MAAA,KAAA,EAAA03E,KAAA3yE,EAAA,KAAA2yE,KAAA5yE,EAAA,KACjBwuC,GADiBqQ,EACFyhB,GAAf9xB,GAAIoqB,EAAM/Z,EAAN+Z,OACCga,KAAA5yE,EAAG,KAAVouC,EAAU,CAAEwqB,QAASA,GAAQga,KAAA5yE,EAAA,KACnCwqE,EAAa,CAAEh8B,GAAAA,EAAIJ,QAAAA,IAAW,KAAA,EAAA,IAAA,MAAA,OAAA6kC,EAAAvB,OAAA,GAAAsB,EAC/B,IJNM,WACL,IAAIniE,EAAOwB,KACTjZ,EAAOiB,UACT,OAAO,IAAI+Z,SAAQ,SAAUC,EAASC,GACpC,IAAI+wC,EAAM/7B,EAAGrvB,MAAM4W,EAAMzX,GACzB,SAASo0E,EAAMpyE,GACbmyE,GAAmBloB,EAAKhxC,EAASC,EAAQk5D,EAAOC,EAAQ,OAAQryE,EACjE,CACD,SAASqyE,EAAOnyE,GACdiyE,GAAmBloB,EAAKhxC,EAASC,EAAQk5D,EAAOC,EAAQ,QAASnyE,EAClE,CACDkyE,OAAMnqE,EACZ,GACA,GIPG,OAAA,WAJuB,OAAA07C,EAAA9kD,MAAAoY,KAAAhY,UAAA,EAAA,GAItBu4E,KAAA5yE,EAAA,KAKA4yE,KAAA5yE,EAAA,MAKA4yE,KAAA5yE,EAAA,MAKA4yE,KAAA5yE,EAAA,MAKA4yE,KAAA5yE,EAAA,MAEF,IAAMkzE,EAAoB,WAAM,OAAAN,KAAA3yE,EAAA,KAAA2yE,KAAA5yE,EAAA,MAAAy5D,EAAgBd,KAAuBia,KAAA5yE,EAAA,MAOrE4yE,KAAA5yE,EAAA,MAMA4yE,KAAA5yE,EAAA,MAYF,OAFE4yE,KAAA5yE,EAAA,MAEK,CACLmzE,iBApCuB,WAAMP,KAAA3yE,EAAA,KAAA2yE,KAAA5yE,EAAA,MAC7Bw7D,EAAU4R,EAAKA,MAAC,SAAS,IAAQwF,KAAA5yE,EAAA,MACjC8yE,EAAkB,OAmClB5H,yBAzB+B,SAAAt5D,GAAUghE,KAAA3yE,EAAA,KAAA2yE,KAAA5yE,EAAA,MACzCynE,EAAW2F,EAAKA,MAAC,WAAYx7D,IAASghE,KAAA5yE,EAAA,MACtC4yE,KAAA7xC,EAAA,GAAA,KAAAmnC,GAAqB3O,EAAQnlB,SAAUxiC,KAAOghE,KAAA7xC,UAC5C04B,EAAgBd,KAAuBia,KAAA5yE,EAAA,MACzCwnE,GAAiBC,EAAY71D,EAA7B41D,CAAqC5P,GAAqB2B,EAAQhB,UAsBlE6a,iBAjCuB,WAAMR,KAAA3yE,EAAA,KAAA2yE,KAAA5yE,EAAA,MAC7Bw7D,EAAU4R,EAAKA,MAAC,gBAAgB,IAAQwF,KAAA5yE,EAAA,MACxC8yE,EAAkB,OAgClBO,gBAdsB,SAAC5hE,EAAM6hE,GAAY,IAAAC,EAAAC,EAAAZ,KAAA3yE,EAAA,KACzC,IAAMwzE,GAAIb,KAAA5yE,EAAG,MAAA,CACX44D,OAAQrb,EAAAA,MAAM,SAAU+1B,GACxBza,OAAQtb,EAAAA,MAAM,QAAS+1B,GACvB7hE,KAAAA,IACAmhE,KAAA5yE,EAAA,MACFy5D,EAjDQ,SAAArpD,GAAA,IAAA,IAAA5V,EAAAA,EAAAA,EAAAH,UAAAgB,OAAAb,IAAAuX,CAAAA,IAAAA,QAAA1X,UAAAG,GAAAH,UAAAG,MAAAA,EAAA,EAAAuzB,GAAAh1B,OAAAgZ,IAAA,GAAAtU,SAAAmS,SAAAA,GAAAyB,GAAAjB,EAAAR,EAAAmC,EAAAnC,GAAA,IAAA7W,OAAAiZ,0BAAAjZ,OAAAkZ,iBAAA7B,EAAArX,OAAAiZ,0BAAAD,IAAAgc,GAAAh1B,OAAAgZ,IAAAtU,kBAAAmS,GAAA7W,OAAAwX,eAAAH,EAAAR,EAAA7W,OAAA8D,yBAAAkV,EAAAnC,cAAAQ,CAAA,CAiDO4d,CAAMylD,GAAAA,IAAQb,KAAA5yE,EAAA,MAC7BowC,SAAamjC,QAAPA,EAANnjC,EAAQ1mC,aAAK8pE,IAAAD,GAAa,QAAbC,EAAbD,EAAeG,mBAAW,IAAAF,GAA1BA,EAAA55E,KAAA25E,EAA6B,CAAEE,KAAAA,EAAMP,kBAAAA,EAAmBI,QAAAA,KAQxDK,kBArBwB,SAACzwE,EAAG0wE,EAAI5N,GAAW4M,KAAA3yE,EAAA,KAAA2yE,KAAA5yE,EAAA,MAC3CynE,EACEK,EAAAA,UAAU,CAAEtP,OAAQwN,EAAOiB,MAAOxO,cAAeuN,EAAOvwC,UAoB1Ds9C,mBAAAA,EACAxM,iBA/CuB,SAAA5F,GAAQiS,KAAA3yE,EAAA,KAAA2yE,KAAA5yE,EAAA,MAC/B8yE,EAAkBnS,GAAMiS,KAAA5yE,EAAA,MACxBw7D,EAAU4R,EAAKA,MAAC,gBAAgB,KA8ChC5G,mBArDyB,SAAA7F,GAAQiS,KAAA3yE,EAAA,KAAA2yE,KAAA5yE,EAAA,KACjC8yE,EAAkBnS,GAAMiS,KAAA5yE,EAAA,MACxBw7D,EAAU4R,EAAKA,MAAC,SAAS,KAoDzBz4B,OAAAA,EACA2rB,eAAAA,EACA9G,aAAAA,EACAgC,UAAAA,EACA/B,gBAAAA,EAEJ,4sMCpEY,OAAAoa,cAAA,OAAA5zC,CAAA,EAAAA,CAAA,CAAA,SAAAlS,GAAAtuB,EAAA+R,GAAA,IAAAC,EAAA1Y,OAAA0Y,KAAAhS,MAAA1G,OAAA2Y,sBAAA,CAAA,IAAAC,EAAA5Y,OAAA2Y,sBAAAjS,GAAA+R,IAAAG,EAAAA,EAAAC,QAAAC,SAAAA,GAAA9Y,OAAAA,OAAA8D,yBAAA4C,EAAAoS,GAAAjL,UAAA,KAAA6K,EAAAzX,KAAAC,MAAAwX,EAAAE,EAAA,CAAA,OAAAF,CAAA,CAAA,SAAAuc,GAAA5d,GAAA,IAAA,IAAA5V,EAAAA,EAAAA,EAAAH,UAAAgB,OAAAb,IAAAuX,CAAAA,IAAAA,QAAA1X,UAAAG,GAAAH,UAAAG,MAAAA,EAAA,EAAAuzB,GAAAh1B,OAAAgZ,IAAA,GAAAtU,SAAAmS,SAAAA,GAAAyB,GAAAjB,EAAAR,EAAAmC,EAAAnC,GAAA,IAAA7W,OAAAiZ,0BAAAjZ,OAAAkZ,iBAAA7B,EAAArX,OAAAiZ,0BAAAD,IAAAgc,GAAAh1B,OAAAgZ,IAAAtU,kBAAAmS,GAAA7W,OAAAwX,eAAAH,EAAAR,EAAA7W,OAAA8D,yBAAAkV,EAAAnC,cAAAQ,CAAA,CAAAyjE,KA8BKA,KAAA7zE,EAAA,KAEjB,IAAM8zE,GAAc,SAAH72E,GAAmB,IAAA68C,EAAA5J,EAAA2O,EAAA/F,EAAAkH,EAAAjG,EAAAg6B,EAAAR,EAAAS,EAAA7jC,EAAbC,EAAMnzC,EAANmzC,OAAMyjC,KAAA5zE,EAAA,KAC3B,IAAM4iE,GAAOgR,KAAA7zE,EAAA,KAAG8iE,EAAUA,cACpBtN,GAAQqe,KAAA7zE,EAAG+nE,KAAAA,IAAY8L,KAAA9yC,EAAA,GAAA,MAAAqP,aAAAA,EAAAA,EAAQolB,YAAQqe,KAAA9yC,EAAI,GAAA,KAAA,aACD0O,EAAAn1C,IAAhDu5E,KAAA7zE,EAAoCy/B,KAAAA,EAAAA,SAAS,KAAG,GAAzCy7B,EAAUzrB,EAAA,GAAEorB,EAAaprB,EAAA,GACiC4E,EAAA/5C,IAAjEu5E,KAAA7zE,EAAkDy/B,KAAAA,EAAAA,UAAS,IAAM,GAA1Dw7B,EAAiB5mB,EAAA,GAAE2mB,EAAoB3mB,EAAA,GACxCuhB,GAAmBie,KAAA7zE,eAAA6zE,KAAA9yC,EACvBqP,GAAAA,KADuB0J,EACvB1J,iBAAMF,EAANE,EAAQtP,mBAAW,IAAAoP,OAAb,EAANA,EAAqBlzC,cAAM,IAAA88C,EAAAA,GAAA+5B,KAAA9yC,UAAIF,GAAcgL,MAA2BgoC,KAAA7zE,EAAA,KAE1E6+B,EAAAA,WAAU,WAAMg1C,KAAA5zE,EAAA,KAAA4zE,KAAA7zE,EAAA,KACTm0B,aAAaK,QAAQ,qCAKzBq/C,KAAA9yC,EAAA,GAAA,MAL+D8yC,KAAA9yC,EAAA,GAAA,KAAA8yC,KAAA7zE,EAAA,KAC9Dm0B,aAAaE,QACX,oCACAvM,KAAK0B,UAAU,CAAC,kBAGrB,GAAE,IAEH,IAAAwwB,GAAA65B,KAAA7zE,EAAA,KACE4rE,GAAW,CAAEx7B,OAAAA,KADPmpB,EAAOvf,EAAPuf,QAASkO,EAAUztB,EAAVytB,WAAY3M,EAAa9gB,EAAb8gB,cAAeqR,EAAenyB,EAAfmyB,gBAAiBt7B,EAAWmJ,EAAXnJ,YAG7DkO,GAAA80B,KAAA7zE,EAAA,M3B5DsB,WACtB,IADuB8zB,EAAMz5B,UAAAgB,eAAAgI,IAAAhJ,UAAA,GAAAA,UAAA26D,IAAAA,KAAAj0B,EAAA,GAAA,KAAG,CAAA,GAAIpuB,EAAOtY,UAAAgB,eAAAgI,IAAAhJ,UAAA,GAAAA,UAAA26D,IAAAA,KAAAj0B,EAAA,GAAA,KAAG,CAAA,GAC9C,OADgDi0B,KAAA/0D,EAAA,KAAA+0D,KAAAh1D,EAAA,KAChD4tC,EAAQA,SAAC,CAACR,GAAWI,MAAO1Z,IAAS,WAAM,OAAAkhC,KAAA/0D,EAAA,KAAA+0D,KAAAh1D,EAAA,KAAAy0D,GAASznB,MAAMlZ,EAAO,GAAA9F,GAAA,CAC/D6f,UAAWV,GACX3oB,OAAQ,SAAAspB,GAAY,OAAAknB,KAAA/0D,EAAA,KAAA+0D,KAAAh1D,EAAA,KAAAg1D,KAAAj0B,EAAA,GAAA,KAAA+M,EAAS5hC,OAAI8oD,KAAAj0B,EAAA,GAAA,KAAI+M,EAAQ,EAC7CmmC,kBAAkB,GACfthE,GACJ,C2B0DGuhE,CAAelmD,GAAAA,GAAA,CAAA,EAEZurC,GAAO,CAAA,EAAA,CACV5lC,OAAQw4C,EAAgB3tE,OACxB41C,SAAUmlB,EAAQnlB,SAASr2C,gBAE7B,CAAEkoC,QAAkC4Y,QAA3Bg1B,KAAA9yC,EAAEqP,GAAAA,KAAFyO,EAAEzO,SAAmB,QAAb0I,EAAN1I,EAAQtP,mBAAW,IAAAgY,OAAbA,EAANA,EAAqBsH,YAAIvB,IAAAA,EAAAA,GAAAg1B,KAAA9yC,UAAI+K,OATlCipB,EAAIhW,EAAV7yC,KACWioE,EAAgBp1B,EAA3BlJ,UACYu+B,EAAiBr1B,EAA7Bs1B,WAUFt0B,GAAA8zB,KAAA7zE,EAAA,MAAmD2uC,GAAc,CAC/DnqB,OAAQ,SAAAspB,GACN,IAAAwS,EAAA,OAAAuzB,KAAA5zE,EAAA,KAAA4zE,KAAA7zE,EAAA,MAAA0pE,EAAAA,gBACGmK,KAAA9yC,EAAA,GAAA,KADIuf,EACJxS,EAASc,oBAAiBilC,KAAA9yC,EAAI+M,GAAAA,KAAAA,EAAS5hC,KAAK0iC,0BAAiB,IAAA0R,EAAAA,GAAAuzB,KAAA9yC,EAAA,GAAA,KAAK,IACpE,EACHkF,QAAkC+Z,QAA3B6zB,KAAA9yC,EAAEqP,GAAAA,KAAF4P,EAAE5P,SAAmB,QAAb2J,EAAN3J,EAAQtP,mBAAW,IAAAiZ,OAAbA,EAANA,EAAqBqG,YAAIJ,IAAAA,EAAAA,GAAA6zB,KAAA9yC,UAAI+K,OAL1BoM,EAAK6H,EAAX7zC,KAAwBm0C,EAAcN,EAAzBlK,UAQrB2K,GAAAqzB,KAAA7zE,EAAA,MAA8Di1D,GAC5D,CACElgB,UAAW,WAAM,IAAAu1B,EAAAC,EAAAsJ,KAAA5zE,EAAA,KAAA4zE,KAAA7zE,EAAA,MACfmzE,IAAmBU,KAAA7zE,EAAA,MACnBowC,SAAoB,QAAdk6B,EAANl6B,EAAQo6B,oBAAY,IAAAF,GAAW,QAAXC,EAApBD,EAAsBv1B,iBAAtBw1B,IAA+BA,GAA/BA,EAAiC7+C,UACnC,KALY8+C,EAAYhqB,EAApB7K,OAAiC80B,EAAgBjqB,EAA3B3K,UASxBkG,GAAa83B,KAAA7zE,EAAGwoE,MAAAA,GAAiBtwB,EAAO9H,IAE9C6P,GAAA4zB,KAAA7zE,EAAA,MAcI6yE,GAAS,CAAEziC,OAAAA,EAAQmpB,QAAAA,EAASkO,WAAAA,EAAY+C,aAAAA,KAb1C2I,EAAgBlzB,EAAhBkzB,iBACAjI,EAAwBjrB,EAAxBirB,yBACAkI,EAAgBnzB,EAAhBmzB,iBACAC,EAAepzB,EAAfozB,gBACAM,EAAiB1zB,EAAjB0zB,kBACAZ,EAAkB9yB,EAAlB8yB,mBACAxM,EAAgBtmB,EAAhBsmB,iBACAC,GAAkBvmB,EAAlBumB,mBACA7xB,GAAMsL,EAANtL,OACA2rB,GAAcrgB,EAAdqgB,eACA9G,GAAYvZ,EAAZuZ,aACAgC,GAASvb,EAATub,UACA/B,GAAexZ,EAAfwZ,gBAC0Doa,KAAA7zE,EAAA,MAE5DowC,SAAwB2jC,QAAlBA,EAAN3jC,EAAQkkC,4BAAgBP,GAAxBA,EAAAn6E,KAAAw2C,EAA2B,CAAE2kB,KAAAA,IAE7B,IAAMwf,IAAsBV,KAAA7zE,EAAG,MAAA,CAAEonE,OAAQ9G,GAAgB9K,SAAAA,EAAUplB,OAAAA,IAASyjC,KAAA7zE,EAAA,MAE5EowC,SAAamjC,QAAPA,EAANnjC,EAAQ1mC,aAAKsqE,IAAAT,GAAiB,QAAjBS,EAAbT,EAAeiB,uBAAe,IAAAR,GAA9BA,EAAAp6E,KAAA25E,EAAiC,CAAEhN,iBAAAA,EAAkBC,mBAAAA,KAErD,IAAM5L,IAAOiZ,KAAA7zE,EAAG+zC,MAAAA,EAAAA,SACd,WACE,OAAA8/B,KAAA5zE,EAAA,KAAA4zE,KAAA7zE,EAAA,MTwEuB,SAAH++C,GAKpB,IAAAF,EAJJzO,EAAM2O,EAAN3O,OACAm2B,EAAgBxnB,EAAhBwnB,iBACAC,EAAkBznB,EAAlBynB,mBACA4E,EAAYrsB,EAAZqsB,aAAYjG,KAAAllE,EAAA,MAEZ,IAAMqlE,GAAgBH,KAAAnlE,EAAGg5C,MAAAA,EAASA,UAACoyB,EAAc/T,GAAcI,IAAIr8D,QAC7Dq5E,GAActP,KAAAnlE,EAAGqlE,MAAAA,GAAkBC,IACnCoP,GAAYvP,KAAAnlE,EAAA,MAAGsmE,GACnBC,EACAC,EACAp2B,eAAAA,EAAQtP,cAEJ6zC,GAAYxP,KAAAnlE,EAAA,MAAuB,QAAvBmlE,KAAApkC,EAAA,GAAA,KAAA8d,EAAGzO,aAAM,EAANA,EAAQukC,oBAAY,IAAA91B,EAAAA,GAAAsmB,KAAApkC,EAAA,GAAA,KAAI,KAEvC65B,GAAOuK,KAAAnlE,EAAA,MAAGy0E,EAAe/5D,KAAI,SAAAyyD,GAAUhI,KAAAllE,EAAA,MAC3C,IAAM20E,GAAWzP,KAAAnlE,EAAA,MAAG20E,EAAah8D,MAAK,SAAAonC,GACpC,IADuCwlB,EAASxlB,EAATwlB,UACvC,OADgDJ,KAAAllE,EAAA,MAAAklE,KAAAnlE,EAAA,MAChDg5C,YAAUusB,EAAW4H,EAAO5H,UAAU,KAGxC,OAFEJ,KAAAnlE,EAAA,MAEKmlE,KAAApkC,EAAA,GAAA,KAAA6zC,IAAWzP,KAAApkC,EAAA,GAAA,KAAIosC,EACvB,KAaD,OAbGhI,KAAAnlE,EAAA,MAEH20E,EAAal3E,SAAQ,SAAAm3E,GAAezP,KAAAllE,EAAA,MAClC,IAAMktE,GAAMhI,KAAAnlE,EAAA,MAAG46D,EAAQjiD,MAAK,SAAA2nC,GAC1B,IAD6BilB,EAASjlB,EAATilB,UAC7B,OADsCJ,KAAAllE,EAAA,MAAAklE,KAAAnlE,EAAA,MACtCg5C,YAAUusB,EAAWqP,EAAYrP,UAAU,KAC3CJ,KAAAnlE,EAAA,MACGmtE,EAAkChI,KAAApkC,EAAA,IAAA,MAA1BokC,KAAApkC,EAAA,IAAA,KAAAokC,KAAAnlE,EAAA,MAAA46D,EAAQ5gE,KAAK46E,GAC5B,IAAGzP,KAAAnlE,EAAA,MAEE46D,EAAQz5B,MAAK,SAAA6e,GAAmB,IAAhBulB,EAASvlB,EAATulB,UAAgB,OAAPJ,KAAAllE,EAAA,MAAAklE,KAAAnlE,EAAA,MAAOg5C,EAASA,UAACusB,EAAW,UAAS,IAElEJ,KAAApkC,EAAA,IAAA,MAFsEokC,KAAApkC,EAAA,IAAA,KAAAokC,KAAAnlE,EAAA,MACrE46D,EAAQ5gE,KAAK06E,IACdvP,KAAAnlE,EAAA,MAEM46D,CACT,CS3GMia,CAAc,CACZzkC,OAAAA,EACAm2B,iBAAAA,EACAC,mBAAAA,GACA4E,aAAc7R,EAAQnlB,UACvB,GACH,CAACmlB,EAAQnlB,YACTy/B,KAAA7zE,EAAA,MAEF,ITmImCw6C,GSnI7BugB,GAA0B,SAAAxB,GAAWsa,KAAA5zE,EAAA,KAAA4zE,KAAA7zE,EAAA,MACzCynE,EAAWK,EAAAA,UAAU,CAAEpP,aAAca,EAASlB,KAAMT,MAAwBic,KAAA7zE,EAAA,MAC5E6zE,KAAA9yC,EAAA,GAAA,KAAAmnC,GAAqB3O,EAAQnlB,SAAUmlB,KAAQsa,KAAA9yC,UAC7C04B,GAAgBd,KAAuBkb,KAAA7zE,EAAA,MTqLX,SAAC6iE,GACjC,IAD0C/uC,EAAMz5B,UAAAgB,eAAAgI,IAAAhJ,UAAA,GAAAA,UAAA8qE,IAAAA,KAAApkC,EAAA,IAAA,KAAG,CAAA,GAAEokC,KAAAllE,EAAA,MAAAklE,KAAAnlE,EAAA,MACrDjH,OAAO2D,QAAQo3B,GAAQr2B,SAAQ,SAAAkjD,GAAkB,IAAAU,EAAA/mD,GAAAqmD,EAAA,GAAhB/wC,EAAGyxC,EAAA,GAAEjmD,EAAKimD,EAAA,GAAA8jB,KAAAllE,EAAA,MACzC,IAAM2nE,GAAYzC,KAAAnlE,EAAG,MAAA,IAAIm3D,gBAAgB/0D,OAAOwxB,SAASD,SAAQwxC,KAAAnlE,EAAA,MACjE4nE,EAAa1oE,IAAI0Q,EAAKxU,GAAO+pE,KAAAnlE,EAAA,MAC7B6iE,EAAQ7oE,KAAK,CAAE25B,OAAQi0C,EAAaxrE,YACtC,GAAC,CSzLC04E,CAAmBjS,EAAS,CAAExK,KAAMT,GAAoBx7D,cAG1D,OAFEy3E,KAAA7zE,EAAA,MAEE6zE,KAAA9yC,EAAAsf,GAAAA,KAAAA,IAAcwzB,KAAA9yC,EAAIozC,GAAAA,KAAAA,IAAkBN,KAAA9yC,EAAA,GAAA,KAAA8yC,KAAA7zE,EAAA,MAEpCssC,EAAA,QAAAznC,cAAA,MAAA,CAAK+rC,UAAU,2BACbtE,EAAA,QAAAznC,cAACy8C,sBAGNuyB,KAAA9yC,EAAA,GAAA,KAAA8yC,KAAA7zE,EAAA,MAGCssC,EAAA,QAAAznC,cAAA,MAAA,CAAK+rC,UAAU,eACbtE,EAAA,QAAAznC,cAAA,MAAA,CAAK+rC,UAAU,uBACbtE,EAAA,QAAAznC,cAAC00C,GAAI,CACH0xB,aAAclW,aAAAA,EAAAA,EAAM0W,iBACpBP,yBAA0BA,EAC1BC,WAAYx2B,GAAOojB,QACnBqT,aAAc7R,EAAQnlB,SACtBohB,SAAUA,IAEZlpB,EAAAA,QAAAznC,cAAC08C,EAASA,UACRjV,KAAAA,UAAAznC,cAACorC,EAAMA,OAAAyR,GAAA,CACL7Q,YAAaA,EACbC,YACExE,EAAAA,QAAAznC,cAACkwE,GAAiB,CAChB3kC,OAAQA,EACRolB,SAAUA,EACV10B,YAAasP,aAAAA,EAAAA,EAAQtP,YACrB40B,iBAAkBtlB,EAAOslB,iBACzB/lB,QAAS,WAAM,OAAAkkC,KAAA5zE,EAAA,KAAA4zE,KAAA7zE,EAAA,MAAAw7D,GAAU4R,EAAKA,MAAC,gBAAgB,GAAK,IAGxD4H,cAAe,WACb,OAAAnB,KAAA5zE,EAAA,KAAA4zE,KAAA7zE,EAAA,MAAAw7D,IAAU,SAAAjwC,GAAU,OAAAsoD,KAAA5zE,EAAA,KAAA4zE,KAAA7zE,EAAA,MAAAguB,GAAAA,GAAA,CAAA,EAAKzC,GAAK,CAAA,EAAA,CAAEwsC,SAAUxsC,EAAMwsC,SAAQ,GACzD,EACDh1B,MAAO+jC,GACLzP,GAAckC,EAAQnlB,UAAUh5C,MAChCo6D,IAEEplB,SAAc,QAARD,EAANC,EAAQO,cAARR,IAAcA,OAAR,EAANA,EAAgBgtB,aAEtB7wB,EAAAA,QAAAznC,cAACo0D,YAAS,CACRgc,gBACE3oC,EAAA,QAAAznC,cAACqwE,GAAqBhc,KAAI,CACxB9oB,OAAQA,EACRkpB,cAAevE,aAAAA,EAAAA,EAAMogB,aACrB5b,QAASA,EACT/D,SAAUA,EACVtd,MAAO6D,EACPyd,aAAcA,GACdC,gBAAiBA,KAGrB2b,iBACE9oC,EAAA,QAAAznC,cAACqwE,GAAqBne,MAAK,CACzB6D,QAASA,GACTE,cAAeA,EACfC,wBAAyBA,GACzBE,kBAAmBA,EACnBJ,cAAeA,EACfG,qBAAsBA,MAI5B1uB,EAAAA,QAAAznC,cAACwwE,MAAU,CACTza,QAASE,EACTwa,cAAeta,EACf/rB,SAAU8rB,KAEY,KAAvBhG,aAAI,EAAJA,EAAMogB,eAAkBtB,KAAA9yC,EACvBuL,GAAAA,KAAAA,EAAAA,QAAAznC,cAAA,MAAA,CAAK+rC,UAAU,8BACbtE,EAAA,QAAAznC,cAAC+5C,QAAK,CACJ22B,aAAW,EACXC,cAAY,EACZC,eAAe,EACfva,WAAYA,EACZwa,kBAAmBtsD,SAASmwC,EAAQlB,KAAMV,IAC1C,UAAQ,oBACRjhB,QAAS09B,EACTuB,iBT+CqBn7B,GS/CkB+e,EAAQhB,QT+CjB4M,KAAAllE,EAAA,MAAAklE,KAAAnlE,EAAA,MAAA,CAC5C41E,SAAUxsD,SAASoxB,GAAMmd,MS/CX2b,QAASve,aAAAA,EAAAA,EAAM8gB,QACfC,gBAAiBtc,GAAa/nD,KAC9BmoD,WAAY7E,aAAAA,EAAAA,EAAMogB,aAClB3N,iBAAkBA,GAChBC,EACAlO,EAAQnlB,UAEVnF,SAAU0kC,EACVD,YAAaL,OAEXQ,KAAA9yC,EAENuL,GAAAA,KAAAA,EAAAA,QAAAznC,cAAA,MAAA,CAAK+rC,UAAU,mBACbtE,EAAA,QAAAznC,cAACu6C,SAAM,CACLC,mBAAoB,CAClB,UAAW,wBACXxP,UAAW+lB,EACX7lB,MAAO5X,GAAKve,EAAE,iBAAkB,CAC9Bu1B,KAAMqmB,EAAS7pB,IAAUyD,sBAE3BO,QAAS,WAAM,OAAAkkC,KAAA5zE,EAAA,KAAA4zE,KAAA7zE,EAAA,MAAAw7D,GAAU4R,EAAKA,MAAC,gBAAgB,GAAK,GAEtDrqC,MAAO5K,GAAKve,EAAE,mBAAoB,CAChCu1B,KAAMqmB,EAAS5pB,IAAQwD,2BAMjC9C,UAAAznC,cAAC6jE,GAAY,CACXt4B,OAAQA,EACR8H,MAAO6D,EACPukB,eAAgBA,GAChBwI,gBAAiB,CACfn0B,OAAQA,GAAOqjB,cAEjB4Q,WAAYwK,IAEd9mC,EAAAA,QAAAznC,cAACq2C,QAAK,CACJC,kBAAmBhjB,GAAKve,EAAE,kBAC1B+6B,OAAQA,GAAOsjB,MACfriB,aAAc60B,EACd1/B,QAASi8B,GAAkB,UAAWuN,IACtCn5B,kBAAmBjjB,GAAKve,EAAE,mBAC1BmpB,MAAOikC,GAAkB,QAASuN,IAClC3/B,QAASu+B,EACTj9B,SAAU68B,MAKpB,EAAEc,KAAA7zE,EAAA,MAEF8zE,GAAYnsC,aAAe,CACzByI,OAAQ,CACNolB,SAAU,SACV10B,YAAa,CACX9jC,QAAQ,EACRyxC,QAAQ,EACR2R,MAAM,KAKZ,IAAAzoC,GAAemoC,EAASA,UACtBzT,GAAeynC,IACf37C,GAAKve,EAAE,mBAAoBgyB,KC3RzB/xC,GAAE,GAAG+f,GAAE,2fCeC,OAAAm8D,cAAA,OAAA91C,CAAA,EAAAA,CAAA,EDfE,SAAW9jC,EAAEse,GAAG,GAAGte,GAAG,oBAAoBoG,SAAS,CAAC,IAAIxI,EAAEiG,GAAE,IAAKya,EAAE6J,QAAQ,UAAU,SAASwT,GAAE,IAAKrd,EAAEu7D,UAAUx7E,EAAE,iBAAiBigB,EAAEw7D,UAAU1zE,SAAS2zE,cAAcz7D,EAAEw7D,WAAW1zE,SAAS+C,qBAAqB,QAAQ,GAAG,GAAGwyB,EAAE,CAAC,IAAIF,EAAE/9B,GAAEyE,QAAQ9D,IAAI,IAAIo9B,IAAIA,EAAE/9B,GAAEG,KAAKQ,GAAG,EAAEof,GAAEge,GAAG,CAAE,GAAE79B,EAAE6f,GAAEge,IAAIhe,GAAEge,GAAG53B,GAAG4Z,GAAEge,GAAG53B,GAAG4Z,GAAEge,GAAG53B,GAAGwa,GAAG,MAAMzgB,EAAEygB,IAAI,QAAQre,EAAE6uD,WAAW,KAAK7uD,EAAEA,EAAE0e,UAAU,IAAI9gB,EAAEo8E,WAAWp8E,EAAEo8E,WAAWC,SAASj6E,EAAEpC,EAAEwU,YAAYhM,SAASgJ,eAAepP,GAAG,CAAC,SAASqe,IAAI,IAAI3gB,EAAE0I,SAASsC,cAAc,SAAS,GAAGhL,EAAE6Q,aAAa,OAAO,YAAY+P,EAAElO,WAAW,IAAI,IAAIqN,EAAE7gB,OAAO0Y,KAAKgJ,EAAElO,YAAYpQ,EAAE,EAAEA,EAAEyd,EAAEve,OAAOc,IAAItC,EAAE6Q,aAAakP,EAAEzd,GAAGse,EAAElO,WAAWqN,EAAEzd,KAAK,IAAIpC,EAAE,YAAYiG,EAAE,aAAa,YAAY,OAAOxF,EAAE67E,sBAAsBt8E,EAAEF,GAAGA,CAAC,CAAC,q2NCeztBk8E,gJ7BiCW,WAAM/gB,KAAA/0D,EAAA,MAAA+0D,KAAAh1D,EAAA,MAC3BgsC,GAAYiJ,kBAAkB7H,GAAWI,OAAOwnB,KAAAh1D,EAAA,MAChDgsC,GAAYiJ,kBAAkB7H,GAAWK,mBAC3C"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../node_modules/dompurify/dist/purify.es.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/i18next/dist/esm/i18next.js","../node_modules/@babel/runtime/helpers/esm/toArray.js","../node_modules/i18next-browser-languagedetector/dist/esm/i18nextBrowserLanguageDetector.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/void-elements/index.js","../node_modules/html-parse-stringify/dist/html-parse-stringify.module.js","../node_modules/react-i18next/dist/es/utils.js","../node_modules/react-i18next/dist/es/unescape.js","../node_modules/react-i18next/dist/es/defaults.js","../node_modules/react-i18next/dist/es/i18nInstance.js","../node_modules/react-i18next/dist/es/TransWithoutContext.js","../node_modules/react-i18next/dist/es/initReactI18next.js","../node_modules/react-i18next/dist/es/context.js","../node_modules/react-i18next/dist/es/Trans.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/react-i18next/dist/es/useTranslation.js","../src/translations/index.js","../src/common/i18n.js","../src/common/utils.js","../node_modules/react-scroll-sync/dist/index.js","../src/common/constants.js","../src/apis/query_client.js","../src/components/Common/withReactQuery.jsx","../src/common/routes.js","../src/apis/permissions.js","../src/common/queryConstants.js","../src/hooks/roles/usePermissionsApi.js","../src/apis/global_roles.js","../src/apis/organization_roles.js","../src/hooks/roles/useRolesApi.js","../src/components/Roles/Header/utils.js","../src/components/Roles/AddRoleButton.jsx","../src/components/Roles/Header/index.jsx","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../src/components/Common/ScrollToErrorField/utils.js","../src/components/Common/ScrollToErrorField/index.js","../src/components/Roles/constants.js","../src/components/Roles/Permissions.jsx","../src/components/Roles/New.jsx","../src/components/Roles/Table/constants.js","../src/components/Roles/Table/utils.js","../src/components/Roles/Table/Row.jsx","../src/components/Roles/Table/TableHeader.jsx","../src/components/Roles/Delete.jsx","../src/components/Roles/Edit.jsx","../src/components/Roles/Table/Columns.jsx","../src/components/Roles/Table/Sidebar/ToggleDropdown.jsx","../src/components/Roles/Table/Sidebar/constants.js","../src/components/Roles/Table/Sidebar/utils.jsx","../src/components/Roles/Table/Sidebar/index.jsx","../src/components/Roles/Table/index.jsx","../src/components/Roles/utils.js","../src/components/Roles/index.jsx","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/get-intrinsic/index.js","../node_modules/has-symbols/index.js","../node_modules/has-symbols/shams.js","../node_modules/function-bind/implementation.js","../node_modules/function-bind/index.js","../node_modules/has/src/index.js","../node_modules/call-bind/index.js","../node_modules/call-bind/callBound.js","../node_modules/object-inspect/util.inspect.js","../node_modules/object-inspect/index.js","../node_modules/side-channel/index.js","../node_modules/qs/lib/formats.js","../node_modules/qs/lib/utils.js","../node_modules/qs/lib/stringify.js","../node_modules/qs/lib/parse.js","../node_modules/qs/lib/index.js","../src/apis/teams.js","../src/hooks/teams/useTeamsApi.js","../src/components/TeamMembers/constants.js","../node_modules/pluralize/pluralize.js","../src/components/TeamMembers/utils.jsx","../src/hooks/useFilters.js","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/@babel/runtime/helpers/typeof.js","../node_modules/@babel/runtime/helpers/regeneratorRuntime.js","../node_modules/@babel/runtime/regenerator/index.js","../src/hooks/useTeams.js","../src/components/TeamMembers/ActionBlock/constants.js","../src/components/TeamMembers/ActionBlock/Header.jsx","../src/components/TeamMembers/ActionBlock/utils.js","../src/components/TeamMembers/ActionBlock/RolesDropdown.jsx","../src/components/TeamMembers/ActionBlock/SubHeader.jsx","../src/components/TeamMembers/ActionBlock/index.js","../src/components/TeamMembers/ManageMember/AppList.jsx","../src/components/TeamMembers/ManageMember/Page/index.jsx","../src/components/TeamMembers/ManageMember/constants.js","../src/components/TeamMembers/ManageMember/utils.js","../src/components/TeamMembers/ManageMember/Confirmation.jsx","../src/components/TeamMembers/ManageMember/MultipleEmailInput.jsx","../src/components/TeamMembers/ManageMember/NameInputs.jsx","../src/components/Common/LabelWithIcon.jsx","../src/components/TeamMembers/ManageMember/RolesRadioGroup.jsx","../src/components/TeamMembers/ManageMember/index.jsx","../src/components/TeamMembers/Menu.jsx","../src/components/TeamMembers/index.jsx","../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js","../index.js"],"sourcesContent":["/*! @license DOMPurify 3.0.1 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.0.1/LICENSE */\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}\n\nfunction _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}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _construct(Parent, args, Class) {\n if (_isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) _setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\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}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\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}\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}\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function () {};\n\n return {\n s: F,\n n: function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function (e) {\n throw e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function () {\n it = it.call(o);\n },\n n: function () {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function (e) {\n didErr = true;\n err = e;\n },\n f: function () {\n try {\n if (!normalCompletion && it.return != null) it.return();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}\n\nvar entries = Object.entries,\n setPrototypeOf = Object.setPrototypeOf,\n isFrozen = Object.isFrozen,\n getPrototypeOf = Object.getPrototypeOf,\n getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar freeze = Object.freeze,\n seal = Object.seal,\n create = Object.create; // eslint-disable-line import/no-mutable-exports\n\nvar _ref = typeof Reflect !== 'undefined' && Reflect,\n apply = _ref.apply,\n construct = _ref.construct;\n\nif (!apply) {\n apply = function apply(fun, thisValue, args) {\n return fun.apply(thisValue, args);\n };\n}\n\nif (!freeze) {\n freeze = function freeze(x) {\n return x;\n };\n}\n\nif (!seal) {\n seal = function seal(x) {\n return x;\n };\n}\n\nif (!construct) {\n construct = function construct(Func, args) {\n return _construct(Func, _toConsumableArray(args));\n };\n}\n\nvar arrayForEach = unapply(Array.prototype.forEach);\nvar arrayPop = unapply(Array.prototype.pop);\nvar arrayPush = unapply(Array.prototype.push);\nvar stringToLowerCase = unapply(String.prototype.toLowerCase);\nvar stringToString = unapply(String.prototype.toString);\nvar stringMatch = unapply(String.prototype.match);\nvar stringReplace = unapply(String.prototype.replace);\nvar stringIndexOf = unapply(String.prototype.indexOf);\nvar stringTrim = unapply(String.prototype.trim);\nvar regExpTest = unapply(RegExp.prototype.test);\nvar typeErrorCreate = unconstruct(TypeError);\nfunction unapply(func) {\n return function (thisArg) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return apply(func, thisArg, args);\n };\n}\nfunction unconstruct(func) {\n return function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return construct(func, args);\n };\n}\n/* Add properties to a lookup table */\n\nfunction addToSet(set, array, transformCaseFunc) {\n transformCaseFunc = transformCaseFunc ? transformCaseFunc : stringToLowerCase;\n\n if (setPrototypeOf) {\n // Make 'in' and truthy checks like Boolean(set.constructor)\n // independent of any properties defined on Object.prototype.\n // Prevent prototype setters from intercepting set as a this value.\n setPrototypeOf(set, null);\n }\n\n var l = array.length;\n\n while (l--) {\n var element = array[l];\n\n if (typeof element === 'string') {\n var lcElement = transformCaseFunc(element);\n\n if (lcElement !== element) {\n // Config presets (e.g. tags.js, attrs.js) are immutable.\n if (!isFrozen(array)) {\n array[l] = lcElement;\n }\n\n element = lcElement;\n }\n }\n\n set[element] = true;\n }\n\n return set;\n}\n/* Shallow clone an object */\n\nfunction clone(object) {\n var newObject = create(null);\n\n var _iterator = _createForOfIteratorHelper(entries(object)),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _step$value = _slicedToArray(_step.value, 2),\n property = _step$value[0],\n value = _step$value[1];\n\n newObject[property] = value;\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return newObject;\n}\n/* This method automatically checks if the prop is function\n * or getter and behaves accordingly. */\n\nfunction lookupGetter(object, prop) {\n while (object !== null) {\n var desc = getOwnPropertyDescriptor(object, prop);\n\n if (desc) {\n if (desc.get) {\n return unapply(desc.get);\n }\n\n if (typeof desc.value === 'function') {\n return unapply(desc.value);\n }\n }\n\n object = getPrototypeOf(object);\n }\n\n function fallbackValue(element) {\n console.warn('fallback value for', element);\n return null;\n }\n\n return fallbackValue;\n}\n\nvar html$1 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'section', 'select', 'shadow', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']); // SVG\n\nvar svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);\nvar svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']); // List of SVG elements that are disallowed by default.\n// We still need to know them so that we can do namespace\n// checks properly in case one wants to add them to\n// allow-list.\n\nvar svgDisallowed = freeze(['animate', 'color-profile', 'cursor', 'discard', 'fedropshadow', 'font-face', 'font-face-format', 'font-face-name', 'font-face-src', 'font-face-uri', 'foreignobject', 'hatch', 'hatchpath', 'mesh', 'meshgradient', 'meshpatch', 'meshrow', 'missing-glyph', 'script', 'set', 'solidcolor', 'unknown', 'use']);\nvar mathMl$1 = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mglyph', 'mi', 'mlabeledtr', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded', 'mphantom', 'mroot', 'mrow', 'ms', 'mspace', 'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder', 'munderover']); // Similarly to SVG, we want to know all MathML elements,\n// even those that we disallow by default.\n\nvar mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'none']);\nvar text = freeze(['#text']);\n\nvar html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'pattern', 'placeholder', 'playsinline', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'xmlns', 'slot']);\nvar svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);\nvar mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);\nvar xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);\n\nvar MUSTACHE_EXPR = seal(/\\{\\{[\\w\\W]*|[\\w\\W]*\\}\\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode\n\nvar ERB_EXPR = seal(/<%[\\w\\W]*|[\\w\\W]*%>/gm);\nvar TMPLIT_EXPR = seal(/\\${[\\w\\W]*}/gm);\nvar DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]/); // eslint-disable-line no-useless-escape\n\nvar ARIA_ATTR = seal(/^aria-[\\-\\w]+$/); // eslint-disable-line no-useless-escape\n\nvar IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i // eslint-disable-line no-useless-escape\n);\nvar IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\nvar ATTR_WHITESPACE = seal(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g // eslint-disable-line no-control-regex\n);\nvar DOCTYPE_NAME = seal(/^html$/i);\n\nvar getGlobal = function getGlobal() {\n return typeof window === 'undefined' ? null : window;\n};\n/**\n * Creates a no-op policy for internal use only.\n * Don't export this function outside this module!\n * @param {?TrustedTypePolicyFactory} trustedTypes The policy factory.\n * @param {Document} document The document object (to determine policy name suffix)\n * @return {?TrustedTypePolicy} The policy created (or null, if Trusted Types\n * are not supported).\n */\n\n\nvar _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, document) {\n if (_typeof(trustedTypes) !== 'object' || typeof trustedTypes.createPolicy !== 'function') {\n return null;\n } // Allow the callers to control the unique policy name\n // by adding a data-tt-policy-suffix to the script element with the DOMPurify.\n // Policy creation with duplicate names throws in Trusted Types.\n\n\n var suffix = null;\n var ATTR_NAME = 'data-tt-policy-suffix';\n\n if (document.currentScript && document.currentScript.hasAttribute(ATTR_NAME)) {\n suffix = document.currentScript.getAttribute(ATTR_NAME);\n }\n\n var policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n\n try {\n return trustedTypes.createPolicy(policyName, {\n createHTML: function createHTML(html) {\n return html;\n },\n createScriptURL: function createScriptURL(scriptUrl) {\n return scriptUrl;\n }\n });\n } catch (_) {\n // Policy creation failed (most likely another DOMPurify script has\n // already run). Skip creating the policy, as this will only cause errors\n // if TT are enforced.\n console.warn('TrustedTypes policy ' + policyName + ' could not be created.');\n return null;\n }\n};\n\nfunction createDOMPurify() {\n var window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();\n\n var DOMPurify = function DOMPurify(root) {\n return createDOMPurify(root);\n };\n /**\n * Version label, exposed for easier checks\n * if DOMPurify is up to date or not\n */\n\n\n DOMPurify.version = '3.0.1';\n /**\n * Array of elements that DOMPurify removed during sanitation.\n * Empty if nothing was removed.\n */\n\n DOMPurify.removed = [];\n\n if (!window || !window.document || window.document.nodeType !== 9) {\n // Not running in a browser, provide a factory function\n // so that you can pass your own Window\n DOMPurify.isSupported = false;\n return DOMPurify;\n }\n\n var originalDocument = window.document;\n var document = window.document;\n var DocumentFragment = window.DocumentFragment,\n HTMLTemplateElement = window.HTMLTemplateElement,\n Node = window.Node,\n Element = window.Element,\n NodeFilter = window.NodeFilter,\n _window$NamedNodeMap = window.NamedNodeMap,\n NamedNodeMap = _window$NamedNodeMap === void 0 ? window.NamedNodeMap || window.MozNamedAttrMap : _window$NamedNodeMap,\n HTMLFormElement = window.HTMLFormElement,\n DOMParser = window.DOMParser,\n trustedTypes = window.trustedTypes;\n var ElementPrototype = Element.prototype;\n var cloneNode = lookupGetter(ElementPrototype, 'cloneNode');\n var getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');\n var getChildNodes = lookupGetter(ElementPrototype, 'childNodes');\n var getParentNode = lookupGetter(ElementPrototype, 'parentNode'); // As per issue #47, the web-components registry is inherited by a\n // new document created via createHTMLDocument. As per the spec\n // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)\n // a new empty registry is used when creating a template contents owner\n // document, so we use that as our parent document to ensure nothing\n // is inherited.\n\n if (typeof HTMLTemplateElement === 'function') {\n var template = document.createElement('template');\n\n if (template.content && template.content.ownerDocument) {\n document = template.content.ownerDocument;\n }\n }\n\n var trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, originalDocument);\n\n var emptyHTML = trustedTypesPolicy ? trustedTypesPolicy.createHTML('') : '';\n var _document = document,\n implementation = _document.implementation,\n createNodeIterator = _document.createNodeIterator,\n createDocumentFragment = _document.createDocumentFragment,\n getElementsByTagName = _document.getElementsByTagName;\n var importNode = originalDocument.importNode;\n var hooks = {};\n /**\n * Expose whether this browser supports running the full DOMPurify.\n */\n\n DOMPurify.isSupported = typeof entries === 'function' && typeof getParentNode === 'function' && implementation && typeof implementation.createHTMLDocument !== 'undefined';\n var MUSTACHE_EXPR$1 = MUSTACHE_EXPR,\n ERB_EXPR$1 = ERB_EXPR,\n TMPLIT_EXPR$1 = TMPLIT_EXPR,\n DATA_ATTR$1 = DATA_ATTR,\n ARIA_ATTR$1 = ARIA_ATTR,\n IS_SCRIPT_OR_DATA$1 = IS_SCRIPT_OR_DATA,\n ATTR_WHITESPACE$1 = ATTR_WHITESPACE;\n var IS_ALLOWED_URI$1 = IS_ALLOWED_URI;\n /**\n * We consider the elements and attributes below to be safe. Ideally\n * don't add any new ones but feel free to remove unwanted ones.\n */\n\n /* allowed element names */\n\n var ALLOWED_TAGS = null;\n var DEFAULT_ALLOWED_TAGS = addToSet({}, [].concat(_toConsumableArray(html$1), _toConsumableArray(svg$1), _toConsumableArray(svgFilters), _toConsumableArray(mathMl$1), _toConsumableArray(text)));\n /* Allowed attribute names */\n\n var ALLOWED_ATTR = null;\n var DEFAULT_ALLOWED_ATTR = addToSet({}, [].concat(_toConsumableArray(html), _toConsumableArray(svg), _toConsumableArray(mathMl), _toConsumableArray(xml)));\n /*\n * Configure how DOMPUrify should handle custom elements and their attributes as well as customized built-in elements.\n * @property {RegExp|Function|null} tagNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any custom elements)\n * @property {RegExp|Function|null} attributeNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any attributes not on the allow list)\n * @property {boolean} allowCustomizedBuiltInElements allow custom elements derived from built-ins if they pass CUSTOM_ELEMENT_HANDLING.tagNameCheck. Default: `false`.\n */\n\n var CUSTOM_ELEMENT_HANDLING = Object.seal(Object.create(null, {\n tagNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n attributeNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n allowCustomizedBuiltInElements: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: false\n }\n }));\n /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */\n\n var FORBID_TAGS = null;\n /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */\n\n var FORBID_ATTR = null;\n /* Decide if ARIA attributes are okay */\n\n var ALLOW_ARIA_ATTR = true;\n /* Decide if custom data attributes are okay */\n\n var ALLOW_DATA_ATTR = true;\n /* Decide if unknown protocols are okay */\n\n var ALLOW_UNKNOWN_PROTOCOLS = false;\n /* Decide if self-closing tags in attributes are allowed.\n * Usually removed due to a mXSS issue in jQuery 3.0 */\n\n var ALLOW_SELF_CLOSE_IN_ATTR = true;\n /* Output should be safe for common template engines.\n * This means, DOMPurify removes data attributes, mustaches and ERB\n */\n\n var SAFE_FOR_TEMPLATES = false;\n /* Decide if document with <html>... should be returned */\n\n var WHOLE_DOCUMENT = false;\n /* Track whether config is already set on this instance of DOMPurify. */\n\n var SET_CONFIG = false;\n /* Decide if all elements (e.g. style, script) must be children of\n * document.body. By default, browsers might move them to document.head */\n\n var FORCE_BODY = false;\n /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported).\n * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead\n */\n\n var RETURN_DOM = false;\n /* Decide if a DOM `DocumentFragment` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported) */\n\n var RETURN_DOM_FRAGMENT = false;\n /* Try to return a Trusted Type object instead of a string, return a string in\n * case Trusted Types are not supported */\n\n var RETURN_TRUSTED_TYPE = false;\n /* Output should be free from DOM clobbering attacks?\n * This sanitizes markups named with colliding, clobberable built-in DOM APIs.\n */\n\n var SANITIZE_DOM = true;\n /* Achieve full DOM Clobbering protection by isolating the namespace of named\n * properties and JS variables, mitigating attacks that abuse the HTML/DOM spec rules.\n *\n * HTML/DOM spec rules that enable DOM Clobbering:\n * - Named Access on Window (§7.3.3)\n * - DOM Tree Accessors (§3.1.5)\n * - Form Element Parent-Child Relations (§4.10.3)\n * - Iframe srcdoc / Nested WindowProxies (§4.8.5)\n * - HTMLCollection (§4.2.10.2)\n *\n * Namespace isolation is implemented by prefixing `id` and `name` attributes\n * with a constant string, i.e., `user-content-`\n */\n\n var SANITIZE_NAMED_PROPS = false;\n var SANITIZE_NAMED_PROPS_PREFIX = 'user-content-';\n /* Keep element content when removing element? */\n\n var KEEP_CONTENT = true;\n /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead\n * of importing it into a new Document and returning a sanitized copy */\n\n var IN_PLACE = false;\n /* Allow usage of profiles like html, svg and mathMl */\n\n var USE_PROFILES = {};\n /* Tags to ignore content of when KEEP_CONTENT is true */\n\n var FORBID_CONTENTS = null;\n var DEFAULT_FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'noscript', 'plaintext', 'script', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']);\n /* Tags that are safe for data: URIs */\n\n var DATA_URI_TAGS = null;\n var DEFAULT_DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image', 'track']);\n /* Attributes safe for values like \"javascript:\" */\n\n var URI_SAFE_ATTRIBUTES = null;\n var DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placeholder', 'role', 'summary', 'title', 'value', 'style', 'xmlns']);\n var MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\n var SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\n var HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\n /* Document namespace */\n\n var NAMESPACE = HTML_NAMESPACE;\n var IS_EMPTY_INPUT = false;\n /* Allowed XHTML+XML namespaces */\n\n var ALLOWED_NAMESPACES = null;\n var DEFAULT_ALLOWED_NAMESPACES = addToSet({}, [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE], stringToString);\n /* Parsing of strict XHTML documents */\n\n var PARSER_MEDIA_TYPE;\n var SUPPORTED_PARSER_MEDIA_TYPES = ['application/xhtml+xml', 'text/html'];\n var DEFAULT_PARSER_MEDIA_TYPE = 'text/html';\n var transformCaseFunc;\n /* Keep a reference to config to pass to hooks */\n\n var CONFIG = null;\n /* Ideally, do not touch anything below this line */\n\n /* ______________________________________________ */\n\n var formElement = document.createElement('form');\n\n var isRegexOrFunction = function isRegexOrFunction(testValue) {\n return testValue instanceof RegExp || testValue instanceof Function;\n };\n /**\n * _parseConfig\n *\n * @param {Object} cfg optional config literal\n */\n // eslint-disable-next-line complexity\n\n\n var _parseConfig = function _parseConfig(cfg) {\n if (CONFIG && CONFIG === cfg) {\n return;\n }\n /* Shield configuration object from tampering */\n\n\n if (!cfg || _typeof(cfg) !== 'object') {\n cfg = {};\n }\n /* Shield configuration object from prototype pollution */\n\n\n cfg = clone(cfg);\n PARSER_MEDIA_TYPE = // eslint-disable-next-line unicorn/prefer-includes\n SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? PARSER_MEDIA_TYPE = DEFAULT_PARSER_MEDIA_TYPE : PARSER_MEDIA_TYPE = cfg.PARSER_MEDIA_TYPE; // HTML tags and attributes are not case-sensitive, converting to lowercase. Keeping XHTML as is.\n\n transformCaseFunc = PARSER_MEDIA_TYPE === 'application/xhtml+xml' ? stringToString : stringToLowerCase;\n /* Set configuration parameters */\n\n ALLOWED_TAGS = 'ALLOWED_TAGS' in cfg ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc) : DEFAULT_ALLOWED_TAGS;\n ALLOWED_ATTR = 'ALLOWED_ATTR' in cfg ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc) : DEFAULT_ALLOWED_ATTR;\n ALLOWED_NAMESPACES = 'ALLOWED_NAMESPACES' in cfg ? addToSet({}, cfg.ALLOWED_NAMESPACES, stringToString) : DEFAULT_ALLOWED_NAMESPACES;\n URI_SAFE_ATTRIBUTES = 'ADD_URI_SAFE_ATTR' in cfg ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), // eslint-disable-line indent\n cfg.ADD_URI_SAFE_ATTR, // eslint-disable-line indent\n transformCaseFunc // eslint-disable-line indent\n ) // eslint-disable-line indent\n : DEFAULT_URI_SAFE_ATTRIBUTES;\n DATA_URI_TAGS = 'ADD_DATA_URI_TAGS' in cfg ? addToSet(clone(DEFAULT_DATA_URI_TAGS), // eslint-disable-line indent\n cfg.ADD_DATA_URI_TAGS, // eslint-disable-line indent\n transformCaseFunc // eslint-disable-line indent\n ) // eslint-disable-line indent\n : DEFAULT_DATA_URI_TAGS;\n FORBID_CONTENTS = 'FORBID_CONTENTS' in cfg ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc) : DEFAULT_FORBID_CONTENTS;\n FORBID_TAGS = 'FORBID_TAGS' in cfg ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) : {};\n FORBID_ATTR = 'FORBID_ATTR' in cfg ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) : {};\n USE_PROFILES = 'USE_PROFILES' in cfg ? cfg.USE_PROFILES : false;\n ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true\n\n ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true\n\n ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false\n\n ALLOW_SELF_CLOSE_IN_ATTR = cfg.ALLOW_SELF_CLOSE_IN_ATTR !== false; // Default true\n\n SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false\n\n WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false\n\n RETURN_DOM = cfg.RETURN_DOM || false; // Default false\n\n RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false\n\n RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false\n\n FORCE_BODY = cfg.FORCE_BODY || false; // Default false\n\n SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true\n\n SANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false; // Default false\n\n KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true\n\n IN_PLACE = cfg.IN_PLACE || false; // Default false\n\n IS_ALLOWED_URI$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI$1;\n NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;\n CUSTOM_ELEMENT_HANDLING = cfg.CUSTOM_ELEMENT_HANDLING || {};\n\n if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)) {\n CUSTOM_ELEMENT_HANDLING.tagNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck;\n }\n\n if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)) {\n CUSTOM_ELEMENT_HANDLING.attributeNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck;\n }\n\n if (cfg.CUSTOM_ELEMENT_HANDLING && typeof cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements === 'boolean') {\n CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements = cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements;\n }\n\n if (SAFE_FOR_TEMPLATES) {\n ALLOW_DATA_ATTR = false;\n }\n\n if (RETURN_DOM_FRAGMENT) {\n RETURN_DOM = true;\n }\n /* Parse profile info */\n\n\n if (USE_PROFILES) {\n ALLOWED_TAGS = addToSet({}, _toConsumableArray(text));\n ALLOWED_ATTR = [];\n\n if (USE_PROFILES.html === true) {\n addToSet(ALLOWED_TAGS, html$1);\n addToSet(ALLOWED_ATTR, html);\n }\n\n if (USE_PROFILES.svg === true) {\n addToSet(ALLOWED_TAGS, svg$1);\n addToSet(ALLOWED_ATTR, svg);\n addToSet(ALLOWED_ATTR, xml);\n }\n\n if (USE_PROFILES.svgFilters === true) {\n addToSet(ALLOWED_TAGS, svgFilters);\n addToSet(ALLOWED_ATTR, svg);\n addToSet(ALLOWED_ATTR, xml);\n }\n\n if (USE_PROFILES.mathMl === true) {\n addToSet(ALLOWED_TAGS, mathMl$1);\n addToSet(ALLOWED_ATTR, mathMl);\n addToSet(ALLOWED_ATTR, xml);\n }\n }\n /* Merge configuration parameters */\n\n\n if (cfg.ADD_TAGS) {\n if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n ALLOWED_TAGS = clone(ALLOWED_TAGS);\n }\n\n addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);\n }\n\n if (cfg.ADD_ATTR) {\n if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n ALLOWED_ATTR = clone(ALLOWED_ATTR);\n }\n\n addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);\n }\n\n if (cfg.ADD_URI_SAFE_ATTR) {\n addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);\n }\n\n if (cfg.FORBID_CONTENTS) {\n if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n FORBID_CONTENTS = clone(FORBID_CONTENTS);\n }\n\n addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);\n }\n /* Add #text in case KEEP_CONTENT is set to true */\n\n\n if (KEEP_CONTENT) {\n ALLOWED_TAGS['#text'] = true;\n }\n /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */\n\n\n if (WHOLE_DOCUMENT) {\n addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n }\n /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */\n\n\n if (ALLOWED_TAGS.table) {\n addToSet(ALLOWED_TAGS, ['tbody']);\n delete FORBID_TAGS.tbody;\n } // Prevent further manipulation of configuration.\n // Not available in IE8, Safari 5, etc.\n\n\n if (freeze) {\n freeze(cfg);\n }\n\n CONFIG = cfg;\n };\n\n var MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, ['mi', 'mo', 'mn', 'ms', 'mtext']);\n var HTML_INTEGRATION_POINTS = addToSet({}, ['foreignobject', 'desc', 'title', 'annotation-xml']); // Certain elements are allowed in both SVG and HTML\n // namespace. We need to specify them explicitly\n // so that they don't get erroneously deleted from\n // HTML namespace.\n\n var COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, ['title', 'style', 'font', 'a', 'script']);\n /* Keep track of all possible SVG and MathML tags\n * so that we can perform the namespace checks\n * correctly. */\n\n var ALL_SVG_TAGS = addToSet({}, svg$1);\n addToSet(ALL_SVG_TAGS, svgFilters);\n addToSet(ALL_SVG_TAGS, svgDisallowed);\n var ALL_MATHML_TAGS = addToSet({}, mathMl$1);\n addToSet(ALL_MATHML_TAGS, mathMlDisallowed);\n /**\n *\n *\n * @param {Element} element a DOM element whose namespace is being checked\n * @returns {boolean} Return false if the element has a\n * namespace that a spec-compliant parser would never\n * return. Return true otherwise.\n */\n\n var _checkValidNamespace = function _checkValidNamespace(element) {\n var parent = getParentNode(element); // In JSDOM, if we're inside shadow DOM, then parentNode\n // can be null. We just simulate parent in this case.\n\n if (!parent || !parent.tagName) {\n parent = {\n namespaceURI: NAMESPACE,\n tagName: 'template'\n };\n }\n\n var tagName = stringToLowerCase(element.tagName);\n var parentTagName = stringToLowerCase(parent.tagName);\n\n if (!ALLOWED_NAMESPACES[element.namespaceURI]) {\n return false;\n }\n\n if (element.namespaceURI === SVG_NAMESPACE) {\n // The only way to switch from HTML namespace to SVG\n // is via <svg>. If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'svg';\n } // The only way to switch from MathML to SVG is via`\n // svg if parent is either <annotation-xml> or MathML\n // text integration points.\n\n\n if (parent.namespaceURI === MATHML_NAMESPACE) {\n return tagName === 'svg' && (parentTagName === 'annotation-xml' || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]);\n } // We only allow elements that are defined in SVG\n // spec. All others are disallowed in SVG namespace.\n\n\n return Boolean(ALL_SVG_TAGS[tagName]);\n }\n\n if (element.namespaceURI === MATHML_NAMESPACE) {\n // The only way to switch from HTML namespace to MathML\n // is via <math>. If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'math';\n } // The only way to switch from SVG to MathML is via\n // <math> and HTML integration points\n\n\n if (parent.namespaceURI === SVG_NAMESPACE) {\n return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];\n } // We only allow elements that are defined in MathML\n // spec. All others are disallowed in MathML namespace.\n\n\n return Boolean(ALL_MATHML_TAGS[tagName]);\n }\n\n if (element.namespaceURI === HTML_NAMESPACE) {\n // The only way to switch from SVG to HTML is via\n // HTML integration points, and from MathML to HTML\n // is via MathML text integration points\n if (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) {\n return false;\n }\n\n if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) {\n return false;\n } // We disallow tags that are specific for MathML\n // or SVG and should never appear in HTML namespace\n\n\n return !ALL_MATHML_TAGS[tagName] && (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName]);\n } // For XHTML and XML documents that support custom namespaces\n\n\n if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && ALLOWED_NAMESPACES[element.namespaceURI]) {\n return true;\n } // The code should never reach this place (this means\n // that the element somehow got namespace that is not\n // HTML, SVG, MathML or allowed via ALLOWED_NAMESPACES).\n // Return false just in case.\n\n\n return false;\n };\n /**\n * _forceRemove\n *\n * @param {Node} node a DOM node\n */\n\n\n var _forceRemove = function _forceRemove(node) {\n arrayPush(DOMPurify.removed, {\n element: node\n });\n\n try {\n // eslint-disable-next-line unicorn/prefer-dom-node-remove\n node.parentNode.removeChild(node);\n } catch (_) {\n node.remove();\n }\n };\n /**\n * _removeAttribute\n *\n * @param {String} name an Attribute name\n * @param {Node} node a DOM node\n */\n\n\n var _removeAttribute = function _removeAttribute(name, node) {\n try {\n arrayPush(DOMPurify.removed, {\n attribute: node.getAttributeNode(name),\n from: node\n });\n } catch (_) {\n arrayPush(DOMPurify.removed, {\n attribute: null,\n from: node\n });\n }\n\n node.removeAttribute(name); // We void attribute values for unremovable \"is\"\" attributes\n\n if (name === 'is' && !ALLOWED_ATTR[name]) {\n if (RETURN_DOM || RETURN_DOM_FRAGMENT) {\n try {\n _forceRemove(node);\n } catch (_) {}\n } else {\n try {\n node.setAttribute(name, '');\n } catch (_) {}\n }\n }\n };\n /**\n * _initDocument\n *\n * @param {String} dirty a string of dirty markup\n * @return {Document} a DOM, filled with the dirty markup\n */\n\n\n var _initDocument = function _initDocument(dirty) {\n /* Create a HTML document */\n var doc;\n var leadingWhitespace;\n\n if (FORCE_BODY) {\n dirty = '<remove></remove>' + dirty;\n } else {\n /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */\n var matches = stringMatch(dirty, /^[\\r\\n\\t ]+/);\n leadingWhitespace = matches && matches[0];\n }\n\n if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && NAMESPACE === HTML_NAMESPACE) {\n // Root of XHTML doc must contain xmlns declaration (see https://www.w3.org/TR/xhtml1/normative.html#strict)\n dirty = '<html xmlns=\"http://www.w3.org/1999/xhtml\"><head></head><body>' + dirty + '</body></html>';\n }\n\n var dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty;\n /*\n * Use the DOMParser API by default, fallback later if needs be\n * DOMParser not work for svg when has multiple root element.\n */\n\n if (NAMESPACE === HTML_NAMESPACE) {\n try {\n doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);\n } catch (_) {}\n }\n /* Use createHTMLDocument in case DOMParser is not available */\n\n\n if (!doc || !doc.documentElement) {\n doc = implementation.createDocument(NAMESPACE, 'template', null);\n\n try {\n doc.documentElement.innerHTML = IS_EMPTY_INPUT ? emptyHTML : dirtyPayload;\n } catch (_) {// Syntax error if dirtyPayload is invalid xml\n }\n }\n\n var body = doc.body || doc.documentElement;\n\n if (dirty && leadingWhitespace) {\n body.insertBefore(document.createTextNode(leadingWhitespace), body.childNodes[0] || null);\n }\n /* Work on whole document or just its body */\n\n\n if (NAMESPACE === HTML_NAMESPACE) {\n return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? 'html' : 'body')[0];\n }\n\n return WHOLE_DOCUMENT ? doc.documentElement : body;\n };\n /**\n * _createIterator\n *\n * @param {Document} root document/fragment to create iterator for\n * @return {Iterator} iterator instance\n */\n\n\n var _createIterator = function _createIterator(root) {\n return createNodeIterator.call(root.ownerDocument || root, root, // eslint-disable-next-line no-bitwise\n NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT, null, false);\n };\n /**\n * _isClobbered\n *\n * @param {Node} elm element to check for clobbering attacks\n * @return {Boolean} true if clobbered, false if safe\n */\n\n\n var _isClobbered = function _isClobbered(elm) {\n return elm instanceof HTMLFormElement && (typeof elm.nodeName !== 'string' || typeof elm.textContent !== 'string' || typeof elm.removeChild !== 'function' || !(elm.attributes instanceof NamedNodeMap) || typeof elm.removeAttribute !== 'function' || typeof elm.setAttribute !== 'function' || typeof elm.namespaceURI !== 'string' || typeof elm.insertBefore !== 'function' || typeof elm.hasChildNodes !== 'function');\n };\n /**\n * _isNode\n *\n * @param {Node} obj object to check whether it's a DOM node\n * @return {Boolean} true is object is a DOM node\n */\n\n\n var _isNode = function _isNode(object) {\n return _typeof(Node) === 'object' ? object instanceof Node : object && _typeof(object) === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string';\n };\n /**\n * _executeHook\n * Execute user configurable hooks\n *\n * @param {String} entryPoint Name of the hook's entry point\n * @param {Node} currentNode node to work on with the hook\n * @param {Object} data additional hook parameters\n */\n\n\n var _executeHook = function _executeHook(entryPoint, currentNode, data) {\n if (!hooks[entryPoint]) {\n return;\n }\n\n arrayForEach(hooks[entryPoint], function (hook) {\n hook.call(DOMPurify, currentNode, data, CONFIG);\n });\n };\n /**\n * _sanitizeElements\n *\n * @protect nodeName\n * @protect textContent\n * @protect removeChild\n *\n * @param {Node} currentNode to check for permission to exist\n * @return {Boolean} true if node was killed, false if left alive\n */\n\n\n var _sanitizeElements = function _sanitizeElements(currentNode) {\n var content;\n /* Execute a hook if present */\n\n _executeHook('beforeSanitizeElements', currentNode, null);\n /* Check if element is clobbered or can clobber */\n\n\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n\n return true;\n }\n /* Now let's check the element's type and name */\n\n\n var tagName = transformCaseFunc(currentNode.nodeName);\n /* Execute a hook if present */\n\n _executeHook('uponSanitizeElement', currentNode, {\n tagName: tagName,\n allowedTags: ALLOWED_TAGS\n });\n /* Detect mXSS attempts abusing namespace confusion */\n\n\n if (currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && (!_isNode(currentNode.content) || !_isNode(currentNode.content.firstElementChild)) && regExpTest(/<[/\\w]/g, currentNode.innerHTML) && regExpTest(/<[/\\w]/g, currentNode.textContent)) {\n _forceRemove(currentNode);\n\n return true;\n }\n /* Remove element if anything forbids its presence */\n\n\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n /* Check if we have a custom element to handle */\n if (!FORBID_TAGS[tagName] && _basicCustomElementTest(tagName)) {\n if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) return false;\n if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)) return false;\n }\n /* Keep content except for bad-listed elements */\n\n\n if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {\n var parentNode = getParentNode(currentNode) || currentNode.parentNode;\n var childNodes = getChildNodes(currentNode) || currentNode.childNodes;\n\n if (childNodes && parentNode) {\n var childCount = childNodes.length;\n\n for (var i = childCount - 1; i >= 0; --i) {\n parentNode.insertBefore(cloneNode(childNodes[i], true), getNextSibling(currentNode));\n }\n }\n }\n\n _forceRemove(currentNode);\n\n return true;\n }\n /* Check whether element has a valid namespace */\n\n\n if (currentNode instanceof Element && !_checkValidNamespace(currentNode)) {\n _forceRemove(currentNode);\n\n return true;\n }\n /* Make sure that older browsers don't get noscript mXSS */\n\n\n if ((tagName === 'noscript' || tagName === 'noembed') && regExpTest(/<\\/no(script|embed)/i, currentNode.innerHTML)) {\n _forceRemove(currentNode);\n\n return true;\n }\n /* Sanitize element content to be template-safe */\n\n\n if (SAFE_FOR_TEMPLATES && currentNode.nodeType === 3) {\n /* Get the element's text content */\n content = currentNode.textContent;\n content = stringReplace(content, MUSTACHE_EXPR$1, ' ');\n content = stringReplace(content, ERB_EXPR$1, ' ');\n content = stringReplace(content, TMPLIT_EXPR$1, ' ');\n\n if (currentNode.textContent !== content) {\n arrayPush(DOMPurify.removed, {\n element: currentNode.cloneNode()\n });\n currentNode.textContent = content;\n }\n }\n /* Execute a hook if present */\n\n\n _executeHook('afterSanitizeElements', currentNode, null);\n\n return false;\n };\n /**\n * _isValidAttribute\n *\n * @param {string} lcTag Lowercase tag name of containing element.\n * @param {string} lcName Lowercase attribute name.\n * @param {string} value Attribute value.\n * @return {Boolean} Returns true if `value` is valid, otherwise false.\n */\n // eslint-disable-next-line complexity\n\n\n var _isValidAttribute = function _isValidAttribute(lcTag, lcName, value) {\n /* Make sure attribute cannot clobber */\n if (SANITIZE_DOM && (lcName === 'id' || lcName === 'name') && (value in document || value in formElement)) {\n return false;\n }\n /* Allow valid data-* attributes: At least one character after \"-\"\n (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)\n XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)\n We don't need to check the value; it's always URI safe. */\n\n\n if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR$1, lcName)) ; else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR$1, lcName)) ; else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {\n if ( // First condition does a very basic check if a) it's basically a valid custom element tagname AND\n // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n // and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck\n _basicCustomElementTest(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName)) || // Alternative, second condition checks if it's an `is`-attribute, AND\n // the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n lcName === 'is' && CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(value))) ; else {\n return false;\n }\n /* Check value is safe. First, is attr inert? If so, is safe */\n\n } else if (URI_SAFE_ATTRIBUTES[lcName]) ; else if (regExpTest(IS_ALLOWED_URI$1, stringReplace(value, ATTR_WHITESPACE$1, ''))) ; else if ((lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') && lcTag !== 'script' && stringIndexOf(value, 'data:') === 0 && DATA_URI_TAGS[lcTag]) ; else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA$1, stringReplace(value, ATTR_WHITESPACE$1, ''))) ; else if (!value) ; else {\n return false;\n }\n\n return true;\n };\n /**\n * _basicCustomElementCheck\n * checks if at least one dash is included in tagName, and it's not the first char\n * for more sophisticated checking see https://github.com/sindresorhus/validate-element-name\n * @param {string} tagName name of the tag of the node to sanitize\n */\n\n\n var _basicCustomElementTest = function _basicCustomElementTest(tagName) {\n return tagName.indexOf('-') > 0;\n };\n /**\n * _sanitizeAttributes\n *\n * @protect attributes\n * @protect nodeName\n * @protect removeAttribute\n * @protect setAttribute\n *\n * @param {Node} currentNode to sanitize\n */\n\n\n var _sanitizeAttributes = function _sanitizeAttributes(currentNode) {\n var attr;\n var value;\n var lcName;\n var l;\n /* Execute a hook if present */\n\n _executeHook('beforeSanitizeAttributes', currentNode, null);\n\n var attributes = currentNode.attributes;\n /* Check if we have attributes; if not we might have a text node */\n\n if (!attributes) {\n return;\n }\n\n var hookEvent = {\n attrName: '',\n attrValue: '',\n keepAttr: true,\n allowedAttributes: ALLOWED_ATTR\n };\n l = attributes.length;\n /* Go backwards over all attributes; safely remove bad ones */\n\n while (l--) {\n attr = attributes[l];\n var _attr = attr,\n name = _attr.name,\n namespaceURI = _attr.namespaceURI;\n value = name === 'value' ? attr.value : stringTrim(attr.value);\n lcName = transformCaseFunc(name);\n /* Execute a hook if present */\n\n hookEvent.attrName = lcName;\n hookEvent.attrValue = value;\n hookEvent.keepAttr = true;\n hookEvent.forceKeepAttr = undefined; // Allows developers to see this is a property they can set\n\n _executeHook('uponSanitizeAttribute', currentNode, hookEvent);\n\n value = hookEvent.attrValue;\n /* Did the hooks approve of the attribute? */\n\n if (hookEvent.forceKeepAttr) {\n continue;\n }\n /* Remove attribute */\n\n\n _removeAttribute(name, currentNode);\n /* Did the hooks approve of the attribute? */\n\n\n if (!hookEvent.keepAttr) {\n continue;\n }\n /* Work around a security issue in jQuery 3.0 */\n\n\n if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(/\\/>/i, value)) {\n _removeAttribute(name, currentNode);\n\n continue;\n }\n /* Sanitize attribute content to be template-safe */\n\n\n if (SAFE_FOR_TEMPLATES) {\n value = stringReplace(value, MUSTACHE_EXPR$1, ' ');\n value = stringReplace(value, ERB_EXPR$1, ' ');\n value = stringReplace(value, TMPLIT_EXPR$1, ' ');\n }\n /* Is `value` valid for this attribute? */\n\n\n var lcTag = transformCaseFunc(currentNode.nodeName);\n\n if (!_isValidAttribute(lcTag, lcName, value)) {\n continue;\n }\n /* Full DOM Clobbering protection via namespace isolation,\n * Prefix id and name attributes with `user-content-`\n */\n\n\n if (SANITIZE_NAMED_PROPS && (lcName === 'id' || lcName === 'name')) {\n // Remove the attribute with this value\n _removeAttribute(name, currentNode); // Prefix the value and later re-create the attribute with the sanitized value\n\n\n value = SANITIZE_NAMED_PROPS_PREFIX + value;\n }\n /* Handle attributes that require Trusted Types */\n\n\n if (trustedTypesPolicy && _typeof(trustedTypes) === 'object' && typeof trustedTypes.getAttributeType === 'function') {\n if (namespaceURI) ; else {\n switch (trustedTypes.getAttributeType(lcTag, lcName)) {\n case 'TrustedHTML':\n value = trustedTypesPolicy.createHTML(value);\n break;\n\n case 'TrustedScriptURL':\n value = trustedTypesPolicy.createScriptURL(value);\n break;\n }\n }\n }\n /* Handle invalid data-* attribute set by try-catching it */\n\n\n try {\n if (namespaceURI) {\n currentNode.setAttributeNS(namespaceURI, name, value);\n } else {\n /* Fallback to setAttribute() for browser-unrecognized namespaces e.g. \"x-schema\". */\n currentNode.setAttribute(name, value);\n }\n\n arrayPop(DOMPurify.removed);\n } catch (_) {}\n }\n /* Execute a hook if present */\n\n\n _executeHook('afterSanitizeAttributes', currentNode, null);\n };\n /**\n * _sanitizeShadowDOM\n *\n * @param {DocumentFragment} fragment to iterate over recursively\n */\n\n\n var _sanitizeShadowDOM = function _sanitizeShadowDOM(fragment) {\n var shadowNode;\n\n var shadowIterator = _createIterator(fragment);\n /* Execute a hook if present */\n\n\n _executeHook('beforeSanitizeShadowDOM', fragment, null);\n\n while (shadowNode = shadowIterator.nextNode()) {\n /* Execute a hook if present */\n _executeHook('uponSanitizeShadowNode', shadowNode, null);\n /* Sanitize tags and elements */\n\n\n if (_sanitizeElements(shadowNode)) {\n continue;\n }\n /* Deep shadow DOM detected */\n\n\n if (shadowNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(shadowNode.content);\n }\n /* Check attributes, sanitize if necessary */\n\n\n _sanitizeAttributes(shadowNode);\n }\n /* Execute a hook if present */\n\n\n _executeHook('afterSanitizeShadowDOM', fragment, null);\n };\n /**\n * Sanitize\n * Public method providing core sanitation functionality\n *\n * @param {String|Node} dirty string or DOM node\n * @param {Object} configuration object\n */\n // eslint-disable-next-line complexity\n\n\n DOMPurify.sanitize = function (dirty) {\n var cfg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var body;\n var importedNode;\n var currentNode;\n var returnNode;\n /* Make sure we have a string to sanitize.\n DO NOT return early, as this will return the wrong type if\n the user has requested a DOM object rather than a string */\n\n IS_EMPTY_INPUT = !dirty;\n\n if (IS_EMPTY_INPUT) {\n dirty = '<!-->';\n }\n /* Stringify, in case dirty is an object */\n\n\n if (typeof dirty !== 'string' && !_isNode(dirty)) {\n // eslint-disable-next-line no-negated-condition\n if (typeof dirty.toString !== 'function') {\n throw typeErrorCreate('toString is not a function');\n } else {\n dirty = dirty.toString();\n\n if (typeof dirty !== 'string') {\n throw typeErrorCreate('dirty is not a string, aborting');\n }\n }\n }\n /* Return dirty HTML if DOMPurify cannot run */\n\n\n if (!DOMPurify.isSupported) {\n return dirty;\n }\n /* Assign config vars */\n\n\n if (!SET_CONFIG) {\n _parseConfig(cfg);\n }\n /* Clean up removed elements */\n\n\n DOMPurify.removed = [];\n /* Check if dirty is correctly typed for IN_PLACE */\n\n if (typeof dirty === 'string') {\n IN_PLACE = false;\n }\n\n if (IN_PLACE) {\n /* Do some early pre-sanitization to avoid unsafe root nodes */\n if (dirty.nodeName) {\n var tagName = transformCaseFunc(dirty.nodeName);\n\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n throw typeErrorCreate('root node is forbidden and cannot be sanitized in-place');\n }\n }\n } else if (dirty instanceof Node) {\n /* If dirty is a DOM element, append to an empty document to avoid\n elements being stripped by the parser */\n body = _initDocument('<!---->');\n importedNode = body.ownerDocument.importNode(dirty, true);\n\n if (importedNode.nodeType === 1 && importedNode.nodeName === 'BODY') {\n /* Node is already a body, use as is */\n body = importedNode;\n } else if (importedNode.nodeName === 'HTML') {\n body = importedNode;\n } else {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n body.appendChild(importedNode);\n }\n } else {\n /* Exit directly if we have nothing to do */\n if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT && // eslint-disable-next-line unicorn/prefer-includes\n dirty.indexOf('<') === -1) {\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(dirty) : dirty;\n }\n /* Initialize the document to work on */\n\n\n body = _initDocument(dirty);\n /* Check we have a DOM node from the data */\n\n if (!body) {\n return RETURN_DOM ? null : RETURN_TRUSTED_TYPE ? emptyHTML : '';\n }\n }\n /* Remove first element node (ours) if FORCE_BODY is set */\n\n\n if (body && FORCE_BODY) {\n _forceRemove(body.firstChild);\n }\n /* Get node iterator */\n\n\n var nodeIterator = _createIterator(IN_PLACE ? dirty : body);\n /* Now start iterating over the created document */\n\n\n while (currentNode = nodeIterator.nextNode()) {\n /* Sanitize tags and elements */\n if (_sanitizeElements(currentNode)) {\n continue;\n }\n /* Shadow DOM detected, sanitize it */\n\n\n if (currentNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(currentNode.content);\n }\n /* Check attributes, sanitize if necessary */\n\n\n _sanitizeAttributes(currentNode);\n }\n /* If we sanitized `dirty` in-place, return it. */\n\n\n if (IN_PLACE) {\n return dirty;\n }\n /* Return sanitized string or DOM */\n\n\n if (RETURN_DOM) {\n if (RETURN_DOM_FRAGMENT) {\n returnNode = createDocumentFragment.call(body.ownerDocument);\n\n while (body.firstChild) {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n returnNode.appendChild(body.firstChild);\n }\n } else {\n returnNode = body;\n }\n\n if (ALLOWED_ATTR.shadowroot || ALLOWED_ATTR.shadowrootmod) {\n /*\n AdoptNode() is not used because internal state is not reset\n (e.g. the past names map of a HTMLFormElement), this is safe\n in theory but we would rather not risk another attack vector.\n The state that is cloned by importNode() is explicitly defined\n by the specs.\n */\n returnNode = importNode.call(originalDocument, returnNode, true);\n }\n\n return returnNode;\n }\n\n var serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;\n /* Serialize doctype if allowed */\n\n if (WHOLE_DOCUMENT && ALLOWED_TAGS['!doctype'] && body.ownerDocument && body.ownerDocument.doctype && body.ownerDocument.doctype.name && regExpTest(DOCTYPE_NAME, body.ownerDocument.doctype.name)) {\n serializedHTML = '<!DOCTYPE ' + body.ownerDocument.doctype.name + '>\\n' + serializedHTML;\n }\n /* Sanitize final string template-safe */\n\n\n if (SAFE_FOR_TEMPLATES) {\n serializedHTML = stringReplace(serializedHTML, MUSTACHE_EXPR$1, ' ');\n serializedHTML = stringReplace(serializedHTML, ERB_EXPR$1, ' ');\n serializedHTML = stringReplace(serializedHTML, TMPLIT_EXPR$1, ' ');\n }\n\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(serializedHTML) : serializedHTML;\n };\n /**\n * Public method to set the configuration once\n * setConfig\n *\n * @param {Object} cfg configuration object\n */\n\n\n DOMPurify.setConfig = function (cfg) {\n _parseConfig(cfg);\n\n SET_CONFIG = true;\n };\n /**\n * Public method to remove the configuration\n * clearConfig\n *\n */\n\n\n DOMPurify.clearConfig = function () {\n CONFIG = null;\n SET_CONFIG = false;\n };\n /**\n * Public method to check if an attribute value is valid.\n * Uses last set config, if any. Otherwise, uses config defaults.\n * isValidAttribute\n *\n * @param {string} tag Tag name of containing element.\n * @param {string} attr Attribute name.\n * @param {string} value Attribute value.\n * @return {Boolean} Returns true if `value` is valid. Otherwise, returns false.\n */\n\n\n DOMPurify.isValidAttribute = function (tag, attr, value) {\n /* Initialize shared config vars if necessary. */\n if (!CONFIG) {\n _parseConfig({});\n }\n\n var lcTag = transformCaseFunc(tag);\n var lcName = transformCaseFunc(attr);\n return _isValidAttribute(lcTag, lcName, value);\n };\n /**\n * AddHook\n * Public method to add DOMPurify hooks\n *\n * @param {String} entryPoint entry point for the hook to add\n * @param {Function} hookFunction function to execute\n */\n\n\n DOMPurify.addHook = function (entryPoint, hookFunction) {\n if (typeof hookFunction !== 'function') {\n return;\n }\n\n hooks[entryPoint] = hooks[entryPoint] || [];\n arrayPush(hooks[entryPoint], hookFunction);\n };\n /**\n * RemoveHook\n * Public method to remove a DOMPurify hook at a given entryPoint\n * (pops it from the stack of hooks if more are present)\n *\n * @param {String} entryPoint entry point for the hook to remove\n * @return {Function} removed(popped) hook\n */\n\n\n DOMPurify.removeHook = function (entryPoint) {\n if (hooks[entryPoint]) {\n return arrayPop(hooks[entryPoint]);\n }\n };\n /**\n * RemoveHooks\n * Public method to remove all DOMPurify hooks at a given entryPoint\n *\n * @param {String} entryPoint entry point for the hooks to remove\n */\n\n\n DOMPurify.removeHooks = function (entryPoint) {\n if (hooks[entryPoint]) {\n hooks[entryPoint] = [];\n }\n };\n /**\n * RemoveAllHooks\n * Public method to remove all DOMPurify hooks\n *\n */\n\n\n DOMPurify.removeAllHooks = function () {\n hooks = {};\n };\n\n return DOMPurify;\n}\n\nvar purify = createDOMPurify();\n\nexport { purify as default };\n//# sourceMappingURL=purify.es.js.map\n","export default function _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}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import _typeof from \"./typeof.js\";\nexport default function _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}","import toPropertyKey from \"./toPropertyKey.js\";\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}\nexport default function _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}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _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}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _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}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import _typeof from '@babel/runtime/helpers/esm/typeof';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _toArray from '@babel/runtime/helpers/esm/toArray';\n\nfunction ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nvar consoleLogger = {\n type: 'logger',\n log: function log(args) {\n this.output('log', args);\n },\n warn: function warn(args) {\n this.output('warn', args);\n },\n error: function error(args) {\n this.output('error', args);\n },\n output: function output(type, args) {\n if (console && console[type]) console[type].apply(console, args);\n }\n};\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Logger);\n this.init(concreteLogger, options);\n }\n _createClass(Logger, [{\n key: \"init\",\n value: function init(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n }, {\n key: \"setDebug\",\n value: function setDebug(bool) {\n this.debug = bool;\n }\n }, {\n key: \"log\",\n value: function log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return this.forward(args, 'log', '', true);\n }\n }, {\n key: \"warn\",\n value: function warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return this.forward(args, 'warn', '', true);\n }\n }, {\n key: \"error\",\n value: function error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n return this.forward(args, 'error', '');\n }\n }, {\n key: \"deprecate\",\n value: function deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n }, {\n key: \"forward\",\n value: function forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = \"\".concat(prefix).concat(this.prefix, \" \").concat(args[0]);\n return this.logger[lvl](args);\n }\n }, {\n key: \"create\",\n value: function create(moduleName) {\n return new Logger(this.logger, _objectSpread$6(_objectSpread$6({}, {\n prefix: \"\".concat(this.prefix, \":\").concat(moduleName, \":\")\n }), this.options));\n }\n }, {\n key: \"clone\",\n value: function clone(options) {\n options = options || this.options;\n options.prefix = options.prefix || this.prefix;\n return new Logger(this.logger, options);\n }\n }]);\n return Logger;\n}();\nvar baseLogger = new Logger();\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck(this, EventEmitter);\n this.observers = {};\n }\n _createClass(EventEmitter, [{\n key: \"on\",\n value: function on(events, listener) {\n var _this = this;\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\n _this.observers[event].push(listener);\n });\n return this;\n }\n }, {\n key: \"off\",\n value: function off(event, listener) {\n if (!this.observers[event]) return;\n if (!listener) {\n delete this.observers[event];\n return;\n }\n this.observers[event] = this.observers[event].filter(function (l) {\n return l !== listener;\n });\n }\n }, {\n key: \"emit\",\n value: function emit(event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n if (this.observers[event]) {\n var cloned = [].concat(this.observers[event]);\n cloned.forEach(function (observer) {\n observer.apply(void 0, args);\n });\n }\n if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\n });\n }\n }\n }]);\n return EventEmitter;\n}();\n\nfunction defer() {\n var res;\n var rej;\n var promise = new Promise(function (resolve, reject) {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n}\nfunction makeString(object) {\n if (object == null) return '';\n return '' + object;\n}\nfunction copy(a, s, t) {\n a.forEach(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n var key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n }\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\nfunction setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n obj[k] = newValue;\n}\nfunction pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\nfunction getPath(object, path) {\n var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n if (!obj) return undefined;\n return obj[k];\n}\nfunction getPathWithDefaults(data, defaultData, key) {\n var value = getPath(data, key);\n if (value !== undefined) {\n return value;\n }\n return getPath(defaultData, key);\n}\nfunction deepExtend(target, source, overwrite) {\n for (var prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n return target;\n}\nfunction regexEscape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\nvar _entityMap = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n '\"': '&quot;',\n \"'\": '&#39;',\n '/': '&#x2F;'\n};\nfunction escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, function (s) {\n return _entityMap[s];\n });\n }\n return data;\n}\nvar isIE10 = typeof window !== 'undefined' && window.navigator && typeof window.navigator.userAgentData === 'undefined' && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1;\nvar chars = [' ', ',', '?', '!', ';'];\nfunction looksLikeObjectPath(key, nsSeparator, keySeparator) {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n var possibleChars = chars.filter(function (c) {\n return nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0;\n });\n if (possibleChars.length === 0) return true;\n var r = new RegExp(\"(\".concat(possibleChars.map(function (c) {\n return c === '?' ? '\\\\?' : c;\n }).join('|'), \")\"));\n var matched = !r.test(key);\n if (!matched) {\n var ki = key.indexOf(keySeparator);\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n return matched;\n}\nfunction deepFind(obj, path) {\n var keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';\n if (!obj) return undefined;\n if (obj[path]) return obj[path];\n var paths = path.split(keySeparator);\n var current = obj;\n for (var i = 0; i < paths.length; ++i) {\n if (!current) return undefined;\n if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) {\n return undefined;\n }\n if (current[paths[i]] === undefined) {\n var j = 2;\n var p = paths.slice(i, i + j).join(keySeparator);\n var mix = current[p];\n while (mix === undefined && paths.length > i + j) {\n j++;\n p = paths.slice(i, i + j).join(keySeparator);\n mix = current[p];\n }\n if (mix === undefined) return undefined;\n if (mix === null) return null;\n if (path.endsWith(p)) {\n if (typeof mix === 'string') return mix;\n if (p && typeof mix[p] === 'string') return mix[p];\n }\n var joinedPath = paths.slice(i + j).join(keySeparator);\n if (joinedPath) return deepFind(mix, joinedPath, keySeparator);\n return undefined;\n }\n current = current[paths[i]];\n }\n return current;\n}\n\nfunction ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$3(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$3(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct$3() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar ResourceStore = function (_EventEmitter) {\n _inherits(ResourceStore, _EventEmitter);\n var _super = _createSuper$3(ResourceStore);\n function ResourceStore(data) {\n var _this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n _classCallCheck(this, ResourceStore);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.data = data || {};\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n if (_this.options.ignoreJSONStructure === undefined) {\n _this.options.ignoreJSONStructure = true;\n }\n return _this;\n }\n _createClass(ResourceStore, [{\n key: \"addNamespaces\",\n value: function addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n }, {\n key: \"removeNamespaces\",\n value: function removeNamespaces(ns) {\n var index = this.options.ns.indexOf(ns);\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n }, {\n key: \"getResource\",\n value: function getResource(lng, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n var path = [lng, ns];\n if (key && typeof key !== 'string') path = path.concat(key);\n if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n var result = getPath(this.data, path);\n if (result || !ignoreJSONStructure || typeof key !== 'string') return result;\n return deepFind(this.data && this.data[lng] && this.data[lng][ns], key, keySeparator);\n }\n }, {\n key: \"addResource\",\n value: function addResource(lng, ns, key, value) {\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n var keySeparator = this.options.keySeparator;\n if (keySeparator === undefined) keySeparator = '.';\n var path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n }, {\n key: \"addResources\",\n value: function addResources(lng, ns, resources) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n for (var m in resources) {\n if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"addResourceBundle\",\n value: function addResourceBundle(lng, ns, resources, deep, overwrite) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false\n };\n var path = [lng, ns];\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n var pack = getPath(this.data, path) || {};\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = _objectSpread$5(_objectSpread$5({}, pack), resources);\n }\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"removeResourceBundle\",\n value: function removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n }, {\n key: \"hasResourceBundle\",\n value: function hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n }, {\n key: \"getResourceBundle\",\n value: function getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n if (this.options.compatibilityAPI === 'v1') return _objectSpread$5(_objectSpread$5({}, {}), this.getResource(lng, ns));\n return this.getResource(lng, ns);\n }\n }, {\n key: \"getDataByLanguage\",\n value: function getDataByLanguage(lng) {\n return this.data[lng];\n }\n }, {\n key: \"hasLanguageSomeTranslations\",\n value: function hasLanguageSomeTranslations(lng) {\n var data = this.getDataByLanguage(lng);\n var n = data && Object.keys(data) || [];\n return !!n.find(function (v) {\n return data[v] && Object.keys(data[v]).length > 0;\n });\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return this.data;\n }\n }]);\n return ResourceStore;\n}(EventEmitter);\n\nvar postProcessor = {\n processors: {},\n addPostProcessor: function addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle: function handle(processors, value, key, options, translator) {\n var _this = this;\n processors.forEach(function (processor) {\n if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};\n\nfunction ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$2(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$2(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct$2() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar checkedLoadedFor = {};\nvar Translator = function (_EventEmitter) {\n _inherits(Translator, _EventEmitter);\n var _super = _createSuper$2(Translator);\n function Translator(services) {\n var _this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Translator);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized(_this));\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n _this.logger = baseLogger.create('translator');\n return _this;\n }\n _createClass(Translator, [{\n key: \"changeLanguage\",\n value: function changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n }, {\n key: \"exists\",\n value: function exists(key) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n if (key === undefined || key === null) {\n return false;\n }\n var resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n }\n }, {\n key: \"extractFromKey\",\n value: function extractFromKey(key, options) {\n var nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var namespaces = options.ns || this.options.defaultNS || [];\n var wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n var seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !options.keySeparator && !this.options.userDefinedNsSeparator && !options.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n var m = key.match(this.interpolator.nestingRegexp);\n if (m && m.length > 0) {\n return {\n key: key,\n namespaces: namespaces\n };\n }\n var parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n if (typeof namespaces === 'string') namespaces = [namespaces];\n return {\n key: key,\n namespaces: namespaces\n };\n }\n }, {\n key: \"translate\",\n value: function translate(keys, options, lastKey) {\n var _this2 = this;\n if (_typeof(options) !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n var returnDetails = options.returnDetails !== undefined ? options.returnDetails : this.options.returnDetails;\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _this$extractFromKey.key,\n namespaces = _this$extractFromKey.namespaces;\n var namespace = namespaces[namespaces.length - 1];\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n if (returnDetails) {\n return {\n res: \"\".concat(namespace).concat(nsSeparator).concat(key),\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace\n };\n }\n return \"\".concat(namespace).concat(nsSeparator).concat(key);\n }\n if (returnDetails) {\n return {\n res: key,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace\n };\n }\n return key;\n }\n var resolved = this.resolve(keys, options);\n var res = resolved && resolved.res;\n var resUsedKey = resolved && resolved.usedKey || key;\n var resExactUsedKey = resolved && resolved.exactUsedKey || key;\n var resType = Object.prototype.toString.apply(res);\n var noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n var r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, _objectSpread$4(_objectSpread$4({}, options), {}, {\n ns: namespaces\n })) : \"key '\".concat(key, \" (\").concat(this.language, \")' returned an object instead of string.\");\n if (returnDetails) {\n resolved.res = r;\n return resolved;\n }\n return r;\n }\n if (keySeparator) {\n var resTypeIsArray = resType === '[object Array]';\n var copy = resTypeIsArray ? [] : {};\n var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n for (var m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n var deepKey = \"\".concat(newKeyToUse).concat(keySeparator).concat(m);\n copy[m] = this.translate(deepKey, _objectSpread$4(_objectSpread$4({}, options), {\n joinArrays: false,\n ns: namespaces\n }));\n if (copy[m] === deepKey) copy[m] = res[m];\n }\n }\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n var usedDefault = false;\n var usedKey = false;\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var hasDefaultValue = Translator.hasDefaultValue(options);\n var defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, options) : '';\n var defaultValue = options[\"defaultValue\".concat(defaultValueSuffix)] || options.defaultValue;\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n var missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n var resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n var updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n if (keySeparator) {\n var fk = this.resolve(key, _objectSpread$4(_objectSpread$4({}, options), {}, {\n keySeparator: false\n }));\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (var i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n var send = function send(l, k, specificDefaultValue) {\n var defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, options);\n }\n _this2.emit('missingKey', l, namespace, k, res);\n };\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(function (language) {\n _this2.pluralResolver.getSuffixes(language, options).forEach(function (suffix) {\n send([language], key + suffix, options[\"defaultValue\".concat(suffix)] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = \"\".concat(namespace, \":\").concat(key);\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {\n if (this.options.compatibilityAPI !== 'v1') {\n res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? \"\".concat(namespace, \":\").concat(key) : key, usedDefault ? res : undefined);\n } else {\n res = this.options.parseMissingKeyHandler(res);\n }\n }\n }\n if (returnDetails) {\n resolved.res = res;\n return resolved;\n }\n return res;\n }\n }, {\n key: \"extendTranslation\",\n value: function extendTranslation(res, key, options, resolved, lastKey) {\n var _this3 = this;\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), options), resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved: resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init(_objectSpread$4(_objectSpread$4({}, options), {\n interpolation: _objectSpread$4(_objectSpread$4({}, this.options.interpolation), options.interpolation)\n }));\n var skipOnVariables = typeof res === 'string' && (options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);\n var nestBef;\n if (skipOnVariables) {\n var nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n if (skipOnVariables) {\n var na = res.match(this.interpolator.nestingRegexp);\n var nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this3.logger.warn(\"It seems you are nesting recursively key: \".concat(args[0], \" in key: \").concat(key[0]));\n return null;\n }\n return _this3.translate.apply(_this3, args.concat([key]));\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread$4({\n i18nResolved: resolved\n }, options) : options, this);\n }\n return res;\n }\n }, {\n key: \"resolve\",\n value: function resolve(keys) {\n var _this4 = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var found;\n var usedKey;\n var exactUsedKey;\n var usedLng;\n var usedNS;\n if (typeof keys === 'string') keys = [keys];\n keys.forEach(function (k) {\n if (_this4.isValidLookup(found)) return;\n var extracted = _this4.extractFromKey(k, options);\n var key = extracted.key;\n usedKey = key;\n var namespaces = extracted.namespaces;\n if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS);\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && _this4.pluralResolver.shouldUseIntlApi();\n var needsContextHandling = options.context !== undefined && (typeof options.context === 'string' || typeof options.context === 'number') && options.context !== '';\n var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng);\n namespaces.forEach(function (ns) {\n if (_this4.isValidLookup(found)) return;\n usedNS = ns;\n if (!checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] && _this4.utils && _this4.utils.hasLoadedNamespace && !_this4.utils.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] = true;\n _this4.logger.warn(\"key \\\"\".concat(usedKey, \"\\\" for languages \\\"\").concat(codes.join(', '), \"\\\" won't get resolved as namespace \\\"\").concat(usedNS, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n var finalKeys = [key];\n if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) {\n _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n var pluralSuffix;\n if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count, options);\n var zeroSuffix = \"\".concat(_this4.options.pluralSeparator, \"zero\");\n if (needsPluralHandling) {\n finalKeys.push(key + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n if (needsContextHandling) {\n var contextKey = \"\".concat(key).concat(_this4.options.contextSeparator).concat(options.context);\n finalKeys.push(contextKey);\n if (needsPluralHandling) {\n finalKeys.push(contextKey + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n var possibleKey;\n while (possibleKey = finalKeys.pop()) {\n if (!_this4.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = _this4.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey: usedKey,\n exactUsedKey: exactUsedKey,\n usedLng: usedLng,\n usedNS: usedNS\n };\n }\n }, {\n key: \"isValidLookup\",\n value: function isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n }, {\n key: \"getResource\",\n value: function getResource(code, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n }], [{\n key: \"hasDefaultValue\",\n value: function hasDefaultValue(options) {\n var prefix = 'defaultValue';\n for (var option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n return false;\n }\n }]);\n return Translator;\n}(EventEmitter);\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck(this, LanguageUtil);\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n _createClass(LanguageUtil, [{\n key: \"getScriptPartFromCode\",\n value: function getScriptPartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return null;\n var p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n }, {\n key: \"getLanguagePartFromCode\",\n value: function getLanguagePartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return code;\n var p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n }, {\n key: \"formatLanguageCode\",\n value: function formatLanguageCode(code) {\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n var p = code.split('-');\n if (this.options.lowerCaseLng) {\n p = p.map(function (part) {\n return part.toLowerCase();\n });\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n return p.join('-');\n }\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n }, {\n key: \"isSupportedCode\",\n value: function isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n }, {\n key: \"getBestMatchFromCodes\",\n value: function getBestMatchFromCodes(codes) {\n var _this = this;\n if (!codes) return null;\n var found;\n codes.forEach(function (code) {\n if (found) return;\n var cleanedLng = _this.formatLanguageCode(code);\n if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n if (!found && this.options.supportedLngs) {\n codes.forEach(function (code) {\n if (found) return;\n var lngOnly = _this.getLanguagePartFromCode(code);\n if (_this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = _this.options.supportedLngs.find(function (supportedLng) {\n if (supportedLng === lngOnly) return supportedLng;\n if (supportedLng.indexOf('-') < 0 && lngOnly.indexOf('-') < 0) return;\n if (supportedLng.indexOf(lngOnly) === 0) return supportedLng;\n });\n });\n }\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n }, {\n key: \"getFallbackCodes\",\n value: function getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n if (!code) return fallbacks[\"default\"] || [];\n var found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks[\"default\"];\n return found || [];\n }\n }, {\n key: \"toResolveHierarchy\",\n value: function toResolveHierarchy(code, fallbackCode) {\n var _this2 = this;\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n var codes = [];\n var addCode = function addCode(c) {\n if (!c) return;\n if (_this2.isSupportedCode(c)) {\n codes.push(c);\n } else {\n _this2.logger.warn(\"rejecting language code not found in supportedLngs: \".concat(c));\n }\n };\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc));\n });\n return codes;\n }\n }]);\n return LanguageUtil;\n}();\n\nvar sets = [{\n lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'tl', 'ti', 'tr', 'uz', 'wa'],\n nr: [1, 2],\n fc: 1\n}, {\n lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kk', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'],\n nr: [1, 2],\n fc: 2\n}, {\n lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'],\n nr: [1],\n fc: 3\n}, {\n lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'],\n nr: [1, 2, 5],\n fc: 4\n}, {\n lngs: ['ar'],\n nr: [0, 1, 2, 3, 11, 100],\n fc: 5\n}, {\n lngs: ['cs', 'sk'],\n nr: [1, 2, 5],\n fc: 6\n}, {\n lngs: ['csb', 'pl'],\n nr: [1, 2, 5],\n fc: 7\n}, {\n lngs: ['cy'],\n nr: [1, 2, 3, 8],\n fc: 8\n}, {\n lngs: ['fr'],\n nr: [1, 2],\n fc: 9\n}, {\n lngs: ['ga'],\n nr: [1, 2, 3, 7, 11],\n fc: 10\n}, {\n lngs: ['gd'],\n nr: [1, 2, 3, 20],\n fc: 11\n}, {\n lngs: ['is'],\n nr: [1, 2],\n fc: 12\n}, {\n lngs: ['jv'],\n nr: [0, 1],\n fc: 13\n}, {\n lngs: ['kw'],\n nr: [1, 2, 3, 4],\n fc: 14\n}, {\n lngs: ['lt'],\n nr: [1, 2, 10],\n fc: 15\n}, {\n lngs: ['lv'],\n nr: [1, 2, 0],\n fc: 16\n}, {\n lngs: ['mk'],\n nr: [1, 2],\n fc: 17\n}, {\n lngs: ['mnk'],\n nr: [0, 1, 2],\n fc: 18\n}, {\n lngs: ['mt'],\n nr: [1, 2, 11, 20],\n fc: 19\n}, {\n lngs: ['or'],\n nr: [2, 1],\n fc: 2\n}, {\n lngs: ['ro'],\n nr: [1, 2, 20],\n fc: 20\n}, {\n lngs: ['sl'],\n nr: [5, 1, 2, 3],\n fc: 21\n}, {\n lngs: ['he', 'iw'],\n nr: [1, 2, 20, 21],\n fc: 22\n}];\nvar _rulesPluralsTypes = {\n 1: function _(n) {\n return Number(n > 1);\n },\n 2: function _(n) {\n return Number(n != 1);\n },\n 3: function _(n) {\n return 0;\n },\n 4: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 5: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n },\n 6: function _(n) {\n return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2);\n },\n 7: function _(n) {\n return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 8: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3);\n },\n 9: function _(n) {\n return Number(n >= 2);\n },\n 10: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n },\n 11: function _(n) {\n return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3);\n },\n 12: function _(n) {\n return Number(n % 10 != 1 || n % 100 == 11);\n },\n 13: function _(n) {\n return Number(n !== 0);\n },\n 14: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3);\n },\n 15: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 16: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2);\n },\n 17: function _(n) {\n return Number(n == 1 || n % 10 == 1 && n % 100 != 11 ? 0 : 1);\n },\n 18: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : 2);\n },\n 19: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3);\n },\n 20: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2);\n },\n 21: function _(n) {\n return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0);\n },\n 22: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3);\n }\n};\nvar deprecatedJsonVersions = ['v1', 'v2', 'v3'];\nvar suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\n};\nfunction createRules() {\n var rules = {};\n sets.forEach(function (set) {\n set.lngs.forEach(function (l) {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, PluralResolver);\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n if ((!this.options.compatibilityJSON || this.options.compatibilityJSON === 'v4') && (typeof Intl === 'undefined' || !Intl.PluralRules)) {\n this.options.compatibilityJSON = 'v3';\n this.logger.error('Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.');\n }\n this.rules = createRules();\n }\n _createClass(PluralResolver, [{\n key: \"addRule\",\n value: function addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n }, {\n key: \"getRule\",\n value: function getRule(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (this.shouldUseIntlApi()) {\n try {\n return new Intl.PluralRules(code, {\n type: options.ordinal ? 'ordinal' : 'cardinal'\n });\n } catch (_unused) {\n return;\n }\n }\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n }, {\n key: \"needsPlural\",\n value: function needsPlural(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n if (this.shouldUseIntlApi()) {\n return rule && rule.resolvedOptions().pluralCategories.length > 1;\n }\n return rule && rule.numbers.length > 1;\n }\n }, {\n key: \"getPluralFormsOfKey\",\n value: function getPluralFormsOfKey(code, key) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return this.getSuffixes(code, options).map(function (suffix) {\n return \"\".concat(key).concat(suffix);\n });\n }\n }, {\n key: \"getSuffixes\",\n value: function getSuffixes(code) {\n var _this = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n if (!rule) {\n return [];\n }\n if (this.shouldUseIntlApi()) {\n return rule.resolvedOptions().pluralCategories.sort(function (pluralCategory1, pluralCategory2) {\n return suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2];\n }).map(function (pluralCategory) {\n return \"\".concat(_this.options.prepend).concat(pluralCategory);\n });\n }\n return rule.numbers.map(function (number) {\n return _this.getSuffix(code, number, options);\n });\n }\n }, {\n key: \"getSuffix\",\n value: function getSuffix(code, count) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var rule = this.getRule(code, options);\n if (rule) {\n if (this.shouldUseIntlApi()) {\n return \"\".concat(this.options.prepend).concat(rule.select(count));\n }\n return this.getSuffixRetroCompatible(rule, count);\n }\n this.logger.warn(\"no plural rule found for: \".concat(code));\n return '';\n }\n }, {\n key: \"getSuffixRetroCompatible\",\n value: function getSuffixRetroCompatible(rule, count) {\n var _this2 = this;\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\n };\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return \"_plural_\".concat(suffix.toString());\n return returnSuffix();\n } else if (this.options.compatibilityJSON === 'v2') {\n return returnSuffix();\n } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n }, {\n key: \"shouldUseIntlApi\",\n value: function shouldUseIntlApi() {\n return !deprecatedJsonVersions.includes(this.options.compatibilityJSON);\n }\n }]);\n return PluralResolver;\n}();\n\nfunction ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction deepFindWithDefaults(data, defaultData, key) {\n var keySeparator = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '.';\n var ignoreJSONStructure = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;\n var path = getPathWithDefaults(data, defaultData, key);\n if (!path && ignoreJSONStructure && typeof key === 'string') {\n path = deepFind(data, key, keySeparator);\n if (path === undefined) path = deepFind(defaultData, key, keySeparator);\n }\n return path;\n}\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck(this, Interpolator);\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n this.init(options);\n }\n _createClass(Interpolator, [{\n key: \"init\",\n value: function init() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n var iOpts = options.interpolation;\n this.escape = iOpts.escape !== undefined ? iOpts.escape : escape;\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false;\n this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = iOpts.nestingOptionsSeparator ? iOpts.nestingOptionsSeparator : iOpts.nestingOptionsSeparator || ',';\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000;\n this.alwaysFormat = iOpts.alwaysFormat !== undefined ? iOpts.alwaysFormat : false;\n this.resetRegExp();\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this.options) this.init(this.options);\n }\n }, {\n key: \"resetRegExp\",\n value: function resetRegExp() {\n var regexpStr = \"\".concat(this.prefix, \"(.+?)\").concat(this.suffix);\n this.regexp = new RegExp(regexpStr, 'g');\n var regexpUnescapeStr = \"\".concat(this.prefix).concat(this.unescapePrefix, \"(.+?)\").concat(this.unescapeSuffix).concat(this.suffix);\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n var nestingRegexpStr = \"\".concat(this.nestingPrefix, \"(.+?)\").concat(this.nestingSuffix);\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n }\n }, {\n key: \"interpolate\",\n value: function interpolate(str, data, lng, options) {\n var _this = this;\n var match;\n var value;\n var replaces;\n var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) {\n var path = deepFindWithDefaults(data, defaultData, key, _this.options.keySeparator, _this.options.ignoreJSONStructure);\n return _this.alwaysFormat ? _this.format(path, undefined, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: key\n })) : path;\n }\n var p = key.split(_this.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this.formatSeparator).trim();\n return _this.format(deepFindWithDefaults(data, defaultData, k, _this.options.keySeparator, _this.options.ignoreJSONStructure), f, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: k\n }));\n };\n this.resetRegExp();\n var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables;\n var todos = [{\n regex: this.regexpUnescape,\n safeValue: function safeValue(val) {\n return regexSafe(val);\n }\n }, {\n regex: this.regexp,\n safeValue: function safeValue(val) {\n return _this.escapeValue ? regexSafe(_this.escape(val)) : regexSafe(val);\n }\n }];\n todos.forEach(function (todo) {\n replaces = 0;\n while (match = todo.regex.exec(str)) {\n var matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n var temp = missingInterpolationHandler(str, match, options);\n value = typeof temp === 'string' ? temp : '';\n } else if (options && Object.prototype.hasOwnProperty.call(options, matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n _this.logger.warn(\"missed to pass in variable \".concat(matchedVar, \" for interpolating \").concat(str));\n value = '';\n }\n } else if (typeof value !== 'string' && !_this.useRawValueToEscape) {\n value = makeString(value);\n }\n var safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n if (skipOnVariables) {\n todo.regex.lastIndex += value.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n replaces++;\n if (replaces >= _this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n }, {\n key: \"nest\",\n value: function nest(str, fc) {\n var _this2 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var match;\n var value;\n var clonedOptions;\n function handleHasOptions(key, inheritedOptions) {\n var sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n var c = key.split(new RegExp(\"\".concat(sep, \"[ ]*{\")));\n var optionsString = \"{\".concat(c[1]);\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n var matchedSingleQuotes = optionsString.match(/'/g);\n var matchedDoubleQuotes = optionsString.match(/\"/g);\n if (matchedSingleQuotes && matchedSingleQuotes.length % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) {\n optionsString = optionsString.replace(/'/g, '\"');\n }\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = _objectSpread$3(_objectSpread$3({}, inheritedOptions), clonedOptions);\n } catch (e) {\n this.logger.warn(\"failed parsing options string in nesting for key \".concat(key), e);\n return \"\".concat(key).concat(sep).concat(optionsString);\n }\n delete clonedOptions.defaultValue;\n return key;\n }\n while (match = this.nestingRegexp.exec(str)) {\n var formatters = [];\n clonedOptions = _objectSpread$3({}, options);\n clonedOptions = clonedOptions.replace && typeof clonedOptions.replace !== 'string' ? clonedOptions.replace : clonedOptions;\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n var doReduce = false;\n if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) {\n var r = match[1].split(this.formatSeparator).map(function (elem) {\n return elem.trim();\n });\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && typeof value !== 'string') return value;\n if (typeof value !== 'string') value = makeString(value);\n if (!value) {\n this.logger.warn(\"missed to resolve \".concat(match[1], \" for nesting \").concat(str));\n value = '';\n }\n if (doReduce) {\n value = formatters.reduce(function (v, f) {\n return _this2.format(v, f, options.lng, _objectSpread$3(_objectSpread$3({}, options), {}, {\n interpolationkey: match[1].trim()\n }));\n }, value.trim());\n }\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n return str;\n }\n }]);\n return Interpolator;\n}();\n\nfunction ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction parseFormatStr(formatStr) {\n var formatName = formatStr.toLowerCase().trim();\n var formatOptions = {};\n if (formatStr.indexOf('(') > -1) {\n var p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n var optStr = p[1].substring(0, p[1].length - 1);\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n var opts = optStr.split(';');\n opts.forEach(function (opt) {\n if (!opt) return;\n var _opt$split = opt.split(':'),\n _opt$split2 = _toArray(_opt$split),\n key = _opt$split2[0],\n rest = _opt$split2.slice(1);\n var val = rest.join(':').trim().replace(/^'+|'+$/g, '');\n if (!formatOptions[key.trim()]) formatOptions[key.trim()] = val;\n if (val === 'false') formatOptions[key.trim()] = false;\n if (val === 'true') formatOptions[key.trim()] = true;\n if (!isNaN(val)) formatOptions[key.trim()] = parseInt(val, 10);\n });\n }\n }\n return {\n formatName: formatName,\n formatOptions: formatOptions\n };\n}\nfunction createCachedFormatter(fn) {\n var cache = {};\n return function invokeFormatter(val, lng, options) {\n var key = lng + JSON.stringify(options);\n var formatter = cache[key];\n if (!formatter) {\n formatter = fn(lng, options);\n cache[key] = formatter;\n }\n return formatter(val);\n };\n}\nvar Formatter = function () {\n function Formatter() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck(this, Formatter);\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.formats = {\n number: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.NumberFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val);\n };\n }),\n currency: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.NumberFormat(lng, _objectSpread$2(_objectSpread$2({}, opt), {}, {\n style: 'currency'\n }));\n return function (val) {\n return formatter.format(val);\n };\n }),\n datetime: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.DateTimeFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val);\n };\n }),\n relativetime: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.RelativeTimeFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val, opt.range || 'day');\n };\n }),\n list: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.ListFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val);\n };\n })\n };\n this.init(options);\n }\n _createClass(Formatter, [{\n key: \"init\",\n value: function init(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n var iOpts = options.interpolation;\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n }\n }, {\n key: \"add\",\n value: function add(name, fc) {\n this.formats[name.toLowerCase().trim()] = fc;\n }\n }, {\n key: \"addCached\",\n value: function addCached(name, fc) {\n this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc);\n }\n }, {\n key: \"format\",\n value: function format(value, _format, lng) {\n var _this = this;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var formats = _format.split(this.formatSeparator);\n var result = formats.reduce(function (mem, f) {\n var _parseFormatStr = parseFormatStr(f),\n formatName = _parseFormatStr.formatName,\n formatOptions = _parseFormatStr.formatOptions;\n if (_this.formats[formatName]) {\n var formatted = mem;\n try {\n var valOptions = options && options.formatParams && options.formatParams[options.interpolationkey] || {};\n var l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = _this.formats[formatName](mem, l, _objectSpread$2(_objectSpread$2(_objectSpread$2({}, formatOptions), options), valOptions));\n } catch (error) {\n _this.logger.warn(error);\n }\n return formatted;\n } else {\n _this.logger.warn(\"there was no format function for \".concat(formatName));\n }\n return mem;\n }, value);\n return result;\n }\n }]);\n return Formatter;\n}();\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct$1() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction removePending(q, name) {\n if (q.pending[name] !== undefined) {\n delete q.pending[name];\n q.pendingCount--;\n }\n}\nvar Connector = function (_EventEmitter) {\n _inherits(Connector, _EventEmitter);\n var _super = _createSuper$1(Connector);\n function Connector(backend, store, services) {\n var _this;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n _classCallCheck(this, Connector);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.backend = backend;\n _this.store = store;\n _this.services = services;\n _this.languageUtils = services.languageUtils;\n _this.options = options;\n _this.logger = baseLogger.create('backendConnector');\n _this.waitingReads = [];\n _this.maxParallelReads = options.maxParallelReads || 10;\n _this.readingCalls = 0;\n _this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5;\n _this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350;\n _this.state = {};\n _this.queue = [];\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n return _this;\n }\n _createClass(Connector, [{\n key: \"queueLoad\",\n value: function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\n var toLoad = {};\n var pending = {};\n var toLoadLanguages = {};\n var toLoadNamespaces = {};\n languages.forEach(function (lng) {\n var hasAllNamespaces = true;\n namespaces.forEach(function (ns) {\n var name = \"\".concat(lng, \"|\").concat(ns);\n if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) {\n _this2.state[name] = 2;\n } else if (_this2.state[name] < 0) ; else if (_this2.state[name] === 1) {\n if (pending[name] === undefined) pending[name] = true;\n } else {\n _this2.state[name] = 1;\n hasAllNamespaces = false;\n if (pending[name] === undefined) pending[name] = true;\n if (toLoad[name] === undefined) toLoad[name] = true;\n if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;\n }\n });\n if (!hasAllNamespaces) toLoadLanguages[lng] = true;\n });\n if (Object.keys(toLoad).length || Object.keys(pending).length) {\n this.queue.push({\n pending: pending,\n pendingCount: Object.keys(pending).length,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n return {\n toLoad: Object.keys(toLoad),\n pending: Object.keys(pending),\n toLoadLanguages: Object.keys(toLoadLanguages),\n toLoadNamespaces: Object.keys(toLoadNamespaces)\n };\n }\n }, {\n key: \"loaded\",\n value: function loaded(name, err, data) {\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n this.state[name] = err ? -1 : 2;\n var loaded = {};\n this.queue.forEach(function (q) {\n pushPath(q.loaded, [lng], ns);\n removePending(q, name);\n if (err) q.errors.push(err);\n if (q.pendingCount === 0 && !q.done) {\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = {};\n var loadedKeys = q.loaded[l];\n if (loadedKeys.length) {\n loadedKeys.forEach(function (n) {\n if (loaded[l][n] === undefined) loaded[l][n] = true;\n });\n }\n });\n q.done = true;\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n }\n }, {\n key: \"read\",\n value: function read(lng, ns, fcName) {\n var _this3 = this;\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : this.retryTimeout;\n var callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n if (this.readingCalls >= this.maxParallelReads) {\n this.waitingReads.push({\n lng: lng,\n ns: ns,\n fcName: fcName,\n tried: tried,\n wait: wait,\n callback: callback\n });\n return;\n }\n this.readingCalls++;\n var resolver = function resolver(err, data) {\n _this3.readingCalls--;\n if (_this3.waitingReads.length > 0) {\n var next = _this3.waitingReads.shift();\n _this3.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\n if (err && data && tried < _this3.maxRetries) {\n setTimeout(function () {\n _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n callback(err, data);\n };\n var fc = this.backend[fcName].bind(this.backend);\n if (fc.length === 2) {\n try {\n var r = fc(lng, ns);\n if (r && typeof r.then === 'function') {\n r.then(function (data) {\n return resolver(null, data);\n })[\"catch\"](resolver);\n } else {\n resolver(null, r);\n }\n } catch (err) {\n resolver(err);\n }\n return;\n }\n return fc(lng, ns, resolver);\n }\n }, {\n key: \"prepareLoading\",\n value: function prepareLoading(languages, namespaces) {\n var _this4 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments.length > 3 ? arguments[3] : undefined;\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n var toLoad = this.queueLoad(languages, namespaces, options, callback);\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n toLoad.toLoad.forEach(function (name) {\n _this4.loadOne(name);\n });\n }\n }, {\n key: \"load\",\n value: function load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n }, {\n key: \"reload\",\n value: function reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n }, {\n key: \"loadOne\",\n value: function loadOne(name) {\n var _this5 = this;\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, function (err, data) {\n if (err) _this5.logger.warn(\"\".concat(prefix, \"loading namespace \").concat(ns, \" for language \").concat(lng, \" failed\"), err);\n if (!err && data) _this5.logger.log(\"\".concat(prefix, \"loaded namespace \").concat(ns, \" for language \").concat(lng), data);\n _this5.loaded(name, err, data);\n });\n }\n }, {\n key: \"saveMissing\",\n value: function saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n var clb = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : function () {};\n if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {\n this.logger.warn(\"did not save key \\\"\".concat(key, \"\\\" as the namespace \\\"\").concat(namespace, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n if (key === undefined || key === null || key === '') return;\n if (this.backend && this.backend.create) {\n var opts = _objectSpread$1(_objectSpread$1({}, options), {}, {\n isUpdate: isUpdate\n });\n var fc = this.backend.create.bind(this.backend);\n if (fc.length < 6) {\n try {\n var r;\n if (fc.length === 5) {\n r = fc(languages, namespace, key, fallbackValue, opts);\n } else {\n r = fc(languages, namespace, key, fallbackValue);\n }\n if (r && typeof r.then === 'function') {\n r.then(function (data) {\n return clb(null, data);\n })[\"catch\"](clb);\n } else {\n clb(null, r);\n }\n } catch (err) {\n clb(err);\n }\n } else {\n fc(languages, namespace, key, fallbackValue, clb, opts);\n }\n }\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n }]);\n return Connector;\n}(EventEmitter);\n\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: true,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: function handle(args) {\n var ret = {};\n if (_typeof(args[1]) === 'object') ret = args[1];\n if (typeof args[1] === 'string') ret.defaultValue = args[1];\n if (typeof args[2] === 'string') ret.tDescription = args[2];\n if (_typeof(args[2]) === 'object' || _typeof(args[3]) === 'object') {\n var options = args[3] || args[2];\n Object.keys(options).forEach(function (key) {\n ret[key] = options[key];\n });\n }\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: function format(value, _format, lng, options) {\n return value;\n },\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: true\n }\n };\n}\nfunction transformOptions(options) {\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n return options;\n}\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction noop() {}\nfunction bindMemberFunctions(inst) {\n var mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(function (mem) {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n}\nvar I18n = function (_EventEmitter) {\n _inherits(I18n, _EventEmitter);\n var _super = _createSuper(I18n);\n function I18n() {\n var _this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n _classCallCheck(this, I18n);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = {\n external: []\n };\n bindMemberFunctions(_assertThisInitialized(_this));\n if (callback && !_this.isInitialized && !options.isClone) {\n if (!_this.options.initImmediate) {\n _this.init(options, callback);\n return _possibleConstructorReturn(_this, _assertThisInitialized(_this));\n }\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n return _this;\n }\n _createClass(I18n, [{\n key: \"init\",\n value: function init() {\n var _this2 = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (!options.defaultNS && options.defaultNS !== false && options.ns) {\n if (typeof options.ns === 'string') {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n var defOpts = get();\n this.options = _objectSpread(_objectSpread(_objectSpread({}, defOpts), this.options), transformOptions(options));\n if (this.options.compatibilityAPI !== 'v1') {\n this.options.interpolation = _objectSpread(_objectSpread({}, defOpts.interpolation), this.options.interpolation);\n }\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n var formatter;\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else if (typeof Intl !== 'undefined') {\n formatter = Formatter;\n }\n var lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n var s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n compatibilityJSON: this.options.compatibilityJSON,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {\n s.formatter = createClassOnDemand(formatter);\n s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n _this2.emit.apply(_this2, [event].concat(args));\n });\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options);\n }\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n _this2.emit.apply(_this2, [event].concat(args));\n });\n this.modules.external.forEach(function (m) {\n if (m.init) m.init(_this2);\n });\n }\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n var codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store;\n return (_this2$store = _this2.store)[fcName].apply(_this2$store, arguments);\n };\n });\n var storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store2;\n (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments);\n return _this2;\n };\n });\n var deferred = defer();\n var load = function load() {\n var finish = function finish(err, t) {\n if (_this2.isInitialized && !_this2.initializedStoreOnce) _this2.logger.warn('init: i18next is already initialized. You should call init just once!');\n _this2.isInitialized = true;\n if (!_this2.options.isClone) _this2.logger.log('initialized', _this2.options);\n _this2.emit('initialized', _this2.options);\n deferred.resolve(t);\n callback(err, t);\n };\n if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2));\n _this2.changeLanguage(_this2.options.lng, finish);\n };\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n return deferred;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(language) {\n var _this3 = this;\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var usedCallback = callback;\n var usedLng = typeof language === 'string' ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();\n var toLoad = [];\n var append = function append(lng) {\n if (!lng) return;\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n if (!usedLng) {\n var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(function (l) {\n return append(l);\n });\n } else {\n append(usedLng);\n }\n if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n this.services.backendConnector.load(toLoad, this.options.ns, function (e) {\n if (!e && !_this3.resolvedLanguage && _this3.language) _this3.setResolvedLanguage(_this3.language);\n usedCallback(e);\n });\n } else {\n usedCallback(null);\n }\n }\n }, {\n key: \"reloadResources\",\n value: function reloadResources(lngs, ns, callback) {\n var deferred = defer();\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, function (err) {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n }, {\n key: \"use\",\n value: function use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n return this;\n }\n }, {\n key: \"setResolvedLanguage\",\n value: function setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n for (var li = 0; li < this.languages.length; li++) {\n var lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n }\n }, {\n key: \"changeLanguage\",\n value: function changeLanguage(lng, callback) {\n var _this4 = this;\n this.isLanguageChangingTo = lng;\n var deferred = defer();\n this.emit('languageChanging', lng);\n var setLngProps = function setLngProps(l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n _this4.resolvedLanguage = undefined;\n _this4.setResolvedLanguage(l);\n };\n var done = function done(err, l) {\n if (l) {\n setLngProps(l);\n _this4.translator.changeLanguage(l);\n _this4.isLanguageChangingTo = undefined;\n _this4.emit('languageChanged', l);\n _this4.logger.log('languageChanged', l);\n } else {\n _this4.isLanguageChangingTo = undefined;\n }\n deferred.resolve(function () {\n return _this4.t.apply(_this4, arguments);\n });\n if (callback) callback(err, function () {\n return _this4.t.apply(_this4, arguments);\n });\n };\n var setLng = function setLng(lngs) {\n if (!lng && !lngs && _this4.services.languageDetector) lngs = [];\n var l = typeof lngs === 'string' ? lngs : _this4.services.languageUtils.getBestMatchFromCodes(lngs);\n if (l) {\n if (!_this4.language) {\n setLngProps(l);\n }\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n if (_this4.services.languageDetector && _this4.services.languageDetector.cacheUserLanguage) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n _this4.loadResources(l, function (err) {\n done(err, l);\n });\n };\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n if (this.services.languageDetector.detect.length === 0) {\n this.services.languageDetector.detect().then(setLng);\n } else {\n this.services.languageDetector.detect(setLng);\n }\n } else {\n setLng(lng);\n }\n return deferred;\n }\n }, {\n key: \"getFixedT\",\n value: function getFixedT(lng, ns, keyPrefix) {\n var _this5 = this;\n var fixedT = function fixedT(key, opts) {\n var options;\n if (_typeof(opts) !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = _objectSpread({}, opts);\n }\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n options.keyPrefix = options.keyPrefix || keyPrefix || fixedT.keyPrefix;\n var keySeparator = _this5.options.keySeparator || '.';\n var resultKey;\n if (options.keyPrefix && Array.isArray(key)) {\n resultKey = key.map(function (k) {\n return \"\".concat(options.keyPrefix).concat(keySeparator).concat(k);\n });\n } else {\n resultKey = options.keyPrefix ? \"\".concat(options.keyPrefix).concat(keySeparator).concat(key) : key;\n }\n return _this5.t(resultKey, options);\n };\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n }, {\n key: \"t\",\n value: function t() {\n var _this$translator;\n return this.translator && (_this$translator = this.translator).translate.apply(_this$translator, arguments);\n }\n }, {\n key: \"exists\",\n value: function exists() {\n var _this$translator2;\n return this.translator && (_this$translator2 = this.translator).exists.apply(_this$translator2, arguments);\n }\n }, {\n key: \"setDefaultNamespace\",\n value: function setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n }, {\n key: \"hasLoadedNamespace\",\n value: function hasLoadedNamespace(ns) {\n var _this6 = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n var lng = this.resolvedLanguage || this.languages[0];\n var fallbackLng = this.options ? this.options.fallbackLng : false;\n var lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = _this6.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n if (options.precheck) {\n var preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n }, {\n key: \"loadNamespaces\",\n value: function loadNamespaces(ns, callback) {\n var _this7 = this;\n var deferred = defer();\n if (!this.options.ns) {\n if (callback) callback();\n return Promise.resolve();\n }\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(function (n) {\n if (_this7.options.ns.indexOf(n) < 0) _this7.options.ns.push(n);\n });\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"loadLanguages\",\n value: function loadLanguages(lngs, callback) {\n var deferred = defer();\n if (typeof lngs === 'string') lngs = [lngs];\n var preloaded = this.options.preload || [];\n var newLngs = lngs.filter(function (lng) {\n return preloaded.indexOf(lng) < 0;\n });\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"dir\",\n value: function dir(lng) {\n if (!lng) lng = this.resolvedLanguage || (this.languages && this.languages.length > 0 ? this.languages[0] : this.language);\n if (!lng) return 'rtl';\n var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb'];\n var languageUtils = this.services && this.services.languageUtils || new LanguageUtil(get());\n return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n }, {\n key: \"cloneInstance\",\n value: function cloneInstance() {\n var _this8 = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var mergedOptions = _objectSpread(_objectSpread(_objectSpread({}, this.options), options), {\n isClone: true\n });\n var clone = new I18n(mergedOptions);\n if (options.debug !== undefined || options.prefix !== undefined) {\n clone.logger = clone.logger.clone(options);\n }\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this8[m];\n });\n clone.services = _objectSpread({}, this.services);\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n clone.translator = new Translator(clone.services, clone.options);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n clone.emit.apply(clone, [event].concat(args));\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = clone.options;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages,\n resolvedLanguage: this.resolvedLanguage\n };\n }\n }]);\n return I18n;\n}(EventEmitter);\n_defineProperty(I18n, \"createInstance\", function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n return new I18n(options, callback);\n});\nvar instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\n\nvar createInstance = instance.createInstance;\nvar dir = instance.dir;\nvar init = instance.init;\nvar loadResources = instance.loadResources;\nvar reloadResources = instance.reloadResources;\nvar use = instance.use;\nvar changeLanguage = instance.changeLanguage;\nvar getFixedT = instance.getFixedT;\nvar t = instance.t;\nvar exists = instance.exists;\nvar setDefaultNamespace = instance.setDefaultNamespace;\nvar hasLoadedNamespace = instance.hasLoadedNamespace;\nvar loadNamespaces = instance.loadNamespaces;\nvar loadLanguages = instance.loadLanguages;\n\nexport { changeLanguage, createInstance, instance as default, dir, exists, getFixedT, hasLoadedNamespace, init, loadLanguages, loadNamespaces, loadResources, reloadResources, setDefaultNamespace, t, use };\n","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}","import _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\n\nvar arr = [];\nvar each = arr.forEach;\nvar slice = arr.slice;\nfunction defaults(obj) {\n each.call(slice.call(arguments, 1), function (source) {\n if (source) {\n for (var prop in source) {\n if (obj[prop] === undefined) obj[prop] = source[prop];\n }\n }\n });\n return obj;\n}\n\n// eslint-disable-next-line no-control-regex\nvar fieldContentRegExp = /^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/;\nvar serializeCookie = function serializeCookie(name, val, options) {\n var opt = options || {};\n opt.path = opt.path || '/';\n var value = encodeURIComponent(val);\n var str = \"\".concat(name, \"=\").concat(value);\n if (opt.maxAge > 0) {\n var maxAge = opt.maxAge - 0;\n if (Number.isNaN(maxAge)) throw new Error('maxAge should be a Number');\n str += \"; Max-Age=\".concat(Math.floor(maxAge));\n }\n if (opt.domain) {\n if (!fieldContentRegExp.test(opt.domain)) {\n throw new TypeError('option domain is invalid');\n }\n str += \"; Domain=\".concat(opt.domain);\n }\n if (opt.path) {\n if (!fieldContentRegExp.test(opt.path)) {\n throw new TypeError('option path is invalid');\n }\n str += \"; Path=\".concat(opt.path);\n }\n if (opt.expires) {\n if (typeof opt.expires.toUTCString !== 'function') {\n throw new TypeError('option expires is invalid');\n }\n str += \"; Expires=\".concat(opt.expires.toUTCString());\n }\n if (opt.httpOnly) str += '; HttpOnly';\n if (opt.secure) str += '; Secure';\n if (opt.sameSite) {\n var sameSite = typeof opt.sameSite === 'string' ? opt.sameSite.toLowerCase() : opt.sameSite;\n switch (sameSite) {\n case true:\n str += '; SameSite=Strict';\n break;\n case 'lax':\n str += '; SameSite=Lax';\n break;\n case 'strict':\n str += '; SameSite=Strict';\n break;\n case 'none':\n str += '; SameSite=None';\n break;\n default:\n throw new TypeError('option sameSite is invalid');\n }\n }\n return str;\n};\nvar cookie = {\n create: function create(name, value, minutes, domain) {\n var cookieOptions = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n path: '/',\n sameSite: 'strict'\n };\n if (minutes) {\n cookieOptions.expires = new Date();\n cookieOptions.expires.setTime(cookieOptions.expires.getTime() + minutes * 60 * 1000);\n }\n if (domain) cookieOptions.domain = domain;\n document.cookie = serializeCookie(name, encodeURIComponent(value), cookieOptions);\n },\n read: function read(name) {\n var nameEQ = \"\".concat(name, \"=\");\n var ca = document.cookie.split(';');\n for (var i = 0; i < ca.length; i++) {\n var c = ca[i];\n while (c.charAt(0) === ' ') {\n c = c.substring(1, c.length);\n }\n if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);\n }\n return null;\n },\n remove: function remove(name) {\n this.create(name, '', -1);\n }\n};\nvar cookie$1 = {\n name: 'cookie',\n lookup: function lookup(options) {\n var found;\n if (options.lookupCookie && typeof document !== 'undefined') {\n var c = cookie.read(options.lookupCookie);\n if (c) found = c;\n }\n return found;\n },\n cacheUserLanguage: function cacheUserLanguage(lng, options) {\n if (options.lookupCookie && typeof document !== 'undefined') {\n cookie.create(options.lookupCookie, lng, options.cookieMinutes, options.cookieDomain, options.cookieOptions);\n }\n }\n};\n\nvar querystring = {\n name: 'querystring',\n lookup: function lookup(options) {\n var found;\n if (typeof window !== 'undefined') {\n var search = window.location.search;\n if (!window.location.search && window.location.hash && window.location.hash.indexOf('?') > -1) {\n search = window.location.hash.substring(window.location.hash.indexOf('?'));\n }\n var query = search.substring(1);\n var params = query.split('&');\n for (var i = 0; i < params.length; i++) {\n var pos = params[i].indexOf('=');\n if (pos > 0) {\n var key = params[i].substring(0, pos);\n if (key === options.lookupQuerystring) {\n found = params[i].substring(pos + 1);\n }\n }\n }\n }\n return found;\n }\n};\n\nvar hasLocalStorageSupport = null;\nvar localStorageAvailable = function localStorageAvailable() {\n if (hasLocalStorageSupport !== null) return hasLocalStorageSupport;\n try {\n hasLocalStorageSupport = window !== 'undefined' && window.localStorage !== null;\n var testKey = 'i18next.translate.boo';\n window.localStorage.setItem(testKey, 'foo');\n window.localStorage.removeItem(testKey);\n } catch (e) {\n hasLocalStorageSupport = false;\n }\n return hasLocalStorageSupport;\n};\nvar localStorage = {\n name: 'localStorage',\n lookup: function lookup(options) {\n var found;\n if (options.lookupLocalStorage && localStorageAvailable()) {\n var lng = window.localStorage.getItem(options.lookupLocalStorage);\n if (lng) found = lng;\n }\n return found;\n },\n cacheUserLanguage: function cacheUserLanguage(lng, options) {\n if (options.lookupLocalStorage && localStorageAvailable()) {\n window.localStorage.setItem(options.lookupLocalStorage, lng);\n }\n }\n};\n\nvar hasSessionStorageSupport = null;\nvar sessionStorageAvailable = function sessionStorageAvailable() {\n if (hasSessionStorageSupport !== null) return hasSessionStorageSupport;\n try {\n hasSessionStorageSupport = window !== 'undefined' && window.sessionStorage !== null;\n var testKey = 'i18next.translate.boo';\n window.sessionStorage.setItem(testKey, 'foo');\n window.sessionStorage.removeItem(testKey);\n } catch (e) {\n hasSessionStorageSupport = false;\n }\n return hasSessionStorageSupport;\n};\nvar sessionStorage = {\n name: 'sessionStorage',\n lookup: function lookup(options) {\n var found;\n if (options.lookupSessionStorage && sessionStorageAvailable()) {\n var lng = window.sessionStorage.getItem(options.lookupSessionStorage);\n if (lng) found = lng;\n }\n return found;\n },\n cacheUserLanguage: function cacheUserLanguage(lng, options) {\n if (options.lookupSessionStorage && sessionStorageAvailable()) {\n window.sessionStorage.setItem(options.lookupSessionStorage, lng);\n }\n }\n};\n\nvar navigator$1 = {\n name: 'navigator',\n lookup: function lookup(options) {\n var found = [];\n if (typeof navigator !== 'undefined') {\n if (navigator.languages) {\n // chrome only; not an array, so can't use .push.apply instead of iterating\n for (var i = 0; i < navigator.languages.length; i++) {\n found.push(navigator.languages[i]);\n }\n }\n if (navigator.userLanguage) {\n found.push(navigator.userLanguage);\n }\n if (navigator.language) {\n found.push(navigator.language);\n }\n }\n return found.length > 0 ? found : undefined;\n }\n};\n\nvar htmlTag = {\n name: 'htmlTag',\n lookup: function lookup(options) {\n var found;\n var htmlTag = options.htmlTag || (typeof document !== 'undefined' ? document.documentElement : null);\n if (htmlTag && typeof htmlTag.getAttribute === 'function') {\n found = htmlTag.getAttribute('lang');\n }\n return found;\n }\n};\n\nvar path = {\n name: 'path',\n lookup: function lookup(options) {\n var found;\n if (typeof window !== 'undefined') {\n var language = window.location.pathname.match(/\\/([a-zA-Z-]*)/g);\n if (language instanceof Array) {\n if (typeof options.lookupFromPathIndex === 'number') {\n if (typeof language[options.lookupFromPathIndex] !== 'string') {\n return undefined;\n }\n found = language[options.lookupFromPathIndex].replace('/', '');\n } else {\n found = language[0].replace('/', '');\n }\n }\n }\n return found;\n }\n};\n\nvar subdomain = {\n name: 'subdomain',\n lookup: function lookup(options) {\n // If given get the subdomain index else 1\n var lookupFromSubdomainIndex = typeof options.lookupFromSubdomainIndex === 'number' ? options.lookupFromSubdomainIndex + 1 : 1;\n // get all matches if window.location. is existing\n // first item of match is the match itself and the second is the first group macht which sould be the first subdomain match\n // is the hostname no public domain get the or option of localhost\n var language = typeof window !== 'undefined' && window.location && window.location.hostname && window.location.hostname.match(/^(\\w{2,5})\\.(([a-z0-9-]{1,63}\\.[a-z]{2,6})|localhost)/i);\n\n // if there is no match (null) return undefined\n if (!language) return undefined;\n // return the given group match\n return language[lookupFromSubdomainIndex];\n }\n};\n\nfunction getDefaults() {\n return {\n order: ['querystring', 'cookie', 'localStorage', 'sessionStorage', 'navigator', 'htmlTag'],\n lookupQuerystring: 'lng',\n lookupCookie: 'i18next',\n lookupLocalStorage: 'i18nextLng',\n lookupSessionStorage: 'i18nextLng',\n // cache user language\n caches: ['localStorage'],\n excludeCacheFor: ['cimode']\n // cookieMinutes: 10,\n // cookieDomain: 'myDomain'\n };\n}\nvar Browser = /*#__PURE__*/function () {\n function Browser(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Browser);\n this.type = 'languageDetector';\n this.detectors = {};\n this.init(services, options);\n }\n _createClass(Browser, [{\n key: \"init\",\n value: function init(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var i18nOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n this.services = services;\n this.options = defaults(options, this.options || {}, getDefaults());\n\n // backwards compatibility\n if (this.options.lookupFromUrlIndex) this.options.lookupFromPathIndex = this.options.lookupFromUrlIndex;\n this.i18nOptions = i18nOptions;\n this.addDetector(cookie$1);\n this.addDetector(querystring);\n this.addDetector(localStorage);\n this.addDetector(sessionStorage);\n this.addDetector(navigator$1);\n this.addDetector(htmlTag);\n this.addDetector(path);\n this.addDetector(subdomain);\n }\n }, {\n key: \"addDetector\",\n value: function addDetector(detector) {\n this.detectors[detector.name] = detector;\n }\n }, {\n key: \"detect\",\n value: function detect(detectionOrder) {\n var _this = this;\n if (!detectionOrder) detectionOrder = this.options.order;\n var detected = [];\n detectionOrder.forEach(function (detectorName) {\n if (_this.detectors[detectorName]) {\n var lookup = _this.detectors[detectorName].lookup(_this.options);\n if (lookup && typeof lookup === 'string') lookup = [lookup];\n if (lookup) detected = detected.concat(lookup);\n }\n });\n if (this.services.languageUtils.getBestMatchFromCodes) return detected; // new i18next v19.5.0\n return detected.length > 0 ? detected[0] : null; // a little backward compatibility\n }\n }, {\n key: \"cacheUserLanguage\",\n value: function cacheUserLanguage(lng, caches) {\n var _this2 = this;\n if (!caches) caches = this.options.caches;\n if (!caches) return;\n if (this.options.excludeCacheFor && this.options.excludeCacheFor.indexOf(lng) > -1) return;\n caches.forEach(function (cacheName) {\n if (_this2.detectors[cacheName]) _this2.detectors[cacheName].cacheUserLanguage(lng, _this2.options);\n });\n }\n }]);\n return Browser;\n}();\nBrowser.type = 'languageDetector';\n\nexport { Browser as default };\n","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\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 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 return target;\n}","/**\n * This file automatically generated from `pre-publish.js`.\n * Do not manually edit.\n */\n\nmodule.exports = {\n \"area\": true,\n \"base\": true,\n \"br\": true,\n \"col\": true,\n \"embed\": true,\n \"hr\": true,\n \"img\": true,\n \"input\": true,\n \"link\": true,\n \"meta\": true,\n \"param\": true,\n \"source\": true,\n \"track\": true,\n \"wbr\": true\n};\n","import e from\"void-elements\";var t=/\\s([^'\"/\\s><]+?)[\\s/>]|([^\\s=]+)=\\s?(\".*?\"|'.*?')/g;function n(n){var r={type:\"tag\",name:\"\",voidElement:!1,attrs:{},children:[]},i=n.match(/<\\/?([^\\s]+?)[/\\s>]/);if(i&&(r.name=i[1],(e[i[1]]||\"/\"===n.charAt(n.length-2))&&(r.voidElement=!0),r.name.startsWith(\"!--\"))){var s=n.indexOf(\"--\\x3e\");return{type:\"comment\",comment:-1!==s?n.slice(4,s):\"\"}}for(var a=new RegExp(t),c=null;null!==(c=a.exec(n));)if(c[0].trim())if(c[1]){var o=c[1].trim(),l=[o,\"\"];o.indexOf(\"=\")>-1&&(l=o.split(\"=\")),r.attrs[l[0]]=l[1],a.lastIndex--}else c[2]&&(r.attrs[c[2]]=c[3].trim().substring(1,c[3].length-1));return r}var r=/<[a-zA-Z0-9\\-\\!\\/](?:\"[^\"]*\"|'[^']*'|[^'\">])*>/g,i=/^\\s*$/,s=Object.create(null);function a(e,t){switch(t.type){case\"text\":return e+t.content;case\"tag\":return e+=\"<\"+t.name+(t.attrs?function(e){var t=[];for(var n in e)t.push(n+'=\"'+e[n]+'\"');return t.length?\" \"+t.join(\" \"):\"\"}(t.attrs):\"\")+(t.voidElement?\"/>\":\">\"),t.voidElement?e:e+t.children.reduce(a,\"\")+\"</\"+t.name+\">\";case\"comment\":return e+\"\\x3c!--\"+t.comment+\"--\\x3e\"}}var c={parse:function(e,t){t||(t={}),t.components||(t.components=s);var a,c=[],o=[],l=-1,m=!1;if(0!==e.indexOf(\"<\")){var u=e.indexOf(\"<\");c.push({type:\"text\",content:-1===u?e:e.substring(0,u)})}return e.replace(r,function(r,s){if(m){if(r!==\"</\"+a.name+\">\")return;m=!1}var u,f=\"/\"!==r.charAt(1),h=r.startsWith(\"\\x3c!--\"),p=s+r.length,d=e.charAt(p);if(h){var v=n(r);return l<0?(c.push(v),c):((u=o[l]).children.push(v),c)}if(f&&(l++,\"tag\"===(a=n(r)).type&&t.components[a.name]&&(a.type=\"component\",m=!0),a.voidElement||m||!d||\"<\"===d||a.children.push({type:\"text\",content:e.slice(p,e.indexOf(\"<\",p))}),0===l&&c.push(a),(u=o[l-1])&&u.children.push(a),o[l]=a),(!f||a.voidElement)&&(l>-1&&(a.voidElement||a.name===r.slice(2,-1))&&(l--,a=-1===l?c:o[l]),!m&&\"<\"!==d&&d)){u=-1===l?c:o[l].children;var x=e.indexOf(\"<\",p),g=e.slice(p,-1===x?void 0:x);i.test(g)&&(g=\" \"),(x>-1&&l+u.length>=0||\" \"!==g)&&u.push({type:\"text\",content:g})}}),c},stringify:function(e){return e.reduce(function(e,t){return e+a(\"\",t)},\"\")}};export default c;\n//# sourceMappingURL=html-parse-stringify.module.js.map\n","export function warn() {\n if (console && console.warn) {\n var _console;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (typeof args[0] === 'string') args[0] = \"react-i18next:: \".concat(args[0]);\n\n (_console = console).warn.apply(_console, args);\n }\n}\nvar alreadyWarned = {};\nexport function warnOnce() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (typeof args[0] === 'string' && alreadyWarned[args[0]]) return;\n if (typeof args[0] === 'string') alreadyWarned[args[0]] = new Date();\n warn.apply(void 0, args);\n}\nexport function loadNamespaces(i18n, ns, cb) {\n i18n.loadNamespaces(ns, function () {\n if (i18n.isInitialized) {\n cb();\n } else {\n var initialized = function initialized() {\n setTimeout(function () {\n i18n.off('initialized', initialized);\n }, 0);\n cb();\n };\n\n i18n.on('initialized', initialized);\n }\n });\n}\n\nfunction oldI18nextHasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var lng = i18n.languages[0];\n var fallbackLng = i18n.options ? i18n.options.fallbackLng : false;\n var lastLng = i18n.languages[i18n.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = i18n.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18n.services.backendConnector.backend && i18n.isLanguageChangingTo && !loadNotPending(i18n.isLanguageChangingTo, ns)) return false;\n if (i18n.hasResourceBundle(lng, ns)) return true;\n if (!i18n.services.backendConnector.backend || i18n.options.resources && !i18n.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n}\n\nexport function hasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (!i18n.languages || !i18n.languages.length) {\n warnOnce('i18n.languages were undefined or empty', i18n.languages);\n return true;\n }\n\n var isNewerI18next = i18n.options.ignoreJSONStructure !== undefined;\n\n if (!isNewerI18next) {\n return oldI18nextHasLoadedNamespace(ns, i18n, options);\n }\n\n return i18n.hasLoadedNamespace(ns, {\n precheck: function precheck(i18nInstance, loadNotPending) {\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18nInstance.services.backendConnector.backend && i18nInstance.isLanguageChangingTo && !loadNotPending(i18nInstance.isLanguageChangingTo, ns)) return false;\n }\n });\n}\nexport function getDisplayName(Component) {\n return Component.displayName || Component.name || (typeof Component === 'string' && Component.length > 0 ? Component : 'Unknown');\n}","var matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;\nvar htmlEntities = {\n '&amp;': '&',\n '&#38;': '&',\n '&lt;': '<',\n '&#60;': '<',\n '&gt;': '>',\n '&#62;': '>',\n '&apos;': \"'\",\n '&#39;': \"'\",\n '&quot;': '\"',\n '&#34;': '\"',\n '&nbsp;': ' ',\n '&#160;': ' ',\n '&copy;': '©',\n '&#169;': '©',\n '&reg;': '®',\n '&#174;': '®',\n '&hellip;': '…',\n '&#8230;': '…',\n '&#x2F;': '/',\n '&#47;': '/'\n};\n\nvar unescapeHtmlEntity = function unescapeHtmlEntity(m) {\n return htmlEntities[m];\n};\n\nexport var unescape = function unescape(text) {\n return text.replace(matchHtmlEntity, unescapeHtmlEntity);\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { unescape } from './unescape.js';\nvar defaultOptions = {\n bindI18n: 'languageChanged',\n bindI18nStore: '',\n transEmptyNodeValue: '',\n transSupportBasicHtmlNodes: true,\n transWrapTextNodes: '',\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],\n useSuspense: true,\n unescape: unescape\n};\nexport function setDefaults() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n defaultOptions = _objectSpread(_objectSpread({}, defaultOptions), options);\n}\nexport function getDefaults() {\n return defaultOptions;\n}","var i18nInstance;\nexport function setI18n(instance) {\n i18nInstance = instance;\n}\nexport function getI18n() {\n return i18nInstance;\n}","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nvar _excluded = [\"format\"],\n _excluded2 = [\"children\", \"count\", \"parent\", \"i18nKey\", \"context\", \"tOptions\", \"values\", \"defaults\", \"components\", \"ns\", \"i18n\", \"t\", \"shouldUnescape\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { isValidElement, cloneElement, createElement } from 'react';\nimport HTML from 'html-parse-stringify';\nimport { warn, warnOnce } from './utils.js';\nimport { getDefaults } from './defaults.js';\nimport { getI18n } from './i18nInstance.js';\n\nfunction hasChildren(node, checkLength) {\n if (!node) return false;\n var base = node.props ? node.props.children : node.children;\n if (checkLength) return base.length > 0;\n return !!base;\n}\n\nfunction getChildren(node) {\n if (!node) return [];\n return node.props ? node.props.children : node.children;\n}\n\nfunction hasValidReactChildren(children) {\n if (Object.prototype.toString.call(children) !== '[object Array]') return false;\n return children.every(function (child) {\n return isValidElement(child);\n });\n}\n\nfunction getAsArray(data) {\n return Array.isArray(data) ? data : [data];\n}\n\nfunction mergeProps(source, target) {\n var newTarget = _objectSpread({}, target);\n\n newTarget.props = Object.assign(source.props, target.props);\n return newTarget;\n}\n\nexport function nodesToString(children, i18nOptions) {\n if (!children) return '';\n var stringNode = '';\n var childrenArray = getAsArray(children);\n var keepArray = i18nOptions.transSupportBasicHtmlNodes && i18nOptions.transKeepBasicHtmlNodesFor ? i18nOptions.transKeepBasicHtmlNodesFor : [];\n childrenArray.forEach(function (child, childIndex) {\n if (typeof child === 'string') {\n stringNode += \"\".concat(child);\n } else if (isValidElement(child)) {\n var childPropsCount = Object.keys(child.props).length;\n var shouldKeepChild = keepArray.indexOf(child.type) > -1;\n var childChildren = child.props.children;\n\n if (!childChildren && shouldKeepChild && childPropsCount === 0) {\n stringNode += \"<\".concat(child.type, \"/>\");\n } else if (!childChildren && (!shouldKeepChild || childPropsCount !== 0)) {\n stringNode += \"<\".concat(childIndex, \"></\").concat(childIndex, \">\");\n } else if (child.props.i18nIsDynamicList) {\n stringNode += \"<\".concat(childIndex, \"></\").concat(childIndex, \">\");\n } else if (shouldKeepChild && childPropsCount === 1 && typeof childChildren === 'string') {\n stringNode += \"<\".concat(child.type, \">\").concat(childChildren, \"</\").concat(child.type, \">\");\n } else {\n var content = nodesToString(childChildren, i18nOptions);\n stringNode += \"<\".concat(childIndex, \">\").concat(content, \"</\").concat(childIndex, \">\");\n }\n } else if (child === null) {\n warn(\"Trans: the passed in value is invalid - seems you passed in a null child.\");\n } else if (_typeof(child) === 'object') {\n var format = child.format,\n clone = _objectWithoutProperties(child, _excluded);\n\n var keys = Object.keys(clone);\n\n if (keys.length === 1) {\n var value = format ? \"\".concat(keys[0], \", \").concat(format) : keys[0];\n stringNode += \"{{\".concat(value, \"}}\");\n } else {\n warn(\"react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.\", child);\n }\n } else {\n warn(\"Trans: the passed in value is invalid - seems you passed in a variable like {number} - please pass in variables for interpolation as full objects like {{number}}.\", child);\n }\n });\n return stringNode;\n}\n\nfunction renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts, shouldUnescape) {\n if (targetString === '') return [];\n var keepArray = i18nOptions.transKeepBasicHtmlNodesFor || [];\n var emptyChildrenButNeedsHandling = targetString && new RegExp(keepArray.join('|')).test(targetString);\n if (!children && !emptyChildrenButNeedsHandling) return [targetString];\n var data = {};\n\n function getData(childs) {\n var childrenArray = getAsArray(childs);\n childrenArray.forEach(function (child) {\n if (typeof child === 'string') return;\n if (hasChildren(child)) getData(getChildren(child));else if (_typeof(child) === 'object' && !isValidElement(child)) Object.assign(data, child);\n });\n }\n\n getData(children);\n var ast = HTML.parse(\"<0>\".concat(targetString, \"</0>\"));\n\n var opts = _objectSpread(_objectSpread({}, data), combinedTOpts);\n\n function renderInner(child, node, rootReactNode) {\n var childs = getChildren(child);\n var mappedChildren = mapAST(childs, node.children, rootReactNode);\n return hasValidReactChildren(childs) && mappedChildren.length === 0 ? childs : mappedChildren;\n }\n\n function pushTranslatedJSX(child, inner, mem, i, isVoid) {\n if (child.dummy) child.children = inner;\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), isVoid ? undefined : inner));\n }\n\n function mapAST(reactNode, astNode, rootReactNode) {\n var reactNodes = getAsArray(reactNode);\n var astNodes = getAsArray(astNode);\n return astNodes.reduce(function (mem, node, i) {\n var translationContent = node.children && node.children[0] && node.children[0].content && i18n.services.interpolator.interpolate(node.children[0].content, opts, i18n.language);\n\n if (node.type === 'tag') {\n var tmp = reactNodes[parseInt(node.name, 10)];\n if (!tmp && rootReactNode.length === 1 && rootReactNode[0][node.name]) tmp = rootReactNode[0][node.name];\n if (!tmp) tmp = {};\n var child = Object.keys(node.attrs).length !== 0 ? mergeProps({\n props: node.attrs\n }, tmp) : tmp;\n var isElement = isValidElement(child);\n var isValidTranslationWithChildren = isElement && hasChildren(node, true) && !node.voidElement;\n var isEmptyTransWithHTML = emptyChildrenButNeedsHandling && _typeof(child) === 'object' && child.dummy && !isElement;\n var isKnownComponent = _typeof(children) === 'object' && children !== null && Object.hasOwnProperty.call(children, node.name);\n\n if (typeof child === 'string') {\n var value = i18n.services.interpolator.interpolate(child, opts, i18n.language);\n mem.push(value);\n } else if (hasChildren(child) || isValidTranslationWithChildren) {\n var inner = renderInner(child, node, rootReactNode);\n pushTranslatedJSX(child, inner, mem, i);\n } else if (isEmptyTransWithHTML) {\n var _inner = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), _inner));\n } else if (Number.isNaN(parseFloat(node.name))) {\n if (isKnownComponent) {\n var _inner2 = renderInner(child, node, rootReactNode);\n\n pushTranslatedJSX(child, _inner2, mem, i, node.voidElement);\n } else if (i18nOptions.transSupportBasicHtmlNodes && keepArray.indexOf(node.name) > -1) {\n if (node.voidElement) {\n mem.push(createElement(node.name, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }));\n } else {\n var _inner3 = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(createElement(node.name, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }, _inner3));\n }\n } else if (node.voidElement) {\n mem.push(\"<\".concat(node.name, \" />\"));\n } else {\n var _inner4 = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(\"<\".concat(node.name, \">\").concat(_inner4, \"</\").concat(node.name, \">\"));\n }\n } else if (_typeof(child) === 'object' && !isElement) {\n var content = node.children[0] ? translationContent : null;\n if (content) mem.push(content);\n } else if (node.children.length === 1 && translationContent) {\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), translationContent));\n } else {\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n })));\n }\n } else if (node.type === 'text') {\n var wrapTextNodes = i18nOptions.transWrapTextNodes;\n\n var _content = shouldUnescape ? i18nOptions.unescape(i18n.services.interpolator.interpolate(node.content, opts, i18n.language)) : i18n.services.interpolator.interpolate(node.content, opts, i18n.language);\n\n if (wrapTextNodes) {\n mem.push(createElement(wrapTextNodes, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }, _content));\n } else {\n mem.push(_content);\n }\n }\n\n return mem;\n }, []);\n }\n\n var result = mapAST([{\n dummy: true,\n children: children || []\n }], ast, getAsArray(children || []));\n return getChildren(result[0]);\n}\n\nexport function Trans(_ref) {\n var children = _ref.children,\n count = _ref.count,\n parent = _ref.parent,\n i18nKey = _ref.i18nKey,\n context = _ref.context,\n _ref$tOptions = _ref.tOptions,\n tOptions = _ref$tOptions === void 0 ? {} : _ref$tOptions,\n values = _ref.values,\n defaults = _ref.defaults,\n components = _ref.components,\n ns = _ref.ns,\n i18nFromProps = _ref.i18n,\n tFromProps = _ref.t,\n shouldUnescape = _ref.shouldUnescape,\n additionalProps = _objectWithoutProperties(_ref, _excluded2);\n\n var i18n = i18nFromProps || getI18n();\n\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using i18nextReactModule');\n return children;\n }\n\n var t = tFromProps || i18n.t.bind(i18n) || function (k) {\n return k;\n };\n\n if (context) tOptions.context = context;\n\n var reactI18nextOptions = _objectSpread(_objectSpread({}, getDefaults()), i18n.options && i18n.options.react);\n\n var namespaces = ns || t.ns || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n var defaultValue = defaults || nodesToString(children, reactI18nextOptions) || reactI18nextOptions.transEmptyNodeValue || i18nKey;\n var hashTransKey = reactI18nextOptions.hashTransKey;\n var key = i18nKey || (hashTransKey ? hashTransKey(defaultValue) : defaultValue);\n var interpolationOverride = values ? tOptions.interpolation : {\n interpolation: _objectSpread(_objectSpread({}, tOptions.interpolation), {}, {\n prefix: '#$?',\n suffix: '?$#'\n })\n };\n\n var combinedTOpts = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, tOptions), {}, {\n count: count\n }, values), interpolationOverride), {}, {\n defaultValue: defaultValue,\n ns: namespaces\n });\n\n var translation = key ? t(key, combinedTOpts) : defaultValue;\n var content = renderNodes(components || children, translation, i18n, reactI18nextOptions, combinedTOpts, shouldUnescape);\n var useAsParent = parent !== undefined ? parent : reactI18nextOptions.defaultTransParent;\n return useAsParent ? createElement(useAsParent, additionalProps, content) : content;\n}","import { setDefaults } from './defaults.js';\nimport { setI18n } from './i18nInstance.js';\nexport var initReactI18next = {\n type: '3rdParty',\n init: function init(instance) {\n setDefaults(instance.options.react);\n setI18n(instance);\n }\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { createContext } from 'react';\nimport { getDefaults, setDefaults } from './defaults.js';\nimport { getI18n, setI18n } from './i18nInstance.js';\nimport { initReactI18next } from './initReactI18next.js';\nexport { getDefaults, setDefaults, getI18n, setI18n, initReactI18next };\nexport var I18nContext = createContext();\nexport var ReportNamespaces = function () {\n function ReportNamespaces() {\n _classCallCheck(this, ReportNamespaces);\n\n this.usedNamespaces = {};\n }\n\n _createClass(ReportNamespaces, [{\n key: \"addUsedNamespaces\",\n value: function addUsedNamespaces(namespaces) {\n var _this = this;\n\n namespaces.forEach(function (ns) {\n if (!_this.usedNamespaces[ns]) _this.usedNamespaces[ns] = true;\n });\n }\n }, {\n key: \"getUsedNamespaces\",\n value: function getUsedNamespaces() {\n return Object.keys(this.usedNamespaces);\n }\n }]);\n\n return ReportNamespaces;\n}();\nexport function composeInitialProps(ForComponent) {\n return function (ctx) {\n return new Promise(function (resolve) {\n var i18nInitialProps = getInitialProps();\n\n if (ForComponent.getInitialProps) {\n ForComponent.getInitialProps(ctx).then(function (componentsInitialProps) {\n resolve(_objectSpread(_objectSpread({}, componentsInitialProps), i18nInitialProps));\n });\n } else {\n resolve(i18nInitialProps);\n }\n });\n };\n}\nexport function getInitialProps() {\n var i18n = getI18n();\n var namespaces = i18n.reportNamespaces ? i18n.reportNamespaces.getUsedNamespaces() : [];\n var ret = {};\n var initialI18nStore = {};\n i18n.languages.forEach(function (l) {\n initialI18nStore[l] = {};\n namespaces.forEach(function (ns) {\n initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};\n });\n });\n ret.initialI18nStore = initialI18nStore;\n ret.initialLanguage = i18n.language;\n return ret;\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"children\", \"count\", \"parent\", \"i18nKey\", \"context\", \"tOptions\", \"values\", \"defaults\", \"components\", \"ns\", \"i18n\", \"t\", \"shouldUnescape\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { useContext } from 'react';\nimport { nodesToString, Trans as TransWithoutContext } from './TransWithoutContext.js';\nimport { getI18n, I18nContext } from './context.js';\nexport { nodesToString };\nexport function Trans(_ref) {\n var children = _ref.children,\n count = _ref.count,\n parent = _ref.parent,\n i18nKey = _ref.i18nKey,\n context = _ref.context,\n _ref$tOptions = _ref.tOptions,\n tOptions = _ref$tOptions === void 0 ? {} : _ref$tOptions,\n values = _ref.values,\n defaults = _ref.defaults,\n components = _ref.components,\n ns = _ref.ns,\n i18nFromProps = _ref.i18n,\n tFromProps = _ref.t,\n shouldUnescape = _ref.shouldUnescape,\n additionalProps = _objectWithoutProperties(_ref, _excluded);\n\n var _ref2 = useContext(I18nContext) || {},\n i18nFromContext = _ref2.i18n,\n defaultNSFromContext = _ref2.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n var t = tFromProps || i18n && i18n.t.bind(i18n);\n return TransWithoutContext(_objectSpread({\n children: children,\n count: count,\n parent: parent,\n i18nKey: i18nKey,\n context: context,\n tOptions: tOptions,\n values: values,\n defaults: defaults,\n components: components,\n ns: ns || t && t.ns || defaultNSFromContext || i18n && i18n.options && i18n.options.defaultNS,\n i18n: i18n,\n t: tFromProps,\n shouldUnescape: shouldUnescape\n }, additionalProps));\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _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}","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { useState, useEffect, useContext, useRef } from 'react';\nimport { getI18n, getDefaults, ReportNamespaces, I18nContext } from './context.js';\nimport { warnOnce, loadNamespaces, hasLoadedNamespace } from './utils.js';\n\nvar usePrevious = function usePrevious(value, ignore) {\n var ref = useRef();\n useEffect(function () {\n ref.current = ignore ? ref.current : value;\n }, [value, ignore]);\n return ref.current;\n};\n\nexport function useTranslation(ns) {\n var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var i18nFromProps = props.i18n;\n\n var _ref = useContext(I18nContext) || {},\n i18nFromContext = _ref.i18n,\n defaultNSFromContext = _ref.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new ReportNamespaces();\n\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using initReactI18next');\n\n var notReadyT = function notReadyT(k, optsOrDefaultValue) {\n if (typeof optsOrDefaultValue === 'string') return optsOrDefaultValue;\n if (optsOrDefaultValue && _typeof(optsOrDefaultValue) === 'object' && typeof optsOrDefaultValue.defaultValue === 'string') return optsOrDefaultValue.defaultValue;\n return Array.isArray(k) ? k[k.length - 1] : k;\n };\n\n var retNotReady = [notReadyT, {}, false];\n retNotReady.t = notReadyT;\n retNotReady.i18n = {};\n retNotReady.ready = false;\n return retNotReady;\n }\n\n if (i18n.options.react && i18n.options.react.wait !== undefined) warnOnce('It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.');\n\n var i18nOptions = _objectSpread(_objectSpread(_objectSpread({}, getDefaults()), i18n.options.react), props);\n\n var useSuspense = i18nOptions.useSuspense,\n keyPrefix = i18nOptions.keyPrefix;\n var namespaces = ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n if (i18n.reportNamespaces.addUsedNamespaces) i18n.reportNamespaces.addUsedNamespaces(namespaces);\n var ready = (i18n.isInitialized || i18n.initializedStoreOnce) && namespaces.every(function (n) {\n return hasLoadedNamespace(n, i18n, i18nOptions);\n });\n\n function getT() {\n return i18n.getFixedT(null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n }\n\n var _useState = useState(getT),\n _useState2 = _slicedToArray(_useState, 2),\n t = _useState2[0],\n setT = _useState2[1];\n\n var joinedNS = namespaces.join();\n var previousJoinedNS = usePrevious(joinedNS);\n var isMounted = useRef(true);\n useEffect(function () {\n var bindI18n = i18nOptions.bindI18n,\n bindI18nStore = i18nOptions.bindI18nStore;\n isMounted.current = true;\n\n if (!ready && !useSuspense) {\n loadNamespaces(i18n, namespaces, function () {\n if (isMounted.current) setT(getT);\n });\n }\n\n if (ready && previousJoinedNS && previousJoinedNS !== joinedNS && isMounted.current) {\n setT(getT);\n }\n\n function boundReset() {\n if (isMounted.current) setT(getT);\n }\n\n if (bindI18n && i18n) i18n.on(bindI18n, boundReset);\n if (bindI18nStore && i18n) i18n.store.on(bindI18nStore, boundReset);\n return function () {\n isMounted.current = false;\n if (bindI18n && i18n) bindI18n.split(' ').forEach(function (e) {\n return i18n.off(e, boundReset);\n });\n if (bindI18nStore && i18n) bindI18nStore.split(' ').forEach(function (e) {\n return i18n.store.off(e, boundReset);\n });\n };\n }, [i18n, joinedNS]);\n var isInitial = useRef(true);\n useEffect(function () {\n if (isMounted.current && !isInitial.current) {\n setT(getT);\n }\n\n isInitial.current = false;\n }, [i18n, keyPrefix]);\n var ret = [t, i18n, ready];\n ret.t = t;\n ret.i18n = i18n;\n ret.ready = ready;\n if (ready) return ret;\n if (!ready && !useSuspense) return ret;\n throw new Promise(function (resolve) {\n loadNamespaces(i18n, namespaces, function () {\n resolve();\n });\n });\n}","import en from \"./en.json\";\nimport fr from \"./fr.json\";\n\nexport { en, fr };\n","import DOMPurify from \"dompurify\";\nimport i18n from \"i18next\";\nimport LanguageDetector from \"i18next-browser-languagedetector\";\nimport { initReactI18next } from \"react-i18next\";\nimport { en, fr } from \"translations\";\n\ni18n\n .use(LanguageDetector)\n .use(initReactI18next)\n .init({\n resources: {\n en: { translation: en },\n fr: { translation: fr },\n },\n fallbackLng: \"en\",\n detection: { order: [\"navigator\"] },\n });\n\ni18n.services.formatter.addCached(\"boldList\", (lng, options) => {\n const formatter = new Intl.ListFormat(lng, options);\n const sanitizer = value =>\n DOMPurify.sanitize(value, { USE_PROFILES: { html: true } });\n\n return value => {\n const boldEmails = value.map(email => `<strong>${email}</strong>`);\n const sanitizedEmails = sanitizer(boldEmails).split(\",\");\n\n return formatter.format(sanitizedEmails);\n };\n});\n\nexport default i18n;\n","import { globalProps } from \"neetocommons/initializers\";\n\nexport const hasPermission = (permissions = \"\") => {\n const type = typeof permissions;\n const userPermissions = globalProps.permissions ?? [];\n\n if (Object.is(type, \"string\")) {\n return userPermissions.includes(permissions);\n } else if (Array.isArray(permissions)) {\n return permissions.some(permission => userPermissions.includes(permission));\n }\n\n return false;\n};\n\nexport const isOverflown = ({\n clientWidth,\n clientHeight,\n scrollWidth,\n scrollHeight,\n}) => scrollHeight > clientHeight || scrollWidth > clientWidth;\n\nexport const getScrollBarWidth = () => {\n const innerElement = document.createElement(\"p\");\n innerElement.classList.add(\"ntm-scrollbar__inner\");\n\n const outerElement = document.createElement(\"div\");\n outerElement.classList.add(\"ntm-scrollbar__outer\");\n\n outerElement.appendChild(innerElement);\n document.body.appendChild(outerElement);\n\n const w1 = innerElement.offsetWidth;\n outerElement.style.overflow = \"scroll\";\n let w2 = innerElement.offsetWidth;\n if (w1 === w2) w2 = outerElement.clientWidth;\n\n document.body.removeChild(outerElement);\n\n return w1 - w2;\n};\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ScrollSync\"] = factory(require(\"react\"));\n\telse\n\t\troot[\"ScrollSync\"] = factory(root[\"react\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_4__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 10);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0)))\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_4__;\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = __webpack_require__(4);\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ScrollSyncContext = _react2.default.createContext({\n registerPane: function registerPane() {},\n unregisterPane: function unregisterPane() {}\n});\n\nexports.default = ScrollSyncContext;\nmodule.exports = exports['default'];\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright 2014-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n\n\nvar emptyFunction = __webpack_require__(1);\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 warning = emptyFunction;\n\nif (process.env.NODE_ENV !== 'production') {\n (function () {\n var printWarning = function printWarning(format) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + 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 warning(condition, format) {\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (format.indexOf('Failed Composite propType: ') === 0) {\n return; // Ignore CompositeComponent proptype check.\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n })();\n}\n\nmodule.exports = warning;\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0)))\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\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 = __webpack_require__(13)(isValidElement, 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 = __webpack_require__(12)();\n}\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0)))\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = __webpack_require__(4);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = __webpack_require__(7);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _ScrollSyncContext = __webpack_require__(5);\n\nvar _ScrollSyncContext2 = _interopRequireDefault(_ScrollSyncContext);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * ScrollSync provider component\n *\n */\n\nvar ScrollSync = function (_Component) {\n _inherits(ScrollSync, _Component);\n\n function ScrollSync() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, ScrollSync);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = ScrollSync.__proto__ || Object.getPrototypeOf(ScrollSync)).call.apply(_ref, [this].concat(args))), _this), _this.panes = {}, _this.registerPane = function (node, groups) {\n groups.forEach(function (group) {\n if (!_this.panes[group]) {\n _this.panes[group] = [];\n }\n\n if (!_this.findPane(node, group)) {\n if (_this.panes[group].length > 0) {\n _this.syncScrollPosition(_this.panes[group][0], node);\n }\n _this.panes[group].push(node);\n }\n });\n _this.addEvents(node, groups);\n }, _this.unregisterPane = function (node, groups) {\n groups.forEach(function (group) {\n if (_this.findPane(node, group)) {\n _this.removeEvents(node);\n _this.panes[group].splice(_this.panes[group].indexOf(node), 1);\n }\n });\n }, _this.addEvents = function (node, groups) {\n /* For some reason element.addEventListener doesnt work with document.body */\n node.onscroll = _this.handlePaneScroll.bind(_this, node, groups); // eslint-disable-line\n }, _this.removeEvents = function (node) {\n /* For some reason element.removeEventListener doesnt work with document.body */\n node.onscroll = null; // eslint-disable-line\n }, _this.findPane = function (node, group) {\n if (!_this.panes[group]) {\n return false;\n }\n\n return _this.panes[group].find(function (pane) {\n return pane === node;\n });\n }, _this.handlePaneScroll = function (node, groups) {\n if (!_this.props.enabled) {\n return;\n }\n\n window.requestAnimationFrame(function () {\n _this.syncScrollPositions(node, groups);\n });\n }, _this.syncScrollPositions = function (scrolledPane, groups) {\n groups.forEach(function (group) {\n _this.panes[group].forEach(function (pane) {\n /* For all panes beside the currently scrolling one */\n if (scrolledPane !== pane) {\n /* Remove event listeners from the node that we'll manipulate */\n _this.removeEvents(pane, group);\n _this.syncScrollPosition(scrolledPane, pane);\n /* Re-attach event listeners after we're done scrolling */\n window.requestAnimationFrame(function () {\n _this.addEvents(pane, groups);\n });\n }\n });\n });\n if (_this.props.onSync) _this.props.onSync(scrolledPane);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(ScrollSync, [{\n key: 'getContextValue',\n value: function getContextValue() {\n return {\n registerPane: this.registerPane,\n unregisterPane: this.unregisterPane\n };\n }\n }, {\n key: 'syncScrollPosition',\n value: function syncScrollPosition(scrolledPane, pane) {\n var scrollTop = scrolledPane.scrollTop,\n scrollHeight = scrolledPane.scrollHeight,\n clientHeight = scrolledPane.clientHeight,\n scrollLeft = scrolledPane.scrollLeft,\n scrollWidth = scrolledPane.scrollWidth,\n clientWidth = scrolledPane.clientWidth;\n\n\n var scrollTopOffset = scrollHeight - clientHeight;\n var scrollLeftOffset = scrollWidth - clientWidth;\n\n var _props = this.props,\n proportional = _props.proportional,\n vertical = _props.vertical,\n horizontal = _props.horizontal;\n\n /* Calculate the actual pane height */\n\n var paneHeight = pane.scrollHeight - clientHeight;\n var paneWidth = pane.scrollWidth - clientWidth;\n /* Adjust the scrollTop position of it accordingly */\n if (vertical && scrollTopOffset > 0) {\n pane.scrollTop = proportional ? paneHeight * scrollTop / scrollTopOffset : scrollTop; // eslint-disable-line\n }\n if (horizontal && scrollLeftOffset > 0) {\n pane.scrollLeft = proportional ? paneWidth * scrollLeft / scrollLeftOffset : scrollLeft; // eslint-disable-line\n }\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n _ScrollSyncContext2.default.Provider,\n { value: this.getContextValue() },\n _react2.default.Children.only(this.props.children)\n );\n }\n }]);\n\n return ScrollSync;\n}(_react.Component);\n\nScrollSync.propTypes = {\n /**\n * Callback to be invoked any time synchronization happens\n *\n * @param {Element} el The element that has received the scroll event\n */\n onSync: _propTypes2.default.func,\n children: _propTypes2.default.element.isRequired,\n proportional: _propTypes2.default.bool,\n vertical: _propTypes2.default.bool,\n horizontal: _propTypes2.default.bool,\n enabled: _propTypes2.default.bool\n};\nScrollSync.defaultProps = {\n proportional: true,\n vertical: true,\n horizontal: true,\n enabled: true\n};\nexports.default = ScrollSync;\nmodule.exports = exports['default'];\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = __webpack_require__(4);\n\nvar _propTypes = __webpack_require__(7);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _ScrollSyncContext = __webpack_require__(5);\n\nvar _ScrollSyncContext2 = _interopRequireDefault(_ScrollSyncContext);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* eslint react/no-find-dom-node: 0 */\n\n/**\n * ScrollSyncPane Component\n *\n * Wrap your content in it to keep its scroll position in sync with other panes\n *\n * @example ./example.md\n */\n\nvar ScrollSyncPane = function (_Component) {\n _inherits(ScrollSyncPane, _Component);\n\n function ScrollSyncPane(props) {\n _classCallCheck(this, ScrollSyncPane);\n\n var _this = _possibleConstructorReturn(this, (ScrollSyncPane.__proto__ || Object.getPrototypeOf(ScrollSyncPane)).call(this, props));\n\n _this.toArray = function (groups) {\n return [].concat(groups);\n };\n\n _this.updateNode = function () {\n if (_this.props.attachTo) {\n _this.node = _this.props.attachTo.current;\n } else {\n _this.node = _this.childRef.current;\n }\n };\n\n _this.childRef = (0, _react.createRef)();\n return _this;\n }\n\n _createClass(ScrollSyncPane, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (this.props.enabled) {\n this.updateNode();\n if (this.node) {\n this.context.registerPane(this.node, this.toArray(this.props.group));\n }\n }\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps) {\n if (this.props.attachTo !== prevProps.attachTo) {\n if (this.node) {\n this.context.unregisterPane(this.node, this.toArray(prevProps.group));\n }\n this.updateNode();\n if (this.node) {\n this.context.registerPane(this.node, this.toArray(prevProps.group));\n }\n }\n if (this.node && this.props.enabled !== prevProps.enabled) {\n if (this.props.enabled) {\n this.context.registerPane(this.node, this.toArray(prevProps.group));\n } else {\n this.context.unregisterPane(this.node, this.toArray(prevProps.group));\n }\n }\n if (this.node && this.props.enabled && this.props.group !== prevProps.group) {\n this.context.unregisterPane(this.node, this.toArray(prevProps.group));\n this.context.registerPane(this.node, this.toArray(this.props.group));\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (this.node && this.props.enabled) {\n this.context.unregisterPane(this.node, this.toArray(this.props.group));\n }\n }\n }, {\n key: 'render',\n value: function render() {\n if (this.props.attachTo) {\n return this.props.children;\n }\n return (0, _react.cloneElement)(_react.Children.only(this.props.children), { ref: this.childRef });\n }\n }]);\n\n return ScrollSyncPane;\n}(_react.Component);\n\nScrollSyncPane.contextType = _ScrollSyncContext2.default;\nScrollSyncPane.propTypes = {\n children: _propTypes2.default.node.isRequired,\n attachTo: _propTypes2.default.oneOfType([_propTypes2.default.func, _propTypes2.default.shape({ current: _propTypes2.default.any })]),\n group: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.arrayOf(_propTypes2.default.string)]),\n enabled: _propTypes2.default.bool\n};\nScrollSyncPane.defaultProps = {\n group: 'default',\n enabled: true\n};\nexports.default = ScrollSyncPane;\nmodule.exports = exports['default'];\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _ScrollSync = __webpack_require__(8);\n\nObject.defineProperty(exports, 'ScrollSync', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_ScrollSync).default;\n }\n});\n\nvar _ScrollSyncPane = __webpack_require__(9);\n\nObject.defineProperty(exports, 'ScrollSyncPane', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_ScrollSyncPane).default;\n }\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n\n\nif (process.env.NODE_ENV !== 'production') {\n var invariant = __webpack_require__(2);\n var warning = __webpack_require__(6);\n var ReactPropTypesSecret = __webpack_require__(3);\n var loggedTypeFailures = {};\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (typeSpecs.hasOwnProperty(typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n invariant(typeof typeSpecs[typeSpecName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', componentName || 'React class', location, typeSpecName);\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error);\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n warning(false, 'Failed %s type: %s%s', location, error.message, stack != null ? stack : '');\n }\n }\n }\n }\n}\n\nmodule.exports = checkPropTypes;\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0)))\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n\n\nvar emptyFunction = __webpack_require__(1);\nvar invariant = __webpack_require__(2);\nvar ReactPropTypesSecret = __webpack_require__(3);\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 invariant(\n false,\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 };\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 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 instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n\n\nvar emptyFunction = __webpack_require__(1);\nvar invariant = __webpack_require__(2);\nvar warning = __webpack_require__(6);\n\nvar ReactPropTypesSecret = __webpack_require__(3);\nvar checkPropTypes = __webpack_require__(11);\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<<anonymous>>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message) {\n this.message = message;\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n invariant(\n false,\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 } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n warning(\n false,\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `%s` prop on `%s`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.',\n propFullName,\n componentName\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunction.thatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'Invalid argument supplied to oneOf, expected an instance of array.') : void 0;\n return emptyFunction.thatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (propValue.hasOwnProperty(key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunction.thatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n warning(\n false,\n 'Invalid argument supplid to oneOfType. Expected an array of check functions, but ' +\n 'received %s at index %s.',\n getPostfixForTypeWarning(checker),\n i\n );\n return emptyFunction.thatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n return null;\n }\n }\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (!checker) {\n continue;\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0)))\n\n/***/ })\n/******/ ]);\n});\n//# sourceMappingURL=index.js.map","export const SINGULAR = { count: 1 };\nexport const PLURAL = { count: 2 };\nexport const MANAGE_MEMBER_PERMISSIONS = [\n \"members.manage_members\",\n \"agents.manage_agents\",\n];\nexport const DEFAULT_PERMISSION = true; // Until we add permission prop to all neeto apps, this is the default permission.\n","import { QueryCache, QueryClient } from \"react-query\";\n\nconst queryClient = new QueryClient({\n queryCache: new QueryCache(),\n});\n\nexport default queryClient;\n","import React from \"react\";\n\nimport { QueryClientProvider } from \"react-query\";\nimport { ReactQueryDevtools } from \"react-query/devtools\";\n\nimport queryClient from \"apis/query_client\";\n\nconst withReactQuery = Component => {\n const QueryWrapper = props => (\n <QueryClientProvider client={queryClient}>\n <Component {...props} />\n <ReactQueryDevtools initialIsOpen={false} position=\"bottom-right\" />\n </QueryClientProvider>\n );\n\n return QueryWrapper;\n};\n\nexport default withReactQuery;\n","/* eslint-disable @bigbinary/neeto/no-dangling-constants */\nexport const BASE_URL = \"team_members\";\n","import axios from \"axios\";\n\nimport { BASE_URL } from \"common/routes\";\n\nconst fetch = () => axios.get(`${BASE_URL}/permissions`);\n\nconst permissionsApi = { fetch };\n\nexport default permissionsApi;\n","export const DEFAULT_STALE_TIME = 300_000; // 5 minutes\n\nexport const QUERY_KEYS = {\n PERMISSIONS: \"neeto-team-members-permissions\",\n ROLES: \"neeto-team-members-roles\",\n GLOBAL_ROLES: \"neeto-team-members-global-roles\",\n TEAMS: \"neeto-team-members-teams\",\n TEAMS_DEPENDENCIES: \"neeto-team-members-teams-dependencies\",\n};\n","import permissionsApi from \"apis/permissions\";\nimport { DEFAULT_STALE_TIME, QUERY_KEYS } from \"common/queryConstants\";\nimport { useQuery } from \"react-query\";\n\nconst useFetchPermissions = (options = {}) =>\n useQuery(QUERY_KEYS.PERMISSIONS, permissionsApi.fetch, {\n staleTime: DEFAULT_STALE_TIME,\n select: response => response.permissions || response.data.permissions,\n ...options,\n });\n\nexport { useFetchPermissions };\n","import axios from \"axios\";\n\nimport { BASE_URL } from \"common/routes\";\n\nconst fetch = () => axios.get(`${BASE_URL}/global_roles`);\n\nconst globalRolesApi = { fetch };\n\nexport default globalRolesApi;\n","import axios from \"axios\";\n\nimport { BASE_URL } from \"common/routes\";\n\nconst fetch = () => axios.get(`${BASE_URL}/organization_roles`);\n\nconst create = payload => axios.post(`${BASE_URL}/organization_roles`, payload);\n\nconst update = (id, payload) =>\n axios.patch(`${BASE_URL}/organization_roles/${id}`, payload);\n\nconst destroy = (id, payload) =>\n axios.delete(`${BASE_URL}/organization_roles/${id}`, { data: payload });\n\nconst bulkUpdate = payload =>\n axios.patch(`${BASE_URL}/organization_roles/bulk_update`, payload);\n\nconst organizationRolesApi = { bulkUpdate, create, destroy, fetch, update };\n\nexport default organizationRolesApi;\n","import { noop } from \"neetocommons/pure\";\nimport { Toastr } from \"neetoui\";\nimport {\n prepend,\n assocPath,\n dissocPath,\n findIndex,\n modifyPath,\n propEq,\n} from \"ramda\";\nimport { useQuery, useMutation } from \"react-query\";\n\nimport globalRolesApi from \"apis/global_roles\";\nimport organizationRolesApi from \"apis/organization_roles\";\nimport queryClient from \"apis/query_client\";\nimport { DEFAULT_STALE_TIME, QUERY_KEYS } from \"common/queryConstants\";\n\nconst useFetchRoles = (options = {}) =>\n useQuery(QUERY_KEYS.ROLES, organizationRolesApi.fetch, {\n staleTime: DEFAULT_STALE_TIME,\n select: response =>\n response.organizationRoles || response.data.organizationRoles,\n ...options,\n });\n\nconst useFetchGlobalRoles = (options = {}) =>\n useQuery(QUERY_KEYS.GLOBAL_ROLES, globalRolesApi.fetch, {\n staleTime: DEFAULT_STALE_TIME,\n ...options,\n });\n\nconst useCreateRole = ({ onSuccess, ...options }) =>\n useMutation(organizationRolesApi.create, {\n onSuccess: response => {\n queryClient.invalidateQueries(QUERY_KEYS.TEAMS_DEPENDENCIES);\n queryClient.setQueriesData(QUERY_KEYS.ROLES, cachedData => {\n if (!!cachedData.data && !!cachedData.data.organizationRoles) {\n return modifyPath(\n [\"data\", \"organizationRoles\"],\n prepend(response.data.organizationRole),\n cachedData\n );\n }\n\n return modifyPath(\n [\"organizationRoles\"],\n prepend(response.organizationRole),\n cachedData\n );\n });\n Toastr.success(response.ntmNotice || response.data.ntmNotice);\n onSuccess?.();\n },\n ...options,\n });\n\nconst useUpdateRole = ({ onSuccess, ...options }) =>\n useMutation(({ id, payload }) => organizationRolesApi.update(id, payload), {\n onSuccess: response => {\n queryClient.invalidateQueries(QUERY_KEYS.TEAMS);\n queryClient.invalidateQueries(QUERY_KEYS.TEAMS_DEPENDENCIES);\n queryClient.setQueriesData(QUERY_KEYS.ROLES, cachedData => {\n if (!!cachedData.data && !!cachedData.data.organizationRoles) {\n return assocPath(\n [\n \"data\",\n \"organizationRoles\",\n findIndex(\n propEq(\"id\", response.data.organizationRole.id),\n cachedData.data.organizationRoles\n ),\n ],\n response.data.organizationRole,\n cachedData\n );\n }\n\n return assocPath(\n [\n \"organizationRoles\",\n findIndex(\n propEq(\"id\", response.organizationRole.id),\n cachedData.organizationRoles\n ),\n ],\n response.organizationRole,\n cachedData\n );\n });\n Toastr.success(response.ntmNotice || response.data.ntmNotice);\n onSuccess?.();\n },\n ...options,\n });\n\nconst useDestroyRole = ({ onSuccess = noop, ...options }) =>\n useMutation(({ id, payload }) => organizationRolesApi.destroy(id, payload), {\n onSuccess: response => {\n queryClient.invalidateQueries(QUERY_KEYS.TEAMS);\n queryClient.invalidateQueries(QUERY_KEYS.TEAMS_DEPENDENCIES);\n queryClient.setQueriesData(QUERY_KEYS.ROLES, cachedData => {\n if (!!cachedData.data && !!cachedData.data.organizationRoles) {\n return dissocPath(\n [\n \"data\",\n \"organizationRoles\",\n findIndex(\n propEq(\"id\", response.data.id),\n cachedData.data.organizationRoles\n ),\n ],\n cachedData\n );\n }\n\n return dissocPath(\n [\n \"organizationRoles\",\n findIndex(propEq(\"id\", response.id), cachedData.organizationRoles),\n ],\n cachedData\n );\n });\n Toastr.success(response.ntmNotice || response.data.ntmNotice);\n onSuccess?.();\n },\n ...options,\n });\n\nconst useBulkUpdateRoles = ({ onSuccess, ...options }) =>\n useMutation(organizationRolesApi.bulkUpdate, {\n onSuccess: response => {\n queryClient.invalidateQueries(QUERY_KEYS.TEAMS);\n queryClient.invalidateQueries(QUERY_KEYS.TEAMS_DEPENDENCIES);\n queryClient.invalidateQueries(QUERY_KEYS.ROLES);\n Toastr.success(response.ntmNotice || response.data.ntmNotice);\n onSuccess?.();\n },\n ...options,\n });\n\nexport {\n useBulkUpdateRoles,\n useCreateRole,\n useDestroyRole,\n useFetchRoles,\n useUpdateRole,\n useFetchGlobalRoles,\n};\n","import i18next from \"i18next\";\n\nimport { PLURAL } from \"common/constants\";\n\nexport const renderSearchProps = (searchString, setSearchString) => ({\n \"data-cy\": \"ntm-search-roles-input\",\n onChange: ({ target: { value } }) => setSearchString(value),\n placeholder: i18next.t(\"common.search_\", {\n what: i18next.t(\"common.role\", PLURAL).toLocaleLowerCase(),\n }),\n value: searchString,\n});\n\nexport const renderBreadcrumbs = breadcrumbs =>\n breadcrumbs ?? [\n {\n text: i18next.t(\"metaNames.member\", PLURAL),\n link: \"/members\",\n },\n ];\n","import React from \"react\";\n\nimport { Button, Tooltip } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { MANAGE_MEMBER_PERMISSIONS, SINGULAR } from \"common/constants\";\nimport { hasPermission } from \"common/utils\";\n\nconst AddRoleButton = ({ onClick, permissions }) => {\n const { t } = useTranslation();\n\n return (\n <Tooltip\n content={t(\"tooltips.noPermissionToAddRole\")}\n disabled={permissions?.create ?? hasPermission(MANAGE_MEMBER_PERMISSIONS)}\n position=\"bottom\"\n >\n <span>\n <Button\n data-cy=\"ntm-add-role-button\"\n disabled={\n !(permissions?.create ?? hasPermission(MANAGE_MEMBER_PERMISSIONS))\n }\n label={t(\"common.addNew_\", {\n what: t(\"common.role\", SINGULAR).toLocaleLowerCase(),\n })}\n onClick={onClick}\n />\n </span>\n </Tooltip>\n );\n};\n\nexport default AddRoleButton;\n","import React from \"react\";\n\nimport { ExternalLink } from \"neetoicons\";\nimport { Button, Tooltip } from \"neetoui\";\nimport { Header as NeetoHeader } from \"neetoui/layouts\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { MANAGE_MEMBER_PERMISSIONS, PLURAL } from \"common/constants\";\nimport { hasPermission } from \"common/utils\";\n\nimport { renderBreadcrumbs, renderSearchProps } from \"./utils\";\n\nimport AddRoleButton from \"../AddRoleButton\";\n\nconst Header = ({\n config,\n handleReset,\n handleSubmit,\n isDirty,\n searchString,\n setSearchString,\n setIsNewRolePaneOpen,\n}) => {\n const { t } = useTranslation();\n const hasUpdateRolePermission =\n config?.permissions?.update ?? hasPermission(MANAGE_MEMBER_PERMISSIONS);\n\n return (\n <NeetoHeader\n breadcrumbs={renderBreadcrumbs(config?.header?.breadcrumbs)}\n className=\"ntm-roles-header\"\n searchProps={renderSearchProps(searchString, setSearchString)}\n actionBlock={\n isDirty ? (\n <>\n <Tooltip\n content={t(\"tooltips.noPermissionToEditRoles\")}\n disabled={hasUpdateRolePermission}\n position=\"bottom\"\n >\n <span>\n <Button\n data-cy=\"ntm-role-submission-button\"\n disabled={!hasUpdateRolePermission}\n label={t(\"buttons.saveChanges\")}\n type=\"submit\"\n onClick={handleSubmit}\n />\n </span>\n </Tooltip>\n <Button\n data-cy=\"ntm-role-reset-button\"\n label={t(\"buttons.reset\")}\n style=\"text\"\n type=\"reset\"\n onClick={handleReset}\n />\n </>\n ) : (\n <AddRoleButton\n permissions={config?.permissions}\n onClick={() => setIsNewRolePaneOpen(true)}\n />\n )\n }\n title={\n <span className=\"neeto-ui-flex neeto-ui-items-center neeto-ui-gap-6\">\n {t(\"common.role\", PLURAL)}\n {config?.helpUrl && (\n <Button\n className=\"neeto-ui-mt-1\"\n data-cy=\"ntm-roles-permission-more-info-button\"\n href={config?.helpUrl}\n icon={ExternalLink}\n label={t(\"helpers.moreInfoAboutPermissions\")}\n style=\"link\"\n target=\"_blank\"\n />\n )}\n </span>\n }\n />\n );\n};\n\nexport default Header;\n","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _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}","import { is } from \"ramda\";\n\nconst transformObjectToDotNotation = (object, prefix = \"\", result = []) => {\n const errorKey = Object.keys(object).find(key => !!object[key]);\n if (!errorKey) return;\n const value = object[errorKey];\n if (!value) return;\n\n const nextKey = prefix ? `${prefix}.${errorKey}` : errorKey;\n is(Object, value)\n ? transformObjectToDotNotation(value, nextKey, result)\n : result.push(nextKey);\n\n // eslint-disable-next-line consistent-return\n return result;\n};\n\nexport const getErrorFieldName = formikErrors =>\n transformObjectToDotNotation(formikErrors)?.[0];\n","import { useEffect, useRef } from \"react\";\n\nimport { useFormikContext } from \"formik\";\n\nimport { getErrorFieldName } from \"./utils\";\n\nconst ScrollToErrorField = ({ formRef }) => {\n const { submitCount, isValid, errors } = useFormikContext();\n const isValidatedReference = useRef(false);\n\n useEffect(() => {\n isValidatedReference.current = false;\n }, [submitCount]);\n\n useEffect(() => {\n if (!formRef.current) return;\n\n if (isValidatedReference.current || isValid) return;\n\n isValidatedReference.current = true;\n const fieldErrorNames = getErrorFieldName(errors);\n if (fieldErrorNames.length <= 0) return;\n\n const errorFormElement = [...formRef.current.elements].find(\n element => element.name === fieldErrorNames\n );\n\n errorFormElement?.scrollIntoView({\n behavior: \"smooth\",\n block: \"center\",\n });\n }, [submitCount, errors]); // eslint-disable-line react-hooks/exhaustive-deps\n\n return null;\n};\n\nexport default ScrollToErrorField;\n","import i18next from \"i18next\";\nimport { string, object } from \"yup\";\n\nconst ADD_ROLE_FORM_INITIAL_VALUES = {\n name: \"\",\n description: \"\",\n permissionIds: [],\n};\n\nconst ADD_ROLE_FORM_VALIDATION_SCHEMA = object({\n name: string()\n .trim()\n .max(\n 40,\n i18next.t(\"validations.limitExceeded\", {\n what: i18next.t(\"common.name\").toLocaleLowerCase(),\n limit: 40,\n })\n )\n .required(i18next.t(\"validations.enterRoleName\")),\n description: string()\n .trim()\n .max(\n 255,\n i18next.t(\"validations.limitExceeded\", {\n what: i18next.t(\"common.description\").toLocaleLowerCase(),\n limit: 255,\n })\n ),\n});\n\nexport const ROLE_FORMIK_PROPS = {\n initialValues: ADD_ROLE_FORM_INITIAL_VALUES,\n validateOnBlur: false,\n validateOnChange: false,\n validationSchema: ADD_ROLE_FORM_VALIDATION_SCHEMA,\n};\n","import React, { useMemo } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { Typography, Checkbox } from \"neetoui\";\nimport { groupBy, keys, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SINGULAR } from \"common/constants\";\n\nconst Permissions = ({ permissions }) => {\n const { t } = useTranslation();\n const { setFieldValue, values } = useFormikContext();\n const { permissionIds = [] } = values;\n\n const handleTogglePermission = permissionId => {\n const nextPermissionIds = permissionIds.includes(permissionId)\n ? permissionIds.filter(id => id !== permissionId)\n : [...permissionIds, permissionId];\n setFieldValue(\"permissionIds\", nextPermissionIds);\n };\n\n const groupedPermissions = useMemo(\n () => groupBy(prop(\"category\"))(permissions),\n [permissions]\n );\n\n return (\n <div className=\"ntm-roles-pane__body-wrapper\">\n <div>\n <Typography lineHeight=\"normal\" style=\"h4\" weight=\"semibold\">\n {t(\"common.permission\", SINGULAR)}\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-600\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"helpers.configPermissions\")}\n </Typography>\n </div>\n {/* Item */}\n {keys(groupedPermissions).map(category => (\n <div className=\"ntm-roles-permission\" key={category}>\n <Typography\n className=\"ntm-roles-permission__heading\"\n data-cy=\"ntm-roles-permission-category-title\"\n lineHeight=\"normal\"\n style=\"h5\"\n weight=\"bold\"\n >\n {category}\n </Typography>\n {groupedPermissions[category].map(({ id, description }) => (\n <div\n className=\"ntm-roles-permission__card\"\n key={id}\n onClick={() => handleTogglePermission(id)}\n >\n <Typography\n className=\"ntm-roles-permission__card--description\"\n data-cy=\"ntm-roles-permission-name\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {description}\n </Typography>\n <div className=\"ntm-roles-permission__card--checkbox\">\n <Checkbox\n checked={permissionIds.some(pid => pid === id)}\n data-cy=\"ntm-roles-permission-checkbox\"\n onChange={() => handleTogglePermission(id)}\n />\n </div>\n </div>\n ))}\n </div>\n ))}\n </div>\n );\n};\n\nexport default Permissions;\n","import React, { useRef } from \"react\";\n\nimport { Pane, Typography, Button } from \"neetoui\";\nimport { Form, Input, Textarea } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SINGULAR } from \"common/constants\";\nimport ScrollToErrorField from \"components/Common/ScrollToErrorField\";\nimport { useCreateRole } from \"hooks/roles/useRolesApi\";\n\nimport { ROLE_FORMIK_PROPS } from \"./constants\";\nimport Permissions from \"./Permissions\";\n\nconst New = ({ isOpen, onClose, permissions }) => {\n const { t } = useTranslation();\n const formReference = useRef(null);\n const inputReference = useRef(null);\n const { mutate: createRole, isLoading: isSubmitting } = useCreateRole({\n onSuccess: onClose,\n });\n\n const handleFormSubmit = formValues => {\n const modifiedFormValues = {\n ...formValues,\n name: formValues.name.trim(),\n description: formValues.description.trim(),\n };\n createRole({ organizationRole: modifiedFormValues });\n };\n\n return (\n <Pane initialFocusRef={inputReference} isOpen={isOpen} onClose={onClose}>\n <Pane.Header>\n <Typography data-cy=\"ntm-add-role-title\" style=\"h2\">\n {t(\"common.addNew_\", {\n what: t(\"common.role\", SINGULAR).toLocaleLowerCase(),\n })}\n </Typography>\n </Pane.Header>\n <Form\n ref={formReference}\n formikProps={{\n ...ROLE_FORMIK_PROPS,\n onSubmit: handleFormSubmit,\n }}\n >\n {({ dirty }) => (\n <>\n <ScrollToErrorField formRef={formReference} />\n <Pane.Body>\n <div className=\"ntm-roles-pane__body\">\n <div className=\"ntm-roles-pane__body-wrapper\">\n <Input\n required\n data-cy=\"ntm-add-role-name-text-field\"\n label={t(\"common.name\")}\n maxLength={40}\n name=\"name\"\n ref={inputReference}\n placeholder={t(\"placeholders.enter_\", {\n what: t(\"common.name\").toLocaleLowerCase(),\n })}\n />\n <Textarea\n data-cy=\"ntm-add-role-description-text-field\"\n label={t(\"common.description\")}\n maxLength={255}\n name=\"description\"\n placeholder={t(\"placeholders.enter_\", {\n what: t(\"common.description\").toLocaleLowerCase(),\n })}\n />\n </div>\n <Permissions permissions={permissions} />\n </div>\n </Pane.Body>\n <Pane.Footer>\n <div className=\"ntm-roles-pane__footer\">\n <Button\n data-cy=\"ntm-add-role-submit-button\"\n disabled={!dirty || isSubmitting}\n label={t(\"buttons.saveChanges\")}\n loading={isSubmitting}\n type=\"submit\"\n />\n <Button\n data-cy=\"ntm-add-role-cancel-button\"\n label={t(\"buttons.cancel\")}\n style=\"text\"\n onClick={onClose}\n />\n </div>\n </Pane.Footer>\n </>\n )}\n </Form>\n </Pane>\n );\n};\n\nexport default New;\n","export const DEFAULT_MANAGE_ROLE_VALUES = {\n isDelete: false,\n isEdit: false,\n selectedRole: {},\n};\n\nexport const ADMIN_ROLES = [\"Admin\", \"Owner\"];\n","import i18next from \"i18next\";\n\nconst deepClone = object => {\n if (!object || true === object) {\n //this also handles boolean as true and false\n return object;\n }\n const objectType = typeof object;\n if (\"number\" === objectType || \"string\" === objectType) {\n // add your immutables here\n return object;\n }\n\n let result = null;\n if (Array.isArray(object)) {\n result = [];\n } else if (!object.constructor) {\n result = {};\n } else {\n result = new object.constructor();\n }\n\n if (object instanceof Map) {\n for (const key of object.keys()) {\n result.set(key, deepClone(object.get(key)));\n }\n }\n\n Object.keys(object).forEach(key => {\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n result[key] = deepClone(object[key]);\n }\n });\n\n return result;\n};\n\nexport const renderRolesTooltipContent = roleName =>\n Object.is(roleName, \"Admin\")\n ? i18next.t(\"tooltips.adminMustHaveAccess\")\n : i18next.t(\"tooltips.noPermissionToEditRoles\");\n\nexport const removeDuplicates = array => [...new Set(array)];\n\nexport const updatePermissionVisibility = (categoryName, permissions) => {\n const category = permissions.get(categoryName);\n const isPermissionVisible = category.get(\"isPermissionVisible\");\n category.set(\"isPermissionVisible\", !isPermissionVisible);\n\n return new Map(permissions.set(categoryName, category));\n};\n\nexport const filterPermissionsBySearch = (searchTerm, permissionGroups) => {\n const newValue = deepClone(permissionGroups);\n newValue.forEach(value => {\n const permissions = value.get(\"permissions\");\n\n const filteredPermissions = permissions.filter(permission =>\n permission?.description\n ?.toLowerCase()\n ?.trim()\n ?.includes(searchTerm.toLowerCase().trim())\n );\n value.set(\"permissions\", filteredPermissions);\n });\n\n return newValue;\n};\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { isNotEmpty, replaceById } from \"neetocommons/pure\";\nimport { Checkbox, Tooltip } from \"neetoui\";\nimport { identical, includes, map, modify, prop } from \"ramda\";\n\nimport { DEFAULT_PERMISSION } from \"common/constants\";\n\nimport { ADMIN_ROLES } from \"./constants\";\nimport { removeDuplicates, renderRolesTooltipContent } from \"./utils\";\n\nconst Row = ({\n allPermissionsOfCategory = null,\n config,\n permission = null,\n roles,\n setModifiedRoles,\n}) => {\n const permissions = allPermissionsOfCategory?.get(\"permissions\") || [];\n const allPermissionIdsOfCategory = map(prop(\"id\"), permissions);\n\n const handleSubmit = (role, checked) => {\n const permissionIds = isNotEmpty(allPermissionIdsOfCategory)\n ? allPermissionIdsOfCategory\n : [permission?.id];\n\n const modifiedRole = modify(\n \"permissionIds\",\n () =>\n checked\n ? removeDuplicates([...role.permissionIds, ...permissionIds])\n : role.permissionIds.filter(id => !permissionIds.includes(id)),\n role\n );\n setModifiedRoles(replaceById(role.id, modifiedRole));\n };\n\n const isCheckboxChecked = role =>\n !allPermissionsOfCategory\n ? includes(permission?.id, role.permissionIds)\n : allPermissionIdsOfCategory.every(id =>\n includes(id, role.permissionIds)\n );\n\n return (\n <div\n className={classnames(\"ntm-roles-table__row\", {\n \"ntm-roles-table__row--highlighted\": !!allPermissionsOfCategory,\n })}\n >\n {roles.map(role => (\n <div className=\"ntm-roles-table__cell\" key={role.id}>\n <Tooltip\n content={renderRolesTooltipContent(role.name)}\n position=\"top\"\n disabled={\n (config?.permissions?.update ?? DEFAULT_PERMISSION) &&\n !identical(role.name, \"Admin\")\n }\n >\n <div className=\"ntm-roles-table-cell__checkbox-wrapper\">\n <Checkbox\n checked={isCheckboxChecked(role)}\n className=\"ntm-roles-table-cell__checkbox\"\n data-cy=\"ntm-roles-table-permission-checkbox\"\n disabled={\n ADMIN_ROLES.includes(role.name) ||\n !(config?.permissions?.update ?? DEFAULT_PERMISSION)\n }\n onChange={({ target: { checked } }) =>\n handleSubmit(role, checked)\n }\n />\n </div>\n </Tooltip>\n </div>\n ))}\n </div>\n );\n};\n\nexport default Row;\n","import React, { useEffect, useCallback, useRef } from \"react\";\n\nimport { MenuHorizontal } from \"neetoicons\";\nimport { Typography, Dropdown, Tooltip } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\nimport { ScrollSyncPane } from \"react-scroll-sync\";\n\nimport { DEFAULT_PERMISSION } from \"common/constants\";\nimport { isOverflown } from \"common/utils\";\n\nconst TableHeader = ({ config, roles, setManageRole, setIsScrollPresent }) => {\n const { t } = useTranslation();\n const scrollSyncElement = useRef(null);\n const { Menu, MenuItem } = Dropdown;\n\n const getOverflowStatus = useCallback(() => {\n if (scrollSyncElement.current) {\n const headerElement = scrollSyncElement.current.node;\n const isScrollBarPresent = isOverflown(headerElement);\n setIsScrollPresent(isScrollBarPresent);\n }\n }, [setIsScrollPresent]);\n\n useEffect(\n () => getOverflowStatus(),\n [getOverflowStatus, scrollSyncElement, roles]\n );\n\n return (\n <ScrollSyncPane group=\"horizontal\" ref={scrollSyncElement}>\n <div className=\"ntm-roles-table__header\">\n {roles?.map((role, index) => {\n const hasSystemRole = Object.is(role.kind, \"system\");\n\n return (\n <div className=\"ntm-roles-table__cell\" key={`ntm-roles-${index}`}>\n <div className=\"ntm-roles-table-header-cell__container\">\n <Typography\n className=\"ntm-roles-table-header__role-name\"\n data-cy=\"ntm-roles-table-header-role-title\"\n lineHeight=\"normal\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {role.name}\n </Typography>\n {!hasSystemRole && (\n <Dropdown\n autoWidth\n buttonStyle=\"text\"\n icon={MenuHorizontal}\n buttonProps={{\n className: \"ntm-roles-table-header__dropdown\",\n \"data-cy\": \"ntm-roles-table-header-role-dropdown-button\",\n }}\n >\n <Menu>\n <Tooltip\n content={t(\"tooltips.noPermissionToEditRoles\")}\n position=\"left\"\n disabled={\n config?.permissions?.update ?? DEFAULT_PERMISSION\n }\n >\n <span>\n <MenuItem.Button\n className=\"ntm-dropdown__button\"\n data-cy=\"ntm-roles-table-edit-role-button\"\n size=\"small\"\n style=\"text\"\n disabled={\n !(\n config?.permissions?.update ??\n DEFAULT_PERMISSION\n )\n }\n onClick={() =>\n setManageRole({\n isEdit: true,\n selectedRole: role,\n })\n }\n >\n {t(\"common.edit\")}\n </MenuItem.Button>\n </span>\n </Tooltip>\n <Tooltip\n content={t(\"tooltips.noPermissionToRemoveRoles\")}\n position=\"left\"\n disabled={\n config?.permissions?.delete ?? DEFAULT_PERMISSION\n }\n >\n <span>\n <MenuItem.Button\n className=\"ntm-dropdown__button\"\n data-cy=\"ntm-roles-table-delete-role-button\"\n size=\"small\"\n disabled={\n !(\n config?.permissions?.delete ??\n DEFAULT_PERMISSION\n )\n }\n onClick={() =>\n setManageRole({\n isDelete: true,\n selectedRole: role,\n })\n }\n >\n {t(\"common.delete\")}\n </MenuItem.Button>\n </span>\n </Tooltip>\n </Menu>\n </Dropdown>\n )}\n </div>\n </div>\n );\n })}\n </div>\n </ScrollSyncPane>\n );\n};\n\nexport default TableHeader;\n","import React from \"react\";\n\nimport { Alert } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { SINGULAR } from \"common/constants\";\nimport { useDestroyRole } from \"hooks/roles/useRolesApi\";\n\nconst Delete = ({ isOpen, onClose, selectedRole, roles }) => {\n const { t } = useTranslation();\n const { mutate: deleteRole, isLoading: isDeleting } = useDestroyRole({\n onSuccess: onClose,\n });\n\n const handleDelete = () => {\n const { id } = selectedRole;\n const payload = { newRoleId: roles.find(role => role.id !== id)?.id };\n deleteRole({ id, payload });\n };\n\n return (\n <Alert\n cancelButtonLabel={t(\"buttons.cancel\")}\n isOpen={isOpen}\n isSubmitting={isDeleting}\n submitButtonLabel={t(\"buttons.proceed\")}\n message={\n <Trans\n i18nKey=\"alerts.deleting_\"\n values={{\n name: selectedRole?.name,\n what: t(\"common.role\", SINGULAR).toLocaleLowerCase(),\n }}\n />\n }\n title={t(\"common.delete_\", {\n what: t(\"common.role\", SINGULAR).toLocaleLowerCase(),\n })}\n onClose={onClose}\n onSubmit={handleDelete}\n />\n );\n};\n\nexport default Delete;\n","import React, { useRef } from \"react\";\n\nimport { Button, Pane, Typography } from \"neetoui\";\nimport { Form, Input, Textarea } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SINGULAR } from \"common/constants\";\nimport ScrollToErrorField from \"components/Common/ScrollToErrorField\";\nimport { useUpdateRole } from \"hooks/roles/useRolesApi\";\n\nimport { ROLE_FORMIK_PROPS } from \"./constants\";\n\nconst Edit = ({ isOpen, onClose, selectedRole }) => {\n const { t } = useTranslation();\n const formReference = useRef(null);\n const inputReference = useRef(null);\n const { mutate: updateRole, isLoading: isSubmitting } = useUpdateRole({\n onSuccess: onClose,\n });\n\n const initialValues = {\n name: selectedRole?.name,\n description: selectedRole?.description,\n };\n\n const handleFormSubmit = formValues => {\n const payload = {\n organizationRole: {\n ...selectedRole,\n name: formValues.name.trim(),\n description: formValues.description.trim(),\n },\n };\n updateRole({ id: selectedRole.id, payload });\n };\n\n return (\n <Pane initialFocusRef={inputReference} isOpen={isOpen} onClose={onClose}>\n <Pane.Header>\n <Typography data-cy=\"ntm-update-role-title\" style=\"h2\">\n {t(\"common.update_\", {\n what: t(\"common.role\", SINGULAR).toLocaleLowerCase(),\n })}\n </Typography>\n </Pane.Header>\n <Form\n ref={formReference}\n formikProps={{\n ...ROLE_FORMIK_PROPS,\n initialValues,\n onSubmit: handleFormSubmit,\n }}\n >\n {({ dirty }) => (\n <>\n <ScrollToErrorField formRef={formReference} />\n <Pane.Body>\n <div className=\"ntm-roles-pane__body\">\n <Input\n required\n data-cy=\"ntm-update-role-name-text-field\"\n label={t(\"common.name\")}\n maxLength={40}\n name=\"name\"\n placeholder={t(\"placeholders.enterRoleName\")}\n ref={inputReference}\n />\n <Textarea\n data-cy=\"ntm-update-role-description-text-field\"\n label={t(\"common.description\")}\n maxLength={255}\n name=\"description\"\n placeholder={t(\"placeholders.enterDescription\")}\n />\n </div>\n </Pane.Body>\n <Pane.Footer>\n <div className=\"ntm-roles-pane__footer\">\n <Button\n data-cy=\"ntm-update-role-submit-button\"\n disabled={!dirty || isSubmitting}\n label={t(\"buttons.saveChanges\")}\n loading={isSubmitting}\n type=\"submit\"\n />\n <Button\n data-cy=\"ntm-update-role-cancel-button\"\n label={t(\"buttons.cancel\")}\n style=\"text\"\n onClick={onClose}\n />\n </div>\n </Pane.Footer>\n </>\n )}\n </Form>\n </Pane>\n );\n};\n\nexport default Edit;\n","import React, { useState } from \"react\";\n\nimport { ScrollSyncPane } from \"react-scroll-sync\";\n\nimport { DEFAULT_MANAGE_ROLE_VALUES } from \"./constants\";\nimport Row from \"./Row\";\nimport TableHeader from \"./TableHeader\";\n\nimport Delete from \"../Delete\";\nimport Edit from \"../Edit\";\n\nconst Columns = ({\n config,\n filteredGroupPermissions,\n filteredRoles,\n roles,\n setModifiedRoles,\n setIsScrollPresent,\n}) => {\n const [manageRole, setManageRole] = useState(DEFAULT_MANAGE_ROLE_VALUES);\n const categories = Array.from(filteredGroupPermissions?.keys());\n\n const onClose = () => setManageRole(DEFAULT_MANAGE_ROLE_VALUES);\n\n return (\n <div className=\"ntm-roles-table__columns\">\n <TableHeader\n config={config}\n roles={filteredRoles}\n setIsScrollPresent={setIsScrollPresent}\n setManageRole={setManageRole}\n />\n <ScrollSyncPane group={[\"horizontal\", \"vertical\"]}>\n <div className=\"ntm-roles-table__rows\">\n {categories.map((category, index) => {\n const groupedPermissions = filteredGroupPermissions.get(category);\n const isPermissionVisible = groupedPermissions.get(\n \"isPermissionVisible\"\n );\n const permissions = groupedPermissions.get(\"permissions\");\n\n return (\n <div key={index}>\n <Row\n allPermissionsOfCategory={groupedPermissions}\n config={config}\n roles={filteredRoles}\n setModifiedRoles={setModifiedRoles}\n />\n {isPermissionVisible &&\n permissions.map(permission => (\n <Row\n config={config}\n key={permission.id}\n permission={permission}\n roles={filteredRoles}\n setModifiedRoles={setModifiedRoles}\n />\n ))}\n </div>\n );\n })}\n </div>\n </ScrollSyncPane>\n <Edit\n isOpen={manageRole.isEdit}\n selectedRole={manageRole.selectedRole}\n onClose={onClose}\n />\n <Delete\n isOpen={manageRole.isDelete}\n roles={roles}\n selectedRole={manageRole.selectedRole}\n onClose={onClose}\n />\n </div>\n );\n};\n\nexport default Columns;\n","import React from \"react\";\n\nimport { Down, Up } from \"neetoicons\";\n\nconst ToggleDropdown = ({ isVisible, onClick }) =>\n isVisible ? (\n <Up\n className=\"ntm-roles-table-sidebar__drop-down-button\"\n data-cy=\"ntm-permission-category-hide-button\"\n size={16}\n strokeWidth={2}\n onClick={onClick}\n />\n ) : (\n <Down\n className=\"ntm-roles-table-sidebar__drop-down-button\"\n data-cy=\"ntm-permission-category-show-button\"\n size={16}\n strokeWidth={2}\n onClick={onClick}\n />\n );\n\nexport default ToggleDropdown;\n","export const ROLES_TABLE_CELL_HEIGHT_VARIABLE = \"--ntm-roles-table-cell-height\";\n","import React from \"react\";\n\nimport { Typography } from \"neetoui\";\nimport { pluck } from \"ramda\";\n\nimport { getScrollBarWidth } from \"common/utils\";\n\nimport { ROLES_TABLE_CELL_HEIGHT_VARIABLE } from \"./constants\";\n\nconst getCurrentTableCellHeight = () =>\n parseInt(\n getComputedStyle(document.documentElement).getPropertyValue(\n ROLES_TABLE_CELL_HEIGHT_VARIABLE\n ),\n 10\n );\nexport const renderDescription = permissions =>\n permissions?.map(({ id, description }) => (\n <div className=\"ntm-roles-table-sidebar__list-item\" key={id}>\n <Typography\n data-cy=\"ntm-permission-category-description\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {description}\n </Typography>\n </div>\n ));\n\nexport const getSearchWrapperStyle = () => {\n const scrollBarWidth = getScrollBarWidth();\n\n document.documentElement.style.setProperty(\n \"--ntm-roles-table-default-scroll\",\n `${scrollBarWidth}px`\n );\n\n return {\n marginBottom: `${scrollBarWidth}px`,\n };\n};\n\nexport const assignRolesTableCellHeight = () => {\n const sidebarItems = [\n ...document.getElementsByClassName(\"ntm-roles-table-sidebar__list-item\"),\n ];\n const clientHeights = pluck(\"clientHeight\", sidebarItems);\n const maxClientHeight = Math.max(...clientHeights);\n const currentTableCellHeight = getCurrentTableCellHeight();\n\n if (maxClientHeight > currentTableCellHeight) {\n document.documentElement.style.setProperty(\n ROLES_TABLE_CELL_HEIGHT_VARIABLE,\n `${maxClientHeight}px`\n );\n }\n};\n","import React, { useLayoutEffect } from \"react\";\n\nimport { Search } from \"neetoicons\";\nimport { Input, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\nimport { ScrollSyncPane } from \"react-scroll-sync\";\n\nimport { PLURAL } from \"common/constants\";\n\nimport ToggleDropdown from \"./ToggleDropdown\";\nimport {\n assignRolesTableCellHeight,\n getSearchWrapperStyle,\n renderDescription,\n} from \"./utils\";\n\nconst Sidebar = ({\n searchTerm,\n setSearchTerm,\n filteredGroupPermissions,\n toggleDropdown,\n isScrollPresent,\n}) => {\n const { t } = useTranslation();\n const categories = Array.from(filteredGroupPermissions.keys());\n const searchWrapperStyle = isScrollPresent ? getSearchWrapperStyle() : {};\n\n useLayoutEffect(() => {\n assignRolesTableCellHeight();\n }, []);\n\n return (\n <div className=\"ntm-roles-table__sidebar\">\n <div\n className=\"ntm-roles-table-sidebar__search\"\n style={searchWrapperStyle}\n >\n <Input\n data-cy=\"ntm-search-permissions-input\"\n prefix={<Search />}\n type=\"search\"\n value={searchTerm}\n placeholder={t(\"common.search_\", {\n what: t(\"common.permission\", PLURAL).toLocaleLowerCase(),\n })}\n onChange={({ target: { value } }) => setSearchTerm(value)}\n />\n </div>\n <ScrollSyncPane group=\"vertical\">\n <div className=\"ntm-roles-table-sidebar__list\">\n {categories.map((category, index) => {\n const groupedPermissions = filteredGroupPermissions.get(category);\n const isPermissionVisible = groupedPermissions.get(\n \"isPermissionVisible\"\n );\n const permissions = groupedPermissions.get(\"permissions\");\n\n return (\n <div key={index}>\n <div className=\"ntm-roles-table-sidebar__list-item ntm-roles-table-sidebar__list-item--highlighted\">\n <Typography\n data-cy=\"ntm-permission-category-title\"\n lineHeight=\"normal\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {category}\n </Typography>\n <ToggleDropdown\n isVisible={isPermissionVisible}\n onClick={() => toggleDropdown(category)}\n />\n </div>\n {isPermissionVisible && renderDescription(permissions)}\n </div>\n );\n })}\n </div>\n </ScrollSyncPane>\n </div>\n );\n};\n\nexport default Sidebar;\n","import React, { useState, useEffect } from \"react\";\n\nimport { NoData } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { MANAGE_MEMBER_PERMISSIONS, PLURAL, SINGULAR } from \"common/constants\";\nimport { hasPermission } from \"common/utils\";\n\nimport Columns from \"./Columns\";\nimport Sidebar from \"./Sidebar\";\nimport { filterPermissionsBySearch, updatePermissionVisibility } from \"./utils\";\n\nconst Table = ({\n config,\n filteredRoles,\n permissionGroups,\n roles,\n setModifiedRoles,\n setIsNewRolePaneOpen,\n}) => {\n const { t } = useTranslation();\n const [searchTerm, setSearchTerm] = useState(\"\");\n const [filteredGroupPermissions, setFilteredGroupPermissions] =\n useState(permissionGroups);\n const [isScrollPresent, setIsScrollPresent] = useState(false);\n\n const isAddRoleDisabled = !(\n config.permissions?.create ?? hasPermission(MANAGE_MEMBER_PERMISSIONS)\n );\n\n const toggleDropdown = category => {\n const permissions = updatePermissionVisibility(\n category,\n filteredGroupPermissions\n );\n setFilteredGroupPermissions(permissions);\n };\n\n useEffect(() => {\n const newValue = filterPermissionsBySearch(searchTerm, permissionGroups);\n setFilteredGroupPermissions(newValue);\n }, [permissionGroups, searchTerm]);\n\n return (\n <div className=\"ntm-roles-table__wrapper\">\n <Sidebar\n filteredGroupPermissions={filteredGroupPermissions}\n isScrollPresent={isScrollPresent}\n searchTerm={searchTerm}\n setSearchTerm={setSearchTerm}\n toggleDropdown={toggleDropdown}\n />\n {isEmpty(filteredRoles) ? (\n <div className=\"ntm-empty-state\">\n <NoData\n primaryButtonProps={{\n \"data-cy\": \"ntm-add-role-button\",\n disabled: isAddRoleDisabled,\n label: t(\"common.addNew_\", {\n what: t(\"common.role\", SINGULAR).toLocaleLowerCase(),\n }),\n onClick: () => setIsNewRolePaneOpen(true),\n }}\n title={t(\"common.notFound_\", {\n what: t(\"common.role\", PLURAL).toLocaleLowerCase(),\n })}\n />\n </div>\n ) : (\n <Columns\n config={config}\n filteredGroupPermissions={filteredGroupPermissions}\n filteredRoles={filteredRoles}\n roles={roles}\n setIsScrollPresent={setIsScrollPresent}\n setModifiedRoles={setModifiedRoles}\n />\n )}\n </div>\n );\n};\n\nexport default Table;\n","import { findById } from \"neetocommons/pure\";\nimport { append, equals } from \"ramda\";\n\nexport const getPermissionGroups = (permissions = []) => {\n const sortBySequence = permissions?.[0]?.sequence\n ? permissions.sort((first, second) => first.sequence - second.sequence)\n : permissions;\n\n const groupedPermissions = new Map();\n (\"\");\n sortBySequence.forEach(permission => {\n if (groupedPermissions.has(permission?.category)) {\n const category = groupedPermissions.get(permission.category);\n const currentPermissions = category.get(\"permissions\");\n const permissions = append(permission, currentPermissions);\n category.set(\"permissions\", permissions);\n } else {\n const value = new Map();\n value.set(\"permissions\", append(permission, []));\n value.set(\"isPermissionVisible\", true);\n groupedPermissions.set(permission?.category, value);\n }\n });\n\n return groupedPermissions;\n};\n\nexport const getModifiedPermissions = (roles = [], modifiedRoles = []) =>\n modifiedRoles\n .map(role => {\n const oldPermissions = findById(role.id, roles).permissionIds;\n if (equals(oldPermissions, role.permissionIds)) return false;\n\n return { id: role.id, permissionIds: role.permissionIds };\n })\n .filter(Boolean);\n","import React, { useState, useEffect } from \"react\";\n\nimport i18next from \"i18next\";\nimport { isPresent } from \"neetocommons/pure\";\nimport { withTitle } from \"neetocommons/react-utils\";\nimport { ExternalLink } from \"neetoicons\";\nimport { Button, PageLoader } from \"neetoui\";\nimport { Container } from \"neetoui/layouts\";\nimport { filter, includes } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { ScrollSync } from \"react-scroll-sync\";\n\nimport { DEFAULT_PERMISSION, PLURAL } from \"common/constants\";\nimport withReactQuery from \"components/Common/withReactQuery\";\nimport { useFetchPermissions } from \"hooks/roles/usePermissionsApi\";\nimport { useBulkUpdateRoles, useFetchRoles } from \"hooks/roles/useRolesApi\";\n\nimport Header from \"./Header\";\nimport New from \"./New\";\nimport Table from \"./Table\";\nimport { getModifiedPermissions, getPermissionGroups } from \"./utils\";\n\nconst Roles = ({ config }) => {\n const { t } = useTranslation();\n const [searchString, setSearchString] = useState(\"\");\n const [filteredRoles, setFilteredRoles] = useState([]);\n const [isNewRolePaneOpen, setIsNewRolePaneOpen] = useState(false);\n const { data: roles, isLoading: isRolesLoading } = useFetchRoles({\n onSuccess: roles => setModifiedRoles(roles),\n enabled: config?.permissions?.view ?? DEFAULT_PERMISSION,\n });\n\n const { data: permissions, isLoading: isPermissionsLoading } =\n useFetchPermissions({\n enabled: config?.permissions?.view ?? DEFAULT_PERMISSION,\n });\n\n const { mutate: bulkUpdate } = useBulkUpdateRoles({\n enabled: config?.permissions?.update ?? DEFAULT_PERMISSION,\n });\n const [modifiedRoles, setModifiedRoles] = useState(roles);\n const isDirty = isPresent(getModifiedPermissions(roles, modifiedRoles));\n const permissionGroups = getPermissionGroups(permissions);\n\n useEffect(() => {\n setFilteredRoles(\n filter(\n ({ name }) =>\n includes(\n searchString.toLowerCase().trim(),\n name.toLowerCase().trim()\n ),\n modifiedRoles || []\n )\n );\n }, [modifiedRoles, searchString]);\n\n const handleSubmit = () => {\n const updatedRoles = getModifiedPermissions(roles, modifiedRoles);\n bulkUpdate({ organizationRoles: { updatedRoles } });\n };\n\n const handleReset = () => setModifiedRoles(roles);\n\n if (isRolesLoading || isPermissionsLoading) {\n return (\n <div className=\"ntm-members-page-loader\">\n <PageLoader />\n </div>\n );\n }\n\n return (\n <>\n <ScrollSync>\n <Container isHeaderFixed>\n <Header\n config={config}\n handleReset={handleReset}\n handleSubmit={handleSubmit}\n isDirty={isDirty}\n searchString={searchString}\n setIsNewRolePaneOpen={setIsNewRolePaneOpen}\n setSearchString={setSearchString}\n />\n <Table\n config={config}\n filteredRoles={filteredRoles}\n permissionGroups={permissionGroups}\n roles={roles}\n setIsNewRolePaneOpen={setIsNewRolePaneOpen}\n setModifiedRoles={setModifiedRoles}\n />\n {config?.helpUrl && (\n <div className=\"ntm-roles-help-url-wrapper\">\n <Button\n data-cy=\"ntm-roles-permission-more-info-button\"\n href={config.helpUrl}\n icon={ExternalLink}\n label={t(\"helpers.visitToKnowMoreAboutPermissions\")}\n style=\"link\"\n target=\"_blank\"\n />\n </div>\n )}\n </Container>\n </ScrollSync>\n <New\n isOpen={isNewRolePaneOpen}\n permissions={permissions}\n onClose={() => setIsNewRolePaneOpen(false)}\n />\n </>\n );\n};\n\nexport default withTitle(\n withReactQuery(Roles),\n i18next.t(\"common.role\", PLURAL)\n);\n","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\ntry {\n\tnull.error; // eslint-disable-line no-unused-expressions\n} catch (e) {\n\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\tvar errorProto = getProto(getProto(e));\n\tINTRINSICS['%Error.prototype%'] = errorProto;\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('has');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar slice = Array.prototype.slice;\nvar toStr = Object.prototype.toString;\nvar funcType = '[object Function]';\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.call(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slice.call(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n args.concat(slice.call(arguments))\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n } else {\n return target.apply(\n that,\n args.concat(slice.call(arguments))\n );\n }\n };\n\n var boundLength = Math.max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs.push('$' + i);\n }\n\n bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar bind = require('function-bind');\n\nmodule.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);\n","'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\nvar $max = GetIntrinsic('%Math.max%');\n\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = null;\n\t}\n}\n\nmodule.exports = function callBind(originalFunction) {\n\tvar func = $reflectApply(bind, $call, arguments);\n\tif ($gOPD && $defineProperty) {\n\t\tvar desc = $gOPD(func, 'length');\n\t\tif (desc.configurable) {\n\t\t\t// original length, plus the receiver, minus any additional arguments (after the receiver)\n\t\t\t$defineProperty(\n\t\t\t\tfunc,\n\t\t\t\t'length',\n\t\t\t\t{ value: 1 + $max(0, originalFunction.length - (arguments.length - 1)) }\n\t\t\t);\n\t\t}\n\t}\n\treturn func;\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","module.exports = require('util').inspect;\n","var hasMap = typeof Map === 'function' && Map.prototype;\nvar mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, 'size') : null;\nvar mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === 'function' ? mapSizeDescriptor.get : null;\nvar mapForEach = hasMap && Map.prototype.forEach;\nvar hasSet = typeof Set === 'function' && Set.prototype;\nvar setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, 'size') : null;\nvar setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === 'function' ? setSizeDescriptor.get : null;\nvar setForEach = hasSet && Set.prototype.forEach;\nvar hasWeakMap = typeof WeakMap === 'function' && WeakMap.prototype;\nvar weakMapHas = hasWeakMap ? WeakMap.prototype.has : null;\nvar hasWeakSet = typeof WeakSet === 'function' && WeakSet.prototype;\nvar weakSetHas = hasWeakSet ? WeakSet.prototype.has : null;\nvar hasWeakRef = typeof WeakRef === 'function' && WeakRef.prototype;\nvar weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null;\nvar booleanValueOf = Boolean.prototype.valueOf;\nvar objectToString = Object.prototype.toString;\nvar functionToString = Function.prototype.toString;\nvar $match = String.prototype.match;\nvar $slice = String.prototype.slice;\nvar $replace = String.prototype.replace;\nvar $toUpperCase = String.prototype.toUpperCase;\nvar $toLowerCase = String.prototype.toLowerCase;\nvar $test = RegExp.prototype.test;\nvar $concat = Array.prototype.concat;\nvar $join = Array.prototype.join;\nvar $arrSlice = Array.prototype.slice;\nvar $floor = Math.floor;\nvar bigIntValueOf = typeof BigInt === 'function' ? BigInt.prototype.valueOf : null;\nvar gOPS = Object.getOwnPropertySymbols;\nvar symToString = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol.prototype.toString : null;\nvar hasShammedSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'object';\n// ie, `has-tostringtag/shams\nvar toStringTag = typeof Symbol === 'function' && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? 'object' : 'symbol')\n ? Symbol.toStringTag\n : null;\nvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\nvar gPO = (typeof Reflect === 'function' ? Reflect.getPrototypeOf : Object.getPrototypeOf) || (\n [].__proto__ === Array.prototype // eslint-disable-line no-proto\n ? function (O) {\n return O.__proto__; // eslint-disable-line no-proto\n }\n : null\n);\n\nfunction addNumericSeparator(num, str) {\n if (\n num === Infinity\n || num === -Infinity\n || num !== num\n || (num && num > -1000 && num < 1000)\n || $test.call(/e/, str)\n ) {\n return str;\n }\n var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;\n if (typeof num === 'number') {\n var int = num < 0 ? -$floor(-num) : $floor(num); // trunc(num)\n if (int !== num) {\n var intStr = String(int);\n var dec = $slice.call(str, intStr.length + 1);\n return $replace.call(intStr, sepRegex, '$&_') + '.' + $replace.call($replace.call(dec, /([0-9]{3})/g, '$&_'), /_$/, '');\n }\n }\n return $replace.call(str, sepRegex, '$&_');\n}\n\nvar utilInspect = require('./util.inspect');\nvar inspectCustom = utilInspect.custom;\nvar inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null;\n\nmodule.exports = function inspect_(obj, options, depth, seen) {\n var opts = options || {};\n\n if (has(opts, 'quoteStyle') && (opts.quoteStyle !== 'single' && opts.quoteStyle !== 'double')) {\n throw new TypeError('option \"quoteStyle\" must be \"single\" or \"double\"');\n }\n if (\n has(opts, 'maxStringLength') && (typeof opts.maxStringLength === 'number'\n ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity\n : opts.maxStringLength !== null\n )\n ) {\n throw new TypeError('option \"maxStringLength\", if provided, must be a positive integer, Infinity, or `null`');\n }\n var customInspect = has(opts, 'customInspect') ? opts.customInspect : true;\n if (typeof customInspect !== 'boolean' && customInspect !== 'symbol') {\n throw new TypeError('option \"customInspect\", if provided, must be `true`, `false`, or `\\'symbol\\'`');\n }\n\n if (\n has(opts, 'indent')\n && opts.indent !== null\n && opts.indent !== '\\t'\n && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)\n ) {\n throw new TypeError('option \"indent\" must be \"\\\\t\", an integer > 0, or `null`');\n }\n if (has(opts, 'numericSeparator') && typeof opts.numericSeparator !== 'boolean') {\n throw new TypeError('option \"numericSeparator\", if provided, must be `true` or `false`');\n }\n var numericSeparator = opts.numericSeparator;\n\n if (typeof obj === 'undefined') {\n return 'undefined';\n }\n if (obj === null) {\n return 'null';\n }\n if (typeof obj === 'boolean') {\n return obj ? 'true' : 'false';\n }\n\n if (typeof obj === 'string') {\n return inspectString(obj, opts);\n }\n if (typeof obj === 'number') {\n if (obj === 0) {\n return Infinity / obj > 0 ? '0' : '-0';\n }\n var str = String(obj);\n return numericSeparator ? addNumericSeparator(obj, str) : str;\n }\n if (typeof obj === 'bigint') {\n var bigIntStr = String(obj) + 'n';\n return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr;\n }\n\n var maxDepth = typeof opts.depth === 'undefined' ? 5 : opts.depth;\n if (typeof depth === 'undefined') { depth = 0; }\n if (depth >= maxDepth && maxDepth > 0 && typeof obj === 'object') {\n return isArray(obj) ? '[Array]' : '[Object]';\n }\n\n var indent = getIndent(opts, depth);\n\n if (typeof seen === 'undefined') {\n seen = [];\n } else if (indexOf(seen, obj) >= 0) {\n return '[Circular]';\n }\n\n function inspect(value, from, noIndent) {\n if (from) {\n seen = $arrSlice.call(seen);\n seen.push(from);\n }\n if (noIndent) {\n var newOpts = {\n depth: opts.depth\n };\n if (has(opts, 'quoteStyle')) {\n newOpts.quoteStyle = opts.quoteStyle;\n }\n return inspect_(value, newOpts, depth + 1, seen);\n }\n return inspect_(value, opts, depth + 1, seen);\n }\n\n if (typeof obj === 'function' && !isRegExp(obj)) { // in older engines, regexes are callable\n var name = nameOf(obj);\n var keys = arrObjKeys(obj, inspect);\n return '[Function' + (name ? ': ' + name : ' (anonymous)') + ']' + (keys.length > 0 ? ' { ' + $join.call(keys, ', ') + ' }' : '');\n }\n if (isSymbol(obj)) {\n var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\\(.*\\))_[^)]*$/, '$1') : symToString.call(obj);\n return typeof obj === 'object' && !hasShammedSymbols ? markBoxed(symString) : symString;\n }\n if (isElement(obj)) {\n var s = '<' + $toLowerCase.call(String(obj.nodeName));\n var attrs = obj.attributes || [];\n for (var i = 0; i < attrs.length; i++) {\n s += ' ' + attrs[i].name + '=' + wrapQuotes(quote(attrs[i].value), 'double', opts);\n }\n s += '>';\n if (obj.childNodes && obj.childNodes.length) { s += '...'; }\n s += '</' + $toLowerCase.call(String(obj.nodeName)) + '>';\n return s;\n }\n if (isArray(obj)) {\n if (obj.length === 0) { return '[]'; }\n var xs = arrObjKeys(obj, inspect);\n if (indent && !singleLineValues(xs)) {\n return '[' + indentedJoin(xs, indent) + ']';\n }\n return '[ ' + $join.call(xs, ', ') + ' ]';\n }\n if (isError(obj)) {\n var parts = arrObjKeys(obj, inspect);\n if (!('cause' in Error.prototype) && 'cause' in obj && !isEnumerable.call(obj, 'cause')) {\n return '{ [' + String(obj) + '] ' + $join.call($concat.call('[cause]: ' + inspect(obj.cause), parts), ', ') + ' }';\n }\n if (parts.length === 0) { return '[' + String(obj) + ']'; }\n return '{ [' + String(obj) + '] ' + $join.call(parts, ', ') + ' }';\n }\n if (typeof obj === 'object' && customInspect) {\n if (inspectSymbol && typeof obj[inspectSymbol] === 'function' && utilInspect) {\n return utilInspect(obj, { depth: maxDepth - depth });\n } else if (customInspect !== 'symbol' && typeof obj.inspect === 'function') {\n return obj.inspect();\n }\n }\n if (isMap(obj)) {\n var mapParts = [];\n if (mapForEach) {\n mapForEach.call(obj, function (value, key) {\n mapParts.push(inspect(key, obj, true) + ' => ' + inspect(value, obj));\n });\n }\n return collectionOf('Map', mapSize.call(obj), mapParts, indent);\n }\n if (isSet(obj)) {\n var setParts = [];\n if (setForEach) {\n setForEach.call(obj, function (value) {\n setParts.push(inspect(value, obj));\n });\n }\n return collectionOf('Set', setSize.call(obj), setParts, indent);\n }\n if (isWeakMap(obj)) {\n return weakCollectionOf('WeakMap');\n }\n if (isWeakSet(obj)) {\n return weakCollectionOf('WeakSet');\n }\n if (isWeakRef(obj)) {\n return weakCollectionOf('WeakRef');\n }\n if (isNumber(obj)) {\n return markBoxed(inspect(Number(obj)));\n }\n if (isBigInt(obj)) {\n return markBoxed(inspect(bigIntValueOf.call(obj)));\n }\n if (isBoolean(obj)) {\n return markBoxed(booleanValueOf.call(obj));\n }\n if (isString(obj)) {\n return markBoxed(inspect(String(obj)));\n }\n if (!isDate(obj) && !isRegExp(obj)) {\n var ys = arrObjKeys(obj, inspect);\n var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object;\n var protoTag = obj instanceof Object ? '' : 'null prototype';\n var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? 'Object' : '';\n var constructorTag = isPlainObject || typeof obj.constructor !== 'function' ? '' : obj.constructor.name ? obj.constructor.name + ' ' : '';\n var tag = constructorTag + (stringTag || protoTag ? '[' + $join.call($concat.call([], stringTag || [], protoTag || []), ': ') + '] ' : '');\n if (ys.length === 0) { return tag + '{}'; }\n if (indent) {\n return tag + '{' + indentedJoin(ys, indent) + '}';\n }\n return tag + '{ ' + $join.call(ys, ', ') + ' }';\n }\n return String(obj);\n};\n\nfunction wrapQuotes(s, defaultStyle, opts) {\n var quoteChar = (opts.quoteStyle || defaultStyle) === 'double' ? '\"' : \"'\";\n return quoteChar + s + quoteChar;\n}\n\nfunction quote(s) {\n return $replace.call(String(s), /\"/g, '&quot;');\n}\n\nfunction isArray(obj) { return toStr(obj) === '[object Array]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isDate(obj) { return toStr(obj) === '[object Date]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isRegExp(obj) { return toStr(obj) === '[object RegExp]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isError(obj) { return toStr(obj) === '[object Error]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isString(obj) { return toStr(obj) === '[object String]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isNumber(obj) { return toStr(obj) === '[object Number]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isBoolean(obj) { return toStr(obj) === '[object Boolean]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\n\n// Symbol and BigInt do have Symbol.toStringTag by spec, so that can't be used to eliminate false positives\nfunction isSymbol(obj) {\n if (hasShammedSymbols) {\n return obj && typeof obj === 'object' && obj instanceof Symbol;\n }\n if (typeof obj === 'symbol') {\n return true;\n }\n if (!obj || typeof obj !== 'object' || !symToString) {\n return false;\n }\n try {\n symToString.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isBigInt(obj) {\n if (!obj || typeof obj !== 'object' || !bigIntValueOf) {\n return false;\n }\n try {\n bigIntValueOf.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nvar hasOwn = Object.prototype.hasOwnProperty || function (key) { return key in this; };\nfunction has(obj, key) {\n return hasOwn.call(obj, key);\n}\n\nfunction toStr(obj) {\n return objectToString.call(obj);\n}\n\nfunction nameOf(f) {\n if (f.name) { return f.name; }\n var m = $match.call(functionToString.call(f), /^function\\s*([\\w$]+)/);\n if (m) { return m[1]; }\n return null;\n}\n\nfunction indexOf(xs, x) {\n if (xs.indexOf) { return xs.indexOf(x); }\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) { return i; }\n }\n return -1;\n}\n\nfunction isMap(x) {\n if (!mapSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n mapSize.call(x);\n try {\n setSize.call(x);\n } catch (s) {\n return true;\n }\n return x instanceof Map; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakMap(x) {\n if (!weakMapHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakMapHas.call(x, weakMapHas);\n try {\n weakSetHas.call(x, weakSetHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakMap; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakRef(x) {\n if (!weakRefDeref || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakRefDeref.call(x);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isSet(x) {\n if (!setSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n setSize.call(x);\n try {\n mapSize.call(x);\n } catch (m) {\n return true;\n }\n return x instanceof Set; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakSet(x) {\n if (!weakSetHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakSetHas.call(x, weakSetHas);\n try {\n weakMapHas.call(x, weakMapHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakSet; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isElement(x) {\n if (!x || typeof x !== 'object') { return false; }\n if (typeof HTMLElement !== 'undefined' && x instanceof HTMLElement) {\n return true;\n }\n return typeof x.nodeName === 'string' && typeof x.getAttribute === 'function';\n}\n\nfunction inspectString(str, opts) {\n if (str.length > opts.maxStringLength) {\n var remaining = str.length - opts.maxStringLength;\n var trailer = '... ' + remaining + ' more character' + (remaining > 1 ? 's' : '');\n return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer;\n }\n // eslint-disable-next-line no-control-regex\n var s = $replace.call($replace.call(str, /(['\\\\])/g, '\\\\$1'), /[\\x00-\\x1f]/g, lowbyte);\n return wrapQuotes(s, 'single', opts);\n}\n\nfunction lowbyte(c) {\n var n = c.charCodeAt(0);\n var x = {\n 8: 'b',\n 9: 't',\n 10: 'n',\n 12: 'f',\n 13: 'r'\n }[n];\n if (x) { return '\\\\' + x; }\n return '\\\\x' + (n < 0x10 ? '0' : '') + $toUpperCase.call(n.toString(16));\n}\n\nfunction markBoxed(str) {\n return 'Object(' + str + ')';\n}\n\nfunction weakCollectionOf(type) {\n return type + ' { ? }';\n}\n\nfunction collectionOf(type, size, entries, indent) {\n var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ', ');\n return type + ' (' + size + ') {' + joinedEntries + '}';\n}\n\nfunction singleLineValues(xs) {\n for (var i = 0; i < xs.length; i++) {\n if (indexOf(xs[i], '\\n') >= 0) {\n return false;\n }\n }\n return true;\n}\n\nfunction getIndent(opts, depth) {\n var baseIndent;\n if (opts.indent === '\\t') {\n baseIndent = '\\t';\n } else if (typeof opts.indent === 'number' && opts.indent > 0) {\n baseIndent = $join.call(Array(opts.indent + 1), ' ');\n } else {\n return null;\n }\n return {\n base: baseIndent,\n prev: $join.call(Array(depth + 1), baseIndent)\n };\n}\n\nfunction indentedJoin(xs, indent) {\n if (xs.length === 0) { return ''; }\n var lineJoiner = '\\n' + indent.prev + indent.base;\n return lineJoiner + $join.call(xs, ',' + lineJoiner) + '\\n' + indent.prev;\n}\n\nfunction arrObjKeys(obj, inspect) {\n var isArr = isArray(obj);\n var xs = [];\n if (isArr) {\n xs.length = obj.length;\n for (var i = 0; i < obj.length; i++) {\n xs[i] = has(obj, i) ? inspect(obj[i], obj) : '';\n }\n }\n var syms = typeof gOPS === 'function' ? gOPS(obj) : [];\n var symMap;\n if (hasShammedSymbols) {\n symMap = {};\n for (var k = 0; k < syms.length; k++) {\n symMap['$' + syms[k]] = syms[k];\n }\n }\n\n for (var key in obj) { // eslint-disable-line no-restricted-syntax\n if (!has(obj, key)) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (isArr && String(Number(key)) === key && key < obj.length) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (hasShammedSymbols && symMap['$' + key] instanceof Symbol) {\n // this is to prevent shammed Symbols, which are stored as strings, from being included in the string key section\n continue; // eslint-disable-line no-restricted-syntax, no-continue\n } else if ($test.call(/[^\\w$]/, key)) {\n xs.push(inspect(key, obj) + ': ' + inspect(obj[key], obj));\n } else {\n xs.push(key + ': ' + inspect(obj[key], obj));\n }\n }\n if (typeof gOPS === 'function') {\n for (var j = 0; j < syms.length; j++) {\n if (isEnumerable.call(obj, syms[j])) {\n xs.push('[' + inspect(syms[j]) + ']: ' + inspect(obj[syms[j]], obj));\n }\n }\n }\n return xs;\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar callBound = require('call-bind/callBound');\nvar inspect = require('object-inspect');\n\nvar $TypeError = GetIntrinsic('%TypeError%');\nvar $WeakMap = GetIntrinsic('%WeakMap%', true);\nvar $Map = GetIntrinsic('%Map%', true);\n\nvar $weakMapGet = callBound('WeakMap.prototype.get', true);\nvar $weakMapSet = callBound('WeakMap.prototype.set', true);\nvar $weakMapHas = callBound('WeakMap.prototype.has', true);\nvar $mapGet = callBound('Map.prototype.get', true);\nvar $mapSet = callBound('Map.prototype.set', true);\nvar $mapHas = callBound('Map.prototype.has', true);\n\n/*\n * This function traverses the list returning the node corresponding to the\n * given key.\n *\n * That node is also moved to the head of the list, so that if it's accessed\n * again we don't need to traverse the whole list. By doing so, all the recently\n * used nodes can be accessed relatively quickly.\n */\nvar listGetNode = function (list, key) { // eslint-disable-line consistent-return\n\tfor (var prev = list, curr; (curr = prev.next) !== null; prev = curr) {\n\t\tif (curr.key === key) {\n\t\t\tprev.next = curr.next;\n\t\t\tcurr.next = list.next;\n\t\t\tlist.next = curr; // eslint-disable-line no-param-reassign\n\t\t\treturn curr;\n\t\t}\n\t}\n};\n\nvar listGet = function (objects, key) {\n\tvar node = listGetNode(objects, key);\n\treturn node && node.value;\n};\nvar listSet = function (objects, key, value) {\n\tvar node = listGetNode(objects, key);\n\tif (node) {\n\t\tnode.value = value;\n\t} else {\n\t\t// Prepend the new node to the beginning of the list\n\t\tobjects.next = { // eslint-disable-line no-param-reassign\n\t\t\tkey: key,\n\t\t\tnext: objects.next,\n\t\t\tvalue: value\n\t\t};\n\t}\n};\nvar listHas = function (objects, key) {\n\treturn !!listGetNode(objects, key);\n};\n\nmodule.exports = function getSideChannel() {\n\tvar $wm;\n\tvar $m;\n\tvar $o;\n\tvar channel = {\n\t\tassert: function (key) {\n\t\t\tif (!channel.has(key)) {\n\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t}\n\t\t},\n\t\tget: function (key) { // eslint-disable-line consistent-return\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapGet($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapGet($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listGet($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\thas: function (key) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapHas($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapHas($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listHas($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tset: function (key, value) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif (!$wm) {\n\t\t\t\t\t$wm = new $WeakMap();\n\t\t\t\t}\n\t\t\t\t$weakMapSet($wm, key, value);\n\t\t\t} else if ($Map) {\n\t\t\t\tif (!$m) {\n\t\t\t\t\t$m = new $Map();\n\t\t\t\t}\n\t\t\t\t$mapSet($m, key, value);\n\t\t\t} else {\n\t\t\t\tif (!$o) {\n\t\t\t\t\t/*\n\t\t\t\t\t * Initialize the linked list as an empty node, so that we don't have\n\t\t\t\t\t * to special-case handling of the first node: we can always refer to\n\t\t\t\t\t * it as (previous node).next, instead of something like (list).head\n\t\t\t\t\t */\n\t\t\t\t\t$o = { key: {}, next: null };\n\t\t\t\t}\n\t\t\t\tlistSet($o, key, value);\n\t\t\t}\n\t\t}\n\t};\n\treturn channel;\n};\n","'use strict';\n\nvar replace = String.prototype.replace;\nvar percentTwenties = /%20/g;\n\nvar Format = {\n RFC1738: 'RFC1738',\n RFC3986: 'RFC3986'\n};\n\nmodule.exports = {\n 'default': Format.RFC3986,\n formatters: {\n RFC1738: function (value) {\n return replace.call(value, percentTwenties, '+');\n },\n RFC3986: function (value) {\n return String(value);\n }\n },\n RFC1738: Format.RFC1738,\n RFC3986: Format.RFC3986\n};\n","'use strict';\n\nvar formats = require('./formats');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar hexTable = (function () {\n var array = [];\n for (var i = 0; i < 256; ++i) {\n array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());\n }\n\n return array;\n}());\n\nvar compactQueue = function compactQueue(queue) {\n while (queue.length > 1) {\n var item = queue.pop();\n var obj = item.obj[item.prop];\n\n if (isArray(obj)) {\n var compacted = [];\n\n for (var j = 0; j < obj.length; ++j) {\n if (typeof obj[j] !== 'undefined') {\n compacted.push(obj[j]);\n }\n }\n\n item.obj[item.prop] = compacted;\n }\n }\n};\n\nvar arrayToObject = function arrayToObject(source, options) {\n var obj = options && options.plainObjects ? Object.create(null) : {};\n for (var i = 0; i < source.length; ++i) {\n if (typeof source[i] !== 'undefined') {\n obj[i] = source[i];\n }\n }\n\n return obj;\n};\n\nvar merge = function merge(target, source, options) {\n /* eslint no-param-reassign: 0 */\n if (!source) {\n return target;\n }\n\n if (typeof source !== 'object') {\n if (isArray(target)) {\n target.push(source);\n } else if (target && typeof target === 'object') {\n if ((options && (options.plainObjects || options.allowPrototypes)) || !has.call(Object.prototype, source)) {\n target[source] = true;\n }\n } else {\n return [target, source];\n }\n\n return target;\n }\n\n if (!target || typeof target !== 'object') {\n return [target].concat(source);\n }\n\n var mergeTarget = target;\n if (isArray(target) && !isArray(source)) {\n mergeTarget = arrayToObject(target, options);\n }\n\n if (isArray(target) && isArray(source)) {\n source.forEach(function (item, i) {\n if (has.call(target, i)) {\n var targetItem = target[i];\n if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {\n target[i] = merge(targetItem, item, options);\n } else {\n target.push(item);\n }\n } else {\n target[i] = item;\n }\n });\n return target;\n }\n\n return Object.keys(source).reduce(function (acc, key) {\n var value = source[key];\n\n if (has.call(acc, key)) {\n acc[key] = merge(acc[key], value, options);\n } else {\n acc[key] = value;\n }\n return acc;\n }, mergeTarget);\n};\n\nvar assign = function assignSingleSource(target, source) {\n return Object.keys(source).reduce(function (acc, key) {\n acc[key] = source[key];\n return acc;\n }, target);\n};\n\nvar decode = function (str, decoder, charset) {\n var strWithoutPlus = str.replace(/\\+/g, ' ');\n if (charset === 'iso-8859-1') {\n // unescape never throws, no try...catch needed:\n return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);\n }\n // utf-8\n try {\n return decodeURIComponent(strWithoutPlus);\n } catch (e) {\n return strWithoutPlus;\n }\n};\n\nvar encode = function encode(str, defaultEncoder, charset, kind, format) {\n // This code was originally written by Brian White (mscdex) for the io.js core querystring library.\n // It has been adapted here for stricter adherence to RFC 3986\n if (str.length === 0) {\n return str;\n }\n\n var string = str;\n if (typeof str === 'symbol') {\n string = Symbol.prototype.toString.call(str);\n } else if (typeof str !== 'string') {\n string = String(str);\n }\n\n if (charset === 'iso-8859-1') {\n return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {\n return '%26%23' + parseInt($0.slice(2), 16) + '%3B';\n });\n }\n\n var out = '';\n for (var i = 0; i < string.length; ++i) {\n var c = string.charCodeAt(i);\n\n if (\n c === 0x2D // -\n || c === 0x2E // .\n || c === 0x5F // _\n || c === 0x7E // ~\n || (c >= 0x30 && c <= 0x39) // 0-9\n || (c >= 0x41 && c <= 0x5A) // a-z\n || (c >= 0x61 && c <= 0x7A) // A-Z\n || (format === formats.RFC1738 && (c === 0x28 || c === 0x29)) // ( )\n ) {\n out += string.charAt(i);\n continue;\n }\n\n if (c < 0x80) {\n out = out + hexTable[c];\n continue;\n }\n\n if (c < 0x800) {\n out = out + (hexTable[0xC0 | (c >> 6)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n if (c < 0xD800 || c >= 0xE000) {\n out = out + (hexTable[0xE0 | (c >> 12)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n i += 1;\n c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF));\n /* eslint operator-linebreak: [2, \"before\"] */\n out += hexTable[0xF0 | (c >> 18)]\n + hexTable[0x80 | ((c >> 12) & 0x3F)]\n + hexTable[0x80 | ((c >> 6) & 0x3F)]\n + hexTable[0x80 | (c & 0x3F)];\n }\n\n return out;\n};\n\nvar compact = function compact(value) {\n var queue = [{ obj: { o: value }, prop: 'o' }];\n var refs = [];\n\n for (var i = 0; i < queue.length; ++i) {\n var item = queue[i];\n var obj = item.obj[item.prop];\n\n var keys = Object.keys(obj);\n for (var j = 0; j < keys.length; ++j) {\n var key = keys[j];\n var val = obj[key];\n if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {\n queue.push({ obj: obj, prop: key });\n refs.push(val);\n }\n }\n }\n\n compactQueue(queue);\n\n return value;\n};\n\nvar isRegExp = function isRegExp(obj) {\n return Object.prototype.toString.call(obj) === '[object RegExp]';\n};\n\nvar isBuffer = function isBuffer(obj) {\n if (!obj || typeof obj !== 'object') {\n return false;\n }\n\n return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));\n};\n\nvar combine = function combine(a, b) {\n return [].concat(a, b);\n};\n\nvar maybeMap = function maybeMap(val, fn) {\n if (isArray(val)) {\n var mapped = [];\n for (var i = 0; i < val.length; i += 1) {\n mapped.push(fn(val[i]));\n }\n return mapped;\n }\n return fn(val);\n};\n\nmodule.exports = {\n arrayToObject: arrayToObject,\n assign: assign,\n combine: combine,\n compact: compact,\n decode: decode,\n encode: encode,\n isBuffer: isBuffer,\n isRegExp: isRegExp,\n maybeMap: maybeMap,\n merge: merge\n};\n","'use strict';\n\nvar getSideChannel = require('side-channel');\nvar utils = require('./utils');\nvar formats = require('./formats');\nvar has = Object.prototype.hasOwnProperty;\n\nvar arrayPrefixGenerators = {\n brackets: function brackets(prefix) {\n return prefix + '[]';\n },\n comma: 'comma',\n indices: function indices(prefix, key) {\n return prefix + '[' + key + ']';\n },\n repeat: function repeat(prefix) {\n return prefix;\n }\n};\n\nvar isArray = Array.isArray;\nvar push = Array.prototype.push;\nvar pushToArray = function (arr, valueOrArray) {\n push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]);\n};\n\nvar toISO = Date.prototype.toISOString;\n\nvar defaultFormat = formats['default'];\nvar defaults = {\n addQueryPrefix: false,\n allowDots: false,\n charset: 'utf-8',\n charsetSentinel: false,\n delimiter: '&',\n encode: true,\n encoder: utils.encode,\n encodeValuesOnly: false,\n format: defaultFormat,\n formatter: formats.formatters[defaultFormat],\n // deprecated\n indices: false,\n serializeDate: function serializeDate(date) {\n return toISO.call(date);\n },\n skipNulls: false,\n strictNullHandling: false\n};\n\nvar isNonNullishPrimitive = function isNonNullishPrimitive(v) {\n return typeof v === 'string'\n || typeof v === 'number'\n || typeof v === 'boolean'\n || typeof v === 'symbol'\n || typeof v === 'bigint';\n};\n\nvar sentinel = {};\n\nvar stringify = function stringify(\n object,\n prefix,\n generateArrayPrefix,\n commaRoundTrip,\n strictNullHandling,\n skipNulls,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n sideChannel\n) {\n var obj = object;\n\n var tmpSc = sideChannel;\n var step = 0;\n var findFlag = false;\n while ((tmpSc = tmpSc.get(sentinel)) !== void undefined && !findFlag) {\n // Where object last appeared in the ref tree\n var pos = tmpSc.get(object);\n step += 1;\n if (typeof pos !== 'undefined') {\n if (pos === step) {\n throw new RangeError('Cyclic object value');\n } else {\n findFlag = true; // Break while\n }\n }\n if (typeof tmpSc.get(sentinel) === 'undefined') {\n step = 0;\n }\n }\n\n if (typeof filter === 'function') {\n obj = filter(prefix, obj);\n } else if (obj instanceof Date) {\n obj = serializeDate(obj);\n } else if (generateArrayPrefix === 'comma' && isArray(obj)) {\n obj = utils.maybeMap(obj, function (value) {\n if (value instanceof Date) {\n return serializeDate(value);\n }\n return value;\n });\n }\n\n if (obj === null) {\n if (strictNullHandling) {\n return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key', format) : prefix;\n }\n\n obj = '';\n }\n\n if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {\n if (encoder) {\n var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key', format);\n return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value', format))];\n }\n return [formatter(prefix) + '=' + formatter(String(obj))];\n }\n\n var values = [];\n\n if (typeof obj === 'undefined') {\n return values;\n }\n\n var objKeys;\n if (generateArrayPrefix === 'comma' && isArray(obj)) {\n // we need to join elements in\n if (encodeValuesOnly && encoder) {\n obj = utils.maybeMap(obj, encoder);\n }\n objKeys = [{ value: obj.length > 0 ? obj.join(',') || null : void undefined }];\n } else if (isArray(filter)) {\n objKeys = filter;\n } else {\n var keys = Object.keys(obj);\n objKeys = sort ? keys.sort(sort) : keys;\n }\n\n var adjustedPrefix = commaRoundTrip && isArray(obj) && obj.length === 1 ? prefix + '[]' : prefix;\n\n for (var j = 0; j < objKeys.length; ++j) {\n var key = objKeys[j];\n var value = typeof key === 'object' && typeof key.value !== 'undefined' ? key.value : obj[key];\n\n if (skipNulls && value === null) {\n continue;\n }\n\n var keyPrefix = isArray(obj)\n ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(adjustedPrefix, key) : adjustedPrefix\n : adjustedPrefix + (allowDots ? '.' + key : '[' + key + ']');\n\n sideChannel.set(object, step);\n var valueSideChannel = getSideChannel();\n valueSideChannel.set(sentinel, sideChannel);\n pushToArray(values, stringify(\n value,\n keyPrefix,\n generateArrayPrefix,\n commaRoundTrip,\n strictNullHandling,\n skipNulls,\n generateArrayPrefix === 'comma' && encodeValuesOnly && isArray(obj) ? null : encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n valueSideChannel\n ));\n }\n\n return values;\n};\n\nvar normalizeStringifyOptions = function normalizeStringifyOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (opts.encoder !== null && typeof opts.encoder !== 'undefined' && typeof opts.encoder !== 'function') {\n throw new TypeError('Encoder has to be a function.');\n }\n\n var charset = opts.charset || defaults.charset;\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n\n var format = formats['default'];\n if (typeof opts.format !== 'undefined') {\n if (!has.call(formats.formatters, opts.format)) {\n throw new TypeError('Unknown format option provided.');\n }\n format = opts.format;\n }\n var formatter = formats.formatters[format];\n\n var filter = defaults.filter;\n if (typeof opts.filter === 'function' || isArray(opts.filter)) {\n filter = opts.filter;\n }\n\n return {\n addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix,\n allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,\n encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,\n encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,\n encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,\n filter: filter,\n format: format,\n formatter: formatter,\n serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,\n skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,\n sort: typeof opts.sort === 'function' ? opts.sort : null,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (object, opts) {\n var obj = object;\n var options = normalizeStringifyOptions(opts);\n\n var objKeys;\n var filter;\n\n if (typeof options.filter === 'function') {\n filter = options.filter;\n obj = filter('', obj);\n } else if (isArray(options.filter)) {\n filter = options.filter;\n objKeys = filter;\n }\n\n var keys = [];\n\n if (typeof obj !== 'object' || obj === null) {\n return '';\n }\n\n var arrayFormat;\n if (opts && opts.arrayFormat in arrayPrefixGenerators) {\n arrayFormat = opts.arrayFormat;\n } else if (opts && 'indices' in opts) {\n arrayFormat = opts.indices ? 'indices' : 'repeat';\n } else {\n arrayFormat = 'indices';\n }\n\n var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];\n if (opts && 'commaRoundTrip' in opts && typeof opts.commaRoundTrip !== 'boolean') {\n throw new TypeError('`commaRoundTrip` must be a boolean, or absent');\n }\n var commaRoundTrip = generateArrayPrefix === 'comma' && opts && opts.commaRoundTrip;\n\n if (!objKeys) {\n objKeys = Object.keys(obj);\n }\n\n if (options.sort) {\n objKeys.sort(options.sort);\n }\n\n var sideChannel = getSideChannel();\n for (var i = 0; i < objKeys.length; ++i) {\n var key = objKeys[i];\n\n if (options.skipNulls && obj[key] === null) {\n continue;\n }\n pushToArray(keys, stringify(\n obj[key],\n key,\n generateArrayPrefix,\n commaRoundTrip,\n options.strictNullHandling,\n options.skipNulls,\n options.encode ? options.encoder : null,\n options.filter,\n options.sort,\n options.allowDots,\n options.serializeDate,\n options.format,\n options.formatter,\n options.encodeValuesOnly,\n options.charset,\n sideChannel\n ));\n }\n\n var joined = keys.join(options.delimiter);\n var prefix = options.addQueryPrefix === true ? '?' : '';\n\n if (options.charsetSentinel) {\n if (options.charset === 'iso-8859-1') {\n // encodeURIComponent('&#10003;'), the \"numeric entity\" representation of a checkmark\n prefix += 'utf8=%26%2310003%3B&';\n } else {\n // encodeURIComponent('✓')\n prefix += 'utf8=%E2%9C%93&';\n }\n }\n\n return joined.length > 0 ? prefix + joined : '';\n};\n","'use strict';\n\nvar utils = require('./utils');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar defaults = {\n allowDots: false,\n allowPrototypes: false,\n allowSparse: false,\n arrayLimit: 20,\n charset: 'utf-8',\n charsetSentinel: false,\n comma: false,\n decoder: utils.decode,\n delimiter: '&',\n depth: 5,\n ignoreQueryPrefix: false,\n interpretNumericEntities: false,\n parameterLimit: 1000,\n parseArrays: true,\n plainObjects: false,\n strictNullHandling: false\n};\n\nvar interpretNumericEntities = function (str) {\n return str.replace(/&#(\\d+);/g, function ($0, numberStr) {\n return String.fromCharCode(parseInt(numberStr, 10));\n });\n};\n\nvar parseArrayValue = function (val, options) {\n if (val && typeof val === 'string' && options.comma && val.indexOf(',') > -1) {\n return val.split(',');\n }\n\n return val;\n};\n\n// This is what browsers will submit when the ✓ character occurs in an\n// application/x-www-form-urlencoded body and the encoding of the page containing\n// the form is iso-8859-1, or when the submitted form has an accept-charset\n// attribute of iso-8859-1. Presumably also with other charsets that do not contain\n// the ✓ character, such as us-ascii.\nvar isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('&#10003;')\n\n// These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded.\nvar charsetSentinel = 'utf8=%E2%9C%93'; // encodeURIComponent('✓')\n\nvar parseValues = function parseQueryStringValues(str, options) {\n var obj = {};\n var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\\?/, '') : str;\n var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;\n var parts = cleanStr.split(options.delimiter, limit);\n var skipIndex = -1; // Keep track of where the utf8 sentinel was found\n var i;\n\n var charset = options.charset;\n if (options.charsetSentinel) {\n for (i = 0; i < parts.length; ++i) {\n if (parts[i].indexOf('utf8=') === 0) {\n if (parts[i] === charsetSentinel) {\n charset = 'utf-8';\n } else if (parts[i] === isoSentinel) {\n charset = 'iso-8859-1';\n }\n skipIndex = i;\n i = parts.length; // The eslint settings do not allow break;\n }\n }\n }\n\n for (i = 0; i < parts.length; ++i) {\n if (i === skipIndex) {\n continue;\n }\n var part = parts[i];\n\n var bracketEqualsPos = part.indexOf(']=');\n var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;\n\n var key, val;\n if (pos === -1) {\n key = options.decoder(part, defaults.decoder, charset, 'key');\n val = options.strictNullHandling ? null : '';\n } else {\n key = options.decoder(part.slice(0, pos), defaults.decoder, charset, 'key');\n val = utils.maybeMap(\n parseArrayValue(part.slice(pos + 1), options),\n function (encodedVal) {\n return options.decoder(encodedVal, defaults.decoder, charset, 'value');\n }\n );\n }\n\n if (val && options.interpretNumericEntities && charset === 'iso-8859-1') {\n val = interpretNumericEntities(val);\n }\n\n if (part.indexOf('[]=') > -1) {\n val = isArray(val) ? [val] : val;\n }\n\n if (has.call(obj, key)) {\n obj[key] = utils.combine(obj[key], val);\n } else {\n obj[key] = val;\n }\n }\n\n return obj;\n};\n\nvar parseObject = function (chain, val, options, valuesParsed) {\n var leaf = valuesParsed ? val : parseArrayValue(val, options);\n\n for (var i = chain.length - 1; i >= 0; --i) {\n var obj;\n var root = chain[i];\n\n if (root === '[]' && options.parseArrays) {\n obj = [].concat(leaf);\n } else {\n obj = options.plainObjects ? Object.create(null) : {};\n var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;\n var index = parseInt(cleanRoot, 10);\n if (!options.parseArrays && cleanRoot === '') {\n obj = { 0: leaf };\n } else if (\n !isNaN(index)\n && root !== cleanRoot\n && String(index) === cleanRoot\n && index >= 0\n && (options.parseArrays && index <= options.arrayLimit)\n ) {\n obj = [];\n obj[index] = leaf;\n } else if (cleanRoot !== '__proto__') {\n obj[cleanRoot] = leaf;\n }\n }\n\n leaf = obj;\n }\n\n return leaf;\n};\n\nvar parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) {\n if (!givenKey) {\n return;\n }\n\n // Transform dot notation to bracket notation\n var key = options.allowDots ? givenKey.replace(/\\.([^.[]+)/g, '[$1]') : givenKey;\n\n // The regex chunks\n\n var brackets = /(\\[[^[\\]]*])/;\n var child = /(\\[[^[\\]]*])/g;\n\n // Get the parent\n\n var segment = options.depth > 0 && brackets.exec(key);\n var parent = segment ? key.slice(0, segment.index) : key;\n\n // Stash the parent if it exists\n\n var keys = [];\n if (parent) {\n // If we aren't using plain objects, optionally prefix keys that would overwrite object prototype properties\n if (!options.plainObjects && has.call(Object.prototype, parent)) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n\n keys.push(parent);\n }\n\n // Loop through children appending to the array until we hit depth\n\n var i = 0;\n while (options.depth > 0 && (segment = child.exec(key)) !== null && i < options.depth) {\n i += 1;\n if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n keys.push(segment[1]);\n }\n\n // If there's a remainder, just add whatever is left\n\n if (segment) {\n keys.push('[' + key.slice(segment.index) + ']');\n }\n\n return parseObject(keys, val, options, valuesParsed);\n};\n\nvar normalizeParseOptions = function normalizeParseOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (opts.decoder !== null && opts.decoder !== undefined && typeof opts.decoder !== 'function') {\n throw new TypeError('Decoder has to be a function.');\n }\n\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset;\n\n return {\n allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,\n allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes,\n allowSparse: typeof opts.allowSparse === 'boolean' ? opts.allowSparse : defaults.allowSparse,\n arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma,\n decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder,\n delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,\n // eslint-disable-next-line no-implicit-coercion, no-extra-parens\n depth: (typeof opts.depth === 'number' || opts.depth === false) ? +opts.depth : defaults.depth,\n ignoreQueryPrefix: opts.ignoreQueryPrefix === true,\n interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities,\n parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit,\n parseArrays: opts.parseArrays !== false,\n plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (str, opts) {\n var options = normalizeParseOptions(opts);\n\n if (str === '' || str === null || typeof str === 'undefined') {\n return options.plainObjects ? Object.create(null) : {};\n }\n\n var tempObj = typeof str === 'string' ? parseValues(str, options) : str;\n var obj = options.plainObjects ? Object.create(null) : {};\n\n // Iterate over the keys and setup the new object\n\n var keys = Object.keys(tempObj);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n var newObj = parseKeys(key, tempObj[key], options, typeof str === 'string');\n obj = utils.merge(obj, newObj, options);\n }\n\n if (options.allowSparse === true) {\n return obj;\n }\n\n return utils.compact(obj);\n};\n","'use strict';\n\nvar stringify = require('./stringify');\nvar parse = require('./parse');\nvar formats = require('./formats');\n\nmodule.exports = {\n formats: formats,\n parse: parse,\n stringify: stringify\n};\n","import axios from \"axios\";\nimport { keysToSnakeCase } from \"neetocommons/pure\";\nimport qs from \"qs\";\n\nimport { BASE_URL } from \"common/routes\";\n\nconst fetch = params => {\n const serializedParams = qs.stringify(keysToSnakeCase(params), {\n arrayFormat: \"brackets\",\n encode: false,\n });\n\n return axios.get(`${BASE_URL}/teams?${serializedParams}`);\n};\n\nconst create = payload => axios.post(`${BASE_URL}/teams`, payload);\n\nconst update = (id, payload) =>\n axios.put(`${BASE_URL}/teams/${id}`, { team: payload });\n\nconst bulkUpdate = payload =>\n axios.patch(`${BASE_URL}/teams/bulk_update`, payload);\n\nconst fetchFilterOptions = params =>\n axios.get(`${BASE_URL}/teams/filter_options`, {\n params: keysToSnakeCase(params),\n });\n\nconst teamsApi = { bulkUpdate, create, fetch, fetchFilterOptions, update };\n\nexport default teamsApi;\n","import { Toastr } from \"neetoui\";\nimport { useQuery, useMutation } from \"react-query\";\n\nimport queryClient from \"apis/query_client\";\nimport teamsApi from \"apis/teams\";\nimport { DEFAULT_STALE_TIME, QUERY_KEYS } from \"common/queryConstants\";\n\nconst useFetchMembers = (params = {}, options = {}) =>\n useQuery([QUERY_KEYS.TEAMS, params], () => teamsApi.fetch(params), {\n staleTime: DEFAULT_STALE_TIME,\n select: response => response.data || response,\n keepPreviousData: true,\n ...options,\n });\n\nconst useCreateMember = ({ onSuccess, ...options }) =>\n useMutation(teamsApi.create, {\n onSuccess: response => {\n queryClient.invalidateQueries(QUERY_KEYS.TEAMS);\n queryClient.invalidateQueries(QUERY_KEYS.TEAMS_DEPENDENCIES);\n response?.ntmNotice && Toastr.success(response.ntmNotice);\n onSuccess?.();\n },\n ...options,\n });\n\nconst useUpdateMember = ({ onSuccess, ...options }) =>\n useMutation(({ id, payload }) => teamsApi.update(id, payload), {\n onSuccess: response => {\n queryClient.invalidateQueries(QUERY_KEYS.TEAMS);\n queryClient.invalidateQueries(QUERY_KEYS.TEAMS_DEPENDENCIES);\n response?.ntmNotice && Toastr.success(response.ntmNotice);\n onSuccess?.();\n },\n ...options,\n });\n\nconst useBulkUpdateMembers = ({ onSuccess, ...options }) =>\n useMutation(teamsApi.bulkUpdate, {\n onSuccess: response => {\n queryClient.invalidateQueries(QUERY_KEYS.TEAMS);\n queryClient.invalidateQueries(QUERY_KEYS.TEAMS_DEPENDENCIES);\n response?.ntmNotice && Toastr.success(response.ntmNotice);\n onSuccess?.();\n },\n ...options,\n });\n\nconst refetchMembers = () => {\n queryClient.invalidateQueries(QUERY_KEYS.TEAMS);\n queryClient.invalidateQueries(QUERY_KEYS.TEAMS_DEPENDENCIES);\n};\n\nconst useFetchFilterOptions = ({ params = {}, options = {} }) =>\n useQuery(\n [QUERY_KEYS.TEAMS_DEPENDENCIES, params],\n () => teamsApi.fetchFilterOptions(params),\n {\n staleTime: DEFAULT_STALE_TIME,\n select: response => response.data || response,\n ...options,\n }\n );\n\nexport {\n refetchMembers,\n useBulkUpdateMembers,\n useCreateMember,\n useFetchMembers,\n useFetchFilterOptions,\n useUpdateMember,\n};\n","import i18next from \"i18next\";\nimport { clamp } from \"ramda\";\n\nimport { SINGULAR } from \"common/constants\";\n\nconst URL_PARAMS = new URLSearchParams(window.location.search);\n\nconst DEFAULT_PAGE_SIZE = 45;\n\nexport const MEMBER_FILTER = {\n ACTIVE: {\n label: i18next.t(\"common.active\"),\n value: \"ACTIVE\",\n defaultCount: 0,\n },\n DEACTIVATED: {\n label: i18next.t(\"common.deactivated\"),\n value: \"DEACTIVATED\",\n defaultCount: 0,\n },\n ALL: { label: i18next.t(\"common.all\"), value: \"ALL\", defaultCount: 0 },\n};\n\nexport const DEFAULT_MEMBER_FILTER = MEMBER_FILTER.ACTIVE.value;\n\nexport const DEFAULT_RADIX = 10;\n\nexport const DEFAULT_PAGE_NUMBER = 1;\n\nexport const DROPDOWN_BUTTON_PROPS = {\n \"data-cy\": \"ntm-members-table-row-dropdown-button\",\n size: \"medium\",\n};\n\nexport const DEFAULT_IS_OPEN_VALUES = {\n menuBar: false,\n manageMember: false,\n alert: false,\n};\n\nexport const URL_CATEGORY_FILTER_VALUE = new URLSearchParams(\n window.location.search\n)\n .get(\"filter\")\n ?.toUpperCase();\n\nexport const DEFAULT_FILTER_VALUES = {\n page:\n clamp(1, Infinity, parseInt(URL_PARAMS.get(\"page\"))) || DEFAULT_PAGE_NUMBER,\n results:\n clamp(10, 100, parseInt(URL_PARAMS.get(\"results\"))) || DEFAULT_PAGE_SIZE,\n category: URL_CATEGORY_FILTER_VALUE || DEFAULT_MEMBER_FILTER,\n search: \"\",\n sortBy: \"\",\n sortDirection: \"\",\n neetoFilters: [],\n};\n\nexport const DEFAULT_SELECTED_ROWS = {\n active: [],\n emails: [],\n keys: [],\n};\n\nexport const DEFAULT_NEETO_FILTERS_COLUMNS = [\n {\n key: \"email\",\n node: \"email\",\n label: i18next.t(\"common.email\", SINGULAR),\n type: \"multi_option\",\n values: [],\n },\n {\n key: \"name\",\n node: \"first_name,last_name\",\n label: i18next.t(\"common.name\"),\n type: \"text\",\n values: \"\",\n },\n {\n key: \"role\",\n node: \"organization_role.name\",\n model: \"OrganizationRole\",\n label: i18next.t(\"common.role\", SINGULAR),\n type: \"multi_option\",\n values: [],\n },\n];\n","/* global define */\n\n(function (root, pluralize) {\n /* istanbul ignore else */\n if (typeof require === 'function' && typeof exports === 'object' && typeof module === 'object') {\n // Node.\n module.exports = pluralize();\n } else if (typeof define === 'function' && define.amd) {\n // AMD, registers as an anonymous module.\n define(function () {\n return pluralize();\n });\n } else {\n // Browser global.\n root.pluralize = pluralize();\n }\n})(this, function () {\n // Rule storage - pluralize and singularize need to be run sequentially,\n // while other rules can be optimized using an object for instant lookups.\n var pluralRules = [];\n var singularRules = [];\n var uncountables = {};\n var irregularPlurals = {};\n var irregularSingles = {};\n\n /**\n * Sanitize a pluralization rule to a usable regular expression.\n *\n * @param {(RegExp|string)} rule\n * @return {RegExp}\n */\n function sanitizeRule (rule) {\n if (typeof rule === 'string') {\n return new RegExp('^' + rule + '$', 'i');\n }\n\n return rule;\n }\n\n /**\n * Pass in a word token to produce a function that can replicate the case on\n * another word.\n *\n * @param {string} word\n * @param {string} token\n * @return {Function}\n */\n function restoreCase (word, token) {\n // Tokens are an exact match.\n if (word === token) return token;\n\n // Lower cased words. E.g. \"hello\".\n if (word === word.toLowerCase()) return token.toLowerCase();\n\n // Upper cased words. E.g. \"WHISKY\".\n if (word === word.toUpperCase()) return token.toUpperCase();\n\n // Title cased words. E.g. \"Title\".\n if (word[0] === word[0].toUpperCase()) {\n return token.charAt(0).toUpperCase() + token.substr(1).toLowerCase();\n }\n\n // Lower cased words. E.g. \"test\".\n return token.toLowerCase();\n }\n\n /**\n * Interpolate a regexp string.\n *\n * @param {string} str\n * @param {Array} args\n * @return {string}\n */\n function interpolate (str, args) {\n return str.replace(/\\$(\\d{1,2})/g, function (match, index) {\n return args[index] || '';\n });\n }\n\n /**\n * Replace a word using a rule.\n *\n * @param {string} word\n * @param {Array} rule\n * @return {string}\n */\n function replace (word, rule) {\n return word.replace(rule[0], function (match, index) {\n var result = interpolate(rule[1], arguments);\n\n if (match === '') {\n return restoreCase(word[index - 1], result);\n }\n\n return restoreCase(match, result);\n });\n }\n\n /**\n * Sanitize a word by passing in the word and sanitization rules.\n *\n * @param {string} token\n * @param {string} word\n * @param {Array} rules\n * @return {string}\n */\n function sanitizeWord (token, word, rules) {\n // Empty string or doesn't need fixing.\n if (!token.length || uncountables.hasOwnProperty(token)) {\n return word;\n }\n\n var len = rules.length;\n\n // Iterate over the sanitization rules and use the first one to match.\n while (len--) {\n var rule = rules[len];\n\n if (rule[0].test(word)) return replace(word, rule);\n }\n\n return word;\n }\n\n /**\n * Replace a word with the updated word.\n *\n * @param {Object} replaceMap\n * @param {Object} keepMap\n * @param {Array} rules\n * @return {Function}\n */\n function replaceWord (replaceMap, keepMap, rules) {\n return function (word) {\n // Get the correct token and case restoration functions.\n var token = word.toLowerCase();\n\n // Check against the keep object map.\n if (keepMap.hasOwnProperty(token)) {\n return restoreCase(word, token);\n }\n\n // Check against the replacement map for a direct word replacement.\n if (replaceMap.hasOwnProperty(token)) {\n return restoreCase(word, replaceMap[token]);\n }\n\n // Run all the rules against the word.\n return sanitizeWord(token, word, rules);\n };\n }\n\n /**\n * Check if a word is part of the map.\n */\n function checkWord (replaceMap, keepMap, rules, bool) {\n return function (word) {\n var token = word.toLowerCase();\n\n if (keepMap.hasOwnProperty(token)) return true;\n if (replaceMap.hasOwnProperty(token)) return false;\n\n return sanitizeWord(token, token, rules) === token;\n };\n }\n\n /**\n * Pluralize or singularize a word based on the passed in count.\n *\n * @param {string} word The word to pluralize\n * @param {number} count How many of the word exist\n * @param {boolean} inclusive Whether to prefix with the number (e.g. 3 ducks)\n * @return {string}\n */\n function pluralize (word, count, inclusive) {\n var pluralized = count === 1\n ? pluralize.singular(word) : pluralize.plural(word);\n\n return (inclusive ? count + ' ' : '') + pluralized;\n }\n\n /**\n * Pluralize a word.\n *\n * @type {Function}\n */\n pluralize.plural = replaceWord(\n irregularSingles, irregularPlurals, pluralRules\n );\n\n /**\n * Check if a word is plural.\n *\n * @type {Function}\n */\n pluralize.isPlural = checkWord(\n irregularSingles, irregularPlurals, pluralRules\n );\n\n /**\n * Singularize a word.\n *\n * @type {Function}\n */\n pluralize.singular = replaceWord(\n irregularPlurals, irregularSingles, singularRules\n );\n\n /**\n * Check if a word is singular.\n *\n * @type {Function}\n */\n pluralize.isSingular = checkWord(\n irregularPlurals, irregularSingles, singularRules\n );\n\n /**\n * Add a pluralization rule to the collection.\n *\n * @param {(string|RegExp)} rule\n * @param {string} replacement\n */\n pluralize.addPluralRule = function (rule, replacement) {\n pluralRules.push([sanitizeRule(rule), replacement]);\n };\n\n /**\n * Add a singularization rule to the collection.\n *\n * @param {(string|RegExp)} rule\n * @param {string} replacement\n */\n pluralize.addSingularRule = function (rule, replacement) {\n singularRules.push([sanitizeRule(rule), replacement]);\n };\n\n /**\n * Add an uncountable word rule.\n *\n * @param {(string|RegExp)} word\n */\n pluralize.addUncountableRule = function (word) {\n if (typeof word === 'string') {\n uncountables[word.toLowerCase()] = true;\n return;\n }\n\n // Set singular and plural references for the word.\n pluralize.addPluralRule(word, '$0');\n pluralize.addSingularRule(word, '$0');\n };\n\n /**\n * Add an irregular word definition.\n *\n * @param {string} single\n * @param {string} plural\n */\n pluralize.addIrregularRule = function (single, plural) {\n plural = plural.toLowerCase();\n single = single.toLowerCase();\n\n irregularSingles[single] = plural;\n irregularPlurals[plural] = single;\n };\n\n /**\n * Irregular rules.\n */\n [\n // Pronouns.\n ['I', 'we'],\n ['me', 'us'],\n ['he', 'they'],\n ['she', 'they'],\n ['them', 'them'],\n ['myself', 'ourselves'],\n ['yourself', 'yourselves'],\n ['itself', 'themselves'],\n ['herself', 'themselves'],\n ['himself', 'themselves'],\n ['themself', 'themselves'],\n ['is', 'are'],\n ['was', 'were'],\n ['has', 'have'],\n ['this', 'these'],\n ['that', 'those'],\n // Words ending in with a consonant and `o`.\n ['echo', 'echoes'],\n ['dingo', 'dingoes'],\n ['volcano', 'volcanoes'],\n ['tornado', 'tornadoes'],\n ['torpedo', 'torpedoes'],\n // Ends with `us`.\n ['genus', 'genera'],\n ['viscus', 'viscera'],\n // Ends with `ma`.\n ['stigma', 'stigmata'],\n ['stoma', 'stomata'],\n ['dogma', 'dogmata'],\n ['lemma', 'lemmata'],\n ['schema', 'schemata'],\n ['anathema', 'anathemata'],\n // Other irregular rules.\n ['ox', 'oxen'],\n ['axe', 'axes'],\n ['die', 'dice'],\n ['yes', 'yeses'],\n ['foot', 'feet'],\n ['eave', 'eaves'],\n ['goose', 'geese'],\n ['tooth', 'teeth'],\n ['quiz', 'quizzes'],\n ['human', 'humans'],\n ['proof', 'proofs'],\n ['carve', 'carves'],\n ['valve', 'valves'],\n ['looey', 'looies'],\n ['thief', 'thieves'],\n ['groove', 'grooves'],\n ['pickaxe', 'pickaxes'],\n ['passerby', 'passersby']\n ].forEach(function (rule) {\n return pluralize.addIrregularRule(rule[0], rule[1]);\n });\n\n /**\n * Pluralization rules.\n */\n [\n [/s?$/i, 's'],\n [/[^\\u0000-\\u007F]$/i, '$0'],\n [/([^aeiou]ese)$/i, '$1'],\n [/(ax|test)is$/i, '$1es'],\n [/(alias|[^aou]us|t[lm]as|gas|ris)$/i, '$1es'],\n [/(e[mn]u)s?$/i, '$1s'],\n [/([^l]ias|[aeiou]las|[ejzr]as|[iu]am)$/i, '$1'],\n [/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i, '$1i'],\n [/(alumn|alg|vertebr)(?:a|ae)$/i, '$1ae'],\n [/(seraph|cherub)(?:im)?$/i, '$1im'],\n [/(her|at|gr)o$/i, '$1oes'],\n [/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|automat|quor)(?:a|um)$/i, '$1a'],\n [/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)(?:a|on)$/i, '$1a'],\n [/sis$/i, 'ses'],\n [/(?:(kni|wi|li)fe|(ar|l|ea|eo|oa|hoo)f)$/i, '$1$2ves'],\n [/([^aeiouy]|qu)y$/i, '$1ies'],\n [/([^ch][ieo][ln])ey$/i, '$1ies'],\n [/(x|ch|ss|sh|zz)$/i, '$1es'],\n [/(matr|cod|mur|sil|vert|ind|append)(?:ix|ex)$/i, '$1ices'],\n [/\\b((?:tit)?m|l)(?:ice|ouse)$/i, '$1ice'],\n [/(pe)(?:rson|ople)$/i, '$1ople'],\n [/(child)(?:ren)?$/i, '$1ren'],\n [/eaux$/i, '$0'],\n [/m[ae]n$/i, 'men'],\n ['thou', 'you']\n ].forEach(function (rule) {\n return pluralize.addPluralRule(rule[0], rule[1]);\n });\n\n /**\n * Singularization rules.\n */\n [\n [/s$/i, ''],\n [/(ss)$/i, '$1'],\n [/(wi|kni|(?:after|half|high|low|mid|non|night|[^\\w]|^)li)ves$/i, '$1fe'],\n [/(ar|(?:wo|[ae])l|[eo][ao])ves$/i, '$1f'],\n [/ies$/i, 'y'],\n [/\\b([pl]|zomb|(?:neck|cross)?t|coll|faer|food|gen|goon|group|lass|talk|goal|cut)ies$/i, '$1ie'],\n [/\\b(mon|smil)ies$/i, '$1ey'],\n [/\\b((?:tit)?m|l)ice$/i, '$1ouse'],\n [/(seraph|cherub)im$/i, '$1'],\n [/(x|ch|ss|sh|zz|tto|go|cho|alias|[^aou]us|t[lm]as|gas|(?:her|at|gr)o|[aeiou]ris)(?:es)?$/i, '$1'],\n [/(analy|diagno|parenthe|progno|synop|the|empha|cri|ne)(?:sis|ses)$/i, '$1sis'],\n [/(movie|twelve|abuse|e[mn]u)s$/i, '$1'],\n [/(test)(?:is|es)$/i, '$1is'],\n [/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i, '$1us'],\n [/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|quor)a$/i, '$1um'],\n [/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)a$/i, '$1on'],\n [/(alumn|alg|vertebr)ae$/i, '$1a'],\n [/(cod|mur|sil|vert|ind)ices$/i, '$1ex'],\n [/(matr|append)ices$/i, '$1ix'],\n [/(pe)(rson|ople)$/i, '$1rson'],\n [/(child)ren$/i, '$1'],\n [/(eau)x?$/i, '$1'],\n [/men$/i, 'man']\n ].forEach(function (rule) {\n return pluralize.addSingularRule(rule[0], rule[1]);\n });\n\n /**\n * Uncountable rules.\n */\n [\n // Singular words with no plurals.\n 'adulthood',\n 'advice',\n 'agenda',\n 'aid',\n 'aircraft',\n 'alcohol',\n 'ammo',\n 'analytics',\n 'anime',\n 'athletics',\n 'audio',\n 'bison',\n 'blood',\n 'bream',\n 'buffalo',\n 'butter',\n 'carp',\n 'cash',\n 'chassis',\n 'chess',\n 'clothing',\n 'cod',\n 'commerce',\n 'cooperation',\n 'corps',\n 'debris',\n 'diabetes',\n 'digestion',\n 'elk',\n 'energy',\n 'equipment',\n 'excretion',\n 'expertise',\n 'firmware',\n 'flounder',\n 'fun',\n 'gallows',\n 'garbage',\n 'graffiti',\n 'hardware',\n 'headquarters',\n 'health',\n 'herpes',\n 'highjinks',\n 'homework',\n 'housework',\n 'information',\n 'jeans',\n 'justice',\n 'kudos',\n 'labour',\n 'literature',\n 'machinery',\n 'mackerel',\n 'mail',\n 'media',\n 'mews',\n 'moose',\n 'music',\n 'mud',\n 'manga',\n 'news',\n 'only',\n 'personnel',\n 'pike',\n 'plankton',\n 'pliers',\n 'police',\n 'pollution',\n 'premises',\n 'rain',\n 'research',\n 'rice',\n 'salmon',\n 'scissors',\n 'series',\n 'sewage',\n 'shambles',\n 'shrimp',\n 'software',\n 'species',\n 'staff',\n 'swine',\n 'tennis',\n 'traffic',\n 'transportation',\n 'trout',\n 'tuna',\n 'wealth',\n 'welfare',\n 'whiting',\n 'wildebeest',\n 'wildlife',\n 'you',\n /pok[eé]mon$/i,\n // Regexes.\n /[^aeiou]ese$/i, // \"chinese\", \"japanese\"\n /deer$/i, // \"deer\", \"reindeer\"\n /fish$/i, // \"fish\", \"blowfish\", \"angelfish\"\n /measles$/i,\n /o[iu]s$/i, // \"carnivorous\"\n /pox$/i, // \"chickpox\", \"smallpox\"\n /sheep$/i\n ].forEach(pluralize.addUncountableRule);\n\n return pluralize;\n});\n","import React from \"react\";\n\nimport i18next from \"i18next\";\nimport { capitalize, notEquals, toLabelAndValue } from \"neetocommons/pure\";\nimport { MenuHorizontal } from \"neetoicons\";\nimport { Avatar, Dropdown, Tag, Tooltip } from \"neetoui\";\nimport pluralize from \"pluralize\";\nimport {\n assoc,\n curry,\n filter,\n identical,\n isNil,\n mergeLeft,\n toLower,\n} from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nimport { MANAGE_MEMBER_PERMISSIONS, PLURAL, SINGULAR } from \"common/constants\";\nimport { hasPermission } from \"common/utils\";\n\nimport {\n DEFAULT_NEETO_FILTERS_COLUMNS,\n DEFAULT_RADIX,\n DROPDOWN_BUTTON_PROPS,\n MEMBER_FILTER,\n} from \"./constants\";\n\nconst { Menu, MenuItem } = Dropdown;\n\nconst renderNameColumn = (\n { displayName: name, profileImageUrl: imageUrl, active },\n diplayStatusTag\n) => (\n <div className=\"ntm-members-table__column\">\n <Avatar size=\"medium\" user={{ name, imageUrl }} />\n {name}\n {diplayStatusTag && (\n <Tag\n data-cy=\"ntm-member-status-tag\"\n style={active ? \"primary\" : \"secondary\"}\n type=\"outline\"\n label={\n active ? MEMBER_FILTER.ACTIVE.label : MEMBER_FILTER.DEACTIVATED.label\n }\n />\n )}\n </div>\n);\n\nconst isDropDownButtonDisabled = permissions =>\n !(permissions?.update ?? hasPermission(MANAGE_MEMBER_PERMISSIONS));\n\nconst renderDropdownButton = (\n { active, displayName, email, firstName, id, lastName, role },\n handleUpdateRole,\n handleUpdateStatus,\n permissions\n) => (\n <Tooltip\n content={i18next.t(\"tooltips.noPermissionToEditMembers\")}\n disabled={!isDropDownButtonDisabled(permissions)}\n position=\"top\"\n >\n <span>\n <Dropdown\n buttonProps={DROPDOWN_BUTTON_PROPS}\n buttonStyle=\"text\"\n disabled={isDropDownButtonDisabled(permissions)}\n icon={MenuHorizontal}\n strategy=\"fixed\"\n >\n <Menu>\n <Tooltip\n content={i18next.t(\"tooltips.activateUserToEdit\", SINGULAR)}\n disabled={active}\n position=\"top\"\n >\n <span>\n <MenuItem.Button\n className=\"ntm-dropdown__button\"\n data-cy=\"ntm-edit-member-button\"\n disabled={!active}\n size=\"small\"\n style=\"text\"\n onClick={() =>\n active &&\n handleUpdateRole({ email, firstName, id, lastName, role })\n }\n >\n {i18next.t(\"common.edit\")}\n </MenuItem.Button>\n </span>\n </Tooltip>\n <MenuItem.Button\n className=\"ntm-dropdown__button\"\n data-cy=\"ntm-deactivate-member-button\"\n size=\"small\"\n onClick={() =>\n handleUpdateStatus({ id, name: displayName, active })\n }\n >\n {active\n ? i18next.t(\"common.deactivate\")\n : i18next.t(\"common.activate\")}\n </MenuItem.Button>\n </Menu>\n </Dropdown>\n </span>\n </Tooltip>\n);\n\nconst getDefaultAlertTitle = ({ member, metaName }) =>\n member?.active\n ? i18next.t(\"common.deactivate_\", {\n what: metaName(SINGULAR).toLocaleLowerCase(),\n })\n : i18next.t(\"common.activate_\", {\n what: metaName(SINGULAR).toLocaleLowerCase(),\n });\n\nconst getDefaultAlertMessage = ({ member }) => (\n <Trans\n i18nKey={member?.active ? \"alerts.deactivating_\" : \"alerts.activating_\"}\n values={{ person: member?.name }}\n />\n);\n\nconst renderInvitedStatus = inviteStatus => {\n const statuses = {\n not_invited: i18next.t(\"common.notInvited\"),\n pending: i18next.t(\"common.pending\"),\n confirmed: i18next.t(\"common.invited\"),\n };\n\n return statuses[inviteStatus];\n};\n\nconst getDefaultColumns = displayStatusTag => [\n {\n dataIndex: \"name\",\n key: \"name\",\n render: (_, tableData) => renderNameColumn(tableData, displayStatusTag),\n sorter: true,\n title: i18next.t(\"common.name\"),\n },\n {\n dataIndex: \"email\",\n key: \"email\",\n sorter: true,\n title: i18next.t(\"common.email\", SINGULAR),\n },\n {\n dataIndex: \"role\",\n key: \"organization_role\",\n sorter: true,\n title: i18next.t(\"common.role\", SINGULAR),\n },\n {\n dataIndex: \"inviteStatus\",\n key: \"invite_status\",\n sorter: true,\n title: i18next.t(\"common.inviteStatus\"),\n render: inviteStatus => renderInvitedStatus(inviteStatus),\n },\n];\n\nconst getActionColumn = (\n handleUpdateRole,\n handleUpdateStatus,\n permissions\n) => ({\n dataIndex: \"actions\",\n key: \"icon_button\",\n render: (_, props) =>\n renderDropdownButton(\n props,\n handleUpdateRole,\n handleUpdateStatus,\n permissions\n ),\n width: 75,\n});\n\nconst getSearchParams = ({ page, results }, filter) => {\n const searchParams = new URLSearchParams(window.location.search);\n searchParams.set(\"page\", page);\n searchParams.set(\"results\", results);\n searchParams.set(\"filter\", filter.toLowerCase());\n\n return searchParams.toString();\n};\n\nconst removeExcludedRole = curry(\n (excludedRoles, role) => !excludedRoles?.includes(role?.name)\n);\n\nexport const getColumnData = ({\n config,\n handleUpdateRole,\n handleUpdateStatus,\n memberFilter,\n}) => {\n const displayStatusTag = identical(memberFilter, MEMBER_FILTER.ALL.value);\n const defaultColumns = getDefaultColumns(displayStatusTag);\n const actionColumn = getActionColumn(\n handleUpdateRole,\n handleUpdateStatus,\n config?.permissions\n );\n const otherColumns = config?.otherColumns ?? [];\n\n const columns = defaultColumns.map(column => {\n const otherColumn = otherColumns.find(({ dataIndex }) =>\n identical(dataIndex, column.dataIndex)\n );\n\n return otherColumn || column;\n });\n\n otherColumns.forEach(otherColumn => {\n const column = columns.find(({ dataIndex }) =>\n identical(dataIndex, otherColumn.dataIndex)\n );\n if (!column) columns.push(otherColumn);\n });\n\n if (!columns.some(({ dataIndex }) => identical(dataIndex, \"actions\"))) {\n columns.push(actionColumn);\n }\n\n return columns;\n};\n\nexport const renderHeaderTitle = (filterStatus, metaName) =>\n i18next.t(`common.${toLower(filterStatus)}_`, {\n what: metaName(PLURAL).toLocaleLowerCase(),\n });\n\nexport const renderUpdateAlert = (field, props) => {\n const { config, member } = props;\n\n if (config?.alert?.[field]) {\n return config.alert?.[field]({\n active: member?.active,\n id: member?.id,\n name: member?.name,\n });\n }\n\n return field === \"title\"\n ? getDefaultAlertTitle(props)\n : getDefaultAlertMessage(props);\n};\n\nexport const handlePageChange = (setFilters, filter) => (page, results) => {\n const pageParams = { page, results };\n window.history.replaceState(\n {},\n \"\",\n `?${getSearchParams(pageParams, filter)}`\n );\n setFilters(mergeLeft(pageParams));\n};\n\nexport const renderPaginationProps = size => ({\n pageSize: parseInt(size, DEFAULT_RADIX),\n});\n\nexport const getPerCategoryCount = (perCategoryCount, category) =>\n isNil(perCategoryCount)\n ? MEMBER_FILTER[category].defaultCount\n : perCategoryCount[category?.toLowerCase()];\n\nexport const getMetaName = curry((metaName, count) => {\n const singularizedMetaName = pluralize(metaName.toLowerCase(), 1);\n const translationWord = `metaNames.${singularizedMetaName}`;\n\n return i18next.exists(translationWord, count)\n ? i18next.t(translationWord, count)\n : pluralize(capitalize(singularizedMetaName), count.count);\n});\n\nexport const clearSelectedMembers = (previousCategory, currentCategory) =>\n notEquals(previousCategory, currentCategory) &&\n notEquals(currentCategory, \"ALL\");\n\nexport const buildFilterColumns = ({\n options: { emails = [], organizationRoles = [] },\n emailConfig: { setSearchTerm, isLoading },\n}) => {\n const columnValues = {\n email: emails.map(toLabelAndValue),\n role: organizationRoles.map(toLabelAndValue),\n };\n\n return DEFAULT_NEETO_FILTERS_COLUMNS.map(column => {\n const values = columnValues[column.key];\n if (column.key === \"role\") return assoc(\"values\", values, column);\n\n const emailConfig = {\n values,\n isLoading,\n onInputChange: setSearchTerm,\n };\n\n return mergeLeft(emailConfig, column);\n });\n};\n\nexport const getValidCategory = (\n category,\n defaultCategory = MEMBER_FILTER.ACTIVE.value\n) =>\n Object.values(MEMBER_FILTER).some(({ value }) => identical(value, category))\n ? category\n : defaultCategory;\n\nexport const addUrlSearchParams = (history, params = {}) =>\n Object.entries(params).forEach(([key, value]) => {\n const searchParams = new URLSearchParams(window.location.search);\n searchParams.set(key, value);\n history.push({ search: searchParams.toString() });\n });\n\nexport const getFilteredRoles = (roles = [], config = {}) =>\n filter(removeExcludedRole(config?.excludedRoles), roles);\n","import { useState } from \"react\";\n\nimport { useDebounce } from \"neetocommons/react-utils\";\nimport { buildFiltersFromURL } from \"neetofilters\";\nimport { isNil, mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PLURAL } from \"common/constants\";\nimport { useFetchFilterOptions } from \"hooks/teams/useTeamsApi\";\n\nimport {\n DEFAULT_NEETO_FILTERS_COLUMNS,\n DEFAULT_FILTER_VALUES,\n DEFAULT_PAGE_NUMBER,\n URL_CATEGORY_FILTER_VALUE,\n} from \"../components/TeamMembers/constants\";\nimport {\n buildFilterColumns,\n getMetaName,\n getValidCategory,\n} from \"../components/TeamMembers/utils\";\n\nconst useFilters = ({ config }) => {\n const { t } = useTranslation();\n\n const [emailSearchTerm, setEmailSearchTerm] = useState(\"\");\n const metaName = getMetaName(config?.metaName || \"member\");\n const defaultNeetoFilters = buildFiltersFromURL(\n config?.filterColumns ?? DEFAULT_NEETO_FILTERS_COLUMNS\n );\n\n const [filters, setFilters] = useState({\n ...DEFAULT_FILTER_VALUES,\n ...config?.defaultFilterValues,\n neetoFilters: defaultNeetoFilters,\n category: getValidCategory(\n URL_CATEGORY_FILTER_VALUE,\n config?.defaultFilterValues?.category\n ),\n });\n const debouncedSearch = useDebounce(filters.search, 750);\n const debouncedEmailSearchTerm = useDebounce(emailSearchTerm, 750);\n\n const shouldFetchFilterOptions = isNil(config?.filterColumns);\n const { data: filterOptions = {}, isLoading: isFilterOptionsLoading } =\n useFetchFilterOptions({\n params: {\n emailSearchTerm: debouncedEmailSearchTerm,\n },\n options: { enabled: shouldFetchFilterOptions },\n });\n\n const filterColumns = shouldFetchFilterOptions\n ? buildFilterColumns({\n options: filterOptions,\n emailConfig: {\n setSearchTerm: setEmailSearchTerm,\n isLoading: isFilterOptionsLoading,\n },\n })\n : config?.filterColumns;\n\n const searchProps = {\n \"data-cy\": \"ntm-search-members-input\",\n onChange: ({ target: { value } }) =>\n setFilters(mergeLeft({ search: value, page: DEFAULT_PAGE_NUMBER })),\n placeholder: t(\"common.search_\", {\n what: metaName(PLURAL).toLocaleLowerCase(),\n }),\n value: filters.search,\n };\n\n return {\n filters,\n setFilters,\n filterColumns,\n debouncedSearch,\n searchProps,\n };\n};\n\nexport default useFilters;\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _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 }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n defineProperty = Object.defineProperty || function (obj, key, desc) {\n obj[key] = desc.value;\n },\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return defineProperty(generator, \"_invoke\", {\n value: makeInvokeMethod(innerFn, self, context)\n }), generator;\n }\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n exports.wrap = wrap;\n var ContinueSentinel = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n reject(record.arg);\n }\n var previousPromise;\n defineProperty(this, \"_invoke\", {\n value: function value(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method,\n method = delegate.iterator[methodName];\n if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel;\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n return next.value = undefined, next.done = !0, next;\n };\n return next.next = next;\n }\n }\n return {\n next: doneResult\n };\n }\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), defineProperty(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (val) {\n var object = Object(val),\n keys = [];\n for (var key in object) keys.push(key);\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","import { useState } from \"react\";\n\nimport { assoc, mergeLeft, pluck } from \"ramda\";\n\nimport {\n DEFAULT_IS_OPEN_VALUES,\n DEFAULT_PAGE_NUMBER,\n DEFAULT_SELECTED_ROWS,\n} from \"../components/TeamMembers/constants\";\nimport {\n clearSelectedMembers,\n handlePageChange,\n} from \"../components/TeamMembers/utils\";\n\nconst useTeams = ({ config, filters, setFilters, updateMember }) => {\n const [selectedMember, setSelectedMember] = useState(null);\n const [isOpen, setIsOpen] = useState(DEFAULT_IS_OPEN_VALUES);\n const [selectedRows, setSelectedRows] = useState(DEFAULT_SELECTED_ROWS);\n\n const handleUpdateMember = async () => {\n const { id, active } = selectedMember;\n const payload = { active: !active };\n updateMember({ id, payload });\n };\n\n const handleUpdateStatus = user => {\n setSelectedMember(user);\n setIsOpen(assoc(\"alert\", true));\n };\n\n const handleUpdateRole = user => {\n setSelectedMember(user);\n setIsOpen(assoc(\"manageMember\", true));\n };\n\n const handleAlertClose = () => {\n setIsOpen(assoc(\"alert\", false));\n setSelectedMember(null);\n };\n\n const handleModalClose = () => {\n setIsOpen(assoc(\"manageMember\", false));\n setSelectedMember(null);\n };\n\n const resetSelectedRows = () => setSelectedRows(DEFAULT_SELECTED_ROWS);\n\n const handleMemberFilterChange = filter => {\n setFilters(assoc(\"category\", filter));\n clearSelectedMembers(filters.category, filter) &&\n setSelectedRows(DEFAULT_SELECTED_ROWS);\n handlePageChange(setFilters, filter)(DEFAULT_PAGE_NUMBER, filters.results);\n };\n\n const handleTableChange = (_, __, sorter) => {\n setFilters(\n mergeLeft({ sortBy: sorter.field, sortDirection: sorter.order })\n );\n };\n\n const handleRowSelect = (keys, rowData) => {\n const rows = {\n active: pluck(\"active\", rowData),\n emails: pluck(\"email\", rowData),\n keys,\n };\n setSelectedRows({ ...rows });\n config?.table?.onRowSelect?.({ rows, resetSelectedRows, rowData });\n };\n\n return {\n handleAlertClose,\n handleMemberFilterChange,\n handleModalClose,\n handleRowSelect,\n handleTableChange,\n handleUpdateMember,\n handleUpdateRole,\n handleUpdateStatus,\n isOpen,\n selectedMember,\n selectedRows,\n setIsOpen,\n setSelectedRows,\n };\n};\n\nexport default useTeams;\n","import i18next from \"i18next\";\n\nimport { PLURAL } from \"common/constants\";\n\nexport const FIXED_COLUMNS = [\"actions\"];\n\nexport const COLUMNS_DROPDOWN_PROPS = {\n label: i18next.t(\"common.column\", PLURAL),\n};\n\nexport const COLUMNS_SEARCH_PROPS = {\n placeholder: i18next.t(\"columns.search\"),\n};\n\nexport const MANAGE_ROLES_BUTTON_LABEL = i18next.t(\"common.manage_\", {\n what: i18next.t(\"common.role\", PLURAL).toLocaleLowerCase(),\n});\n","import React from \"react\";\n\nimport { noop } from \"neetocommons/pure\";\nimport { Button, Tooltip } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { MANAGE_MEMBER_PERMISSIONS, SINGULAR } from \"common/constants\";\nimport { hasPermission } from \"common/utils\";\n\nimport { MANAGE_ROLES_BUTTON_LABEL } from \"./constants\";\n\nconst Header = ({\n config,\n metaName,\n onClick = noop,\n permissions,\n rolesButtonProps,\n}) => {\n const { t } = useTranslation();\n\n const isRolesButtonVisible = !!rolesButtonProps;\n const hasCreatePermission =\n permissions?.create ?? hasPermission(MANAGE_MEMBER_PERMISSIONS);\n const isOtherActionBlockVisible = !!config?.header?.otherActionBlock;\n\n return (\n <>\n {isOtherActionBlockVisible && config.header.otherActionBlock()}\n {isRolesButtonVisible ? (\n <Button\n data-cy=\"ntm-manage-roles-button\"\n label={MANAGE_ROLES_BUTTON_LABEL}\n style=\"secondary\"\n {...rolesButtonProps}\n />\n ) : null}\n <Tooltip\n content={t(\"tooltips.noPermissionToAddMember\")}\n disabled={hasCreatePermission}\n position=\"bottom\"\n >\n <span>\n <Button\n data-cy=\"ntm-add-member-button\"\n disabled={!hasCreatePermission}\n label={t(\"common.addNew_\", {\n what: metaName(SINGULAR).toLocaleLowerCase(),\n })}\n onClick={onClick}\n />\n </span>\n </Tooltip>\n </>\n );\n};\n\nexport default Header;\n","import { filter, includes, toLower, trim } from \"ramda\";\n\nexport const filterBySearchTerm = (searchTerm, roles) =>\n filter(\n ({ name }) => includes(trim(toLower(searchTerm)), trim(toLower(name))),\n roles\n );\n\nexport const getActivateButtonVisible = (selectedRows, config) =>\n selectedRows.active.some(active => active === false) &&\n !config?.hiddenBulkActions?.includes(\"activate\");\n\nexport const getDeactivatedButtonVisible = (selectedRows, config) =>\n selectedRows.active.some(active => active === true) &&\n !config?.hiddenBulkActions?.includes(\"deactivate\");\n","import React, { useState } from \"react\";\n\nimport { isNotEmpty } from \"neetocommons/pure\";\nimport { Right, Search } from \"neetoicons\";\nimport { Dropdown, Input, Tooltip, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PLURAL } from \"src/common/constants\";\n\nimport { filterBySearchTerm } from \"./utils\";\n\nconst { Menu, MenuItem } = Dropdown;\n\nconst RolesDropdown = ({\n disabled = false,\n handleRoleChange,\n hasUpdatePermission,\n isSearchable = false,\n roles = [],\n}) => {\n const { t } = useTranslation();\n const [isDropdownOpen, setIsDropdownOpen] = useState(false);\n const [searchTerm, setSearchTerm] = useState(\"\");\n\n const filteredRoles = filterBySearchTerm(searchTerm, roles);\n const isUpdationAllowed = hasUpdatePermission && !disabled;\n\n const handleSearch = ({ target: { value } }) => setSearchTerm(value);\n\n const handleSelectRole = role => {\n handleRoleChange(role);\n setIsDropdownOpen(false);\n };\n\n const handleOnClose = () => {\n setSearchTerm(\"\");\n setIsDropdownOpen(false);\n };\n\n const handleClick = event => {\n event.stopPropagation();\n setIsDropdownOpen(!isDropdownOpen);\n };\n\n return (\n <Tooltip\n content={t(\"tooltips.activateUserToEdit\", PLURAL)}\n disabled={isUpdationAllowed}\n position=\"top\"\n >\n <span>\n <Dropdown\n buttonStyle=\"secondary\"\n closeOnSelect={false}\n data-cy=\"ntm-members-roles-update-dropdown-button\"\n disabled={!isUpdationAllowed}\n isOpen={isUpdationAllowed && isDropdownOpen}\n position=\"auto-end\"\n customTarget={\n <MenuItem.Button\n disabled={!isUpdationAllowed}\n suffix={<Right size={16} />}\n >\n {t(\"buttons.changeRole\")}\n </MenuItem.Button>\n }\n onClick={handleClick}\n onClose={handleOnClose}\n >\n <Menu>\n {isSearchable && (\n <div\n className=\"neeto-ui-px-3 neeto-ui-py-2\"\n onClick={event => {\n event.stopPropagation();\n }}\n >\n <Input\n data-cy=\"ntm-members-roles-search-input\"\n placeholder={t(\"helpers.searchRoles\")}\n prefix={<Search />}\n type=\"search\"\n value={searchTerm}\n onChange={handleSearch}\n />\n </div>\n )}\n {isNotEmpty(filteredRoles) ? (\n filteredRoles.map(({ id, name }) => (\n <MenuItem.Button\n key={id}\n onClick={() => handleSelectRole(name)}\n >\n {name}\n </MenuItem.Button>\n ))\n ) : (\n <div className=\"neeto-ui-flex neeto-ui-justify-center neeto-ui-p-1\">\n <Typography className=\"neeto-ui-text-gray-700\" style=\"body2\">\n {t(\"helpers.noRolesFound\")}\n </Typography>\n </div>\n )}\n </Menu>\n </Dropdown>\n </span>\n </Tooltip>\n );\n};\n\nexport default RolesDropdown;\n","import React from \"react\";\n\nimport { isNotEmpty } from \"neetocommons/pure\";\nimport { Filters as NeetoFilters } from \"neetofilters\";\nimport Columns from \"neetomolecules/Columns\";\nimport { Dropdown, Tooltip, Typography } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { DEFAULT_PERMISSION } from \"common/constants\";\nimport { useBulkUpdateMembers } from \"hooks/teams/useTeamsApi\";\n\nimport {\n COLUMNS_DROPDOWN_PROPS,\n COLUMNS_SEARCH_PROPS,\n FIXED_COLUMNS,\n} from \"./constants\";\nimport RolesDropdown from \"./RolesDropdown\";\nimport { getActivateButtonVisible, getDeactivatedButtonVisible } from \"./utils\";\n\nimport { DEFAULT_SELECTED_ROWS } from \"../constants\";\n\nconst Left = ({\n config,\n filteredCount,\n filters,\n metaName,\n roles,\n selectedRows,\n setSelectedRows,\n}) => {\n const { t } = useTranslation();\n\n const hasSelectedRows = isNotEmpty(selectedRows?.keys);\n const selectedMembersCountValues = {\n count: selectedRows?.keys?.length,\n metaName: metaName({\n count: hasSelectedRows ? selectedRows.keys.length : filteredCount,\n }).toLocaleLowerCase(),\n totalCount: filteredCount,\n };\n\n const hasUpdatePermission = config?.permissions?.update ?? DEFAULT_PERMISSION;\n const isDeactivateMemberPage = filters.category === \"DEACTIVATED\";\n\n const { mutate: bulkUpdateMember } = useBulkUpdateMembers({\n onSuccess: () => {\n setSelectedRows(DEFAULT_SELECTED_ROWS);\n config?.bulkUpdateMembers?.onSuccess?.callback();\n },\n });\n\n const handleDeactivateMembers = () =>\n bulkUpdateMember({\n users: { active: false, emails: selectedRows?.emails },\n });\n\n const handleActivateMembers = () =>\n bulkUpdateMember({\n users: { active: true, emails: selectedRows?.emails },\n });\n\n const handleRoleChange = role => {\n bulkUpdateMember({\n users: {\n active: true,\n emails: selectedRows?.emails,\n organization_role: role,\n },\n });\n };\n\n const { Menu, MenuItem } = Dropdown;\n\n return (\n <div className=\"neeto-ui-flex neeto-ui-items-center neeto-ui-gap-4\">\n <Typography\n component=\"h4\"\n data-cy=\"ntm-filtered-members-count\"\n style=\"h4\"\n >\n <Trans\n components={{ span: <span className=\"neeto-ui-text-gray-600\" /> }}\n values={selectedMembersCountValues}\n i18nKey={\n hasSelectedRows\n ? \"helpers.selectedMembersCount\"\n : \"helpers.metaNameWithCount_\"\n }\n />\n </Typography>\n {hasSelectedRows && (\n <Tooltip\n content={t(\"tooltips.noPermissionToEditMembers\")}\n disabled={hasUpdatePermission}\n position=\"top\"\n >\n <span>\n <Dropdown\n buttonStyle=\"secondary\"\n data-cy=\"ntm-members-take-action-dropdown-button\"\n disabled={!hasUpdatePermission}\n label={t(\"common.takeAction\")}\n >\n <Menu>\n {getDeactivatedButtonVisible(selectedRows, config) && (\n <MenuItem.Button\n data-cy=\"ntm-deactivate-members-button\"\n disabled={!hasUpdatePermission}\n onClick={() => handleDeactivateMembers()}\n >\n {t(\"common.deactivate\")}\n </MenuItem.Button>\n )}\n {getActivateButtonVisible(selectedRows, config) && (\n <MenuItem.Button\n data-cy=\"ntm-activate-members-button\"\n disabled={!hasUpdatePermission}\n onClick={() => handleActivateMembers()}\n >\n {t(\"common.activate\")}\n </MenuItem.Button>\n )}\n {!config?.hiddenBulkActions?.includes(\"role\") && (\n <RolesDropdown\n disabled={isDeactivateMemberPage}\n handleRoleChange={handleRoleChange}\n hasUpdatePermission={hasUpdatePermission}\n roles={roles}\n />\n )}\n {config?.otherBulkActions?.()}\n </Menu>\n </Dropdown>\n </span>\n </Tooltip>\n )}\n </div>\n );\n};\n\nconst Right = ({\n columns,\n setColumnData,\n filterColumns,\n handleNeetoFilterChange,\n setIsFiltersPaneOpen,\n isFiltersPaneOpen,\n}) => {\n const { t } = useTranslation();\n\n return (\n <>\n <Columns\n columnData={columns}\n dropdownProps={COLUMNS_DROPDOWN_PROPS}\n fixedColumns={FIXED_COLUMNS}\n localStorageKey=\"TEAM_MEMBERS_TABLE_HIDDEN_COLUMNS\"\n noColumnMessage={t(\"columns.noColumnsFound\")}\n searchProps={COLUMNS_SEARCH_PROPS}\n onChange={setColumnData}\n />\n <NeetoFilters\n columns={filterColumns}\n isOpen={isFiltersPaneOpen}\n setIsOpen={setIsFiltersPaneOpen}\n onChange={handleNeetoFilterChange}\n />\n </>\n );\n};\n\nconst SubHeader = {\n Left,\n Right,\n};\n\nexport default SubHeader;\n","import Header from \"./Header\";\nimport SubHeader from \"./SubHeader\";\n\nexport { Header, SubHeader };\n","import React, { useEffect, useState } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { toLabelAndValue } from \"neetocommons/pure\";\nimport { Checkbox, Tooltip, Typography } from \"neetoui\";\nimport { Select, Switch } from \"neetoui/formik\";\nimport { pluck, not } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nconst AppList = ({ globalRoles, savedStateRef }) => {\n const { t } = useTranslation();\n const [isAppListEnabled, setIsAppListEnabled] = useState(\n savedStateRef.current.isAppListEnabled\n );\n\n const {\n values: { emails, appRoles },\n setFieldValue,\n } = useFormikContext();\n\n const selectedEmail = pluck(\"value\", emails);\n\n useEffect(() => {\n if (savedStateRef.current.isAppListEnabled !== isAppListEnabled) {\n appRoles.forEach((appRole, index) => {\n if (appRole?.appName === globalProps.appName?.substring(5)) {\n setFieldValue(`appRoles[${index}].isEnabled`, true);\n\n return;\n }\n\n setFieldValue(`appRoles[${index}].isEnabled`, isAppListEnabled);\n });\n }\n savedStateRef.current.isAppListEnabled = isAppListEnabled;\n }, [isAppListEnabled]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const buildRoleOptions = roles =>\n roles.map(role => toLabelAndValue(role.name));\n\n return (\n <div className=\"neeto-ui-flex neeto-ui-flex-col neeto-ui-gap-6\">\n <div className=\"neeto-ui-w-full\">\n <Checkbox\n checked={isAppListEnabled}\n className=\"ntm-manage-members__checkbox-align-start\"\n label={\n <Typography component=\"span\" lineHeight=\"relaxed\" style=\"body2\">\n <Trans\n i18nKey=\"helpers.addMembersToNeetoProducts\"\n values={{ emails: selectedEmail }}\n />\n </Typography>\n }\n onChange={() => setIsAppListEnabled(not)}\n />\n </div>\n <div className=\"neeto-ui-w-full\">\n {appRoles.map(({ appName, isEnabled }, index) => {\n const isCurrentApp = appName === globalProps.appName?.substring(5);\n const isAppRoleSelectionChecked =\n isCurrentApp || (isEnabled && isAppListEnabled);\n\n return (\n <div className=\"ntm-manage-members__app-roles\" key={appName}>\n <Tooltip\n content={t(\"tooltips.hostAppisRequired\")}\n disabled={!isCurrentApp}\n position=\"left\"\n >\n <span>\n <Switch\n checked={isAppRoleSelectionChecked}\n disabled={isCurrentApp || !isAppListEnabled}\n label={t(\"labels.neeto_\", { product: appName })}\n name={`appsRoles[${index}].isEnabled`}\n onChange={({ target }) => {\n setFieldValue(\n `appRoles[${index}].isEnabled`,\n target.checked\n );\n }}\n />\n </span>\n </Tooltip>\n <Tooltip\n content={t(\"tooltips.goBackToChangeRole\")}\n disabled={!isCurrentApp}\n position=\"top\"\n >\n <span className=\"ntm-manage-members-app-roles__select-wrapper\">\n <Select\n isDisabled={isCurrentApp || !isEnabled}\n name={`appRoles[${index}].activeRole`}\n options={buildRoleOptions(globalRoles[appName])}\n size=\"small\"\n strategy=\"fixed\"\n onChange={({ value }) => {\n setFieldValue(`appRoles[${index}].activeRole`, value);\n }}\n />\n </span>\n </Tooltip>\n </div>\n );\n })}\n </div>\n </div>\n );\n};\n\nexport default AppList;\n","import React from \"react\";\n\nconst PageWrapper = ({ className, children, ...otherProps }) => (\n <div className={className} {...otherProps}>\n {children}\n </div>\n);\n\nconst Page = ({ className, children, ...otherProps }) => (\n <div className={className} {...otherProps}>\n {children}\n </div>\n);\n\nPage.Header = PageWrapper;\nPage.Body = PageWrapper;\nPage.Footer = PageWrapper;\n\nexport default Page;\n","import i18next from \"i18next\";\nimport { Pane, Modal } from \"neetoui\";\nimport { prop } from \"ramda\";\nimport * as yup from \"yup\";\n\nimport { PLURAL } from \"common/constants\";\n\nimport Page from \"./Page\";\n\nconst NAME_INPUT_VALIDATION_SCHEMA = {\n firstName: yup.string(),\n lastName: yup.string(),\n};\n\nconst MULTIPLE_EMAIL_INPUT_VALIDATION_SCHEMA = {\n emails: yup\n .array()\n .min(1, i18next.t(\"validations.minOneEmail\"))\n .test(\"are-all-emails-valid\", i18next.t(\"validations.validEmail\"), emails =>\n emails.every(prop(\"valid\"))\n )\n .nullable(),\n};\n\nconst ROLES_RADIO_GROUP_VALIDATION_SCHEMA = {\n role: yup.string().required(i18next.t(\"validations.roleRequired\")),\n};\n\nconst VALIDATION_SCHEMA = yup.object().shape({\n ...NAME_INPUT_VALIDATION_SCHEMA,\n ...MULTIPLE_EMAIL_INPUT_VALIDATION_SCHEMA,\n ...ROLES_RADIO_GROUP_VALIDATION_SCHEMA,\n appsRoles: yup.array().of(\n yup.object().shape({\n appName: yup.string(),\n isEnabled: yup.boolean(),\n role: yup.string().required(i18next.t(\"validations.roleRequired\")),\n })\n ),\n});\n\nexport const ADMIN_ROLE = \"Admin\";\n\nexport const OWNER_ROLE = \"Owner\";\n\nexport const FILTER_INVALID_EMAILS = {\n label: i18next.t(\"validations.filterInvalidEmails\"),\n};\n\nexport const COUNTER_PROPS = {\n label: i18next.t(\"common.email\", PLURAL),\n startsFrom: 4,\n};\n\nexport const MANAGE_MEMBERS_FORMIK_PROPS = {\n enableReinitialize: true,\n validationSchema: VALIDATION_SCHEMA,\n};\n\nexport const DEFAULT_COMPONENT_CONFIG = {\n type: \"pane\",\n isOpen: false,\n className: \"\",\n headerProps: {},\n bodyProps: {},\n footerProps: {},\n};\n\nexport const MEMBERS_FORM_COMPONENT_MAPPER = {\n pane: Pane,\n modal: Modal,\n page: Page,\n};\n\nexport const FORM_PAGES = {\n MAIN: \"main\",\n APP_LIST: \"appList\",\n CONFIRMATION: \"confirmation\",\n};\n\nexport const OWNER_CANT_CHANGE_USER_EMAIL_KB_ARTICLE_URL =\n \"https://neetoauthhelp.neetokb.com/articles/owner-cant-change-other-users-email\";\n","import i18next from \"i18next\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { notEquals, _findBy } from \"neetocommons/pure\";\nimport { equals, includes, move, pluck } from \"ramda\";\n\nimport \"common/i18n\";\n\nimport { ADMIN_ROLE, OWNER_ROLE } from \"./constants\";\n\nconst getProductName = activeAppRoles =>\n activeAppRoles?.[0]?.appName\n ? i18next.t(\"labels.neeto_\", { product: activeAppRoles[0].appName })\n : globalProps.appName;\n\nconst getActiveRole = (activeAppRoles, role) =>\n activeAppRoles?.[0]?.activeRole || role;\n\nconst getDefaultRole = (roles, currentAppRole) => {\n const condition = isAdminRole(currentAppRole);\n\n const role = _findBy({ name: condition }, roles);\n\n return role ? role.name : roles[0].name;\n};\n\nconst generateAppsRolesInitialValue = (globalRoles, currentAppRole) => {\n if (!globalRoles) return [];\n\n const appNames = Object.keys(globalRoles);\n const currentAppNameIndex = appNames.indexOf(\n globalProps.appName?.substring(5)\n );\n const appNamesSorted = move(currentAppNameIndex, 0, appNames);\n\n return appNamesSorted.map(appName => ({\n appName,\n activeRole: getDefaultRole(globalRoles[appName], currentAppRole),\n isEnabled: true,\n }));\n};\n\nexport const isAdminRole = role =>\n includes(role, [ADMIN_ROLE, OWNER_ROLE])\n ? equals(ADMIN_ROLE)\n : notEquals(ADMIN_ROLE);\n\nexport const renderInitialValues = (selectedMember, roles, globalRoles) => ({\n firstName: selectedMember?.firstName || \"\",\n lastName: selectedMember?.lastName || \"\",\n emails: selectedMember\n ? [\n {\n label: selectedMember.email,\n value: selectedMember.email,\n valid: true,\n },\n ]\n : [],\n role: selectedMember?.role || roles[1]?.name || \"\",\n ...(!selectedMember && {\n appRoles: generateAppsRolesInitialValue(globalRoles, roles[1]?.name),\n }),\n});\n\nexport const renderPayload = (\n { appRoles, emails, firstName, lastName, role },\n selectedMember = null\n) =>\n selectedMember\n ? {\n active: true,\n firstName,\n lastName,\n organizationRole: role,\n }\n : {\n user: {\n emails: pluck(\"value\", emails),\n organizationRole: role,\n appRoles,\n },\n };\n\nexport const getSingleInvitationTranslationProps = ({\n activeAppRoles,\n role,\n selectedEmail,\n}) => ({\n count: selectedEmail.length,\n emails: selectedEmail,\n product: getProductName(activeAppRoles),\n role: getActiveRole(activeAppRoles, role),\n});\n","import React from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { filterBy } from \"neetocommons/pure\";\nimport { Typography } from \"neetoui\";\nimport { pluck } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { SINGULAR } from \"src/common/constants\";\n\nimport { getSingleInvitationTranslationProps } from \"./utils\";\n\nconst Confirmation = () => {\n const { t } = useTranslation();\n const {\n values: { emails, role, appRoles },\n } = useFormikContext();\n\n const selectedEmail = pluck(\"value\", emails);\n const activeAppRoles = filterBy({ isEnabled: true }, appRoles);\n\n return activeAppRoles.length > 1 ? (\n <div className=\"neeto-ui-flex neeto-ui-flex-col neeto-ui-gap-6\">\n <div className=\"neeto-ui-w-full\">\n <Typography component=\"span\" lineHeight=\"relaxed\" style=\"body2\">\n <Trans\n i18nKey=\"helpers.multipleProductInvitation\"\n values={{\n count: selectedEmail.length,\n emails: selectedEmail,\n orgName: globalProps.organization?.name,\n }}\n />\n </Typography>\n </div>\n <table className=\"neeto-ui-w-full ntm-product-roles-table\">\n <thead>\n <tr>\n <th>{t(\"common.productName\")}</th>\n <th>{t(\"common.role\", SINGULAR)}</th>\n </tr>\n </thead>\n <tbody>\n {activeAppRoles.map(({ appName, activeRole }) => (\n <tr key={appName}>\n <td>\n <Typography component=\"span\" lineHeight=\"relaxed\" style=\"body2\">\n {t(\"labels.neeto_\", { product: appName })}\n </Typography>\n </td>\n <td>\n <Typography component=\"span\" lineHeight=\"relaxed\" style=\"body2\">\n {activeRole}\n </Typography>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n ) : (\n <Typography component=\"span\" lineHeight=\"relaxed\" style=\"body2\">\n <Trans\n i18nKey=\"helpers.singleProductInvitation\"\n values={getSingleInvitationTranslationProps({\n activeAppRoles,\n role,\n selectedEmail,\n })}\n />\n </Typography>\n );\n};\n\nexport default Confirmation;\n","import React from \"react\";\n\nimport { Button, Typography } from \"neetoui\";\nimport { MultiEmailInput, Input } from \"neetoui/formik\";\nimport { head } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PLURAL, SINGULAR } from \"common/constants\";\n\nimport {\n COUNTER_PROPS,\n FILTER_INVALID_EMAILS,\n OWNER_CANT_CHANGE_USER_EMAIL_KB_ARTICLE_URL,\n} from \"./constants\";\n\nconst MultipleEmailInput = ({\n emails = [],\n innerRef,\n selectedMember = null,\n}) => {\n const { t } = useTranslation();\n\n return (\n <div className=\"neeto-ui-w-full\">\n {selectedMember ? (\n <Input\n disabled\n data-cy=\"ntm-manage-member-email-input\"\n name=\"emails\"\n size=\"medium\"\n value={head(emails)?.value}\n label={\n <span className=\"neeto-ui-w-full neeto-ui-flex neeto-ui-justify-between\">\n <Typography component=\"span\" style=\"body2\">\n {t(\"common.email\", SINGULAR)}\n </Typography>\n <Button\n href={OWNER_CANT_CHANGE_USER_EMAIL_KB_ARTICLE_URL}\n label={t(\"helpers.whyIsItDisabled\")}\n style=\"link\"\n target=\"_blank\"\n />\n </span>\n }\n />\n ) : (\n <MultiEmailInput\n counter={COUNTER_PROPS}\n data-cy=\"ntm-manage-member-email-input\"\n filterInvalidEmails={FILTER_INVALID_EMAILS}\n helpText={t(\"helpers.enterMultipleEmails\")}\n label={`${t(\"common.email\", PLURAL)}*`}\n name=\"emails\"\n placeholder={t(\"placeholders.email\")}\n ref={innerRef}\n />\n )}\n </div>\n );\n};\n\nexport default MultipleEmailInput;\n","import React from \"react\";\n\nimport { Input } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nconst NameInputs = ({ innerRef }) => {\n const { t } = useTranslation();\n\n return (\n <div className=\"neeto-ui-flex neeto-ui-w-full neeto-ui-gap-4\">\n <Input\n data-cy=\"ntm-edit-member-first-name-text-field\"\n label={t(\"labels.firstName\")}\n name=\"firstName\"\n ref={innerRef}\n />\n <Input\n data-cy=\"ntm-edit-member-last-name-text-field\"\n label={t(\"labels.lastName\")}\n name=\"lastName\"\n />\n </div>\n );\n};\n\nexport default NameInputs;\n","import React from \"react\";\n\nimport { noop } from \"neetocommons/pure\";\nimport { Info } from \"neetoicons\";\nimport { Tooltip } from \"neetoui\";\n\nconst LabelWithIcon = ({\n label = \"\",\n tooltipProps = { content: \"\" },\n iconProps = { onClick: noop },\n}) => (\n <>\n <span className=\"ntm-members-radio-group__label\">{label}</span>\n <Tooltip position=\"right\" {...tooltipProps}>\n <span>\n <Info\n className=\"ntm-members-radio-group__icon\"\n size={16}\n {...iconProps}\n />\n </span>\n </Tooltip>\n </>\n);\n\nexport default LabelWithIcon;\n","import React from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { _findBy, slugify } from \"neetocommons/pure\";\nimport { Radio } from \"neetoui/formik\";\nimport { identical } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory, useLocation } from \"react-router-dom\";\n\nimport { SINGULAR } from \"common/constants\";\nimport LabelWithIcon from \"components/Common/LabelWithIcon\";\n\nimport { isAdminRole } from \"./utils\";\n\nconst RolesRadioGroup = ({ role = \"\", roles = [], isEdit, globalRoles }) => {\n const { t } = useTranslation();\n const history = useHistory();\n const location = useLocation();\n const { values, setFieldValue } = useFormikContext();\n\n const setDefaultSelection = currentRole => {\n const condition = isAdminRole(currentRole);\n values.appRoles.forEach(({ appName, activeRole }, index) => {\n appName === globalProps.appName?.substring(5) &&\n setFieldValue(`appRoles[${index}].activeRole`, currentRole);\n\n if (condition(activeRole)) return;\n const matchingRole = _findBy({ name: condition }, globalRoles[appName]);\n if (matchingRole) {\n setFieldValue(`appRoles[${index}].activeRole`, matchingRole.name);\n }\n });\n };\n\n return (\n <Radio\n stacked\n className=\"ntm-members-radio-group\"\n data-cy=\"ntm-manage-member-roles-group\"\n name=\"role\"\n label={\n <LabelWithIcon\n label={`${t(\"common.role\", SINGULAR)}*`}\n tooltipProps={{ content: t(\"tooltips.clickToViewPermissions\") }}\n iconProps={{\n // eslint-disable-next-line @bigbinary/neeto/use-common-routes\n onClick: () => history.push(`${location.pathname}/roles`),\n }}\n />\n }\n onChange={({ target: { value } }) => {\n setFieldValue(\"role\", value);\n !isEdit && setDefaultSelection(value);\n }}\n >\n {roles.map(({ id, name }) => (\n <label\n className=\"ntm-members-form-radio-item__wrapper\"\n htmlFor={slugify(name)}\n key={id}\n >\n <Radio.Item\n className=\"ntm-members-form-radio-item__label\"\n data-cy=\"ntm-manage-member-roles-button\"\n defaultChecked={identical(name, role)}\n id={slugify(name)}\n label={name}\n name=\"role\"\n value={name}\n />\n </label>\n ))}\n </Radio>\n );\n};\n\nexport default RolesRadioGroup;\n","import React, { useRef, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { LeftArrow } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\nimport { Form } from \"neetoui/formik\";\nimport { reverse, isEmpty, groupBy, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DEFAULT_PERMISSION, SINGULAR } from \"common/constants\";\nimport ScrollToErrorField from \"components/Common/ScrollToErrorField\";\nimport { useFetchGlobalRoles, useFetchRoles } from \"hooks/roles/useRolesApi\";\nimport { useCreateMember, useUpdateMember } from \"hooks/teams/useTeamsApi\";\n\nimport AppList from \"./AppList\";\nimport Confirmation from \"./Confirmation\";\nimport {\n DEFAULT_COMPONENT_CONFIG,\n MEMBERS_FORM_COMPONENT_MAPPER,\n FORM_PAGES,\n MANAGE_MEMBERS_FORMIK_PROPS,\n} from \"./constants\";\nimport MultipleEmailInput from \"./MultipleEmailInput\";\nimport NameInputs from \"./NameInputs\";\nimport RolesRadioGroup from \"./RolesRadioGroup\";\nimport { renderInitialValues, renderPayload } from \"./utils\";\n\nimport { getFilteredRoles, getMetaName } from \"../utils\";\n\nconst ManageMember = ({\n config,\n onComplete,\n roles = [],\n selectedMember = null,\n componentConfig = {},\n}) => {\n const { t } = useTranslation();\n const [hasSubmitted, setHasSubmitted] = useState(false);\n const [currentPage, setCurrentPage] = useState(FORM_PAGES.MAIN);\n const formReference = useRef(null);\n const inputReference = useRef(null);\n const appListSavedStateReference = useRef({ isAppListEnabled: true });\n const shouldSkipAppListPage = useRef(false);\n\n const manageMemberComponentConfig = {\n ...DEFAULT_COMPONENT_CONFIG,\n initialFocusRef: inputReference,\n ...componentConfig,\n };\n\n const Component =\n MEMBERS_FORM_COMPONENT_MAPPER[manageMemberComponentConfig.type || \"pane\"];\n\n const isPermissionsGranted = config?.permissions?.view ?? DEFAULT_PERMISSION;\n const haveToFetchRoles = isEmpty(roles) && isPermissionsGranted;\n\n const isEditForm = !!selectedMember;\n const isLastPage = currentPage === FORM_PAGES.CONFIRMATION || isEditForm;\n\n const { data: rolesList = roles, isLoading: isRolesLoading } = useFetchRoles({\n select: response =>\n reverse(\n (response.organizationRoles || response.data.organizationRoles) ?? []\n ),\n enabled: haveToFetchRoles,\n });\n\n const { data: globalRoles = {}, isLoading: isGlobalRolesLoading } =\n useFetchGlobalRoles({\n select: response => groupBy(prop(\"appName\"), response ?? []),\n enabled: !selectedMember && isPermissionsGranted,\n });\n\n const filteredRoles = getFilteredRoles(rolesList, config);\n\n const { mutate: createMember, isLoading: isCreatingMember } = useCreateMember(\n {\n onSuccess: () => {\n handleClose();\n config?.createMember?.onSuccess?.callback();\n },\n }\n );\n\n const { mutate: updateMember, isLoading: isUpdatingMember } = useUpdateMember(\n {\n onSuccess: () => {\n handleClose();\n config?.updateMember?.onSuccess?.callback();\n },\n }\n );\n\n const handleClose = () => {\n onComplete();\n setHasSubmitted(false);\n setCurrentPage(FORM_PAGES.MAIN);\n appListSavedStateReference.current = { isAppListEnabled: true };\n };\n\n const isSubmitting =\n isCreatingMember ||\n isUpdatingMember ||\n isRolesLoading ||\n isGlobalRolesLoading;\n\n const handleAddMember = values => {\n selectedMember\n ? updateMember({\n id: selectedMember.id,\n payload: renderPayload(values, selectedMember),\n })\n : createMember(renderPayload(values));\n };\n\n const handleOnSubmit = values => {\n shouldSkipAppListPage.current = isEmpty(values.appRoles);\n\n if (isLastPage) {\n handleAddMember(values);\n } else if (\n currentPage === FORM_PAGES.APP_LIST ||\n shouldSkipAppListPage.current\n ) {\n setCurrentPage(FORM_PAGES.CONFIRMATION);\n } else if (currentPage === FORM_PAGES.MAIN) {\n setCurrentPage(FORM_PAGES.APP_LIST);\n }\n };\n\n const handleBackButton = () => {\n if (currentPage === FORM_PAGES.APP_LIST || shouldSkipAppListPage.current) {\n setCurrentPage(FORM_PAGES.MAIN);\n } else if (currentPage === FORM_PAGES.CONFIRMATION) {\n setCurrentPage(FORM_PAGES.APP_LIST);\n }\n };\n\n const getTitle = () => {\n const metaName = config?.metaName || \"member\";\n\n return selectedMember\n ? t(\"common.edit_\", {\n what: getMetaName(metaName)(SINGULAR).toLocaleLowerCase(),\n })\n : t(\"common.addNew_\", {\n what: getMetaName(metaName)(SINGULAR).toLocaleLowerCase(),\n });\n };\n\n const renderFormPage = (page, emails, role) => {\n switch (page) {\n case FORM_PAGES.MAIN:\n return (\n <>\n {selectedMember && <NameInputs innerRef={inputReference} />}\n <MultipleEmailInput\n emails={emails}\n innerRef={inputReference}\n selectedMember={selectedMember}\n />\n <RolesRadioGroup\n globalRoles={globalRoles}\n isEdit={!!selectedMember}\n role={role}\n roles={filteredRoles}\n />\n </>\n );\n case FORM_PAGES.APP_LIST:\n return (\n <AppList\n globalRoles={globalRoles}\n savedStateRef={appListSavedStateReference}\n />\n );\n case FORM_PAGES.CONFIRMATION:\n return <Confirmation />;\n default:\n return null;\n }\n };\n\n return (\n <Component\n className={manageMemberComponentConfig.className}\n data-cy=\"ntm-manage-members-pane-wrapper\"\n initialFocusRef={manageMemberComponentConfig.initialFocusRef}\n isOpen={manageMemberComponentConfig.isOpen}\n onClose={handleClose}\n >\n <Component.Header\n {...manageMemberComponentConfig.headerProps}\n className={classnames([\n { \"ntm-manage-members__header\": currentPage !== FORM_PAGES.MAIN },\n manageMemberComponentConfig.headerProps?.className,\n ])}\n >\n {currentPage !== FORM_PAGES.MAIN && (\n <Button\n aria-label=\"Back\"\n icon={LeftArrow}\n size=\"medium\"\n style=\"text\"\n tooltipProps={{\n content: t(\"buttons.back\"),\n position: \"bottom\",\n }}\n onClick={handleBackButton}\n />\n )}\n <Typography\n className=\"ntm-members-form__header\"\n data-cy=\"ntm-manage-members-pane-header\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {getTitle()}\n </Typography>\n </Component.Header>\n <Form\n ref={formReference}\n formikProps={{\n ...MANAGE_MEMBERS_FORMIK_PROPS,\n initialValues: renderInitialValues(\n selectedMember,\n filteredRoles,\n globalRoles\n ),\n onSubmit: handleOnSubmit,\n validateOnBlur: hasSubmitted,\n validateOnChange: hasSubmitted,\n }}\n >\n {({ values, dirty }) => {\n const { emails, role } = values;\n\n return (\n <>\n <ScrollToErrorField formRef={formReference} />\n <Component.Body\n {...manageMemberComponentConfig.bodyProps}\n className={classnames([\n \"ntm-members-form__body\",\n manageMemberComponentConfig.bodyProps?.className,\n ])}\n >\n {renderFormPage(currentPage, emails, role)}\n </Component.Body>\n <Component.Footer\n {...manageMemberComponentConfig.footerProps}\n className={classnames([\n \"ntm-members-form__footer\",\n manageMemberComponentConfig.footerProps?.className,\n ])}\n >\n <Button\n disabled={!dirty || isSubmitting}\n loading={isSubmitting}\n style=\"primary\"\n type=\"submit\"\n data-cy={\n isLastPage\n ? \"ntm-manage-member-submit-button\"\n : \"ntm-manage-member-continue-button\"\n }\n label={\n isLastPage\n ? t(\"buttons.saveChanges\")\n : t(\"buttons.continue\")\n }\n onClick={() => setHasSubmitted(true)}\n />\n <Button\n data-cy=\"ntm-manage-member-cancel-button\"\n label={t(\"buttons.cancel\")}\n style=\"text\"\n onClick={handleClose}\n />\n </Component.Footer>\n </>\n );\n }}\n </Form>\n </Component>\n );\n};\n\nexport default ManageMember;\n","import React from \"react\";\n\nimport { slugify } from \"neetocommons/pure\";\nimport { MenuBar } from \"neetoui/layouts\";\nimport { keys, identical } from \"ramda\";\n\nimport { PLURAL } from \"common/constants\";\n\nimport { MEMBER_FILTER } from \"./constants\";\nimport { getPerCategoryCount } from \"./utils\";\n\nconst Menu = ({\n filterCounts,\n handleMemberFilterChange,\n isMenuOpen,\n memberFilter,\n metaName,\n}) => {\n const memberFilterKeys = keys(MEMBER_FILTER);\n\n return (\n <MenuBar\n data-cy=\"ntm-members-menubar-heading\"\n showMenu={isMenuOpen}\n title={metaName(PLURAL)}\n >\n {memberFilterKeys.map(filter => (\n <MenuBar.Block\n count={getPerCategoryCount(filterCounts, filter)}\n data-cy={`ntm-members-menubar-${slugify(filter)}-block`}\n key={filter}\n label={MEMBER_FILTER[filter].label}\n active={\n memberFilterKeys.includes(memberFilter) &&\n identical(filter, memberFilter)\n }\n onClick={() => handleMemberFilterChange(filter)}\n />\n ))}\n </MenuBar>\n );\n};\n\nexport default Menu;\n","import React, { useEffect, useMemo, useState } from \"react\";\n\nimport i18next from \"i18next\";\nimport { withTitle } from \"neetocommons/react-utils\";\nimport { Bar as FiltersBar } from \"neetofilters\";\nimport { Alert, NoData, PageLoader, Table } from \"neetoui\";\nimport { Container, Header, SubHeader } from \"neetoui/layouts\";\nimport { assoc, mergeLeft, reverse } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport {\n DEFAULT_PERMISSION,\n MANAGE_MEMBER_PERMISSIONS,\n PLURAL,\n SINGULAR,\n} from \"common/constants\";\nimport { hasPermission } from \"common/utils\";\nimport withReactQuery from \"components/Common/withReactQuery\";\nimport { useFetchRoles } from \"hooks/roles/useRolesApi\";\nimport { useFetchMembers, useUpdateMember } from \"hooks/teams/useTeamsApi\";\nimport useFilters from \"src/hooks/useFilters\";\nimport useTeams from \"src/hooks/useTeams\";\n\nimport {\n Header as HeaderActionBlock,\n SubHeader as SubHeaderActionBlock,\n} from \"./ActionBlock\";\nimport {\n DEFAULT_PAGE_NUMBER,\n DEFAULT_RADIX,\n DEFAULT_SELECTED_ROWS,\n MEMBER_FILTER,\n} from \"./constants\";\nimport ManageMember from \"./ManageMember\";\nimport Menu from \"./Menu\";\nimport {\n addUrlSearchParams,\n clearSelectedMembers,\n getColumnData,\n getFilteredRoles,\n getMetaName,\n handlePageChange,\n renderHeaderTitle,\n renderPaginationProps,\n renderUpdateAlert,\n} from \"./utils\";\n\nconst TeamMembers = ({ config }) => {\n const { t } = useTranslation();\n const history = useHistory();\n\n const metaName = getMetaName(config?.metaName || \"member\");\n const [columnData, setColumnData] = useState([]);\n const [isFiltersPaneOpen, setIsFiltersPaneOpen] = useState(false);\n const hasCreatePermission =\n config?.permissions?.create ?? hasPermission(MANAGE_MEMBER_PERMISSIONS);\n\n useEffect(() => {\n if (!localStorage.getItem(\"TEAM_MEMBERS_TABLE_HIDDEN_COLUMNS\")) {\n localStorage.setItem(\n \"TEAM_MEMBERS_TABLE_HIDDEN_COLUMNS\",\n JSON.stringify([\"inviteStatus\"])\n );\n }\n }, []);\n\n const { filters, setFilters, filterColumns, debouncedSearch, searchProps } =\n useFilters({ config });\n\n const {\n data: team,\n isLoading: isMembersLoading,\n isFetching: isMembersFetching,\n } = useFetchMembers(\n {\n ...filters,\n search: debouncedSearch.trim(),\n category: filters.category.toLowerCase(),\n },\n { enabled: config?.permissions?.view ?? DEFAULT_PERMISSION }\n );\n\n const { data: roles, isLoading: isRolesLoading } = useFetchRoles({\n select: response =>\n reverse(\n (response.organizationRoles || response.data.organizationRoles) ?? []\n ),\n enabled: config?.permissions?.view ?? DEFAULT_PERMISSION,\n });\n\n const { mutate: updateMember, isLoading: isUpdatingMember } = useUpdateMember(\n {\n onSuccess: () => {\n handleAlertClose();\n config?.updateMember?.onSuccess?.callback();\n },\n }\n );\n\n const filteredRoles = getFilteredRoles(roles, config);\n\n const {\n handleAlertClose,\n handleMemberFilterChange,\n handleModalClose,\n handleRowSelect,\n handleTableChange,\n handleUpdateMember,\n handleUpdateRole,\n handleUpdateStatus,\n isOpen,\n selectedMember,\n selectedRows,\n setIsOpen,\n setSelectedRows,\n } = useTeams({ config, filters, setFilters, updateMember });\n\n config?.fetchApiResponse?.({ team });\n\n const updateMemberAlertProps = { member: selectedMember, metaName, config };\n\n config?.table?.onDropdownClick?.({ handleUpdateRole, handleUpdateStatus });\n\n const columns = useMemo(\n () =>\n getColumnData({\n config,\n handleUpdateRole,\n handleUpdateStatus,\n memberFilter: filters.category,\n }),\n [filters.category] // eslint-disable-line react-hooks/exhaustive-deps\n );\n\n const handleNeetoFilterChange = filters => {\n setFilters(mergeLeft({ neetoFilters: filters, page: DEFAULT_PAGE_NUMBER }));\n clearSelectedMembers(filters.category, filters) &&\n setSelectedRows(DEFAULT_SELECTED_ROWS);\n addUrlSearchParams(history, { page: DEFAULT_PAGE_NUMBER.toString() });\n };\n\n if (isRolesLoading || isMembersLoading) {\n return (\n <div className=\"ntm-members-page-loader\">\n <PageLoader />\n </div>\n );\n }\n\n return (\n <div className=\"ntm-members\">\n <div className=\"ntm-members-wrapper\">\n <Menu\n filterCounts={team?.perCategoryCount}\n handleMemberFilterChange={handleMemberFilterChange}\n isMenuOpen={isOpen.menuBar}\n memberFilter={filters.category}\n metaName={metaName}\n />\n <Container>\n <Header\n searchProps={searchProps}\n actionBlock={\n <HeaderActionBlock\n config={config}\n metaName={metaName}\n permissions={config?.permissions}\n rolesButtonProps={config.rolesButtonProps}\n onClick={() => setIsOpen(assoc(\"manageMember\", true))}\n />\n }\n menuBarToggle={() =>\n setIsOpen(state => ({ ...state, menuBar: !state.menuBar }))\n }\n title={renderHeaderTitle(\n MEMBER_FILTER[filters.category].value,\n metaName\n )}\n {...config?.header?.otherProps}\n />\n <SubHeader\n leftActionBlock={\n <SubHeaderActionBlock.Left\n config={config}\n filteredCount={team?.membersCount}\n filters={filters}\n metaName={metaName}\n roles={filteredRoles}\n selectedRows={selectedRows}\n setSelectedRows={setSelectedRows}\n />\n }\n rightActionBlock={\n <SubHeaderActionBlock.Right\n columns={columns}\n filterColumns={filterColumns}\n handleNeetoFilterChange={handleNeetoFilterChange}\n isFiltersPaneOpen={isFiltersPaneOpen}\n setColumnData={setColumnData}\n setIsFiltersPaneOpen={setIsFiltersPaneOpen}\n />\n }\n />\n <FiltersBar\n columns={filterColumns}\n setIsPaneOpen={setIsFiltersPaneOpen}\n onChange={handleNeetoFilterChange}\n />\n {team?.membersCount !== 0 ? (\n <div className=\"ntm-members__table-wrapper\">\n <Table\n fixedHeight\n rowSelection\n allowRowClick={false}\n columnData={columnData}\n currentPageNumber={parseInt(filters.page, DEFAULT_RADIX)}\n data-cy=\"ntm-members-table\"\n loading={isMembersFetching}\n paginationProps={renderPaginationProps(filters.results)}\n rowData={team?.members}\n selectedRowKeys={selectedRows.keys}\n totalCount={team?.membersCount}\n handlePageChange={handlePageChange(\n setFilters,\n filters.category\n )}\n onChange={handleTableChange}\n onRowSelect={handleRowSelect}\n />\n </div>\n ) : (\n <div className=\"ntm-empty-state\">\n <NoData\n primaryButtonProps={{\n \"data-cy\": \"ntm-add-member-button\",\n disabled: !hasCreatePermission,\n label: t(\"common.addNew_\", {\n what: metaName(SINGULAR).toLocaleLowerCase(),\n }),\n onClick: () => setIsOpen(assoc(\"manageMember\", true)),\n }}\n title={t(\"common.notFound_\", {\n what: metaName(PLURAL).toLocaleLowerCase(),\n })}\n />\n </div>\n )}\n </Container>\n <ManageMember\n config={config}\n roles={filteredRoles}\n selectedMember={selectedMember}\n componentConfig={{\n isOpen: isOpen.manageMember,\n }}\n onComplete={handleModalClose}\n />\n <Alert\n cancelButtonLabel={t(\"buttons.cancel\")}\n isOpen={isOpen.alert}\n isSubmitting={isUpdatingMember}\n message={renderUpdateAlert(\"message\", updateMemberAlertProps)}\n submitButtonLabel={t(\"buttons.proceed\")}\n title={renderUpdateAlert(\"title\", updateMemberAlertProps)}\n onClose={handleAlertClose}\n onSubmit={handleUpdateMember}\n />\n </div>\n </div>\n );\n};\n\nTeamMembers.defaultProps = {\n config: {\n metaName: \"member\",\n permissions: {\n create: true,\n update: true,\n view: true,\n },\n },\n};\n\nexport default withTitle(\n withReactQuery(TeamMembers),\n i18next.t(\"metaNames.member\", PLURAL)\n);\n","var e=[],t=[];function n(n,r){if(n&&\"undefined\"!=typeof document){var a,s=!0===r.prepend?\"prepend\":\"append\",d=!0===r.singleTag,i=\"string\"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName(\"head\")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c()}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n))}function c(){var e=document.createElement(\"style\");if(e.setAttribute(\"type\",\"text/css\"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a=\"prepend\"===s?\"afterbegin\":\"beforeend\";return i.insertAdjacentElement(a,e),e}}export{n as default};\n","import \"common/i18n\";\nimport { hasPermission } from \"common/utils\";\nimport Roles from \"components/Roles\";\nimport TeamMembers from \"components/TeamMembers\";\nimport ManageMember from \"components/TeamMembers/ManageMember\";\nimport RolesRadioGroup from \"components/TeamMembers/ManageMember/RolesRadioGroup\";\nimport { refetchMembers } from \"hooks/teams/useTeamsApi\";\n\nimport \"./src/stylesheets/application.scss\";\n\nexport {\n hasPermission,\n refetchMembers,\n Roles,\n RolesRadioGroup,\n TeamMembers,\n ManageMember,\n};\n"],"names":["_typeof","obj","Symbol","iterator","constructor","prototype","_setPrototypeOf","o","p","Object","setPrototypeOf","__proto__","_construct","Parent","args","Class","Reflect","construct","sham","Proxy","Boolean","valueOf","call","e","_isNativeReflectConstruct","a","push","apply","instance","Function","bind","arguments","_slicedToArray","arr","i","Array","isArray","_arrayWithHoles","_i","_s","_e","_arr","_n","_d","next","done","value","length","err","_iterableToArrayLimit","_unsupportedIterableToArray","TypeError","_nonIterableRest","_toConsumableArray","_arrayLikeToArray","_arrayWithoutHoles","iter","from","_iterableToArray","_nonIterableSpread","minLen","n","toString","slice","name","test","len","arr2","entries","isFrozen","getPrototypeOf","getOwnPropertyDescriptor","freeze","seal","create","_ref","fun","thisValue","x","Func","func","arrayForEach","unapply","forEach","arrayPop","pop","arrayPush","stringToLowerCase","String","toLowerCase","stringToString","stringMatch","match","stringReplace","replace","stringIndexOf","indexOf","stringTrim","trim","regExpTest","RegExp","typeErrorCreate","_len2","_key2","thisArg","_len","_key","addToSet","set","array","transformCaseFunc","l","element","lcElement","clone","object","_step","newObject","_iterator","allowArrayLike","it","F","s","f","normalCompletion","didErr","step","return","_createForOfIteratorHelper","_step$value","property","lookupGetter","prop","desc","get","console","warn","html$1","svg$1","svgFilters","svgDisallowed","mathMl$1","mathMlDisallowed","text","html","svg","mathMl","xml","MUSTACHE_EXPR","ERB_EXPR","TMPLIT_EXPR","DATA_ATTR","ARIA_ATTR","IS_ALLOWED_URI","IS_SCRIPT_OR_DATA","ATTR_WHITESPACE","DOCTYPE_NAME","getGlobal","window","_createTrustedTypesPolicy","trustedTypes","document","createPolicy","suffix","ATTR_NAME","currentScript","hasAttribute","getAttribute","policyName","createHTML","createScriptURL","scriptUrl","_","purify","createDOMPurify","undefined","DOMPurify","root","version","removed","nodeType","isSupported","originalDocument","DocumentFragment","HTMLTemplateElement","Node","Element","NodeFilter","_window$NamedNodeMap","NamedNodeMap","MozNamedAttrMap","HTMLFormElement","DOMParser","ElementPrototype","cloneNode","getNextSibling","getChildNodes","getParentNode","template","createElement","content","ownerDocument","trustedTypesPolicy","emptyHTML","_document","implementation","createNodeIterator","createDocumentFragment","getElementsByTagName","importNode","hooks","createHTMLDocument","PARSER_MEDIA_TYPE","MUSTACHE_EXPR$1","ERB_EXPR$1","TMPLIT_EXPR$1","DATA_ATTR$1","ARIA_ATTR$1","IS_SCRIPT_OR_DATA$1","ATTR_WHITESPACE$1","IS_ALLOWED_URI$1","ALLOWED_TAGS","DEFAULT_ALLOWED_TAGS","concat","ALLOWED_ATTR","DEFAULT_ALLOWED_ATTR","CUSTOM_ELEMENT_HANDLING","tagNameCheck","writable","configurable","enumerable","attributeNameCheck","allowCustomizedBuiltInElements","FORBID_TAGS","FORBID_ATTR","ALLOW_ARIA_ATTR","ALLOW_DATA_ATTR","ALLOW_UNKNOWN_PROTOCOLS","ALLOW_SELF_CLOSE_IN_ATTR","SAFE_FOR_TEMPLATES","WHOLE_DOCUMENT","SET_CONFIG","FORCE_BODY","RETURN_DOM","RETURN_DOM_FRAGMENT","RETURN_TRUSTED_TYPE","SANITIZE_DOM","SANITIZE_NAMED_PROPS","KEEP_CONTENT","IN_PLACE","USE_PROFILES","FORBID_CONTENTS","DEFAULT_FORBID_CONTENTS","DATA_URI_TAGS","DEFAULT_DATA_URI_TAGS","URI_SAFE_ATTRIBUTES","DEFAULT_URI_SAFE_ATTRIBUTES","MATHML_NAMESPACE","SVG_NAMESPACE","HTML_NAMESPACE","NAMESPACE","IS_EMPTY_INPUT","ALLOWED_NAMESPACES","DEFAULT_ALLOWED_NAMESPACES","SUPPORTED_PARSER_MEDIA_TYPES","CONFIG","formElement","isRegexOrFunction","testValue","_parseConfig","cfg","ADD_URI_SAFE_ATTR","ADD_DATA_URI_TAGS","ALLOWED_URI_REGEXP","ADD_TAGS","ADD_ATTR","table","tbody","MATHML_TEXT_INTEGRATION_POINTS","HTML_INTEGRATION_POINTS","COMMON_SVG_AND_HTML_ELEMENTS","ALL_SVG_TAGS","ALL_MATHML_TAGS","_forceRemove","node","parentNode","removeChild","remove","_removeAttribute","attribute","getAttributeNode","removeAttribute","setAttribute","_initDocument","dirty","doc","leadingWhitespace","matches","dirtyPayload","parseFromString","documentElement","createDocument","innerHTML","body","insertBefore","createTextNode","childNodes","_createIterator","SHOW_ELEMENT","SHOW_COMMENT","SHOW_TEXT","_isNode","nodeName","_executeHook","entryPoint","currentNode","data","hook","_sanitizeElements","elm","textContent","attributes","namespaceURI","hasChildNodes","tagName","allowedTags","firstElementChild","_basicCustomElementTest","parent","parentTagName","_checkValidNamespace","_isValidAttribute","lcTag","lcName","_sanitizeAttributes","attr","hookEvent","attrName","attrValue","keepAttr","allowedAttributes","_attr","forceKeepAttr","getAttributeType","setAttributeNS","_sanitizeShadowDOM","fragment","shadowNode","shadowIterator","nextNode","sanitize","importedNode","returnNode","appendChild","firstChild","nodeIterator","shadowroot","shadowrootmod","serializedHTML","outerHTML","doctype","setConfig","clearConfig","isValidAttribute","tag","addHook","hookFunction","removeHook","removeHooks","removeAllHooks","_classCallCheck","Constructor","_toPropertyKey","arg","key","input","hint","prim","toPrimitive","res","Number","_defineProperties","target","props","descriptor","defineProperty","toPropertyKey","_createClass","protoProps","staticProps","_assertThisInitialized","self","ReferenceError","_inherits","subClass","superClass","_possibleConstructorReturn","assertThisInitialized","_getPrototypeOf","_defineProperty","arrayLikeToArray","ownKeys$6","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","_objectSpread$6","source","getOwnPropertyDescriptors","defineProperties","consoleLogger","type","log","this","output","error","baseLogger","Logger","concreteLogger","options","init","prefix","logger","debug","bool","forward","_len3","_key3","_len4","_key4","lvl","debugOnly","moduleName","EventEmitter","observers","events","listener","_this","split","event","observer","defer","rej","promise","Promise","resolve","reject","makeString","getLastOfPath","path","Empty","cleanKey","canNotTraverseDeeper","stack","shift","hasOwnProperty","k","setPath","newValue","_getLastOfPath","getPath","_getLastOfPath3","deepExtend","overwrite","regexEscape","str","_entityMap","escape","isIE10","navigator","userAgentData","userAgent","chars","deepFind","keySeparator","paths","current","j","join","mix","endsWith","joinedPath","ownKeys$5","_objectSpread$5","_createSuper$3","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct$3","result","Super","NewTarget","ResourceStore","_EventEmitter","_super","ns","defaultNS","ignoreJSONStructure","index","splice","lng","silent","addNamespaces","emit","resources","m","addResource","deep","pack","hasResourceBundle","removeNamespaces","getResource","compatibilityAPI","getDataByLanguage","find","v","postProcessor","processors","addPostProcessor","module","handle","translator","processor","process","ownKeys$4","_objectSpread$4","_createSuper$2","_isNativeReflectConstruct$2","checkedLoadedFor","Translator","services","t","copy","language","interpolation","resolved","nsSeparator","namespaces","wouldCheckForNsInKey","seemsNaturalLanguage","userDefinedKeySeparator","userDefinedNsSeparator","possibleChars","c","r","map","matched","ki","substring","looksLikeObjectPath","interpolator","nestingRegexp","parts","lastKey","_this2","overloadTranslationOptionHandler","returnDetails","_this$extractFromKey","extractFromKey","namespace","appendNamespaceToCIMode","usedKey","exactUsedKey","usedLng","usedNS","resUsedKey","resExactUsedKey","resType","joinArrays","handleAsObjectInI18nFormat","i18nFormat","handleAsObject","returnObjects","returnedObjectHandler","resTypeIsArray","newKeyToUse","deepKey","translate","extendTranslation","usedDefault","needsPluralHandling","count","hasDefaultValue","defaultValueSuffix","pluralResolver","getSuffix","defaultValue","isValidLookup","resForMissing","missingKeyNoValueFallbackToKey","updateMissing","fk","lngs","fallbackLngs","languageUtils","getFallbackCodes","fallbackLng","saveMissingTo","toResolveHierarchy","send","specificDefaultValue","defaultForMissing","missingKeyHandler","backendConnector","saveMissing","saveMissingPlurals","getSuffixes","appendNamespaceToMissingKey","parseMissingKeyHandler","_this3","parse","defaultVariables","skipInterpolation","nestBef","skipOnVariables","nb","interpolate","na","nest","context","reset","postProcess","postProcessorNames","applyPostProcessor","postProcessPassResolved","i18nResolved","found","_this4","extracted","fallbackNS","needsZeroSuffixLookup","ordinal","shouldUseIntlApi","needsContextHandling","codes","utils","hasLoadedNamespace","code","possibleKey","finalKeys","addLookupKeys","pluralSuffix","zeroSuffix","pluralSeparator","contextKey","contextSeparator","returnNull","returnEmptyString","resourceStore","option","capitalize","string","charAt","toUpperCase","LanguageUtil","supportedLngs","formatLanguageCode","specialCases","lowerCaseLng","part","cleanCode","load","nonExplicitSupportedLngs","getLanguagePartFromCode","cleanedLng","isSupportedCode","lngOnly","supportedLng","fallbacks","getScriptPartFromCode","fallbackCode","fallbackCodes","addCode","fc","sets","nr","_rulesPluralsTypes","deprecatedJsonVersions","suffixesOrder","zero","one","two","few","many","other","PluralResolver","rules","compatibilityJSON","Intl","PluralRules","numbers","plurals","_unused","rule","getRule","resolvedOptions","pluralCategories","sort","pluralCategory1","pluralCategory2","pluralCategory","prepend","number","select","getSuffixRetroCompatible","idx","noAbs","Math","abs","simplifyPluralSuffix","returnSuffix","includes","ownKeys$3","_objectSpread$3","deepFindWithDefaults","defaultData","getPathWithDefaults","Interpolator","format","escapeValue","iOpts","useRawValueToEscape","prefixEscaped","suffixEscaped","formatSeparator","unescapePrefix","unescapeSuffix","nestingPrefix","nestingPrefixEscaped","nestingSuffix","nestingSuffixEscaped","nestingOptionsSeparator","maxReplaces","alwaysFormat","resetRegExp","regexpStr","regexp","regexpUnescapeStr","regexpUnescape","nestingRegexpStr","replaces","regexSafe","val","handleFormat","interpolationkey","missingInterpolationHandler","regex","safeValue","todo","exec","matchedVar","temp","lastIndex","clonedOptions","handleHasOptions","inheritedOptions","sep","optionsString","matchedSingleQuotes","matchedDoubleQuotes","JSON","formatters","doReduce","elem","reduce","ownKeys$2","_objectSpread$2","parseFormatStr","formatStr","formatName","formatOptions","optStr","currency","range","opt","_opt$split2","arrayWithHoles","iterableToArray","unsupportedIterableToArray","nonIterableRest","_toArray","isNaN","parseInt","createCachedFormatter","fn","cache","stringify","formatter","Formatter","formats","NumberFormat","style","datetime","DateTimeFormat","relativetime","RelativeTimeFormat","list","ListFormat","_format","mem","_parseFormatStr","formatted","valOptions","formatParams","locale","ownKeys$1","_objectSpread$1","_createSuper$1","_isNativeReflectConstruct$1","Connector","backend","store","waitingReads","maxParallelReads","readingCalls","maxRetries","retryTimeout","state","queue","languages","callback","toLoad","pending","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","reload","pendingCount","loaded","errors","addResourceBundle","q","_getLastOfPath2","pushPath","removePending","loadedKeys","fcName","tried","wait","resolver","read","setTimeout","then","queueLoad","loadOne","prepareLoading","_this5","fallbackValue","isUpdate","clb","opts","initImmediate","preload","partialBundledLanguages","ret","tDescription","transformOptions","ownKeys","_objectSpread","_createSuper","noop","I18n","inst","modules","external","getOwnPropertyNames","isInitialized","isClone","defOpts","createClassOnDemand","ClassOrObject","lu","on","languageDetector","detection","_this2$store","_this2$store2","deferred","finish","initializedStoreOnce","changeLanguage","usedCallback","append","resolvedLanguage","setResolvedLanguage","Error","li","lngInLngs","hasLanguageSomeTranslations","isLanguageChangingTo","setLngProps","setLng","getBestMatchFromCodes","cacheUserLanguage","loadResources","async","detect","keyPrefix","fixedT","rest","resultKey","_this$translator","_this$translator2","exists","_this6","lastLng","loadNotPending","loadState","precheck","preResult","_this7","preloaded","newLngs","_this8","mergedOptions","createInstance","dir","reloadResources","use","getFixedT","setDefaultNamespace","loadNamespaces","loadLanguages","each","fieldContentRegExp","cookie","minutes","domain","cookieOptions","sameSite","expires","Date","setTime","getTime","encodeURIComponent","maxAge","floor","toUTCString","httpOnly","secure","serializeCookie","nameEQ","ca","cookie$1","lookup","lookupCookie","cookieMinutes","cookieDomain","querystring","search","location","hash","params","pos","lookupQuerystring","hasLocalStorageSupport","localStorageAvailable","localStorage","testKey","setItem","removeItem","lookupLocalStorage","getItem","hasSessionStorageSupport","sessionStorageAvailable","sessionStorage","lookupSessionStorage","navigator$1","userLanguage","htmlTag","pathname","lookupFromPathIndex","subdomain","lookupFromSubdomainIndex","hostname","Browser","detectors","i18nOptions","defaults","order","caches","excludeCacheFor","lookupFromUrlIndex","addDetector","detector","detectionOrder","detected","detectorName","cacheName","_objectWithoutProperties","excluded","sourceKeys","objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","voidElements","area","base","br","col","embed","hr","img","link","meta","param","track","wbr","voidElement","attrs","children","startsWith","comment","components","u","h","d","g","_console","alreadyWarned","warnOnce","i18n","cb","initialized","off","matchHtmlEntity","htmlEntities","unescapeHtmlEntity","i18nInstance","defaultOptions","bindI18n","bindI18nStore","transEmptyNodeValue","transSupportBasicHtmlNodes","transWrapTextNodes","transKeepBasicHtmlNodesFor","useSuspense","unescape","getDefaults","getI18n","_excluded","_excluded2","hasChildren","checkLength","getChildren","getAsArray","nodesToString","stringNode","childrenArray","keepArray","child","childIndex","isValidElement","childPropsCount","shouldKeepChild","childChildren","i18nIsDynamicList","renderNodes","targetString","combinedTOpts","shouldUnescape","emptyChildrenButNeedsHandling","getData","childs","assign","ast","HTML","renderInner","rootReactNode","mappedChildren","mapAST","every","hasValidReactChildren","pushTranslatedJSX","inner","isVoid","dummy","cloneElement","reactNode","astNode","reactNodes","newTarget","translationContent","tmp","isElement","isValidTranslationWithChildren","isEmptyTransWithHTML","isKnownComponent","_inner","parseFloat","_inner3","_inner4","wrapTextNodes","_content","Trans","i18nKey","_ref$tOptions","tOptions","values","i18nFromProps","tFromProps","additionalProps","reactI18nextOptions","react","hashTransKey","interpolationOverride","useAsParent","defaultTransParent","initReactI18next","setDefaults","setI18n","I18nContext","createContext","ReportNamespaces","usedNamespaces","_ref2","useContext","i18nFromContext","defaultNSFromContext","TransWithoutContext","_x","_r","iterableToArrayLimit","usePrevious","ignore","ref","useRef","useEffect","useTranslation","reportNamespaces","notReadyT","optsOrDefaultValue","retNotReady","ready","addUsedNamespaces","oldI18nextHasLoadedNamespace","getT","nsMode","_useState2","useState","setT","joinedNS","previousJoinedNS","isMounted","boundReset","isInitial","cov_1slotdqjh0","actualCoverage","cov_bmpqbsqf8","cov_ojbc1aq0x","LanguageDetector","en","translation","fr","addCached","boldEmails","email","sanitizedEmails","sanitizer","hasPermission","permissions","b","userPermissions","globalProps","is","some","permission","factory","cov_a5y9dvwc7","__WEBPACK_EXTERNAL_MODULE_4__","installedModules","__webpack_require__","moduleId","exports","getter","__esModule","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","clearTimeout","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","run","marker","runClearTimeout","Item","nextTick","title","browser","env","argv","versions","addListener","once","removeListener","removeAllListeners","prependListener","prependOnceListener","listeners","binding","cwd","chdir","umask","makeEmptyFunction","emptyFunction","thatReturns","thatReturnsFalse","thatReturnsTrue","thatReturnsNull","thatReturnsThis","thatReturnsArgument","condition","argIndex","framesToPop","_react","ScrollSyncContext","default","registerPane","unregisterPane","warning","_react2","_interopRequireDefault","_propTypes2","_ScrollSyncContext2","ScrollSync","_Component","_temp","panes","groups","group","findPane","syncScrollPosition","addEvents","removeEvents","onscroll","handlePaneScroll","pane","enabled","requestAnimationFrame","syncScrollPositions","scrolledPane","onSync","scrollTop","scrollHeight","clientHeight","scrollLeft","scrollWidth","clientWidth","scrollTopOffset","scrollLeftOffset","_props","proportional","vertical","horizontal","paneHeight","paneWidth","Provider","getContextValue","Children","only","Component","propTypes","isRequired","defaultProps","ScrollSyncPane","toArray","updateNode","attachTo","childRef","createRef","prevProps","contextType","oneOfType","shape","any","arrayOf","_ScrollSync","_ScrollSyncPane","typeSpecs","componentName","getStack","invariant","ReactPropTypesSecret","shim","propName","propFullName","secret","getShim","ReactPropTypes","symbol","instanceOf","objectOf","oneOf","checkPropTypes","PropTypes","throwOnDirectAccess","ITERATOR_SYMBOL","FAUX_ITERATOR_SYMBOL","ANONYMOUS","createPrimitiveTypeChecker","createChainableTypeChecker","typeChecker","PropTypeError","propValue","getPropType","expectedClass","expectedClassName","isNode","propType","expectedValues","arrayOfTypeCheckers","checker","getPostfixForTypeWarning","shapeTypes","y","message","validate","checkType","chainedCheckType","expectedType","getPreciseType","iteratorFn","maybeIterable","getIteratorFn","entry","isSymbol","require$$0","SINGULAR","PLURAL","MANAGE_MEMBER_PERMISSIONS","DEFAULT_PERMISSION","cov_9aoa8n4lf","queryClient","QueryClient","queryCache","QueryCache","cov_vhdgzonj3","withReactQuery","React","QueryClientProvider","client","ReactQueryDevtools","initialIsOpen","position","cov_93pfnq10s","BASE_URL","cov_2q2pjqwd8e","permissionsApi","fetch","axios","cov_2pma19sc0f","DEFAULT_STALE_TIME","QUERY_KEYS","PERMISSIONS","ROLES","GLOBAL_ROLES","TEAMS","TEAMS_DEPENDENCIES","cov_1wny8nfgfa","useFetchPermissions","useQuery","staleTime","response","cov_8l27292v3","globalRolesApi","cov_1t0xlb7jgq","organizationRolesApi","bulkUpdate","payload","patch","post","destroy","id","update","cov_p6i359815","useFetchRoles","organizationRoles","cov_1ty1hblq6z","renderSearchProps","searchString","setSearchString","onChange","placeholder","i18next","what","toLocaleLowerCase","renderBreadcrumbs","breadcrumbs","cov_2ahg40zxqt","AddRoleButton","_ref3","_ref4","onClick","Tooltip","disabled","Button","label","cov_mmr2vopa7","Header","_config$permissions","_config$header","config","handleReset","handleSubmit","isDirty","setIsNewRolePaneOpen","hasUpdateRolePermission","NeetoHeader","header","className","searchProps","actionBlock","Fragment","helpUrl","href","icon","ExternalLink","arrayWithoutHoles","nonIterableSpread","cov_dz6t0edcu","transformObjectToDotNotation","errorKey","nextKey","getErrorFieldName","formikErrors","_transformObjectToDot","cov_1d4jhk01bt","ScrollToErrorField","formRef","useFormikContext","submitCount","isValid","isValidatedReference","fieldErrorNames","errorFormElement","elements","scrollIntoView","behavior","block","cov_943wox7vz","ADD_ROLE_FORM_INITIAL_VALUES","description","permissionIds","ADD_ROLE_FORM_VALIDATION_SCHEMA","max","limit","required","ROLE_FORMIK_PROPS","initialValues","validateOnBlur","validateOnChange","validationSchema","cov_1szai6zq9t","Permissions","setFieldValue","_ref4$permissionIds","handleTogglePermission","permissionId","nextPermissionIds","groupedPermissions","useMemo","groupBy","Typography","lineHeight","weight","category","_ref5","Checkbox","checked","pid","cov_z0be275gq","New","isOpen","onClose","formReference","inputReference","onSuccess","useMutation","invalidateQueries","setQueriesData","cachedData","modifyPath","organizationRole","Toastr","success","ntmNotice","useCreateRole","createRole","mutate","isSubmitting","isLoading","Pane","initialFocusRef","Form","formikProps","onSubmit","formValues","modifiedFormValues","Body","Input","maxLength","Textarea","Footer","loading","cov_t86ssl4x9","DEFAULT_MANAGE_ROLE_VALUES","isDelete","isEdit","selectedRole","ADMIN_ROLES","cov_2ftxzw9nfe","_e2","deepClone","objectType","Map","filterPermissionsBySearch","searchTerm","permissionGroups","filteredPermissions","_permission$descripti","_permission$descripti2","_permission$descripti3","cov_lcauybxla","Row","_ref$allPermissionsOf","allPermissionsOfCategory","_ref$permission","roles","setModifiedRoles","allPermissionIdsOfCategory","role","isNotEmpty","modifiedRole","modify","removeDuplicates","Set","replaceById","isCheckboxChecked","classnames","_config$permissions2","roleName","identical","cov_2588e8qmzh","TableHeader","setManageRole","setIsScrollPresent","scrollSyncElement","Dropdown","Menu","MenuItem","getOverflowStatus","useCallback","headerElement","isScrollBarPresent","isOverflown","_ref6","_config$permissions3","_ref7","_config$permissions4","hasSystemRole","kind","autoWidth","buttonStyle","MenuHorizontal","buttonProps","size","cov_1cwvv35dii","Delete","_ref4$onSuccess","_excluded3","dissocPath","findIndex","propEq","deleteRole","isDeleting","Alert","cancelButtonLabel","submitButtonLabel","_roles$find","newRoleId","cov_e71h7g2r5","Edit","assocPath","useUpdateRole","updateRole","cov_1r2udlzgep","Columns","filteredGroupPermissions","filteredRoles","manageRole","categories","isPermissionVisible","cov_2eg92y059b","ToggleDropdown","isVisible","Up","strokeWidth","Down","cov_2j9l888ote","ROLES_TABLE_CELL_HEIGHT_VARIABLE","cov_x67y6198","getSearchWrapperStyle","scrollBarWidth","innerElement","classList","add","outerElement","w1","offsetWidth","overflow","w2","getScrollBarWidth","setProperty","marginBottom","assignRolesTableCellHeight","sidebarItems","getElementsByClassName","clientHeights","pluck","maxClientHeight","currentTableCellHeight","getComputedStyle","getPropertyValue","cov_2kq9w6nqyq","Sidebar","setSearchTerm","toggleDropdown","isScrollPresent","searchWrapperStyle","useLayoutEffect","Search","renderDescription","cov_2o0olptfc7","Table","_ref9","setFilteredGroupPermissions","_ref8","isAddRoleDisabled","updatePermissionVisibility","categoryName","isEmpty","NoData","primaryButtonProps","cov_1vl1xvxhhn","getModifiedPermissions","modifiedRoles","oldPermissions","findById","equals","cov_u6urjgtkd","index$1","withTitle","_ref10","_ref12","_ref14","setFilteredRoles","isNewRolePaneOpen","view","isRolesLoading","_ref11","isPermissionsLoading","_ref13","_excluded4","useBulkUpdateRoles","_ref16","isPresent","getPermissionGroups","_permissions$","sortBySequence","sequence","first","second","has","currentPermissions","_ref17","PageLoader","Container","isHeaderFixed","updatedRoles","_extends","origSymbol","hasSymbolSham","symObj","syms","toStr","that","bound","boundLength","boundArgs","functionBind","src","$SyntaxError","SyntaxError","$Function","$TypeError","getEvalledConstructor","expressionSyntax","$gOPD","throwTypeError","ThrowTypeError","calleeThrows","gOPDthrows","hasSymbols","getProto","needsEval","TypedArray","Uint8Array","INTRINSICS","AggregateError","ArrayBuffer","Atomics","BigInt","BigInt64Array","BigUint64Array","DataView","decodeURI","decodeURIComponent","encodeURI","eval","EvalError","Float32Array","Float64Array","FinalizationRegistry","Int8Array","Int16Array","Int32Array","isFinite","RangeError","SharedArrayBuffer","Uint8ClampedArray","Uint16Array","Uint32Array","URIError","WeakMap","WeakRef","WeakSet","errorProto","doEval","gen","LEGACY_ALIASES","require$$1","hasOwn","require$$2","$concat","$spliceApply","$replace","$strSlice","$exec","rePropName","reEscapeChar","getBaseIntrinsic","allowMissing","alias","intrinsicName","getIntrinsic","last","quote","subString","stringToPath","intrinsicBaseName","intrinsic","intrinsicRealName","skipFurtherCaching","isOwn","GetIntrinsic","$apply","$call","$reflectApply","$defineProperty","$max","originalFunction","applyBind","callBind","$indexOf","util_inspect","inspect","hasMap","mapSizeDescriptor","mapSize","mapForEach","hasSet","setSizeDescriptor","setSize","setForEach","weakMapHas","weakSetHas","weakRefDeref","deref","booleanValueOf","objectToString","functionToString","$match","$slice","$toUpperCase","$toLowerCase","$test","$join","$arrSlice","$floor","bigIntValueOf","gOPS","symToString","hasShammedSymbols","toStringTag","isEnumerable","gPO","O","addNumericSeparator","num","Infinity","sepRegex","int","intStr","dec","utilInspect","inspectCustom","custom","inspectSymbol","wrapQuotes","defaultStyle","quoteChar","quoteStyle","isRegExp","xs","inspectString","maxStringLength","remaining","trailer","lowbyte","charCodeAt","markBoxed","weakCollectionOf","collectionOf","indent","indentedJoin","lineJoiner","prev","arrObjKeys","isArr","symMap","callBound","inspect_","depth","seen","customInspect","numericSeparator","bigIntStr","maxDepth","baseIndent","getIndent","noIndent","newOpts","nameOf","symString","HTMLElement","singleLineValues","isError","cause","isMap","mapParts","isSet","setParts","isWeakMap","isWeakSet","isWeakRef","isNumber","isBigInt","isBoolean","isString","isDate","ys","isPlainObject","protoTag","stringTag","$WeakMap","$Map","$weakMapGet","$weakMapSet","$weakMapHas","$mapGet","$mapSet","$mapHas","listGetNode","curr","percentTwenties","Format","RFC1738","RFC3986","hexTable","arrayToObject","plainObjects","acc","combine","compact","refs","item","compacted","compactQueue","decode","decoder","charset","strWithoutPlus","encode","defaultEncoder","$0","out","isBuffer","maybeMap","mapped","merge","allowPrototypes","mergeTarget","targetItem","getSideChannel","$wm","$m","$o","channel","assert","objects","listGet","listHas","listSet","arrayPrefixGenerators","brackets","comma","indices","repeat","pushToArray","valueOrArray","toISO","toISOString","defaultFormat","addQueryPrefix","allowDots","charsetSentinel","delimiter","encoder","encodeValuesOnly","serializeDate","date","skipNulls","strictNullHandling","sentinel","generateArrayPrefix","commaRoundTrip","sideChannel","tmpSc","findFlag","objKeys","adjustedPrefix","valueSideChannel","allowSparse","arrayLimit","ignoreQueryPrefix","interpretNumericEntities","parameterLimit","parseArrays","numberStr","fromCharCode","parseArrayValue","parseKeys","givenKey","valuesParsed","segment","chain","leaf","cleanRoot","parseObject","normalizeStringifyOptions","arrayFormat","joined","normalizeParseOptions","tempObj","cleanStr","skipIndex","bracketEqualsPos","encodedVal","parseValues","newObj","lib","cov_om31pkwz0","teamsApi","serializedParams","qs","keysToSnakeCase","fetchFilterOptions","put","team","cov_233ifemovy","useUpdateMember","cov_q22t281an","URL_PARAMS","URLSearchParams","DEFAULT_PAGE_SIZE","MEMBER_FILTER","ACTIVE","defaultCount","DEACTIVATED","ALL","DEFAULT_MEMBER_FILTER","DEFAULT_RADIX","DEFAULT_PAGE_NUMBER","DROPDOWN_BUTTON_PROPS","DEFAULT_IS_OPEN_VALUES","menuBar","manageMember","alert","URL_CATEGORY_FILTER_VALUE","_URLSearchParams$get","DEFAULT_FILTER_VALUES","page","clamp","results","sortBy","sortDirection","neetoFilters","DEFAULT_SELECTED_ROWS","active","emails","DEFAULT_NEETO_FILTERS_COLUMNS","model","pluralize","pluralRules","singularRules","uncountables","irregularPlurals","irregularSingles","sanitizeRule","restoreCase","word","token","substr","sanitizeWord","replaceWord","replaceMap","keepMap","checkWord","inclusive","singular","plural","isPlural","isSingular","addPluralRule","replacement","addSingularRule","addUncountableRule","addIrregularRule","single","cov_1ajikpxp6u","isDropDownButtonDisabled","getDefaultColumns","displayStatusTag","dataIndex","render","tableData","diplayStatusTag","displayName","imageUrl","profileImageUrl","Avatar","user","Tag","sorter","inviteStatus","statuses","not_invited","confirmed","renderInvitedStatus","getActionColumn","handleUpdateRole","handleUpdateStatus","firstName","lastName","strategy","renderDropdownButton","width","removeExcludedRole","curry","excludedRoles","renderHeaderTitle","filterStatus","metaName","toLower","renderUpdateAlert","field","_config$alert","_config$alert2","member","getDefaultAlertTitle","person","getDefaultAlertMessage","handlePageChange","setFilters","pageParams","history","replaceState","searchParams","getSearchParams","mergeLeft","getMetaName","singularizedMetaName","translationWord","clearSelectedMembers","previousCategory","currentCategory","notEquals","getValidCategory","defaultCategory","_ref15","getFilteredRoles","cov_1pj8ytk10c","useFilters","_config$defaultFilter","emailSearchTerm","setEmailSearchTerm","defaultNeetoFilters","buildFiltersFromURL","filterColumns","defaultFilterValues","filters","debouncedSearch","useDebounce","debouncedEmailSearchTerm","shouldFetchFilterOptions","isNil","_ref5$params","_ref5$options","useFetchFilterOptions","_ref8$data","filterOptions","isFilterOptionsLoading","_ref14$options","_ref14$options$emails","_ref14$options$organi","_ref14$emailConfig","emailConfig","columnValues","toLabelAndValue","column","assoc","onInputChange","buildFilterColumns","asyncGeneratorStep","_next","_throw","info","_regeneratorRuntime","Op","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","define","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","makeInvokeMethod","tryCatch","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","NativeIteratorPrototype","Gp","defineIteratorMethods","method","_invoke","AsyncIterator","PromiseImpl","invoke","record","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","methodName","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iterable","iteratorMethod","isGeneratorFunction","genFun","ctor","mark","awrap","reverse","skipTempReset","stop","rootRecord","rval","exception","loc","caught","hasCatch","hasFinally","finallyEntry","complete","catch","thrown","delegateYield","runtime","regenerator","regeneratorRuntime","accidentalStrictMode","globalThis","cov_vel136oxr","useTeams","updateMember","selectedMember","setSelectedMember","setIsOpen","selectedRows","setSelectedRows","handleUpdateMember","_callee","_context","resetSelectedRows","handleAlertClose","handleMemberFilterChange","handleModalClose","handleRowSelect","rowData","_config$table","_config$table$onRowSe","rows","onRowSelect","handleTableChange","__","cov_29e821obxu","FIXED_COLUMNS","COLUMNS_DROPDOWN_PROPS","COLUMNS_SEARCH_PROPS","MANAGE_ROLES_BUTTON_LABEL","cov_1uscr5uctt","_ref$onClick","rolesButtonProps","isRolesButtonVisible","hasCreatePermission","isOtherActionBlockVisible","otherActionBlock","cov_els6icg8k","cov_2f6xx9kvrc","RolesDropdown","_ref2$disabled","handleRoleChange","hasUpdatePermission","_ref2$isSearchable","isSearchable","_ref2$roles","isDropdownOpen","setIsDropdownOpen","filterBySearchTerm","isUpdationAllowed","closeOnSelect","customTarget","Right","stopPropagation","cov_2dy7hua1ai","SubHeader","Left","_selectedRows$keys","_config$hiddenBulkAct","_config$otherBulkActi","filteredCount","hasSelectedRows","selectedMembersCountValues","totalCount","isDeactivateMemberPage","bulkUpdateMember","useBulkUpdateMembers","_config$bulkUpdateMem","_config$bulkUpdateMem2","bulkUpdateMembers","component","span","getDeactivatedButtonVisible","_config$hiddenBulkAct2","hiddenBulkActions","users","getActivateButtonVisible","organization_role","otherBulkActions","columns","setColumnData","handleNeetoFilterChange","setIsFiltersPaneOpen","isFiltersPaneOpen","columnData","dropdownProps","fixedColumns","localStorageKey","noColumnMessage","NeetoFilters","cov_285uhbbidb","cov_1svj1i19k4","AppList","globalRoles","savedStateRef","isAppListEnabled","setIsAppListEnabled","_ref5$values","appRoles","selectedEmail","appRole","_globalProps$appName","appName","not","_globalProps$appName2","isEnabled","isCurrentApp","isAppRoleSelectionChecked","Switch","product","Select","isDisabled","cov_1da0jjdkik","PageWrapper","otherProps","Page","cov_82lke0lxh","NAME_INPUT_VALIDATION_SCHEMA","yup","MULTIPLE_EMAIL_INPUT_VALIDATION_SCHEMA","min","nullable","ROLES_RADIO_GROUP_VALIDATION_SCHEMA","VALIDATION_SCHEMA","appsRoles","of","ADMIN_ROLE","OWNER_ROLE","FILTER_INVALID_EMAILS","COUNTER_PROPS","startsFrom","MANAGE_MEMBERS_FORMIK_PROPS","enableReinitialize","DEFAULT_COMPONENT_CONFIG","headerProps","bodyProps","footerProps","MEMBERS_FORM_COMPONENT_MAPPER","modal","Modal","FORM_PAGES","MAIN","APP_LIST","CONFIRMATION","OWNER_CANT_CHANGE_USER_EMAIL_KB_ARTICLE_URL","cov_oxacgfc93","getProductName","activeAppRoles","_activeAppRoles$","getActiveRole","_activeAppRoles$2","activeRole","getDefaultRole","currentAppRole","isAdminRole","_findBy","generateAppsRolesInitialValue","appNames","currentAppNameIndex","appNamesSorted","move","renderInitialValues","_roles$","_roles$2","valid","renderPayload","getSingleInvitationTranslationProps","cov_d1gg5em61","Confirmation","_globalProps$organiza","_ref2$values","filterBy","orgName","organization","cov_2ba7t6w9ch","MultipleEmailInput","_head","_ref$emails","innerRef","_ref$selectedMember","head","MultiEmailInput","counter","filterInvalidEmails","helpText","cov_267kfheogy","NameInputs","cov_2gsxux74ml","LabelWithIcon","_ref$label","_ref$tooltipProps","tooltipProps","_ref$iconProps","iconProps","Info","cov_1b0h1259jp","RolesRadioGroup","_ref$role","_ref$roles","useHistory","useLocation","Radio","stacked","currentRole","matchingRole","setDefaultSelection","htmlFor","slugify","defaultChecked","cov_2j88yubml2","ManageMember","_manageMemberComponen","onComplete","_ref$componentConfig","componentConfig","hasSubmitted","setHasSubmitted","currentPage","setCurrentPage","appListSavedStateReference","shouldSkipAppListPage","manageMemberComponentConfig","isPermissionsGranted","haveToFetchRoles","isEditForm","isLastPage","rolesList","useFetchGlobalRoles","_ref10$data","isGlobalRolesLoading","useCreateMember","_config$createMember","_config$createMember$","handleClose","createMember","isCreatingMember","_config$updateMember","_config$updateMember$","isUpdatingMember","LeftArrow","getTitle","handleAddMember","_manageMemberComponen2","_manageMemberComponen3","renderFormPage","cov_2dvpczlzzx","filterCounts","isMenuOpen","memberFilter","memberFilterKeys","MenuBar","showMenu","Block","perCategoryCount","cov_2grgin5wgm","TeamMembers","_config$fetchApiRespo","_config$table$onDropd","keepPreviousData","useFetchMembers","isMembersLoading","isMembersFetching","isFetching","fetchApiResponse","updateMemberAlertProps","onDropdownClick","defaultColumns","actionColumn","otherColumns","otherColumn","getColumnData","addUrlSearchParams","HeaderActionBlock","menuBarToggle","leftActionBlock","SubHeaderActionBlock","membersCount","rightActionBlock","FiltersBar","setIsPaneOpen","fixedHeight","rowSelection","allowRowClick","currentPageNumber","paginationProps","pageSize","members","selectedRowKeys","cov_2n0c2rtlmj","singleTag","container","querySelector","styleSheet","cssText","insertAdjacentElement"],"mappings":"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"}