Gazebo_simulation-Frontend/node_modules/downshift/preact/dist/downshift.umd.js.map
2020-12-21 10:29:31 -05:00

1 line
129 KiB
Plaintext

{"version":3,"file":"downshift.umd.js","sources":["../../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../node_modules/@babel/runtime/helpers/esm/extends.js","../../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../../node_modules/react-is/cjs/react-is.production.min.js","../../node_modules/react-is/cjs/react-is.development.js","../../node_modules/react-is/index.js","../../src/set-a11y-status.js","../../src/stateChangeTypes.js","../../node_modules/compute-scroll-into-view/es/index.js","../../src/utils.js","../../src/downshift.js"],"sourcesContent":["export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","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\n return self;\n}","export default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}","/** @license React v16.8.4\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';Object.defineProperty(exports,\"__esModule\",{value:!0});\nvar b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?Symbol.for(\"react.memo\"):\n60115,r=b?Symbol.for(\"react.lazy\"):60116;function t(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case h:return a;default:return u}}case r:case q:case d:return u}}}function v(a){return t(a)===m}exports.typeOf=t;exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;\nexports.Fragment=e;exports.Lazy=r;exports.Memo=q;exports.Portal=d;exports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||\"object\"===typeof a&&null!==a&&(a.$$typeof===r||a.$$typeof===q||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n)};exports.isAsyncMode=function(a){return v(a)||t(a)===l};exports.isConcurrentMode=v;exports.isContextConsumer=function(a){return t(a)===k};\nexports.isContextProvider=function(a){return t(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return t(a)===n};exports.isFragment=function(a){return t(a)===e};exports.isLazy=function(a){return t(a)===r};exports.isMemo=function(a){return t(a)===q};exports.isPortal=function(a){return t(a)===d};exports.isProfiler=function(a){return t(a)===g};exports.isStrictMode=function(a){return t(a)===f};\nexports.isSuspense=function(a){return t(a)===p};\n","/** @license React v16.8.4\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\n\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace;\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' ||\n // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE);\n}\n\n/**\n * Forked from fbjs/warning:\n * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js\n *\n * Only change is we use console.warn instead of console.error,\n * and do nothing when 'console' is not supported.\n * This really simplifies the code.\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 lowPriorityWarning = function () {};\n\n{\n var printWarning = function (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.warn(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 lowPriorityWarning = function (condition, format) {\n if (format === undefined) {\n throw new Error('`lowPriorityWarning(condition, format, ...args)` requires a warning ' + 'message argument');\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\nvar lowPriorityWarning$1 = lowPriorityWarning;\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n default:\n return $$typeof;\n }\n }\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n}\n\n// AsyncMode is deprecated along with isAsyncMode\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\n\nvar hasWarnedAboutDeprecatedIsAsyncMode = false;\n\n// AsyncMode should be deprecated\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true;\n lowPriorityWarning$1(false, 'The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.typeOf = typeOf;\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isValidElementType = isValidElementType;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","// istanbul ignore next\nlet statusDiv =\n typeof document === 'undefined'\n ? null\n : document.getElementById('a11y-status-message')\n\nlet statuses = []\n\n/**\n * @param {String} status the status message\n */\nfunction setStatus(status) {\n const isSameAsLast = statuses[statuses.length - 1] === status\n if (isSameAsLast) {\n statuses = [...statuses, status]\n } else {\n statuses = [status]\n }\n const div = getStatusDiv()\n\n // Remove previous children\n while (div.lastChild) {\n div.removeChild(div.firstChild)\n }\n\n statuses.filter(Boolean).forEach((statusItem, index) => {\n div.appendChild(getStatusChildDiv(statusItem, index))\n })\n}\n\n/**\n * @param {String} status the status message\n * @param {Number} index the index\n * @return {HTMLElement} the child node\n */\nfunction getStatusChildDiv(status, index) {\n const display = index === statuses.length - 1 ? 'block' : 'none'\n\n const childDiv = document.createElement('div')\n childDiv.style.display = display\n childDiv.textContent = status\n\n return childDiv\n}\n\n/**\n * Get the status node or create it if it does not already exist\n * @return {HTMLElement} the status node\n */\nfunction getStatusDiv() {\n if (statusDiv) {\n return statusDiv\n }\n statusDiv = document.createElement('div')\n statusDiv.setAttribute('id', 'a11y-status-message')\n statusDiv.setAttribute('role', 'status')\n statusDiv.setAttribute('aria-live', 'polite')\n statusDiv.setAttribute('aria-relevant', 'additions text')\n Object.assign(statusDiv.style, {\n border: '0',\n clip: 'rect(0 0 0 0)',\n height: '1px',\n margin: '-1px',\n overflow: 'hidden',\n padding: '0',\n position: 'absolute',\n width: '1px',\n })\n document.body.appendChild(statusDiv)\n return statusDiv\n}\n\nexport default setStatus\n","import productionEnum from './productionEnum.macro'\n\nexport const unknown = productionEnum('__autocomplete_unknown__')\nexport const mouseUp = productionEnum('__autocomplete_mouseup__')\nexport const itemMouseEnter = productionEnum('__autocomplete_item_mouseenter__')\nexport const keyDownArrowUp = productionEnum(\n '__autocomplete_keydown_arrow_up__',\n)\nexport const keyDownArrowDown = productionEnum(\n '__autocomplete_keydown_arrow_down__',\n)\nexport const keyDownEscape = productionEnum('__autocomplete_keydown_escape__')\nexport const keyDownEnter = productionEnum('__autocomplete_keydown_enter__')\nexport const keyDownHome = productionEnum('__autocomplete_keydown_home__')\nexport const keyDownEnd = productionEnum('__autocomplete_keydown_enter__')\nexport const clickItem = productionEnum('__autocomplete_click_item__')\nexport const blurInput = productionEnum('__autocomplete_blur_input__')\nexport const changeInput = productionEnum('__autocomplete_change_input__')\nexport const keyDownSpaceButton = productionEnum(\n '__autocomplete_keydown_space_button__',\n)\nexport const clickButton = productionEnum('__autocomplete_click_button__')\nexport const blurButton = productionEnum('__autocomplete_blur_button__')\nexport const controlledPropUpdatedSelectedItem = productionEnum(\n '__autocomplete_controlled_prop_updated_selected_item__',\n)\nexport const touchEnd = productionEnum('__autocomplete_touchend__')\n","function isElement(el) {\n return el != null && typeof el === 'object' && el.nodeType === 1;\n}\n\nfunction canOverflow(overflow, skipOverflowHiddenElements) {\n if (skipOverflowHiddenElements && overflow === 'hidden') {\n return false;\n }\n\n return overflow !== 'visible' && overflow !== 'clip';\n}\n\nfunction isScrollable(el, skipOverflowHiddenElements) {\n if (el.clientHeight < el.scrollHeight || el.clientWidth < el.scrollWidth) {\n var style = getComputedStyle(el, null);\n return canOverflow(style.overflowY, skipOverflowHiddenElements) || canOverflow(style.overflowX, skipOverflowHiddenElements);\n }\n\n return false;\n}\n\nfunction alignNearest(scrollingEdgeStart, scrollingEdgeEnd, scrollingSize, scrollingBorderStart, scrollingBorderEnd, elementEdgeStart, elementEdgeEnd, elementSize) {\n if (elementEdgeStart < scrollingEdgeStart && elementEdgeEnd > scrollingEdgeEnd || elementEdgeStart > scrollingEdgeStart && elementEdgeEnd < scrollingEdgeEnd) {\n return 0;\n }\n\n if (elementEdgeStart <= scrollingEdgeStart && elementSize <= scrollingSize || elementEdgeEnd >= scrollingEdgeEnd && elementSize >= scrollingSize) {\n return elementEdgeStart - scrollingEdgeStart - scrollingBorderStart;\n }\n\n if (elementEdgeEnd > scrollingEdgeEnd && elementSize < scrollingSize || elementEdgeStart < scrollingEdgeStart && elementSize > scrollingSize) {\n return elementEdgeEnd - scrollingEdgeEnd + scrollingBorderEnd;\n }\n\n return 0;\n}\n\nexport default (function (target, options) {\n var scrollMode = options.scrollMode,\n block = options.block,\n inline = options.inline,\n boundary = options.boundary,\n skipOverflowHiddenElements = options.skipOverflowHiddenElements;\n var checkBoundary = typeof boundary === 'function' ? boundary : function (node) {\n return node !== boundary;\n };\n\n if (!isElement(target)) {\n throw new TypeError('Invalid target');\n }\n\n var scrollingElement = document.scrollingElement || document.documentElement;\n var frames = [];\n var cursor = target;\n\n while (isElement(cursor) && checkBoundary(cursor)) {\n cursor = cursor.parentNode;\n\n if (cursor === scrollingElement) {\n frames.push(cursor);\n break;\n }\n\n if (cursor === document.body && isScrollable(cursor) && !isScrollable(document.documentElement)) {\n continue;\n }\n\n if (isScrollable(cursor, skipOverflowHiddenElements)) {\n frames.push(cursor);\n }\n }\n\n var viewportWidth = window.visualViewport ? visualViewport.width : innerWidth;\n var viewportHeight = window.visualViewport ? visualViewport.height : innerHeight;\n var viewportX = window.scrollX || pageXOffset;\n var viewportY = window.scrollY || pageYOffset;\n\n var _target$getBoundingCl = target.getBoundingClientRect(),\n targetHeight = _target$getBoundingCl.height,\n targetWidth = _target$getBoundingCl.width,\n targetTop = _target$getBoundingCl.top,\n targetRight = _target$getBoundingCl.right,\n targetBottom = _target$getBoundingCl.bottom,\n targetLeft = _target$getBoundingCl.left;\n\n var targetBlock = block === 'start' || block === 'nearest' ? targetTop : block === 'end' ? targetBottom : targetTop + targetHeight / 2;\n var targetInline = inline === 'center' ? targetLeft + targetWidth / 2 : inline === 'end' ? targetRight : targetLeft;\n var computations = [];\n\n for (var index = 0; index < frames.length; index++) {\n var frame = frames[index];\n\n var _frame$getBoundingCli = frame.getBoundingClientRect(),\n _height = _frame$getBoundingCli.height,\n _width = _frame$getBoundingCli.width,\n _top = _frame$getBoundingCli.top,\n right = _frame$getBoundingCli.right,\n bottom = _frame$getBoundingCli.bottom,\n _left = _frame$getBoundingCli.left;\n\n if (scrollMode === 'if-needed' && targetTop >= 0 && targetLeft >= 0 && targetBottom <= viewportHeight && targetRight <= viewportWidth && targetTop >= _top && targetBottom <= bottom && targetLeft >= _left && targetRight <= right) {\n return computations;\n }\n\n var frameStyle = getComputedStyle(frame);\n var borderLeft = parseInt(frameStyle.borderLeftWidth, 10);\n var borderTop = parseInt(frameStyle.borderTopWidth, 10);\n var borderRight = parseInt(frameStyle.borderRightWidth, 10);\n var borderBottom = parseInt(frameStyle.borderBottomWidth, 10);\n var blockScroll = 0;\n var inlineScroll = 0;\n var scrollbarWidth = 'offsetWidth' in frame ? frame.offsetWidth - frame.clientWidth - borderLeft - borderRight : 0;\n var scrollbarHeight = 'offsetHeight' in frame ? frame.offsetHeight - frame.clientHeight - borderTop - borderBottom : 0;\n\n if (scrollingElement === frame) {\n if (block === 'start') {\n blockScroll = targetBlock;\n } else if (block === 'end') {\n blockScroll = targetBlock - viewportHeight;\n } else if (block === 'nearest') {\n blockScroll = alignNearest(viewportY, viewportY + viewportHeight, viewportHeight, borderTop, borderBottom, viewportY + targetBlock, viewportY + targetBlock + targetHeight, targetHeight);\n } else {\n blockScroll = targetBlock - viewportHeight / 2;\n }\n\n if (inline === 'start') {\n inlineScroll = targetInline;\n } else if (inline === 'center') {\n inlineScroll = targetInline - viewportWidth / 2;\n } else if (inline === 'end') {\n inlineScroll = targetInline - viewportWidth;\n } else {\n inlineScroll = alignNearest(viewportX, viewportX + viewportWidth, viewportWidth, borderLeft, borderRight, viewportX + targetInline, viewportX + targetInline + targetWidth, targetWidth);\n }\n\n blockScroll = Math.max(0, blockScroll + viewportY);\n inlineScroll = Math.max(0, inlineScroll + viewportX);\n } else {\n if (block === 'start') {\n blockScroll = targetBlock - _top - borderTop;\n } else if (block === 'end') {\n blockScroll = targetBlock - bottom + borderBottom + scrollbarHeight;\n } else if (block === 'nearest') {\n blockScroll = alignNearest(_top, bottom, _height, borderTop, borderBottom + scrollbarHeight, targetBlock, targetBlock + targetHeight, targetHeight);\n } else {\n blockScroll = targetBlock - (_top + _height / 2) + scrollbarHeight / 2;\n }\n\n if (inline === 'start') {\n inlineScroll = targetInline - _left - borderLeft;\n } else if (inline === 'center') {\n inlineScroll = targetInline - (_left + _width / 2) + scrollbarWidth / 2;\n } else if (inline === 'end') {\n inlineScroll = targetInline - right + borderRight + scrollbarWidth;\n } else {\n inlineScroll = alignNearest(_left, right, _width, borderLeft, borderRight + scrollbarWidth, targetInline, targetInline + targetWidth, targetWidth);\n }\n\n var scrollLeft = frame.scrollLeft,\n scrollTop = frame.scrollTop;\n blockScroll = Math.max(0, Math.min(scrollTop + blockScroll, frame.scrollHeight - _height + scrollbarHeight));\n inlineScroll = Math.max(0, Math.min(scrollLeft + inlineScroll, frame.scrollWidth - _width + scrollbarWidth));\n targetBlock += scrollTop - blockScroll;\n targetInline += scrollLeft - inlineScroll;\n }\n\n computations.push({\n el: frame,\n top: blockScroll,\n left: inlineScroll\n });\n }\n\n return computations;\n});","import computeScrollIntoView from 'compute-scroll-into-view'\nimport {isPreact} from './is.macro'\n\nlet idCounter = 0\n\n/**\n * Accepts a parameter and returns it if it's a function\n * or a noop function if it's not. This allows us to\n * accept a callback, but not worry about it if it's not\n * passed.\n * @param {Function} cb the callback\n * @return {Function} a function\n */\nfunction cbToCb(cb) {\n return typeof cb === 'function' ? cb : noop\n}\n\nfunction noop() {}\n\n/**\n * Scroll node into view if necessary\n * @param {HTMLElement} node the element that should scroll into view\n * @param {HTMLElement} menuNode the menu element of the component\n */\nfunction scrollIntoView(node, menuNode) {\n if (node === null) {\n return\n }\n\n const actions = computeScrollIntoView(node, {\n boundary: menuNode,\n block: 'nearest',\n scrollMode: 'if-needed',\n })\n actions.forEach(({el, top, left}) => {\n el.scrollTop = top\n el.scrollLeft = left\n })\n}\n\n/**\n * @param {HTMLElement} parent the parent node\n * @param {HTMLElement} child the child node\n * @return {Boolean} whether the parent is the child or the child is in the parent\n */\nfunction isOrContainsNode(parent, child) {\n return parent === child || (parent.contains && parent.contains(child))\n}\n\n/**\n * Simple debounce implementation. Will call the given\n * function once after the time given has passed since\n * it was last called.\n * @param {Function} fn the function to call after the time\n * @param {Number} time the time to wait\n * @return {Function} the debounced function\n */\nfunction debounce(fn, time) {\n let timeoutId\n\n function cancel() {\n if (timeoutId) {\n clearTimeout(timeoutId)\n }\n }\n\n function wrapper(...args) {\n cancel()\n timeoutId = setTimeout(() => {\n timeoutId = null\n fn(...args)\n }, time)\n }\n\n wrapper.cancel = cancel\n\n return wrapper\n}\n\n/**\n * This is intended to be used to compose event handlers.\n * They are executed in order until one of them sets\n * `event.preventDownshiftDefault = true`.\n * @param {...Function} fns the event handler functions\n * @return {Function} the event handler to add to an element\n */\nfunction callAllEventHandlers(...fns) {\n return (event, ...args) =>\n fns.some(fn => {\n if (fn) {\n fn(event, ...args)\n }\n return (\n event.preventDownshiftDefault ||\n (event.hasOwnProperty('nativeEvent') &&\n event.nativeEvent.preventDownshiftDefault)\n )\n })\n}\n\n/**\n * This return a function that will call all the given functions with\n * the arguments with which it's called. It does a null-check before\n * attempting to call the functions and can take any number of functions.\n * @param {...Function} fns the functions to call\n * @return {Function} the function that calls all the functions\n */\nfunction callAll(...fns) {\n return (...args) => {\n fns.forEach(fn => {\n if (fn) {\n fn(...args)\n }\n })\n }\n}\n\n/**\n * This generates a unique ID for an instance of Downshift\n * @return {String} the unique ID\n */\nfunction generateId() {\n return String(idCounter++)\n}\n\n/**\n * This is only used in tests\n * @param {Number} num the number to set the idCounter to\n */\nfunction setIdCounter(num) {\n idCounter = num\n}\n\n/**\n * Resets idCounter to 0. Used for SSR.\n */\nfunction resetIdCounter() {\n idCounter = 0\n}\n\n/**\n * @param {Object} param the downshift state and other relevant properties\n * @return {String} the a11y status message\n */\nfunction getA11yStatusMessage({\n isOpen,\n selectedItem,\n resultCount,\n previousResultCount,\n itemToString,\n}) {\n if (!isOpen) {\n return selectedItem ? itemToString(selectedItem) : ''\n }\n if (!resultCount) {\n return 'No results are available.'\n }\n if (resultCount !== previousResultCount) {\n return `${resultCount} result${\n resultCount === 1 ? ' is' : 's are'\n } available, use up and down arrow keys to navigate. Press Enter key to select.`\n }\n return ''\n}\n\n/**\n * Takes an argument and if it's an array, returns the first item in the array\n * otherwise returns the argument\n * @param {*} arg the maybe-array\n * @param {*} defaultValue the value if arg is falsey not defined\n * @return {*} the arg or it's first item\n */\nfunction unwrapArray(arg, defaultValue) {\n arg = Array.isArray(arg) ? /* istanbul ignore next (preact) */ arg[0] : arg\n if (!arg && defaultValue) {\n return defaultValue\n } else {\n return arg\n }\n}\n\n/**\n * @param {Object} element (P)react element\n * @return {Boolean} whether it's a DOM element\n */\nfunction isDOMElement(element) {\n /* istanbul ignore if */\n if (isPreact) {\n // then this is preact\n return typeof element.nodeName === 'string'\n }\n\n // then we assume this is react\n return typeof element.type === 'string'\n}\n\n/**\n * @param {Object} element (P)react element\n * @return {Object} the props\n */\nfunction getElementProps(element) {\n // props for react, attributes for preact\n\n /* istanbul ignore if */\n if (isPreact) {\n return element.attributes\n }\n\n return element.props\n}\n\n/**\n * Throws a helpful error message for required properties. Useful\n * to be used as a default in destructuring or object params.\n * @param {String} fnName the function name\n * @param {String} propName the prop name\n */\nfunction requiredProp(fnName, propName) {\n // eslint-disable-next-line no-console\n console.error(`The property \"${propName}\" is required in \"${fnName}\"`)\n}\n\nconst stateKeys = [\n 'highlightedIndex',\n 'inputValue',\n 'isOpen',\n 'selectedItem',\n 'type',\n]\n/**\n * @param {Object} state the state object\n * @return {Object} state that is relevant to downshift\n */\nfunction pickState(state = {}) {\n const result = {}\n stateKeys.forEach(k => {\n if (state.hasOwnProperty(k)) {\n result[k] = state[k]\n }\n })\n return result\n}\n\n/**\n * Normalizes the 'key' property of a KeyboardEvent in IE/Edge\n * @param {Object} event a keyboardEvent object\n * @return {String} keyboard key\n */\nfunction normalizeArrowKey(event) {\n const {key, keyCode} = event\n /* istanbul ignore next (ie) */\n if (keyCode >= 37 && keyCode <= 40 && key.indexOf('Arrow') !== 0) {\n return `Arrow${key}`\n }\n return key\n}\n\n/**\n * Simple check if the value passed is object literal\n * @param {*} obj any things\n * @return {Boolean} whether it's object literal\n */\nfunction isPlainObject(obj) {\n return Object.prototype.toString.call(obj) === '[object Object]'\n}\n\n/**\n * Returns the new index in the list, in a circular way. If next value is out of bonds from the total,\n * it will wrap to either 0 or itemCount - 1.\n *\n * @param {number} moveAmount Number of positions to move. Negative to move backwards, positive forwards.\n * @param {number} baseIndex The initial position to move from.\n * @param {number} itemCount The total number of items.\n * @returns {number} The new index after the move.\n */\nfunction getNextWrappingIndex(moveAmount, baseIndex, itemCount) {\n const itemsLastIndex = itemCount - 1\n\n if (\n typeof baseIndex !== 'number' ||\n baseIndex < 0 ||\n baseIndex >= itemCount\n ) {\n baseIndex = moveAmount > 0 ? -1 : itemsLastIndex + 1\n }\n let newIndex = baseIndex + moveAmount\n if (newIndex < 0) {\n newIndex = itemsLastIndex\n } else if (newIndex > itemsLastIndex) {\n newIndex = 0\n }\n return newIndex\n}\n\nexport {\n cbToCb,\n callAllEventHandlers,\n callAll,\n debounce,\n scrollIntoView,\n generateId,\n getA11yStatusMessage,\n unwrapArray,\n isDOMElement,\n getElementProps,\n isOrContainsNode,\n noop,\n requiredProp,\n setIdCounter,\n resetIdCounter,\n pickState,\n isPlainObject,\n normalizeArrowKey,\n getNextWrappingIndex,\n}\n","/* eslint camelcase:0 */\n\nimport PropTypes from 'prop-types'\nimport React, {Component} from 'react'\nimport {isForwardRef} from 'react-is'\nimport {isPreact, isReactNative} from './is.macro'\nimport setA11yStatus from './set-a11y-status'\nimport * as stateChangeTypes from './stateChangeTypes'\nimport {\n callAll,\n callAllEventHandlers,\n cbToCb,\n debounce,\n generateId,\n getA11yStatusMessage,\n getElementProps,\n isDOMElement,\n isOrContainsNode,\n isPlainObject,\n noop,\n normalizeArrowKey,\n pickState,\n requiredProp,\n scrollIntoView,\n unwrapArray,\n getNextWrappingIndex,\n} from './utils'\n\nclass Downshift extends Component {\n static propTypes = {\n children: PropTypes.func,\n defaultHighlightedIndex: PropTypes.number,\n defaultIsOpen: PropTypes.bool,\n initialHighlightedIndex: PropTypes.number,\n initialSelectedItem: PropTypes.any,\n initialInputValue: PropTypes.string,\n initialIsOpen: PropTypes.bool,\n getA11yStatusMessage: PropTypes.func,\n itemToString: PropTypes.func,\n onChange: PropTypes.func,\n onSelect: PropTypes.func,\n onStateChange: PropTypes.func,\n onInputValueChange: PropTypes.func,\n onUserAction: PropTypes.func,\n onOuterClick: PropTypes.func,\n selectedItemChanged: PropTypes.func,\n stateReducer: PropTypes.func,\n itemCount: PropTypes.number,\n id: PropTypes.string,\n environment: PropTypes.shape({\n addEventListener: PropTypes.func,\n removeEventListener: PropTypes.func,\n document: PropTypes.shape({\n getElementById: PropTypes.func,\n activeElement: PropTypes.any,\n body: PropTypes.any,\n }),\n }),\n suppressRefError: PropTypes.bool,\n scrollIntoView: PropTypes.func,\n // things we keep in state for uncontrolled components\n // but can accept as props for controlled components\n /* eslint-disable react/no-unused-prop-types */\n selectedItem: PropTypes.any,\n isOpen: PropTypes.bool,\n inputValue: PropTypes.string,\n highlightedIndex: PropTypes.number,\n labelId: PropTypes.string,\n inputId: PropTypes.string,\n menuId: PropTypes.string,\n getItemId: PropTypes.func,\n /* eslint-enable react/no-unused-prop-types */\n }\n\n static defaultProps = {\n defaultHighlightedIndex: null,\n defaultIsOpen: false,\n getA11yStatusMessage,\n itemToString: i => {\n if (i == null) {\n return ''\n }\n if (\n process.env.NODE_ENV !== 'production' &&\n isPlainObject(i) &&\n !i.hasOwnProperty('toString')\n ) {\n // eslint-disable-next-line no-console\n console.warn(\n 'downshift: An object was passed to the default implementation of `itemToString`. You should probably provide your own `itemToString` implementation. Please refer to the `itemToString` API documentation.',\n 'The object that was passed:',\n i,\n )\n }\n return String(i)\n },\n onStateChange: noop,\n onInputValueChange: noop,\n onUserAction: noop,\n onChange: noop,\n onSelect: noop,\n onOuterClick: noop,\n selectedItemChanged: (prevItem, item) => prevItem !== item,\n environment:\n typeof window === 'undefined' /* istanbul ignore next (ssr) */\n ? {}\n : window,\n stateReducer: (state, stateToSet) => stateToSet,\n suppressRefError: false,\n scrollIntoView,\n }\n\n static stateChangeTypes = stateChangeTypes\n\n constructor(props) {\n super(props)\n // fancy destructuring + defaults + aliases\n // this basically says each value of state should either be set to\n // the initial value or the default value if the initial value is not provided\n const {\n defaultHighlightedIndex,\n initialHighlightedIndex: highlightedIndex = defaultHighlightedIndex,\n defaultIsOpen,\n initialIsOpen: isOpen = defaultIsOpen,\n initialInputValue: inputValue = '',\n initialSelectedItem: selectedItem = null,\n } = this.props\n const state = this.getState({\n highlightedIndex,\n isOpen,\n inputValue,\n selectedItem,\n })\n if (\n state.selectedItem != null &&\n this.props.initialInputValue === undefined\n ) {\n state.inputValue = this.props.itemToString(state.selectedItem)\n }\n this.state = state\n }\n\n id = this.props.id || `downshift-${generateId()}`\n menuId = this.props.menuId || `${this.id}-menu`\n labelId = this.props.labelId || `${this.id}-label`\n inputId = this.props.inputId || `${this.id}-input`\n getItemId = this.props.getItemId || (index => `${this.id}-item-${index}`)\n\n input = null\n items = []\n // itemCount can be changed asynchronously\n // from within downshift (so it can't come from a prop)\n // this is why we store it as an instance and use\n // getItemCount rather than just use items.length\n // (to support windowing + async)\n itemCount = null\n previousResultCount = 0\n\n timeoutIds = []\n\n /**\n * @param {Function} fn the function to call after the time\n * @param {Number} time the time to wait\n */\n internalSetTimeout = (fn, time) => {\n const id = setTimeout(() => {\n this.timeoutIds = this.timeoutIds.filter(i => i !== id)\n fn()\n }, time)\n\n this.timeoutIds.push(id)\n }\n\n /**\n * Clear all running timeouts\n */\n internalClearTimeouts() {\n this.timeoutIds.forEach(id => {\n clearTimeout(id)\n })\n\n this.timeoutIds = []\n }\n\n /**\n * Gets the state based on internal state or props\n * If a state value is passed via props, then that\n * is the value given, otherwise it's retrieved from\n * stateToMerge\n *\n * This will perform a shallow merge of the given state object\n * with the state coming from props\n * (for the controlled component scenario)\n * This is used in state updater functions so they're referencing\n * the right state regardless of where it comes from.\n *\n * @param {Object} stateToMerge defaults to this.state\n * @return {Object} the state\n */\n getState(stateToMerge = this.state) {\n return Object.keys(stateToMerge).reduce((state, key) => {\n state[key] = this.isControlledProp(key)\n ? this.props[key]\n : stateToMerge[key]\n return state\n }, {})\n }\n\n /**\n * This determines whether a prop is a \"controlled prop\" meaning it is\n * state which is controlled by the outside of this component rather\n * than within this component.\n * @param {String} key the key to check\n * @return {Boolean} whether it is a controlled controlled prop\n */\n isControlledProp(key) {\n return this.props[key] !== undefined\n }\n\n getItemCount() {\n // things read better this way. They're in priority order:\n // 1. `this.itemCount`\n // 2. `this.props.itemCount`\n // 3. `this.items.length`\n let itemCount = this.items.length\n if (this.itemCount != null) {\n itemCount = this.itemCount\n } else if (this.props.itemCount !== undefined) {\n itemCount = this.props.itemCount\n }\n return itemCount\n }\n\n setItemCount = count => {\n this.itemCount = count\n }\n\n unsetItemCount = () => {\n this.itemCount = null\n }\n\n getItemNodeFromIndex(index) {\n return this.props.environment.document.getElementById(this.getItemId(index))\n }\n\n setHighlightedIndex = (\n highlightedIndex = this.props.defaultHighlightedIndex,\n otherStateToSet = {},\n ) => {\n otherStateToSet = pickState(otherStateToSet)\n this.internalSetState({highlightedIndex, ...otherStateToSet})\n }\n\n scrollHighlightedItemIntoView() {\n /* istanbul ignore else (react-native) */\n if (!isReactNative) {\n const node = this.getItemNodeFromIndex(this.getState().highlightedIndex)\n this.props.scrollIntoView(node, this._menuNode)\n }\n }\n\n moveHighlightedIndex(amount, otherStateToSet) {\n const itemCount = this.getItemCount()\n if (itemCount > 0) {\n const nextHighlightedIndex = getNextWrappingIndex(\n amount,\n this.getState().highlightedIndex,\n itemCount,\n )\n this.setHighlightedIndex(nextHighlightedIndex, otherStateToSet)\n }\n }\n\n highlightFirstOrLastIndex(event, first, otherStateToSet) {\n const itemsLastIndex = this.getItemCount() - 1\n if (itemsLastIndex < 0 || !this.getState().isOpen) {\n return\n }\n event.preventDefault()\n this.setHighlightedIndex(first ? 0 : itemsLastIndex, otherStateToSet)\n }\n\n clearSelection = cb => {\n this.internalSetState(\n {\n selectedItem: null,\n inputValue: '',\n highlightedIndex: this.props.defaultHighlightedIndex,\n isOpen: this.props.defaultIsOpen,\n },\n cb,\n )\n }\n\n selectItem = (item, otherStateToSet, cb) => {\n otherStateToSet = pickState(otherStateToSet)\n this.internalSetState(\n {\n isOpen: this.props.defaultIsOpen,\n highlightedIndex: this.props.defaultHighlightedIndex,\n selectedItem: item,\n inputValue: this.props.itemToString(item),\n ...otherStateToSet,\n },\n cb,\n )\n }\n\n selectItemAtIndex = (itemIndex, otherStateToSet, cb) => {\n const item = this.items[itemIndex]\n if (item == null) {\n return\n }\n this.selectItem(item, otherStateToSet, cb)\n }\n\n selectHighlightedItem = (otherStateToSet, cb) => {\n return this.selectItemAtIndex(\n this.getState().highlightedIndex,\n otherStateToSet,\n cb,\n )\n }\n\n // any piece of our state can live in two places:\n // 1. Uncontrolled: it's internal (this.state)\n // We will call this.setState to update that state\n // 2. Controlled: it's external (this.props)\n // We will call this.props.onStateChange to update that state\n //\n // In addition, we'll call this.props.onChange if the\n // selectedItem is changed.\n internalSetState = (stateToSet, cb) => {\n let isItemSelected, onChangeArg\n\n const onStateChangeArg = {}\n const isStateToSetFunction = typeof stateToSet === 'function'\n\n // we want to call `onInputValueChange` before the `setState` call\n // so someone controlling the `inputValue` state gets notified of\n // the input change as soon as possible. This avoids issues with\n // preserving the cursor position.\n // See https://github.com/downshift-js/downshift/issues/217 for more info.\n if (!isStateToSetFunction && stateToSet.hasOwnProperty('inputValue')) {\n this.props.onInputValueChange(stateToSet.inputValue, {\n ...this.getStateAndHelpers(),\n ...stateToSet,\n })\n }\n return this.setState(\n state => {\n state = this.getState(state)\n let newStateToSet = isStateToSetFunction\n ? stateToSet(state)\n : stateToSet\n\n // Your own function that could modify the state that will be set.\n newStateToSet = this.props.stateReducer(state, newStateToSet)\n\n // checks if an item is selected, regardless of if it's different from\n // what was selected before\n // used to determine if onSelect and onChange callbacks should be called\n isItemSelected = newStateToSet.hasOwnProperty('selectedItem')\n // this keeps track of the object we want to call with setState\n const nextState = {}\n // this is just used to tell whether the state changed\n const nextFullState = {}\n // we need to call on change if the outside world is controlling any of our state\n // and we're trying to update that state. OR if the selection has changed and we're\n // trying to update the selection\n if (\n isItemSelected &&\n newStateToSet.selectedItem !== state.selectedItem\n ) {\n onChangeArg = newStateToSet.selectedItem\n }\n newStateToSet.type = newStateToSet.type || stateChangeTypes.unknown\n\n Object.keys(newStateToSet).forEach(key => {\n // onStateChangeArg should only have the state that is\n // actually changing\n if (state[key] !== newStateToSet[key]) {\n onStateChangeArg[key] = newStateToSet[key]\n }\n // the type is useful for the onStateChangeArg\n // but we don't actually want to set it in internal state.\n // this is an undocumented feature for now... Not all internalSetState\n // calls support it and I'm not certain we want them to yet.\n // But it enables users controlling the isOpen state to know when\n // the isOpen state changes due to mouseup events which is quite handy.\n if (key === 'type') {\n return\n }\n nextFullState[key] = newStateToSet[key]\n // if it's coming from props, then we don't care to set it internally\n if (!this.isControlledProp(key)) {\n nextState[key] = newStateToSet[key]\n }\n })\n\n // if stateToSet is a function, then we weren't able to call onInputValueChange\n // earlier, so we'll call it now that we know what the inputValue state will be.\n if (\n isStateToSetFunction &&\n newStateToSet.hasOwnProperty('inputValue')\n ) {\n this.props.onInputValueChange(newStateToSet.inputValue, {\n ...this.getStateAndHelpers(),\n ...newStateToSet,\n })\n }\n\n return nextState\n },\n () => {\n // call the provided callback if it's a function\n cbToCb(cb)()\n\n // only call the onStateChange and onChange callbacks if\n // we have relevant information to pass them.\n const hasMoreStateThanType = Object.keys(onStateChangeArg).length > 1\n if (hasMoreStateThanType) {\n this.props.onStateChange(onStateChangeArg, this.getStateAndHelpers())\n }\n\n if (isItemSelected) {\n this.props.onSelect(\n stateToSet.selectedItem,\n this.getStateAndHelpers(),\n )\n }\n\n if (onChangeArg !== undefined) {\n this.props.onChange(onChangeArg, this.getStateAndHelpers())\n }\n // this is currently undocumented and therefore subject to change\n // We'll try to not break it, but just be warned.\n this.props.onUserAction(onStateChangeArg, this.getStateAndHelpers())\n },\n )\n }\n\n getStateAndHelpers() {\n const {highlightedIndex, inputValue, selectedItem, isOpen} = this.getState()\n const {itemToString} = this.props\n const {id} = this\n const {\n getRootProps,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n getInputProps,\n getItemProps,\n openMenu,\n closeMenu,\n toggleMenu,\n selectItem,\n selectItemAtIndex,\n selectHighlightedItem,\n setHighlightedIndex,\n clearSelection,\n clearItems,\n reset,\n setItemCount,\n unsetItemCount,\n internalSetState: setState,\n } = this\n return {\n // prop getters\n getRootProps,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n getInputProps,\n getItemProps,\n\n // actions\n reset,\n openMenu,\n closeMenu,\n toggleMenu,\n selectItem,\n selectItemAtIndex,\n selectHighlightedItem,\n setHighlightedIndex,\n clearSelection,\n clearItems,\n setItemCount,\n unsetItemCount,\n setState,\n\n // props\n itemToString,\n\n // derived\n id,\n\n // state\n highlightedIndex,\n inputValue,\n isOpen,\n selectedItem,\n }\n }\n\n //////////////////////////// ROOT\n\n rootRef = node => (this._rootNode = node)\n\n getRootProps = (\n {refKey = 'ref', ...rest} = {},\n {suppressRefError = false} = {},\n ) => {\n // this is used in the render to know whether the user has called getRootProps.\n // It uses that to know whether to apply the props automatically\n this.getRootProps.called = true\n this.getRootProps.refKey = refKey\n this.getRootProps.suppressRefError = suppressRefError\n const {isOpen} = this.getState()\n return {\n [refKey]: this.rootRef,\n role: 'combobox',\n 'aria-expanded': isOpen,\n 'aria-haspopup': 'listbox',\n 'aria-owns': isOpen ? this.menuId : null,\n 'aria-labelledby': this.labelId,\n ...rest,\n }\n }\n\n //\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ ROOT\n\n keyDownHandlers = {\n ArrowDown(event) {\n event.preventDefault()\n\n if (this.getState().isOpen) {\n const amount = event.shiftKey ? 5 : 1\n this.moveHighlightedIndex(amount, {\n type: stateChangeTypes.keyDownArrowDown,\n })\n } else {\n this.internalSetState(\n {\n isOpen: true,\n type: stateChangeTypes.keyDownArrowDown,\n },\n () => {\n const itemCount = this.getItemCount()\n if (itemCount > 0) {\n this.setHighlightedIndex(\n getNextWrappingIndex(\n 1,\n this.getState().highlightedIndex,\n itemCount,\n ),\n {type: stateChangeTypes.keyDownArrowDown},\n )\n }\n },\n )\n }\n },\n\n ArrowUp(event) {\n event.preventDefault()\n\n if (this.getState().isOpen) {\n const amount = event.shiftKey ? -5 : -1\n this.moveHighlightedIndex(amount, {\n type: stateChangeTypes.keyDownArrowUp,\n })\n } else {\n this.internalSetState(\n {\n isOpen: true,\n type: stateChangeTypes.keyDownArrowUp,\n },\n () => {\n const itemCount = this.getItemCount()\n if (itemCount > 0) {\n this.setHighlightedIndex(\n getNextWrappingIndex(\n -1,\n this.getState().highlightedIndex,\n itemCount,\n ),\n {type: stateChangeTypes.keyDownArrowDown},\n )\n }\n },\n )\n }\n },\n\n Enter(event) {\n const {isOpen, highlightedIndex} = this.getState()\n if (isOpen && highlightedIndex != null) {\n event.preventDefault()\n const item = this.items[highlightedIndex]\n const itemNode = this.getItemNodeFromIndex(highlightedIndex)\n if (item == null || (itemNode && itemNode.hasAttribute('disabled'))) {\n return\n }\n this.selectHighlightedItem({\n type: stateChangeTypes.keyDownEnter,\n })\n }\n },\n\n Escape(event) {\n event.preventDefault()\n this.reset({type: stateChangeTypes.keyDownEscape})\n },\n }\n\n //////////////////////////// BUTTON\n\n buttonKeyDownHandlers = {\n ...this.keyDownHandlers,\n\n ' '(event) {\n event.preventDefault()\n this.toggleMenu({type: stateChangeTypes.keyDownSpaceButton})\n },\n }\n\n inputKeyDownHandlers = {\n ...this.keyDownHandlers,\n Home(event) {\n this.highlightFirstOrLastIndex(event, true, {\n type: stateChangeTypes.keyDownHome,\n })\n },\n\n End(event) {\n this.highlightFirstOrLastIndex(event, false, {\n type: stateChangeTypes.keyDownEnd,\n })\n },\n }\n\n getToggleButtonProps = ({\n onClick,\n onPress,\n onKeyDown,\n onKeyUp,\n onBlur,\n ...rest\n } = {}) => {\n const {isOpen} = this.getState()\n const enabledEventHandlers = isReactNative\n ? /* istanbul ignore next (react-native) */\n {\n onPress: callAllEventHandlers(onPress, this.buttonHandleClick),\n }\n : {\n onClick: callAllEventHandlers(onClick, this.buttonHandleClick),\n onKeyDown: callAllEventHandlers(onKeyDown, this.buttonHandleKeyDown),\n onKeyUp: callAllEventHandlers(onKeyUp, this.buttonHandleKeyUp),\n onBlur: callAllEventHandlers(onBlur, this.buttonHandleBlur),\n }\n const eventHandlers = rest.disabled ? {} : enabledEventHandlers\n return {\n type: 'button',\n role: 'button',\n 'aria-label': isOpen ? 'close menu' : 'open menu',\n 'aria-haspopup': true,\n 'data-toggle': true,\n ...eventHandlers,\n ...rest,\n }\n }\n\n buttonHandleKeyUp = event => {\n // Prevent click event from emitting in Firefox\n event.preventDefault()\n }\n\n buttonHandleKeyDown = event => {\n const key = normalizeArrowKey(event)\n if (this.buttonKeyDownHandlers[key]) {\n this.buttonKeyDownHandlers[key].call(this, event)\n }\n }\n\n buttonHandleClick = event => {\n event.preventDefault()\n // handle odd case for Safari and Firefox which\n // don't give the button the focus properly.\n /* istanbul ignore if (can't reasonably test this) */\n if (\n !isReactNative &&\n this.props.environment.document.activeElement ===\n this.props.environment.document.body\n ) {\n event.target.focus()\n }\n // to simplify testing components that use downshift, we'll not wrap this in a setTimeout\n // if the NODE_ENV is test. With the proper build system, this should be dead code eliminated\n // when building for production and should therefore have no impact on production code.\n if (process.env.NODE_ENV === 'test') {\n this.toggleMenu({type: stateChangeTypes.clickButton})\n } else {\n // Ensure that toggle of menu occurs after the potential blur event in iOS\n this.internalSetTimeout(() =>\n this.toggleMenu({type: stateChangeTypes.clickButton}),\n )\n }\n }\n\n buttonHandleBlur = event => {\n const blurTarget = event.target // Save blur target for comparison with activeElement later\n // Need setTimeout, so that when the user presses Tab, the activeElement is the next focused element, not body element\n this.internalSetTimeout(() => {\n if (\n !this.isMouseDown &&\n (this.props.environment.document.activeElement == null ||\n this.props.environment.document.activeElement.id !== this.inputId) &&\n this.props.environment.document.activeElement !== blurTarget // Do nothing if we refocus the same element again (to solve issue in Safari on iOS)\n ) {\n this.reset({type: stateChangeTypes.blurButton})\n }\n })\n }\n\n //\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ BUTTON\n\n /////////////////////////////// LABEL\n\n getLabelProps = props => {\n return {htmlFor: this.inputId, id: this.labelId, ...props}\n }\n\n //\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ LABEL\n\n /////////////////////////////// INPUT\n\n getInputProps = ({\n onKeyDown,\n onBlur,\n onChange,\n onInput,\n onChangeText,\n ...rest\n } = {}) => {\n let onChangeKey\n let eventHandlers = {}\n\n /* istanbul ignore next (preact) */\n if (isPreact) {\n onChangeKey = 'onInput'\n } else {\n onChangeKey = 'onChange'\n }\n const {inputValue, isOpen, highlightedIndex} = this.getState()\n\n if (!rest.disabled) {\n eventHandlers = {\n [onChangeKey]: callAllEventHandlers(\n onChange,\n onInput,\n this.inputHandleChange,\n ),\n onKeyDown: callAllEventHandlers(onKeyDown, this.inputHandleKeyDown),\n onBlur: callAllEventHandlers(onBlur, this.inputHandleBlur),\n }\n }\n\n /* istanbul ignore if (react-native) */\n if (isReactNative) {\n eventHandlers = {\n onChange: callAllEventHandlers(\n onChange,\n onInput,\n this.inputHandleChange,\n ),\n onChangeText: callAllEventHandlers(\n onChangeText,\n onInput,\n this.inputHandleTextChange,\n ),\n onBlur: callAllEventHandlers(onBlur, this.inputHandleBlur),\n }\n }\n\n return {\n 'aria-autocomplete': 'list',\n 'aria-activedescendant':\n isOpen && typeof highlightedIndex === 'number' && highlightedIndex >= 0\n ? this.getItemId(highlightedIndex)\n : null,\n 'aria-controls': isOpen ? this.menuId : null,\n 'aria-labelledby': this.labelId,\n // https://developer.mozilla.org/en-US/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion\n // revert back since autocomplete=\"nope\" is ignored on latest Chrome and Opera\n autoComplete: 'off',\n value: inputValue,\n id: this.inputId,\n ...eventHandlers,\n ...rest,\n }\n }\n\n inputHandleKeyDown = event => {\n const key = normalizeArrowKey(event)\n if (key && this.inputKeyDownHandlers[key]) {\n this.inputKeyDownHandlers[key].call(this, event)\n }\n }\n\n inputHandleChange = event => {\n this.internalSetState({\n type: stateChangeTypes.changeInput,\n isOpen: true,\n inputValue: isReactNative\n ? /* istanbul ignore next (react-native) */ event.nativeEvent.text\n : event.target.value,\n highlightedIndex: this.props.defaultHighlightedIndex,\n })\n }\n\n inputHandleTextChange /* istanbul ignore next (react-native) */ = text => {\n this.internalSetState({\n type: stateChangeTypes.changeInput,\n isOpen: true,\n inputValue: text,\n highlightedIndex: this.props.defaultHighlightedIndex,\n })\n }\n\n inputHandleBlur = () => {\n // Need setTimeout, so that when the user presses Tab, the activeElement is the next focused element, not the body element\n this.internalSetTimeout(() => {\n const downshiftButtonIsActive =\n this.props.environment.document &&\n !!this.props.environment.document.activeElement &&\n !!this.props.environment.document.activeElement.dataset &&\n this.props.environment.document.activeElement.dataset.toggle &&\n (this._rootNode &&\n this._rootNode.contains(\n this.props.environment.document.activeElement,\n ))\n if (!this.isMouseDown && !downshiftButtonIsActive) {\n this.reset({type: stateChangeTypes.blurInput})\n }\n })\n }\n\n //\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ INPUT\n\n /////////////////////////////// MENU\n\n menuRef = node => {\n this._menuNode = node\n }\n\n getMenuProps = (\n {refKey = 'ref', ref, ...props} = {},\n {suppressRefError = false} = {},\n ) => {\n this.getMenuProps.called = true\n this.getMenuProps.refKey = refKey\n this.getMenuProps.suppressRefError = suppressRefError\n\n return {\n [refKey]: callAll(ref, this.menuRef),\n role: 'listbox',\n 'aria-labelledby': props && props['aria-label'] ? null : this.labelId,\n id: this.menuId,\n ...props,\n }\n }\n //\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ MENU\n\n /////////////////////////////// ITEM\n getItemProps = ({\n onMouseMove,\n onMouseDown,\n onClick,\n onPress,\n index,\n item = process.env.NODE_ENV === 'production'\n ? /* istanbul ignore next */ undefined\n : requiredProp('getItemProps', 'item'),\n ...rest\n } = {}) => {\n if (index === undefined) {\n this.items.push(item)\n index = this.items.indexOf(item)\n } else {\n this.items[index] = item\n }\n\n const onSelectKey = isReactNative\n ? /* istanbul ignore next (react-native) */ 'onPress'\n : 'onClick'\n const customClickHandler = isReactNative\n ? /* istanbul ignore next (react-native) */ onPress\n : onClick\n\n const enabledEventHandlers = {\n // onMouseMove is used over onMouseEnter here. onMouseMove\n // is only triggered on actual mouse movement while onMouseEnter\n // can fire on DOM changes, interrupting keyboard navigation\n onMouseMove: callAllEventHandlers(onMouseMove, () => {\n if (index === this.getState().highlightedIndex) {\n return\n }\n this.setHighlightedIndex(index, {\n type: stateChangeTypes.itemMouseEnter,\n })\n\n // We never want to manually scroll when changing state based\n // on `onMouseMove` because we will be moving the element out\n // from under the user which is currently scrolling/moving the\n // cursor\n this.avoidScrolling = true\n this.internalSetTimeout(() => (this.avoidScrolling = false), 250)\n }),\n onMouseDown: callAllEventHandlers(onMouseDown, event => {\n // This prevents the activeElement from being changed\n // to the item so it can remain with the current activeElement\n // which is a more common use case.\n event.preventDefault()\n }),\n [onSelectKey]: callAllEventHandlers(customClickHandler, () => {\n this.selectItemAtIndex(index, {\n type: stateChangeTypes.clickItem,\n })\n }),\n }\n\n // Passing down the onMouseDown handler to prevent redirect\n // of the activeElement if clicking on disabled items\n const eventHandlers = rest.disabled\n ? {onMouseDown: enabledEventHandlers.onMouseDown}\n : enabledEventHandlers\n\n return {\n id: this.getItemId(index),\n role: 'option',\n 'aria-selected': this.getState().highlightedIndex === index,\n ...eventHandlers,\n ...rest,\n }\n }\n //\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ ITEM\n\n clearItems = () => {\n this.items = []\n }\n\n reset = (otherStateToSet = {}, cb) => {\n otherStateToSet = pickState(otherStateToSet)\n this.internalSetState(\n ({selectedItem}) => ({\n isOpen: this.props.defaultIsOpen,\n highlightedIndex: this.props.defaultHighlightedIndex,\n inputValue: this.props.itemToString(selectedItem),\n ...otherStateToSet,\n }),\n cb,\n )\n }\n\n toggleMenu = (otherStateToSet = {}, cb) => {\n otherStateToSet = pickState(otherStateToSet)\n this.internalSetState(\n ({isOpen}) => {\n return {\n isOpen: !isOpen,\n ...(isOpen && {\n highlightedIndex: this.props.defaultHighlightedIndex,\n }),\n ...otherStateToSet,\n }\n },\n () => {\n const {isOpen, highlightedIndex} = this.getState()\n if (isOpen) {\n if (this.getItemCount() > 0 && typeof highlightedIndex === 'number') {\n this.setHighlightedIndex(highlightedIndex, otherStateToSet)\n }\n }\n cbToCb(cb)()\n },\n )\n }\n\n openMenu = cb => {\n this.internalSetState({isOpen: true}, cb)\n }\n\n closeMenu = cb => {\n this.internalSetState({isOpen: false}, cb)\n }\n\n updateStatus = debounce(() => {\n const state = this.getState()\n const item = this.items[state.highlightedIndex]\n const resultCount = this.getItemCount()\n const status = this.props.getA11yStatusMessage({\n itemToString: this.props.itemToString,\n previousResultCount: this.previousResultCount,\n resultCount,\n highlightedItem: item,\n ...state,\n })\n this.previousResultCount = resultCount\n\n setA11yStatus(status)\n }, 200)\n\n componentDidMount() {\n /* istanbul ignore if (react-native) */\n if (\n process.env.NODE_ENV !== 'production' &&\n !isReactNative &&\n this.getMenuProps.called &&\n !this.getMenuProps.suppressRefError\n ) {\n validateGetMenuPropsCalledCorrectly(this._menuNode, this.getMenuProps)\n }\n\n /* istanbul ignore if (react-native) */\n if (isReactNative) {\n this.cleanup = () => {\n this.internalClearTimeouts()\n }\n } else {\n const targetWithinDownshift = (target, checkActiveElement = true) => {\n const {document} = this.props.environment\n return [this._rootNode, this._menuNode].some(\n contextNode =>\n contextNode &&\n (isOrContainsNode(contextNode, target) ||\n (checkActiveElement &&\n isOrContainsNode(contextNode, document.activeElement))),\n )\n }\n // this.isMouseDown helps us track whether the mouse is currently held down.\n // This is useful when the user clicks on an item in the list, but holds the mouse\n // down long enough for the list to disappear (because the blur event fires on the input)\n // this.isMouseDown is used in the blur handler on the input to determine whether the blur event should\n // trigger hiding the menu.\n const onMouseDown = () => {\n this.isMouseDown = true\n }\n const onMouseUp = event => {\n this.isMouseDown = false\n // if the target element or the activeElement is within a downshift node\n // then we don't want to reset downshift\n const contextWithinDownshift = targetWithinDownshift(event.target)\n if (!contextWithinDownshift && this.getState().isOpen) {\n this.reset({type: stateChangeTypes.mouseUp}, () =>\n this.props.onOuterClick(this.getStateAndHelpers()),\n )\n }\n }\n // Touching an element in iOS gives focus and hover states, but touching out of\n // the element will remove hover, and persist the focus state, resulting in the\n // blur event not being triggered.\n // this.isTouchMove helps us track whether the user is tapping or swiping on a touch screen.\n // If the user taps outside of Downshift, the component should be reset,\n // but not if the user is swiping\n const onTouchStart = () => {\n this.isTouchMove = false\n }\n\n const onTouchMove = () => {\n this.isTouchMove = true\n }\n\n const onTouchEnd = event => {\n const contextWithinDownshift = targetWithinDownshift(\n event.target,\n false,\n )\n if (\n !this.isTouchMove &&\n !contextWithinDownshift &&\n this.getState().isOpen\n ) {\n this.reset({type: stateChangeTypes.touchEnd}, () =>\n this.props.onOuterClick(this.getStateAndHelpers()),\n )\n }\n }\n\n this.props.environment.addEventListener('mousedown', onMouseDown)\n this.props.environment.addEventListener('mouseup', onMouseUp)\n this.props.environment.addEventListener('touchstart', onTouchStart)\n this.props.environment.addEventListener('touchmove', onTouchMove)\n this.props.environment.addEventListener('touchend', onTouchEnd)\n\n this.cleanup = () => {\n this.internalClearTimeouts()\n this.updateStatus.cancel()\n this.props.environment.removeEventListener('mousedown', onMouseDown)\n this.props.environment.removeEventListener('mouseup', onMouseUp)\n this.props.environment.removeEventListener('touchstart', onTouchStart)\n this.props.environment.removeEventListener('touchmove', onTouchMove)\n this.props.environment.removeEventListener('touchend', onTouchEnd)\n }\n }\n }\n\n shouldScroll(prevState, prevProps) {\n const {highlightedIndex: currentHighlightedIndex} =\n this.props.highlightedIndex === undefined ? this.getState() : this.props\n const {highlightedIndex: prevHighlightedIndex} =\n prevProps.highlightedIndex === undefined ? prevState : prevProps\n const scrollWhenOpen =\n currentHighlightedIndex && this.getState().isOpen && !prevState.isOpen\n const scrollWhenNavigating =\n currentHighlightedIndex !== prevHighlightedIndex\n\n return scrollWhenOpen || scrollWhenNavigating\n }\n\n componentDidUpdate(prevProps, prevState) {\n if (process.env.NODE_ENV !== 'production') {\n validateControlledUnchanged(prevProps, this.props)\n /* istanbul ignore if (react-native) */\n if (\n !isReactNative &&\n this.getMenuProps.called &&\n !this.getMenuProps.suppressRefError\n ) {\n validateGetMenuPropsCalledCorrectly(this._menuNode, this.getMenuProps)\n }\n }\n\n if (\n this.isControlledProp('selectedItem') &&\n this.props.selectedItemChanged(\n prevProps.selectedItem,\n this.props.selectedItem,\n )\n ) {\n this.internalSetState({\n type: stateChangeTypes.controlledPropUpdatedSelectedItem,\n inputValue: this.props.itemToString(this.props.selectedItem),\n })\n }\n\n if (!this.avoidScrolling && this.shouldScroll(prevState, prevProps)) {\n this.scrollHighlightedItemIntoView()\n }\n\n /* istanbul ignore else (react-native) */\n if (!isReactNative) {\n this.updateStatus()\n }\n }\n\n componentWillUnmount() {\n this.cleanup() // avoids memory leak\n }\n\n render() {\n const children = unwrapArray(this.props.children, noop)\n // because the items are rerendered every time we call the children\n // we clear this out each render and it will be populated again as\n // getItemProps is called.\n this.clearItems()\n // we reset this so we know whether the user calls getRootProps during\n // this render. If they do then we don't need to do anything,\n // if they don't then we need to clone the element they return and\n // apply the props for them.\n this.getRootProps.called = false\n this.getRootProps.refKey = undefined\n this.getRootProps.suppressRefError = undefined\n // we do something similar for getMenuProps\n this.getMenuProps.called = false\n this.getMenuProps.refKey = undefined\n this.getMenuProps.suppressRefError = undefined\n // we do something similar for getLabelProps\n this.getLabelProps.called = false\n // and something similar for getInputProps\n this.getInputProps.called = false\n const element = unwrapArray(children(this.getStateAndHelpers()))\n if (!element) {\n return null\n }\n\n if (this.getRootProps.called || this.props.suppressRefError) {\n if (\n process.env.NODE_ENV !== 'production' &&\n !this.getRootProps.suppressRefError &&\n !this.props.suppressRefError\n ) {\n validateGetRootPropsCalledCorrectly(element, this.getRootProps)\n }\n return element\n } else if (isDOMElement(element)) {\n // they didn't apply the root props, but we can clone\n // this and apply the props ourselves\n return React.cloneElement(\n element,\n this.getRootProps(getElementProps(element)),\n )\n }\n\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n // they didn't apply the root props, but they need to\n // otherwise we can't query around the autocomplete\n\n throw new Error(\n 'downshift: If you return a non-DOM element, you must use apply the getRootProps function',\n )\n }\n\n /* istanbul ignore next */\n return undefined\n }\n}\n\nexport default Downshift\n\nfunction validateGetMenuPropsCalledCorrectly(node, {refKey}) {\n if (!node) {\n // eslint-disable-next-line no-console\n console.error(\n `downshift: The ref prop \"${refKey}\" from getMenuProps was not applied correctly on your menu element.`,\n )\n }\n}\n\nfunction validateGetRootPropsCalledCorrectly(element, {refKey}) {\n const refKeySpecified = refKey !== 'ref'\n const isComposite = !isDOMElement(element)\n if (isComposite && !refKeySpecified && !isForwardRef(element)) {\n // eslint-disable-next-line no-console\n console.error(\n 'downshift: You returned a non-DOM element. You must specify a refKey in getRootProps',\n )\n } else if (!isComposite && refKeySpecified) {\n // eslint-disable-next-line no-console\n console.error(\n `downshift: You returned a DOM element. You should not specify a refKey in getRootProps. You specified \"${refKey}\"`,\n )\n }\n if (!isForwardRef(element) && !getElementProps(element)[refKey]) {\n // eslint-disable-next-line no-console\n console.error(\n `downshift: You must apply the ref prop \"${refKey}\" from getRootProps onto your root element.`,\n )\n }\n}\n\nfunction validateControlledUnchanged(prevProps, nextProps) {\n const warningDescription = `This prop should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled Downshift element for the lifetime of the component. More info: https://github.com/downshift-js/downshift#control-props`\n ;['selectedItem', 'isOpen', 'inputValue', 'highlightedIndex'].forEach(\n propKey => {\n if (\n prevProps[propKey] !== undefined &&\n nextProps[propKey] === undefined\n ) {\n // eslint-disable-next-line no-console\n console.error(\n `downshift: A component has changed the controlled prop \"${propKey}\" to be uncontrolled. ${warningDescription}`,\n )\n } else if (\n prevProps[propKey] === undefined &&\n nextProps[propKey] !== undefined\n ) {\n // eslint-disable-next-line no-console\n console.error(\n `downshift: A component has changed the uncontrolled prop \"${propKey}\" to be controlled. ${warningDescription}`,\n )\n }\n },\n )\n}\n"],"names":["_objectWithoutPropertiesLoose","source","excluded","target","sourceKeys","Object","keys","key","i","length","indexOf","_extends","assign","arguments","prototype","hasOwnProperty","call","apply","_assertThisInitialized","self","ReferenceError","_inheritsLoose","subClass","superClass","create","constructor","__proto__","defineProperty","exports","value","b","Symbol","for","c","d","e","f","g","h","k","l","m","n","p","q","r","t","a","u","$$typeof","type","v","hasSymbol","REACT_ELEMENT_TYPE","REACT_PORTAL_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_PROVIDER_TYPE","REACT_CONTEXT_TYPE","REACT_ASYNC_MODE_TYPE","REACT_CONCURRENT_MODE_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","lowPriorityWarning","printWarning","format","_len","args","Array","_key","argIndex","message","replace","console","warn","Error","x","condition","undefined","_len2","_key2","concat","lowPriorityWarning$1","typeOf","object","$$typeofType","hasWarnedAboutDeprecatedIsAsyncMode","isAsyncMode","isConcurrentMode","module","require$$1","statusDiv","document","getElementById","statuses","setStatus","status","isSameAsLast","div","getStatusDiv","lastChild","removeChild","firstChild","filter","Boolean","forEach","statusItem","index","appendChild","getStatusChildDiv","display","childDiv","createElement","style","textContent","setAttribute","border","clip","height","margin","overflow","padding","position","width","body","unknown","mouseUp","itemMouseEnter","keyDownArrowUp","keyDownArrowDown","keyDownEscape","keyDownEnter","keyDownHome","keyDownEnd","clickItem","blurInput","changeInput","keyDownSpaceButton","clickButton","blurButton","controlledPropUpdatedSelectedItem","touchEnd","isElement","el","nodeType","canOverflow","skipOverflowHiddenElements","isScrollable","clientHeight","scrollHeight","clientWidth","scrollWidth","getComputedStyle","overflowY","overflowX","alignNearest","scrollingEdgeStart","scrollingEdgeEnd","scrollingSize","scrollingBorderStart","scrollingBorderEnd","elementEdgeStart","elementEdgeEnd","elementSize","options","scrollMode","block","inline","boundary","checkBoundary","node","TypeError","scrollingElement","documentElement","frames","cursor","parentNode","push","viewportWidth","window","visualViewport","innerWidth","viewportHeight","innerHeight","viewportX","scrollX","pageXOffset","viewportY","scrollY","pageYOffset","_target$getBoundingCl","getBoundingClientRect","targetHeight","targetWidth","targetTop","top","targetRight","right","targetBottom","bottom","targetLeft","left","targetBlock","targetInline","computations","frame","_frame$getBoundingCli","_height","_width","_top","_left","frameStyle","borderLeft","parseInt","borderLeftWidth","borderTop","borderTopWidth","borderRight","borderRightWidth","borderBottom","borderBottomWidth","blockScroll","inlineScroll","scrollbarWidth","offsetWidth","scrollbarHeight","offsetHeight","Math","max","scrollLeft","scrollTop","min","idCounter","cbToCb","cb","noop","scrollIntoView","menuNode","actions","computeScrollIntoView","isOrContainsNode","parent","child","contains","debounce","fn","time","timeoutId","cancel","clearTimeout","wrapper","setTimeout","callAllEventHandlers","fns","event","some","preventDownshiftDefault","nativeEvent","callAll","generateId","String","resetIdCounter","getA11yStatusMessage","isOpen","selectedItem","resultCount","previousResultCount","itemToString","unwrapArray","arg","defaultValue","isArray","isDOMElement","element","nodeName","getElementProps","attributes","requiredProp","fnName","propName","error","stateKeys","pickState","state","result","normalizeArrowKey","keyCode","isPlainObject","obj","toString","getNextWrappingIndex","moveAmount","baseIndex","itemCount","itemsLastIndex","newIndex","Downshift","props","id","menuId","labelId","inputId","getItemId","input","items","timeoutIds","internalSetTimeout","setItemCount","count","unsetItemCount","setHighlightedIndex","highlightedIndex","otherStateToSet","defaultHighlightedIndex","internalSetState","clearSelection","inputValue","defaultIsOpen","selectItem","item","selectItemAtIndex","itemIndex","selectHighlightedItem","getState","stateToSet","isItemSelected","onChangeArg","onStateChangeArg","isStateToSetFunction","onInputValueChange","getStateAndHelpers","setState","newStateToSet","stateReducer","nextState","nextFullState","stateChangeTypes","isControlledProp","hasMoreStateThanType","onStateChange","onSelect","onChange","onUserAction","rootRef","_rootNode","getRootProps","refKey","rest","suppressRefError","called","role","keyDownHandlers","ArrowDown","preventDefault","amount","shiftKey","moveHighlightedIndex","getItemCount","ArrowUp","Enter","itemNode","getItemNodeFromIndex","hasAttribute","Escape","reset","buttonKeyDownHandlers","toggleMenu","inputKeyDownHandlers","Home","highlightFirstOrLastIndex","End","getToggleButtonProps","onClick","onPress","onKeyDown","onKeyUp","onBlur","enabledEventHandlers","buttonHandleClick","buttonHandleKeyDown","buttonHandleKeyUp","buttonHandleBlur","eventHandlers","disabled","environment","activeElement","focus","blurTarget","isMouseDown","getLabelProps","htmlFor","getInputProps","onInput","onChangeText","onChangeKey","inputHandleChange","inputHandleKeyDown","inputHandleBlur","autoComplete","inputHandleTextChange","text","downshiftButtonIsActive","dataset","toggle","menuRef","_menuNode","getMenuProps","ref","getItemProps","onMouseMove","onMouseDown","onSelectKey","customClickHandler","avoidScrolling","clearItems","openMenu","closeMenu","updateStatus","highlightedItem","setA11yStatus","initialHighlightedIndex","initialIsOpen","initialInputValue","initialSelectedItem","internalClearTimeouts","stateToMerge","reduce","scrollHighlightedItemIntoView","nextHighlightedIndex","first","componentDidMount","validateGetMenuPropsCalledCorrectly","targetWithinDownshift","checkActiveElement","contextNode","onMouseUp","contextWithinDownshift","onOuterClick","onTouchStart","isTouchMove","onTouchMove","onTouchEnd","addEventListener","cleanup","removeEventListener","shouldScroll","prevState","prevProps","currentHighlightedIndex","prevHighlightedIndex","scrollWhenOpen","componentDidUpdate","validateControlledUnchanged","selectedItemChanged","componentWillUnmount","render","children","validateGetRootPropsCalledCorrectly","React","cloneElement","Component","defaultProps","prevItem","refKeySpecified","isComposite","isForwardRef","nextProps","warningDescription","propKey"],"mappings":";;;;;;;;EAAe,SAASA,6BAAT,CAAuCC,MAAvC,EAA+CC,QAA/C,EAAyD;EACtE,MAAID,MAAM,IAAI,IAAd,EAAoB,OAAO,EAAP;EACpB,MAAIE,MAAM,GAAG,EAAb;EACA,MAAIC,UAAU,GAAGC,MAAM,CAACC,IAAP,CAAYL,MAAZ,CAAjB;EACA,MAAIM,GAAJ,EAASC,CAAT;;EAEA,OAAKA,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGJ,UAAU,CAACK,MAA3B,EAAmCD,CAAC,EAApC,EAAwC;EACtCD,IAAAA,GAAG,GAAGH,UAAU,CAACI,CAAD,CAAhB;EACA,QAAIN,QAAQ,CAACQ,OAAT,CAAiBH,GAAjB,KAAyB,CAA7B,EAAgC;EAChCJ,IAAAA,MAAM,CAACI,GAAD,CAAN,GAAcN,MAAM,CAACM,GAAD,CAApB;EACD;;EAED,SAAOJ,MAAP;EACD;;ECbc,SAASQ,QAAT,GAAoB;EACjCA,EAAAA,QAAQ,GAAGN,MAAM,CAACO,MAAP,IAAiB,UAAUT,MAAV,EAAkB;EAC5C,SAAK,IAAIK,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGK,SAAS,CAACJ,MAA9B,EAAsCD,CAAC,EAAvC,EAA2C;EACzC,UAAIP,MAAM,GAAGY,SAAS,CAACL,CAAD,CAAtB;;EAEA,WAAK,IAAID,GAAT,IAAgBN,MAAhB,EAAwB;EACtB,YAAII,MAAM,CAACS,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqCf,MAArC,EAA6CM,GAA7C,CAAJ,EAAuD;EACrDJ,UAAAA,MAAM,CAACI,GAAD,CAAN,GAAcN,MAAM,CAACM,GAAD,CAApB;EACD;EACF;EACF;;EAED,WAAOJ,MAAP;EACD,GAZD;;EAcA,SAAOQ,QAAQ,CAACM,KAAT,CAAe,IAAf,EAAqBJ,SAArB,CAAP;EACD;;EChBc,SAASK,sBAAT,CAAgCC,IAAhC,EAAsC;EACnD,MAAIA,IAAI,KAAK,KAAK,CAAlB,EAAqB;EACnB,UAAM,IAAIC,cAAJ,CAAmB,2DAAnB,CAAN;EACD;;EAED,SAAOD,IAAP;EACD;;ECNc,SAASE,cAAT,CAAwBC,QAAxB,EAAkCC,UAAlC,EAA8C;EAC3DD,EAAAA,QAAQ,CAACR,SAAT,GAAqBT,MAAM,CAACmB,MAAP,CAAcD,UAAU,CAACT,SAAzB,CAArB;EACAQ,EAAAA,QAAQ,CAACR,SAAT,CAAmBW,WAAnB,GAAiCH,QAAjC;EACAA,EAAAA,QAAQ,CAACI,SAAT,GAAqBH,UAArB;EACD;;;;;;;;;;;ACJD;EASalB,EAAAA,MAAM,CAACsB,cAAP,CAAsBC,OAAtB,EAA8B,YAA9B,EAA2C;EAACC,IAAAA,KAAK,EAAC,CAAC;EAAR,GAA3C;EACb,MAAIC,CAAC,GAAC,eAAa,OAAOC,MAApB,IAA4BA,MAAM,CAACC,GAAzC;EAAA,MAA6CC,CAAC,GAACH,CAAC,GAACC,MAAM,CAACC,GAAP,CAAW,eAAX,CAAD,GAA6B,KAA7E;EAAA,MAAmFE,CAAC,GAACJ,CAAC,GAACC,MAAM,CAACC,GAAP,CAAW,cAAX,CAAD,GAA4B,KAAlH;EAAA,MAAwHG,CAAC,GAACL,CAAC,GAACC,MAAM,CAACC,GAAP,CAAW,gBAAX,CAAD,GAA8B,KAAzJ;EAAA,MAA+JI,CAAC,GAACN,CAAC,GAACC,MAAM,CAACC,GAAP,CAAW,mBAAX,CAAD,GAAiC,KAAnM;EAAA,MAAyMK,CAAC,GAACP,CAAC,GAACC,MAAM,CAACC,GAAP,CAAW,gBAAX,CAAD,GAA8B,KAA1O;EAAA,MAAgPM,CAAC,GAACR,CAAC,GAACC,MAAM,CAACC,GAAP,CAAW,gBAAX,CAAD,GAA8B,KAAjR;EAAA,MAAuRO,CAAC,GAACT,CAAC,GAACC,MAAM,CAACC,GAAP,CAAW,eAAX,CAAD,GAA6B,KAAvT;EAAA,MAA6TQ,CAAC,GAACV,CAAC,GAACC,MAAM,CAACC,GAAP,CAAW,kBAAX,CAAD,GAAgC,KAAhW;EAAA,MAAsWS,CAAC,GAACX,CAAC,GAACC,MAAM,CAACC,GAAP,CAAW,uBAAX,CAAD,GAAqC,KAA9Y;EAAA,MAAoZU,CAAC,GAACZ,CAAC,GAACC,MAAM,CAACC,GAAP,CAAW,mBAAX,CAAD,GAAiC,KAAxb;EAAA,MAA8bW,CAAC,GAACb,CAAC,GAACC,MAAM,CAACC,GAAP,CAAW,gBAAX,CAAD,GAA8B,KAA/d;EAAA,MAAqeY,CAAC,GAACd,CAAC,GAACC,MAAM,CAACC,GAAP,CAAW,YAAX,CAAD,GACxe,KADA;EAAA,MACMa,CAAC,GAACf,CAAC,GAACC,MAAM,CAACC,GAAP,CAAW,YAAX,CAAD,GAA0B,KADnC;;EACyC,WAASc,CAAT,CAAWC,CAAX,EAAa;EAAC,QAAG,aAAW,OAAOA,CAAlB,IAAqB,SAAOA,CAA/B,EAAiC;EAAC,UAAIC,CAAC,GAACD,CAAC,CAACE,QAAR;;EAAiB,cAAOD,CAAP;EAAU,aAAKf,CAAL;EAAO,kBAAOc,CAAC,GAACA,CAAC,CAACG,IAAJ,EAASH,CAAhB;EAAmB,iBAAKP,CAAL;EAAO,iBAAKC,CAAL;EAAO,iBAAKN,CAAL;EAAO,iBAAKE,CAAL;EAAO,iBAAKD,CAAL;EAAO,iBAAKO,CAAL;EAAO,qBAAOI,CAAP;;EAAS;EAAQ,sBAAOA,CAAC,GAACA,CAAC,IAAEA,CAAC,CAACE,QAAP,EAAgBF,CAAvB;EAA0B,qBAAKR,CAAL;EAAO,qBAAKG,CAAL;EAAO,qBAAKJ,CAAL;EAAO,yBAAOS,CAAP;;EAAS;EAAQ,yBAAOC,CAAP;EAAhE;;EAA9E;;EAAwJ,aAAKH,CAAL;EAAO,aAAKD,CAAL;EAAO,aAAKV,CAAL;EAAO,iBAAOc,CAAP;EAA9L;EAAwM;EAAC;;EAAA,WAASG,CAAT,CAAWJ,CAAX,EAAa;EAAC,WAAOD,CAAC,CAACC,CAAD,CAAD,KAAON,CAAd;EAAgB;;EAAAb,EAAAA,cAAA,GAAekB,CAAf;EAAiBlB,EAAAA,iBAAA,GAAkBY,CAAlB;EAAoBZ,EAAAA,sBAAA,GAAuBa,CAAvB;EAAyBb,EAAAA,uBAAA,GAAwBW,CAAxB;EAA0BX,EAAAA,uBAAA,GAAwBU,CAAxB;EAA0BV,EAAAA,eAAA,GAAgBK,CAAhB;EAAkBL,EAAAA,kBAAA,GAAmBc,CAAnB;EACrdd,EAAAA,gBAAA,GAAiBO,CAAjB;EAAmBP,EAAAA,YAAA,GAAaiB,CAAb;EAAejB,EAAAA,YAAA,GAAagB,CAAb;EAAehB,EAAAA,cAAA,GAAeM,CAAf;EAAiBN,EAAAA,gBAAA,GAAiBS,CAAjB;EAAmBT,EAAAA,kBAAA,GAAmBQ,CAAnB;EAAqBR,EAAAA,gBAAA,GAAiBe,CAAjB;;EAAmBf,EAAAA,0BAAA,GAA2B,UAASmB,CAAT,EAAW;EAAC,WAAM,aAAW,OAAOA,CAAlB,IAAqB,eAAa,OAAOA,CAAzC,IAA4CA,CAAC,KAAGZ,CAAhD,IAAmDY,CAAC,KAAGN,CAAvD,IAA0DM,CAAC,KAAGV,CAA9D,IAAiEU,CAAC,KAAGX,CAArE,IAAwEW,CAAC,KAAGJ,CAA5E,IAA+E,aAAW,OAAOI,CAAlB,IAAqB,SAAOA,CAA5B,KAAgCA,CAAC,CAACE,QAAF,KAAaJ,CAAb,IAAgBE,CAAC,CAACE,QAAF,KAAaL,CAA7B,IAAgCG,CAAC,CAACE,QAAF,KAAaX,CAA7C,IAAgDS,CAAC,CAACE,QAAF,KAAaV,CAA7D,IAAgEQ,CAAC,CAACE,QAAF,KAAaP,CAA7G,CAArF;EAAqM,GAA5O;;EAA6Od,EAAAA,mBAAA,GAAoB,UAASmB,CAAT,EAAW;EAAC,WAAOI,CAAC,CAACJ,CAAD,CAAD,IAAMD,CAAC,CAACC,CAAD,CAAD,KAAOP,CAApB;EAAsB,GAAtD;;EAAuDZ,EAAAA,wBAAA,GAAyBuB,CAAzB;;EAA2BvB,EAAAA,yBAAA,GAA0B,UAASmB,CAAT,EAAW;EAAC,WAAOD,CAAC,CAACC,CAAD,CAAD,KAAOR,CAAd;EAAgB,GAAtD;;EAC5bX,EAAAA,yBAAA,GAA0B,UAASmB,CAAT,EAAW;EAAC,WAAOD,CAAC,CAACC,CAAD,CAAD,KAAOT,CAAd;EAAgB,GAAtD;;EAAuDV,EAAAA,iBAAA,GAAkB,UAASmB,CAAT,EAAW;EAAC,WAAM,aAAW,OAAOA,CAAlB,IAAqB,SAAOA,CAA5B,IAA+BA,CAAC,CAACE,QAAF,KAAahB,CAAlD;EAAoD,GAAlF;;EAAmFL,EAAAA,oBAAA,GAAqB,UAASmB,CAAT,EAAW;EAAC,WAAOD,CAAC,CAACC,CAAD,CAAD,KAAOL,CAAd;EAAgB,GAAjD;;EAAkDd,EAAAA,kBAAA,GAAmB,UAASmB,CAAT,EAAW;EAAC,WAAOD,CAAC,CAACC,CAAD,CAAD,KAAOZ,CAAd;EAAgB,GAA/C;;EAAgDP,EAAAA,cAAA,GAAe,UAASmB,CAAT,EAAW;EAAC,WAAOD,CAAC,CAACC,CAAD,CAAD,KAAOF,CAAd;EAAgB,GAA3C;;EAA4CjB,EAAAA,cAAA,GAAe,UAASmB,CAAT,EAAW;EAAC,WAAOD,CAAC,CAACC,CAAD,CAAD,KAAOH,CAAd;EAAgB,GAA3C;;EAA4ChB,EAAAA,gBAAA,GAAiB,UAASmB,CAAT,EAAW;EAAC,WAAOD,CAAC,CAACC,CAAD,CAAD,KAAOb,CAAd;EAAgB,GAA7C;;EAA8CN,EAAAA,kBAAA,GAAmB,UAASmB,CAAT,EAAW;EAAC,WAAOD,CAAC,CAACC,CAAD,CAAD,KAAOV,CAAd;EAAgB,GAA/C;;EAAgDT,EAAAA,oBAAA,GAAqB,UAASmB,CAAT,EAAW;EAAC,WAAOD,CAAC,CAACC,CAAD,CAAD,KAAOX,CAAd;EAAgB,GAAjD;;EAClaR,EAAAA,kBAAA,GAAmB,UAASmB,CAAT,EAAW;EAAC,WAAOD,CAAC,CAACC,CAAD,CAAD,KAAOJ,CAAd;EAAgB,GAA/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACdA;EAcE,GAAC,YAAW;EAGdtC,IAAAA,MAAM,CAACsB,cAAP,CAAsBC,OAAtB,EAA+B,YAA/B,EAA6C;EAAEC,MAAAA,KAAK,EAAE;EAAT,KAA7C,EAHc;;;EAOd,QAAIuB,SAAS,GAAG,OAAOrB,MAAP,KAAkB,UAAlB,IAAgCA,MAAM,CAACC,GAAvD;EAEA,QAAIqB,kBAAkB,GAAGD,SAAS,GAAGrB,MAAM,CAACC,GAAP,CAAW,eAAX,CAAH,GAAiC,MAAnE;EACA,QAAIsB,iBAAiB,GAAGF,SAAS,GAAGrB,MAAM,CAACC,GAAP,CAAW,cAAX,CAAH,GAAgC,MAAjE;EACA,QAAIuB,mBAAmB,GAAGH,SAAS,GAAGrB,MAAM,CAACC,GAAP,CAAW,gBAAX,CAAH,GAAkC,MAArE;EACA,QAAIwB,sBAAsB,GAAGJ,SAAS,GAAGrB,MAAM,CAACC,GAAP,CAAW,mBAAX,CAAH,GAAqC,MAA3E;EACA,QAAIyB,mBAAmB,GAAGL,SAAS,GAAGrB,MAAM,CAACC,GAAP,CAAW,gBAAX,CAAH,GAAkC,MAArE;EACA,QAAI0B,mBAAmB,GAAGN,SAAS,GAAGrB,MAAM,CAACC,GAAP,CAAW,gBAAX,CAAH,GAAkC,MAArE;EACA,QAAI2B,kBAAkB,GAAGP,SAAS,GAAGrB,MAAM,CAACC,GAAP,CAAW,eAAX,CAAH,GAAiC,MAAnE;EACA,QAAI4B,qBAAqB,GAAGR,SAAS,GAAGrB,MAAM,CAACC,GAAP,CAAW,kBAAX,CAAH,GAAoC,MAAzE;EACA,QAAI6B,0BAA0B,GAAGT,SAAS,GAAGrB,MAAM,CAACC,GAAP,CAAW,uBAAX,CAAH,GAAyC,MAAnF;EACA,QAAI8B,sBAAsB,GAAGV,SAAS,GAAGrB,MAAM,CAACC,GAAP,CAAW,mBAAX,CAAH,GAAqC,MAA3E;EACA,QAAI+B,mBAAmB,GAAGX,SAAS,GAAGrB,MAAM,CAACC,GAAP,CAAW,gBAAX,CAAH,GAAkC,MAArE;EACA,QAAIgC,eAAe,GAAGZ,SAAS,GAAGrB,MAAM,CAACC,GAAP,CAAW,YAAX,CAAH,GAA8B,MAA7D;EACA,QAAIiC,eAAe,GAAGb,SAAS,GAAGrB,MAAM,CAACC,GAAP,CAAW,YAAX,CAAH,GAA8B,MAA7D;;;;;;;;;;;;;;;EAsBA,QAAIkC,kBAAkB,GAAG,YAAY,EAArC;;EAEA;EACE,UAAIC,YAAY,GAAG,UAAUC,MAAV,EAAkB;EACnC,aAAK,IAAIC,IAAI,GAAGxD,SAAS,CAACJ,MAArB,EAA6B6D,IAAI,GAAGC,KAAK,CAACF,IAAI,GAAG,CAAP,GAAWA,IAAI,GAAG,CAAlB,GAAsB,CAAvB,CAAzC,EAAoEG,IAAI,GAAG,CAAhF,EAAmFA,IAAI,GAAGH,IAA1F,EAAgGG,IAAI,EAApG,EAAwG;EACtGF,UAAAA,IAAI,CAACE,IAAI,GAAG,CAAR,CAAJ,GAAiB3D,SAAS,CAAC2D,IAAD,CAA1B;EACD;;EAED,YAAIC,QAAQ,GAAG,CAAf;EACA,YAAIC,OAAO,GAAG,cAAcN,MAAM,CAACO,OAAP,CAAe,KAAf,EAAsB,YAAY;EAC5D,iBAAOL,IAAI,CAACG,QAAQ,EAAT,CAAX;EACD,SAF2B,CAA5B;;EAGA,YAAI,OAAOG,OAAP,KAAmB,WAAvB,EAAoC;EAClCA,UAAAA,OAAO,CAACC,IAAR,CAAaH,OAAb;EACD;;EACD,YAAI;;;;EAIF,gBAAM,IAAII,KAAJ,CAAUJ,OAAV,CAAN;EACD,SALD,CAKE,OAAOK,CAAP,EAAU;EACb,OAlBD;;EAoBAb,MAAAA,kBAAkB,GAAG,UAAUc,SAAV,EAAqBZ,MAArB,EAA6B;EAChD,YAAIA,MAAM,KAAKa,SAAf,EAA0B;EACxB,gBAAM,IAAIH,KAAJ,CAAU,yEAAyE,kBAAnF,CAAN;EACD;;EACD,YAAI,CAACE,SAAL,EAAgB;EACd,eAAK,IAAIE,KAAK,GAAGrE,SAAS,CAACJ,MAAtB,EAA8B6D,IAAI,GAAGC,KAAK,CAACW,KAAK,GAAG,CAAR,GAAYA,KAAK,GAAG,CAApB,GAAwB,CAAzB,CAA1C,EAAuEC,KAAK,GAAG,CAApF,EAAuFA,KAAK,GAAGD,KAA/F,EAAsGC,KAAK,EAA3G,EAA+G;EAC7Gb,YAAAA,IAAI,CAACa,KAAK,GAAG,CAAT,CAAJ,GAAkBtE,SAAS,CAACsE,KAAD,CAA3B;EACD;;EAEDhB,UAAAA,YAAY,CAAClD,KAAb,CAAmBgE,SAAnB,EAA8B,CAACb,MAAD,EAASgB,MAAT,CAAgBd,IAAhB,CAA9B;EACD;EACF,OAXD;EAYD;EAED,QAAIe,oBAAoB,GAAGnB,kBAA3B;;EAEA,aAASoB,MAAT,CAAgBC,MAAhB,EAAwB;EACtB,UAAI,OAAOA,MAAP,KAAkB,QAAlB,IAA8BA,MAAM,KAAK,IAA7C,EAAmD;EACjD,YAAItC,QAAQ,GAAGsC,MAAM,CAACtC,QAAtB;;EACA,gBAAQA,QAAR;EACE,eAAKI,kBAAL;EACE,gBAAIH,IAAI,GAAGqC,MAAM,CAACrC,IAAlB;;EAEA,oBAAQA,IAAR;EACE,mBAAKU,qBAAL;EACA,mBAAKC,0BAAL;EACA,mBAAKN,mBAAL;EACA,mBAAKE,mBAAL;EACA,mBAAKD,sBAAL;EACA,mBAAKO,mBAAL;EACE,uBAAOb,IAAP;;EACF;EACE,oBAAIsC,YAAY,GAAGtC,IAAI,IAAIA,IAAI,CAACD,QAAhC;;EAEA,wBAAQuC,YAAR;EACE,uBAAK7B,kBAAL;EACA,uBAAKG,sBAAL;EACA,uBAAKJ,mBAAL;EACE,2BAAO8B,YAAP;;EACF;EACE,2BAAOvC,QAAP;EANJ;;EAXJ;;EAoBF,eAAKgB,eAAL;EACA,eAAKD,eAAL;EACA,eAAKV,iBAAL;EACE,mBAAOL,QAAP;EA3BJ;EA6BD;;EAED,aAAOgC,SAAP;EACD,KArHa;;;EAsId,QAAIQ,mCAAmC,GAAG,KAA1C,CAtIc;;EAyId,aAASC,WAAT,CAAqBH,MAArB,EAA6B;EAC3B;EACE,YAAI,CAACE,mCAAL,EAA0C;EACxCA,UAAAA,mCAAmC,GAAG,IAAtC;EACAJ,UAAAA,oBAAoB,CAAC,KAAD,EAAQ,0DAA0D,4DAA1D,GAAyH,gEAAjI,CAApB;EACD;EACF;EACD,aAAOM,gBAAgB,CAACJ,MAAD,CAAhB,IAA4BD,MAAM,CAACC,MAAD,CAAN,KAAmB3B,qBAAtD;EACD;;EACD,aAAS+B,gBAAT,CAA0BJ,MAA1B,EAAkC;EAChC,aAAOD,MAAM,CAACC,MAAD,CAAN,KAAmB1B,0BAA1B;EACD;;EAmCDjC,IAAAA,cAAA,GAAiB0D,MAAjB;EACA1D,IAAAA,iBAAA,GAhEgBgC,qBAgEhB;EACAhC,IAAAA,sBAAA,GAhEqBiC,0BAgErB;EACAjC,IAAAA,uBAAA,GAhEsB+B,kBAgEtB;EACA/B,IAAAA,uBAAA,GAhEsB8B,mBAgEtB;EACA9B,IAAAA,eAAA,GAhEcyB,kBAgEd;EACAzB,IAAAA,kBAAA,GAhEiBkC,sBAgEjB;EACAlC,IAAAA,gBAAA,GAhEe2B,mBAgEf;EACA3B,IAAAA,YAAA,GAhEWqC,eAgEX;EACArC,IAAAA,YAAA,GAhEWoC,eAgEX;EACApC,IAAAA,cAAA,GAhEa0B,iBAgEb;EACA1B,IAAAA,gBAAA,GAhEe6B,mBAgEf;EACA7B,IAAAA,kBAAA,GAhEiB4B,sBAgEjB;EACA5B,IAAAA,gBAAA,GAhEemC,mBAgEf;;EACAnC,IAAAA,0BAAA,GA9KA,UAA4BsB,IAA5B,EAAkC;EAChC,aAAO,OAAOA,IAAP,KAAgB,QAAhB,IAA4B,OAAOA,IAAP,KAAgB,UAA5C;EAEPA,MAAAA,IAAI,KAAKK,mBAFF,IAEyBL,IAAI,KAAKW,0BAFlC,IAEgEX,IAAI,KAAKO,mBAFzE,IAEgGP,IAAI,KAAKM,sBAFzG,IAEmIN,IAAI,KAAKa,mBAF5I,IAEmK,OAAOb,IAAP,KAAgB,QAAhB,IAA4BA,IAAI,KAAK,IAArC,KAA8CA,IAAI,CAACD,QAAL,KAAkBgB,eAAlB,IAAqCf,IAAI,CAACD,QAAL,KAAkBe,eAAvD,IAA0Ed,IAAI,CAACD,QAAL,KAAkBS,mBAA5F,IAAmHR,IAAI,CAACD,QAAL,KAAkBU,kBAArI,IAA2JT,IAAI,CAACD,QAAL,KAAkBa,sBAA3N,CAF1K;EAGD,KA0KD;;EACAlC,IAAAA,mBAAA,GAAsB8D,WAAtB;EACA9D,IAAAA,wBAAA,GAA2B+D,gBAA3B;;EACA/D,IAAAA,yBAAA,GAnDA,UAA2B2D,MAA3B,EAAmC;EACjC,aAAOD,MAAM,CAACC,MAAD,CAAN,KAAmB5B,kBAA1B;EACD,KAiDD;;EACA/B,IAAAA,yBAAA,GAjDA,UAA2B2D,MAA3B,EAAmC;EACjC,aAAOD,MAAM,CAACC,MAAD,CAAN,KAAmB7B,mBAA1B;EACD,KA+CD;;EACA9B,IAAAA,iBAAA,GA/CA,UAAmB2D,MAAnB,EAA2B;EACzB,aAAO,OAAOA,MAAP,KAAkB,QAAlB,IAA8BA,MAAM,KAAK,IAAzC,IAAiDA,MAAM,CAACtC,QAAP,KAAoBI,kBAA5E;EACD,KA6CD;;EACAzB,IAAAA,oBAAA,GA7CA,UAAsB2D,MAAtB,EAA8B;EAC5B,aAAOD,MAAM,CAACC,MAAD,CAAN,KAAmBzB,sBAA1B;EACD,KA2CD;;EACAlC,IAAAA,kBAAA,GA3CA,UAAoB2D,MAApB,EAA4B;EAC1B,aAAOD,MAAM,CAACC,MAAD,CAAN,KAAmBhC,mBAA1B;EACD,KAyCD;;EACA3B,IAAAA,cAAA,GAzCA,UAAgB2D,MAAhB,EAAwB;EACtB,aAAOD,MAAM,CAACC,MAAD,CAAN,KAAmBtB,eAA1B;EACD,KAuCD;;EACArC,IAAAA,cAAA,GAvCA,UAAgB2D,MAAhB,EAAwB;EACtB,aAAOD,MAAM,CAACC,MAAD,CAAN,KAAmBvB,eAA1B;EACD,KAqCD;;EACApC,IAAAA,gBAAA,GArCA,UAAkB2D,MAAlB,EAA0B;EACxB,aAAOD,MAAM,CAACC,MAAD,CAAN,KAAmBjC,iBAA1B;EACD,KAmCD;;EACA1B,IAAAA,kBAAA,GAnCA,UAAoB2D,MAApB,EAA4B;EAC1B,aAAOD,MAAM,CAACC,MAAD,CAAN,KAAmB9B,mBAA1B;EACD,KAiCD;;EACA7B,IAAAA,oBAAA,GAjCA,UAAsB2D,MAAtB,EAA8B;EAC5B,aAAOD,MAAM,CAACC,MAAD,CAAN,KAAmB/B,sBAA1B;EACD,KA+BD;;EACA5B,IAAAA,kBAAA,GA/BA,UAAoB2D,MAApB,EAA4B;EAC1B,aAAOD,MAAM,CAACC,MAAD,CAAN,KAAmBxB,mBAA1B;EACD,KA6BD;EACG,GAnND;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACdF;EAKE6B,EAAAA,cAAA,GAAiBC,mBAAjB;;;;ECLF;EACA,IAAIC,SAAS,GACX,OAAOC,QAAP,KAAoB,WAApB,GACI,IADJ,GAEIA,QAAQ,CAACC,cAAT,CAAwB,qBAAxB,CAHN;EAKA,IAAIC,QAAQ,GAAG,EAAf;EAEA;;;;EAGA,SAASC,SAAT,CAAmBC,MAAnB,EAA2B;EACzB,MAAMC,YAAY,GAAGH,QAAQ,CAACA,QAAQ,CAACxF,MAAT,GAAkB,CAAnB,CAAR,KAAkC0F,MAAvD;;EACA,MAAIC,YAAJ,EAAkB;EAChBH,IAAAA,QAAQ,aAAOA,QAAP,GAAiBE,MAAjB,EAAR;EACD,GAFD,MAEO;EACLF,IAAAA,QAAQ,GAAG,CAACE,MAAD,CAAX;EACD;;EACD,MAAME,GAAG,GAAGC,YAAY,EAAxB,CAPyB;;EAUzB,SAAOD,GAAG,CAACE,SAAX,EAAsB;EACpBF,IAAAA,GAAG,CAACG,WAAJ,CAAgBH,GAAG,CAACI,UAApB;EACD;;EAEDR,EAAAA,QAAQ,CAACS,MAAT,CAAgBC,OAAhB,EAAyBC,OAAzB,CAAiC,UAACC,UAAD,EAAaC,KAAb,EAAuB;EACtDT,IAAAA,GAAG,CAACU,WAAJ,CAAgBC,iBAAiB,CAACH,UAAD,EAAaC,KAAb,CAAjC;EACD,GAFD;EAGD;EAED;;;;;;;EAKA,SAASE,iBAAT,CAA2Bb,MAA3B,EAAmCW,KAAnC,EAA0C;EACxC,MAAMG,OAAO,GAAGH,KAAK,KAAKb,QAAQ,CAACxF,MAAT,GAAkB,CAA5B,GAAgC,OAAhC,GAA0C,MAA1D;EAEA,MAAMyG,QAAQ,GAAGnB,QAAQ,CAACoB,aAAT,CAAuB,KAAvB,CAAjB;EACAD,EAAAA,QAAQ,CAACE,KAAT,CAAeH,OAAf,GAAyBA,OAAzB;EACAC,EAAAA,QAAQ,CAACG,WAAT,GAAuBlB,MAAvB;EAEA,SAAOe,QAAP;EACD;EAED;;;;;;EAIA,SAASZ,YAAT,GAAwB;EACtB,MAAIR,SAAJ,EAAe;EACb,WAAOA,SAAP;EACD;;EACDA,EAAAA,SAAS,GAAGC,QAAQ,CAACoB,aAAT,CAAuB,KAAvB,CAAZ;EACArB,EAAAA,SAAS,CAACwB,YAAV,CAAuB,IAAvB,EAA6B,qBAA7B;EACAxB,EAAAA,SAAS,CAACwB,YAAV,CAAuB,MAAvB,EAA+B,QAA/B;EACAxB,EAAAA,SAAS,CAACwB,YAAV,CAAuB,WAAvB,EAAoC,QAApC;EACAxB,EAAAA,SAAS,CAACwB,YAAV,CAAuB,eAAvB,EAAwC,gBAAxC;EACAjH,EAAAA,MAAM,CAACO,MAAP,CAAckF,SAAS,CAACsB,KAAxB,EAA+B;EAC7BG,IAAAA,MAAM,EAAE,GADqB;EAE7BC,IAAAA,IAAI,EAAE,eAFuB;EAG7BC,IAAAA,MAAM,EAAE,KAHqB;EAI7BC,IAAAA,MAAM,EAAE,MAJqB;EAK7BC,IAAAA,QAAQ,EAAE,QALmB;EAM7BC,IAAAA,OAAO,EAAE,GANoB;EAO7BC,IAAAA,QAAQ,EAAE,UAPmB;EAQ7BC,IAAAA,KAAK,EAAE;EARsB,GAA/B;EAUA/B,EAAAA,QAAQ,CAACgC,IAAT,CAAchB,WAAd,CAA0BjB,SAA1B;EACA,SAAOA,SAAP;EACD;;ECpEM,IAAMkC,OAAO,GAAkB,0BAA/B;AACP,EAAO,IAAMC,OAAO,GAAkB,0BAA/B;AACP,EAAO,IAAMC,cAAc,GAAkB,kCAAtC;AACP,EAAO,IAAMC,cAAc,GACzB,mCADK;AAGP,EAAO,IAAMC,gBAAgB,GAC3B,qCADK;AAGP,EAAO,IAAMC,aAAa,GAAkB,iCAArC;AACP,EAAO,IAAMC,YAAY,GAAkB,gCAApC;AACP,EAAO,IAAMC,WAAW,GAAkB,+BAAnC;AACP,EAAO,IAAMC,UAAU,GAAkB,gCAAlC;AACP,EAAO,IAAMC,SAAS,GAAkB,6BAAjC;AACP,EAAO,IAAMC,SAAS,GAAkB,6BAAjC;AACP,EAAO,IAAMC,WAAW,GAAkB,+BAAnC;AACP,EAAO,IAAMC,kBAAkB,GAC7B,uCADK;AAGP,EAAO,IAAMC,WAAW,GAAkB,+BAAnC;AACP,EAAO,IAAMC,UAAU,GAAkB,8BAAlC;AACP,EAAO,IAAMC,iCAAiC,GAC5C,wDADK;AAGP,EAAO,IAAMC,QAAQ,GAAkB,2BAAhC;;;;;;;;;;;;;;;;;;;;;;EC1BP,SAASC,SAAT,CAAmBC,EAAnB,EAAuB;EACrB,SAAOA,EAAE,IAAI,IAAN,IAAc,OAAOA,EAAP,KAAc,QAA5B,IAAwCA,EAAE,CAACC,QAAH,KAAgB,CAA/D;EACD;;EAED,SAASC,WAAT,CAAqBzB,QAArB,EAA+B0B,0BAA/B,EAA2D;EACzD,MAAIA,0BAA0B,IAAI1B,QAAQ,KAAK,QAA/C,EAAyD;EACvD,WAAO,KAAP;EACD;;EAED,SAAOA,QAAQ,KAAK,SAAb,IAA0BA,QAAQ,KAAK,MAA9C;EACD;;EAED,SAAS2B,YAAT,CAAsBJ,EAAtB,EAA0BG,0BAA1B,EAAsD;EACpD,MAAIH,EAAE,CAACK,YAAH,GAAkBL,EAAE,CAACM,YAArB,IAAqCN,EAAE,CAACO,WAAH,GAAiBP,EAAE,CAACQ,WAA7D,EAA0E;EACxE,QAAItC,KAAK,GAAGuC,gBAAgB,CAACT,EAAD,EAAK,IAAL,CAA5B;EACA,WAAOE,WAAW,CAAChC,KAAK,CAACwC,SAAP,EAAkBP,0BAAlB,CAAX,IAA4DD,WAAW,CAAChC,KAAK,CAACyC,SAAP,EAAkBR,0BAAlB,CAA9E;EACD;;EAED,SAAO,KAAP;EACD;;EAED,SAASS,YAAT,CAAsBC,kBAAtB,EAA0CC,gBAA1C,EAA4DC,aAA5D,EAA2EC,oBAA3E,EAAiGC,kBAAjG,EAAqHC,gBAArH,EAAuIC,cAAvI,EAAuJC,WAAvJ,EAAoK;EAClK,MAAIF,gBAAgB,GAAGL,kBAAnB,IAAyCM,cAAc,GAAGL,gBAA1D,IAA8EI,gBAAgB,GAAGL,kBAAnB,IAAyCM,cAAc,GAAGL,gBAA5I,EAA8J;EAC5J,WAAO,CAAP;EACD;;EAED,MAAII,gBAAgB,IAAIL,kBAApB,IAA0CO,WAAW,IAAIL,aAAzD,IAA0EI,cAAc,IAAIL,gBAAlB,IAAsCM,WAAW,IAAIL,aAAnI,EAAkJ;EAChJ,WAAOG,gBAAgB,GAAGL,kBAAnB,GAAwCG,oBAA/C;EACD;;EAED,MAAIG,cAAc,GAAGL,gBAAjB,IAAqCM,WAAW,GAAGL,aAAnD,IAAoEG,gBAAgB,GAAGL,kBAAnB,IAAyCO,WAAW,GAAGL,aAA/H,EAA8I;EAC5I,WAAOI,cAAc,GAAGL,gBAAjB,GAAoCG,kBAA3C;EACD;;EAED,SAAO,CAAP;EACD;;AAED,+BAAgB,UAAUhK,MAAV,EAAkBoK,OAAlB,EAA2B;EACzC,MAAIC,UAAU,GAAGD,OAAO,CAACC,UAAzB;EAAA,MACIC,KAAK,GAAGF,OAAO,CAACE,KADpB;EAAA,MAEIC,MAAM,GAAGH,OAAO,CAACG,MAFrB;EAAA,MAGIC,QAAQ,GAAGJ,OAAO,CAACI,QAHvB;EAAA,MAIItB,0BAA0B,GAAGkB,OAAO,CAAClB,0BAJzC;EAKA,MAAIuB,aAAa,GAAG,OAAOD,QAAP,KAAoB,UAApB,GAAiCA,QAAjC,GAA4C,UAAUE,IAAV,EAAgB;EAC9E,WAAOA,IAAI,KAAKF,QAAhB;EACD,GAFD;;EAIA,MAAI,CAAC1B,SAAS,CAAC9I,MAAD,CAAd,EAAwB;EACtB,UAAM,IAAI2K,SAAJ,CAAc,gBAAd,CAAN;EACD;;EAED,MAAIC,gBAAgB,GAAGhF,QAAQ,CAACgF,gBAAT,IAA6BhF,QAAQ,CAACiF,eAA7D;EACA,MAAIC,MAAM,GAAG,EAAb;EACA,MAAIC,MAAM,GAAG/K,MAAb;;EAEA,SAAO8I,SAAS,CAACiC,MAAD,CAAT,IAAqBN,aAAa,CAACM,MAAD,CAAzC,EAAmD;EACjDA,IAAAA,MAAM,GAAGA,MAAM,CAACC,UAAhB;;EAEA,QAAID,MAAM,KAAKH,gBAAf,EAAiC;EAC/BE,MAAAA,MAAM,CAACG,IAAP,CAAYF,MAAZ;EACA;EACD;;EAED,QAAIA,MAAM,KAAKnF,QAAQ,CAACgC,IAApB,IAA4BuB,YAAY,CAAC4B,MAAD,CAAxC,IAAoD,CAAC5B,YAAY,CAACvD,QAAQ,CAACiF,eAAV,CAArE,EAAiG;EAC/F;EACD;;EAED,QAAI1B,YAAY,CAAC4B,MAAD,EAAS7B,0BAAT,CAAhB,EAAsD;EACpD4B,MAAAA,MAAM,CAACG,IAAP,CAAYF,MAAZ;EACD;EACF;;EAED,MAAIG,aAAa,GAAGC,MAAM,CAACC,cAAP,GAAwBA,cAAc,CAACzD,KAAvC,GAA+C0D,UAAnE;EACA,MAAIC,cAAc,GAAGH,MAAM,CAACC,cAAP,GAAwBA,cAAc,CAAC9D,MAAvC,GAAgDiE,WAArE;EACA,MAAIC,SAAS,GAAGL,MAAM,CAACM,OAAP,IAAkBC,WAAlC;EACA,MAAIC,SAAS,GAAGR,MAAM,CAACS,OAAP,IAAkBC,WAAlC;;EAEA,MAAIC,qBAAqB,GAAG9L,MAAM,CAAC+L,qBAAP,EAA5B;EAAA,MACIC,YAAY,GAAGF,qBAAqB,CAACxE,MADzC;EAAA,MAEI2E,WAAW,GAAGH,qBAAqB,CAACnE,KAFxC;EAAA,MAGIuE,SAAS,GAAGJ,qBAAqB,CAACK,GAHtC;EAAA,MAIIC,WAAW,GAAGN,qBAAqB,CAACO,KAJxC;EAAA,MAKIC,YAAY,GAAGR,qBAAqB,CAACS,MALzC;EAAA,MAMIC,UAAU,GAAGV,qBAAqB,CAACW,IANvC;;EAQA,MAAIC,WAAW,GAAGpC,KAAK,KAAK,OAAV,IAAqBA,KAAK,KAAK,SAA/B,GAA2C4B,SAA3C,GAAuD5B,KAAK,KAAK,KAAV,GAAkBgC,YAAlB,GAAiCJ,SAAS,GAAGF,YAAY,GAAG,CAArI;EACA,MAAIW,YAAY,GAAGpC,MAAM,KAAK,QAAX,GAAsBiC,UAAU,GAAGP,WAAW,GAAG,CAAjD,GAAqD1B,MAAM,KAAK,KAAX,GAAmB6B,WAAnB,GAAiCI,UAAzG;EACA,MAAII,YAAY,GAAG,EAAnB;;EAEA,OAAK,IAAIjG,KAAK,GAAG,CAAjB,EAAoBA,KAAK,GAAGmE,MAAM,CAACxK,MAAnC,EAA2CqG,KAAK,EAAhD,EAAoD;EAClD,QAAIkG,KAAK,GAAG/B,MAAM,CAACnE,KAAD,CAAlB;;EAEA,QAAImG,qBAAqB,GAAGD,KAAK,CAACd,qBAAN,EAA5B;EAAA,QACIgB,OAAO,GAAGD,qBAAqB,CAACxF,MADpC;EAAA,QAEI0F,MAAM,GAAGF,qBAAqB,CAACnF,KAFnC;EAAA,QAGIsF,IAAI,GAAGH,qBAAqB,CAACX,GAHjC;EAAA,QAIIE,KAAK,GAAGS,qBAAqB,CAACT,KAJlC;EAAA,QAKIE,MAAM,GAAGO,qBAAqB,CAACP,MALnC;EAAA,QAMIW,KAAK,GAAGJ,qBAAqB,CAACL,IANlC;;EAQA,QAAIpC,UAAU,KAAK,WAAf,IAA8B6B,SAAS,IAAI,CAA3C,IAAgDM,UAAU,IAAI,CAA9D,IAAmEF,YAAY,IAAIhB,cAAnF,IAAqGc,WAAW,IAAIlB,aAApH,IAAqIgB,SAAS,IAAIe,IAAlJ,IAA0JX,YAAY,IAAIC,MAA1K,IAAoLC,UAAU,IAAIU,KAAlM,IAA2Md,WAAW,IAAIC,KAA9N,EAAqO;EACnO,aAAOO,YAAP;EACD;;EAED,QAAIO,UAAU,GAAG3D,gBAAgB,CAACqD,KAAD,CAAjC;EACA,QAAIO,UAAU,GAAGC,QAAQ,CAACF,UAAU,CAACG,eAAZ,EAA6B,EAA7B,CAAzB;EACA,QAAIC,SAAS,GAAGF,QAAQ,CAACF,UAAU,CAACK,cAAZ,EAA4B,EAA5B,CAAxB;EACA,QAAIC,WAAW,GAAGJ,QAAQ,CAACF,UAAU,CAACO,gBAAZ,EAA8B,EAA9B,CAA1B;EACA,QAAIC,YAAY,GAAGN,QAAQ,CAACF,UAAU,CAACS,iBAAZ,EAA+B,EAA/B,CAA3B;EACA,QAAIC,WAAW,GAAG,CAAlB;EACA,QAAIC,YAAY,GAAG,CAAnB;EACA,QAAIC,cAAc,GAAG,iBAAiBlB,KAAjB,GAAyBA,KAAK,CAACmB,WAAN,GAAoBnB,KAAK,CAACvD,WAA1B,GAAwC8D,UAAxC,GAAqDK,WAA9E,GAA4F,CAAjH;EACA,QAAIQ,eAAe,GAAG,kBAAkBpB,KAAlB,GAA0BA,KAAK,CAACqB,YAAN,GAAqBrB,KAAK,CAACzD,YAA3B,GAA0CmE,SAA1C,GAAsDI,YAAhF,GAA+F,CAArH;;EAEA,QAAI/C,gBAAgB,KAAKiC,KAAzB,EAAgC;EAC9B,UAAIvC,KAAK,KAAK,OAAd,EAAuB;EACrBuD,QAAAA,WAAW,GAAGnB,WAAd;EACD,OAFD,MAEO,IAAIpC,KAAK,KAAK,KAAd,EAAqB;EAC1BuD,QAAAA,WAAW,GAAGnB,WAAW,GAAGpB,cAA5B;EACD,OAFM,MAEA,IAAIhB,KAAK,KAAK,SAAd,EAAyB;EAC9BuD,QAAAA,WAAW,GAAGlE,YAAY,CAACgC,SAAD,EAAYA,SAAS,GAAGL,cAAxB,EAAwCA,cAAxC,EAAwDiC,SAAxD,EAAmEI,YAAnE,EAAiFhC,SAAS,GAAGe,WAA7F,EAA0Gf,SAAS,GAAGe,WAAZ,GAA0BV,YAApI,EAAkJA,YAAlJ,CAA1B;EACD,OAFM,MAEA;EACL6B,QAAAA,WAAW,GAAGnB,WAAW,GAAGpB,cAAc,GAAG,CAA7C;EACD;;EAED,UAAIf,MAAM,KAAK,OAAf,EAAwB;EACtBuD,QAAAA,YAAY,GAAGnB,YAAf;EACD,OAFD,MAEO,IAAIpC,MAAM,KAAK,QAAf,EAAyB;EAC9BuD,QAAAA,YAAY,GAAGnB,YAAY,GAAGzB,aAAa,GAAG,CAA9C;EACD,OAFM,MAEA,IAAIX,MAAM,KAAK,KAAf,EAAsB;EAC3BuD,QAAAA,YAAY,GAAGnB,YAAY,GAAGzB,aAA9B;EACD,OAFM,MAEA;EACL4C,QAAAA,YAAY,GAAGnE,YAAY,CAAC6B,SAAD,EAAYA,SAAS,GAAGN,aAAxB,EAAuCA,aAAvC,EAAsDkC,UAAtD,EAAkEK,WAAlE,EAA+EjC,SAAS,GAAGmB,YAA3F,EAAyGnB,SAAS,GAAGmB,YAAZ,GAA2BV,WAApI,EAAiJA,WAAjJ,CAA3B;EACD;;EAED4B,MAAAA,WAAW,GAAGM,IAAI,CAACC,GAAL,CAAS,CAAT,EAAYP,WAAW,GAAGlC,SAA1B,CAAd;EACAmC,MAAAA,YAAY,GAAGK,IAAI,CAACC,GAAL,CAAS,CAAT,EAAYN,YAAY,GAAGtC,SAA3B,CAAf;EACD,KAvBD,MAuBO;EACL,UAAIlB,KAAK,KAAK,OAAd,EAAuB;EACrBuD,QAAAA,WAAW,GAAGnB,WAAW,GAAGO,IAAd,GAAqBM,SAAnC;EACD,OAFD,MAEO,IAAIjD,KAAK,KAAK,KAAd,EAAqB;EAC1BuD,QAAAA,WAAW,GAAGnB,WAAW,GAAGH,MAAd,GAAuBoB,YAAvB,GAAsCM,eAApD;EACD,OAFM,MAEA,IAAI3D,KAAK,KAAK,SAAd,EAAyB;EAC9BuD,QAAAA,WAAW,GAAGlE,YAAY,CAACsD,IAAD,EAAOV,MAAP,EAAeQ,OAAf,EAAwBQ,SAAxB,EAAmCI,YAAY,GAAGM,eAAlD,EAAmEvB,WAAnE,EAAgFA,WAAW,GAAGV,YAA9F,EAA4GA,YAA5G,CAA1B;EACD,OAFM,MAEA;EACL6B,QAAAA,WAAW,GAAGnB,WAAW,IAAIO,IAAI,GAAGF,OAAO,GAAG,CAArB,CAAX,GAAqCkB,eAAe,GAAG,CAArE;EACD;;EAED,UAAI1D,MAAM,KAAK,OAAf,EAAwB;EACtBuD,QAAAA,YAAY,GAAGnB,YAAY,GAAGO,KAAf,GAAuBE,UAAtC;EACD,OAFD,MAEO,IAAI7C,MAAM,KAAK,QAAf,EAAyB;EAC9BuD,QAAAA,YAAY,GAAGnB,YAAY,IAAIO,KAAK,GAAGF,MAAM,GAAG,CAArB,CAAZ,GAAsCe,cAAc,GAAG,CAAtE;EACD,OAFM,MAEA,IAAIxD,MAAM,KAAK,KAAf,EAAsB;EAC3BuD,QAAAA,YAAY,GAAGnB,YAAY,GAAGN,KAAf,GAAuBoB,WAAvB,GAAqCM,cAApD;EACD,OAFM,MAEA;EACLD,QAAAA,YAAY,GAAGnE,YAAY,CAACuD,KAAD,EAAQb,KAAR,EAAeW,MAAf,EAAuBI,UAAvB,EAAmCK,WAAW,GAAGM,cAAjD,EAAiEpB,YAAjE,EAA+EA,YAAY,GAAGV,WAA9F,EAA2GA,WAA3G,CAA3B;EACD;;EAED,UAAIoC,UAAU,GAAGxB,KAAK,CAACwB,UAAvB;EAAA,UACIC,SAAS,GAAGzB,KAAK,CAACyB,SADtB;EAEAT,MAAAA,WAAW,GAAGM,IAAI,CAACC,GAAL,CAAS,CAAT,EAAYD,IAAI,CAACI,GAAL,CAASD,SAAS,GAAGT,WAArB,EAAkChB,KAAK,CAACxD,YAAN,GAAqB0D,OAArB,GAA+BkB,eAAjE,CAAZ,CAAd;EACAH,MAAAA,YAAY,GAAGK,IAAI,CAACC,GAAL,CAAS,CAAT,EAAYD,IAAI,CAACI,GAAL,CAASF,UAAU,GAAGP,YAAtB,EAAoCjB,KAAK,CAACtD,WAAN,GAAoByD,MAApB,GAA6Be,cAAjE,CAAZ,CAAf;EACArB,MAAAA,WAAW,IAAI4B,SAAS,GAAGT,WAA3B;EACAlB,MAAAA,YAAY,IAAI0B,UAAU,GAAGP,YAA7B;EACD;;EAEDlB,IAAAA,YAAY,CAAC3B,IAAb,CAAkB;EAChBlC,MAAAA,EAAE,EAAE8D,KADY;EAEhBV,MAAAA,GAAG,EAAE0B,WAFW;EAGhBpB,MAAAA,IAAI,EAAEqB;EAHU,KAAlB;EAKD;;EAED,SAAOlB,YAAP;EACD,CAzID;;EClCA,IAAI4B,SAAS,GAAG,CAAhB;EAEA;;;;;;;;;EAQA,SAASC,MAAT,CAAgBC,EAAhB,EAAoB;EAClB,SAAO,OAAOA,EAAP,KAAc,UAAd,GAA2BA,EAA3B,GAAgCC,IAAvC;EACD;;EAED,SAASA,IAAT,GAAgB;EAEhB;;;;;;;EAKA,SAASC,cAAT,CAAwBlE,IAAxB,EAA8BmE,QAA9B,EAAwC;EACtC,MAAInE,IAAI,KAAK,IAAb,EAAmB;EACjB;EACD;;EAED,MAAMoE,OAAO,GAAGC,qBAAqB,CAACrE,IAAD,EAAO;EAC1CF,IAAAA,QAAQ,EAAEqE,QADgC;EAE1CvE,IAAAA,KAAK,EAAE,SAFmC;EAG1CD,IAAAA,UAAU,EAAE;EAH8B,GAAP,CAArC;EAKAyE,EAAAA,OAAO,CAACrI,OAAR,CAAgB,gBAAqB;EAAA,QAAnBsC,EAAmB,QAAnBA,EAAmB;EAAA,QAAfoD,GAAe,QAAfA,GAAe;EAAA,QAAVM,IAAU,QAAVA,IAAU;EACnC1D,IAAAA,EAAE,CAACuF,SAAH,GAAenC,GAAf;EACApD,IAAAA,EAAE,CAACsF,UAAH,GAAgB5B,IAAhB;EACD,GAHD;EAID;EAED;;;;;;;EAKA,SAASuC,gBAAT,CAA0BC,MAA1B,EAAkCC,KAAlC,EAAyC;EACvC,SAAOD,MAAM,KAAKC,KAAX,IAAqBD,MAAM,CAACE,QAAP,IAAmBF,MAAM,CAACE,QAAP,CAAgBD,KAAhB,CAA/C;EACD;EAED;;;;;;;;;;EAQA,SAASE,QAAT,CAAkBC,EAAlB,EAAsBC,IAAtB,EAA4B;EAC1B,MAAIC,SAAJ;;EAEA,WAASC,MAAT,GAAkB;EAChB,QAAID,SAAJ,EAAe;EACbE,MAAAA,YAAY,CAACF,SAAD,CAAZ;EACD;EACF;;EAED,WAASG,OAAT,GAA0B;EAAA,sCAANvL,IAAM;EAANA,MAAAA,IAAM;EAAA;;EACxBqL,IAAAA,MAAM;EACND,IAAAA,SAAS,GAAGI,UAAU,CAAC,YAAM;EAC3BJ,MAAAA,SAAS,GAAG,IAAZ;EACAF,MAAAA,EAAE,MAAF,SAAMlL,IAAN;EACD,KAHqB,EAGnBmL,IAHmB,CAAtB;EAID;;EAEDI,EAAAA,OAAO,CAACF,MAAR,GAAiBA,MAAjB;EAEA,SAAOE,OAAP;EACD;EAED;;;;;;;;;EAOA,SAASE,oBAAT,GAAsC;EAAA,qCAALC,GAAK;EAALA,IAAAA,GAAK;EAAA;;EACpC,SAAO,UAACC,KAAD;EAAA,uCAAW3L,IAAX;EAAWA,MAAAA,IAAX;EAAA;;EAAA,WACL0L,GAAG,CAACE,IAAJ,CAAS,UAAAV,EAAE,EAAI;EACb,UAAIA,EAAJ,EAAQ;EACNA,QAAAA,EAAE,MAAF,UAAGS,KAAH,SAAa3L,IAAb;EACD;;EACD,aACE2L,KAAK,CAACE,uBAAN,IACCF,KAAK,CAAClP,cAAN,CAAqB,aAArB,KACCkP,KAAK,CAACG,WAAN,CAAkBD,uBAHtB;EAKD,KATD,CADK;EAAA,GAAP;EAWD;EAED;;;;;;;;;EAOA,SAASE,OAAT,GAAyB;EAAA,qCAALL,GAAK;EAALA,IAAAA,GAAK;EAAA;;EACvB,SAAO,YAAa;EAAA,uCAAT1L,IAAS;EAATA,MAAAA,IAAS;EAAA;;EAClB0L,IAAAA,GAAG,CAACpJ,OAAJ,CAAY,UAAA4I,EAAE,EAAI;EAChB,UAAIA,EAAJ,EAAQ;EACNA,QAAAA,EAAE,MAAF,SAAMlL,IAAN;EACD;EACF,KAJD;EAKD,GAND;EAOD;EAED;;;;;;EAIA,SAASgM,UAAT,GAAsB;EACpB,SAAOC,MAAM,CAAC5B,SAAS,EAAV,CAAb;EACD;AAED,EAQA;;;;;EAGA,SAAS6B,cAAT,GAA0B;EACxB7B,EAAAA,SAAS,GAAG,CAAZ;EACD;EAED;;;;;;EAIA,SAAS8B,oBAAT,QAMG;EAAA,MALDC,MAKC,SALDA,MAKC;EAAA,MAJDC,YAIC,SAJDA,YAIC;EAAA,MAHDC,WAGC,SAHDA,WAGC;EAAA,MAFDC,mBAEC,SAFDA,mBAEC;EAAA,MADDC,YACC,SADDA,YACC;;EACD,MAAI,CAACJ,MAAL,EAAa;EACX,WAAOC,YAAY,GAAGG,YAAY,CAACH,YAAD,CAAf,GAAgC,EAAnD;EACD;;EACD,MAAI,CAACC,WAAL,EAAkB;EAChB,WAAO,2BAAP;EACD;;EACD,MAAIA,WAAW,KAAKC,mBAApB,EAAyC;EACvC,WAAUD,WAAV,gBACEA,WAAW,KAAK,CAAhB,GAAoB,KAApB,GAA4B,OAD9B;EAGD;;EACD,SAAO,EAAP;EACD;EAED;;;;;;;;;EAOA,SAASG,WAAT,CAAqBC,GAArB,EAA0BC,YAA1B,EAAwC;EACtCD,EAAAA,GAAG,GAAGzM,KAAK,CAAC2M,OAAN,CAAcF,GAAd;EAAqB;EAAoCA,EAAAA,GAAG,CAAC,CAAD,CAA5D,GAAkEA,GAAxE;;EACA,MAAI,CAACA,GAAD,IAAQC,YAAZ,EAA0B;EACxB,WAAOA,YAAP;EACD,GAFD,MAEO;EACL,WAAOD,GAAP;EACD;EACF;EAED;;;;;;EAIA,SAASG,YAAT,CAAsBC,OAAtB,EAA+B;EAG3B;;EAFF;EAGE,SAAO,OAAOA,OAAO,CAACC,QAAf,KAA4B,QAAnC,CAJ2B;EAS9B;EAED;;;;;;EAIA,SAASC,eAAT,CAAyBF,OAAzB,EAAkC;EAChC;;EAEA;EAEE,SAAOA,OAAO,CAACG,UAAf;EAIH;EAED;;;;;;;;EAMA,SAASC,YAAT,CAAsBC,MAAtB,EAA8BC,QAA9B,EAAwC;EACtC;EACA9M,EAAAA,OAAO,CAAC+M,KAAR,qBAA+BD,QAA/B,4BAA4DD,MAA5D;EACD;;EAED,IAAMG,SAAS,GAAG,CAChB,kBADgB,EAEhB,YAFgB,EAGhB,QAHgB,EAIhB,cAJgB,EAKhB,MALgB,CAAlB;EAOA;;;;;EAIA,SAASC,SAAT,CAAmBC,KAAnB,EAA+B;EAAA,MAAZA,KAAY;EAAZA,IAAAA,KAAY,GAAJ,EAAI;EAAA;;EAC7B,MAAMC,MAAM,GAAG,EAAf;EACAH,EAAAA,SAAS,CAAChL,OAAV,CAAkB,UAAArE,CAAC,EAAI;EACrB,QAAIuP,KAAK,CAAC/Q,cAAN,CAAqBwB,CAArB,CAAJ,EAA6B;EAC3BwP,MAAAA,MAAM,CAACxP,CAAD,CAAN,GAAYuP,KAAK,CAACvP,CAAD,CAAjB;EACD;EACF,GAJD;EAKA,SAAOwP,MAAP;EACD;EAED;;;;;;;EAKA,SAASC,iBAAT,CAA2B/B,KAA3B,EAAkC;EAAA,MACzB1P,GADyB,GACT0P,KADS,CACzB1P,GADyB;EAAA,MACpB0R,OADoB,GACThC,KADS,CACpBgC,OADoB;EAEhC;;EACA,MAAIA,OAAO,IAAI,EAAX,IAAiBA,OAAO,IAAI,EAA5B,IAAkC1R,GAAG,CAACG,OAAJ,CAAY,OAAZ,MAAyB,CAA/D,EAAkE;EAChE,qBAAeH,GAAf;EACD;;EACD,SAAOA,GAAP;EACD;EAED;;;;;;;EAKA,SAAS2R,aAAT,CAAuBC,GAAvB,EAA4B;EAC1B,SAAO9R,MAAM,CAACS,SAAP,CAAiBsR,QAAjB,CAA0BpR,IAA1B,CAA+BmR,GAA/B,MAAwC,iBAA/C;EACD;EAED;;;;;;;;;;;EASA,SAASE,oBAAT,CAA8BC,UAA9B,EAA0CC,SAA1C,EAAqDC,SAArD,EAAgE;EAC9D,MAAMC,cAAc,GAAGD,SAAS,GAAG,CAAnC;;EAEA,MACE,OAAOD,SAAP,KAAqB,QAArB,IACAA,SAAS,GAAG,CADZ,IAEAA,SAAS,IAAIC,SAHf,EAIE;EACAD,IAAAA,SAAS,GAAGD,UAAU,GAAG,CAAb,GAAiB,CAAC,CAAlB,GAAsBG,cAAc,GAAG,CAAnD;EACD;;EACD,MAAIC,QAAQ,GAAGH,SAAS,GAAGD,UAA3B;;EACA,MAAII,QAAQ,GAAG,CAAf,EAAkB;EAChBA,IAAAA,QAAQ,GAAGD,cAAX;EACD,GAFD,MAEO,IAAIC,QAAQ,GAAGD,cAAf,EAA+B;EACpCC,IAAAA,QAAQ,GAAG,CAAX;EACD;;EACD,SAAOA,QAAP;EACD;;MCxQKC;;;;;EAsFJ,qBAAYC,MAAZ,EAAmB;EAAA,gBACjB,sBAAMA,MAAN,CADiB;;EAAA,UA4BnBC,EA5BmB,GA4Bd,MAAKD,KAAL,CAAWC,EAAX,mBAA8BvC,UAAU,EA5B1B;EAAA,UA6BnBwC,MA7BmB,GA6BV,MAAKF,KAAL,CAAWE,MAAX,IAAwB,MAAKD,EAA7B,UA7BU;EAAA,UA8BnBE,OA9BmB,GA8BT,MAAKH,KAAL,CAAWG,OAAX,IAAyB,MAAKF,EAA9B,WA9BS;EAAA,UA+BnBG,OA/BmB,GA+BT,MAAKJ,KAAL,CAAWI,OAAX,IAAyB,MAAKH,EAA9B,WA/BS;;EAAA,UAgCnBI,SAhCmB,GAgCP,MAAKL,KAAL,CAAWK,SAAX,IAAyB,UAAAnM,KAAK;EAAA,aAAO,MAAK+L,EAAZ,cAAuB/L,KAAvB;EAAA,KAhCvB;;EAAA,UAkCnBoM,KAlCmB,GAkCX,IAlCW;EAAA,UAmCnBC,KAnCmB,GAmCX,EAnCW;EAAA,UAyCnBX,SAzCmB,GAyCP,IAzCO;EAAA,UA0CnB3B,mBA1CmB,GA0CG,CA1CH;EAAA,UA4CnBuC,UA5CmB,GA4CN,EA5CM;;EAAA,UAkDnBC,kBAlDmB,GAkDE,UAAC7D,EAAD,EAAKC,IAAL,EAAc;EACjC,UAAMoD,EAAE,GAAG/C,UAAU,CAAC,YAAM;EAC1B,cAAKsD,UAAL,GAAkB,MAAKA,UAAL,CAAgB1M,MAAhB,CAAuB,UAAAlG,CAAC;EAAA,iBAAIA,CAAC,KAAKqS,EAAV;EAAA,SAAxB,CAAlB;EACArD,QAAAA,EAAE;EACH,OAHoB,EAGlBC,IAHkB,CAArB;;EAKA,YAAK2D,UAAL,CAAgBhI,IAAhB,CAAqByH,EAArB;EACD,KAzDkB;;EAAA,UAuHnBS,YAvHmB,GAuHJ,UAAAC,KAAK,EAAI;EACtB,YAAKf,SAAL,GAAiBe,KAAjB;EACD,KAzHkB;;EAAA,UA2HnBC,cA3HmB,GA2HF,YAAM;EACrB,YAAKhB,SAAL,GAAiB,IAAjB;EACD,KA7HkB;;EAAA,UAmInBiB,mBAnImB,GAmIG,UACpBC,gBADoB,EAEpBC,eAFoB,EAGjB;EAAA,UAFHD,gBAEG;EAFHA,QAAAA,gBAEG,GAFgB,MAAKd,KAAL,CAAWgB,uBAE3B;EAAA;;EAAA,UADHD,eACG;EADHA,QAAAA,eACG,GADe,EACf;EAAA;;EACHA,MAAAA,eAAe,GAAG9B,SAAS,CAAC8B,eAAD,CAA3B;;EACA,YAAKE,gBAAL;EAAuBH,QAAAA,gBAAgB,EAAhBA;EAAvB,SAA4CC,eAA5C;EACD,KAzIkB;;EAAA,UAwKnBG,cAxKmB,GAwKF,UAAAjF,EAAE,EAAI;EACrB,YAAKgF,gBAAL,CACE;EACElD,QAAAA,YAAY,EAAE,IADhB;EAEEoD,QAAAA,UAAU,EAAE,EAFd;EAGEL,QAAAA,gBAAgB,EAAE,MAAKd,KAAL,CAAWgB,uBAH/B;EAIElD,QAAAA,MAAM,EAAE,MAAKkC,KAAL,CAAWoB;EAJrB,OADF,EAOEnF,EAPF;EASD,KAlLkB;;EAAA,UAoLnBoF,UApLmB,GAoLN,UAACC,IAAD,EAAOP,eAAP,EAAwB9E,EAAxB,EAA+B;EAC1C8E,MAAAA,eAAe,GAAG9B,SAAS,CAAC8B,eAAD,CAA3B;;EACA,YAAKE,gBAAL;EAEInD,QAAAA,MAAM,EAAE,MAAKkC,KAAL,CAAWoB,aAFvB;EAGIN,QAAAA,gBAAgB,EAAE,MAAKd,KAAL,CAAWgB,uBAHjC;EAIIjD,QAAAA,YAAY,EAAEuD,IAJlB;EAKIH,QAAAA,UAAU,EAAE,MAAKnB,KAAL,CAAW9B,YAAX,CAAwBoD,IAAxB;EALhB,SAMOP,eANP,GAQE9E,EARF;EAUD,KAhMkB;;EAAA,UAkMnBsF,iBAlMmB,GAkMC,UAACC,SAAD,EAAYT,eAAZ,EAA6B9E,EAA7B,EAAoC;EACtD,UAAMqF,IAAI,GAAG,MAAKf,KAAL,CAAWiB,SAAX,CAAb;;EACA,UAAIF,IAAI,IAAI,IAAZ,EAAkB;EAChB;EACD;;EACD,YAAKD,UAAL,CAAgBC,IAAhB,EAAsBP,eAAtB,EAAuC9E,EAAvC;EACD,KAxMkB;;EAAA,UA0MnBwF,qBA1MmB,GA0MK,UAACV,eAAD,EAAkB9E,EAAlB,EAAyB;EAC/C,aAAO,MAAKsF,iBAAL,CACL,MAAKG,QAAL,GAAgBZ,gBADX,EAELC,eAFK,EAGL9E,EAHK,CAAP;EAKD,KAhNkB;;EAAA,UA0NnBgF,gBA1NmB,GA0NA,UAACU,UAAD,EAAa1F,EAAb,EAAoB;EACrC,UAAI2F,cAAJ,EAAoBC,WAApB;EAEA,UAAMC,gBAAgB,GAAG,EAAzB;EACA,UAAMC,oBAAoB,GAAG,OAAOJ,UAAP,KAAsB,UAAnD,CAJqC;EAOrC;EACA;EACA;EACA;;EACA,UAAI,CAACI,oBAAD,IAAyBJ,UAAU,CAACxT,cAAX,CAA0B,YAA1B,CAA7B,EAAsE;EACpE,cAAK6R,KAAL,CAAWgC,kBAAX,CAA8BL,UAAU,CAACR,UAAzC,eACK,MAAKc,kBAAL,EADL,EAEKN,UAFL;EAID;;EACD,aAAO,MAAKO,QAAL,CACL,UAAAhD,KAAK,EAAI;EACPA,QAAAA,KAAK,GAAG,MAAKwC,QAAL,CAAcxC,KAAd,CAAR;EACA,YAAIiD,aAAa,GAAGJ,oBAAoB,GACpCJ,UAAU,CAACzC,KAAD,CAD0B,GAEpCyC,UAFJ,CAFO;;EAOPQ,QAAAA,aAAa,GAAG,MAAKnC,KAAL,CAAWoC,YAAX,CAAwBlD,KAAxB,EAA+BiD,aAA/B,CAAhB,CAPO;EAUP;EACA;;EACAP,QAAAA,cAAc,GAAGO,aAAa,CAAChU,cAAd,CAA6B,cAA7B,CAAjB,CAZO;;EAcP,YAAMkU,SAAS,GAAG,EAAlB,CAdO;;EAgBP,YAAMC,aAAa,GAAG,EAAtB,CAhBO;EAkBP;EACA;;EACA,YACEV,cAAc,IACdO,aAAa,CAACpE,YAAd,KAA+BmB,KAAK,CAACnB,YAFvC,EAGE;EACA8D,UAAAA,WAAW,GAAGM,aAAa,CAACpE,YAA5B;EACD;;EACDoE,QAAAA,aAAa,CAAC7R,IAAd,GAAqB6R,aAAa,CAAC7R,IAAd,IAAsBiS,OAA3C;EAEA9U,QAAAA,MAAM,CAACC,IAAP,CAAYyU,aAAZ,EAA2BnO,OAA3B,CAAmC,UAAArG,GAAG,EAAI;EACxC;EACA;EACA,cAAIuR,KAAK,CAACvR,GAAD,CAAL,KAAewU,aAAa,CAACxU,GAAD,CAAhC,EAAuC;EACrCmU,YAAAA,gBAAgB,CAACnU,GAAD,CAAhB,GAAwBwU,aAAa,CAACxU,GAAD,CAArC;EACD,WALuC;EAOxC;EACA;EACA;EACA;EACA;;;EACA,cAAIA,GAAG,KAAK,MAAZ,EAAoB;EAClB;EACD;;EACD2U,UAAAA,aAAa,CAAC3U,GAAD,CAAb,GAAqBwU,aAAa,CAACxU,GAAD,CAAlC,CAfwC;;EAiBxC,cAAI,CAAC,MAAK6U,gBAAL,CAAsB7U,GAAtB,CAAL,EAAiC;EAC/B0U,YAAAA,SAAS,CAAC1U,GAAD,CAAT,GAAiBwU,aAAa,CAACxU,GAAD,CAA9B;EACD;EACF,SApBD,EA5BO;EAmDP;;EACA,YACEoU,oBAAoB,IACpBI,aAAa,CAAChU,cAAd,CAA6B,YAA7B,CAFF,EAGE;EACA,gBAAK6R,KAAL,CAAWgC,kBAAX,CAA8BG,aAAa,CAAChB,UAA5C,eACK,MAAKc,kBAAL,EADL,EAEKE,aAFL;EAID;;EAED,eAAOE,SAAP;EACD,OAhEI,EAiEL,YAAM;EACJ;EACArG,QAAAA,MAAM,CAACC,EAAD,CAAN,GAFI;EAKJ;;EACA,YAAMwG,oBAAoB,GAAGhV,MAAM,CAACC,IAAP,CAAYoU,gBAAZ,EAA8BjU,MAA9B,GAAuC,CAApE;;EACA,YAAI4U,oBAAJ,EAA0B;EACxB,gBAAKzC,KAAL,CAAW0C,aAAX,CAAyBZ,gBAAzB,EAA2C,MAAKG,kBAAL,EAA3C;EACD;;EAED,YAAIL,cAAJ,EAAoB;EAClB,gBAAK5B,KAAL,CAAW2C,QAAX,CACEhB,UAAU,CAAC5D,YADb,EAEE,MAAKkE,kBAAL,EAFF;EAID;;EAED,YAAIJ,WAAW,KAAKxP,SAApB,EAA+B;EAC7B,gBAAK2N,KAAL,CAAW4C,QAAX,CAAoBf,WAApB,EAAiC,MAAKI,kBAAL,EAAjC;EACD,SApBG;EAsBJ;;;EACA,cAAKjC,KAAL,CAAW6C,YAAX,CAAwBf,gBAAxB,EAA0C,MAAKG,kBAAL,EAA1C;EACD,OAzFI,CAAP;EA2FD,KAtUkB;;EAAA,UAyYnBa,OAzYmB,GAyYT,UAAA7K,IAAI;EAAA,aAAK,MAAK8K,SAAL,GAAiB9K,IAAtB;EAAA,KAzYK;;EAAA,UA2YnB+K,YA3YmB,GA2YJ,yBAGV;EAAA;;EAAA,oCAFyB,EAEzB;EAAA,6BAFFC,MAEE;EAAA,UAFFA,MAEE,4BAFO,KAEP;EAAA,UAFiBC,IAEjB;;EAAA,sCAD0B,EAC1B;EAAA,wCADFC,gBACE;EAAA,UADFA,gBACE,sCADiB,KACjB;;EACH;EACA;EACA,YAAKH,YAAL,CAAkBI,MAAlB,GAA2B,IAA3B;EACA,YAAKJ,YAAL,CAAkBC,MAAlB,GAA2BA,MAA3B;EACA,YAAKD,YAAL,CAAkBG,gBAAlB,GAAqCA,gBAArC;;EALG,2BAMc,MAAKzB,QAAL,EANd;EAAA,UAMI5D,MANJ,kBAMIA,MANJ;;EAOH,iDACGmF,MADH,IACY,MAAKH,OADjB,YAEEO,IAFF,GAEQ,UAFR,YAGE,eAHF,IAGmBvF,MAHnB,YAIE,eAJF,IAImB,SAJnB,YAKE,WALF,IAKeA,MAAM,GAAG,MAAKoC,MAAR,GAAiB,IALtC,YAME,iBANF,IAMqB,MAAKC,OAN1B,cAOK+C,IAPL;EASD,KA9ZkB;;EAAA,UAkanBI,eAlamB,GAkaD;EAChBC,MAAAA,SADgB,qBACNlG,KADM,EACC;EAAA;;EACfA,QAAAA,KAAK,CAACmG,cAAN;;EAEA,YAAI,KAAK9B,QAAL,GAAgB5D,MAApB,EAA4B;EAC1B,cAAM2F,MAAM,GAAGpG,KAAK,CAACqG,QAAN,GAAiB,CAAjB,GAAqB,CAApC;EACA,eAAKC,oBAAL,CAA0BF,MAA1B,EAAkC;EAChCnT,YAAAA,IAAI,EAAEiS;EAD0B,WAAlC;EAGD,SALD,MAKO;EACL,eAAKtB,gBAAL,CACE;EACEnD,YAAAA,MAAM,EAAE,IADV;EAEExN,YAAAA,IAAI,EAAEiS;EAFR,WADF,EAKE,YAAM;EACJ,gBAAM3C,SAAS,GAAG,MAAI,CAACgE,YAAL,EAAlB;;EACA,gBAAIhE,SAAS,GAAG,CAAhB,EAAmB;EACjB,cAAA,MAAI,CAACiB,mBAAL,CACEpB,oBAAoB,CAClB,CADkB,EAElB,MAAI,CAACiC,QAAL,GAAgBZ,gBAFE,EAGlBlB,SAHkB,CADtB,EAME;EAACtP,gBAAAA,IAAI,EAAEiS;EAAP,eANF;EAQD;EACF,WAjBH;EAmBD;EACF,OA9Be;EAgChBsB,MAAAA,OAhCgB,mBAgCRxG,KAhCQ,EAgCD;EAAA;;EACbA,QAAAA,KAAK,CAACmG,cAAN;;EAEA,YAAI,KAAK9B,QAAL,GAAgB5D,MAApB,EAA4B;EAC1B,cAAM2F,MAAM,GAAGpG,KAAK,CAACqG,QAAN,GAAiB,CAAC,CAAlB,GAAsB,CAAC,CAAtC;EACA,eAAKC,oBAAL,CAA0BF,MAA1B,EAAkC;EAChCnT,YAAAA,IAAI,EAAEiS;EAD0B,WAAlC;EAGD,SALD,MAKO;EACL,eAAKtB,gBAAL,CACE;EACEnD,YAAAA,MAAM,EAAE,IADV;EAEExN,YAAAA,IAAI,EAAEiS;EAFR,WADF,EAKE,YAAM;EACJ,gBAAM3C,SAAS,GAAG,MAAI,CAACgE,YAAL,EAAlB;;EACA,gBAAIhE,SAAS,GAAG,CAAhB,EAAmB;EACjB,cAAA,MAAI,CAACiB,mBAAL,CACEpB,oBAAoB,CAClB,CAAC,CADiB,EAElB,MAAI,CAACiC,QAAL,GAAgBZ,gBAFE,EAGlBlB,SAHkB,CADtB,EAME;EAACtP,gBAAAA,IAAI,EAAEiS;EAAP,eANF;EAQD;EACF,WAjBH;EAmBD;EACF,OA7De;EA+DhBuB,MAAAA,KA/DgB,iBA+DVzG,KA/DU,EA+DH;EAAA,8BACwB,KAAKqE,QAAL,EADxB;EAAA,YACJ5D,MADI,mBACJA,MADI;EAAA,YACIgD,gBADJ,mBACIA,gBADJ;;EAEX,YAAIhD,MAAM,IAAIgD,gBAAgB,IAAI,IAAlC,EAAwC;EACtCzD,UAAAA,KAAK,CAACmG,cAAN;EACA,cAAMlC,IAAI,GAAG,KAAKf,KAAL,CAAWO,gBAAX,CAAb;EACA,cAAMiD,QAAQ,GAAG,KAAKC,oBAAL,CAA0BlD,gBAA1B,CAAjB;;EACA,cAAIQ,IAAI,IAAI,IAAR,IAAiByC,QAAQ,IAAIA,QAAQ,CAACE,YAAT,CAAsB,UAAtB,CAAjC,EAAqE;EACnE;EACD;;EACD,eAAKxC,qBAAL,CAA2B;EACzBnR,YAAAA,IAAI,EAAEiS;EADmB,WAA3B;EAGD;EACF,OA5Ee;EA8EhB2B,MAAAA,MA9EgB,kBA8ET7G,KA9ES,EA8EF;EACZA,QAAAA,KAAK,CAACmG,cAAN;EACA,aAAKW,KAAL,CAAW;EAAC7T,UAAAA,IAAI,EAAEiS;EAAP,SAAX;EACD;EAjFe,KAlaC;EAAA,UAwfnB6B,qBAxfmB,gBAyfd,MAAKd,eAzfS;EA2fjB,SA3fiB,aA2fbjG,KA3fa,EA2fN;EACTA,QAAAA,KAAK,CAACmG,cAAN;EACA,aAAKa,UAAL,CAAgB;EAAC/T,UAAAA,IAAI,EAAEiS;EAAP,SAAhB;EACD;EA9fgB;EAAA,UAigBnB+B,oBAjgBmB,gBAkgBd,MAAKhB,eAlgBS;EAmgBjBiB,MAAAA,IAngBiB,gBAmgBZlH,KAngBY,EAmgBL;EACV,aAAKmH,yBAAL,CAA+BnH,KAA/B,EAAsC,IAAtC,EAA4C;EAC1C/M,UAAAA,IAAI,EAAEiS;EADoC,SAA5C;EAGD,OAvgBgB;EAygBjBkC,MAAAA,GAzgBiB,eAygBbpH,KAzgBa,EAygBN;EACT,aAAKmH,yBAAL,CAA+BnH,KAA/B,EAAsC,KAAtC,EAA6C;EAC3C/M,UAAAA,IAAI,EAAEiS;EADqC,SAA7C;EAGD;EA7gBgB;;EAAA,UAghBnBmC,oBAhhBmB,GAghBI,kBAOZ;EAAA,sCAAP,EAAO;EAAA,UANTC,OAMS,SANTA,OAMS;EAAA,UALTC,OAKS,SALTA,OAKS;EAAA,UAJTC,SAIS,SAJTA,SAIS;EAAA,UAHTC,OAGS,SAHTA,OAGS;EAAA,UAFTC,MAES,SAFTA,MAES;EAAA,UADN7B,IACM;;EAAA,4BACQ,MAAKxB,QAAL,EADR;EAAA,UACF5D,MADE,mBACFA,MADE;;EAET,UAAMkH,oBAAoB,GAKtB;EACEL,QAAAA,OAAO,EAAExH,oBAAoB,CAACwH,OAAD,EAAU,MAAKM,iBAAf,CAD/B;EAEEJ,QAAAA,SAAS,EAAE1H,oBAAoB,CAAC0H,SAAD,EAAY,MAAKK,mBAAjB,CAFjC;EAGEJ,QAAAA,OAAO,EAAE3H,oBAAoB,CAAC2H,OAAD,EAAU,MAAKK,iBAAf,CAH/B;EAIEJ,QAAAA,MAAM,EAAE5H,oBAAoB,CAAC4H,MAAD,EAAS,MAAKK,gBAAd;EAJ9B,OALJ;EAWA,UAAMC,aAAa,GAAGnC,IAAI,CAACoC,QAAL,GAAgB,EAAhB,GAAqBN,oBAA3C;EACA;EACE1U,QAAAA,IAAI,EAAE,QADR;EAEE+S,QAAAA,IAAI,EAAE,QAFR;EAGE,sBAAcvF,MAAM,GAAG,YAAH,GAAkB,WAHxC;EAIE,yBAAiB,IAJnB;EAKE,uBAAe;EALjB,SAMKuH,aANL,EAOKnC,IAPL;EASD,KA9iBkB;;EAAA,UAgjBnBiC,iBAhjBmB,GAgjBC,UAAA9H,KAAK,EAAI;EAC3B;EACAA,MAAAA,KAAK,CAACmG,cAAN;EACD,KAnjBkB;;EAAA,UAqjBnB0B,mBArjBmB,GAqjBG,UAAA7H,KAAK,EAAI;EAC7B,UAAM1P,GAAG,GAAGyR,iBAAiB,CAAC/B,KAAD,CAA7B;;EACA,UAAI,MAAK+G,qBAAL,CAA2BzW,GAA3B,CAAJ,EAAqC;EACnC,cAAKyW,qBAAL,CAA2BzW,GAA3B,EAAgCS,IAAhC,gCAA2CiP,KAA3C;EACD;EACF,KA1jBkB;;EAAA,UA4jBnB4H,iBA5jBmB,GA4jBC,UAAA5H,KAAK,EAAI;EAC3BA,MAAAA,KAAK,CAACmG,cAAN,GAD2B;EAG3B;;EACA;;EACA,UACE,AACA,MAAKxD,KAAL,CAAWuF,WAAX,CAAuBpS,QAAvB,CAAgCqS,aAAhC,KACE,MAAKxF,KAAL,CAAWuF,WAAX,CAAuBpS,QAAvB,CAAgCgC,IAHpC,EAIE;EACAkI,QAAAA,KAAK,CAAC9P,MAAN,CAAakY,KAAb;EACD,OAX0B;EAa3B;EACA;;;EAIE;EACA,YAAKhF,kBAAL,CAAwB;EAAA,eACtB,MAAK4D,UAAL,CAAgB;EAAC/T,UAAAA,IAAI,EAAEiS;EAAP,SAAhB,CADsB;EAAA,OAAxB;EAIH,KAnlBkB;;EAAA,UAqlBnB6C,gBArlBmB,GAqlBA,UAAA/H,KAAK,EAAI;EAC1B,UAAMqI,UAAU,GAAGrI,KAAK,CAAC9P,MAAzB,CAD0B;EAE1B;;EACA,YAAKkT,kBAAL,CAAwB,YAAM;EAC5B,YACE,CAAC,MAAKkF,WAAN,KACC,MAAK3F,KAAL,CAAWuF,WAAX,CAAuBpS,QAAvB,CAAgCqS,aAAhC,IAAiD,IAAjD,IACC,MAAKxF,KAAL,CAAWuF,WAAX,CAAuBpS,QAAvB,CAAgCqS,aAAhC,CAA8CvF,EAA9C,KAAqD,MAAKG,OAF5D,KAGA,MAAKJ,KAAL,CAAWuF,WAAX,CAAuBpS,QAAvB,CAAgCqS,aAAhC,KAAkDE,UAJpD;EAAA,UAKE;EACA,kBAAKvB,KAAL,CAAW;EAAC7T,cAAAA,IAAI,EAAEiS;EAAP,aAAX;EACD;EACF,OATD;EAUD,KAlmBkB;;EAAA,UAwmBnBqD,aAxmBmB,GAwmBH,UAAA5F,KAAK,EAAI;EACvB;EAAQ6F,QAAAA,OAAO,EAAE,MAAKzF,OAAtB;EAA+BH,QAAAA,EAAE,EAAE,MAAKE;EAAxC,SAAoDH,KAApD;EACD,KA1mBkB;;EAAA,UAgnBnB8F,aAhnBmB,GAgnBH,kBAOL;EAAA,sCAAP,EAAO;EAAA,UANTjB,SAMS,SANTA,SAMS;EAAA,UALTE,MAKS,SALTA,MAKS;EAAA,UAJTnC,QAIS,SAJTA,QAIS;EAAA,UAHTmD,OAGS,SAHTA,OAGS;EAAA,UAFTC,YAES,SAFTA,YAES;EAAA,UADN9C,IACM;;EACT,UAAI+C,WAAJ;EACA,UAAIZ,aAAa,GAAG,EAApB;EAEA;;EAEEY,MAAAA,WAAW,GAAG,SAAd;;EANO,4BAUsC,MAAKvE,QAAL,EAVtC;EAAA,UAUFP,UAVE,mBAUFA,UAVE;EAAA,UAUUrD,MAVV,mBAUUA,MAVV;EAAA,UAUkBgD,gBAVlB,mBAUkBA,gBAVlB;;EAYT,UAAI,CAACoC,IAAI,CAACoC,QAAV,EAAoB;EAAA;;EAClBD,QAAAA,aAAa,wCACVY,WADU,IACI9I,oBAAoB,CACjCyF,QADiC,EAEjCmD,OAFiC,EAGjC,MAAKG,iBAH4B,CADxB,iBAMXrB,SANW,GAMA1H,oBAAoB,CAAC0H,SAAD,EAAY,MAAKsB,kBAAjB,CANpB,iBAOXpB,MAPW,GAOH5H,oBAAoB,CAAC4H,MAAD,EAAS,MAAKqB,eAAd,CAPjB,iBAAb;EASD;EAED;;;EAiBA;EACE,6BAAqB,MADvB;EAEE,iCACEtI,MAAM,IAAI,OAAOgD,gBAAP,KAA4B,QAAtC,IAAkDA,gBAAgB,IAAI,CAAtE,GACI,MAAKT,SAAL,CAAeS,gBAAf,CADJ,GAEI,IALR;EAME,yBAAiBhD,MAAM,GAAG,MAAKoC,MAAR,GAAiB,IAN1C;EAOE,2BAAmB,MAAKC,OAP1B;EAQE;EACA;EACAkG,QAAAA,YAAY,EAAE,KAVhB;EAWEpX,QAAAA,KAAK,EAAEkS,UAXT;EAYElB,QAAAA,EAAE,EAAE,MAAKG;EAZX,SAaKiF,aAbL,EAcKnC,IAdL;EAgBD,KAhrBkB;;EAAA,UAkrBnBiD,kBAlrBmB,GAkrBE,UAAA9I,KAAK,EAAI;EAC5B,UAAM1P,GAAG,GAAGyR,iBAAiB,CAAC/B,KAAD,CAA7B;;EACA,UAAI1P,GAAG,IAAI,MAAK2W,oBAAL,CAA0B3W,GAA1B,CAAX,EAA2C;EACzC,cAAK2W,oBAAL,CAA0B3W,GAA1B,EAA+BS,IAA/B,gCAA0CiP,KAA1C;EACD;EACF,KAvrBkB;;EAAA,UAyrBnB6I,iBAzrBmB,GAyrBC,UAAA7I,KAAK,EAAI;EAC3B,YAAK4D,gBAAL,CAAsB;EACpB3Q,QAAAA,IAAI,EAAEiS,WADc;EAEpBzE,QAAAA,MAAM,EAAE,IAFY;EAGpBqD,QAAAA,UAAU,EAEN9D,KAAK,CAAC9P,MAAN,CAAa0B,KALG;EAMpB6R,QAAAA,gBAAgB,EAAE,MAAKd,KAAL,CAAWgB;EANT,OAAtB;EAQD,KAlsBkB;;EAAA,UAosBnBsF;EAAsB;EApsBH,MAosB+C,UAAAC,IAAI,EAAI;EACxE,YAAKtF,gBAAL,CAAsB;EACpB3Q,QAAAA,IAAI,EAAEiS,WADc;EAEpBzE,QAAAA,MAAM,EAAE,IAFY;EAGpBqD,QAAAA,UAAU,EAAEoF,IAHQ;EAIpBzF,QAAAA,gBAAgB,EAAE,MAAKd,KAAL,CAAWgB;EAJT,OAAtB;EAMD,KA3sBkB;;EAAA,UA6sBnBoF,eA7sBmB,GA6sBD,YAAM;EACtB;EACA,YAAK3F,kBAAL,CAAwB,YAAM;EAC5B,YAAM+F,uBAAuB,GAC3B,MAAKxG,KAAL,CAAWuF,WAAX,CAAuBpS,QAAvB,IACA,CAAC,CAAC,MAAK6M,KAAL,CAAWuF,WAAX,CAAuBpS,QAAvB,CAAgCqS,aADlC,IAEA,CAAC,CAAC,MAAKxF,KAAL,CAAWuF,WAAX,CAAuBpS,QAAvB,CAAgCqS,aAAhC,CAA8CiB,OAFhD,IAGA,MAAKzG,KAAL,CAAWuF,WAAX,CAAuBpS,QAAvB,CAAgCqS,aAAhC,CAA8CiB,OAA9C,CAAsDC,MAHtD,IAIC,MAAK3D,SAAL,IACC,MAAKA,SAAL,CAAerG,QAAf,CACE,MAAKsD,KAAL,CAAWuF,WAAX,CAAuBpS,QAAvB,CAAgCqS,aADlC,CANJ;;EASA,YAAI,CAAC,MAAKG,WAAN,IAAqB,CAACa,uBAA1B,EAAmD;EACjD,gBAAKrC,KAAL,CAAW;EAAC7T,YAAAA,IAAI,EAAEiS;EAAP,WAAX;EACD;EACF,OAbD;EAcD,KA7tBkB;;EAAA,UAmuBnBoE,OAnuBmB,GAmuBT,UAAA1O,IAAI,EAAI;EAChB,YAAK2O,SAAL,GAAiB3O,IAAjB;EACD,KAruBkB;;EAAA,UAuuBnB4O,YAvuBmB,GAuuBJ,0BAGV;EAAA;;EAAA,sCAF+B,EAE/B;EAAA,+BAFF5D,MAEE;EAAA,UAFFA,MAEE,6BAFO,KAEP;EAAA,UAFc6D,GAEd,SAFcA,GAEd;EAAA,UAFsB9G,KAEtB;;EAAA,sCAD0B,EAC1B;EAAA,wCADFmD,gBACE;EAAA,UADFA,gBACE,sCADiB,KACjB;;EACH,YAAK0D,YAAL,CAAkBzD,MAAlB,GAA2B,IAA3B;EACA,YAAKyD,YAAL,CAAkB5D,MAAlB,GAA2BA,MAA3B;EACA,YAAK4D,YAAL,CAAkB1D,gBAAlB,GAAqCA,gBAArC;EAEA,iDACGF,MADH,IACYxF,OAAO,CAACqJ,GAAD,EAAM,MAAKH,OAAX,CADnB,YAEEtD,IAFF,GAEQ,SAFR,YAGE,iBAHF,IAGqBrD,KAAK,IAAIA,KAAK,CAAC,YAAD,CAAd,GAA+B,IAA/B,GAAsC,MAAKG,OAHhE,YAIEF,EAJF,GAIM,MAAKC,MAJX,cAKKF,KALL;EAOD,KAtvBkB;;EAAA,UA0vBnB+G,YA1vBmB,GA0vBJ,kBAUJ;EAAA;;EAAA,sCAAP,EAAO;EAAA,UATTC,WASS,SATTA,WASS;EAAA,UARTC,WAQS,SARTA,WAQS;EAAA,UAPTtC,OAOS,SAPTA,OAOS;EAAA,UANTC,OAMS,SANTA,OAMS;EAAA,UALT1Q,KAKS,SALTA,KAKS;EAAA,6BAJToN,IAIS;EAAA,UAJTA,IAIS,2BAFL1C,YAAY,CAAC,cAAD,EAAiB,MAAjB,CAEP;EAAA,UADNsE,IACM;;EACT,UAAIhP,KAAK,KAAK7B,SAAd,EAAyB;EACvB,cAAKkO,KAAL,CAAW/H,IAAX,CAAgB8I,IAAhB;;EACApN,QAAAA,KAAK,GAAG,MAAKqM,KAAL,CAAWzS,OAAX,CAAmBwT,IAAnB,CAAR;EACD,OAHD,MAGO;EACL,cAAKf,KAAL,CAAWrM,KAAX,IAAoBoN,IAApB;EACD;;EAED,UAAM4F,WAAW,GAEb,SAFJ;EAGA,UAAMC,kBAAkB,GAEpBxC,OAFJ;EAIA,UAAMK,oBAAoB;EACxB;EACA;EACA;EACAgC,QAAAA,WAAW,EAAE7J,oBAAoB,CAAC6J,WAAD,EAAc,YAAM;EACnD,cAAI9S,KAAK,KAAK,MAAKwN,QAAL,GAAgBZ,gBAA9B,EAAgD;EAC9C;EACD;;EACD,gBAAKD,mBAAL,CAAyB3M,KAAzB,EAAgC;EAC9B5D,YAAAA,IAAI,EAAEiS;EADwB,WAAhC,EAJmD;EASnD;EACA;EACA;;;EACA,gBAAK6E,cAAL,GAAsB,IAAtB;;EACA,gBAAK3G,kBAAL,CAAwB;EAAA,mBAAO,MAAK2G,cAAL,GAAsB,KAA7B;EAAA,WAAxB,EAA6D,GAA7D;EACD,SAdgC,CAJT;EAmBxBH,QAAAA,WAAW,EAAE9J,oBAAoB,CAAC8J,WAAD,EAAc,UAAA5J,KAAK,EAAI;EACtD;EACA;EACA;EACAA,UAAAA,KAAK,CAACmG,cAAN;EACD,SALgC;EAnBT,+BAyBvB0D,WAzBuB,IAyBT/J,oBAAoB,CAACgK,kBAAD,EAAqB,YAAM;EAC5D,cAAK5F,iBAAL,CAAuBrN,KAAvB,EAA8B;EAC5B5D,UAAAA,IAAI,EAAEiS;EADsB,SAA9B;EAGD,OAJkC,CAzBX,wBAA1B,CAfS;EAgDT;;EACA,UAAM8C,aAAa,GAAGnC,IAAI,CAACoC,QAAL,GAClB;EAAC2B,QAAAA,WAAW,EAAEjC,oBAAoB,CAACiC;EAAnC,OADkB,GAElBjC,oBAFJ;EAIA;EACE/E,QAAAA,EAAE,EAAE,MAAKI,SAAL,CAAenM,KAAf,CADN;EAEEmP,QAAAA,IAAI,EAAE,QAFR;EAGE,yBAAiB,MAAK3B,QAAL,GAAgBZ,gBAAhB,KAAqC5M;EAHxD,SAIKmR,aAJL,EAKKnC,IALL;EAOD,KAh0BkB;;EAAA,UAm0BnBmE,UAn0BmB,GAm0BN,YAAM;EACjB,YAAK9G,KAAL,GAAa,EAAb;EACD,KAr0BkB;;EAAA,UAu0BnB4D,KAv0BmB,GAu0BX,UAACpD,eAAD,EAAuB9E,EAAvB,EAA8B;EAAA,UAA7B8E,eAA6B;EAA7BA,QAAAA,eAA6B,GAAX,EAAW;EAAA;;EACpCA,MAAAA,eAAe,GAAG9B,SAAS,CAAC8B,eAAD,CAA3B;;EACA,YAAKE,gBAAL,CACE;EAAA,YAAElD,YAAF,SAAEA,YAAF;EAAA;EACED,UAAAA,MAAM,EAAE,MAAKkC,KAAL,CAAWoB,aADrB;EAEEN,UAAAA,gBAAgB,EAAE,MAAKd,KAAL,CAAWgB,uBAF/B;EAGEG,UAAAA,UAAU,EAAE,MAAKnB,KAAL,CAAW9B,YAAX,CAAwBH,YAAxB;EAHd,WAIKgD,eAJL;EAAA,OADF,EAOE9E,EAPF;EASD,KAl1BkB;;EAAA,UAo1BnBoI,UAp1BmB,GAo1BN,UAACtD,eAAD,EAAuB9E,EAAvB,EAA8B;EAAA,UAA7B8E,eAA6B;EAA7BA,QAAAA,eAA6B,GAAX,EAAW;EAAA;;EACzCA,MAAAA,eAAe,GAAG9B,SAAS,CAAC8B,eAAD,CAA3B;;EACA,YAAKE,gBAAL,CACE,iBAAc;EAAA,YAAZnD,MAAY,SAAZA,MAAY;EACZ;EACEA,UAAAA,MAAM,EAAE,CAACA;EADX,WAEMA,MAAM,IAAI;EACZgD,UAAAA,gBAAgB,EAAE,MAAKd,KAAL,CAAWgB;EADjB,SAFhB,EAKKD,eALL;EAOD,OATH,EAUE,YAAM;EAAA,8BAC+B,MAAKW,QAAL,EAD/B;EAAA,YACG5D,MADH,mBACGA,MADH;EAAA,YACWgD,gBADX,mBACWA,gBADX;;EAEJ,YAAIhD,MAAJ,EAAY;EACV,cAAI,MAAK8F,YAAL,KAAsB,CAAtB,IAA2B,OAAO9C,gBAAP,KAA4B,QAA3D,EAAqE;EACnE,kBAAKD,mBAAL,CAAyBC,gBAAzB,EAA2CC,eAA3C;EACD;EACF;;EACD/E,QAAAA,MAAM,CAACC,EAAD,CAAN;EACD,OAlBH;EAoBD,KA12BkB;;EAAA,UA42BnBqL,QA52BmB,GA42BR,UAAArL,EAAE,EAAI;EACf,YAAKgF,gBAAL,CAAsB;EAACnD,QAAAA,MAAM,EAAE;EAAT,OAAtB,EAAsC7B,EAAtC;EACD,KA92BkB;;EAAA,UAg3BnBsL,SAh3BmB,GAg3BP,UAAAtL,EAAE,EAAI;EAChB,YAAKgF,gBAAL,CAAsB;EAACnD,QAAAA,MAAM,EAAE;EAAT,OAAtB,EAAuC7B,EAAvC;EACD,KAl3BkB;;EAAA,UAo3BnBuL,YAp3BmB,GAo3BJ7K,QAAQ,CAAC,YAAM;EAC5B,UAAMuC,KAAK,GAAG,MAAKwC,QAAL,EAAd;;EACA,UAAMJ,IAAI,GAAG,MAAKf,KAAL,CAAWrB,KAAK,CAAC4B,gBAAjB,CAAb;;EACA,UAAM9C,WAAW,GAAG,MAAK4F,YAAL,EAApB;;EACA,UAAMrQ,MAAM,GAAG,MAAKyM,KAAL,CAAWnC,oBAAX;EACbK,QAAAA,YAAY,EAAE,MAAK8B,KAAL,CAAW9B,YADZ;EAEbD,QAAAA,mBAAmB,EAAE,MAAKA,mBAFb;EAGbD,QAAAA,WAAW,EAAXA,WAHa;EAIbyJ,QAAAA,eAAe,EAAEnG;EAJJ,SAKVpC,KALU,EAAf;;EAOA,YAAKjB,mBAAL,GAA2BD,WAA3B;EAEA0J,MAAAA,SAAa,CAACnU,MAAD,CAAb;EACD,KAdsB,EAcpB,GAdoB,CAp3BJ;;EAEjB;EACA;EACA;EAJiB,sBAYb,MAAKyM,KAZQ;EAAA,QAMfgB,uBANe,eAMfA,uBANe;EAAA,4CAOf2G,uBAPe;EAAA,QAOU7G,iBAPV,sCAO6BE,uBAP7B;EAAA,QAQfI,aARe,eAQfA,aARe;EAAA,4CASfwG,aATe;EAAA,QASA9J,OATA,sCASSsD,aATT;EAAA,4CAUfyG,iBAVe;EAAA,QAUI1G,WAVJ,sCAUiB,EAVjB;EAAA,4CAWf2G,mBAXe;EAAA,QAWM/J,aAXN,sCAWqB,IAXrB;;EAajB,QAAMmB,MAAK,GAAG,MAAKwC,QAAL,CAAc;EAC1BZ,MAAAA,gBAAgB,EAAhBA,iBAD0B;EAE1BhD,MAAAA,MAAM,EAANA,OAF0B;EAG1BqD,MAAAA,UAAU,EAAVA,WAH0B;EAI1BpD,MAAAA,YAAY,EAAZA;EAJ0B,KAAd,CAAd;;EAMA,QACEmB,MAAK,CAACnB,YAAN,IAAsB,IAAtB,IACA,MAAKiC,KAAL,CAAW6H,iBAAX,KAAiCxV,SAFnC,EAGE;EACA6M,MAAAA,MAAK,CAACiC,UAAN,GAAmB,MAAKnB,KAAL,CAAW9B,YAAX,CAAwBgB,MAAK,CAACnB,YAA9B,CAAnB;EACD;;EACD,UAAKmB,KAAL,GAAaA,MAAb;EAzBiB;EA0BlB;;;;EAiCD;;;WAGA6I,wBAAA,iCAAwB;EACtB,SAAKvH,UAAL,CAAgBxM,OAAhB,CAAwB,UAAAiM,EAAE,EAAI;EAC5BjD,MAAAA,YAAY,CAACiD,EAAD,CAAZ;EACD,KAFD;EAIA,SAAKO,UAAL,GAAkB,EAAlB;EACD;EAED;;;;;;;;;;;;;;;;;WAeAkB,WAAA,kBAASsG,YAAT,EAAoC;EAAA;;EAAA,QAA3BA,YAA2B;EAA3BA,MAAAA,YAA2B,GAAZ,KAAK9I,KAAO;EAAA;;EAClC,WAAOzR,MAAM,CAACC,IAAP,CAAYsa,YAAZ,EAA0BC,MAA1B,CAAiC,UAAC/I,KAAD,EAAQvR,GAAR,EAAgB;EACtDuR,MAAAA,KAAK,CAACvR,GAAD,CAAL,GAAa,MAAI,CAAC6U,gBAAL,CAAsB7U,GAAtB,IACT,MAAI,CAACqS,KAAL,CAAWrS,GAAX,CADS,GAETqa,YAAY,CAACra,GAAD,CAFhB;EAGA,aAAOuR,KAAP;EACD,KALM,EAKJ,EALI,CAAP;EAMD;EAED;;;;;;;;;WAOAsD,mBAAA,0BAAiB7U,GAAjB,EAAsB;EACpB,WAAO,KAAKqS,KAAL,CAAWrS,GAAX,MAAoB0E,SAA3B;EACD;;WAEDuR,eAAA,wBAAe;EACb;EACA;EACA;EACA;EACA,QAAIhE,SAAS,GAAG,KAAKW,KAAL,CAAW1S,MAA3B;;EACA,QAAI,KAAK+R,SAAL,IAAkB,IAAtB,EAA4B;EAC1BA,MAAAA,SAAS,GAAG,KAAKA,SAAjB;EACD,KAFD,MAEO,IAAI,KAAKI,KAAL,CAAWJ,SAAX,KAAyBvN,SAA7B,EAAwC;EAC7CuN,MAAAA,SAAS,GAAG,KAAKI,KAAL,CAAWJ,SAAvB;EACD;;EACD,WAAOA,SAAP;EACD;;WAUDoE,uBAAA,8BAAqB9P,KAArB,EAA4B;EAC1B,WAAO,KAAK8L,KAAL,CAAWuF,WAAX,CAAuBpS,QAAvB,CAAgCC,cAAhC,CAA+C,KAAKiN,SAAL,CAAenM,KAAf,CAA/C,CAAP;EACD;;WAUDgU,gCAAA,yCAAgC;EAC9B;EACoB;EAClB,UAAMjQ,IAAI,GAAG,KAAK+L,oBAAL,CAA0B,KAAKtC,QAAL,GAAgBZ,gBAA1C,CAAb;EACA,WAAKd,KAAL,CAAW7D,cAAX,CAA0BlE,IAA1B,EAAgC,KAAK2O,SAArC;EACD;EACF;;WAEDjD,uBAAA,8BAAqBF,MAArB,EAA6B1C,eAA7B,EAA8C;EAC5C,QAAMnB,SAAS,GAAG,KAAKgE,YAAL,EAAlB;;EACA,QAAIhE,SAAS,GAAG,CAAhB,EAAmB;EACjB,UAAMuI,oBAAoB,GAAG1I,oBAAoB,CAC/CgE,MAD+C,EAE/C,KAAK/B,QAAL,GAAgBZ,gBAF+B,EAG/ClB,SAH+C,CAAjD;EAKA,WAAKiB,mBAAL,CAAyBsH,oBAAzB,EAA+CpH,eAA/C;EACD;EACF;;WAEDyD,4BAAA,mCAA0BnH,KAA1B,EAAiC+K,KAAjC,EAAwCrH,eAAxC,EAAyD;EACvD,QAAMlB,cAAc,GAAG,KAAK+D,YAAL,KAAsB,CAA7C;;EACA,QAAI/D,cAAc,GAAG,CAAjB,IAAsB,CAAC,KAAK6B,QAAL,GAAgB5D,MAA3C,EAAmD;EACjD;EACD;;EACDT,IAAAA,KAAK,CAACmG,cAAN;EACA,SAAK3C,mBAAL,CAAyBuH,KAAK,GAAG,CAAH,GAAOvI,cAArC,EAAqDkB,eAArD;EACD;;WAkKDkB,qBAAA,8BAAqB;EAAA,0BAC0C,KAAKP,QAAL,EAD1C;EAAA,QACZZ,gBADY,mBACZA,gBADY;EAAA,QACMK,UADN,mBACMA,UADN;EAAA,QACkBpD,YADlB,mBACkBA,YADlB;EAAA,QACgCD,MADhC,mBACgCA,MADhC;;EAAA,QAEZI,YAFY,GAEI,KAAK8B,KAFT,CAEZ9B,YAFY;EAAA,QAGZ+B,EAHY,GAGN,IAHM,CAGZA,EAHY;EAAA,QAKjB+C,YALiB,GAwBf,IAxBe,CAKjBA,YALiB;EAAA,QAMjB0B,oBANiB,GAwBf,IAxBe,CAMjBA,oBANiB;EAAA,QAOjBkB,aAPiB,GAwBf,IAxBe,CAOjBA,aAPiB;EAAA,QAQjBiB,YARiB,GAwBf,IAxBe,CAQjBA,YARiB;EAAA,QASjBf,aATiB,GAwBf,IAxBe,CASjBA,aATiB;EAAA,QAUjBiB,YAViB,GAwBf,IAxBe,CAUjBA,YAViB;EAAA,QAWjBO,QAXiB,GAwBf,IAxBe,CAWjBA,QAXiB;EAAA,QAYjBC,SAZiB,GAwBf,IAxBe,CAYjBA,SAZiB;EAAA,QAajBlD,UAbiB,GAwBf,IAxBe,CAajBA,UAbiB;EAAA,QAcjBhD,UAdiB,GAwBf,IAxBe,CAcjBA,UAdiB;EAAA,QAejBE,iBAfiB,GAwBf,IAxBe,CAejBA,iBAfiB;EAAA,QAgBjBE,qBAhBiB,GAwBf,IAxBe,CAgBjBA,qBAhBiB;EAAA,QAiBjBZ,mBAjBiB,GAwBf,IAxBe,CAiBjBA,mBAjBiB;EAAA,QAkBjBK,cAlBiB,GAwBf,IAxBe,CAkBjBA,cAlBiB;EAAA,QAmBjBmG,UAnBiB,GAwBf,IAxBe,CAmBjBA,UAnBiB;EAAA,QAoBjBlD,KApBiB,GAwBf,IAxBe,CAoBjBA,KApBiB;EAAA,QAqBjBzD,YArBiB,GAwBf,IAxBe,CAqBjBA,YArBiB;EAAA,QAsBjBE,cAtBiB,GAwBf,IAxBe,CAsBjBA,cAtBiB;EAAA,QAuBCsB,QAvBD,GAwBf,IAxBe,CAuBjBjB,gBAvBiB;EAyBnB,WAAO;EACL;EACA+B,MAAAA,YAAY,EAAZA,YAFK;EAGL0B,MAAAA,oBAAoB,EAApBA,oBAHK;EAILkB,MAAAA,aAAa,EAAbA,aAJK;EAKLiB,MAAAA,YAAY,EAAZA,YALK;EAMLf,MAAAA,aAAa,EAAbA,aANK;EAOLiB,MAAAA,YAAY,EAAZA,YAPK;EASL;EACA5C,MAAAA,KAAK,EAALA,KAVK;EAWLmD,MAAAA,QAAQ,EAARA,QAXK;EAYLC,MAAAA,SAAS,EAATA,SAZK;EAaLlD,MAAAA,UAAU,EAAVA,UAbK;EAcLhD,MAAAA,UAAU,EAAVA,UAdK;EAeLE,MAAAA,iBAAiB,EAAjBA,iBAfK;EAgBLE,MAAAA,qBAAqB,EAArBA,qBAhBK;EAiBLZ,MAAAA,mBAAmB,EAAnBA,mBAjBK;EAkBLK,MAAAA,cAAc,EAAdA,cAlBK;EAmBLmG,MAAAA,UAAU,EAAVA,UAnBK;EAoBL3G,MAAAA,YAAY,EAAZA,YApBK;EAqBLE,MAAAA,cAAc,EAAdA,cArBK;EAsBLsB,MAAAA,QAAQ,EAARA,QAtBK;EAwBL;EACAhE,MAAAA,YAAY,EAAZA,YAzBK;EA2BL;EACA+B,MAAAA,EAAE,EAAFA,EA5BK;EA8BL;EACAa,MAAAA,gBAAgB,EAAhBA,gBA/BK;EAgCLK,MAAAA,UAAU,EAAVA,UAhCK;EAiCLrD,MAAAA,MAAM,EAANA,MAjCK;EAkCLC,MAAAA,YAAY,EAAZA;EAlCK,KAAP;EAoCD;;;WA+fDsK,oBAAA,6BAAoB;EAAA;;EAClB;EACA,QACE,AAEA,KAAKxB,YAAL,CAAkBzD,MAFlB,IAGA,CAAC,KAAKyD,YAAL,CAAkB1D,gBAJrB,EAKE;EACAmF,MAAAA,mCAAmC,CAAC,KAAK1B,SAAN,EAAiB,KAAKC,YAAtB,CAAnC;EACD;EAED;;;EAKO;EACL,UAAM0B,qBAAqB,GAAG,UAAChb,MAAD,EAASib,kBAAT,EAAuC;EAAA,YAA9BA,kBAA8B;EAA9BA,UAAAA,kBAA8B,GAAT,IAAS;EAAA;;EAAA,YAC5DrV,QAD4D,GAChD,MAAI,CAAC6M,KAAL,CAAWuF,WADqC,CAC5DpS,QAD4D;EAEnE,eAAO,CAAC,MAAI,CAAC4P,SAAN,EAAiB,MAAI,CAAC6D,SAAtB,EAAiCtJ,IAAjC,CACL,UAAAmL,WAAW;EAAA,iBACTA,WAAW,KACVlM,gBAAgB,CAACkM,WAAD,EAAclb,MAAd,CAAhB,IACEib,kBAAkB,IACjBjM,gBAAgB,CAACkM,WAAD,EAActV,QAAQ,CAACqS,aAAvB,CAHT,CADF;EAAA,SADN,CAAP;EAOD,OATD,CADK;EAYL;EACA;EACA;EACA;;;EACA,UAAMyB,WAAW,GAAG,YAAM;EACxB,QAAA,MAAI,CAACtB,WAAL,GAAmB,IAAnB;EACD,OAFD;;EAGA,UAAM+C,SAAS,GAAG,UAAArL,KAAK,EAAI;EACzB,QAAA,MAAI,CAACsI,WAAL,GAAmB,KAAnB,CADyB;EAGzB;;EACA,YAAMgD,sBAAsB,GAAGJ,qBAAqB,CAAClL,KAAK,CAAC9P,MAAP,CAApD;;EACA,YAAI,CAACob,sBAAD,IAA2B,MAAI,CAACjH,QAAL,GAAgB5D,MAA/C,EAAuD;EACrD,UAAA,MAAI,CAACqG,KAAL,CAAW;EAAC7T,YAAAA,IAAI,EAAEiS;EAAP,WAAX,EAA6C;EAAA,mBAC3C,MAAI,CAACvC,KAAL,CAAW4I,YAAX,CAAwB,MAAI,CAAC3G,kBAAL,EAAxB,CAD2C;EAAA,WAA7C;EAGD;EACF,OAVD,CAnBK;EA+BL;EACA;EACA;EACA;EACA;;;EACA,UAAM4G,YAAY,GAAG,YAAM;EACzB,QAAA,MAAI,CAACC,WAAL,GAAmB,KAAnB;EACD,OAFD;;EAIA,UAAMC,WAAW,GAAG,YAAM;EACxB,QAAA,MAAI,CAACD,WAAL,GAAmB,IAAnB;EACD,OAFD;;EAIA,UAAME,UAAU,GAAG,UAAA3L,KAAK,EAAI;EAC1B,YAAMsL,sBAAsB,GAAGJ,qBAAqB,CAClDlL,KAAK,CAAC9P,MAD4C,EAElD,KAFkD,CAApD;;EAIA,YACE,CAAC,MAAI,CAACub,WAAN,IACA,CAACH,sBADD,IAEA,MAAI,CAACjH,QAAL,GAAgB5D,MAHlB,EAIE;EACA,UAAA,MAAI,CAACqG,KAAL,CAAW;EAAC7T,YAAAA,IAAI,EAAEiS;EAAP,WAAX,EAA8C;EAAA,mBAC5C,MAAI,CAACvC,KAAL,CAAW4I,YAAX,CAAwB,MAAI,CAAC3G,kBAAL,EAAxB,CAD4C;EAAA,WAA9C;EAGD;EACF,OAdD;;EAgBA,WAAKjC,KAAL,CAAWuF,WAAX,CAAuB0D,gBAAvB,CAAwC,WAAxC,EAAqDhC,WAArD;EACA,WAAKjH,KAAL,CAAWuF,WAAX,CAAuB0D,gBAAvB,CAAwC,SAAxC,EAAmDP,SAAnD;EACA,WAAK1I,KAAL,CAAWuF,WAAX,CAAuB0D,gBAAvB,CAAwC,YAAxC,EAAsDJ,YAAtD;EACA,WAAK7I,KAAL,CAAWuF,WAAX,CAAuB0D,gBAAvB,CAAwC,WAAxC,EAAqDF,WAArD;EACA,WAAK/I,KAAL,CAAWuF,WAAX,CAAuB0D,gBAAvB,CAAwC,UAAxC,EAAoDD,UAApD;;EAEA,WAAKE,OAAL,GAAe,YAAM;EACnB,QAAA,MAAI,CAACnB,qBAAL;;EACA,QAAA,MAAI,CAACP,YAAL,CAAkBzK,MAAlB;;EACA,QAAA,MAAI,CAACiD,KAAL,CAAWuF,WAAX,CAAuB4D,mBAAvB,CAA2C,WAA3C,EAAwDlC,WAAxD;;EACA,QAAA,MAAI,CAACjH,KAAL,CAAWuF,WAAX,CAAuB4D,mBAAvB,CAA2C,SAA3C,EAAsDT,SAAtD;;EACA,QAAA,MAAI,CAAC1I,KAAL,CAAWuF,WAAX,CAAuB4D,mBAAvB,CAA2C,YAA3C,EAAyDN,YAAzD;;EACA,QAAA,MAAI,CAAC7I,KAAL,CAAWuF,WAAX,CAAuB4D,mBAAvB,CAA2C,WAA3C,EAAwDJ,WAAxD;;EACA,QAAA,MAAI,CAAC/I,KAAL,CAAWuF,WAAX,CAAuB4D,mBAAvB,CAA2C,UAA3C,EAAuDH,UAAvD;EACD,OARD;EASD;EACF;;WAEDI,eAAA,sBAAaC,SAAb,EAAwBC,SAAxB,EAAmC;EAAA,iBAE/B,KAAKtJ,KAAL,CAAWc,gBAAX,KAAgCzO,SAAhC,GAA4C,KAAKqP,QAAL,EAA5C,GAA8D,KAAK1B,KAFpC;EAAA,QACRuJ,uBADQ,UAC1BzI,gBAD0B;;EAAA,iBAI/BwI,SAAS,CAACxI,gBAAV,KAA+BzO,SAA/B,GAA2CgX,SAA3C,GAAuDC,SAJxB;EAAA,QAGRE,oBAHQ,UAG1B1I,gBAH0B;;EAKjC,QAAM2I,cAAc,GAClBF,uBAAuB,IAAI,KAAK7H,QAAL,GAAgB5D,MAA3C,IAAqD,CAACuL,SAAS,CAACvL,MADlE;EAKA,WAAO2L,cAAc,IAFnBF,uBAAuB,KAAKC,oBAE9B;EACD;;WAEDE,qBAAA,4BAAmBJ,SAAnB,EAA8BD,SAA9B,EAAyC;EAErCM,IAAAA,2BAA2B,CAACL,SAAD,EAAY,KAAKtJ,KAAjB,CAA3B;EACA;;EACA,QACE,AACA,KAAK6G,YAAL,CAAkBzD,MADlB,IAEA,CAAC,KAAKyD,YAAL,CAAkB1D,gBAHrB,EAIE;EACAmF,MAAAA,mCAAmC,CAAC,KAAK1B,SAAN,EAAiB,KAAKC,YAAtB,CAAnC;EACD;;EAGH,QACE,KAAKrE,gBAAL,CAAsB,cAAtB,KACA,KAAKxC,KAAL,CAAW4J,mBAAX,CACEN,SAAS,CAACvL,YADZ,EAEE,KAAKiC,KAAL,CAAWjC,YAFb,CAFF,EAME;EACA,WAAKkD,gBAAL,CAAsB;EACpB3Q,QAAAA,IAAI,EAAEiS,iCADc;EAEpBpB,QAAAA,UAAU,EAAE,KAAKnB,KAAL,CAAW9B,YAAX,CAAwB,KAAK8B,KAAL,CAAWjC,YAAnC;EAFQ,OAAtB;EAID;;EAED,QAAI,CAAC,KAAKqJ,cAAN,IAAwB,KAAKgC,YAAL,CAAkBC,SAAlB,EAA6BC,SAA7B,CAA5B,EAAqE;EACnE,WAAKpB,6BAAL;EACD;EAED;;;EAEE,SAAKV,YAAL;EAEH;;WAEDqC,uBAAA,gCAAuB;EACrB,SAAKX,OAAL,GADqB;EAEtB;;WAEDY,SAAA,kBAAS;EACP,QAAMC,QAAQ,GAAG5L,WAAW,CAAC,KAAK6B,KAAL,CAAW+J,QAAZ,EAAsB7N,IAAtB,CAA5B,CADO;EAGP;EACA;;EACA,SAAKmL,UAAL,GALO;EAOP;EACA;EACA;;EACA,SAAKrE,YAAL,CAAkBI,MAAlB,GAA2B,KAA3B;EACA,SAAKJ,YAAL,CAAkBC,MAAlB,GAA2B5Q,SAA3B;EACA,SAAK2Q,YAAL,CAAkBG,gBAAlB,GAAqC9Q,SAArC,CAZO;;EAcP,SAAKwU,YAAL,CAAkBzD,MAAlB,GAA2B,KAA3B;EACA,SAAKyD,YAAL,CAAkB5D,MAAlB,GAA2B5Q,SAA3B;EACA,SAAKwU,YAAL,CAAkB1D,gBAAlB,GAAqC9Q,SAArC,CAhBO;;EAkBP,SAAKuT,aAAL,CAAmBxC,MAAnB,GAA4B,KAA5B,CAlBO;;EAoBP,SAAK0C,aAAL,CAAmB1C,MAAnB,GAA4B,KAA5B;EACA,QAAM5E,OAAO,GAAGL,WAAW,CAAC4L,QAAQ,CAAC,KAAK9H,kBAAL,EAAD,CAAT,CAA3B;;EACA,QAAI,CAACzD,OAAL,EAAc;EACZ,aAAO,IAAP;EACD;;EAED,QAAI,KAAKwE,YAAL,CAAkBI,MAAlB,IAA4B,KAAKpD,KAAL,CAAWmD,gBAA3C,EAA6D;EAC3D,UACE,AACA,CAAC,KAAKH,YAAL,CAAkBG,gBADnB,IAEA,CAAC,KAAKnD,KAAL,CAAWmD,gBAHd,EAIE;EACA6G,QAAAA,mCAAmC,CAACxL,OAAD,EAAU,KAAKwE,YAAf,CAAnC;EACD;;EACD,aAAOxE,OAAP;EACD,KATD,MASO,IAAID,YAAY,CAACC,OAAD,CAAhB,EAA2B;EAChC;EACA;EACA,aAAOyL,cAAK,CAACC,YAAN,CACL1L,OADK,EAEL,KAAKwE,YAAL,CAAkBtE,eAAe,CAACF,OAAD,CAAjC,CAFK,CAAP;EAID;EAED;;;EAEE;EACA;EAEA,UAAM,IAAItM,KAAJ,CACJ,0FADI,CAAN;EAKF;EAED;;;IArqCqBiY;;EAAlBpK,UA8CGqK,eAAe;EACpBpJ,EAAAA,uBAAuB,EAAE,IADL;EAEpBI,EAAAA,aAAa,EAAE,KAFK;EAGpBvD,EAAAA,oBAAoB,EAApBA,oBAHoB;EAIpBK,EAAAA,YAAY,EAAE,sBAAAtQ,CAAC,EAAI;EACjB,QAAIA,CAAC,IAAI,IAAT,EAAe;EACb,aAAO,EAAP;EACD;;EACD,QACE,AACA0R,aAAa,CAAC1R,CAAD,CADb,IAEA,CAACA,CAAC,CAACO,cAAF,CAAiB,UAAjB,CAHH,EAIE;EACA;EACA6D,MAAAA,OAAO,CAACC,IAAR,CACE,4MADF,EAEE,6BAFF,EAGErE,CAHF;EAKD;;EACD,WAAO+P,MAAM,CAAC/P,CAAD,CAAb;EACD,GArBmB;EAsBpB8U,EAAAA,aAAa,EAAExG,IAtBK;EAuBpB8F,EAAAA,kBAAkB,EAAE9F,IAvBA;EAwBpB2G,EAAAA,YAAY,EAAE3G,IAxBM;EAyBpB0G,EAAAA,QAAQ,EAAE1G,IAzBU;EA0BpByG,EAAAA,QAAQ,EAAEzG,IA1BU;EA2BpB0M,EAAAA,YAAY,EAAE1M,IA3BM;EA4BpB0N,EAAAA,mBAAmB,EAAE,6BAACS,QAAD,EAAW/I,IAAX;EAAA,WAAoB+I,QAAQ,KAAK/I,IAAjC;EAAA,GA5BD;EA6BpBiE,EAAAA,WAAW,EACT,OAAO7M,MAAP,KAAkB;EAAY;EAA9B,IACI,EADJ,GAEIA,MAhCc;EAiCpB0J,EAAAA,YAAY,EAAE,sBAAClD,KAAD,EAAQyC,UAAR;EAAA,WAAuBA,UAAvB;EAAA,GAjCM;EAkCpBwB,EAAAA,gBAAgB,EAAE,KAlCE;EAmCpBhH,EAAAA,cAAc,EAAdA;EAnCoB;EA9ClB4D,UAoFGwC,mBAAmBA;AAolC5B;EAEA,SAAS+F,mCAAT,CAA6CrQ,IAA7C,UAA6D;EAAA,MAATgL,MAAS,UAATA,MAAS;;EAC3D,MAAI,CAAChL,IAAL,EAAW;EACT;EACAjG,IAAAA,OAAO,CAAC+M,KAAR,gCAC8BkE,MAD9B;EAGD;EACF;;EAED,SAAS+G,mCAAT,CAA6CxL,OAA7C,UAAgE;EAAA,MAATyE,MAAS,UAATA,MAAS;EAC9D,MAAMqH,eAAe,GAAGrH,MAAM,KAAK,KAAnC;EACA,MAAMsH,WAAW,GAAG,CAAChM,YAAY,CAACC,OAAD,CAAjC;;EACA,MAAI+L,WAAW,IAAI,CAACD,eAAhB,IAAmC,CAACE,SAAY,CAAChM,OAAD,CAApD,EAA+D;EAC7D;EACAxM,IAAAA,OAAO,CAAC+M,KAAR,CACE,sFADF;EAGD,GALD,MAKO,IAAI,CAACwL,WAAD,IAAgBD,eAApB,EAAqC;EAC1C;EACAtY,IAAAA,OAAO,CAAC+M,KAAR,8GAC4GkE,MAD5G;EAGD;;EACD,MAAI,CAACuH,SAAY,CAAChM,OAAD,CAAb,IAA0B,CAACE,eAAe,CAACF,OAAD,CAAf,CAAyByE,MAAzB,CAA/B,EAAiE;EAC/D;EACAjR,IAAAA,OAAO,CAAC+M,KAAR,+CAC6CkE,MAD7C;EAGD;EACF;;EAED,SAAS0G,2BAAT,CAAqCL,SAArC,EAAgDmB,SAAhD,EAA2D;EACzD,MAAMC,kBAAkB,2PAAxB;EACC,GAAC,cAAD,EAAiB,QAAjB,EAA2B,YAA3B,EAAyC,kBAAzC,EAA6D1W,OAA7D,CACC,UAAA2W,OAAO,EAAI;EACT,QACErB,SAAS,CAACqB,OAAD,CAAT,KAAuBtY,SAAvB,IACAoY,SAAS,CAACE,OAAD,CAAT,KAAuBtY,SAFzB,EAGE;EACA;EACAL,MAAAA,OAAO,CAAC+M,KAAR,+DAC6D4L,OAD7D,+BAC6FD,kBAD7F;EAGD,KARD,MAQO,IACLpB,SAAS,CAACqB,OAAD,CAAT,KAAuBtY,SAAvB,IACAoY,SAAS,CAACE,OAAD,CAAT,KAAuBtY,SAFlB,EAGL;EACA;EACAL,MAAAA,OAAO,CAAC+M,KAAR,iEAC+D4L,OAD/D,6BAC6FD,kBAD7F;EAGD;EACF,GAnBF;EAqBF;;;;;;;;;;;;;"}