{"ast":null,"code":"import * as React from 'react';\nimport { useLayoutEffect, useEffect, isValidElement, cloneElement, createContext, forwardRef, memo, useRef, useState, useCallback, useMemo } from 'react';\nimport fbWarning from 'warning';\n\n/* eslint-disable no-restricted-globals, eqeqeq  */\n\n/**\n * React currently throws a warning when using useLayoutEffect on the server.\n * To get around it, we can conditionally useEffect on the server (no-op) and\n * useLayoutEffect in the browser. We occasionally need useLayoutEffect to\n * ensure we don't get a render flash for certain operations, but we may also\n * need affected components to render on the server. One example is when setting\n * a component's descendants to retrieve their index values.\n *\n * Important to note that using this hook as an escape hatch will break the\n * eslint dependency warnings unless you rename the import to `useLayoutEffect`.\n * Use sparingly only when the effect won't effect the rendered HTML to avoid\n * any server/client mismatch.\n *\n * If a useLayoutEffect is needed and the result would create a mismatch, it's\n * likely that the component in question shouldn't be rendered on the server at\n * all, so a better approach would be to lazily render those in a parent\n * component after client-side hydration.\n *\n * TODO: We are calling useLayoutEffect in a couple of places that will likely\n * cause some issues for SSR users, whether the warning shows or not. Audit and\n * fix these.\n *\n * https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\n * https://github.com/reduxjs/react-redux/blob/master/src/utils/useIsomorphicLayoutEffect.js\n *\n * @param effect\n * @param deps\n */\nvar useIsomorphicLayoutEffect = /*#__PURE__*/canUseDOM() ? useLayoutEffect : useEffect;\nvar checkedPkgs = {};\n/**\n * Copy of Facebook's warning package.\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 paths.\n * Removing the logging code for production environments will keep the same\n * logic and follow the same code paths.\n *\n * @see https://github.com/BerkeleyTrue/warning/blob/master/warning.js\n */\n\nvar warning = fbWarning;\n/**\n * When in dev mode, checks that styles for a given @reach package are loaded.\n *\n * @param packageName Name of the package to check.\n * @example checkStyles(\"dialog\") will check for styles for @reach/dialog\n */\n\nvar checkStyles = noop;\nif (process.env.NODE_ENV !== \"production\") {\n  // In CJS files, process.env.NODE_ENV is stripped from our build, but we need\n  // it to prevent style checks from clogging up user logs while testing.\n  // This is a workaround until we can tweak the build a bit to accommodate.\n  var _ref = typeof process !== \"undefined\" ? process : {\n      env: {\n        NODE_ENV: \"development\"\n      }\n    },\n    env = _ref.env;\n  checkStyles = function checkStyles(packageName) {\n    // only check once per package\n    if (checkedPkgs[packageName]) return;\n    checkedPkgs[packageName] = true;\n    if (env.NODE_ENV !== \"test\" && parseInt(window.getComputedStyle(document.body).getPropertyValue(\"--reach-\" + packageName), 10) !== 1) {\n      console.warn(\"@reach/\" + packageName + \" styles not found. If you are using a bundler like webpack or parcel include this in the entry file of your app before any of your own styles:\\n\\n    import \\\"@reach/\" + packageName + \"/styles.css\\\";\\n\\n  Otherwise you'll need to include them some other way:\\n\\n    <link rel=\\\"stylesheet\\\" type=\\\"text/css\\\" href=\\\"node_modules/@reach/\" + packageName + \"/styles.css\\\" />\\n\\n  For more information visit https://ui.reach.tech/styling.\\n  \");\n    }\n  };\n}\n/**\n * Ponyfill for the global object in some environments.\n *\n * @link https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\n */\n\nvar ponyfillGlobal = typeof window != \"undefined\" && window.Math == Math ? window : typeof self != \"undefined\" && self.Math == Math ? self : /*#__PURE__*/\n// eslint-disable-next-line no-new-func\nFunction(\"return this\")();\n/**\n * Passes or assigns an arbitrary value to a ref function or object.\n *\n * @param ref\n * @param value\n */\n\nfunction assignRef(ref, value) {\n  if (ref == null) return;\n  if (isFunction(ref)) {\n    ref(value);\n  } else {\n    try {\n      ref.current = value;\n    } catch (error) {\n      throw new Error(\"Cannot assign value \\\"\" + value + \"\\\" to ref \\\"\" + ref + \"\\\"\");\n    }\n  }\n}\n/**\n * Checks true|\"true\" vs false|\"false\"\n *\n * @param value\n */\n\nfunction boolOrBoolString(value) {\n  return value === \"true\" ? true : isBoolean(value) ? value : false;\n}\nfunction canUseDOM() {\n  return !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\n}\n/**\n * Type-safe clone element\n *\n * @param element\n * @param props\n * @param children\n */\n\nfunction cloneValidElement(element, props) {\n  for (var _len = arguments.length, children = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n    children[_key - 2] = arguments[_key];\n  }\n  return /*#__PURE__*/isValidElement(element) ? cloneElement.apply(React, [element, props].concat(children)) : element;\n}\nfunction createNamedContext(name, defaultValue) {\n  var Ctx = /*#__PURE__*/createContext(defaultValue);\n  Ctx.displayName = name;\n  return Ctx;\n}\n/**\n * This is a hack for sure. The thing is, getting a component to intelligently\n * infer props based on a component or JSX string passed into an `as` prop is\n * kind of a huge pain. Getting it to work and satisfy the constraints of\n * `forwardRef` seems dang near impossible. To avoid needing to do this awkward\n * type song-and-dance every time we want to forward a ref into a component\n * that accepts an `as` prop, we abstract all of that mess to this function for\n * the time time being.\n */\n\nfunction forwardRefWithAs(render) {\n  return /*#__PURE__*/forwardRef(render);\n}\nfunction memoWithAs(Component, propsAreEqual) {\n  return /*#__PURE__*/memo(Component, propsAreEqual);\n}\n/**\n * Get the size of the working document minus the scrollbar offset.\n *\n * @param element\n */\n\nfunction getDocumentDimensions(element) {\n  var _ownerDocument$docume, _ownerDocument$docume2;\n  var ownerDocument = getOwnerDocument(element);\n  var ownerWindow = ownerDocument.defaultView || window;\n  if (!ownerDocument) {\n    return {\n      width: 0,\n      height: 0\n    };\n  }\n  return {\n    width: (_ownerDocument$docume = ownerDocument.documentElement.clientWidth) != null ? _ownerDocument$docume : ownerWindow.innerWidth,\n    height: (_ownerDocument$docume2 = ownerDocument.documentElement.clientHeight) != null ? _ownerDocument$docume2 : ownerWindow.innerHeight\n  };\n}\n/**\n * Get the scoll position of the global window object relative to a given node.\n *\n * @param element\n */\n\nfunction getScrollPosition(element) {\n  var ownerDocument = getOwnerDocument(element);\n  var ownerWindow = ownerDocument.defaultView || window;\n  if (!ownerDocument) {\n    return {\n      scrollX: 0,\n      scrollY: 0\n    };\n  }\n  return {\n    scrollX: ownerWindow.scrollX,\n    scrollY: ownerWindow.scrollY\n  };\n}\n/**\n * Get a computed style value by property.\n *\n * @param element\n * @param styleProp\n */\n\nfunction getElementComputedStyle(element, styleProp) {\n  var ownerDocument = getOwnerDocument(element);\n  var ownerWindow = (ownerDocument == null ? void 0 : ownerDocument.defaultView) || window;\n  if (ownerWindow) {\n    return ownerWindow.getComputedStyle(element, null).getPropertyValue(styleProp);\n  }\n  return null;\n}\n/**\n * Get an element's owner document. Useful when components are used in iframes\n * or other environments like dev tools.\n *\n * @param element\n */\n\nfunction getOwnerDocument(element) {\n  return canUseDOM() ? element ? element.ownerDocument : document : null;\n}\n/**\n * TODO: Remove in 1.0\n */\n\nfunction getOwnerWindow(element) {\n  var ownerDocument = getOwnerDocument(element);\n  return ownerDocument ? ownerDocument.defaultView || window : null;\n}\n/**\n * Get the scrollbar offset distance.\n *\n * TODO: Remove in 1.0 (we used this in public examples)\n */\n\nfunction getScrollbarOffset() {\n  try {\n    if (window.innerWidth > document.documentElement.clientWidth) {\n      return window.innerWidth - document.documentElement.clientWidth;\n    }\n  } catch (err) {}\n  return 0;\n}\n/**\n * Checks whether or not a value is a boolean.\n *\n * @param value\n */\n\nfunction isBoolean(value) {\n  return typeof value === \"boolean\";\n}\n/**\n * Checks whether or not a value is a function.\n *\n * @param value\n */\n\nfunction isFunction(value) {\n  return !!(value && {}.toString.call(value) == \"[object Function]\");\n}\n/**\n * Checks whether or not a value is a number.\n *\n * @param value\n */\n\nfunction isNumber(value) {\n  return typeof value === \"number\" && !isNaN(value);\n}\n/**\n * Detects right clicks\n *\n * @param nativeEvent\n */\n\nfunction isRightClick(nativeEvent) {\n  return \"which\" in nativeEvent ? nativeEvent.which === 3 : \"button\" in nativeEvent ? nativeEvent.button === 2 : false;\n}\n/**\n * Checks whether or not a value is a string.\n *\n * @param value\n */\n\nfunction isString(value) {\n  return typeof value === \"string\";\n}\n/**\n * Joins strings to format IDs for compound components.\n *\n * @param args\n */\n\nfunction makeId() {\n  for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n    args[_key2] = arguments[_key2];\n  }\n  return args.filter(function (val) {\n    return val != null;\n  }).join(\"--\");\n}\n/**\n * No-op function.\n */\n\nfunction noop() {}\n/**\n * Convert our state strings for HTML data attributes.\n * No need for a fancy kebab-caser here, we know what our state strings are!\n *\n * @param state\n */\n\nfunction stateToAttributeString(state) {\n  return String(state).replace(/([\\s_]+)/g, \"-\").toLowerCase();\n}\n/**\n * Check if a component is controlled or uncontrolled and return the correct\n * state value and setter accordingly. If the component state is controlled by\n * the app, the setter is a noop.\n *\n * @param controlledValue\n * @param defaultValue\n */\n\nfunction useControlledState(controlledValue, defaultValue) {\n  var controlledRef = useRef(controlledValue != null);\n  var _React$useState = useState(defaultValue),\n    valueState = _React$useState[0],\n    setValue = _React$useState[1];\n  var set = useCallback(function (n) {\n    if (!controlledRef.current) {\n      setValue(n);\n    }\n  }, []);\n  return [controlledRef.current ? controlledValue : valueState, set];\n}\n/**\n * Logs a warning in dev mode when a component switches from controlled to\n * uncontrolled, or vice versa\n *\n * A single prop should typically be used to determine whether or not a\n * component is controlled or not.\n *\n * @param controlledValue\n * @param controlledPropName\n * @param componentName\n */\n\nvar useControlledSwitchWarning = noop;\nif (process.env.NODE_ENV !== \"production\") {\n  useControlledSwitchWarning = function useControlledSwitchWarning(controlledValue, controlledPropName, componentName) {\n    var controlledRef = useRef(controlledValue != null);\n    var nameCache = useRef({\n      componentName: componentName,\n      controlledPropName: controlledPropName\n    });\n    useEffect(function () {\n      nameCache.current = {\n        componentName: componentName,\n        controlledPropName: controlledPropName\n      };\n    }, [componentName, controlledPropName]);\n    useEffect(function () {\n      var wasControlled = controlledRef.current;\n      var _nameCache$current = nameCache.current,\n        componentName = _nameCache$current.componentName,\n        controlledPropName = _nameCache$current.controlledPropName;\n      var isControlled = controlledValue != null;\n      if (wasControlled !== isControlled) {\n        console.error(\"A component is changing an \" + (wasControlled ? \"\" : \"un\") + \"controlled `\" + controlledPropName + \"` state of \" + componentName + \" to be \" + (wasControlled ? \"un\" : \"\") + \"controlled. This is likely caused by the value changing from undefined to a defined value, which should not happen. Decide between using a controlled or uncontrolled \" + componentName + \" element for the lifetime of the component.\\nMore info: https://fb.me/react-controlled-components\");\n      }\n    }, [controlledValue]);\n  };\n}\nvar useCheckStyles = noop;\nif (process.env.NODE_ENV !== \"production\") {\n  useCheckStyles = function useCheckStyles(pkg) {\n    var name = useRef(pkg);\n    useEffect(function () {\n      return void (name.current = pkg);\n    }, [pkg]);\n    useEffect(function () {\n      return checkStyles(name.current);\n    }, []);\n  };\n}\n/**\n * React hook for creating a value exactly once.\n * @see https://github.com/Andarist/use-constant\n */\n\nfunction useConstant(fn) {\n  var ref = useRef();\n  if (!ref.current) {\n    ref.current = {\n      v: fn()\n    };\n  }\n  return ref.current.v;\n}\n/**\n * @param callback\n */\n\nfunction useEventCallback(callback) {\n  var ref = useRef(callback);\n  useIsomorphicLayoutEffect(function () {\n    ref.current = callback;\n  });\n  return useCallback(function (event) {\n    for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n      args[_key3 - 1] = arguments[_key3];\n    }\n    return ref.current.apply(ref, [event].concat(args));\n  }, []);\n}\nfunction useLazyRef(fn) {\n  var ref = useRef({\n    __internalSet: true\n  });\n  if (ref.current && ref.current.__internalSet === true) {\n    ref.current = fn();\n  }\n  return ref;\n}\n/**\n * TODO: Remove in 1.0\n * @alias useStableCallback\n * @param callback\n */\n\nvar useCallbackProp = useStableCallback;\n/**\n * Adds a DOM event listener\n *\n * @param eventName\n * @param listener\n * @param element\n */\n\nfunction useEventListener(eventName, listener, element) {\n  if (element === void 0) {\n    element = window;\n  }\n  var savedHandler = useRef(listener);\n  useEffect(function () {\n    savedHandler.current = listener;\n  }, [listener]);\n  useEffect(function () {\n    var isSupported = element && element.addEventListener;\n    if (!isSupported) {\n      if (process.env.NODE_ENV !== \"production\") {\n        console.warn(\"Event listener not supported on the element provided\");\n      }\n      return;\n    }\n    function eventListener(event) {\n      savedHandler.current(event);\n    }\n    element.addEventListener(eventName, eventListener);\n    return function () {\n      element.removeEventListener(eventName, eventListener);\n    };\n  }, [eventName, element]);\n}\n/**\n * Detect when focus changes in our document.\n *\n * @param handleChange\n * @param when\n * @param ownerDocument\n */\n\nfunction useFocusChange(handleChange, when, ownerDocument) {\n  if (handleChange === void 0) {\n    handleChange = console.log;\n  }\n  if (when === void 0) {\n    when = \"focus\";\n  }\n  if (ownerDocument === void 0) {\n    ownerDocument = document;\n  }\n  var lastActiveElement = useRef(ownerDocument.activeElement);\n  useEffect(function () {\n    lastActiveElement.current = ownerDocument.activeElement;\n    function onChange(event) {\n      if (lastActiveElement.current !== ownerDocument.activeElement) {\n        handleChange(ownerDocument.activeElement, lastActiveElement.current, event);\n        lastActiveElement.current = ownerDocument.activeElement;\n      }\n    }\n    ownerDocument.addEventListener(when, onChange, true);\n    return function () {\n      ownerDocument.removeEventListener(when, onChange);\n    };\n  }, [when, handleChange, ownerDocument]);\n}\n/**\n * Forces a re-render, similar to `forceUpdate` in class components.\n */\n\nfunction useForceUpdate() {\n  var _React$useState2 = useState(Object.create(null)),\n    dispatch = _React$useState2[1];\n  return useCallback(function () {\n    dispatch(Object.create(null));\n  }, []);\n}\n/**\n * Passes or assigns a value to multiple refs (typically a DOM node). Useful for\n * dealing with components that need an explicit ref for DOM calculations but\n * also forwards refs assigned by an app.\n *\n * @param refs Refs to fork\n */\n\nfunction useForkedRef() {\n  for (var _len4 = arguments.length, refs = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n    refs[_key4] = arguments[_key4];\n  }\n  return useMemo(function () {\n    if (refs.every(function (ref) {\n      return ref == null;\n    })) {\n      return null;\n    }\n    return function (node) {\n      refs.forEach(function (ref) {\n        assignRef(ref, node);\n      });\n    }; // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, [].concat(refs));\n}\n/**\n * Returns the previous value of a reference after a component update.\n *\n * @param value\n */\n\nfunction usePrevious(value) {\n  var ref = useRef(null);\n  useEffect(function () {\n    ref.current = value;\n  }, [value]);\n  return ref.current;\n}\n/**\n * Converts a callback to a ref to avoid triggering re-renders when passed as a\n * prop and exposed as a stable function to avoid executing effects when\n * passed as a dependency.\n */\n\nfunction useStableCallback(callback) {\n  var callbackRef = useRef(callback);\n  useEffect(function () {\n    callbackRef.current = callback;\n  }); // eslint-disable-next-line react-hooks/exhaustive-deps\n\n  return useCallback(function () {\n    callbackRef.current && callbackRef.current.apply(callbackRef, arguments);\n  }, []);\n}\n/**\n * Call an effect after a component update, skipping the initial mount.\n *\n * @param effect Effect to call\n * @param deps Effect dependency list\n */\n\nfunction useUpdateEffect(effect, deps) {\n  var mounted = useRef(false);\n  useEffect(function () {\n    if (mounted.current) {\n      effect();\n    } else {\n      mounted.current = true;\n    } // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, deps);\n}\n/**\n * Just a lil state logger\n *\n * @param state\n * @param DEBUG\n */\n\nvar useStateLogger = noop;\nif (process.env.NODE_ENV !== \"production\") {\n  useStateLogger = function useStateLogger(state, DEBUG) {\n    if (DEBUG === void 0) {\n      DEBUG = false;\n    }\n    var debugRef = useRef(DEBUG);\n    useEffect(function () {\n      debugRef.current = DEBUG;\n    }, [DEBUG]);\n    useEffect(function () {\n      if (debugRef.current) {\n        console.group(\"State Updated\");\n        console.log(\"%c\" + state, \"font-weight: normal; font-size: 120%; font-style: italic;\");\n        console.groupEnd();\n      }\n    }, [state]);\n  };\n}\n/**\n * Wraps a lib-defined event handler and a user-defined event handler, returning\n * a single handler that allows a user to prevent lib-defined handlers from\n * firing.\n *\n * @param theirHandler User-supplied event handler\n * @param ourHandler Library-supplied event handler\n */\n\nfunction wrapEvent(theirHandler, ourHandler) {\n  return function (event) {\n    theirHandler && theirHandler(event);\n    if (!event.defaultPrevented) {\n      return ourHandler(event);\n    }\n  };\n} // Export types\n\nexport { assignRef, boolOrBoolString, canUseDOM, checkStyles, cloneValidElement, createNamedContext, forwardRefWithAs, getDocumentDimensions, getElementComputedStyle, getOwnerDocument, getOwnerWindow, getScrollPosition, getScrollbarOffset, isBoolean, isFunction, isNumber, isRightClick, isString, makeId, memoWithAs, noop, ponyfillGlobal, stateToAttributeString, useCallbackProp, useCheckStyles, useConstant, useControlledState, useControlledSwitchWarning, useEventCallback, useEventListener, useFocusChange, useForceUpdate, useForkedRef, useIsomorphicLayoutEffect, useLazyRef, usePrevious, useStableCallback, useStateLogger, useUpdateEffect, warning, wrapEvent };","map":{"version":3,"names":["React","useLayoutEffect","useEffect","isValidElement","cloneElement","createContext","forwardRef","memo","useRef","useState","useCallback","useMemo","fbWarning","useIsomorphicLayoutEffect","canUseDOM","checkedPkgs","warning","checkStyles","noop","process","env","NODE_ENV","_ref","packageName","parseInt","window","getComputedStyle","document","body","getPropertyValue","console","warn","ponyfillGlobal","Math","self","Function","assignRef","ref","value","isFunction","current","error","Error","boolOrBoolString","isBoolean","createElement","cloneValidElement","element","props","_len","arguments","length","children","Array","_key","apply","concat","createNamedContext","name","defaultValue","Ctx","displayName","forwardRefWithAs","render","memoWithAs","Component","propsAreEqual","getDocumentDimensions","_ownerDocument$docume","_ownerDocument$docume2","ownerDocument","getOwnerDocument","ownerWindow","defaultView","width","height","documentElement","clientWidth","innerWidth","clientHeight","innerHeight","getScrollPosition","scrollX","scrollY","getElementComputedStyle","styleProp","getOwnerWindow","getScrollbarOffset","err","toString","call","isNumber","isNaN","isRightClick","nativeEvent","which","button","isString","makeId","_len2","args","_key2","filter","val","join","stateToAttributeString","state","String","replace","toLowerCase","useControlledState","controlledValue","controlledRef","_React$useState","valueState","setValue","set","n","useControlledSwitchWarning","controlledPropName","componentName","nameCache","wasControlled","_nameCache$current","isControlled","useCheckStyles","pkg","useConstant","fn","v","useEventCallback","callback","event","_len3","_key3","useLazyRef","__internalSet","useCallbackProp","useStableCallback","useEventListener","eventName","listener","savedHandler","isSupported","addEventListener","eventListener","removeEventListener","useFocusChange","handleChange","when","log","lastActiveElement","activeElement","onChange","useForceUpdate","_React$useState2","Object","create","dispatch","useForkedRef","_len4","refs","_key4","every","node","forEach","usePrevious","callbackRef","useUpdateEffect","effect","deps","mounted","useStateLogger","DEBUG","debugRef","group","groupEnd","wrapEvent","theirHandler","ourHandler","defaultPrevented"],"sources":["D:/DSP_Management/node_modules/@reach/utils/dist/reach-utils.esm.js"],"sourcesContent":["import * as React from 'react';\nimport { useLayoutEffect, useEffect, isValidElement, cloneElement, createContext, forwardRef, memo, useRef, useState, useCallback, useMemo } from 'react';\nimport fbWarning from 'warning';\n\n/* eslint-disable no-restricted-globals, eqeqeq  */\n\n/**\n * React currently throws a warning when using useLayoutEffect on the server.\n * To get around it, we can conditionally useEffect on the server (no-op) and\n * useLayoutEffect in the browser. We occasionally need useLayoutEffect to\n * ensure we don't get a render flash for certain operations, but we may also\n * need affected components to render on the server. One example is when setting\n * a component's descendants to retrieve their index values.\n *\n * Important to note that using this hook as an escape hatch will break the\n * eslint dependency warnings unless you rename the import to `useLayoutEffect`.\n * Use sparingly only when the effect won't effect the rendered HTML to avoid\n * any server/client mismatch.\n *\n * If a useLayoutEffect is needed and the result would create a mismatch, it's\n * likely that the component in question shouldn't be rendered on the server at\n * all, so a better approach would be to lazily render those in a parent\n * component after client-side hydration.\n *\n * TODO: We are calling useLayoutEffect in a couple of places that will likely\n * cause some issues for SSR users, whether the warning shows or not. Audit and\n * fix these.\n *\n * https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\n * https://github.com/reduxjs/react-redux/blob/master/src/utils/useIsomorphicLayoutEffect.js\n *\n * @param effect\n * @param deps\n */\nvar useIsomorphicLayoutEffect = /*#__PURE__*/canUseDOM() ? useLayoutEffect : useEffect;\nvar checkedPkgs = {};\n/**\n * Copy of Facebook's warning package.\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 paths.\n * Removing the logging code for production environments will keep the same\n * logic and follow the same code paths.\n *\n * @see https://github.com/BerkeleyTrue/warning/blob/master/warning.js\n */\n\nvar warning = fbWarning;\n/**\n * When in dev mode, checks that styles for a given @reach package are loaded.\n *\n * @param packageName Name of the package to check.\n * @example checkStyles(\"dialog\") will check for styles for @reach/dialog\n */\n\nvar checkStyles = noop;\n\nif (process.env.NODE_ENV !== \"production\") {\n  // In CJS files, process.env.NODE_ENV is stripped from our build, but we need\n  // it to prevent style checks from clogging up user logs while testing.\n  // This is a workaround until we can tweak the build a bit to accommodate.\n  var _ref = typeof process !== \"undefined\" ? process : {\n    env: {\n      NODE_ENV: \"development\"\n    }\n  },\n      env = _ref.env;\n\n  checkStyles = function checkStyles(packageName) {\n    // only check once per package\n    if (checkedPkgs[packageName]) return;\n    checkedPkgs[packageName] = true;\n\n    if (env.NODE_ENV !== \"test\" && parseInt(window.getComputedStyle(document.body).getPropertyValue(\"--reach-\" + packageName), 10) !== 1) {\n      console.warn(\"@reach/\" + packageName + \" styles not found. If you are using a bundler like webpack or parcel include this in the entry file of your app before any of your own styles:\\n\\n    import \\\"@reach/\" + packageName + \"/styles.css\\\";\\n\\n  Otherwise you'll need to include them some other way:\\n\\n    <link rel=\\\"stylesheet\\\" type=\\\"text/css\\\" href=\\\"node_modules/@reach/\" + packageName + \"/styles.css\\\" />\\n\\n  For more information visit https://ui.reach.tech/styling.\\n  \");\n    }\n  };\n}\n/**\n * Ponyfill for the global object in some environments.\n *\n * @link https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\n */\n\nvar ponyfillGlobal = typeof window != \"undefined\" && window.Math == Math ? window : typeof self != \"undefined\" && self.Math == Math ? self :\n/*#__PURE__*/\n// eslint-disable-next-line no-new-func\nFunction(\"return this\")();\n/**\n * Passes or assigns an arbitrary value to a ref function or object.\n *\n * @param ref\n * @param value\n */\n\nfunction assignRef(ref, value) {\n  if (ref == null) return;\n\n  if (isFunction(ref)) {\n    ref(value);\n  } else {\n    try {\n      ref.current = value;\n    } catch (error) {\n      throw new Error(\"Cannot assign value \\\"\" + value + \"\\\" to ref \\\"\" + ref + \"\\\"\");\n    }\n  }\n}\n/**\n * Checks true|\"true\" vs false|\"false\"\n *\n * @param value\n */\n\nfunction boolOrBoolString(value) {\n  return value === \"true\" ? true : isBoolean(value) ? value : false;\n}\nfunction canUseDOM() {\n  return !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\n}\n/**\n * Type-safe clone element\n *\n * @param element\n * @param props\n * @param children\n */\n\nfunction cloneValidElement(element, props) {\n  for (var _len = arguments.length, children = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n    children[_key - 2] = arguments[_key];\n  }\n\n  return /*#__PURE__*/isValidElement(element) ? cloneElement.apply(React, [element, props].concat(children)) : element;\n}\nfunction createNamedContext(name, defaultValue) {\n  var Ctx = /*#__PURE__*/createContext(defaultValue);\n  Ctx.displayName = name;\n  return Ctx;\n}\n/**\n * This is a hack for sure. The thing is, getting a component to intelligently\n * infer props based on a component or JSX string passed into an `as` prop is\n * kind of a huge pain. Getting it to work and satisfy the constraints of\n * `forwardRef` seems dang near impossible. To avoid needing to do this awkward\n * type song-and-dance every time we want to forward a ref into a component\n * that accepts an `as` prop, we abstract all of that mess to this function for\n * the time time being.\n */\n\nfunction forwardRefWithAs(render) {\n  return /*#__PURE__*/forwardRef(render);\n}\nfunction memoWithAs(Component, propsAreEqual) {\n  return /*#__PURE__*/memo(Component, propsAreEqual);\n}\n/**\n * Get the size of the working document minus the scrollbar offset.\n *\n * @param element\n */\n\nfunction getDocumentDimensions(element) {\n  var _ownerDocument$docume, _ownerDocument$docume2;\n\n  var ownerDocument = getOwnerDocument(element);\n  var ownerWindow = ownerDocument.defaultView || window;\n\n  if (!ownerDocument) {\n    return {\n      width: 0,\n      height: 0\n    };\n  }\n\n  return {\n    width: (_ownerDocument$docume = ownerDocument.documentElement.clientWidth) != null ? _ownerDocument$docume : ownerWindow.innerWidth,\n    height: (_ownerDocument$docume2 = ownerDocument.documentElement.clientHeight) != null ? _ownerDocument$docume2 : ownerWindow.innerHeight\n  };\n}\n/**\n * Get the scoll position of the global window object relative to a given node.\n *\n * @param element\n */\n\nfunction getScrollPosition(element) {\n  var ownerDocument = getOwnerDocument(element);\n  var ownerWindow = ownerDocument.defaultView || window;\n\n  if (!ownerDocument) {\n    return {\n      scrollX: 0,\n      scrollY: 0\n    };\n  }\n\n  return {\n    scrollX: ownerWindow.scrollX,\n    scrollY: ownerWindow.scrollY\n  };\n}\n/**\n * Get a computed style value by property.\n *\n * @param element\n * @param styleProp\n */\n\nfunction getElementComputedStyle(element, styleProp) {\n  var ownerDocument = getOwnerDocument(element);\n  var ownerWindow = (ownerDocument == null ? void 0 : ownerDocument.defaultView) || window;\n\n  if (ownerWindow) {\n    return ownerWindow.getComputedStyle(element, null).getPropertyValue(styleProp);\n  }\n\n  return null;\n}\n/**\n * Get an element's owner document. Useful when components are used in iframes\n * or other environments like dev tools.\n *\n * @param element\n */\n\nfunction getOwnerDocument(element) {\n  return canUseDOM() ? element ? element.ownerDocument : document : null;\n}\n/**\n * TODO: Remove in 1.0\n */\n\nfunction getOwnerWindow(element) {\n  var ownerDocument = getOwnerDocument(element);\n  return ownerDocument ? ownerDocument.defaultView || window : null;\n}\n/**\n * Get the scrollbar offset distance.\n *\n * TODO: Remove in 1.0 (we used this in public examples)\n */\n\nfunction getScrollbarOffset() {\n  try {\n    if (window.innerWidth > document.documentElement.clientWidth) {\n      return window.innerWidth - document.documentElement.clientWidth;\n    }\n  } catch (err) {}\n\n  return 0;\n}\n/**\n * Checks whether or not a value is a boolean.\n *\n * @param value\n */\n\nfunction isBoolean(value) {\n  return typeof value === \"boolean\";\n}\n/**\n * Checks whether or not a value is a function.\n *\n * @param value\n */\n\nfunction isFunction(value) {\n  return !!(value && {}.toString.call(value) == \"[object Function]\");\n}\n/**\n * Checks whether or not a value is a number.\n *\n * @param value\n */\n\nfunction isNumber(value) {\n  return typeof value === \"number\" && !isNaN(value);\n}\n/**\n * Detects right clicks\n *\n * @param nativeEvent\n */\n\nfunction isRightClick(nativeEvent) {\n  return \"which\" in nativeEvent ? nativeEvent.which === 3 : \"button\" in nativeEvent ? nativeEvent.button === 2 : false;\n}\n/**\n * Checks whether or not a value is a string.\n *\n * @param value\n */\n\nfunction isString(value) {\n  return typeof value === \"string\";\n}\n/**\n * Joins strings to format IDs for compound components.\n *\n * @param args\n */\n\nfunction makeId() {\n  for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n    args[_key2] = arguments[_key2];\n  }\n\n  return args.filter(function (val) {\n    return val != null;\n  }).join(\"--\");\n}\n/**\n * No-op function.\n */\n\nfunction noop() {}\n/**\n * Convert our state strings for HTML data attributes.\n * No need for a fancy kebab-caser here, we know what our state strings are!\n *\n * @param state\n */\n\nfunction stateToAttributeString(state) {\n  return String(state).replace(/([\\s_]+)/g, \"-\").toLowerCase();\n}\n/**\n * Check if a component is controlled or uncontrolled and return the correct\n * state value and setter accordingly. If the component state is controlled by\n * the app, the setter is a noop.\n *\n * @param controlledValue\n * @param defaultValue\n */\n\nfunction useControlledState(controlledValue, defaultValue) {\n  var controlledRef = useRef(controlledValue != null);\n\n  var _React$useState = useState(defaultValue),\n      valueState = _React$useState[0],\n      setValue = _React$useState[1];\n\n  var set = useCallback(function (n) {\n    if (!controlledRef.current) {\n      setValue(n);\n    }\n  }, []);\n  return [controlledRef.current ? controlledValue : valueState, set];\n}\n/**\n * Logs a warning in dev mode when a component switches from controlled to\n * uncontrolled, or vice versa\n *\n * A single prop should typically be used to determine whether or not a\n * component is controlled or not.\n *\n * @param controlledValue\n * @param controlledPropName\n * @param componentName\n */\n\nvar useControlledSwitchWarning = noop;\n\nif (process.env.NODE_ENV !== \"production\") {\n  useControlledSwitchWarning = function useControlledSwitchWarning(controlledValue, controlledPropName, componentName) {\n    var controlledRef = useRef(controlledValue != null);\n    var nameCache = useRef({\n      componentName: componentName,\n      controlledPropName: controlledPropName\n    });\n    useEffect(function () {\n      nameCache.current = {\n        componentName: componentName,\n        controlledPropName: controlledPropName\n      };\n    }, [componentName, controlledPropName]);\n    useEffect(function () {\n      var wasControlled = controlledRef.current;\n      var _nameCache$current = nameCache.current,\n          componentName = _nameCache$current.componentName,\n          controlledPropName = _nameCache$current.controlledPropName;\n      var isControlled = controlledValue != null;\n\n      if (wasControlled !== isControlled) {\n        console.error(\"A component is changing an \" + (wasControlled ? \"\" : \"un\") + \"controlled `\" + controlledPropName + \"` state of \" + componentName + \" to be \" + (wasControlled ? \"un\" : \"\") + \"controlled. This is likely caused by the value changing from undefined to a defined value, which should not happen. Decide between using a controlled or uncontrolled \" + componentName + \" element for the lifetime of the component.\\nMore info: https://fb.me/react-controlled-components\");\n      }\n    }, [controlledValue]);\n  };\n}\nvar useCheckStyles = noop;\n\nif (process.env.NODE_ENV !== \"production\") {\n  useCheckStyles = function useCheckStyles(pkg) {\n    var name = useRef(pkg);\n    useEffect(function () {\n      return void (name.current = pkg);\n    }, [pkg]);\n    useEffect(function () {\n      return checkStyles(name.current);\n    }, []);\n  };\n}\n/**\n * React hook for creating a value exactly once.\n * @see https://github.com/Andarist/use-constant\n */\n\nfunction useConstant(fn) {\n  var ref = useRef();\n\n  if (!ref.current) {\n    ref.current = {\n      v: fn()\n    };\n  }\n\n  return ref.current.v;\n}\n/**\n * @param callback\n */\n\nfunction useEventCallback(callback) {\n  var ref = useRef(callback);\n  useIsomorphicLayoutEffect(function () {\n    ref.current = callback;\n  });\n  return useCallback(function (event) {\n    for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n      args[_key3 - 1] = arguments[_key3];\n    }\n\n    return ref.current.apply(ref, [event].concat(args));\n  }, []);\n}\nfunction useLazyRef(fn) {\n  var ref = useRef({\n    __internalSet: true\n  });\n\n  if (ref.current && ref.current.__internalSet === true) {\n    ref.current = fn();\n  }\n\n  return ref;\n}\n/**\n * TODO: Remove in 1.0\n * @alias useStableCallback\n * @param callback\n */\n\nvar useCallbackProp = useStableCallback;\n/**\n * Adds a DOM event listener\n *\n * @param eventName\n * @param listener\n * @param element\n */\n\nfunction useEventListener(eventName, listener, element) {\n  if (element === void 0) {\n    element = window;\n  }\n\n  var savedHandler = useRef(listener);\n  useEffect(function () {\n    savedHandler.current = listener;\n  }, [listener]);\n  useEffect(function () {\n    var isSupported = element && element.addEventListener;\n\n    if (!isSupported) {\n      if (process.env.NODE_ENV !== \"production\") {\n        console.warn(\"Event listener not supported on the element provided\");\n      }\n\n      return;\n    }\n\n    function eventListener(event) {\n      savedHandler.current(event);\n    }\n\n    element.addEventListener(eventName, eventListener);\n    return function () {\n      element.removeEventListener(eventName, eventListener);\n    };\n  }, [eventName, element]);\n}\n/**\n * Detect when focus changes in our document.\n *\n * @param handleChange\n * @param when\n * @param ownerDocument\n */\n\nfunction useFocusChange(handleChange, when, ownerDocument) {\n  if (handleChange === void 0) {\n    handleChange = console.log;\n  }\n\n  if (when === void 0) {\n    when = \"focus\";\n  }\n\n  if (ownerDocument === void 0) {\n    ownerDocument = document;\n  }\n\n  var lastActiveElement = useRef(ownerDocument.activeElement);\n  useEffect(function () {\n    lastActiveElement.current = ownerDocument.activeElement;\n\n    function onChange(event) {\n      if (lastActiveElement.current !== ownerDocument.activeElement) {\n        handleChange(ownerDocument.activeElement, lastActiveElement.current, event);\n        lastActiveElement.current = ownerDocument.activeElement;\n      }\n    }\n\n    ownerDocument.addEventListener(when, onChange, true);\n    return function () {\n      ownerDocument.removeEventListener(when, onChange);\n    };\n  }, [when, handleChange, ownerDocument]);\n}\n/**\n * Forces a re-render, similar to `forceUpdate` in class components.\n */\n\nfunction useForceUpdate() {\n  var _React$useState2 = useState(Object.create(null)),\n      dispatch = _React$useState2[1];\n\n  return useCallback(function () {\n    dispatch(Object.create(null));\n  }, []);\n}\n/**\n * Passes or assigns a value to multiple refs (typically a DOM node). Useful for\n * dealing with components that need an explicit ref for DOM calculations but\n * also forwards refs assigned by an app.\n *\n * @param refs Refs to fork\n */\n\nfunction useForkedRef() {\n  for (var _len4 = arguments.length, refs = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n    refs[_key4] = arguments[_key4];\n  }\n\n  return useMemo(function () {\n    if (refs.every(function (ref) {\n      return ref == null;\n    })) {\n      return null;\n    }\n\n    return function (node) {\n      refs.forEach(function (ref) {\n        assignRef(ref, node);\n      });\n    }; // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, [].concat(refs));\n}\n/**\n * Returns the previous value of a reference after a component update.\n *\n * @param value\n */\n\nfunction usePrevious(value) {\n  var ref = useRef(null);\n  useEffect(function () {\n    ref.current = value;\n  }, [value]);\n  return ref.current;\n}\n/**\n * Converts a callback to a ref to avoid triggering re-renders when passed as a\n * prop and exposed as a stable function to avoid executing effects when\n * passed as a dependency.\n */\n\nfunction useStableCallback(callback) {\n  var callbackRef = useRef(callback);\n  useEffect(function () {\n    callbackRef.current = callback;\n  }); // eslint-disable-next-line react-hooks/exhaustive-deps\n\n  return useCallback(function () {\n    callbackRef.current && callbackRef.current.apply(callbackRef, arguments);\n  }, []);\n}\n/**\n * Call an effect after a component update, skipping the initial mount.\n *\n * @param effect Effect to call\n * @param deps Effect dependency list\n */\n\nfunction useUpdateEffect(effect, deps) {\n  var mounted = useRef(false);\n  useEffect(function () {\n    if (mounted.current) {\n      effect();\n    } else {\n      mounted.current = true;\n    } // eslint-disable-next-line react-hooks/exhaustive-deps\n\n  }, deps);\n}\n/**\n * Just a lil state logger\n *\n * @param state\n * @param DEBUG\n */\n\nvar useStateLogger = noop;\n\nif (process.env.NODE_ENV !== \"production\") {\n  useStateLogger = function useStateLogger(state, DEBUG) {\n    if (DEBUG === void 0) {\n      DEBUG = false;\n    }\n\n    var debugRef = useRef(DEBUG);\n    useEffect(function () {\n      debugRef.current = DEBUG;\n    }, [DEBUG]);\n    useEffect(function () {\n      if (debugRef.current) {\n        console.group(\"State Updated\");\n        console.log(\"%c\" + state, \"font-weight: normal; font-size: 120%; font-style: italic;\");\n        console.groupEnd();\n      }\n    }, [state]);\n  };\n}\n/**\n * Wraps a lib-defined event handler and a user-defined event handler, returning\n * a single handler that allows a user to prevent lib-defined handlers from\n * firing.\n *\n * @param theirHandler User-supplied event handler\n * @param ourHandler Library-supplied event handler\n */\n\nfunction wrapEvent(theirHandler, ourHandler) {\n  return function (event) {\n    theirHandler && theirHandler(event);\n\n    if (!event.defaultPrevented) {\n      return ourHandler(event);\n    }\n  };\n} // Export types\n\nexport { assignRef, boolOrBoolString, canUseDOM, checkStyles, cloneValidElement, createNamedContext, forwardRefWithAs, getDocumentDimensions, getElementComputedStyle, getOwnerDocument, getOwnerWindow, getScrollPosition, getScrollbarOffset, isBoolean, isFunction, isNumber, isRightClick, isString, makeId, memoWithAs, noop, ponyfillGlobal, stateToAttributeString, useCallbackProp, useCheckStyles, useConstant, useControlledState, useControlledSwitchWarning, useEventCallback, useEventListener, useFocusChange, useForceUpdate, useForkedRef, useIsomorphicLayoutEffect, useLazyRef, usePrevious, useStableCallback, useStateLogger, useUpdateEffect, warning, wrapEvent };\n"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,eAAe,EAAEC,SAAS,EAAEC,cAAc,EAAEC,YAAY,EAAEC,aAAa,EAAEC,UAAU,EAAEC,IAAI,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,WAAW,EAAEC,OAAO,QAAQ,OAAO;AACzJ,OAAOC,SAAS,MAAM,SAAS;;AAE/B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIC,yBAAyB,GAAG,aAAaC,SAAS,CAAC,CAAC,GAAGb,eAAe,GAAGC,SAAS;AACtF,IAAIa,WAAW,GAAG,CAAC,CAAC;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAIC,OAAO,GAAGJ,SAAS;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAIK,WAAW,GAAGC,IAAI;AAEtB,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;EACzC;EACA;EACA;EACA,IAAIC,IAAI,GAAG,OAAOH,OAAO,KAAK,WAAW,GAAGA,OAAO,GAAG;MACpDC,GAAG,EAAE;QACHC,QAAQ,EAAE;MACZ;IACF,CAAC;IACGD,GAAG,GAAGE,IAAI,CAACF,GAAG;EAElBH,WAAW,GAAG,SAASA,WAAWA,CAACM,WAAW,EAAE;IAC9C;IACA,IAAIR,WAAW,CAACQ,WAAW,CAAC,EAAE;IAC9BR,WAAW,CAACQ,WAAW,CAAC,GAAG,IAAI;IAE/B,IAAIH,GAAG,CAACC,QAAQ,KAAK,MAAM,IAAIG,QAAQ,CAACC,MAAM,CAACC,gBAAgB,CAACC,QAAQ,CAACC,IAAI,CAAC,CAACC,gBAAgB,CAAC,UAAU,GAAGN,WAAW,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE;MACpIO,OAAO,CAACC,IAAI,CAAC,SAAS,GAAGR,WAAW,GAAG,wKAAwK,GAAGA,WAAW,GAAG,yJAAyJ,GAAGA,WAAW,GAAG,qFAAqF,CAAC;IACle;EACF,CAAC;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAIS,cAAc,GAAG,OAAOP,MAAM,IAAI,WAAW,IAAIA,MAAM,CAACQ,IAAI,IAAIA,IAAI,GAAGR,MAAM,GAAG,OAAOS,IAAI,IAAI,WAAW,IAAIA,IAAI,CAACD,IAAI,IAAIA,IAAI,GAAGC,IAAI,GAC1I;AACA;AACAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASC,SAASA,CAACC,GAAG,EAAEC,KAAK,EAAE;EAC7B,IAAID,GAAG,IAAI,IAAI,EAAE;EAEjB,IAAIE,UAAU,CAACF,GAAG,CAAC,EAAE;IACnBA,GAAG,CAACC,KAAK,CAAC;EACZ,CAAC,MAAM;IACL,IAAI;MACFD,GAAG,CAACG,OAAO,GAAGF,KAAK;IACrB,CAAC,CAAC,OAAOG,KAAK,EAAE;MACd,MAAM,IAAIC,KAAK,CAAC,wBAAwB,GAAGJ,KAAK,GAAG,cAAc,GAAGD,GAAG,GAAG,IAAI,CAAC;IACjF;EACF;AACF;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASM,gBAAgBA,CAACL,KAAK,EAAE;EAC/B,OAAOA,KAAK,KAAK,MAAM,GAAG,IAAI,GAAGM,SAAS,CAACN,KAAK,CAAC,GAAGA,KAAK,GAAG,KAAK;AACnE;AACA,SAASxB,SAASA,CAAA,EAAG;EACnB,OAAO,CAAC,EAAE,OAAOW,MAAM,KAAK,WAAW,IAAIA,MAAM,CAACE,QAAQ,IAAIF,MAAM,CAACE,QAAQ,CAACkB,aAAa,CAAC;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASC,iBAAiBA,CAACC,OAAO,EAAEC,KAAK,EAAE;EACzC,KAAK,IAAIC,IAAI,GAAGC,SAAS,CAACC,MAAM,EAAEC,QAAQ,GAAG,IAAIC,KAAK,CAACJ,IAAI,GAAG,CAAC,GAAGA,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,EAAEK,IAAI,GAAG,CAAC,EAAEA,IAAI,GAAGL,IAAI,EAAEK,IAAI,EAAE,EAAE;IAC9GF,QAAQ,CAACE,IAAI,GAAG,CAAC,CAAC,GAAGJ,SAAS,CAACI,IAAI,CAAC;EACtC;EAEA,OAAO,aAAanD,cAAc,CAAC4C,OAAO,CAAC,GAAG3C,YAAY,CAACmD,KAAK,CAACvD,KAAK,EAAE,CAAC+C,OAAO,EAAEC,KAAK,CAAC,CAACQ,MAAM,CAACJ,QAAQ,CAAC,CAAC,GAAGL,OAAO;AACtH;AACA,SAASU,kBAAkBA,CAACC,IAAI,EAAEC,YAAY,EAAE;EAC9C,IAAIC,GAAG,GAAG,aAAavD,aAAa,CAACsD,YAAY,CAAC;EAClDC,GAAG,CAACC,WAAW,GAAGH,IAAI;EACtB,OAAOE,GAAG;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASE,gBAAgBA,CAACC,MAAM,EAAE;EAChC,OAAO,aAAazD,UAAU,CAACyD,MAAM,CAAC;AACxC;AACA,SAASC,UAAUA,CAACC,SAAS,EAAEC,aAAa,EAAE;EAC5C,OAAO,aAAa3D,IAAI,CAAC0D,SAAS,EAAEC,aAAa,CAAC;AACpD;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASC,qBAAqBA,CAACpB,OAAO,EAAE;EACtC,IAAIqB,qBAAqB,EAAEC,sBAAsB;EAEjD,IAAIC,aAAa,GAAGC,gBAAgB,CAACxB,OAAO,CAAC;EAC7C,IAAIyB,WAAW,GAAGF,aAAa,CAACG,WAAW,IAAIhD,MAAM;EAErD,IAAI,CAAC6C,aAAa,EAAE;IAClB,OAAO;MACLI,KAAK,EAAE,CAAC;MACRC,MAAM,EAAE;IACV,CAAC;EACH;EAEA,OAAO;IACLD,KAAK,EAAE,CAACN,qBAAqB,GAAGE,aAAa,CAACM,eAAe,CAACC,WAAW,KAAK,IAAI,GAAGT,qBAAqB,GAAGI,WAAW,CAACM,UAAU;IACnIH,MAAM,EAAE,CAACN,sBAAsB,GAAGC,aAAa,CAACM,eAAe,CAACG,YAAY,KAAK,IAAI,GAAGV,sBAAsB,GAAGG,WAAW,CAACQ;EAC/H,CAAC;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASC,iBAAiBA,CAAClC,OAAO,EAAE;EAClC,IAAIuB,aAAa,GAAGC,gBAAgB,CAACxB,OAAO,CAAC;EAC7C,IAAIyB,WAAW,GAAGF,aAAa,CAACG,WAAW,IAAIhD,MAAM;EAErD,IAAI,CAAC6C,aAAa,EAAE;IAClB,OAAO;MACLY,OAAO,EAAE,CAAC;MACVC,OAAO,EAAE;IACX,CAAC;EACH;EAEA,OAAO;IACLD,OAAO,EAAEV,WAAW,CAACU,OAAO;IAC5BC,OAAO,EAAEX,WAAW,CAACW;EACvB,CAAC;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASC,uBAAuBA,CAACrC,OAAO,EAAEsC,SAAS,EAAE;EACnD,IAAIf,aAAa,GAAGC,gBAAgB,CAACxB,OAAO,CAAC;EAC7C,IAAIyB,WAAW,GAAG,CAACF,aAAa,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,aAAa,CAACG,WAAW,KAAKhD,MAAM;EAExF,IAAI+C,WAAW,EAAE;IACf,OAAOA,WAAW,CAAC9C,gBAAgB,CAACqB,OAAO,EAAE,IAAI,CAAC,CAAClB,gBAAgB,CAACwD,SAAS,CAAC;EAChF;EAEA,OAAO,IAAI;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASd,gBAAgBA,CAACxB,OAAO,EAAE;EACjC,OAAOjC,SAAS,CAAC,CAAC,GAAGiC,OAAO,GAAGA,OAAO,CAACuB,aAAa,GAAG3C,QAAQ,GAAG,IAAI;AACxE;AACA;AACA;AACA;;AAEA,SAAS2D,cAAcA,CAACvC,OAAO,EAAE;EAC/B,IAAIuB,aAAa,GAAGC,gBAAgB,CAACxB,OAAO,CAAC;EAC7C,OAAOuB,aAAa,GAAGA,aAAa,CAACG,WAAW,IAAIhD,MAAM,GAAG,IAAI;AACnE;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS8D,kBAAkBA,CAAA,EAAG;EAC5B,IAAI;IACF,IAAI9D,MAAM,CAACqD,UAAU,GAAGnD,QAAQ,CAACiD,eAAe,CAACC,WAAW,EAAE;MAC5D,OAAOpD,MAAM,CAACqD,UAAU,GAAGnD,QAAQ,CAACiD,eAAe,CAACC,WAAW;IACjE;EACF,CAAC,CAAC,OAAOW,GAAG,EAAE,CAAC;EAEf,OAAO,CAAC;AACV;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS5C,SAASA,CAACN,KAAK,EAAE;EACxB,OAAO,OAAOA,KAAK,KAAK,SAAS;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASC,UAAUA,CAACD,KAAK,EAAE;EACzB,OAAO,CAAC,EAAEA,KAAK,IAAI,CAAC,CAAC,CAACmD,QAAQ,CAACC,IAAI,CAACpD,KAAK,CAAC,IAAI,mBAAmB,CAAC;AACpE;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASqD,QAAQA,CAACrD,KAAK,EAAE;EACvB,OAAO,OAAOA,KAAK,KAAK,QAAQ,IAAI,CAACsD,KAAK,CAACtD,KAAK,CAAC;AACnD;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASuD,YAAYA,CAACC,WAAW,EAAE;EACjC,OAAO,OAAO,IAAIA,WAAW,GAAGA,WAAW,CAACC,KAAK,KAAK,CAAC,GAAG,QAAQ,IAAID,WAAW,GAAGA,WAAW,CAACE,MAAM,KAAK,CAAC,GAAG,KAAK;AACtH;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASC,QAAQA,CAAC3D,KAAK,EAAE;EACvB,OAAO,OAAOA,KAAK,KAAK,QAAQ;AAClC;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS4D,MAAMA,CAAA,EAAG;EAChB,KAAK,IAAIC,KAAK,GAAGjD,SAAS,CAACC,MAAM,EAAEiD,IAAI,GAAG,IAAI/C,KAAK,CAAC8C,KAAK,CAAC,EAAEE,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGF,KAAK,EAAEE,KAAK,EAAE,EAAE;IAC7FD,IAAI,CAACC,KAAK,CAAC,GAAGnD,SAAS,CAACmD,KAAK,CAAC;EAChC;EAEA,OAAOD,IAAI,CAACE,MAAM,CAAC,UAAUC,GAAG,EAAE;IAChC,OAAOA,GAAG,IAAI,IAAI;EACpB,CAAC,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;AACf;AACA;AACA;AACA;;AAEA,SAAStF,IAAIA,CAAA,EAAG,CAAC;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASuF,sBAAsBA,CAACC,KAAK,EAAE;EACrC,OAAOC,MAAM,CAACD,KAAK,CAAC,CAACE,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAACC,WAAW,CAAC,CAAC;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASC,kBAAkBA,CAACC,eAAe,EAAEpD,YAAY,EAAE;EACzD,IAAIqD,aAAa,GAAGxG,MAAM,CAACuG,eAAe,IAAI,IAAI,CAAC;EAEnD,IAAIE,eAAe,GAAGxG,QAAQ,CAACkD,YAAY,CAAC;IACxCuD,UAAU,GAAGD,eAAe,CAAC,CAAC,CAAC;IAC/BE,QAAQ,GAAGF,eAAe,CAAC,CAAC,CAAC;EAEjC,IAAIG,GAAG,GAAG1G,WAAW,CAAC,UAAU2G,CAAC,EAAE;IACjC,IAAI,CAACL,aAAa,CAACxE,OAAO,EAAE;MAC1B2E,QAAQ,CAACE,CAAC,CAAC;IACb;EACF,CAAC,EAAE,EAAE,CAAC;EACN,OAAO,CAACL,aAAa,CAACxE,OAAO,GAAGuE,eAAe,GAAGG,UAAU,EAAEE,GAAG,CAAC;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAIE,0BAA0B,GAAGpG,IAAI;AAErC,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;EACzCiG,0BAA0B,GAAG,SAASA,0BAA0BA,CAACP,eAAe,EAAEQ,kBAAkB,EAAEC,aAAa,EAAE;IACnH,IAAIR,aAAa,GAAGxG,MAAM,CAACuG,eAAe,IAAI,IAAI,CAAC;IACnD,IAAIU,SAAS,GAAGjH,MAAM,CAAC;MACrBgH,aAAa,EAAEA,aAAa;MAC5BD,kBAAkB,EAAEA;IACtB,CAAC,CAAC;IACFrH,SAAS,CAAC,YAAY;MACpBuH,SAAS,CAACjF,OAAO,GAAG;QAClBgF,aAAa,EAAEA,aAAa;QAC5BD,kBAAkB,EAAEA;MACtB,CAAC;IACH,CAAC,EAAE,CAACC,aAAa,EAAED,kBAAkB,CAAC,CAAC;IACvCrH,SAAS,CAAC,YAAY;MACpB,IAAIwH,aAAa,GAAGV,aAAa,CAACxE,OAAO;MACzC,IAAImF,kBAAkB,GAAGF,SAAS,CAACjF,OAAO;QACtCgF,aAAa,GAAGG,kBAAkB,CAACH,aAAa;QAChDD,kBAAkB,GAAGI,kBAAkB,CAACJ,kBAAkB;MAC9D,IAAIK,YAAY,GAAGb,eAAe,IAAI,IAAI;MAE1C,IAAIW,aAAa,KAAKE,YAAY,EAAE;QAClC9F,OAAO,CAACW,KAAK,CAAC,6BAA6B,IAAIiF,aAAa,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,cAAc,GAAGH,kBAAkB,GAAG,aAAa,GAAGC,aAAa,GAAG,SAAS,IAAIE,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC,GAAG,wKAAwK,GAAGF,aAAa,GAAG,mGAAmG,CAAC;MAC7d;IACF,CAAC,EAAE,CAACT,eAAe,CAAC,CAAC;EACvB,CAAC;AACH;AACA,IAAIc,cAAc,GAAG3G,IAAI;AAEzB,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;EACzCwG,cAAc,GAAG,SAASA,cAAcA,CAACC,GAAG,EAAE;IAC5C,IAAIpE,IAAI,GAAGlD,MAAM,CAACsH,GAAG,CAAC;IACtB5H,SAAS,CAAC,YAAY;MACpB,OAAO,MAAMwD,IAAI,CAAClB,OAAO,GAAGsF,GAAG,CAAC;IAClC,CAAC,EAAE,CAACA,GAAG,CAAC,CAAC;IACT5H,SAAS,CAAC,YAAY;MACpB,OAAOe,WAAW,CAACyC,IAAI,CAAClB,OAAO,CAAC;IAClC,CAAC,EAAE,EAAE,CAAC;EACR,CAAC;AACH;AACA;AACA;AACA;AACA;;AAEA,SAASuF,WAAWA,CAACC,EAAE,EAAE;EACvB,IAAI3F,GAAG,GAAG7B,MAAM,CAAC,CAAC;EAElB,IAAI,CAAC6B,GAAG,CAACG,OAAO,EAAE;IAChBH,GAAG,CAACG,OAAO,GAAG;MACZyF,CAAC,EAAED,EAAE,CAAC;IACR,CAAC;EACH;EAEA,OAAO3F,GAAG,CAACG,OAAO,CAACyF,CAAC;AACtB;AACA;AACA;AACA;;AAEA,SAASC,gBAAgBA,CAACC,QAAQ,EAAE;EAClC,IAAI9F,GAAG,GAAG7B,MAAM,CAAC2H,QAAQ,CAAC;EAC1BtH,yBAAyB,CAAC,YAAY;IACpCwB,GAAG,CAACG,OAAO,GAAG2F,QAAQ;EACxB,CAAC,CAAC;EACF,OAAOzH,WAAW,CAAC,UAAU0H,KAAK,EAAE;IAClC,KAAK,IAAIC,KAAK,GAAGnF,SAAS,CAACC,MAAM,EAAEiD,IAAI,GAAG,IAAI/C,KAAK,CAACgF,KAAK,GAAG,CAAC,GAAGA,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,EAAEC,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGD,KAAK,EAAEC,KAAK,EAAE,EAAE;MACjHlC,IAAI,CAACkC,KAAK,GAAG,CAAC,CAAC,GAAGpF,SAAS,CAACoF,KAAK,CAAC;IACpC;IAEA,OAAOjG,GAAG,CAACG,OAAO,CAACe,KAAK,CAAClB,GAAG,EAAE,CAAC+F,KAAK,CAAC,CAAC5E,MAAM,CAAC4C,IAAI,CAAC,CAAC;EACrD,CAAC,EAAE,EAAE,CAAC;AACR;AACA,SAASmC,UAAUA,CAACP,EAAE,EAAE;EACtB,IAAI3F,GAAG,GAAG7B,MAAM,CAAC;IACfgI,aAAa,EAAE;EACjB,CAAC,CAAC;EAEF,IAAInG,GAAG,CAACG,OAAO,IAAIH,GAAG,CAACG,OAAO,CAACgG,aAAa,KAAK,IAAI,EAAE;IACrDnG,GAAG,CAACG,OAAO,GAAGwF,EAAE,CAAC,CAAC;EACpB;EAEA,OAAO3F,GAAG;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAIoG,eAAe,GAAGC,iBAAiB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASC,gBAAgBA,CAACC,SAAS,EAAEC,QAAQ,EAAE9F,OAAO,EAAE;EACtD,IAAIA,OAAO,KAAK,KAAK,CAAC,EAAE;IACtBA,OAAO,GAAGtB,MAAM;EAClB;EAEA,IAAIqH,YAAY,GAAGtI,MAAM,CAACqI,QAAQ,CAAC;EACnC3I,SAAS,CAAC,YAAY;IACpB4I,YAAY,CAACtG,OAAO,GAAGqG,QAAQ;EACjC,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;EACd3I,SAAS,CAAC,YAAY;IACpB,IAAI6I,WAAW,GAAGhG,OAAO,IAAIA,OAAO,CAACiG,gBAAgB;IAErD,IAAI,CAACD,WAAW,EAAE;MAChB,IAAI5H,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;QACzCS,OAAO,CAACC,IAAI,CAAC,sDAAsD,CAAC;MACtE;MAEA;IACF;IAEA,SAASkH,aAAaA,CAACb,KAAK,EAAE;MAC5BU,YAAY,CAACtG,OAAO,CAAC4F,KAAK,CAAC;IAC7B;IAEArF,OAAO,CAACiG,gBAAgB,CAACJ,SAAS,EAAEK,aAAa,CAAC;IAClD,OAAO,YAAY;MACjBlG,OAAO,CAACmG,mBAAmB,CAACN,SAAS,EAAEK,aAAa,CAAC;IACvD,CAAC;EACH,CAAC,EAAE,CAACL,SAAS,EAAE7F,OAAO,CAAC,CAAC;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASoG,cAAcA,CAACC,YAAY,EAAEC,IAAI,EAAE/E,aAAa,EAAE;EACzD,IAAI8E,YAAY,KAAK,KAAK,CAAC,EAAE;IAC3BA,YAAY,GAAGtH,OAAO,CAACwH,GAAG;EAC5B;EAEA,IAAID,IAAI,KAAK,KAAK,CAAC,EAAE;IACnBA,IAAI,GAAG,OAAO;EAChB;EAEA,IAAI/E,aAAa,KAAK,KAAK,CAAC,EAAE;IAC5BA,aAAa,GAAG3C,QAAQ;EAC1B;EAEA,IAAI4H,iBAAiB,GAAG/I,MAAM,CAAC8D,aAAa,CAACkF,aAAa,CAAC;EAC3DtJ,SAAS,CAAC,YAAY;IACpBqJ,iBAAiB,CAAC/G,OAAO,GAAG8B,aAAa,CAACkF,aAAa;IAEvD,SAASC,QAAQA,CAACrB,KAAK,EAAE;MACvB,IAAImB,iBAAiB,CAAC/G,OAAO,KAAK8B,aAAa,CAACkF,aAAa,EAAE;QAC7DJ,YAAY,CAAC9E,aAAa,CAACkF,aAAa,EAAED,iBAAiB,CAAC/G,OAAO,EAAE4F,KAAK,CAAC;QAC3EmB,iBAAiB,CAAC/G,OAAO,GAAG8B,aAAa,CAACkF,aAAa;MACzD;IACF;IAEAlF,aAAa,CAAC0E,gBAAgB,CAACK,IAAI,EAAEI,QAAQ,EAAE,IAAI,CAAC;IACpD,OAAO,YAAY;MACjBnF,aAAa,CAAC4E,mBAAmB,CAACG,IAAI,EAAEI,QAAQ,CAAC;IACnD,CAAC;EACH,CAAC,EAAE,CAACJ,IAAI,EAAED,YAAY,EAAE9E,aAAa,CAAC,CAAC;AACzC;AACA;AACA;AACA;;AAEA,SAASoF,cAAcA,CAAA,EAAG;EACxB,IAAIC,gBAAgB,GAAGlJ,QAAQ,CAACmJ,MAAM,CAACC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChDC,QAAQ,GAAGH,gBAAgB,CAAC,CAAC,CAAC;EAElC,OAAOjJ,WAAW,CAAC,YAAY;IAC7BoJ,QAAQ,CAACF,MAAM,CAACC,MAAM,CAAC,IAAI,CAAC,CAAC;EAC/B,CAAC,EAAE,EAAE,CAAC;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASE,YAAYA,CAAA,EAAG;EACtB,KAAK,IAAIC,KAAK,GAAG9G,SAAS,CAACC,MAAM,EAAE8G,IAAI,GAAG,IAAI5G,KAAK,CAAC2G,KAAK,CAAC,EAAEE,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGF,KAAK,EAAEE,KAAK,EAAE,EAAE;IAC7FD,IAAI,CAACC,KAAK,CAAC,GAAGhH,SAAS,CAACgH,KAAK,CAAC;EAChC;EAEA,OAAOvJ,OAAO,CAAC,YAAY;IACzB,IAAIsJ,IAAI,CAACE,KAAK,CAAC,UAAU9H,GAAG,EAAE;MAC5B,OAAOA,GAAG,IAAI,IAAI;IACpB,CAAC,CAAC,EAAE;MACF,OAAO,IAAI;IACb;IAEA,OAAO,UAAU+H,IAAI,EAAE;MACrBH,IAAI,CAACI,OAAO,CAAC,UAAUhI,GAAG,EAAE;QAC1BD,SAAS,CAACC,GAAG,EAAE+H,IAAI,CAAC;MACtB,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;EACL,CAAC,EAAE,EAAE,CAAC5G,MAAM,CAACyG,IAAI,CAAC,CAAC;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASK,WAAWA,CAAChI,KAAK,EAAE;EAC1B,IAAID,GAAG,GAAG7B,MAAM,CAAC,IAAI,CAAC;EACtBN,SAAS,CAAC,YAAY;IACpBmC,GAAG,CAACG,OAAO,GAAGF,KAAK;EACrB,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EACX,OAAOD,GAAG,CAACG,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASkG,iBAAiBA,CAACP,QAAQ,EAAE;EACnC,IAAIoC,WAAW,GAAG/J,MAAM,CAAC2H,QAAQ,CAAC;EAClCjI,SAAS,CAAC,YAAY;IACpBqK,WAAW,CAAC/H,OAAO,GAAG2F,QAAQ;EAChC,CAAC,CAAC,CAAC,CAAC;;EAEJ,OAAOzH,WAAW,CAAC,YAAY;IAC7B6J,WAAW,CAAC/H,OAAO,IAAI+H,WAAW,CAAC/H,OAAO,CAACe,KAAK,CAACgH,WAAW,EAAErH,SAAS,CAAC;EAC1E,CAAC,EAAE,EAAE,CAAC;AACR;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASsH,eAAeA,CAACC,MAAM,EAAEC,IAAI,EAAE;EACrC,IAAIC,OAAO,GAAGnK,MAAM,CAAC,KAAK,CAAC;EAC3BN,SAAS,CAAC,YAAY;IACpB,IAAIyK,OAAO,CAACnI,OAAO,EAAE;MACnBiI,MAAM,CAAC,CAAC;IACV,CAAC,MAAM;MACLE,OAAO,CAACnI,OAAO,GAAG,IAAI;IACxB,CAAC,CAAC;EAEJ,CAAC,EAAEkI,IAAI,CAAC;AACV;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAIE,cAAc,GAAG1J,IAAI;AAEzB,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;EACzCuJ,cAAc,GAAG,SAASA,cAAcA,CAAClE,KAAK,EAAEmE,KAAK,EAAE;IACrD,IAAIA,KAAK,KAAK,KAAK,CAAC,EAAE;MACpBA,KAAK,GAAG,KAAK;IACf;IAEA,IAAIC,QAAQ,GAAGtK,MAAM,CAACqK,KAAK,CAAC;IAC5B3K,SAAS,CAAC,YAAY;MACpB4K,QAAQ,CAACtI,OAAO,GAAGqI,KAAK;IAC1B,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;IACX3K,SAAS,CAAC,YAAY;MACpB,IAAI4K,QAAQ,CAACtI,OAAO,EAAE;QACpBV,OAAO,CAACiJ,KAAK,CAAC,eAAe,CAAC;QAC9BjJ,OAAO,CAACwH,GAAG,CAAC,IAAI,GAAG5C,KAAK,EAAE,2DAA2D,CAAC;QACtF5E,OAAO,CAACkJ,QAAQ,CAAC,CAAC;MACpB;IACF,CAAC,EAAE,CAACtE,KAAK,CAAC,CAAC;EACb,CAAC;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASuE,SAASA,CAACC,YAAY,EAAEC,UAAU,EAAE;EAC3C,OAAO,UAAU/C,KAAK,EAAE;IACtB8C,YAAY,IAAIA,YAAY,CAAC9C,KAAK,CAAC;IAEnC,IAAI,CAACA,KAAK,CAACgD,gBAAgB,EAAE;MAC3B,OAAOD,UAAU,CAAC/C,KAAK,CAAC;IAC1B;EACF,CAAC;AACH,CAAC,CAAC;;AAEF,SAAShG,SAAS,EAAEO,gBAAgB,EAAE7B,SAAS,EAAEG,WAAW,EAAE6B,iBAAiB,EAAEW,kBAAkB,EAAEK,gBAAgB,EAAEK,qBAAqB,EAAEiB,uBAAuB,EAAEb,gBAAgB,EAAEe,cAAc,EAAEL,iBAAiB,EAAEM,kBAAkB,EAAE3C,SAAS,EAAEL,UAAU,EAAEoD,QAAQ,EAAEE,YAAY,EAAEI,QAAQ,EAAEC,MAAM,EAAElC,UAAU,EAAE9C,IAAI,EAAEc,cAAc,EAAEyE,sBAAsB,EAAEgC,eAAe,EAAEZ,cAAc,EAAEE,WAAW,EAAEjB,kBAAkB,EAAEQ,0BAA0B,EAAEY,gBAAgB,EAAES,gBAAgB,EAAEQ,cAAc,EAAEO,cAAc,EAAEK,YAAY,EAAElJ,yBAAyB,EAAE0H,UAAU,EAAE+B,WAAW,EAAE5B,iBAAiB,EAAEkC,cAAc,EAAEJ,eAAe,EAAExJ,OAAO,EAAEiK,SAAS","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}