@bigbinary/neeto-fields-frontend 1.4.0-beta2 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/dist/DeleteAlert-063eea87.js +764 -0
  2. package/dist/DeleteAlert-063eea87.js.map +1 -0
  3. package/dist/DeleteAlert-f2c5236d.js +781 -0
  4. package/dist/DeleteAlert-f2c5236d.js.map +1 -0
  5. package/dist/FieldDeleteAlert.js +23 -0
  6. package/dist/FieldDeleteAlert.js.map +1 -0
  7. package/dist/FieldInputs.js +58 -0
  8. package/dist/FieldInputs.js.map +1 -0
  9. package/dist/FieldValueInputWrapper-adbbc915.js +198 -0
  10. package/dist/FieldValueInputWrapper-adbbc915.js.map +1 -0
  11. package/dist/FieldValueInputWrapper-f1f2e095.js +189 -0
  12. package/dist/FieldValueInputWrapper-f1f2e095.js.map +1 -0
  13. package/dist/FieldValuesContainer.js +223 -0
  14. package/dist/FieldValuesContainer.js.map +1 -0
  15. package/dist/FieldsDashboard.js +5000 -0
  16. package/dist/FieldsDashboard.js.map +1 -0
  17. package/dist/FieldsPane.js +563 -0
  18. package/dist/FieldsPane.js.map +1 -0
  19. package/dist/InlineFieldValueInput.js +157 -0
  20. package/dist/InlineFieldValueInput.js.map +1 -0
  21. package/dist/_commonjsHelpers-1789f0cf.js +8 -0
  22. package/dist/_commonjsHelpers-1789f0cf.js.map +1 -0
  23. package/dist/_commonjsHelpers-b3309d7b.js +11 -0
  24. package/dist/_commonjsHelpers-b3309d7b.js.map +1 -0
  25. package/dist/cjs/FieldDeleteAlert.js +29 -0
  26. package/dist/cjs/FieldDeleteAlert.js.map +1 -0
  27. package/dist/cjs/FieldInputs.js +64 -0
  28. package/dist/cjs/FieldInputs.js.map +1 -0
  29. package/dist/cjs/FieldValuesContainer.js +232 -0
  30. package/dist/cjs/FieldValuesContainer.js.map +1 -0
  31. package/dist/cjs/FieldsDashboard.js +5020 -0
  32. package/dist/cjs/FieldsDashboard.js.map +1 -0
  33. package/dist/cjs/FieldsPane.js +598 -0
  34. package/dist/cjs/FieldsPane.js.map +1 -0
  35. package/dist/cjs/InlineFieldValueInput.js +164 -0
  36. package/dist/cjs/InlineFieldValueInput.js.map +1 -0
  37. package/dist/cjs/hooks.js +20 -0
  38. package/dist/cjs/hooks.js.map +1 -0
  39. package/dist/cjs/index.js +84 -0
  40. package/dist/cjs/index.js.map +1 -0
  41. package/dist/cjs/utils.js +34 -0
  42. package/dist/cjs/utils.js.map +1 -0
  43. package/dist/constants-0e6017ea.js +57 -0
  44. package/dist/constants-0e6017ea.js.map +1 -0
  45. package/dist/constants-c71008a3.js +64 -0
  46. package/dist/constants-c71008a3.js.map +1 -0
  47. package/dist/hooks.js +8 -0
  48. package/dist/hooks.js.map +1 -0
  49. package/dist/index-265f7913.js +117 -0
  50. package/dist/index-265f7913.js.map +1 -0
  51. package/dist/index-27e54c2c.js +130 -0
  52. package/dist/index-27e54c2c.js.map +1 -0
  53. package/dist/index.js +64 -8236
  54. package/dist/index.js.map +1 -1
  55. package/dist/query-0df5b2dd.js +13 -0
  56. package/dist/query-0df5b2dd.js.map +1 -0
  57. package/dist/query-1a62b3ac.js +10 -0
  58. package/dist/query-1a62b3ac.js.map +1 -0
  59. package/dist/slicedToArray-50f7cc19.js +46 -0
  60. package/dist/slicedToArray-50f7cc19.js.map +1 -0
  61. package/dist/slicedToArray-6198349b.js +44 -0
  62. package/dist/slicedToArray-6198349b.js.map +1 -0
  63. package/dist/useFieldsApi-14928ecf.js +161 -0
  64. package/dist/useFieldsApi-14928ecf.js.map +1 -0
  65. package/dist/useFieldsApi-5c114bac.js +149 -0
  66. package/dist/useFieldsApi-5c114bac.js.map +1 -0
  67. package/dist/utils-9f816116.js +1140 -0
  68. package/dist/utils-9f816116.js.map +1 -0
  69. package/dist/utils-a0333c9c.js +1180 -0
  70. package/dist/utils-a0333c9c.js.map +1 -0
  71. package/dist/utils.js +26 -0
  72. package/dist/utils.js.map +1 -0
  73. package/package.json +28 -14
  74. package/types.d.ts +1 -1
  75. package/dist/index.cjs.js +0 -8306
  76. package/dist/index.cjs.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../app/javascript/src/constants/index.js","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/typeof.js","../node_modules/@babel/runtime/helpers/regeneratorRuntime.js","../node_modules/@babel/runtime/regenerator/index.js","../app/javascript/src/components/FieldsDashBoard/constants.js","../app/javascript/src/components/InlineFieldValueInput/constants.js","../app/javascript/src/hooks/utils.js","../app/javascript/src/components/commons/FieldInputs/utils.js","../app/javascript/src/hooks/useFormikFields.js","../app/javascript/src/components/commons/FieldInputs/Checkbox.jsx","../app/javascript/src/components/commons/MetadataBlock/index.jsx","../app/javascript/src/components/commons/MetadataBlock/WithMetadataBlock.jsx","../app/javascript/src/components/commons/FieldInputs/DateOrTime.jsx","../app/javascript/src/components/commons/FieldInputs/MultiOption.jsx","../app/javascript/src/components/commons/FieldInputs/Number.jsx","../app/javascript/src/components/commons/FieldInputs/RangePicker.jsx","../app/javascript/src/components/commons/FieldInputs/SingleOption.jsx","../app/javascript/src/components/commons/FieldInputs/Text.jsx","../app/javascript/src/components/commons/FieldInputs/TextArea.jsx","../app/javascript/src/components/utils.js","../app/javascript/src/components/FieldInputs.jsx","../app/javascript/src/apis/fields.js","../app/javascript/src/constants/query.js","../app/javascript/src/hooks/reactQuery/useFieldsApi.js","../app/javascript/src/components/FieldsPane/utils.jsx","../app/javascript/src/components/FieldsPane/constants.js","../app/javascript/src/components/FieldsPane/AdditionalInputs.jsx","../app/javascript/src/components/FieldsPane/FieldForm.jsx","../app/javascript/src/components/FieldsPane/Add.jsx","../app/javascript/src/components/FieldsPane/Edit.jsx","../app/javascript/src/components/FieldsPane/index.jsx","../node_modules/pluralize/pluralize.js","../app/javascript/src/components/FieldsDashBoard/utils.jsx","../app/javascript/src/apis/configs.js","../app/javascript/src/hooks/reactQuery/useConfigsApi.js","../app/javascript/src/hooks/useFieldsDashboard.js","../app/javascript/src/components/FieldsDashBoard/DeleteAlert.jsx","../app/javascript/src/components/FieldsDashBoard/FieldsTable.jsx","../app/javascript/src/components/FieldsDashBoard/Header/ActionBlock.jsx","../app/javascript/src/components/FieldsDashBoard/Header/index.jsx","../app/javascript/src/components/FieldsDashBoard/Menubar.jsx","../node_modules/@dnd-kit/utilities/dist/utilities.esm.js","../node_modules/@dnd-kit/accessibility/dist/accessibility.esm.js","../node_modules/@dnd-kit/core/dist/core.esm.js","../node_modules/@dnd-kit/sortable/dist/sortable.esm.js","../app/javascript/src/components/FieldsDashBoard/ReorderPane/FieldBlock.jsx","../app/javascript/src/components/FieldsDashBoard/ReorderPane/index.jsx","../app/javascript/src/components/FieldsDashBoard/SubHeader.jsx","../app/javascript/src/components/FieldsDashBoard/index.jsx","../app/javascript/src/components/FieldValuesContainer/utils.js","../app/javascript/src/apis/field_values.js","../app/javascript/src/hooks/reactQuery/useFieldValuesApi.js","../app/javascript/src/hooks/useFieldValues.js","../node_modules/react-router-nav-prompt/dist/useNavPrompt.js","../app/javascript/src/components/FieldValuesContainer/constants.js","../app/javascript/src/components/FieldValuesContainer/BlockNavigation.jsx","../app/javascript/src/components/FieldValuesContainer/FieldValueInputWrapper.jsx","../app/javascript/src/components/FieldValuesContainer/index.jsx","../app/javascript/src/components/InlineFieldValueInput/utils.js","../app/javascript/src/components/InlineFieldValueInput/index.jsx","../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js"],"sourcesContent":["export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","export const NEETO_FIELDS_URL = \"/neeto_fields_engine/api/v1\";\nexport const FIELDS_URL = `${NEETO_FIELDS_URL}/fields`;\nexport const FIELD_VALUES_URL = `${NEETO_FIELDS_URL}/field_values`;\nexport const FIELD_VALUE_URL = `${NEETO_FIELDS_URL}/field_values/:fieldValueId`;\nexport const FIELD_URL = `${NEETO_FIELDS_URL}/fields/:fieldId`;\nexport const DEPENDENCIES_URL = `${NEETO_FIELDS_URL}/fields/:fieldId/dependencies`;\nexport const FIELDS_REORDER_URL = `${FIELDS_URL}/reorder`;\nexport const CONFIGS_URL = `${NEETO_FIELDS_URL}/configs`;\n\nexport const INFO_ICON_SIZE = 16;\n\nexport const SUBMIT_FIELD_STATUS = {\n SUBMITTING: \"submitting\",\n SUCCESS: \"success\",\n FAILED: \"failed\",\n};\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw new Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw new Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","import { t } from \"i18next\";\nimport { values } from \"ramda\";\n\nexport const KINDS = {\n text: \"text\",\n number: \"number\",\n monetary: \"monetary\",\n singleOption: \"single_option\",\n multiOption: \"multi_option\",\n date: \"date\",\n time: \"time\",\n dateRange: \"date_range\",\n timeRange: \"time_range\",\n textarea: \"textarea\",\n textArea: \"text_area\",\n person: \"person\",\n checkbox: \"checkbox\",\n regex: \"regex\",\n integer: \"integer\",\n decimal: \"decimal\",\n datetime: \"datetime\",\n};\n\nexport const DISPLAY_KINDS = {\n text: t(\"neetoFields.fields.kinds.text\"),\n number: t(\"neetoFields.fields.kinds.number\"),\n monetary: t(\"neetoFields.fields.kinds.monetary\"),\n single_option: t(\"neetoFields.fields.kinds.singleOption\"),\n multi_option: t(\"neetoFields.fields.kinds.multiOption\"),\n date: t(\"neetoFields.fields.kinds.date\"),\n time: t(\"neetoFields.fields.kinds.time\"),\n date_range: t(\"neetoFields.fields.kinds.dateRange\"),\n time_range: t(\"neetoFields.fields.kinds.timeRange\"),\n textarea: t(\"neetoFields.fields.kinds.textarea\"),\n text_area: t(\"neetoFields.fields.kinds.textArea\"),\n person: t(\"neetoFields.fields.kinds.person\"),\n checkbox: t(\"neetoFields.fields.kinds.checkbox\"),\n regex: t(\"neetoFields.fields.kinds.regex\"),\n integer: t(\"neetoFields.fields.kinds.integer\"),\n decimal: t(\"neetoFields.fields.kinds.decimal\"),\n datetime: t(\"neetoFields.fields.kinds.datetime\"),\n};\n\nexport const FIELD_STATES = {\n active: \"active\",\n inactive: \"inactive\",\n};\n\nexport const DEFAULT_FIELD_STATE_TAXONOMY = {\n active: \"Active\",\n inactive: \"Inactive\",\n};\n\nexport const ALL_KINDS = values(KINDS);\n\nexport const MENU_ITEMS = { EDIT: \"edit\", DELETE: \"delete\" };\n","import { KINDS } from \"components/FieldsDashBoard/constants\";\n\nexport const DIRECT_EDIT_INPUT_FIELDS = [KINDS.checkbox];\n","import { KINDS } from \"components/FieldsDashBoard/constants\";\n\nexport const isDateTime = kind =>\n [\"date\", \"time\", \"date_range\", \"time_range\", \"datetime\"].includes(kind);\n\nexport const isDropdown = kind =>\n [\"single_option\", \"multi_option\"].includes(kind);\n\nexport const isTextType = kind =>\n [\n KINDS.text,\n KINDS.decimal,\n KINDS.integer,\n KINDS.monetary,\n KINDS.number,\n KINDS.regex,\n KINDS.textarea,\n ].includes(kind);\n","import dayjs from \"dayjs\";\nimport { t } from \"i18next\";\nimport { isNotEmpty } from \"neetocist\";\nimport { isEmpty, isNil, isNotNil } from \"ramda\";\nimport * as yup from \"yup\";\n\nimport { KINDS } from \"components/FieldsDashBoard/constants\";\n\nconst dateSchema = yup.date().nullable();\n\nconst isValueEmpty = value =>\n typeof value === \"string\" && isEmpty(value.trim());\n\nconst isCheckboxUnchecked = (kind, value) => kind === KINDS.checkbox && !value;\n\nconst isArrayEmpty = (kind, value) =>\n [\n KINDS.multiOption,\n KINDS.singleOption,\n KINDS.dateRange,\n KINDS.timeRange,\n ].includes(kind) && isEmpty(value);\n\nconst buildSchemaAllowingEmptyValue = schema =>\n yup.mixed().test({\n name: \"validate-if-not-empty\",\n test: value => {\n if (isNotEmpty(value) && isNotNil(value)) {\n schema.validateSync(value);\n }\n\n return true;\n },\n });\n\nconst buildSchemaForRequiredInputs = (schema, kind) =>\n yup.mixed().test({\n name: \"validate-required-inputs\",\n test: value => {\n if (\n isNil(value) ||\n isValueEmpty(value) ||\n isArrayEmpty(kind, value) ||\n isCheckboxUnchecked(kind, value)\n ) {\n throw new yup.ValidationError(\n t(\"neetoFields.validations.thisIsRequired\")\n );\n }\n schema.validateSync(value);\n\n return true;\n },\n });\n\nconst buildSchema = ({ schema, isRequired, kind }) =>\n isRequired\n ? buildSchemaForRequiredInputs(schema, kind)\n : buildSchemaAllowingEmptyValue(schema);\n\nconst getBasicValidationSchema = ({ kind, fieldData }) => {\n switch (kind) {\n case KINDS.singleOption:\n case KINDS.textarea:\n case KINDS.text: {\n return yup.string().trim().nullable();\n }\n\n case KINDS.number:\n case KINDS.monetary:\n case KINDS.decimal: {\n return yup\n .number(t(\"neetoFields.validations.notAValidNumber\"))\n .nullable();\n }\n case KINDS.integer: {\n return yup\n .number()\n .nullable()\n .integer(t(\"neetoFields.validations.notAValidInteger\"));\n }\n\n case KINDS.date:\n case KINDS.time: {\n return dateSchema;\n }\n case KINDS.multiOption: {\n return yup.array().of(yup.string()).nullable();\n }\n\n case KINDS.dateRange:\n case KINDS.timeRange: {\n return yup.array().of(dateSchema).nullable();\n }\n\n case KINDS.checkbox:\n return yup.boolean().nullable();\n\n case KINDS.regex: {\n const regexPattern = fieldData?.condition;\n\n return yup\n .string()\n .nullable()\n .matches(cleanedRegex(regexPattern), fieldData?.helpMessage);\n }\n\n default:\n return yup.mixed();\n }\n};\n\nconst buildFieldValidationSchema = ({ kind, isRequired, fieldData }) => {\n const schema = getBasicValidationSchema({ kind, fieldData });\n\n return buildSchema({ schema, isRequired, kind });\n};\n\nconst cleanedRegex = regexCondition => {\n const patternMatchingExp = /[igmsyu]*$/;\n const conditionFlags = regexCondition.match(patternMatchingExp)[0];\n let conditionWithoutFlags = regexCondition.replace(patternMatchingExp, \"\");\n const sanitizedFlags = [...new Set(conditionFlags)].join(\"\");\n if (\n conditionWithoutFlags.startsWith(\"/\") &&\n conditionWithoutFlags.endsWith(\"/\")\n ) {\n conditionWithoutFlags = conditionWithoutFlags.slice(1, -1);\n }\n\n return RegExp(conditionWithoutFlags, sanitizedFlags);\n};\n\nexport const validateField = async ({\n fieldValue,\n fieldName,\n isRequired,\n kind,\n fieldData,\n}) => {\n try {\n await yup\n .object()\n .shape({\n [fieldName]: buildFieldValidationSchema({\n kind,\n isRequired,\n fieldData,\n }),\n })\n .validate({ [fieldName]: fieldValue });\n\n return false;\n } catch (e) {\n return e.errors[0];\n }\n};\n\nexport const dateTimeToString = dateTime =>\n (dateTime && dayjs(dateTime).toString()) || \"\";\n\nexport const getValueFromBool = value =>\n value === true ? t(\"neetoFields.common.yes\") : t(\"neetoFields.common.no\");\n\nexport const getComponentDisplayName = Component =>\n Component.displayName || Component.name || \"Component\";\n","import { useEffect } from \"react\";\n\nimport { useField, useFormikContext } from \"formik\";\nimport { capitalize, findBy, noop, renameKeys } from \"neetocist\";\nimport { useFuncDebounce } from \"neetocommons/react-utils\";\nimport { isNil, isNotNil, prop } from \"ramda\";\n\nimport { KINDS } from \"components/FieldsDashBoard/constants\";\nimport { DIRECT_EDIT_INPUT_FIELDS } from \"components/InlineFieldValueInput/constants\";\nimport { escapeString } from \"components/utils\";\n\nimport { isDateTime, isDropdown, isTextType } from \"./utils\";\n\nimport { validateField } from \"../components/commons/FieldInputs/utils\";\n\nconst useFormikFields = ({\n name,\n id: fieldId,\n kind,\n data: fieldData,\n individualSubmit,\n formRef,\n formRefs,\n disabled,\n isRequiredColumnName = \"isRequired\",\n isInline = false,\n onBlur: handleBlur = noop, // Expected only for inline fields\n hasMetadataWrapper = false,\n ...props\n}) => {\n const formikContext = useFormikContext();\n\n const { submitForm, dirty, isSubmitting } = formikContext;\n\n const fieldPath = escapeString(`${name}-${fieldId}`);\n const fieldName = kind === KINDS.multiOption ? \"values\" : \"value\";\n const fieldValuePath = `${fieldPath}.data.${fieldName}`;\n\n isDropdown(kind) && (fieldData = renameKeys({ id: \"value\" }, fieldData));\n\n if (isNil(formRef) && isNotNil(formRefs)) {\n formRefs.current[fieldValuePath] = formikContext;\n } else if (isNil(formRefs) && isNotNil(formRef)) {\n formRef.current = formikContext;\n }\n\n const [formikFieldProps, meta, helpers] = useField({\n name: fieldValuePath,\n validate: fieldValue =>\n validateField({\n fieldValue,\n fieldName: name,\n isRequired: props[isRequiredColumnName],\n kind,\n fieldData,\n }),\n });\n\n const debouncedSubmitForm = useFuncDebounce(submitForm, 100);\n\n const handleSubmit = async value => {\n isNotNil(value) && helpers.setValue(value);\n individualSubmit && (await debouncedSubmitForm());\n isInline && !DIRECT_EDIT_INPUT_FIELDS.includes(kind) && handleBlur();\n };\n\n const getBlurHandler = kind => {\n if (isTextType(kind)) {\n return dirty ? () => handleSubmit() : handleBlur;\n }\n\n if (!DIRECT_EDIT_INPUT_FIELDS.includes(kind)) {\n return handleBlur;\n }\n\n return undefined;\n };\n\n const getValueForField = value => {\n if (kind === KINDS.singleOption) {\n value = findBy({ value }, fieldData);\n } else if (kind === KINDS.multiOption) {\n value = value?.map(optionId => findBy({ value: optionId }, fieldData));\n }\n\n return value || \"\";\n };\n\n useEffect(() => {\n if (isSubmitting && !meta.touched) {\n helpers.setTouched(true);\n }\n }, [isSubmitting]);\n\n return {\n dirty,\n handleSubmit,\n fieldProps: {\n ...formikFieldProps,\n id: fieldId,\n error: individualSubmit ? meta.error : meta.touched && meta.error,\n value: getValueForField(formikFieldProps.value),\n label: !isInline && !hasMetadataWrapper && capitalize(name),\n labelProps: !isInline &&\n !hasMetadataWrapper && { required: props[isRequiredColumnName] },\n autoFocus: isInline && !DIRECT_EDIT_INPUT_FIELDS.includes(kind),\n onBlur: isInline ? getBlurHandler(kind) : undefined,\n disabled,\n //conditional props\n options: isDropdown(kind) ? fieldData : undefined,\n getPopupContainer:\n !isInline && isDateTime(kind) ? prop(\"parentElement\") : undefined,\n },\n helpers,\n };\n};\n\nexport default useFormikFields;\n","import React from \"react\";\n\nimport { Checkbox as NeetoUICheckbox } from \"neetoui\";\n\nimport { SUBMIT_FIELD_STATUS } from \"src/constants\";\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nconst Checkbox = props => {\n const { handleSubmit, fieldProps } = useFormikFields(props);\n const { submissionStatus } = props;\n\n return (\n <NeetoUICheckbox\n {...fieldProps}\n checked={fieldProps.value}\n disabled={submissionStatus === SUBMIT_FIELD_STATUS.SUBMITTING}\n onChange={({ target: { checked } }) => handleSubmit(checked)}\n />\n );\n};\nexport default Checkbox;\n","import React from \"react\";\n\nimport { hyphenize } from \"neetocommons/utils/general\";\nimport { Check } from \"neetoicons\";\nimport { Label, Spinner } from \"neetoui\";\n\nimport { SUBMIT_FIELD_STATUS } from \"src/constants\";\n\nconst MetadataBlock = ({\n labelProps,\n label,\n fieldId,\n children,\n submissionStatus,\n isInline,\n}) => (\n <div className=\"w-full space-y-2\">\n {!isInline && (\n <div className=\"flex items-center gap-2\">\n <Label\n data-cy={`${hyphenize(label)}-label`}\n htmlFor={fieldId}\n {...labelProps}\n >\n {label}\n </Label>\n <div className=\"inline-flex h-6 items-center\">\n {submissionStatus === SUBMIT_FIELD_STATUS.SUBMITTING && (\n <Spinner className=\"neeto-fields-nano__metadata-card__spinner\" />\n )}\n {submissionStatus === SUBMIT_FIELD_STATUS.SUCCESS && (\n <Check className=\"neeto-ui-text-success-500\" size={20} />\n )}\n </div>\n </div>\n )}\n {children}\n </div>\n);\n\nexport default MetadataBlock;\n","import React from \"react\";\n\nimport { capitalize } from \"neetocist\";\n\nimport MetadataBlock from \".\";\n\nimport { getComponentDisplayName } from \"../FieldInputs/utils\";\n\nconst WithMetadataBlock = Component => {\n const withMetadataBlockWrapper = props => {\n const {\n submissionStatus,\n isInline = false,\n isRequiredColumnName = \"isRequired\",\n name,\n id: fieldId,\n } = props;\n\n const label = !isInline && capitalize(name);\n const labelProps = { required: props[isRequiredColumnName] };\n\n return (\n <MetadataBlock\n {...{ fieldId, isInline, label, labelProps, submissionStatus }}\n >\n <Component {...props} hasMetadataWrapper />\n </MetadataBlock>\n );\n };\n\n withMetadataBlockWrapper.displayName = `withMetadataBlockWrapper(${getComponentDisplayName(\n Component\n )})`;\n\n return withMetadataBlockWrapper;\n};\n\nexport default WithMetadataBlock;\n","import React, { useRef, useState } from \"react\";\n\nimport { notEquals } from \"neetocist\";\nimport { DatePicker, TimePicker } from \"neetoui\";\n\nimport { KINDS } from \"components/FieldsDashBoard/constants\";\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nimport { dateTimeToString } from \"./utils\";\n\nimport withMetadataBlock from \"../MetadataBlock/WithMetadataBlock\";\n\nconst DateOrTime = props => {\n const { isInline } = props;\n const [isOpen, setIsOpen] = useState(isInline);\n\n const value = useRef();\n\n const {\n handleSubmit,\n fieldProps: { onBlur, ...fieldProps },\n helpers,\n } = useFormikFields(props);\n\n const handleChange = dateTime => {\n value.current = dateTimeToString(dateTime);\n helpers.setValue(value.current);\n\n if (!isOpen) handleSubmit();\n };\n\n const onOpenChange = async open => {\n setIsOpen(open);\n if (open) return;\n\n const shouldSubmit =\n value.current !== undefined && notEquals(fieldProps.value, value.current);\n shouldSubmit && (await handleSubmit());\n onBlur?.();\n };\n\n if (props.kind === KINDS.time) {\n return (\n <TimePicker\n {...{ ...fieldProps, onOpenChange }}\n use12Hours\n format=\"h:mm A\"\n open={isOpen}\n onChange={handleChange}\n />\n );\n } else if (props.kind === KINDS.date) {\n return (\n <DatePicker\n {...{ ...fieldProps, onOpenChange }}\n open={isOpen}\n onChange={handleChange}\n />\n );\n }\n\n return (\n <DatePicker\n showTime\n timeFormat=\"h:mm A\"\n {...{ ...fieldProps, onOpenChange }}\n open={isOpen}\n onChange={handleChange}\n />\n );\n};\n\nexport default withMetadataBlock(DateOrTime);\n","import React from \"react\";\n\nimport { Select } from \"neetoui/formik\";\nimport { pluck } from \"ramda\";\n\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nimport withMetadataBlock from \"../MetadataBlock/WithMetadataBlock\";\n\nconst MultiOption = props => {\n const { handleSubmit, fieldProps } = useFormikFields(props);\n\n return (\n <Select\n isMulti\n isSearchable\n strategy=\"fixed\"\n {...fieldProps}\n onChange={selectedOptions =>\n handleSubmit(pluck(\"value\", selectedOptions))\n }\n />\n );\n};\n\nexport default withMetadataBlock(MultiOption);\n","import React from \"react\";\n\nimport { Input } from \"neetoui\";\n\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nimport withMetadataBlock from \"../MetadataBlock/WithMetadataBlock\";\n\nconst Number = props => {\n const { handleSubmit, fieldProps, dirty } = useFormikFields(props);\n\n return (\n <Input\n {...fieldProps}\n type=\"number\"\n onBlur={() => dirty && handleSubmit()}\n />\n );\n};\n\nexport default withMetadataBlock(Number);\n","import React, { useRef } from \"react\";\n\nimport { noop } from \"neetocist\";\nimport { useOnClickOutside } from \"neetocommons/react-utils\";\nimport { DatePicker, TimePicker } from \"neetoui\";\n\nimport { KINDS } from \"components/FieldsDashBoard/constants\";\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nimport { getComponentDisplayName, dateTimeToString } from \"./utils\";\n\nimport withMetadataBlock from \"../MetadataBlock/WithMetadataBlock\";\n\nconst withOnClickOutsideWrapper = Component => {\n const WithOnClickOutsideWrapper = ({ onBlur = noop, ...props }) => {\n const ref = useRef(null);\n const isInline = onBlur !== noop;\n useOnClickOutside(ref, onBlur, { enabled: isInline });\n\n return isInline ? (\n <div {...{ ref }}>\n <Component {...props} type=\"range\" />\n </div>\n ) : (\n <Component {...props} type=\"range\" />\n );\n };\n\n WithOnClickOutsideWrapper.displayName = `WithOnClickOutsideWrapper(${getComponentDisplayName(\n Component\n )})`;\n\n return WithOnClickOutsideWrapper;\n};\n\nconst DateRangePicker = withOnClickOutsideWrapper(DatePicker);\nconst TimeRangePicker = withOnClickOutsideWrapper(TimePicker);\n\nconst RangePicker = props => {\n const { handleSubmit, fieldProps } = useFormikFields(props);\n\n const handleChange = ([begin, end]) => {\n if (begin && end) {\n handleSubmit([dateTimeToString(begin), dateTimeToString(end)]);\n } else {\n handleSubmit([]);\n }\n };\n\n if (props.kind === KINDS.dateRange) {\n return <DateRangePicker {...fieldProps} onChange={handleChange} />;\n }\n\n //time_range\n return (\n <TimeRangePicker\n {...fieldProps}\n use12Hours\n format=\"h:mm A\"\n onChange={handleChange}\n />\n );\n};\n\nexport default withMetadataBlock(RangePicker);\n","import React from \"react\";\n\nimport { Select } from \"neetoui\";\n\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nimport withMetadataBlock from \"../MetadataBlock/WithMetadataBlock\";\n\nconst SingleOption = props => {\n const { handleSubmit, fieldProps } = useFormikFields(props);\n\n return (\n <Select\n isClearable\n isSearchable\n strategy=\"fixed\"\n {...fieldProps}\n onChange={option => handleSubmit(option?.value || \"\")}\n />\n );\n};\nexport default withMetadataBlock(SingleOption);\n","import React from \"react\";\n\nimport { Textarea } from \"neetoui\";\n\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nimport withMetadataBlock from \"../MetadataBlock/WithMetadataBlock\";\n\nconst Text = props => {\n const { handleSubmit, fieldProps, dirty } = useFormikFields(props);\n\n const handleKeyDown = event => {\n if (event.key !== \"Enter\" || event.shiftKey) return;\n\n event.preventDefault();\n handleSubmit();\n };\n\n const handleFocus = element => {\n const end = element.value.length;\n element.setSelectionRange(end, end);\n };\n\n return (\n <Textarea\n {...fieldProps}\n className=\"neeto-fields-nano-adaptive-input\"\n rows={1}\n size=\"small\"\n style={{ resize: \"none\" }}\n onBlur={() => dirty && handleSubmit()}\n onFocus={({ target }) => handleFocus(target)}\n onKeyDown={handleKeyDown}\n />\n );\n};\n\nexport default withMetadataBlock(Text);\n","import React from \"react\";\n\nimport { Textarea } from \"neetoui\";\n\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nimport withMetadataBlock from \"../MetadataBlock/WithMetadataBlock\";\n\nconst TextArea = props => {\n const { handleSubmit, fieldProps, dirty } = useFormikFields(props);\n\n return <Textarea {...fieldProps} onBlur={() => dirty && handleSubmit()} />;\n};\nexport default withMetadataBlock(TextArea);\n","import { filterBy, findBy } from \"neetocist\";\nimport { prop, isNil, clone, pick, map, pipe, mergeAll, omit } from \"ramda\";\n\nimport {\n Checkbox,\n DateOrTime as DateOrTimeInput,\n MultiOption as MultiOptionInput,\n Number as NumberInput,\n RangePicker as RangePickerInput,\n SingleOption as SingleOptionInput,\n Text as TextInput,\n TextArea as TextAreaInput,\n} from \"./commons/FieldInputs\";\nimport { KINDS } from \"./FieldsDashBoard/constants\";\n\nconst standardComponents = {\n text: TextInput,\n regex: TextInput,\n textarea: TextAreaInput,\n text_area: TextAreaInput, // TODO: Remove text-area after integration in all hosts.\n number: NumberInput,\n monetary: NumberInput,\n integer: NumberInput,\n decimal: NumberInput,\n date: DateOrTimeInput,\n time: DateOrTimeInput,\n datetime: DateOrTimeInput,\n single_option: SingleOptionInput,\n multi_option: MultiOptionInput,\n date_range: RangePickerInput,\n time_range: RangePickerInput,\n checkbox: Checkbox,\n};\n\nconst getFieldInput = ({ field, customComponents = {} }) => {\n const Component =\n customComponents[field.kind] || standardComponents[field.kind];\n\n if (Component) {\n return Component;\n }\n\n return null;\n};\n\nconst removeItemsWithNullData = fieldValues =>\n fieldValues.filter(item => !isNil(prop(\"data\", item)));\n\nconst removeNoiseFromValues = fieldValues =>\n map(pick([\"id\", \"fieldId\", \"data\"]), fieldValues);\n\nconst transformValues = ({ values: formikValues, fields }) => {\n const allFieldValues = clone(formikValues);\n const neetoFieldValues = [];\n\n fields.forEach(({ id, name }) => {\n const fieldPath = escapeString(`${name}-${id}`);\n neetoFieldValues.push(allFieldValues[fieldPath]);\n delete allFieldValues[fieldPath];\n });\n\n const cleanedFieldValues = pipe(\n removeItemsWithNullData,\n removeNoiseFromValues\n )(neetoFieldValues);\n\n return { ...allFieldValues, fieldValuesAttributes: cleanedFieldValues };\n};\n\nconst getDefaultInitialValue = kind => {\n switch (kind) {\n case KINDS.checkbox:\n return false;\n case KINDS.multiOption:\n case KINDS.dateRange:\n case KINDS.timeRange:\n return [];\n default:\n return \"\";\n }\n};\n\nconst getInitialFieldValue = ({\n field,\n fieldValues = [],\n isIndividualFieldForm = false,\n}) => {\n const existingFieldValueData = findBy({ fieldId: field.id }, fieldValues);\n const keyInData = field.kind === KINDS.multiOption ? \"values\" : \"value\";\n const newFieldValueData = {\n fieldId: field.id,\n data: isIndividualFieldForm\n ? { [keyInData]: getDefaultInitialValue(field.kind) }\n : null,\n };\n\n return {\n [escapeString(`${field.name}-${field.id}`)]:\n existingFieldValueData || newFieldValueData,\n };\n};\n\nconst getAllInitialFieldValues = (fields, fieldValues = []) =>\n getNonSystemFields(fields).map(field =>\n getInitialFieldValue({ field, fieldValues })\n );\n\nconst mergeInitialValues = ({ initialValues, fields }) => {\n const initialValue = mergeAll([\n initialValues,\n ...getAllInitialFieldValues(fields, initialValues?.fieldValues),\n ]);\n\n return omit([\"fieldValues\"], initialValue);\n};\n\nconst getNonSystemFields = fields => filterBy({ isSystem: false }, fields);\n\nconst escapeString = string =>\n string.replace(/[^a-zA-Z0-9_]/g, match => {\n const charCode = match.charCodeAt(0);\n\n return `_${charCode}_`;\n });\n\nconst neetoFieldsUtils = { mergeInitialValues, transformValues };\n\nexport {\n neetoFieldsUtils,\n getInitialFieldValue,\n getFieldInput,\n getNonSystemFields,\n escapeString,\n};\n","import React from \"react\";\n\nimport { withT } from \"neetocommons/react-utils\";\nimport { Typography } from \"neetoui\";\n\nimport { getFieldInput, getNonSystemFields } from \"./utils\";\n\nconst FieldInputs = withT(\n ({\n t,\n customComponents = {},\n fields,\n formRef,\n disabled,\n isRequiredColumnName,\n }) =>\n getNonSystemFields(fields).map(field => {\n const Field = getFieldInput({ field, customComponents });\n\n if (Field) {\n return (\n <Field\n key={field.id}\n {...{ ...field, disabled, formRef, isRequiredColumnName }}\n />\n );\n }\n\n return (\n <Typography key={field.id} style=\"body2\">\n {t(\"neetoFields.messages.invalidKind\")}\n </Typography>\n );\n })\n);\nexport default FieldInputs;\n","import axios from \"axios\";\nimport { buildUrl } from \"neetocommons/utils\";\n\nimport {\n DEPENDENCIES_URL,\n FIELDS_REORDER_URL,\n FIELDS_URL,\n FIELD_URL,\n} from \"src/constants\";\n\nconst fieldUrl = fieldId => buildUrl(FIELD_URL, { fieldId });\nconst dependenciesUrl = fieldId => buildUrl(DEPENDENCIES_URL, { fieldId });\n\nconst fetch = ({ resourceType, ownerId, state, filters, pageProps = {} }) =>\n axios.get(FIELDS_URL, {\n params: { resourceType, ownerId, state, filters, ...pageProps },\n });\n\nconst create = payload => axios.post(FIELDS_URL, payload);\n\nconst show = ({ fieldId, ownerId }) =>\n axios.get(fieldUrl(fieldId), { params: { ownerId } });\n\nconst destroy = ({ fieldId, ownerId }) =>\n axios.delete(fieldUrl(fieldId), { data: { ownerId } });\n\nconst update = ({ fieldId, payload }) => axios.put(fieldUrl(fieldId), payload);\n\nconst reorder = payload => axios.patch(FIELDS_REORDER_URL, payload);\n\nconst dependencies = ({ fieldId, ownerId }) =>\n axios.get(dependenciesUrl(fieldId), { params: { ownerId } });\n\nconst fieldsApi = {\n fetch,\n create,\n show,\n destroy,\n update,\n reorder,\n dependencies,\n};\n\nexport default fieldsApi;\n","const QUERY_KEYS = {\n FIELDS: \"fields\",\n FIELD_VALUES: \"field_values\",\n CONFIGS: \"configurations\",\n DEPENDENCIES: \"dependencies\",\n};\n\nconst DEFAULT_STALE_TIME = 3_600_000; // 1 hour\n\nexport { QUERY_KEYS, DEFAULT_STALE_TIME };\n","import { useQuery } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport fieldsApi from \"apis/fields\";\nimport { DEFAULT_STALE_TIME, QUERY_KEYS } from \"src/constants/query\";\n\nconst { FIELDS, DEPENDENCIES } = QUERY_KEYS;\n\nexport const useFetchFields = ({ prefixQueryKeys = [], ...params }, options) =>\n useQuery({\n queryKey: [FIELDS, ...prefixQueryKeys, params],\n queryFn: () => fieldsApi.fetch(params),\n staleTime: DEFAULT_STALE_TIME,\n ...options,\n });\n\nexport const useCreateField = options =>\n useMutationWithInvalidation(fieldsApi.create, {\n keysToInvalidate: [[FIELDS]],\n ...options,\n });\n\nexport const useShowField = ({ fieldId, ownerId }, options) =>\n useQuery({\n queryKey: [FIELDS, fieldId],\n queryFn: () => fieldsApi.show({ fieldId, ownerId }),\n ...options,\n });\n\nexport const useFetchDependencies = ({ fieldId, ownerId }, options) =>\n useQuery({\n queryKey: [DEPENDENCIES, fieldId],\n queryFn: () => fieldsApi.dependencies({ fieldId, ownerId }),\n ...options,\n });\n\nexport const useUpdateField = options =>\n useMutationWithInvalidation(fieldsApi.update, {\n keysToInvalidate: [[FIELDS]],\n ...options,\n });\n\nexport const useDestroyField = options =>\n useMutationWithInvalidation(fieldsApi.destroy, {\n keysToInvalidate: [[FIELDS]],\n ...options,\n });\n\nexport const useReorderFields = () =>\n useMutationWithInvalidation(fieldsApi.reorder, {\n keysToInvalidate: [[FIELDS]],\n });\n","import React from \"react\";\n\nimport { filterBy } from \"neetocist\";\nimport { Pane } from \"neetoui\";\nimport { ActionBlock } from \"neetoui/formik\";\nimport { isEmpty, omit, pick, values } from \"ramda\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport * as yup from \"yup\";\n\nimport {\n ADDITIONAL_DATA_NEEDED_FIELD_KINDS,\n FIELD_KINDS,\n BASIC_FIELD_FORM_VALIDATIONS,\n} from \"./constants\";\n\nconst arrangeOptionsDisplayOrder = options =>\n options.map((option, index) => ({ ...option, displayOrder: index }));\n\nexport const buildPayload = ({\n formValues,\n resourceType = \"\",\n ownerId = \"\",\n}) => {\n const kind = formValues.kind.value;\n const name = formValues.name.trim();\n\n return {\n ownerId: isEmpty(ownerId) ? undefined : ownerId,\n field: {\n ...omit(\n [\"createdAt\", \"id\", \"ownerId\", \"ownerType\", \"updatedAt\"],\n formValues\n ),\n kind,\n name,\n resourceType: isEmpty(resourceType) ? undefined : resourceType,\n data: isDropdown(kind)\n ? arrangeOptionsDisplayOrder(formValues.data)\n : formValues.data,\n },\n };\n};\n\nexport const isDropdown = kind =>\n [\"single_option\", \"multi_option\"].includes(kind);\n\nexport const isRegex = kind => kind === \"regex\";\n\nexport const isAdditionalDataNeeded = kind =>\n ADDITIONAL_DATA_NEEDED_FIELD_KINDS.includes(kind);\n\nexport const getPermittedKinds = ({ allowedKinds, selectedKind }) => {\n const filteredKinds = pick(allowedKinds, FIELD_KINDS);\n\n return filterBy({ group: selectedKind?.group }, values(filteredKinds));\n};\n\nexport const generateValidationSchema = additionalValidations =>\n yup\n .object()\n .shape({ ...BASIC_FIELD_FORM_VALIDATIONS, ...additionalValidations });\n\nexport const renderFormFooter = ({ onClose, loading }) => (\n <Pane.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onClose }}\n isSubmitting={loading}\n />\n </Pane.Footer>\n);\n\nexport const getDefaultOption = () => ({\n id: uuidv4(),\n label: \"\",\n displayOrder: 0,\n});\n","import { t } from \"i18next\";\nimport { toLabelAndValue } from \"neetocist\";\nimport * as yup from \"yup\";\n\nimport { isDropdown, isRegex } from \"./utils\";\n\nconst PERMITTED_REGEX_PATTERN = /^\\/.*\\/[igmsyu]*$/;\nconst ADVANCED_REGEX_ASSERTION_PATTERN =\n /\\(\\?=[^)]*\\)|\\(\\?![^)]*\\)|\\(\\?<=[^)]*\\)|\\(\\?<![^)]*\\)/;\n\nconst regexValidationSchema = yup.object().shape({\n condition: yup\n .string()\n .required(t(\"neetoFields.validations.regexConditionIsRequired\"))\n .matches(\n PERMITTED_REGEX_PATTERN,\n t(\"neetoFields.validations.invalidRegexPattern\")\n )\n .test({\n name: \"test-regex-is-advanced\",\n message:\n t(\"neetoFields.validations.advancedRegexAssertionsNotSupported\") || \"\",\n test: value => !ADVANCED_REGEX_ASSERTION_PATTERN.test(value),\n })\n .test({\n name: \"test-regex-condition-pattern\",\n message: t(\"neetoFields.validations.invalidRegexPattern\") || \"\",\n test: value => {\n try {\n const lastIndex = value.lastIndexOf(\"/\");\n const condition = value.substring(1, lastIndex);\n // Evaluating the regex to check if it is valid\n new RegExp(condition);\n \"\".search(condition);\n\n return true;\n } catch {\n return false;\n }\n },\n }),\n helpMessage: yup\n .string()\n .required(t(\"neetoFields.validations.regexHelpMessageIsRequired\")),\n});\n\nconst dropDownOptionsValidationSchema = yup\n .array()\n .of(\n yup.object().shape({\n label: yup\n .string()\n .trim()\n .required(t(\"neetoFields.validations.fieldOptionIsRequired\")),\n displayOrder: yup.number(),\n })\n )\n .min(1, t(\"neetoFields.validations.atLeastFieldOptionIsRequired\"));\n\nexport const FIELD_KINDS = {\n text: { value: \"text\", label: t(\"neetoFields.fields.kinds.text\"), group: 1 },\n number: {\n value: \"number\",\n label: t(\"neetoFields.fields.kinds.number\"),\n group: 2,\n },\n monetary: {\n value: \"monetary\",\n label: t(\"neetoFields.fields.kinds.monetary\"),\n group: 2,\n },\n single_option: {\n value: \"single_option\",\n label: t(\"neetoFields.fields.kinds.singleOption\"),\n group: 12,\n },\n multi_option: {\n value: \"multi_option\",\n label: t(\"neetoFields.fields.kinds.multiOption\"),\n group: 3,\n },\n date: { value: \"date\", label: t(\"neetoFields.fields.kinds.date\"), group: 4 },\n time: { value: \"time\", label: t(\"neetoFields.fields.kinds.time\"), group: 5 },\n date_range: {\n value: \"date_range\",\n label: t(\"neetoFields.fields.kinds.dateRange\"),\n group: 6,\n },\n time_range: {\n value: \"time_range\",\n label: t(\"neetoFields.fields.kinds.timeRange\"),\n group: 7,\n },\n text_area: {\n value: \"text_area\",\n label: t(\"neetoFields.fields.kinds.textArea\"),\n group: 1,\n },\n textarea: {\n value: \"textarea\",\n label: t(\"neetoFields.fields.kinds.textarea\"),\n group: 1,\n },\n person: {\n value: \"person\",\n label: t(\"neetoFields.fields.kinds.person\"),\n group: 8,\n },\n checkbox: {\n value: \"checkbox\",\n label: t(\"neetoFields.fields.kinds.checkbox\"),\n group: 9,\n },\n regex: {\n value: \"regex\",\n label: t(\"neetoFields.fields.kinds.regex\"),\n group: 10,\n },\n integer: {\n value: \"integer\",\n label: t(\"neetoFields.fields.kinds.integer\"),\n group: 2,\n },\n decimal: {\n value: \"decimal\",\n label: t(\"neetoFields.fields.kinds.decimal\"),\n group: 2,\n },\n datetime: {\n value: \"datetime\",\n label: t(\"neetoFields.fields.kinds.datetime\"),\n group: 11,\n },\n};\n\nexport const ADDITIONAL_DATA_NEEDED_FIELD_KINDS = [\n \"single_option\",\n \"multi_option\",\n \"regex\",\n];\n\nexport const INITIAL_FIELDS = {\n name: \"\",\n kind: toLabelAndValue(\"text\"),\n isRequired: false,\n};\n\nexport const DEFAULT_REGEX_DATA = { condition: \"\", helpMessage: \"\" };\n\nexport const BASIC_FIELD_FORM_VALIDATIONS = {\n name: yup\n .string()\n .trim()\n .required(t(\"neetoFields.validations.fieldNameIsRequired\")),\n isRequired: yup.boolean(),\n kind: yup\n .object()\n .shape({ value: yup.string().required() })\n .required(t(\"neetoFields.validations.kindIsRequired\")),\n data: yup\n .mixed()\n .when(\"kind\", {\n is: kind => isRegex(kind?.value),\n then: regexValidationSchema,\n })\n .when(\"kind\", {\n is: kind => isDropdown(kind?.value),\n then: dropDownOptionsValidationSchema,\n }),\n};\n","import React from \"react\";\n\nimport { FieldArray, useFormikContext } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { isMetaKeyPressed } from \"neetocommons/react-utils\";\nimport { Delete } from \"neetoicons\";\nimport { Label, Button } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getDefaultOption, isDropdown, isRegex } from \"./utils\";\n\nconst AdditionalInputs = () => {\n const { t } = useTranslation();\n\n const {\n values: { kind, data: options, isSystem },\n } = useFormikContext();\n\n const removeOption = (arrayHelpers, index) => arrayHelpers.remove(index);\n\n const addOption = arrayHelpers => arrayHelpers.push(getDefaultOption());\n\n const handleKeyDown = (event, arrayHelpers) => {\n if (event.key !== \"Enter\" || isMetaKeyPressed(event)) return;\n\n const form = event.target.form;\n const inputs = [\n ...form.querySelectorAll(\"#neeto-fields-dropdown-options-wrapper input\"),\n ];\n\n const currentIndex = inputs.indexOf(event.target);\n\n currentIndex >= inputs.length - 1\n ? addOption(arrayHelpers)\n : inputs[currentIndex + 1]?.focus();\n\n event.preventDefault();\n event.stopPropagation();\n };\n\n if (isDropdown(kind.value)) {\n return (\n <FieldArray name=\"data\">\n {arrayHelpers => (\n <div\n className=\"flex w-full flex-col gap-y-4\"\n id=\"neeto-fields-dropdown-options-wrapper\"\n >\n <Label required>{t(\"neetoFields.titles.dropdownOptions\")}</Label>\n {isNotEmpty(options) &&\n Array.isArray(options) &&\n options.map((_, index) => (\n <div className=\"flex w-full space-x-3\" key={index}>\n <div className=\"w-full\">\n <Input\n autoFocus\n data-cy={`neeto-fields-dropdown-option-${index}`}\n disabled={isSystem}\n name={`data.${index}.label`}\n placeholder={t(\"neetoFields.placeholders.enterAnOption\")}\n suffix={\n options.length > 1 && (\n <Button\n data-cy={`neeto-fields-dropdown-option-delete-${index}`}\n icon={Delete}\n style=\"text\"\n onClick={() => removeOption(arrayHelpers, index)}\n />\n )\n }\n onKeyDown={event => handleKeyDown(event, arrayHelpers)}\n />\n </div>\n </div>\n ))}\n <Button\n fullWidth\n className=\"mb-6 border-dashed text-xs uppercase\"\n data-cy=\"neeto-fields-add-more-option-button\"\n label={t(\"neetoFields.labels.addAnotherOption\")}\n style=\"secondary\"\n onClick={() => addOption(arrayHelpers)}\n />\n </div>\n )}\n </FieldArray>\n );\n } else if (isRegex(kind.value)) {\n return (\n <div className=\"flex w-full flex-col gap-y-4\">\n <Label required>{t(\"neetoFields.titles.regexOptions\")}</Label>\n <Input\n disabled={isSystem}\n label={t(\"neetoFields.labels.regexCondition\")}\n name=\"data.condition\"\n placeholder={t(\"neetoFields.placeholders.regexExample\")}\n />\n <Input\n disabled={isSystem}\n label={t(\"neetoFields.labels.helpMessage\")}\n name=\"data.helpMessage\"\n placeholder={t(\"neetoFields.placeholders.enterErrorMessage\")}\n />\n </div>\n );\n }\n\n return null;\n};\n\nexport default AdditionalInputs;\n","import React from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { Label, Pane, Typography } from \"neetoui\";\nimport { Input, Select, Switch } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport AdditionalInputs from \"./AdditionalInputs\";\nimport { DEFAULT_REGEX_DATA } from \"./constants\";\nimport {\n getDefaultOption,\n isAdditionalDataNeeded,\n isDropdown,\n isRegex,\n} from \"./utils\";\n\n/** @type {React.FC<import(\"types\").FieldFormProps>} */\n\nconst FieldForm = ({\n chosenKind,\n kindSelectOptions = [],\n isSystem = false,\n hideRequiredSwitch = false,\n children,\n initialFocusField,\n}) => {\n const { t } = useTranslation();\n\n const {\n values: { data: options },\n setFieldValue,\n } = useFormikContext();\n\n const handleKindChange = kind => {\n setFieldValue(\"kind\", kind);\n if (isDropdown(kind.value)) {\n setFieldValue(\"data\", options ?? [getDefaultOption()]);\n } else if (isRegex(kind.value)) {\n setFieldValue(\"data\", options ?? DEFAULT_REGEX_DATA);\n }\n };\n\n return (\n <Pane.Body>\n <div className=\"w-full space-y-4\">\n <Input\n required\n data-cy=\"name-text-field\"\n disabled={isSystem}\n label={t(\"neetoFields.labels.fieldName\")}\n name=\"name\"\n placeholder={t(\"neetoFields.placeholders.enterFieldName\")}\n ref={initialFocusField}\n />\n <Select\n isSearchable\n isDisabled={isSystem}\n label={t(\"neetoFields.labels.fieldKind\")}\n name=\"kind\"\n options={kindSelectOptions}\n onChange={handleKindChange}\n />\n {isAdditionalDataNeeded(chosenKind) && <AdditionalInputs />}\n {!hideRequiredSwitch && (\n <Label\n className=\"flex items-center gap-2\"\n data-cy=\"is-required-switch-container\"\n >\n <Switch data-cy=\"is-required-switch\" name=\"isRequired\" />\n <Typography\n className=\"leading-4\"\n component=\"span\"\n data-cy=\"is-required-switch-label\"\n style=\"body2\"\n >\n {t(\"neetoFields.labels.isRequired\")}\n </Typography>\n </Label>\n )}\n {children}\n </div>\n </Pane.Body>\n );\n};\n\nexport default FieldForm;\n","import React from \"react\";\n\nimport { Pane, Typography } from \"neetoui\";\nimport { Form } from \"neetoui/formik\";\nimport { pick, values } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ALL_KINDS } from \"components/FieldsDashBoard/constants\";\nimport { useCreateField } from \"hooks/reactQuery/useFieldsApi\";\n\nimport { FIELD_KINDS, INITIAL_FIELDS } from \"./constants\";\nimport FieldForm from \"./FieldForm\";\nimport {\n buildPayload,\n generateValidationSchema,\n renderFormFooter,\n} from \"./utils\";\n\n/** @type {React.FC<import(\"types\").AddProps>} */\n\nconst Add = ({\n resourceType,\n allowedKinds = ALL_KINDS,\n ownerId,\n additionalValidations,\n initialValues,\n onClose,\n onMutationSuccess,\n ...props\n}) => {\n const { t } = useTranslation();\n\n const { mutate: createField, isPending: isSubmitting } = useCreateField({\n onSuccess: onMutationSuccess,\n });\n\n const filteredKinds = values(pick(allowedKinds, FIELD_KINDS));\n\n const handleSubmit = formValues => {\n const payload = buildPayload({ formValues, resourceType, ownerId });\n createField(payload, { onSuccess: onClose });\n };\n\n return (\n <>\n <Pane.Header>\n <Typography data-cy=\"add-pane-header\" style=\"h2\">\n {t(\"neetoFields.titles.addField\")}\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n initialValues: { ...initialValues, ...INITIAL_FIELDS },\n validationSchema: generateValidationSchema(additionalValidations),\n onSubmit: handleSubmit,\n }}\n >\n {({ values: { kind } }) => (\n <>\n <FieldForm\n chosenKind={kind.value}\n kindSelectOptions={filteredKinds}\n {...props}\n />\n {renderFormFooter({ onClose, loading: isSubmitting })}\n </>\n )}\n </Form>\n </>\n );\n};\n\nexport default Add;\n","import React from \"react\";\n\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport { Pane, Typography } from \"neetoui\";\nimport { Form } from \"neetoui/formik\";\nimport { assoc } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ALL_KINDS } from \"components/FieldsDashBoard/constants\";\nimport { useShowField, useUpdateField } from \"hooks/reactQuery/useFieldsApi\";\n\nimport { FIELD_KINDS } from \"./constants\";\nimport FieldForm from \"./FieldForm\";\nimport {\n buildPayload,\n generateValidationSchema,\n getPermittedKinds,\n renderFormFooter,\n} from \"./utils\";\n\n/** @type {React.FC<import(\"types\").EditProps>} */\n\nconst Edit = ({\n fieldId,\n allowedKinds = ALL_KINDS,\n ownerId,\n additionalValidations = {},\n initialValues = {},\n onClose,\n onMutationSuccess,\n ...props\n}) => {\n const { t } = useTranslation();\n\n const { data: { field = {} } = {}, isLoading } = useShowField({\n fieldId,\n ownerId,\n });\n\n const { mutate: updateField, isPending: isSubmitting } = useUpdateField({\n onSuccess: (...args) => {\n onMutationSuccess?.(...args);\n onClose();\n },\n });\n\n const handleSubmit = formValues => {\n const payload = buildPayload({ formValues, ownerId });\n updateField({ fieldId, payload });\n };\n\n return (\n <>\n <Pane.Header>\n <Typography data-cy=\"edit-pane-header\" style=\"h2\">\n {t(\"neetoFields.titles.editField\")}\n </Typography>\n </Pane.Header>\n {isLoading ? (\n <PageLoader />\n ) : (\n <Form\n formikProps={{\n initialValues: {\n ...initialValues,\n ...assoc(\"kind\", FIELD_KINDS[field.kind], field),\n },\n validationSchema: generateValidationSchema(additionalValidations),\n enableReinitialize: true,\n onSubmit: handleSubmit,\n }}\n >\n {({ values: { kind } }) => {\n const permittedKinds = getPermittedKinds({\n allowedKinds,\n selectedKind: kind,\n });\n\n return (\n <>\n <FieldForm\n chosenKind={kind?.value}\n isSystem={field.isSystem}\n kindSelectOptions={permittedKinds}\n {...props}\n />\n {renderFormFooter({ onClose, loading: isSubmitting })}\n </>\n );\n }}\n </Form>\n )}\n </>\n );\n};\n\nexport default Edit;\n","import React, { useRef } from \"react\";\n\nimport { Pane } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\n\nimport Add from \"./Add\";\nimport Edit from \"./Edit\";\n\n/** @type {React.FC<import(\"types\").FieldsPaneProps>} */\n\nconst FieldsPane = ({ isOpen, selectedField = {}, ...props }) => {\n const initialFocusField = useRef(null);\n\n return (\n <Pane\n {...{ isOpen }}\n initialFocusRef={initialFocusField}\n onClose={props.onClose}\n >\n {isEmpty(selectedField) ? (\n <Add {...{ ...props, initialFocusField }} />\n ) : (\n <Edit\n fieldId={selectedField?.id}\n {...{ ...props, initialFocusField }}\n />\n )}\n </Pane>\n );\n};\n\nexport default FieldsPane;\n","/* global define */\n\n(function (root, pluralize) {\n /* istanbul ignore else */\n if (typeof require === 'function' && typeof exports === 'object' && typeof module === 'object') {\n // Node.\n module.exports = pluralize();\n } else if (typeof define === 'function' && define.amd) {\n // AMD, registers as an anonymous module.\n define(function () {\n return pluralize();\n });\n } else {\n // Browser global.\n root.pluralize = pluralize();\n }\n})(this, function () {\n // Rule storage - pluralize and singularize need to be run sequentially,\n // while other rules can be optimized using an object for instant lookups.\n var pluralRules = [];\n var singularRules = [];\n var uncountables = {};\n var irregularPlurals = {};\n var irregularSingles = {};\n\n /**\n * Sanitize a pluralization rule to a usable regular expression.\n *\n * @param {(RegExp|string)} rule\n * @return {RegExp}\n */\n function sanitizeRule (rule) {\n if (typeof rule === 'string') {\n return new RegExp('^' + rule + '$', 'i');\n }\n\n return rule;\n }\n\n /**\n * Pass in a word token to produce a function that can replicate the case on\n * another word.\n *\n * @param {string} word\n * @param {string} token\n * @return {Function}\n */\n function restoreCase (word, token) {\n // Tokens are an exact match.\n if (word === token) return token;\n\n // Lower cased words. E.g. \"hello\".\n if (word === word.toLowerCase()) return token.toLowerCase();\n\n // Upper cased words. E.g. \"WHISKY\".\n if (word === word.toUpperCase()) return token.toUpperCase();\n\n // Title cased words. E.g. \"Title\".\n if (word[0] === word[0].toUpperCase()) {\n return token.charAt(0).toUpperCase() + token.substr(1).toLowerCase();\n }\n\n // Lower cased words. E.g. \"test\".\n return token.toLowerCase();\n }\n\n /**\n * Interpolate a regexp string.\n *\n * @param {string} str\n * @param {Array} args\n * @return {string}\n */\n function interpolate (str, args) {\n return str.replace(/\\$(\\d{1,2})/g, function (match, index) {\n return args[index] || '';\n });\n }\n\n /**\n * Replace a word using a rule.\n *\n * @param {string} word\n * @param {Array} rule\n * @return {string}\n */\n function replace (word, rule) {\n return word.replace(rule[0], function (match, index) {\n var result = interpolate(rule[1], arguments);\n\n if (match === '') {\n return restoreCase(word[index - 1], result);\n }\n\n return restoreCase(match, result);\n });\n }\n\n /**\n * Sanitize a word by passing in the word and sanitization rules.\n *\n * @param {string} token\n * @param {string} word\n * @param {Array} rules\n * @return {string}\n */\n function sanitizeWord (token, word, rules) {\n // Empty string or doesn't need fixing.\n if (!token.length || uncountables.hasOwnProperty(token)) {\n return word;\n }\n\n var len = rules.length;\n\n // Iterate over the sanitization rules and use the first one to match.\n while (len--) {\n var rule = rules[len];\n\n if (rule[0].test(word)) return replace(word, rule);\n }\n\n return word;\n }\n\n /**\n * Replace a word with the updated word.\n *\n * @param {Object} replaceMap\n * @param {Object} keepMap\n * @param {Array} rules\n * @return {Function}\n */\n function replaceWord (replaceMap, keepMap, rules) {\n return function (word) {\n // Get the correct token and case restoration functions.\n var token = word.toLowerCase();\n\n // Check against the keep object map.\n if (keepMap.hasOwnProperty(token)) {\n return restoreCase(word, token);\n }\n\n // Check against the replacement map for a direct word replacement.\n if (replaceMap.hasOwnProperty(token)) {\n return restoreCase(word, replaceMap[token]);\n }\n\n // Run all the rules against the word.\n return sanitizeWord(token, word, rules);\n };\n }\n\n /**\n * Check if a word is part of the map.\n */\n function checkWord (replaceMap, keepMap, rules, bool) {\n return function (word) {\n var token = word.toLowerCase();\n\n if (keepMap.hasOwnProperty(token)) return true;\n if (replaceMap.hasOwnProperty(token)) return false;\n\n return sanitizeWord(token, token, rules) === token;\n };\n }\n\n /**\n * Pluralize or singularize a word based on the passed in count.\n *\n * @param {string} word The word to pluralize\n * @param {number} count How many of the word exist\n * @param {boolean} inclusive Whether to prefix with the number (e.g. 3 ducks)\n * @return {string}\n */\n function pluralize (word, count, inclusive) {\n var pluralized = count === 1\n ? pluralize.singular(word) : pluralize.plural(word);\n\n return (inclusive ? count + ' ' : '') + pluralized;\n }\n\n /**\n * Pluralize a word.\n *\n * @type {Function}\n */\n pluralize.plural = replaceWord(\n irregularSingles, irregularPlurals, pluralRules\n );\n\n /**\n * Check if a word is plural.\n *\n * @type {Function}\n */\n pluralize.isPlural = checkWord(\n irregularSingles, irregularPlurals, pluralRules\n );\n\n /**\n * Singularize a word.\n *\n * @type {Function}\n */\n pluralize.singular = replaceWord(\n irregularPlurals, irregularSingles, singularRules\n );\n\n /**\n * Check if a word is singular.\n *\n * @type {Function}\n */\n pluralize.isSingular = checkWord(\n irregularPlurals, irregularSingles, singularRules\n );\n\n /**\n * Add a pluralization rule to the collection.\n *\n * @param {(string|RegExp)} rule\n * @param {string} replacement\n */\n pluralize.addPluralRule = function (rule, replacement) {\n pluralRules.push([sanitizeRule(rule), replacement]);\n };\n\n /**\n * Add a singularization rule to the collection.\n *\n * @param {(string|RegExp)} rule\n * @param {string} replacement\n */\n pluralize.addSingularRule = function (rule, replacement) {\n singularRules.push([sanitizeRule(rule), replacement]);\n };\n\n /**\n * Add an uncountable word rule.\n *\n * @param {(string|RegExp)} word\n */\n pluralize.addUncountableRule = function (word) {\n if (typeof word === 'string') {\n uncountables[word.toLowerCase()] = true;\n return;\n }\n\n // Set singular and plural references for the word.\n pluralize.addPluralRule(word, '$0');\n pluralize.addSingularRule(word, '$0');\n };\n\n /**\n * Add an irregular word definition.\n *\n * @param {string} single\n * @param {string} plural\n */\n pluralize.addIrregularRule = function (single, plural) {\n plural = plural.toLowerCase();\n single = single.toLowerCase();\n\n irregularSingles[single] = plural;\n irregularPlurals[plural] = single;\n };\n\n /**\n * Irregular rules.\n */\n [\n // Pronouns.\n ['I', 'we'],\n ['me', 'us'],\n ['he', 'they'],\n ['she', 'they'],\n ['them', 'them'],\n ['myself', 'ourselves'],\n ['yourself', 'yourselves'],\n ['itself', 'themselves'],\n ['herself', 'themselves'],\n ['himself', 'themselves'],\n ['themself', 'themselves'],\n ['is', 'are'],\n ['was', 'were'],\n ['has', 'have'],\n ['this', 'these'],\n ['that', 'those'],\n // Words ending in with a consonant and `o`.\n ['echo', 'echoes'],\n ['dingo', 'dingoes'],\n ['volcano', 'volcanoes'],\n ['tornado', 'tornadoes'],\n ['torpedo', 'torpedoes'],\n // Ends with `us`.\n ['genus', 'genera'],\n ['viscus', 'viscera'],\n // Ends with `ma`.\n ['stigma', 'stigmata'],\n ['stoma', 'stomata'],\n ['dogma', 'dogmata'],\n ['lemma', 'lemmata'],\n ['schema', 'schemata'],\n ['anathema', 'anathemata'],\n // Other irregular rules.\n ['ox', 'oxen'],\n ['axe', 'axes'],\n ['die', 'dice'],\n ['yes', 'yeses'],\n ['foot', 'feet'],\n ['eave', 'eaves'],\n ['goose', 'geese'],\n ['tooth', 'teeth'],\n ['quiz', 'quizzes'],\n ['human', 'humans'],\n ['proof', 'proofs'],\n ['carve', 'carves'],\n ['valve', 'valves'],\n ['looey', 'looies'],\n ['thief', 'thieves'],\n ['groove', 'grooves'],\n ['pickaxe', 'pickaxes'],\n ['passerby', 'passersby']\n ].forEach(function (rule) {\n return pluralize.addIrregularRule(rule[0], rule[1]);\n });\n\n /**\n * Pluralization rules.\n */\n [\n [/s?$/i, 's'],\n [/[^\\u0000-\\u007F]$/i, '$0'],\n [/([^aeiou]ese)$/i, '$1'],\n [/(ax|test)is$/i, '$1es'],\n [/(alias|[^aou]us|t[lm]as|gas|ris)$/i, '$1es'],\n [/(e[mn]u)s?$/i, '$1s'],\n [/([^l]ias|[aeiou]las|[ejzr]as|[iu]am)$/i, '$1'],\n [/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i, '$1i'],\n [/(alumn|alg|vertebr)(?:a|ae)$/i, '$1ae'],\n [/(seraph|cherub)(?:im)?$/i, '$1im'],\n [/(her|at|gr)o$/i, '$1oes'],\n [/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|automat|quor)(?:a|um)$/i, '$1a'],\n [/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)(?:a|on)$/i, '$1a'],\n [/sis$/i, 'ses'],\n [/(?:(kni|wi|li)fe|(ar|l|ea|eo|oa|hoo)f)$/i, '$1$2ves'],\n [/([^aeiouy]|qu)y$/i, '$1ies'],\n [/([^ch][ieo][ln])ey$/i, '$1ies'],\n [/(x|ch|ss|sh|zz)$/i, '$1es'],\n [/(matr|cod|mur|sil|vert|ind|append)(?:ix|ex)$/i, '$1ices'],\n [/\\b((?:tit)?m|l)(?:ice|ouse)$/i, '$1ice'],\n [/(pe)(?:rson|ople)$/i, '$1ople'],\n [/(child)(?:ren)?$/i, '$1ren'],\n [/eaux$/i, '$0'],\n [/m[ae]n$/i, 'men'],\n ['thou', 'you']\n ].forEach(function (rule) {\n return pluralize.addPluralRule(rule[0], rule[1]);\n });\n\n /**\n * Singularization rules.\n */\n [\n [/s$/i, ''],\n [/(ss)$/i, '$1'],\n [/(wi|kni|(?:after|half|high|low|mid|non|night|[^\\w]|^)li)ves$/i, '$1fe'],\n [/(ar|(?:wo|[ae])l|[eo][ao])ves$/i, '$1f'],\n [/ies$/i, 'y'],\n [/\\b([pl]|zomb|(?:neck|cross)?t|coll|faer|food|gen|goon|group|lass|talk|goal|cut)ies$/i, '$1ie'],\n [/\\b(mon|smil)ies$/i, '$1ey'],\n [/\\b((?:tit)?m|l)ice$/i, '$1ouse'],\n [/(seraph|cherub)im$/i, '$1'],\n [/(x|ch|ss|sh|zz|tto|go|cho|alias|[^aou]us|t[lm]as|gas|(?:her|at|gr)o|[aeiou]ris)(?:es)?$/i, '$1'],\n [/(analy|diagno|parenthe|progno|synop|the|empha|cri|ne)(?:sis|ses)$/i, '$1sis'],\n [/(movie|twelve|abuse|e[mn]u)s$/i, '$1'],\n [/(test)(?:is|es)$/i, '$1is'],\n [/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i, '$1us'],\n [/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|quor)a$/i, '$1um'],\n [/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)a$/i, '$1on'],\n [/(alumn|alg|vertebr)ae$/i, '$1a'],\n [/(cod|mur|sil|vert|ind)ices$/i, '$1ex'],\n [/(matr|append)ices$/i, '$1ix'],\n [/(pe)(rson|ople)$/i, '$1rson'],\n [/(child)ren$/i, '$1'],\n [/(eau)x?$/i, '$1'],\n [/men$/i, 'man']\n ].forEach(function (rule) {\n return pluralize.addSingularRule(rule[0], rule[1]);\n });\n\n /**\n * Uncountable rules.\n */\n [\n // Singular words with no plurals.\n 'adulthood',\n 'advice',\n 'agenda',\n 'aid',\n 'aircraft',\n 'alcohol',\n 'ammo',\n 'analytics',\n 'anime',\n 'athletics',\n 'audio',\n 'bison',\n 'blood',\n 'bream',\n 'buffalo',\n 'butter',\n 'carp',\n 'cash',\n 'chassis',\n 'chess',\n 'clothing',\n 'cod',\n 'commerce',\n 'cooperation',\n 'corps',\n 'debris',\n 'diabetes',\n 'digestion',\n 'elk',\n 'energy',\n 'equipment',\n 'excretion',\n 'expertise',\n 'firmware',\n 'flounder',\n 'fun',\n 'gallows',\n 'garbage',\n 'graffiti',\n 'hardware',\n 'headquarters',\n 'health',\n 'herpes',\n 'highjinks',\n 'homework',\n 'housework',\n 'information',\n 'jeans',\n 'justice',\n 'kudos',\n 'labour',\n 'literature',\n 'machinery',\n 'mackerel',\n 'mail',\n 'media',\n 'mews',\n 'moose',\n 'music',\n 'mud',\n 'manga',\n 'news',\n 'only',\n 'personnel',\n 'pike',\n 'plankton',\n 'pliers',\n 'police',\n 'pollution',\n 'premises',\n 'rain',\n 'research',\n 'rice',\n 'salmon',\n 'scissors',\n 'series',\n 'sewage',\n 'shambles',\n 'shrimp',\n 'software',\n 'species',\n 'staff',\n 'swine',\n 'tennis',\n 'traffic',\n 'transportation',\n 'trout',\n 'tuna',\n 'wealth',\n 'welfare',\n 'whiting',\n 'wildebeest',\n 'wildlife',\n 'you',\n /pok[eé]mon$/i,\n // Regexes.\n /[^aeiou]ese$/i, // \"chinese\", \"japanese\"\n /deer$/i, // \"deer\", \"reindeer\"\n /fish$/i, // \"fish\", \"blowfish\", \"angelfish\"\n /measles$/i,\n /o[iu]s$/i, // \"carnivorous\"\n /pox$/i, // \"chickpox\", \"smallpox\"\n /sheep$/i\n ].forEach(pluralize.addUncountableRule);\n\n return pluralize;\n});\n","import React from \"react\";\n\nimport { t } from \"i18next\";\nimport { findBy, humanize, slugify } from \"neetocist\";\nimport MenuBar from \"neetomolecules/MenuBar\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Tab, Typography } from \"neetoui\";\nimport pluralize from \"pluralize\";\nimport { not } from \"ramda\";\nimport { Trans } from \"react-i18next\";\nimport { Link } from \"react-router-dom\";\n\nimport { DISPLAY_KINDS, FIELD_STATES, MENU_ITEMS } from \"./constants\";\n\nconst getMenuItems = ({ field, onDeleteClick, onEditClick }) => [\n {\n key: MENU_ITEMS.EDIT,\n \"data-cy\": \"edit-menu-item-button\",\n label: t(\"neetoFields.labels.edit\"),\n onClick: () => onEditClick(field),\n },\n {\n key: MENU_ITEMS.DELETE,\n \"data-cy\": \"delete-menu-item-button\",\n label: t(\"neetoFields.labels.delete\"),\n isVisible: not(field.isSystem),\n onClick: () => onDeleteClick(field),\n },\n];\n\nexport const buildDefaultColumns = ({ onDeleteClick, onEditClick }) => [\n {\n key: \"name\",\n dataIndex: \"name\",\n title: t(\"neetoFields.titles.fieldName\"),\n width: 300,\n render: (name, field) => (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Typography style=\"body2\">{name}</Typography>\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\" }}\n menuItems={getMenuItems({ field, onDeleteClick, onEditClick })}\n dropdownButtonProps={{\n className: \"flex-shrink-0\",\n \"data-cy\": \"neeto-fields-options-dropdown\",\n }}\n />\n </div>\n ),\n },\n {\n key: \"kind\",\n dataIndex: \"kind\",\n title: t(\"neetoFields.titles.fieldKind\"),\n render: kind => DISPLAY_KINDS[kind],\n width: 180,\n },\n {\n key: \"isRequired\",\n dataIndex: \"isRequired\",\n title: t(\"neetoFields.titles.required\"),\n width: 140,\n render: boolVal =>\n boolVal ? t(\"neetoFields.common.yes\") : t(\"neetoFields.common.no\"),\n },\n];\n\nexport const renderMenuBarItems = ({\n items,\n isOwnerBased,\n selectedMenu,\n handleBlockClick,\n nameAliases,\n title,\n}) => {\n title = title.toLocaleLowerCase();\n\n if (isOwnerBased) {\n return items.map(item => (\n <MenuBar.Item\n active={selectedMenu === item.id}\n data-cy={`menubar-${slugify(item.name)}-menu-item`}\n key={item.id}\n label={humanize(item.name)}\n description={t(\"neetoFields.messages.manageTitleForResource\", {\n title,\n resource: humanize(item.name),\n })}\n onClick={handleBlockClick({ resource: item.id })}\n />\n ));\n }\n\n return (\n items.length > 1 &&\n items.map(({ label, value }) => {\n const itemLabel = nameAliases[label] || humanize(label);\n\n return (\n <MenuBar.Item\n active={selectedMenu === value}\n data-cy={`neeto-fields-${slugify(itemLabel)}-menu-item`}\n key={label}\n label={itemLabel}\n description={t(\"neetoFields.messages.manageTitleForResource\", {\n title,\n resource: itemLabel,\n })}\n onClick={handleBlockClick({ resource: value })}\n />\n );\n })\n );\n};\n\nexport const renderStateFilterTabs = ({\n selectedState,\n fieldStatesTaxonomy,\n activeFieldsCount,\n inactiveFieldsCount,\n handleBlockClick,\n}) => (\n <Tab className=\"mb-4\">\n <Tab.Item\n active={selectedState === FIELD_STATES.active}\n data-cy=\"menubar-active-block\"\n onClick={handleBlockClick({ state: FIELD_STATES.active })}\n >\n {fieldStatesTaxonomy.active}({activeFieldsCount})\n </Tab.Item>\n <Tab.Item\n active={selectedState === FIELD_STATES.inactive}\n data-cy=\"menubar-inactive-block\"\n onClick={handleBlockClick({ state: FIELD_STATES.inactive })}\n >\n {fieldStatesTaxonomy.inactive}({inactiveFieldsCount})\n </Tab.Item>\n </Tab>\n);\n\nexport const getResourceName = ({\n isOwnerBased,\n menuItems, // menuItems can be array of owners or array of resource types\n selectedVal,\n nameAliases,\n}) => {\n if (isOwnerBased) {\n return findBy({ id: selectedVal }, menuItems)?.name;\n }\n const selectedName = findBy({ value: selectedVal }, menuItems)?.label;\n\n return nameAliases[selectedName] || selectedName;\n};\n\nexport const getDashBoardTitle = ({\n resourceName,\n isSingleResource,\n title,\n}) => {\n const displayTitle = isSingleResource\n ? title\n : t(\"neetoFields.messages.titleForResource\", {\n title,\n resource: resourceName,\n });\n\n return humanize(displayTitle);\n};\n\nexport const renderNoDataHelpText = (title, url) => (\n <Trans\n i18nKey=\"neetoFields.helpTexts.noData\"\n values={{ title }}\n components={{\n a: (\n <Link\n className=\"neeto-ui-text-primary-600 underline\"\n data-cy=\"no-data-help-text-link\"\n target=\"_blank\"\n to={{ pathname: url }}\n />\n ),\n }}\n />\n);\n\nexport const getDeletionConfirmationMessage = ({\n resource,\n fieldName,\n affectedResourcesCount,\n}) =>\n affectedResourcesCount > 0 ? (\n <Trans\n i18nKey=\"neetoFields.messages.confirmDeleteWithCount\"\n values={{\n resource: pluralize(resource, affectedResourcesCount),\n name: fieldName,\n count: affectedResourcesCount,\n }}\n />\n ) : (\n <Trans\n i18nKey=\"neetoFields.messages.confirmDelete\"\n values={{ name: fieldName }}\n />\n );\n","import axios from \"axios\";\n\nimport { CONFIGS_URL } from \"src/constants\";\n\nconst fetchConfigs = () => axios.get(CONFIGS_URL);\n\nconst configsApi = { fetchConfigs };\n\nexport default configsApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport configsApi from \"apis/configs\";\nimport { DEFAULT_STALE_TIME, QUERY_KEYS } from \"src/constants/query\";\n\nexport const useFetchConfigs = options =>\n useQuery({\n queryKey: [QUERY_KEYS.CONFIGS],\n queryFn: configsApi.fetchConfigs,\n staleTime: DEFAULT_STALE_TIME,\n ...options,\n });\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport { keepPreviousData } from \"@tanstack/react-query\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { handleMetaClick, useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { buildFiltersFromURL } from \"neetofilters\";\nimport { any, isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { FIELD_STATES } from \"components/FieldsDashBoard/constants\";\nimport {\n buildDefaultColumns,\n getDashBoardTitle,\n getResourceName,\n renderStateFilterTabs,\n renderMenuBarItems,\n} from \"components/FieldsDashBoard/utils\";\n\nimport { useFetchConfigs } from \"./reactQuery/useConfigsApi\";\nimport { useDestroyField, useFetchFields } from \"./reactQuery/useFieldsApi\";\n\nexport const useFieldsDashboard = ({\n buildColumnData,\n isOwnerBased,\n fieldStatesTaxonomy,\n nameAliases,\n title,\n resources,\n showStateFilter,\n}) => {\n const [isPaneOpen, setIsPaneOpen] = useState(false);\n const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false);\n const [isReorderPaneOpen, setIsReorderPaneOpen] = useState(false);\n const [selectedField, setSelectedField] = useState({});\n const [pageProps, setPageProps] = useState({\n page: DEFAULT_PAGE_INDEX,\n pageSize: DEFAULT_PAGE_SIZE,\n });\n\n const { searchTerm, resource, state } = useQueryParams();\n const history = useHistory();\n const { t } = useTranslation();\n\n const searchKeywordProps = {\n key: \"search_term\",\n node: \"name\",\n value: searchTerm,\n };\n\n const ownerId = isOwnerBased ? resource : undefined;\n\n const {\n data: { owners = [], resourceTypes = [] } = {},\n isLoading: isConfigsLoading,\n } = useFetchConfigs({ enabled: !resources });\n\n const filters = useMemo(\n () => buildFiltersFromURL([searchKeywordProps]),\n [searchTerm]\n );\n\n const fieldParams = {\n resourceType: !isOwnerBased ? resource : undefined,\n ownerId,\n state: state || FIELD_STATES.active,\n pageProps,\n filters,\n };\n\n const {\n data: {\n fields = [],\n count,\n activeFieldsCount,\n inactiveFieldsCount,\n reorderable,\n } = {},\n isLoading: isFieldsLoading,\n isFetching: isFieldsFetching,\n isFetched: isFieldsFetched,\n } = useFetchFields(fieldParams, {\n enabled: !!resource,\n placeholderData: keepPreviousData,\n });\n\n const { mutate: deleteField, isPending: isDeleting } = useDestroyField({\n onSuccess: () => {\n setIsDeleteAlertOpen(false);\n setSelectedField({});\n },\n });\n\n const handleDelete = () => {\n deleteField({ fieldId: selectedField.id, ownerId });\n };\n\n const handleClosePane = () => {\n setIsPaneOpen(false);\n setSelectedField({});\n };\n\n const handleEditButtonClick = field => {\n setSelectedField(field);\n setIsPaneOpen(true);\n };\n\n const handleDeleteButtonClick = field => {\n setSelectedField(field);\n setIsDeleteAlertOpen(true);\n };\n\n const handleAlertClose = () => {\n setIsDeleteAlertOpen(false);\n setSelectedField({});\n };\n\n const handleReorderPaneClose = () => {\n setIsReorderPaneOpen(false);\n };\n\n const defaultColumns = buildDefaultColumns({\n onDeleteClick: handleDeleteButtonClick,\n onEditClick: handleEditButtonClick,\n });\n\n const columnData = buildColumnData({\n onEditClick: handleEditButtonClick,\n onDeleteClick: handleDeleteButtonClick,\n defaultColumns,\n });\n\n const handleBlockClick = params =>\n handleMetaClick(history, buildUrl(\"\", { resource, state, ...params }));\n\n const menuItems = resources || (isOwnerBased ? owners : resourceTypes);\n\n const handleURLWithDefaultValues = () => {\n const queryParams = { resource, state };\n if (!isConfigsLoading && isNil(resource)) {\n queryParams.resource = isOwnerBased\n ? menuItems?.[0]?.id\n : menuItems?.[0]?.value;\n }\n\n if (!isConfigsLoading && isNil(state)) {\n queryParams.state = FIELD_STATES.active;\n }\n\n if (!isConfigsLoading && any(isNil)([resource, state])) {\n history.replace(buildUrl(\"\", queryParams));\n }\n };\n\n const isScreenLoading = isFieldsLoading || isConfigsLoading;\n const showCountSubheader = count > 0 && !showStateFilter;\n\n const searchInputProps = {\n placeholder: t(\"neetoFields.placeholders.searchFields\"),\n className: \"w-44\",\n };\n\n const isSingleResource = menuItems.length === 1;\n const isMenuBarNeeded = !isSingleResource && !isConfigsLoading;\n const isSearchBarNeeded =\n state === FIELD_STATES.active\n ? activeFieldsCount > 0\n : inactiveFieldsCount > 0;\n\n const resourceName = useMemo(\n () =>\n getResourceName({\n isOwnerBased,\n nameAliases,\n menuItems,\n selectedVal: resource,\n }),\n [menuItems, resource]\n );\n\n const headerDisplayTitle = useMemo(\n () => getDashBoardTitle({ resourceName, isSingleResource, title }),\n [state, isSingleResource, resourceName]\n );\n\n const stateFilterTabs = useMemo(\n () =>\n renderStateFilterTabs({\n selectedState: state,\n fieldStatesTaxonomy,\n activeFieldsCount,\n inactiveFieldsCount,\n handleBlockClick,\n }),\n [activeFieldsCount, inactiveFieldsCount, state]\n );\n\n const menuBarItems = useMemo(\n () =>\n renderMenuBarItems({\n isOwnerBased,\n items: menuItems,\n selectedMenu: resource,\n handleBlockClick,\n nameAliases,\n title,\n }),\n [menuItems, resource]\n );\n\n useEffect(() => {\n handleURLWithDefaultValues();\n }, [isConfigsLoading, resources, resource, state]);\n\n useEffect(() => {\n setPageProps({\n page: DEFAULT_PAGE_INDEX,\n pageSize: DEFAULT_PAGE_SIZE,\n });\n }, [searchTerm, state, resource]);\n\n return {\n isPaneOpen,\n setIsPaneOpen,\n isDeleteAlertOpen,\n isReorderPaneOpen,\n setIsReorderPaneOpen,\n fields,\n count,\n columnData,\n selectedField,\n selectedMenu: resource, // resource will be ownerId if showOwnersInMenu is true, else it will be resourceType\n ownerId,\n isDeleting,\n isFieldsFetching,\n isFieldsFetched,\n isScreenLoading,\n isMenuBarNeeded,\n showCountSubheader,\n handleDelete,\n handleAlertClose,\n handleClosePane,\n handleReorderPaneClose,\n searchInputProps: isSearchBarNeeded ? searchInputProps : null,\n searchKeywordProps,\n stateFilterTabs,\n menuBarItems,\n reorderable,\n headerDisplayTitle,\n pageProps,\n setPageProps,\n };\n};\n","import React from \"react\";\n\nimport { isNotEmpty } from \"neetocist\";\nimport { Alert } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useFetchDependencies } from \"hooks/reactQuery/useFieldsApi\";\n\nimport { getDeletionConfirmationMessage } from \"./utils\";\n\nconst DeleteAlert = ({\n selectedField,\n ownerId,\n isDeleteAlertOpen,\n isDeleting,\n resourceTypeName,\n handleAlertClose,\n handleDelete,\n}) => {\n const { t } = useTranslation();\n\n const { data: { affectedResourcesCount } = {} } = useFetchDependencies(\n { fieldId: selectedField.id, ownerId },\n { enabled: isDeleteAlertOpen && isNotEmpty(selectedField) }\n );\n\n return (\n <Alert\n {...{ affectedResourcesCount }}\n isOpen={isDeleteAlertOpen}\n isSubmitting={isDeleting}\n submitButtonLabel={t(\"neetoFields.labels.delete\")}\n title={t(\"neetoFields.titles.deleteField\")}\n message={getDeletionConfirmationMessage({\n resource: resourceTypeName,\n affectedResourcesCount,\n fieldName: selectedField?.name,\n })}\n onClose={handleAlertClose}\n onSubmit={handleDelete}\n />\n );\n};\n\nexport default DeleteAlert;\n","import React from \"react\";\n\nimport { getQueryParams } from \"neetocommons/utils\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { NoData, Table } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { FIELD_STATES } from \"./constants\";\nimport { renderNoDataHelpText } from \"./utils\";\n\nconst FieldsTable = ({\n totalCount,\n isFetched,\n isFetching,\n rowData,\n columnData,\n setIsPaneOpen,\n helpDocUrl,\n title,\n pageProps,\n setPageProps,\n showStateFilter,\n}) => {\n const { t } = useTranslation();\n const showNoDataScreen = isFetched && isEmpty(rowData);\n const { state } = getQueryParams();\n title = title.toLocaleLowerCase();\n const { page, pageSize } = pageProps;\n const noDataProps = {};\n\n if (!isFetched && isEmpty(rowData)) {\n return <PageLoader />;\n }\n\n if (helpDocUrl) {\n noDataProps.helpText = renderNoDataHelpText(title, helpDocUrl);\n }\n\n if (FIELD_STATES.active === state) {\n noDataProps.primaryButtonProps = {\n label: t(\"neetoFields.labels.addField\"),\n onClick: () => setIsPaneOpen(true),\n };\n }\n\n return (\n <TableWrapper>\n {showNoDataScreen ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n title={\n showStateFilter\n ? t(\"neetoFields.messages.noFieldsWithState\", { title, state })\n : t(\"neetoFields.messages.noFields\", { title })\n }\n {...noDataProps}\n />\n </div>\n ) : (\n <Table\n {...{ columnData, rowData, totalCount }}\n fixedHeight\n allowRowClick={false}\n currentPageNumber={page}\n defaultPageSize={pageSize}\n handlePageChange={page => setPageProps({ ...pageProps, page })}\n loading={isFetching}\n />\n )}\n </TableWrapper>\n );\n};\n\nexport default FieldsTable;\n","import React from \"react\";\n\nimport { Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\n// eslint-disable-next-line @bigbinary/neeto/no-dumb-components-with-use-translation\nconst ActionBlock = ({ reorderable, setIsReorderPaneOpen, setIsPaneOpen }) => {\n const { t } = useTranslation();\n\n return (\n <div className=\"flex flex-shrink-0 items-center gap-3\">\n <Button\n data-cy=\"neeto-fields-reorder-button\"\n disabled={!reorderable}\n label={t(\"neetoFields.labels.reorder\")}\n style=\"secondary\"\n onClick={() => setIsReorderPaneOpen(true)}\n />\n <Button\n data-cy=\"neeto-fields-add-button\"\n label={t(\"neetoFields.labels.addField\")}\n onClick={() => setIsPaneOpen(true)}\n />\n </div>\n );\n};\n\nexport default ActionBlock;\n","import React from \"react\";\n\nimport { withT } from \"neetocommons/react-utils\";\nimport NeetoUIHeader from \"neetomolecules/Header\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\n\nimport ActionBlock from \"./ActionBlock\";\n\nconst Header = withT(\n ({\n searchInputProps,\n breadcrumbs,\n title,\n helpDocUrl,\n helpDescription,\n size,\n ...actionBlockProps\n }) => (\n <NeetoUIHeader\n {...{ breadcrumbs, size }}\n actionBlock={<ActionBlock {...actionBlockProps} />}\n searchProps={searchInputProps}\n title={\n <span>\n {title}\n {(helpDocUrl || helpDescription) && (\n <HelpPopover\n className=\"ml-2 self-center\"\n {...(helpDocUrl && { title })}\n {...(helpDescription && { description: helpDescription })}\n {...(helpDocUrl && { helpLinkProps: { href: helpDocUrl } })}\n />\n )}\n </span>\n }\n />\n )\n);\n\nexport default Header;\n","import React from \"react\";\n\nimport NeetoUIMenuBar from \"neetomolecules/MenuBar\";\n\nconst Menubar = ({ menuBarItems, title }) => (\n <NeetoUIMenuBar showMenu {...{ title }}>\n {menuBarItems}\n </NeetoUIMenuBar>\n);\n\nexport default Menubar;\n","import { useMemo, useLayoutEffect, useEffect, useRef, useCallback } from 'react';\n\nfunction useCombinedRefs() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n return useMemo(() => node => {\n refs.forEach(ref => ref(node));\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n refs);\n}\n\n// https://github.com/facebook/react/blob/master/packages/shared/ExecutionEnvironment.js\nconst canUseDOM = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined';\n\nfunction isWindow(element) {\n const elementString = Object.prototype.toString.call(element);\n return elementString === '[object Window]' || // In Electron context the Window object serializes to [object global]\n elementString === '[object global]';\n}\n\nfunction isNode(node) {\n return 'nodeType' in node;\n}\n\nfunction getWindow(target) {\n var _target$ownerDocument, _target$ownerDocument2;\n\n if (!target) {\n return window;\n }\n\n if (isWindow(target)) {\n return target;\n }\n\n if (!isNode(target)) {\n return window;\n }\n\n return (_target$ownerDocument = (_target$ownerDocument2 = target.ownerDocument) == null ? void 0 : _target$ownerDocument2.defaultView) != null ? _target$ownerDocument : window;\n}\n\nfunction isDocument(node) {\n const {\n Document\n } = getWindow(node);\n return node instanceof Document;\n}\n\nfunction isHTMLElement(node) {\n if (isWindow(node)) {\n return false;\n }\n\n return node instanceof getWindow(node).HTMLElement;\n}\n\nfunction isSVGElement(node) {\n return node instanceof getWindow(node).SVGElement;\n}\n\nfunction getOwnerDocument(target) {\n if (!target) {\n return document;\n }\n\n if (isWindow(target)) {\n return target.document;\n }\n\n if (!isNode(target)) {\n return document;\n }\n\n if (isDocument(target)) {\n return target;\n }\n\n if (isHTMLElement(target)) {\n return target.ownerDocument;\n }\n\n return document;\n}\n\n/**\r\n * A hook that resolves to useEffect on the server and useLayoutEffect on the client\r\n * @param callback {function} Callback function that is invoked when the dependencies of the hook change\r\n */\n\nconst useIsomorphicLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;\n\nfunction useEvent(handler) {\n const handlerRef = useRef(handler);\n useIsomorphicLayoutEffect(() => {\n handlerRef.current = handler;\n });\n return useCallback(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return handlerRef.current == null ? void 0 : handlerRef.current(...args);\n }, []);\n}\n\nfunction useInterval() {\n const intervalRef = useRef(null);\n const set = useCallback((listener, duration) => {\n intervalRef.current = setInterval(listener, duration);\n }, []);\n const clear = useCallback(() => {\n if (intervalRef.current !== null) {\n clearInterval(intervalRef.current);\n intervalRef.current = null;\n }\n }, []);\n return [set, clear];\n}\n\nfunction useLatestValue(value, dependencies) {\n if (dependencies === void 0) {\n dependencies = [value];\n }\n\n const valueRef = useRef(value);\n useIsomorphicLayoutEffect(() => {\n if (valueRef.current !== value) {\n valueRef.current = value;\n }\n }, dependencies);\n return valueRef;\n}\n\nfunction useLazyMemo(callback, dependencies) {\n const valueRef = useRef();\n return useMemo(() => {\n const newValue = callback(valueRef.current);\n valueRef.current = newValue;\n return newValue;\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [...dependencies]);\n}\n\nfunction useNodeRef(onChange) {\n const onChangeHandler = useEvent(onChange);\n const node = useRef(null);\n const setNodeRef = useCallback(element => {\n if (element !== node.current) {\n onChangeHandler == null ? void 0 : onChangeHandler(element, node.current);\n }\n\n node.current = element;\n }, //eslint-disable-next-line\n []);\n return [node, setNodeRef];\n}\n\nfunction usePrevious(value) {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref.current;\n}\n\nlet ids = {};\nfunction useUniqueId(prefix, value) {\n return useMemo(() => {\n if (value) {\n return value;\n }\n\n const id = ids[prefix] == null ? 0 : ids[prefix] + 1;\n ids[prefix] = id;\n return prefix + \"-\" + id;\n }, [prefix, value]);\n}\n\nfunction createAdjustmentFn(modifier) {\n return function (object) {\n for (var _len = arguments.length, adjustments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n adjustments[_key - 1] = arguments[_key];\n }\n\n return adjustments.reduce((accumulator, adjustment) => {\n const entries = Object.entries(adjustment);\n\n for (const [key, valueAdjustment] of entries) {\n const value = accumulator[key];\n\n if (value != null) {\n accumulator[key] = value + modifier * valueAdjustment;\n }\n }\n\n return accumulator;\n }, { ...object\n });\n };\n}\n\nconst add = /*#__PURE__*/createAdjustmentFn(1);\nconst subtract = /*#__PURE__*/createAdjustmentFn(-1);\n\nfunction hasViewportRelativeCoordinates(event) {\n return 'clientX' in event && 'clientY' in event;\n}\n\nfunction isKeyboardEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n KeyboardEvent\n } = getWindow(event.target);\n return KeyboardEvent && event instanceof KeyboardEvent;\n}\n\nfunction isTouchEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n TouchEvent\n } = getWindow(event.target);\n return TouchEvent && event instanceof TouchEvent;\n}\n\n/**\r\n * Returns the normalized x and y coordinates for mouse and touch events.\r\n */\n\nfunction getEventCoordinates(event) {\n if (isTouchEvent(event)) {\n if (event.touches && event.touches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.touches[0];\n return {\n x,\n y\n };\n } else if (event.changedTouches && event.changedTouches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.changedTouches[0];\n return {\n x,\n y\n };\n }\n }\n\n if (hasViewportRelativeCoordinates(event)) {\n return {\n x: event.clientX,\n y: event.clientY\n };\n }\n\n return null;\n}\n\nconst CSS = /*#__PURE__*/Object.freeze({\n Translate: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n x,\n y\n } = transform;\n return \"translate3d(\" + (x ? Math.round(x) : 0) + \"px, \" + (y ? Math.round(y) : 0) + \"px, 0)\";\n }\n\n },\n Scale: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n scaleX,\n scaleY\n } = transform;\n return \"scaleX(\" + scaleX + \") scaleY(\" + scaleY + \")\";\n }\n\n },\n Transform: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n return [CSS.Translate.toString(transform), CSS.Scale.toString(transform)].join(' ');\n }\n\n },\n Transition: {\n toString(_ref) {\n let {\n property,\n duration,\n easing\n } = _ref;\n return property + \" \" + duration + \"ms \" + easing;\n }\n\n }\n});\n\nconst SELECTOR = 'a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]';\nfunction findFirstFocusableNode(element) {\n if (element.matches(SELECTOR)) {\n return element;\n }\n\n return element.querySelector(SELECTOR);\n}\n\nexport { CSS, add, canUseDOM, findFirstFocusableNode, getEventCoordinates, getOwnerDocument, getWindow, hasViewportRelativeCoordinates, isDocument, isHTMLElement, isKeyboardEvent, isNode, isSVGElement, isTouchEvent, isWindow, subtract, useCombinedRefs, useEvent, useInterval, useIsomorphicLayoutEffect, useLatestValue, useLazyMemo, useNodeRef, usePrevious, useUniqueId };\n//# sourceMappingURL=utilities.esm.js.map\n","import React, { useState, useCallback } from 'react';\n\nconst hiddenStyles = {\n display: 'none'\n};\nfunction HiddenText(_ref) {\n let {\n id,\n value\n } = _ref;\n return React.createElement(\"div\", {\n id: id,\n style: hiddenStyles\n }, value);\n}\n\nconst visuallyHidden = {\n position: 'fixed',\n width: 1,\n height: 1,\n margin: -1,\n border: 0,\n padding: 0,\n overflow: 'hidden',\n clip: 'rect(0 0 0 0)',\n clipPath: 'inset(100%)',\n whiteSpace: 'nowrap'\n};\nfunction LiveRegion(_ref) {\n let {\n id,\n announcement\n } = _ref;\n return React.createElement(\"div\", {\n id: id,\n style: visuallyHidden,\n role: \"status\",\n \"aria-live\": \"assertive\",\n \"aria-atomic\": true\n }, announcement);\n}\n\nfunction useAnnouncement() {\n const [announcement, setAnnouncement] = useState('');\n const announce = useCallback(value => {\n if (value != null) {\n setAnnouncement(value);\n }\n }, []);\n return {\n announce,\n announcement\n };\n}\n\nexport { HiddenText, LiveRegion, useAnnouncement };\n//# sourceMappingURL=accessibility.esm.js.map\n","import React, { createContext, useContext, useEffect, useState, useCallback, useMemo, useRef, useReducer, memo, cloneElement, forwardRef } from 'react';\nimport { createPortal, unstable_batchedUpdates } from 'react-dom';\nimport { useUniqueId, getEventCoordinates, getWindow, isDocument, isHTMLElement, isSVGElement, canUseDOM, isWindow, isNode, getOwnerDocument, add, isKeyboardEvent, subtract, useLazyMemo, useInterval, usePrevious, useLatestValue, useEvent, useIsomorphicLayoutEffect, useNodeRef, findFirstFocusableNode, CSS } from '@dnd-kit/utilities';\nimport { useAnnouncement, HiddenText, LiveRegion } from '@dnd-kit/accessibility';\n\nconst DndMonitorContext = /*#__PURE__*/createContext(null);\n\nfunction useDndMonitor(listener) {\n const registerListener = useContext(DndMonitorContext);\n useEffect(() => {\n if (!registerListener) {\n throw new Error('useDndMonitor must be used within a children of <DndContext>');\n }\n\n const unsubscribe = registerListener(listener);\n return unsubscribe;\n }, [listener, registerListener]);\n}\n\nfunction useDndMonitorProvider() {\n const [listeners] = useState(() => new Set());\n const registerListener = useCallback(listener => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n }, [listeners]);\n const dispatch = useCallback(_ref => {\n let {\n type,\n event\n } = _ref;\n listeners.forEach(listener => {\n var _listener$type;\n\n return (_listener$type = listener[type]) == null ? void 0 : _listener$type.call(listener, event);\n });\n }, [listeners]);\n return [dispatch, registerListener];\n}\n\nconst defaultScreenReaderInstructions = {\n draggable: \"\\n To pick up a draggable item, press the space bar.\\n While dragging, use the arrow keys to move the item.\\n Press space again to drop the item in its new position, or press escape to cancel.\\n \"\n};\nconst defaultAnnouncements = {\n onDragStart(_ref) {\n let {\n active\n } = _ref;\n return \"Picked up draggable item \" + active.id + \".\";\n },\n\n onDragOver(_ref2) {\n let {\n active,\n over\n } = _ref2;\n\n if (over) {\n return \"Draggable item \" + active.id + \" was moved over droppable area \" + over.id + \".\";\n }\n\n return \"Draggable item \" + active.id + \" is no longer over a droppable area.\";\n },\n\n onDragEnd(_ref3) {\n let {\n active,\n over\n } = _ref3;\n\n if (over) {\n return \"Draggable item \" + active.id + \" was dropped over droppable area \" + over.id;\n }\n\n return \"Draggable item \" + active.id + \" was dropped.\";\n },\n\n onDragCancel(_ref4) {\n let {\n active\n } = _ref4;\n return \"Dragging was cancelled. Draggable item \" + active.id + \" was dropped.\";\n }\n\n};\n\nfunction Accessibility(_ref) {\n let {\n announcements = defaultAnnouncements,\n container,\n hiddenTextDescribedById,\n screenReaderInstructions = defaultScreenReaderInstructions\n } = _ref;\n const {\n announce,\n announcement\n } = useAnnouncement();\n const liveRegionId = useUniqueId(\"DndLiveRegion\");\n const [mounted, setMounted] = useState(false);\n useEffect(() => {\n setMounted(true);\n }, []);\n useDndMonitor(useMemo(() => ({\n onDragStart(_ref2) {\n let {\n active\n } = _ref2;\n announce(announcements.onDragStart({\n active\n }));\n },\n\n onDragMove(_ref3) {\n let {\n active,\n over\n } = _ref3;\n\n if (announcements.onDragMove) {\n announce(announcements.onDragMove({\n active,\n over\n }));\n }\n },\n\n onDragOver(_ref4) {\n let {\n active,\n over\n } = _ref4;\n announce(announcements.onDragOver({\n active,\n over\n }));\n },\n\n onDragEnd(_ref5) {\n let {\n active,\n over\n } = _ref5;\n announce(announcements.onDragEnd({\n active,\n over\n }));\n },\n\n onDragCancel(_ref6) {\n let {\n active,\n over\n } = _ref6;\n announce(announcements.onDragCancel({\n active,\n over\n }));\n }\n\n }), [announce, announcements]));\n\n if (!mounted) {\n return null;\n }\n\n const markup = React.createElement(React.Fragment, null, React.createElement(HiddenText, {\n id: hiddenTextDescribedById,\n value: screenReaderInstructions.draggable\n }), React.createElement(LiveRegion, {\n id: liveRegionId,\n announcement: announcement\n }));\n return container ? createPortal(markup, container) : markup;\n}\n\nvar Action;\n\n(function (Action) {\n Action[\"DragStart\"] = \"dragStart\";\n Action[\"DragMove\"] = \"dragMove\";\n Action[\"DragEnd\"] = \"dragEnd\";\n Action[\"DragCancel\"] = \"dragCancel\";\n Action[\"DragOver\"] = \"dragOver\";\n Action[\"RegisterDroppable\"] = \"registerDroppable\";\n Action[\"SetDroppableDisabled\"] = \"setDroppableDisabled\";\n Action[\"UnregisterDroppable\"] = \"unregisterDroppable\";\n})(Action || (Action = {}));\n\nfunction noop() {}\n\nfunction useSensor(sensor, options) {\n return useMemo(() => ({\n sensor,\n options: options != null ? options : {}\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [sensor, options]);\n}\n\nfunction useSensors() {\n for (var _len = arguments.length, sensors = new Array(_len), _key = 0; _key < _len; _key++) {\n sensors[_key] = arguments[_key];\n }\n\n return useMemo(() => [...sensors].filter(sensor => sensor != null), // eslint-disable-next-line react-hooks/exhaustive-deps\n [...sensors]);\n}\n\nconst defaultCoordinates = /*#__PURE__*/Object.freeze({\n x: 0,\n y: 0\n});\n\n/**\r\n * Returns the distance between two points\r\n */\nfunction distanceBetween(p1, p2) {\n return Math.sqrt(Math.pow(p1.x - p2.x, 2) + Math.pow(p1.y - p2.y, 2));\n}\n\nfunction getRelativeTransformOrigin(event, rect) {\n const eventCoordinates = getEventCoordinates(event);\n\n if (!eventCoordinates) {\n return '0 0';\n }\n\n const transformOrigin = {\n x: (eventCoordinates.x - rect.left) / rect.width * 100,\n y: (eventCoordinates.y - rect.top) / rect.height * 100\n };\n return transformOrigin.x + \"% \" + transformOrigin.y + \"%\";\n}\n\n/**\r\n * Sort collisions from smallest to greatest value\r\n */\nfunction sortCollisionsAsc(_ref, _ref2) {\n let {\n data: {\n value: a\n }\n } = _ref;\n let {\n data: {\n value: b\n }\n } = _ref2;\n return a - b;\n}\n/**\r\n * Sort collisions from greatest to smallest value\r\n */\n\nfunction sortCollisionsDesc(_ref3, _ref4) {\n let {\n data: {\n value: a\n }\n } = _ref3;\n let {\n data: {\n value: b\n }\n } = _ref4;\n return b - a;\n}\n/**\r\n * Returns the coordinates of the corners of a given rectangle:\r\n * [TopLeft {x, y}, TopRight {x, y}, BottomLeft {x, y}, BottomRight {x, y}]\r\n */\n\nfunction cornersOfRectangle(_ref5) {\n let {\n left,\n top,\n height,\n width\n } = _ref5;\n return [{\n x: left,\n y: top\n }, {\n x: left + width,\n y: top\n }, {\n x: left,\n y: top + height\n }, {\n x: left + width,\n y: top + height\n }];\n}\nfunction getFirstCollision(collisions, property) {\n if (!collisions || collisions.length === 0) {\n return null;\n }\n\n const [firstCollision] = collisions;\n return property ? firstCollision[property] : firstCollision;\n}\n\n/**\r\n * Returns the coordinates of the center of a given ClientRect\r\n */\n\nfunction centerOfRectangle(rect, left, top) {\n if (left === void 0) {\n left = rect.left;\n }\n\n if (top === void 0) {\n top = rect.top;\n }\n\n return {\n x: left + rect.width * 0.5,\n y: top + rect.height * 0.5\n };\n}\n/**\r\n * Returns the closest rectangles from an array of rectangles to the center of a given\r\n * rectangle.\r\n */\n\n\nconst closestCenter = _ref => {\n let {\n collisionRect,\n droppableRects,\n droppableContainers\n } = _ref;\n const centerRect = centerOfRectangle(collisionRect, collisionRect.left, collisionRect.top);\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect) {\n const distBetween = distanceBetween(centerOfRectangle(rect), centerRect);\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: distBetween\n }\n });\n }\n }\n\n return collisions.sort(sortCollisionsAsc);\n};\n\n/**\r\n * Returns the closest rectangles from an array of rectangles to the corners of\r\n * another rectangle.\r\n */\n\nconst closestCorners = _ref => {\n let {\n collisionRect,\n droppableRects,\n droppableContainers\n } = _ref;\n const corners = cornersOfRectangle(collisionRect);\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect) {\n const rectCorners = cornersOfRectangle(rect);\n const distances = corners.reduce((accumulator, corner, index) => {\n return accumulator + distanceBetween(rectCorners[index], corner);\n }, 0);\n const effectiveDistance = Number((distances / 4).toFixed(4));\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: effectiveDistance\n }\n });\n }\n }\n\n return collisions.sort(sortCollisionsAsc);\n};\n\n/**\r\n * Returns the intersecting rectangle area between two rectangles\r\n */\n\nfunction getIntersectionRatio(entry, target) {\n const top = Math.max(target.top, entry.top);\n const left = Math.max(target.left, entry.left);\n const right = Math.min(target.left + target.width, entry.left + entry.width);\n const bottom = Math.min(target.top + target.height, entry.top + entry.height);\n const width = right - left;\n const height = bottom - top;\n\n if (left < right && top < bottom) {\n const targetArea = target.width * target.height;\n const entryArea = entry.width * entry.height;\n const intersectionArea = width * height;\n const intersectionRatio = intersectionArea / (targetArea + entryArea - intersectionArea);\n return Number(intersectionRatio.toFixed(4));\n } // Rectangles do not overlap, or overlap has an area of zero (edge/corner overlap)\n\n\n return 0;\n}\n/**\r\n * Returns the rectangles that has the greatest intersection area with a given\r\n * rectangle in an array of rectangles.\r\n */\n\nconst rectIntersection = _ref => {\n let {\n collisionRect,\n droppableRects,\n droppableContainers\n } = _ref;\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect) {\n const intersectionRatio = getIntersectionRatio(rect, collisionRect);\n\n if (intersectionRatio > 0) {\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: intersectionRatio\n }\n });\n }\n }\n }\n\n return collisions.sort(sortCollisionsDesc);\n};\n\n/**\r\n * Check if a given point is contained within a bounding rectangle\r\n */\n\nfunction isPointWithinRect(point, rect) {\n const {\n top,\n left,\n bottom,\n right\n } = rect;\n return top <= point.y && point.y <= bottom && left <= point.x && point.x <= right;\n}\n/**\r\n * Returns the rectangles that the pointer is hovering over\r\n */\n\n\nconst pointerWithin = _ref => {\n let {\n droppableContainers,\n droppableRects,\n pointerCoordinates\n } = _ref;\n\n if (!pointerCoordinates) {\n return [];\n }\n\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect && isPointWithinRect(pointerCoordinates, rect)) {\n /* There may be more than a single rectangle intersecting\r\n * with the pointer coordinates. In order to sort the\r\n * colliding rectangles, we measure the distance between\r\n * the pointer and the corners of the intersecting rectangle\r\n */\n const corners = cornersOfRectangle(rect);\n const distances = corners.reduce((accumulator, corner) => {\n return accumulator + distanceBetween(pointerCoordinates, corner);\n }, 0);\n const effectiveDistance = Number((distances / 4).toFixed(4));\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: effectiveDistance\n }\n });\n }\n }\n\n return collisions.sort(sortCollisionsAsc);\n};\n\nfunction adjustScale(transform, rect1, rect2) {\n return { ...transform,\n scaleX: rect1 && rect2 ? rect1.width / rect2.width : 1,\n scaleY: rect1 && rect2 ? rect1.height / rect2.height : 1\n };\n}\n\nfunction getRectDelta(rect1, rect2) {\n return rect1 && rect2 ? {\n x: rect1.left - rect2.left,\n y: rect1.top - rect2.top\n } : defaultCoordinates;\n}\n\nfunction createRectAdjustmentFn(modifier) {\n return function adjustClientRect(rect) {\n for (var _len = arguments.length, adjustments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n adjustments[_key - 1] = arguments[_key];\n }\n\n return adjustments.reduce((acc, adjustment) => ({ ...acc,\n top: acc.top + modifier * adjustment.y,\n bottom: acc.bottom + modifier * adjustment.y,\n left: acc.left + modifier * adjustment.x,\n right: acc.right + modifier * adjustment.x\n }), { ...rect\n });\n };\n}\nconst getAdjustedRect = /*#__PURE__*/createRectAdjustmentFn(1);\n\nfunction parseTransform(transform) {\n if (transform.startsWith('matrix3d(')) {\n const transformArray = transform.slice(9, -1).split(/, /);\n return {\n x: +transformArray[12],\n y: +transformArray[13],\n scaleX: +transformArray[0],\n scaleY: +transformArray[5]\n };\n } else if (transform.startsWith('matrix(')) {\n const transformArray = transform.slice(7, -1).split(/, /);\n return {\n x: +transformArray[4],\n y: +transformArray[5],\n scaleX: +transformArray[0],\n scaleY: +transformArray[3]\n };\n }\n\n return null;\n}\n\nfunction inverseTransform(rect, transform, transformOrigin) {\n const parsedTransform = parseTransform(transform);\n\n if (!parsedTransform) {\n return rect;\n }\n\n const {\n scaleX,\n scaleY,\n x: translateX,\n y: translateY\n } = parsedTransform;\n const x = rect.left - translateX - (1 - scaleX) * parseFloat(transformOrigin);\n const y = rect.top - translateY - (1 - scaleY) * parseFloat(transformOrigin.slice(transformOrigin.indexOf(' ') + 1));\n const w = scaleX ? rect.width / scaleX : rect.width;\n const h = scaleY ? rect.height / scaleY : rect.height;\n return {\n width: w,\n height: h,\n top: y,\n right: x + w,\n bottom: y + h,\n left: x\n };\n}\n\nconst defaultOptions = {\n ignoreTransform: false\n};\n/**\r\n * Returns the bounding client rect of an element relative to the viewport.\r\n */\n\nfunction getClientRect(element, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n let rect = element.getBoundingClientRect();\n\n if (options.ignoreTransform) {\n const {\n transform,\n transformOrigin\n } = getWindow(element).getComputedStyle(element);\n\n if (transform) {\n rect = inverseTransform(rect, transform, transformOrigin);\n }\n }\n\n const {\n top,\n left,\n width,\n height,\n bottom,\n right\n } = rect;\n return {\n top,\n left,\n width,\n height,\n bottom,\n right\n };\n}\n/**\r\n * Returns the bounding client rect of an element relative to the viewport.\r\n *\r\n * @remarks\r\n * The ClientRect returned by this method does not take into account transforms\r\n * applied to the element it measures.\r\n *\r\n */\n\nfunction getTransformAgnosticClientRect(element) {\n return getClientRect(element, {\n ignoreTransform: true\n });\n}\n\nfunction getWindowClientRect(element) {\n const width = element.innerWidth;\n const height = element.innerHeight;\n return {\n top: 0,\n left: 0,\n right: width,\n bottom: height,\n width,\n height\n };\n}\n\nfunction isFixed(node, computedStyle) {\n if (computedStyle === void 0) {\n computedStyle = getWindow(node).getComputedStyle(node);\n }\n\n return computedStyle.position === 'fixed';\n}\n\nfunction isScrollable(element, computedStyle) {\n if (computedStyle === void 0) {\n computedStyle = getWindow(element).getComputedStyle(element);\n }\n\n const overflowRegex = /(auto|scroll|overlay)/;\n const properties = ['overflow', 'overflowX', 'overflowY'];\n return properties.some(property => {\n const value = computedStyle[property];\n return typeof value === 'string' ? overflowRegex.test(value) : false;\n });\n}\n\nfunction getScrollableAncestors(element, limit) {\n const scrollParents = [];\n\n function findScrollableAncestors(node) {\n if (limit != null && scrollParents.length >= limit) {\n return scrollParents;\n }\n\n if (!node) {\n return scrollParents;\n }\n\n if (isDocument(node) && node.scrollingElement != null && !scrollParents.includes(node.scrollingElement)) {\n scrollParents.push(node.scrollingElement);\n return scrollParents;\n }\n\n if (!isHTMLElement(node) || isSVGElement(node)) {\n return scrollParents;\n }\n\n if (scrollParents.includes(node)) {\n return scrollParents;\n }\n\n const computedStyle = getWindow(element).getComputedStyle(node);\n\n if (node !== element) {\n if (isScrollable(node, computedStyle)) {\n scrollParents.push(node);\n }\n }\n\n if (isFixed(node, computedStyle)) {\n return scrollParents;\n }\n\n return findScrollableAncestors(node.parentNode);\n }\n\n if (!element) {\n return scrollParents;\n }\n\n return findScrollableAncestors(element);\n}\nfunction getFirstScrollableAncestor(node) {\n const [firstScrollableAncestor] = getScrollableAncestors(node, 1);\n return firstScrollableAncestor != null ? firstScrollableAncestor : null;\n}\n\nfunction getScrollableElement(element) {\n if (!canUseDOM || !element) {\n return null;\n }\n\n if (isWindow(element)) {\n return element;\n }\n\n if (!isNode(element)) {\n return null;\n }\n\n if (isDocument(element) || element === getOwnerDocument(element).scrollingElement) {\n return window;\n }\n\n if (isHTMLElement(element)) {\n return element;\n }\n\n return null;\n}\n\nfunction getScrollXCoordinate(element) {\n if (isWindow(element)) {\n return element.scrollX;\n }\n\n return element.scrollLeft;\n}\nfunction getScrollYCoordinate(element) {\n if (isWindow(element)) {\n return element.scrollY;\n }\n\n return element.scrollTop;\n}\nfunction getScrollCoordinates(element) {\n return {\n x: getScrollXCoordinate(element),\n y: getScrollYCoordinate(element)\n };\n}\n\nvar Direction;\n\n(function (Direction) {\n Direction[Direction[\"Forward\"] = 1] = \"Forward\";\n Direction[Direction[\"Backward\"] = -1] = \"Backward\";\n})(Direction || (Direction = {}));\n\nfunction isDocumentScrollingElement(element) {\n if (!canUseDOM || !element) {\n return false;\n }\n\n return element === document.scrollingElement;\n}\n\nfunction getScrollPosition(scrollingContainer) {\n const minScroll = {\n x: 0,\n y: 0\n };\n const dimensions = isDocumentScrollingElement(scrollingContainer) ? {\n height: window.innerHeight,\n width: window.innerWidth\n } : {\n height: scrollingContainer.clientHeight,\n width: scrollingContainer.clientWidth\n };\n const maxScroll = {\n x: scrollingContainer.scrollWidth - dimensions.width,\n y: scrollingContainer.scrollHeight - dimensions.height\n };\n const isTop = scrollingContainer.scrollTop <= minScroll.y;\n const isLeft = scrollingContainer.scrollLeft <= minScroll.x;\n const isBottom = scrollingContainer.scrollTop >= maxScroll.y;\n const isRight = scrollingContainer.scrollLeft >= maxScroll.x;\n return {\n isTop,\n isLeft,\n isBottom,\n isRight,\n maxScroll,\n minScroll\n };\n}\n\nconst defaultThreshold = {\n x: 0.2,\n y: 0.2\n};\nfunction getScrollDirectionAndSpeed(scrollContainer, scrollContainerRect, _ref, acceleration, thresholdPercentage) {\n let {\n top,\n left,\n right,\n bottom\n } = _ref;\n\n if (acceleration === void 0) {\n acceleration = 10;\n }\n\n if (thresholdPercentage === void 0) {\n thresholdPercentage = defaultThreshold;\n }\n\n const {\n isTop,\n isBottom,\n isLeft,\n isRight\n } = getScrollPosition(scrollContainer);\n const direction = {\n x: 0,\n y: 0\n };\n const speed = {\n x: 0,\n y: 0\n };\n const threshold = {\n height: scrollContainerRect.height * thresholdPercentage.y,\n width: scrollContainerRect.width * thresholdPercentage.x\n };\n\n if (!isTop && top <= scrollContainerRect.top + threshold.height) {\n // Scroll Up\n direction.y = Direction.Backward;\n speed.y = acceleration * Math.abs((scrollContainerRect.top + threshold.height - top) / threshold.height);\n } else if (!isBottom && bottom >= scrollContainerRect.bottom - threshold.height) {\n // Scroll Down\n direction.y = Direction.Forward;\n speed.y = acceleration * Math.abs((scrollContainerRect.bottom - threshold.height - bottom) / threshold.height);\n }\n\n if (!isRight && right >= scrollContainerRect.right - threshold.width) {\n // Scroll Right\n direction.x = Direction.Forward;\n speed.x = acceleration * Math.abs((scrollContainerRect.right - threshold.width - right) / threshold.width);\n } else if (!isLeft && left <= scrollContainerRect.left + threshold.width) {\n // Scroll Left\n direction.x = Direction.Backward;\n speed.x = acceleration * Math.abs((scrollContainerRect.left + threshold.width - left) / threshold.width);\n }\n\n return {\n direction,\n speed\n };\n}\n\nfunction getScrollElementRect(element) {\n if (element === document.scrollingElement) {\n const {\n innerWidth,\n innerHeight\n } = window;\n return {\n top: 0,\n left: 0,\n right: innerWidth,\n bottom: innerHeight,\n width: innerWidth,\n height: innerHeight\n };\n }\n\n const {\n top,\n left,\n right,\n bottom\n } = element.getBoundingClientRect();\n return {\n top,\n left,\n right,\n bottom,\n width: element.clientWidth,\n height: element.clientHeight\n };\n}\n\nfunction getScrollOffsets(scrollableAncestors) {\n return scrollableAncestors.reduce((acc, node) => {\n return add(acc, getScrollCoordinates(node));\n }, defaultCoordinates);\n}\nfunction getScrollXOffset(scrollableAncestors) {\n return scrollableAncestors.reduce((acc, node) => {\n return acc + getScrollXCoordinate(node);\n }, 0);\n}\nfunction getScrollYOffset(scrollableAncestors) {\n return scrollableAncestors.reduce((acc, node) => {\n return acc + getScrollYCoordinate(node);\n }, 0);\n}\n\nfunction scrollIntoViewIfNeeded(element, measure) {\n if (measure === void 0) {\n measure = getClientRect;\n }\n\n if (!element) {\n return;\n }\n\n const {\n top,\n left,\n bottom,\n right\n } = measure(element);\n const firstScrollableAncestor = getFirstScrollableAncestor(element);\n\n if (!firstScrollableAncestor) {\n return;\n }\n\n if (bottom <= 0 || right <= 0 || top >= window.innerHeight || left >= window.innerWidth) {\n element.scrollIntoView({\n block: 'center',\n inline: 'center'\n });\n }\n}\n\nconst properties = [['x', ['left', 'right'], getScrollXOffset], ['y', ['top', 'bottom'], getScrollYOffset]];\nclass Rect {\n constructor(rect, element) {\n this.rect = void 0;\n this.width = void 0;\n this.height = void 0;\n this.top = void 0;\n this.bottom = void 0;\n this.right = void 0;\n this.left = void 0;\n const scrollableAncestors = getScrollableAncestors(element);\n const scrollOffsets = getScrollOffsets(scrollableAncestors);\n this.rect = { ...rect\n };\n this.width = rect.width;\n this.height = rect.height;\n\n for (const [axis, keys, getScrollOffset] of properties) {\n for (const key of keys) {\n Object.defineProperty(this, key, {\n get: () => {\n const currentOffsets = getScrollOffset(scrollableAncestors);\n const scrollOffsetsDeltla = scrollOffsets[axis] - currentOffsets;\n return this.rect[key] + scrollOffsetsDeltla;\n },\n enumerable: true\n });\n }\n }\n\n Object.defineProperty(this, 'rect', {\n enumerable: false\n });\n }\n\n}\n\nclass Listeners {\n constructor(target) {\n this.target = void 0;\n this.listeners = [];\n\n this.removeAll = () => {\n this.listeners.forEach(listener => {\n var _this$target;\n\n return (_this$target = this.target) == null ? void 0 : _this$target.removeEventListener(...listener);\n });\n };\n\n this.target = target;\n }\n\n add(eventName, handler, options) {\n var _this$target2;\n\n (_this$target2 = this.target) == null ? void 0 : _this$target2.addEventListener(eventName, handler, options);\n this.listeners.push([eventName, handler, options]);\n }\n\n}\n\nfunction getEventListenerTarget(target) {\n // If the `event.target` element is removed from the document events will still be targeted\n // at it, and hence won't always bubble up to the window or document anymore.\n // If there is any risk of an element being removed while it is being dragged,\n // the best practice is to attach the event listeners directly to the target.\n // https://developer.mozilla.org/en-US/docs/Web/API/EventTarget\n const {\n EventTarget\n } = getWindow(target);\n return target instanceof EventTarget ? target : getOwnerDocument(target);\n}\n\nfunction hasExceededDistance(delta, measurement) {\n const dx = Math.abs(delta.x);\n const dy = Math.abs(delta.y);\n\n if (typeof measurement === 'number') {\n return Math.sqrt(dx ** 2 + dy ** 2) > measurement;\n }\n\n if ('x' in measurement && 'y' in measurement) {\n return dx > measurement.x && dy > measurement.y;\n }\n\n if ('x' in measurement) {\n return dx > measurement.x;\n }\n\n if ('y' in measurement) {\n return dy > measurement.y;\n }\n\n return false;\n}\n\nvar EventName;\n\n(function (EventName) {\n EventName[\"Click\"] = \"click\";\n EventName[\"DragStart\"] = \"dragstart\";\n EventName[\"Keydown\"] = \"keydown\";\n EventName[\"ContextMenu\"] = \"contextmenu\";\n EventName[\"Resize\"] = \"resize\";\n EventName[\"SelectionChange\"] = \"selectionchange\";\n EventName[\"VisibilityChange\"] = \"visibilitychange\";\n})(EventName || (EventName = {}));\n\nfunction preventDefault(event) {\n event.preventDefault();\n}\nfunction stopPropagation(event) {\n event.stopPropagation();\n}\n\nvar KeyboardCode;\n\n(function (KeyboardCode) {\n KeyboardCode[\"Space\"] = \"Space\";\n KeyboardCode[\"Down\"] = \"ArrowDown\";\n KeyboardCode[\"Right\"] = \"ArrowRight\";\n KeyboardCode[\"Left\"] = \"ArrowLeft\";\n KeyboardCode[\"Up\"] = \"ArrowUp\";\n KeyboardCode[\"Esc\"] = \"Escape\";\n KeyboardCode[\"Enter\"] = \"Enter\";\n})(KeyboardCode || (KeyboardCode = {}));\n\nconst defaultKeyboardCodes = {\n start: [KeyboardCode.Space, KeyboardCode.Enter],\n cancel: [KeyboardCode.Esc],\n end: [KeyboardCode.Space, KeyboardCode.Enter]\n};\nconst defaultKeyboardCoordinateGetter = (event, _ref) => {\n let {\n currentCoordinates\n } = _ref;\n\n switch (event.code) {\n case KeyboardCode.Right:\n return { ...currentCoordinates,\n x: currentCoordinates.x + 25\n };\n\n case KeyboardCode.Left:\n return { ...currentCoordinates,\n x: currentCoordinates.x - 25\n };\n\n case KeyboardCode.Down:\n return { ...currentCoordinates,\n y: currentCoordinates.y + 25\n };\n\n case KeyboardCode.Up:\n return { ...currentCoordinates,\n y: currentCoordinates.y - 25\n };\n }\n\n return undefined;\n};\n\nclass KeyboardSensor {\n constructor(props) {\n this.props = void 0;\n this.autoScrollEnabled = false;\n this.referenceCoordinates = void 0;\n this.listeners = void 0;\n this.windowListeners = void 0;\n this.props = props;\n const {\n event: {\n target\n }\n } = props;\n this.props = props;\n this.listeners = new Listeners(getOwnerDocument(target));\n this.windowListeners = new Listeners(getWindow(target));\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleCancel = this.handleCancel.bind(this);\n this.attach();\n }\n\n attach() {\n this.handleStart();\n this.windowListeners.add(EventName.Resize, this.handleCancel);\n this.windowListeners.add(EventName.VisibilityChange, this.handleCancel);\n setTimeout(() => this.listeners.add(EventName.Keydown, this.handleKeyDown));\n }\n\n handleStart() {\n const {\n activeNode,\n onStart\n } = this.props;\n const node = activeNode.node.current;\n\n if (node) {\n scrollIntoViewIfNeeded(node);\n }\n\n onStart(defaultCoordinates);\n }\n\n handleKeyDown(event) {\n if (isKeyboardEvent(event)) {\n const {\n active,\n context,\n options\n } = this.props;\n const {\n keyboardCodes = defaultKeyboardCodes,\n coordinateGetter = defaultKeyboardCoordinateGetter,\n scrollBehavior = 'smooth'\n } = options;\n const {\n code\n } = event;\n\n if (keyboardCodes.end.includes(code)) {\n this.handleEnd(event);\n return;\n }\n\n if (keyboardCodes.cancel.includes(code)) {\n this.handleCancel(event);\n return;\n }\n\n const {\n collisionRect\n } = context.current;\n const currentCoordinates = collisionRect ? {\n x: collisionRect.left,\n y: collisionRect.top\n } : defaultCoordinates;\n\n if (!this.referenceCoordinates) {\n this.referenceCoordinates = currentCoordinates;\n }\n\n const newCoordinates = coordinateGetter(event, {\n active,\n context: context.current,\n currentCoordinates\n });\n\n if (newCoordinates) {\n const coordinatesDelta = subtract(newCoordinates, currentCoordinates);\n const scrollDelta = {\n x: 0,\n y: 0\n };\n const {\n scrollableAncestors\n } = context.current;\n\n for (const scrollContainer of scrollableAncestors) {\n const direction = event.code;\n const {\n isTop,\n isRight,\n isLeft,\n isBottom,\n maxScroll,\n minScroll\n } = getScrollPosition(scrollContainer);\n const scrollElementRect = getScrollElementRect(scrollContainer);\n const clampedCoordinates = {\n x: Math.min(direction === KeyboardCode.Right ? scrollElementRect.right - scrollElementRect.width / 2 : scrollElementRect.right, Math.max(direction === KeyboardCode.Right ? scrollElementRect.left : scrollElementRect.left + scrollElementRect.width / 2, newCoordinates.x)),\n y: Math.min(direction === KeyboardCode.Down ? scrollElementRect.bottom - scrollElementRect.height / 2 : scrollElementRect.bottom, Math.max(direction === KeyboardCode.Down ? scrollElementRect.top : scrollElementRect.top + scrollElementRect.height / 2, newCoordinates.y))\n };\n const canScrollX = direction === KeyboardCode.Right && !isRight || direction === KeyboardCode.Left && !isLeft;\n const canScrollY = direction === KeyboardCode.Down && !isBottom || direction === KeyboardCode.Up && !isTop;\n\n if (canScrollX && clampedCoordinates.x !== newCoordinates.x) {\n const newScrollCoordinates = scrollContainer.scrollLeft + coordinatesDelta.x;\n const canScrollToNewCoordinates = direction === KeyboardCode.Right && newScrollCoordinates <= maxScroll.x || direction === KeyboardCode.Left && newScrollCoordinates >= minScroll.x;\n\n if (canScrollToNewCoordinates && !coordinatesDelta.y) {\n // We don't need to update coordinates, the scroll adjustment alone will trigger\n // logic to auto-detect the new container we are over\n scrollContainer.scrollTo({\n left: newScrollCoordinates,\n behavior: scrollBehavior\n });\n return;\n }\n\n if (canScrollToNewCoordinates) {\n scrollDelta.x = scrollContainer.scrollLeft - newScrollCoordinates;\n } else {\n scrollDelta.x = direction === KeyboardCode.Right ? scrollContainer.scrollLeft - maxScroll.x : scrollContainer.scrollLeft - minScroll.x;\n }\n\n if (scrollDelta.x) {\n scrollContainer.scrollBy({\n left: -scrollDelta.x,\n behavior: scrollBehavior\n });\n }\n\n break;\n } else if (canScrollY && clampedCoordinates.y !== newCoordinates.y) {\n const newScrollCoordinates = scrollContainer.scrollTop + coordinatesDelta.y;\n const canScrollToNewCoordinates = direction === KeyboardCode.Down && newScrollCoordinates <= maxScroll.y || direction === KeyboardCode.Up && newScrollCoordinates >= minScroll.y;\n\n if (canScrollToNewCoordinates && !coordinatesDelta.x) {\n // We don't need to update coordinates, the scroll adjustment alone will trigger\n // logic to auto-detect the new container we are over\n scrollContainer.scrollTo({\n top: newScrollCoordinates,\n behavior: scrollBehavior\n });\n return;\n }\n\n if (canScrollToNewCoordinates) {\n scrollDelta.y = scrollContainer.scrollTop - newScrollCoordinates;\n } else {\n scrollDelta.y = direction === KeyboardCode.Down ? scrollContainer.scrollTop - maxScroll.y : scrollContainer.scrollTop - minScroll.y;\n }\n\n if (scrollDelta.y) {\n scrollContainer.scrollBy({\n top: -scrollDelta.y,\n behavior: scrollBehavior\n });\n }\n\n break;\n }\n }\n\n this.handleMove(event, add(subtract(newCoordinates, this.referenceCoordinates), scrollDelta));\n }\n }\n }\n\n handleMove(event, coordinates) {\n const {\n onMove\n } = this.props;\n event.preventDefault();\n onMove(coordinates);\n }\n\n handleEnd(event) {\n const {\n onEnd\n } = this.props;\n event.preventDefault();\n this.detach();\n onEnd();\n }\n\n handleCancel(event) {\n const {\n onCancel\n } = this.props;\n event.preventDefault();\n this.detach();\n onCancel();\n }\n\n detach() {\n this.listeners.removeAll();\n this.windowListeners.removeAll();\n }\n\n}\nKeyboardSensor.activators = [{\n eventName: 'onKeyDown',\n handler: (event, _ref, _ref2) => {\n let {\n keyboardCodes = defaultKeyboardCodes,\n onActivation\n } = _ref;\n let {\n active\n } = _ref2;\n const {\n code\n } = event.nativeEvent;\n\n if (keyboardCodes.start.includes(code)) {\n const activator = active.activatorNode.current;\n\n if (activator && event.target !== activator) {\n return false;\n }\n\n event.preventDefault();\n onActivation == null ? void 0 : onActivation({\n event: event.nativeEvent\n });\n return true;\n }\n\n return false;\n }\n}];\n\nfunction isDistanceConstraint(constraint) {\n return Boolean(constraint && 'distance' in constraint);\n}\n\nfunction isDelayConstraint(constraint) {\n return Boolean(constraint && 'delay' in constraint);\n}\n\nclass AbstractPointerSensor {\n constructor(props, events, listenerTarget) {\n var _getEventCoordinates;\n\n if (listenerTarget === void 0) {\n listenerTarget = getEventListenerTarget(props.event.target);\n }\n\n this.props = void 0;\n this.events = void 0;\n this.autoScrollEnabled = true;\n this.document = void 0;\n this.activated = false;\n this.initialCoordinates = void 0;\n this.timeoutId = null;\n this.listeners = void 0;\n this.documentListeners = void 0;\n this.windowListeners = void 0;\n this.props = props;\n this.events = events;\n const {\n event\n } = props;\n const {\n target\n } = event;\n this.props = props;\n this.events = events;\n this.document = getOwnerDocument(target);\n this.documentListeners = new Listeners(this.document);\n this.listeners = new Listeners(listenerTarget);\n this.windowListeners = new Listeners(getWindow(target));\n this.initialCoordinates = (_getEventCoordinates = getEventCoordinates(event)) != null ? _getEventCoordinates : defaultCoordinates;\n this.handleStart = this.handleStart.bind(this);\n this.handleMove = this.handleMove.bind(this);\n this.handleEnd = this.handleEnd.bind(this);\n this.handleCancel = this.handleCancel.bind(this);\n this.handleKeydown = this.handleKeydown.bind(this);\n this.removeTextSelection = this.removeTextSelection.bind(this);\n this.attach();\n }\n\n attach() {\n const {\n events,\n props: {\n options: {\n activationConstraint\n }\n }\n } = this;\n this.listeners.add(events.move.name, this.handleMove, {\n passive: false\n });\n this.listeners.add(events.end.name, this.handleEnd);\n this.windowListeners.add(EventName.Resize, this.handleCancel);\n this.windowListeners.add(EventName.DragStart, preventDefault);\n this.windowListeners.add(EventName.VisibilityChange, this.handleCancel);\n this.windowListeners.add(EventName.ContextMenu, preventDefault);\n this.documentListeners.add(EventName.Keydown, this.handleKeydown);\n\n if (activationConstraint) {\n if (isDistanceConstraint(activationConstraint)) {\n return;\n }\n\n if (isDelayConstraint(activationConstraint)) {\n this.timeoutId = setTimeout(this.handleStart, activationConstraint.delay);\n return;\n }\n }\n\n this.handleStart();\n }\n\n detach() {\n this.listeners.removeAll();\n this.windowListeners.removeAll(); // Wait until the next event loop before removing document listeners\n // This is necessary because we listen for `click` and `selection` events on the document\n\n setTimeout(this.documentListeners.removeAll, 50);\n\n if (this.timeoutId !== null) {\n clearTimeout(this.timeoutId);\n this.timeoutId = null;\n }\n }\n\n handleStart() {\n const {\n initialCoordinates\n } = this;\n const {\n onStart\n } = this.props;\n\n if (initialCoordinates) {\n this.activated = true; // Stop propagation of click events once activation constraints are met\n\n this.documentListeners.add(EventName.Click, stopPropagation, {\n capture: true\n }); // Remove any text selection from the document\n\n this.removeTextSelection(); // Prevent further text selection while dragging\n\n this.documentListeners.add(EventName.SelectionChange, this.removeTextSelection);\n onStart(initialCoordinates);\n }\n }\n\n handleMove(event) {\n var _getEventCoordinates2;\n\n const {\n activated,\n initialCoordinates,\n props\n } = this;\n const {\n onMove,\n options: {\n activationConstraint\n }\n } = props;\n\n if (!initialCoordinates) {\n return;\n }\n\n const coordinates = (_getEventCoordinates2 = getEventCoordinates(event)) != null ? _getEventCoordinates2 : defaultCoordinates;\n const delta = subtract(initialCoordinates, coordinates);\n\n if (!activated && activationConstraint) {\n // Constraint validation\n if (isDelayConstraint(activationConstraint)) {\n if (hasExceededDistance(delta, activationConstraint.tolerance)) {\n return this.handleCancel();\n }\n\n return;\n }\n\n if (isDistanceConstraint(activationConstraint)) {\n if (activationConstraint.tolerance != null && hasExceededDistance(delta, activationConstraint.tolerance)) {\n return this.handleCancel();\n }\n\n if (hasExceededDistance(delta, activationConstraint.distance)) {\n return this.handleStart();\n }\n\n return;\n }\n }\n\n if (event.cancelable) {\n event.preventDefault();\n }\n\n onMove(coordinates);\n }\n\n handleEnd() {\n const {\n onEnd\n } = this.props;\n this.detach();\n onEnd();\n }\n\n handleCancel() {\n const {\n onCancel\n } = this.props;\n this.detach();\n onCancel();\n }\n\n handleKeydown(event) {\n if (event.code === KeyboardCode.Esc) {\n this.handleCancel();\n }\n }\n\n removeTextSelection() {\n var _this$document$getSel;\n\n (_this$document$getSel = this.document.getSelection()) == null ? void 0 : _this$document$getSel.removeAllRanges();\n }\n\n}\n\nconst events = {\n move: {\n name: 'pointermove'\n },\n end: {\n name: 'pointerup'\n }\n};\nclass PointerSensor extends AbstractPointerSensor {\n constructor(props) {\n const {\n event\n } = props; // Pointer events stop firing if the target is unmounted while dragging\n // Therefore we attach listeners to the owner document instead\n\n const listenerTarget = getOwnerDocument(event.target);\n super(props, events, listenerTarget);\n }\n\n}\nPointerSensor.activators = [{\n eventName: 'onPointerDown',\n handler: (_ref, _ref2) => {\n let {\n nativeEvent: event\n } = _ref;\n let {\n onActivation\n } = _ref2;\n\n if (!event.isPrimary || event.button !== 0) {\n return false;\n }\n\n onActivation == null ? void 0 : onActivation({\n event\n });\n return true;\n }\n}];\n\nconst events$1 = {\n move: {\n name: 'mousemove'\n },\n end: {\n name: 'mouseup'\n }\n};\nvar MouseButton;\n\n(function (MouseButton) {\n MouseButton[MouseButton[\"RightClick\"] = 2] = \"RightClick\";\n})(MouseButton || (MouseButton = {}));\n\nclass MouseSensor extends AbstractPointerSensor {\n constructor(props) {\n super(props, events$1, getOwnerDocument(props.event.target));\n }\n\n}\nMouseSensor.activators = [{\n eventName: 'onMouseDown',\n handler: (_ref, _ref2) => {\n let {\n nativeEvent: event\n } = _ref;\n let {\n onActivation\n } = _ref2;\n\n if (event.button === MouseButton.RightClick) {\n return false;\n }\n\n onActivation == null ? void 0 : onActivation({\n event\n });\n return true;\n }\n}];\n\nconst events$2 = {\n move: {\n name: 'touchmove'\n },\n end: {\n name: 'touchend'\n }\n};\nclass TouchSensor extends AbstractPointerSensor {\n constructor(props) {\n super(props, events$2);\n }\n\n static setup() {\n // Adding a non-capture and non-passive `touchmove` listener in order\n // to force `event.preventDefault()` calls to work in dynamically added\n // touchmove event handlers. This is required for iOS Safari.\n window.addEventListener(events$2.move.name, noop, {\n capture: false,\n passive: false\n });\n return function teardown() {\n window.removeEventListener(events$2.move.name, noop);\n }; // We create a new handler because the teardown function of another sensor\n // could remove our event listener if we use a referentially equal listener.\n\n function noop() {}\n }\n\n}\nTouchSensor.activators = [{\n eventName: 'onTouchStart',\n handler: (_ref, _ref2) => {\n let {\n nativeEvent: event\n } = _ref;\n let {\n onActivation\n } = _ref2;\n const {\n touches\n } = event;\n\n if (touches.length > 1) {\n return false;\n }\n\n onActivation == null ? void 0 : onActivation({\n event\n });\n return true;\n }\n}];\n\nvar AutoScrollActivator;\n\n(function (AutoScrollActivator) {\n AutoScrollActivator[AutoScrollActivator[\"Pointer\"] = 0] = \"Pointer\";\n AutoScrollActivator[AutoScrollActivator[\"DraggableRect\"] = 1] = \"DraggableRect\";\n})(AutoScrollActivator || (AutoScrollActivator = {}));\n\nvar TraversalOrder;\n\n(function (TraversalOrder) {\n TraversalOrder[TraversalOrder[\"TreeOrder\"] = 0] = \"TreeOrder\";\n TraversalOrder[TraversalOrder[\"ReversedTreeOrder\"] = 1] = \"ReversedTreeOrder\";\n})(TraversalOrder || (TraversalOrder = {}));\n\nfunction useAutoScroller(_ref) {\n let {\n acceleration,\n activator = AutoScrollActivator.Pointer,\n canScroll,\n draggingRect,\n enabled,\n interval = 5,\n order = TraversalOrder.TreeOrder,\n pointerCoordinates,\n scrollableAncestors,\n scrollableAncestorRects,\n delta,\n threshold\n } = _ref;\n const scrollIntent = useScrollIntent({\n delta,\n disabled: !enabled\n });\n const [setAutoScrollInterval, clearAutoScrollInterval] = useInterval();\n const scrollSpeed = useRef({\n x: 0,\n y: 0\n });\n const scrollDirection = useRef({\n x: 0,\n y: 0\n });\n const rect = useMemo(() => {\n switch (activator) {\n case AutoScrollActivator.Pointer:\n return pointerCoordinates ? {\n top: pointerCoordinates.y,\n bottom: pointerCoordinates.y,\n left: pointerCoordinates.x,\n right: pointerCoordinates.x\n } : null;\n\n case AutoScrollActivator.DraggableRect:\n return draggingRect;\n }\n }, [activator, draggingRect, pointerCoordinates]);\n const scrollContainerRef = useRef(null);\n const autoScroll = useCallback(() => {\n const scrollContainer = scrollContainerRef.current;\n\n if (!scrollContainer) {\n return;\n }\n\n const scrollLeft = scrollSpeed.current.x * scrollDirection.current.x;\n const scrollTop = scrollSpeed.current.y * scrollDirection.current.y;\n scrollContainer.scrollBy(scrollLeft, scrollTop);\n }, []);\n const sortedScrollableAncestors = useMemo(() => order === TraversalOrder.TreeOrder ? [...scrollableAncestors].reverse() : scrollableAncestors, [order, scrollableAncestors]);\n useEffect(() => {\n if (!enabled || !scrollableAncestors.length || !rect) {\n clearAutoScrollInterval();\n return;\n }\n\n for (const scrollContainer of sortedScrollableAncestors) {\n if ((canScroll == null ? void 0 : canScroll(scrollContainer)) === false) {\n continue;\n }\n\n const index = scrollableAncestors.indexOf(scrollContainer);\n const scrollContainerRect = scrollableAncestorRects[index];\n\n if (!scrollContainerRect) {\n continue;\n }\n\n const {\n direction,\n speed\n } = getScrollDirectionAndSpeed(scrollContainer, scrollContainerRect, rect, acceleration, threshold);\n\n for (const axis of ['x', 'y']) {\n if (!scrollIntent[axis][direction[axis]]) {\n speed[axis] = 0;\n direction[axis] = 0;\n }\n }\n\n if (speed.x > 0 || speed.y > 0) {\n clearAutoScrollInterval();\n scrollContainerRef.current = scrollContainer;\n setAutoScrollInterval(autoScroll, interval);\n scrollSpeed.current = speed;\n scrollDirection.current = direction;\n return;\n }\n }\n\n scrollSpeed.current = {\n x: 0,\n y: 0\n };\n scrollDirection.current = {\n x: 0,\n y: 0\n };\n clearAutoScrollInterval();\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [acceleration, autoScroll, canScroll, clearAutoScrollInterval, enabled, interval, // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(rect), // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(scrollIntent), setAutoScrollInterval, scrollableAncestors, sortedScrollableAncestors, scrollableAncestorRects, // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(threshold)]);\n}\nconst defaultScrollIntent = {\n x: {\n [Direction.Backward]: false,\n [Direction.Forward]: false\n },\n y: {\n [Direction.Backward]: false,\n [Direction.Forward]: false\n }\n};\n\nfunction useScrollIntent(_ref2) {\n let {\n delta,\n disabled\n } = _ref2;\n const previousDelta = usePrevious(delta);\n return useLazyMemo(previousIntent => {\n if (disabled || !previousDelta || !previousIntent) {\n // Reset scroll intent tracking when auto-scrolling is disabled\n return defaultScrollIntent;\n }\n\n const direction = {\n x: Math.sign(delta.x - previousDelta.x),\n y: Math.sign(delta.y - previousDelta.y)\n }; // Keep track of the user intent to scroll in each direction for both axis\n\n return {\n x: {\n [Direction.Backward]: previousIntent.x[Direction.Backward] || direction.x === -1,\n [Direction.Forward]: previousIntent.x[Direction.Forward] || direction.x === 1\n },\n y: {\n [Direction.Backward]: previousIntent.y[Direction.Backward] || direction.y === -1,\n [Direction.Forward]: previousIntent.y[Direction.Forward] || direction.y === 1\n }\n };\n }, [disabled, delta, previousDelta]);\n}\n\nfunction useCachedNode(draggableNodes, id) {\n const draggableNode = id !== null ? draggableNodes.get(id) : undefined;\n const node = draggableNode ? draggableNode.node.current : null;\n return useLazyMemo(cachedNode => {\n var _ref;\n\n if (id === null) {\n return null;\n } // In some cases, the draggable node can unmount while dragging\n // This is the case for virtualized lists. In those situations,\n // we fall back to the last known value for that node.\n\n\n return (_ref = node != null ? node : cachedNode) != null ? _ref : null;\n }, [node, id]);\n}\n\nfunction useCombineActivators(sensors, getSyntheticHandler) {\n return useMemo(() => sensors.reduce((accumulator, sensor) => {\n const {\n sensor: Sensor\n } = sensor;\n const sensorActivators = Sensor.activators.map(activator => ({\n eventName: activator.eventName,\n handler: getSyntheticHandler(activator.handler, sensor)\n }));\n return [...accumulator, ...sensorActivators];\n }, []), [sensors, getSyntheticHandler]);\n}\n\nvar MeasuringStrategy;\n\n(function (MeasuringStrategy) {\n MeasuringStrategy[MeasuringStrategy[\"Always\"] = 0] = \"Always\";\n MeasuringStrategy[MeasuringStrategy[\"BeforeDragging\"] = 1] = \"BeforeDragging\";\n MeasuringStrategy[MeasuringStrategy[\"WhileDragging\"] = 2] = \"WhileDragging\";\n})(MeasuringStrategy || (MeasuringStrategy = {}));\n\nvar MeasuringFrequency;\n\n(function (MeasuringFrequency) {\n MeasuringFrequency[\"Optimized\"] = \"optimized\";\n})(MeasuringFrequency || (MeasuringFrequency = {}));\n\nconst defaultValue = /*#__PURE__*/new Map();\nfunction useDroppableMeasuring(containers, _ref) {\n let {\n dragging,\n dependencies,\n config\n } = _ref;\n const [queue, setQueue] = useState(null);\n const {\n frequency,\n measure,\n strategy\n } = config;\n const containersRef = useRef(containers);\n const disabled = isDisabled();\n const disabledRef = useLatestValue(disabled);\n const measureDroppableContainers = useCallback(function (ids) {\n if (ids === void 0) {\n ids = [];\n }\n\n if (disabledRef.current) {\n return;\n }\n\n setQueue(value => {\n if (value === null) {\n return ids;\n }\n\n return value.concat(ids.filter(id => !value.includes(id)));\n });\n }, [disabledRef]);\n const timeoutId = useRef(null);\n const droppableRects = useLazyMemo(previousValue => {\n if (disabled && !dragging) {\n return defaultValue;\n }\n\n if (!previousValue || previousValue === defaultValue || containersRef.current !== containers || queue != null) {\n const map = new Map();\n\n for (let container of containers) {\n if (!container) {\n continue;\n }\n\n if (queue && queue.length > 0 && !queue.includes(container.id) && container.rect.current) {\n // This container does not need to be re-measured\n map.set(container.id, container.rect.current);\n continue;\n }\n\n const node = container.node.current;\n const rect = node ? new Rect(measure(node), node) : null;\n container.rect.current = rect;\n\n if (rect) {\n map.set(container.id, rect);\n }\n }\n\n return map;\n }\n\n return previousValue;\n }, [containers, queue, dragging, disabled, measure]);\n useEffect(() => {\n containersRef.current = containers;\n }, [containers]);\n useEffect(() => {\n if (disabled) {\n return;\n }\n\n measureDroppableContainers();\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [dragging, disabled]);\n useEffect(() => {\n if (queue && queue.length > 0) {\n setQueue(null);\n }\n }, //eslint-disable-next-line react-hooks/exhaustive-deps\n [JSON.stringify(queue)]);\n useEffect(() => {\n if (disabled || typeof frequency !== 'number' || timeoutId.current !== null) {\n return;\n }\n\n timeoutId.current = setTimeout(() => {\n measureDroppableContainers();\n timeoutId.current = null;\n }, frequency);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [frequency, disabled, measureDroppableContainers, ...dependencies]);\n return {\n droppableRects,\n measureDroppableContainers,\n measuringScheduled: queue != null\n };\n\n function isDisabled() {\n switch (strategy) {\n case MeasuringStrategy.Always:\n return false;\n\n case MeasuringStrategy.BeforeDragging:\n return dragging;\n\n default:\n return !dragging;\n }\n }\n}\n\nfunction useInitialValue(value, computeFn) {\n return useLazyMemo(previousValue => {\n if (!value) {\n return null;\n }\n\n if (previousValue) {\n return previousValue;\n }\n\n return typeof computeFn === 'function' ? computeFn(value) : value;\n }, [computeFn, value]);\n}\n\nfunction useInitialRect(node, measure) {\n return useInitialValue(node, measure);\n}\n\n/**\r\n * Returns a new MutationObserver instance.\r\n * If `MutationObserver` is undefined in the execution environment, returns `undefined`.\r\n */\n\nfunction useMutationObserver(_ref) {\n let {\n callback,\n disabled\n } = _ref;\n const handleMutations = useEvent(callback);\n const mutationObserver = useMemo(() => {\n if (disabled || typeof window === 'undefined' || typeof window.MutationObserver === 'undefined') {\n return undefined;\n }\n\n const {\n MutationObserver\n } = window;\n return new MutationObserver(handleMutations);\n }, [handleMutations, disabled]);\n useEffect(() => {\n return () => mutationObserver == null ? void 0 : mutationObserver.disconnect();\n }, [mutationObserver]);\n return mutationObserver;\n}\n\n/**\r\n * Returns a new ResizeObserver instance bound to the `onResize` callback.\r\n * If `ResizeObserver` is undefined in the execution environment, returns `undefined`.\r\n */\n\nfunction useResizeObserver(_ref) {\n let {\n callback,\n disabled\n } = _ref;\n const handleResize = useEvent(callback);\n const resizeObserver = useMemo(() => {\n if (disabled || typeof window === 'undefined' || typeof window.ResizeObserver === 'undefined') {\n return undefined;\n }\n\n const {\n ResizeObserver\n } = window;\n return new ResizeObserver(handleResize);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [disabled]);\n useEffect(() => {\n return () => resizeObserver == null ? void 0 : resizeObserver.disconnect();\n }, [resizeObserver]);\n return resizeObserver;\n}\n\nfunction defaultMeasure(element) {\n return new Rect(getClientRect(element), element);\n}\n\nfunction useRect(element, measure, fallbackRect) {\n if (measure === void 0) {\n measure = defaultMeasure;\n }\n\n const [rect, measureRect] = useReducer(reducer, null);\n const mutationObserver = useMutationObserver({\n callback(records) {\n if (!element) {\n return;\n }\n\n for (const record of records) {\n const {\n type,\n target\n } = record;\n\n if (type === 'childList' && target instanceof HTMLElement && target.contains(element)) {\n measureRect();\n break;\n }\n }\n }\n\n });\n const resizeObserver = useResizeObserver({\n callback: measureRect\n });\n useIsomorphicLayoutEffect(() => {\n measureRect();\n\n if (element) {\n resizeObserver == null ? void 0 : resizeObserver.observe(element);\n mutationObserver == null ? void 0 : mutationObserver.observe(document.body, {\n childList: true,\n subtree: true\n });\n } else {\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n mutationObserver == null ? void 0 : mutationObserver.disconnect();\n }\n }, [element]);\n return rect;\n\n function reducer(currentRect) {\n if (!element) {\n return null;\n }\n\n if (element.isConnected === false) {\n var _ref;\n\n // Fall back to last rect we measured if the element is\n // no longer connected to the DOM.\n return (_ref = currentRect != null ? currentRect : fallbackRect) != null ? _ref : null;\n }\n\n const newRect = measure(element);\n\n if (JSON.stringify(currentRect) === JSON.stringify(newRect)) {\n return currentRect;\n }\n\n return newRect;\n }\n}\n\nfunction useRectDelta(rect) {\n const initialRect = useInitialValue(rect);\n return getRectDelta(rect, initialRect);\n}\n\nconst defaultValue$1 = [];\nfunction useScrollableAncestors(node) {\n const previousNode = useRef(node);\n const ancestors = useLazyMemo(previousValue => {\n if (!node) {\n return defaultValue$1;\n }\n\n if (previousValue && previousValue !== defaultValue$1 && node && previousNode.current && node.parentNode === previousNode.current.parentNode) {\n return previousValue;\n }\n\n return getScrollableAncestors(node);\n }, [node]);\n useEffect(() => {\n previousNode.current = node;\n }, [node]);\n return ancestors;\n}\n\nfunction useScrollOffsets(elements) {\n const [scrollCoordinates, setScrollCoordinates] = useState(null);\n const prevElements = useRef(elements); // To-do: Throttle the handleScroll callback\n\n const handleScroll = useCallback(event => {\n const scrollingElement = getScrollableElement(event.target);\n\n if (!scrollingElement) {\n return;\n }\n\n setScrollCoordinates(scrollCoordinates => {\n if (!scrollCoordinates) {\n return null;\n }\n\n scrollCoordinates.set(scrollingElement, getScrollCoordinates(scrollingElement));\n return new Map(scrollCoordinates);\n });\n }, []);\n useEffect(() => {\n const previousElements = prevElements.current;\n\n if (elements !== previousElements) {\n cleanup(previousElements);\n const entries = elements.map(element => {\n const scrollableElement = getScrollableElement(element);\n\n if (scrollableElement) {\n scrollableElement.addEventListener('scroll', handleScroll, {\n passive: true\n });\n return [scrollableElement, getScrollCoordinates(scrollableElement)];\n }\n\n return null;\n }).filter(entry => entry != null);\n setScrollCoordinates(entries.length ? new Map(entries) : null);\n prevElements.current = elements;\n }\n\n return () => {\n cleanup(elements);\n cleanup(previousElements);\n };\n\n function cleanup(elements) {\n elements.forEach(element => {\n const scrollableElement = getScrollableElement(element);\n scrollableElement == null ? void 0 : scrollableElement.removeEventListener('scroll', handleScroll);\n });\n }\n }, [handleScroll, elements]);\n return useMemo(() => {\n if (elements.length) {\n return scrollCoordinates ? Array.from(scrollCoordinates.values()).reduce((acc, coordinates) => add(acc, coordinates), defaultCoordinates) : getScrollOffsets(elements);\n }\n\n return defaultCoordinates;\n }, [elements, scrollCoordinates]);\n}\n\nfunction useScrollOffsetsDelta(scrollOffsets, dependencies) {\n if (dependencies === void 0) {\n dependencies = [];\n }\n\n const initialScrollOffsets = useRef(null);\n useEffect(() => {\n initialScrollOffsets.current = null;\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n dependencies);\n useEffect(() => {\n const hasScrollOffsets = scrollOffsets !== defaultCoordinates;\n\n if (hasScrollOffsets && !initialScrollOffsets.current) {\n initialScrollOffsets.current = scrollOffsets;\n }\n\n if (!hasScrollOffsets && initialScrollOffsets.current) {\n initialScrollOffsets.current = null;\n }\n }, [scrollOffsets]);\n return initialScrollOffsets.current ? subtract(scrollOffsets, initialScrollOffsets.current) : defaultCoordinates;\n}\n\nfunction useSensorSetup(sensors) {\n useEffect(() => {\n if (!canUseDOM) {\n return;\n }\n\n const teardownFns = sensors.map(_ref => {\n let {\n sensor\n } = _ref;\n return sensor.setup == null ? void 0 : sensor.setup();\n });\n return () => {\n for (const teardown of teardownFns) {\n teardown == null ? void 0 : teardown();\n }\n };\n }, // TO-DO: Sensors length could theoretically change which would not be a valid dependency\n // eslint-disable-next-line react-hooks/exhaustive-deps\n sensors.map(_ref2 => {\n let {\n sensor\n } = _ref2;\n return sensor;\n }));\n}\n\nfunction useSyntheticListeners(listeners, id) {\n return useMemo(() => {\n return listeners.reduce((acc, _ref) => {\n let {\n eventName,\n handler\n } = _ref;\n\n acc[eventName] = event => {\n handler(event, id);\n };\n\n return acc;\n }, {});\n }, [listeners, id]);\n}\n\nfunction useWindowRect(element) {\n return useMemo(() => element ? getWindowClientRect(element) : null, [element]);\n}\n\nconst defaultValue$2 = [];\nfunction useRects(elements, measure) {\n if (measure === void 0) {\n measure = getClientRect;\n }\n\n const [firstElement] = elements;\n const windowRect = useWindowRect(firstElement ? getWindow(firstElement) : null);\n const [rects, measureRects] = useReducer(reducer, defaultValue$2);\n const resizeObserver = useResizeObserver({\n callback: measureRects\n });\n\n if (elements.length > 0 && rects === defaultValue$2) {\n measureRects();\n }\n\n useIsomorphicLayoutEffect(() => {\n if (elements.length) {\n elements.forEach(element => resizeObserver == null ? void 0 : resizeObserver.observe(element));\n } else {\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n measureRects();\n }\n }, [elements]);\n return rects;\n\n function reducer() {\n if (!elements.length) {\n return defaultValue$2;\n }\n\n return elements.map(element => isDocumentScrollingElement(element) ? windowRect : new Rect(measure(element), element));\n }\n}\n\nfunction getMeasurableNode(node) {\n if (!node) {\n return null;\n }\n\n if (node.children.length > 1) {\n return node;\n }\n\n const firstChild = node.children[0];\n return isHTMLElement(firstChild) ? firstChild : node;\n}\n\nfunction useDragOverlayMeasuring(_ref) {\n let {\n measure\n } = _ref;\n const [rect, setRect] = useState(null);\n const handleResize = useCallback(entries => {\n for (const {\n target\n } of entries) {\n if (isHTMLElement(target)) {\n setRect(rect => {\n const newRect = measure(target);\n return rect ? { ...rect,\n width: newRect.width,\n height: newRect.height\n } : newRect;\n });\n break;\n }\n }\n }, [measure]);\n const resizeObserver = useResizeObserver({\n callback: handleResize\n });\n const handleNodeChange = useCallback(element => {\n const node = getMeasurableNode(element);\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n\n if (node) {\n resizeObserver == null ? void 0 : resizeObserver.observe(node);\n }\n\n setRect(node ? measure(node) : null);\n }, [measure, resizeObserver]);\n const [nodeRef, setRef] = useNodeRef(handleNodeChange);\n return useMemo(() => ({\n nodeRef,\n rect,\n setRef\n }), [rect, nodeRef, setRef]);\n}\n\nconst defaultSensors = [{\n sensor: PointerSensor,\n options: {}\n}, {\n sensor: KeyboardSensor,\n options: {}\n}];\nconst defaultData = {\n current: {}\n};\nconst defaultMeasuringConfiguration = {\n draggable: {\n measure: getTransformAgnosticClientRect\n },\n droppable: {\n measure: getTransformAgnosticClientRect,\n strategy: MeasuringStrategy.WhileDragging,\n frequency: MeasuringFrequency.Optimized\n },\n dragOverlay: {\n measure: getClientRect\n }\n};\n\nclass DroppableContainersMap extends Map {\n get(id) {\n var _super$get;\n\n return id != null ? (_super$get = super.get(id)) != null ? _super$get : undefined : undefined;\n }\n\n toArray() {\n return Array.from(this.values());\n }\n\n getEnabled() {\n return this.toArray().filter(_ref => {\n let {\n disabled\n } = _ref;\n return !disabled;\n });\n }\n\n getNodeFor(id) {\n var _this$get$node$curren, _this$get;\n\n return (_this$get$node$curren = (_this$get = this.get(id)) == null ? void 0 : _this$get.node.current) != null ? _this$get$node$curren : undefined;\n }\n\n}\n\nconst defaultPublicContext = {\n activatorEvent: null,\n active: null,\n activeNode: null,\n activeNodeRect: null,\n collisions: null,\n containerNodeRect: null,\n draggableNodes: /*#__PURE__*/new Map(),\n droppableRects: /*#__PURE__*/new Map(),\n droppableContainers: /*#__PURE__*/new DroppableContainersMap(),\n over: null,\n dragOverlay: {\n nodeRef: {\n current: null\n },\n rect: null,\n setRef: noop\n },\n scrollableAncestors: [],\n scrollableAncestorRects: [],\n measuringConfiguration: defaultMeasuringConfiguration,\n measureDroppableContainers: noop,\n windowRect: null,\n measuringScheduled: false\n};\nconst defaultInternalContext = {\n activatorEvent: null,\n activators: [],\n active: null,\n activeNodeRect: null,\n ariaDescribedById: {\n draggable: ''\n },\n dispatch: noop,\n draggableNodes: /*#__PURE__*/new Map(),\n over: null,\n measureDroppableContainers: noop\n};\nconst InternalContext = /*#__PURE__*/createContext(defaultInternalContext);\nconst PublicContext = /*#__PURE__*/createContext(defaultPublicContext);\n\nfunction getInitialState() {\n return {\n draggable: {\n active: null,\n initialCoordinates: {\n x: 0,\n y: 0\n },\n nodes: new Map(),\n translate: {\n x: 0,\n y: 0\n }\n },\n droppable: {\n containers: new DroppableContainersMap()\n }\n };\n}\nfunction reducer(state, action) {\n switch (action.type) {\n case Action.DragStart:\n return { ...state,\n draggable: { ...state.draggable,\n initialCoordinates: action.initialCoordinates,\n active: action.active\n }\n };\n\n case Action.DragMove:\n if (!state.draggable.active) {\n return state;\n }\n\n return { ...state,\n draggable: { ...state.draggable,\n translate: {\n x: action.coordinates.x - state.draggable.initialCoordinates.x,\n y: action.coordinates.y - state.draggable.initialCoordinates.y\n }\n }\n };\n\n case Action.DragEnd:\n case Action.DragCancel:\n return { ...state,\n draggable: { ...state.draggable,\n active: null,\n initialCoordinates: {\n x: 0,\n y: 0\n },\n translate: {\n x: 0,\n y: 0\n }\n }\n };\n\n case Action.RegisterDroppable:\n {\n const {\n element\n } = action;\n const {\n id\n } = element;\n const containers = new DroppableContainersMap(state.droppable.containers);\n containers.set(id, element);\n return { ...state,\n droppable: { ...state.droppable,\n containers\n }\n };\n }\n\n case Action.SetDroppableDisabled:\n {\n const {\n id,\n key,\n disabled\n } = action;\n const element = state.droppable.containers.get(id);\n\n if (!element || key !== element.key) {\n return state;\n }\n\n const containers = new DroppableContainersMap(state.droppable.containers);\n containers.set(id, { ...element,\n disabled\n });\n return { ...state,\n droppable: { ...state.droppable,\n containers\n }\n };\n }\n\n case Action.UnregisterDroppable:\n {\n const {\n id,\n key\n } = action;\n const element = state.droppable.containers.get(id);\n\n if (!element || key !== element.key) {\n return state;\n }\n\n const containers = new DroppableContainersMap(state.droppable.containers);\n containers.delete(id);\n return { ...state,\n droppable: { ...state.droppable,\n containers\n }\n };\n }\n\n default:\n {\n return state;\n }\n }\n}\n\nfunction RestoreFocus(_ref) {\n let {\n disabled\n } = _ref;\n const {\n active,\n activatorEvent,\n draggableNodes\n } = useContext(InternalContext);\n const previousActivatorEvent = usePrevious(activatorEvent);\n const previousActiveId = usePrevious(active == null ? void 0 : active.id); // Restore keyboard focus on the activator node\n\n useEffect(() => {\n if (disabled) {\n return;\n }\n\n if (!activatorEvent && previousActivatorEvent && previousActiveId != null) {\n if (!isKeyboardEvent(previousActivatorEvent)) {\n return;\n }\n\n if (document.activeElement === previousActivatorEvent.target) {\n // No need to restore focus\n return;\n }\n\n const draggableNode = draggableNodes.get(previousActiveId);\n\n if (!draggableNode) {\n return;\n }\n\n const {\n activatorNode,\n node\n } = draggableNode;\n\n if (!activatorNode.current && !node.current) {\n return;\n }\n\n requestAnimationFrame(() => {\n for (const element of [activatorNode.current, node.current]) {\n if (!element) {\n continue;\n }\n\n const focusableNode = findFirstFocusableNode(element);\n\n if (focusableNode) {\n focusableNode.focus();\n break;\n }\n }\n });\n }\n }, [activatorEvent, disabled, draggableNodes, previousActiveId, previousActivatorEvent]);\n return null;\n}\n\nfunction applyModifiers(modifiers, _ref) {\n let {\n transform,\n ...args\n } = _ref;\n return modifiers != null && modifiers.length ? modifiers.reduce((accumulator, modifier) => {\n return modifier({\n transform: accumulator,\n ...args\n });\n }, transform) : transform;\n}\n\nfunction useMeasuringConfiguration(config) {\n return useMemo(() => ({\n draggable: { ...defaultMeasuringConfiguration.draggable,\n ...(config == null ? void 0 : config.draggable)\n },\n droppable: { ...defaultMeasuringConfiguration.droppable,\n ...(config == null ? void 0 : config.droppable)\n },\n dragOverlay: { ...defaultMeasuringConfiguration.dragOverlay,\n ...(config == null ? void 0 : config.dragOverlay)\n }\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [config == null ? void 0 : config.draggable, config == null ? void 0 : config.droppable, config == null ? void 0 : config.dragOverlay]);\n}\n\nfunction useLayoutShiftScrollCompensation(_ref) {\n let {\n activeNode,\n measure,\n initialRect,\n config = true\n } = _ref;\n const initialized = useRef(false);\n const {\n x,\n y\n } = typeof config === 'boolean' ? {\n x: config,\n y: config\n } : config;\n useIsomorphicLayoutEffect(() => {\n const disabled = !x && !y;\n\n if (disabled || !activeNode) {\n initialized.current = false;\n return;\n }\n\n if (initialized.current || !initialRect) {\n // Return early if layout shift scroll compensation was already attempted\n // or if there is no initialRect to compare to.\n return;\n } // Get the most up to date node ref for the active draggable\n\n\n const node = activeNode == null ? void 0 : activeNode.node.current;\n\n if (!node || node.isConnected === false) {\n // Return early if there is no attached node ref or if the node is\n // disconnected from the document.\n return;\n }\n\n const rect = measure(node);\n const rectDelta = getRectDelta(rect, initialRect);\n\n if (!x) {\n rectDelta.x = 0;\n }\n\n if (!y) {\n rectDelta.y = 0;\n } // Only perform layout shift scroll compensation once\n\n\n initialized.current = true;\n\n if (Math.abs(rectDelta.x) > 0 || Math.abs(rectDelta.y) > 0) {\n const firstScrollableAncestor = getFirstScrollableAncestor(node);\n\n if (firstScrollableAncestor) {\n firstScrollableAncestor.scrollBy({\n top: rectDelta.y,\n left: rectDelta.x\n });\n }\n }\n }, [activeNode, x, y, initialRect, measure]);\n}\n\nconst ActiveDraggableContext = /*#__PURE__*/createContext({ ...defaultCoordinates,\n scaleX: 1,\n scaleY: 1\n});\nvar Status;\n\n(function (Status) {\n Status[Status[\"Uninitialized\"] = 0] = \"Uninitialized\";\n Status[Status[\"Initializing\"] = 1] = \"Initializing\";\n Status[Status[\"Initialized\"] = 2] = \"Initialized\";\n})(Status || (Status = {}));\n\nconst DndContext = /*#__PURE__*/memo(function DndContext(_ref) {\n var _sensorContext$curren, _dragOverlay$nodeRef$, _dragOverlay$rect, _over$rect;\n\n let {\n id,\n accessibility,\n autoScroll = true,\n children,\n sensors = defaultSensors,\n collisionDetection = rectIntersection,\n measuring,\n modifiers,\n ...props\n } = _ref;\n const store = useReducer(reducer, undefined, getInitialState);\n const [state, dispatch] = store;\n const [dispatchMonitorEvent, registerMonitorListener] = useDndMonitorProvider();\n const [status, setStatus] = useState(Status.Uninitialized);\n const isInitialized = status === Status.Initialized;\n const {\n draggable: {\n active: activeId,\n nodes: draggableNodes,\n translate\n },\n droppable: {\n containers: droppableContainers\n }\n } = state;\n const node = activeId ? draggableNodes.get(activeId) : null;\n const activeRects = useRef({\n initial: null,\n translated: null\n });\n const active = useMemo(() => {\n var _node$data;\n\n return activeId != null ? {\n id: activeId,\n // It's possible for the active node to unmount while dragging\n data: (_node$data = node == null ? void 0 : node.data) != null ? _node$data : defaultData,\n rect: activeRects\n } : null;\n }, [activeId, node]);\n const activeRef = useRef(null);\n const [activeSensor, setActiveSensor] = useState(null);\n const [activatorEvent, setActivatorEvent] = useState(null);\n const latestProps = useLatestValue(props, Object.values(props));\n const draggableDescribedById = useUniqueId(\"DndDescribedBy\", id);\n const enabledDroppableContainers = useMemo(() => droppableContainers.getEnabled(), [droppableContainers]);\n const measuringConfiguration = useMeasuringConfiguration(measuring);\n const {\n droppableRects,\n measureDroppableContainers,\n measuringScheduled\n } = useDroppableMeasuring(enabledDroppableContainers, {\n dragging: isInitialized,\n dependencies: [translate.x, translate.y],\n config: measuringConfiguration.droppable\n });\n const activeNode = useCachedNode(draggableNodes, activeId);\n const activationCoordinates = useMemo(() => activatorEvent ? getEventCoordinates(activatorEvent) : null, [activatorEvent]);\n const autoScrollOptions = getAutoScrollerOptions();\n const initialActiveNodeRect = useInitialRect(activeNode, measuringConfiguration.draggable.measure);\n useLayoutShiftScrollCompensation({\n activeNode: activeId ? draggableNodes.get(activeId) : null,\n config: autoScrollOptions.layoutShiftCompensation,\n initialRect: initialActiveNodeRect,\n measure: measuringConfiguration.draggable.measure\n });\n const activeNodeRect = useRect(activeNode, measuringConfiguration.draggable.measure, initialActiveNodeRect);\n const containerNodeRect = useRect(activeNode ? activeNode.parentElement : null);\n const sensorContext = useRef({\n activatorEvent: null,\n active: null,\n activeNode,\n collisionRect: null,\n collisions: null,\n droppableRects,\n draggableNodes,\n draggingNode: null,\n draggingNodeRect: null,\n droppableContainers,\n over: null,\n scrollableAncestors: [],\n scrollAdjustedTranslate: null\n });\n const overNode = droppableContainers.getNodeFor((_sensorContext$curren = sensorContext.current.over) == null ? void 0 : _sensorContext$curren.id);\n const dragOverlay = useDragOverlayMeasuring({\n measure: measuringConfiguration.dragOverlay.measure\n }); // Use the rect of the drag overlay if it is mounted\n\n const draggingNode = (_dragOverlay$nodeRef$ = dragOverlay.nodeRef.current) != null ? _dragOverlay$nodeRef$ : activeNode;\n const draggingNodeRect = isInitialized ? (_dragOverlay$rect = dragOverlay.rect) != null ? _dragOverlay$rect : activeNodeRect : null;\n const usesDragOverlay = Boolean(dragOverlay.nodeRef.current && dragOverlay.rect); // The delta between the previous and new position of the draggable node\n // is only relevant when there is no drag overlay\n\n const nodeRectDelta = useRectDelta(usesDragOverlay ? null : activeNodeRect); // Get the window rect of the dragging node\n\n const windowRect = useWindowRect(draggingNode ? getWindow(draggingNode) : null); // Get scrollable ancestors of the dragging node\n\n const scrollableAncestors = useScrollableAncestors(isInitialized ? overNode != null ? overNode : activeNode : null);\n const scrollableAncestorRects = useRects(scrollableAncestors); // Apply modifiers\n\n const modifiedTranslate = applyModifiers(modifiers, {\n transform: {\n x: translate.x - nodeRectDelta.x,\n y: translate.y - nodeRectDelta.y,\n scaleX: 1,\n scaleY: 1\n },\n activatorEvent,\n active,\n activeNodeRect,\n containerNodeRect,\n draggingNodeRect,\n over: sensorContext.current.over,\n overlayNodeRect: dragOverlay.rect,\n scrollableAncestors,\n scrollableAncestorRects,\n windowRect\n });\n const pointerCoordinates = activationCoordinates ? add(activationCoordinates, translate) : null;\n const scrollOffsets = useScrollOffsets(scrollableAncestors); // Represents the scroll delta since dragging was initiated\n\n const scrollAdjustment = useScrollOffsetsDelta(scrollOffsets); // Represents the scroll delta since the last time the active node rect was measured\n\n const activeNodeScrollDelta = useScrollOffsetsDelta(scrollOffsets, [activeNodeRect]);\n const scrollAdjustedTranslate = add(modifiedTranslate, scrollAdjustment);\n const collisionRect = draggingNodeRect ? getAdjustedRect(draggingNodeRect, modifiedTranslate) : null;\n const collisions = active && collisionRect ? collisionDetection({\n active,\n collisionRect,\n droppableRects,\n droppableContainers: enabledDroppableContainers,\n pointerCoordinates\n }) : null;\n const overId = getFirstCollision(collisions, 'id');\n const [over, setOver] = useState(null); // When there is no drag overlay used, we need to account for the\n // window scroll delta\n\n const appliedTranslate = usesDragOverlay ? modifiedTranslate : add(modifiedTranslate, activeNodeScrollDelta);\n const transform = adjustScale(appliedTranslate, (_over$rect = over == null ? void 0 : over.rect) != null ? _over$rect : null, activeNodeRect);\n const instantiateSensor = useCallback((event, _ref2) => {\n let {\n sensor: Sensor,\n options\n } = _ref2;\n\n if (activeRef.current == null) {\n return;\n }\n\n const activeNode = draggableNodes.get(activeRef.current);\n\n if (!activeNode) {\n return;\n }\n\n const activatorEvent = event.nativeEvent;\n const sensorInstance = new Sensor({\n active: activeRef.current,\n activeNode,\n event: activatorEvent,\n options,\n // Sensors need to be instantiated with refs for arguments that change over time\n // otherwise they are frozen in time with the stale arguments\n context: sensorContext,\n\n onStart(initialCoordinates) {\n const id = activeRef.current;\n\n if (id == null) {\n return;\n }\n\n const draggableNode = draggableNodes.get(id);\n\n if (!draggableNode) {\n return;\n }\n\n const {\n onDragStart\n } = latestProps.current;\n const event = {\n active: {\n id,\n data: draggableNode.data,\n rect: activeRects\n }\n };\n unstable_batchedUpdates(() => {\n onDragStart == null ? void 0 : onDragStart(event);\n setStatus(Status.Initializing);\n dispatch({\n type: Action.DragStart,\n initialCoordinates,\n active: id\n });\n dispatchMonitorEvent({\n type: 'onDragStart',\n event\n });\n });\n },\n\n onMove(coordinates) {\n dispatch({\n type: Action.DragMove,\n coordinates\n });\n },\n\n onEnd: createHandler(Action.DragEnd),\n onCancel: createHandler(Action.DragCancel)\n });\n unstable_batchedUpdates(() => {\n setActiveSensor(sensorInstance);\n setActivatorEvent(event.nativeEvent);\n });\n\n function createHandler(type) {\n return async function handler() {\n const {\n active,\n collisions,\n over,\n scrollAdjustedTranslate\n } = sensorContext.current;\n let event = null;\n\n if (active && scrollAdjustedTranslate) {\n const {\n cancelDrop\n } = latestProps.current;\n event = {\n activatorEvent,\n active: active,\n collisions,\n delta: scrollAdjustedTranslate,\n over\n };\n\n if (type === Action.DragEnd && typeof cancelDrop === 'function') {\n const shouldCancel = await Promise.resolve(cancelDrop(event));\n\n if (shouldCancel) {\n type = Action.DragCancel;\n }\n }\n }\n\n activeRef.current = null;\n unstable_batchedUpdates(() => {\n dispatch({\n type\n });\n setStatus(Status.Uninitialized);\n setOver(null);\n setActiveSensor(null);\n setActivatorEvent(null);\n const eventName = type === Action.DragEnd ? 'onDragEnd' : 'onDragCancel';\n\n if (event) {\n const handler = latestProps.current[eventName];\n handler == null ? void 0 : handler(event);\n dispatchMonitorEvent({\n type: eventName,\n event\n });\n }\n });\n };\n }\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [draggableNodes]);\n const bindActivatorToSensorInstantiator = useCallback((handler, sensor) => {\n return (event, active) => {\n const nativeEvent = event.nativeEvent;\n const activeDraggableNode = draggableNodes.get(active);\n\n if ( // Another sensor is already instantiating\n activeRef.current !== null || // No active draggable\n !activeDraggableNode || // Event has already been captured\n nativeEvent.dndKit || nativeEvent.defaultPrevented) {\n return;\n }\n\n const activationContext = {\n active: activeDraggableNode\n };\n const shouldActivate = handler(event, sensor.options, activationContext);\n\n if (shouldActivate === true) {\n nativeEvent.dndKit = {\n capturedBy: sensor.sensor\n };\n activeRef.current = active;\n instantiateSensor(event, sensor);\n }\n };\n }, [draggableNodes, instantiateSensor]);\n const activators = useCombineActivators(sensors, bindActivatorToSensorInstantiator);\n useSensorSetup(sensors);\n useIsomorphicLayoutEffect(() => {\n if (activeNodeRect && status === Status.Initializing) {\n setStatus(Status.Initialized);\n }\n }, [activeNodeRect, status]);\n useEffect(() => {\n const {\n onDragMove\n } = latestProps.current;\n const {\n active,\n activatorEvent,\n collisions,\n over\n } = sensorContext.current;\n\n if (!active || !activatorEvent) {\n return;\n }\n\n const event = {\n active,\n activatorEvent,\n collisions,\n delta: {\n x: scrollAdjustedTranslate.x,\n y: scrollAdjustedTranslate.y\n },\n over\n };\n unstable_batchedUpdates(() => {\n onDragMove == null ? void 0 : onDragMove(event);\n dispatchMonitorEvent({\n type: 'onDragMove',\n event\n });\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [scrollAdjustedTranslate.x, scrollAdjustedTranslate.y]);\n useEffect(() => {\n const {\n active,\n activatorEvent,\n collisions,\n droppableContainers,\n scrollAdjustedTranslate\n } = sensorContext.current;\n\n if (!active || activeRef.current == null || !activatorEvent || !scrollAdjustedTranslate) {\n return;\n }\n\n const {\n onDragOver\n } = latestProps.current;\n const overContainer = droppableContainers.get(overId);\n const over = overContainer && overContainer.rect.current ? {\n id: overContainer.id,\n rect: overContainer.rect.current,\n data: overContainer.data,\n disabled: overContainer.disabled\n } : null;\n const event = {\n active,\n activatorEvent,\n collisions,\n delta: {\n x: scrollAdjustedTranslate.x,\n y: scrollAdjustedTranslate.y\n },\n over\n };\n unstable_batchedUpdates(() => {\n setOver(over);\n onDragOver == null ? void 0 : onDragOver(event);\n dispatchMonitorEvent({\n type: 'onDragOver',\n event\n });\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [overId]);\n useIsomorphicLayoutEffect(() => {\n sensorContext.current = {\n activatorEvent,\n active,\n activeNode,\n collisionRect,\n collisions,\n droppableRects,\n draggableNodes,\n draggingNode,\n draggingNodeRect,\n droppableContainers,\n over,\n scrollableAncestors,\n scrollAdjustedTranslate\n };\n activeRects.current = {\n initial: draggingNodeRect,\n translated: collisionRect\n };\n }, [active, activeNode, collisions, collisionRect, draggableNodes, draggingNode, draggingNodeRect, droppableRects, droppableContainers, over, scrollableAncestors, scrollAdjustedTranslate]);\n useAutoScroller({ ...autoScrollOptions,\n delta: translate,\n draggingRect: collisionRect,\n pointerCoordinates,\n scrollableAncestors,\n scrollableAncestorRects\n });\n const publicContext = useMemo(() => {\n const context = {\n active,\n activeNode,\n activeNodeRect,\n activatorEvent,\n collisions,\n containerNodeRect,\n dragOverlay,\n draggableNodes,\n droppableContainers,\n droppableRects,\n over,\n measureDroppableContainers,\n scrollableAncestors,\n scrollableAncestorRects,\n measuringConfiguration,\n measuringScheduled,\n windowRect\n };\n return context;\n }, [active, activeNode, activeNodeRect, activatorEvent, collisions, containerNodeRect, dragOverlay, draggableNodes, droppableContainers, droppableRects, over, measureDroppableContainers, scrollableAncestors, scrollableAncestorRects, measuringConfiguration, measuringScheduled, windowRect]);\n const internalContext = useMemo(() => {\n const context = {\n activatorEvent,\n activators,\n active,\n activeNodeRect,\n ariaDescribedById: {\n draggable: draggableDescribedById\n },\n dispatch,\n draggableNodes,\n over,\n measureDroppableContainers\n };\n return context;\n }, [activatorEvent, activators, active, activeNodeRect, dispatch, draggableDescribedById, draggableNodes, over, measureDroppableContainers]);\n return React.createElement(DndMonitorContext.Provider, {\n value: registerMonitorListener\n }, React.createElement(InternalContext.Provider, {\n value: internalContext\n }, React.createElement(PublicContext.Provider, {\n value: publicContext\n }, React.createElement(ActiveDraggableContext.Provider, {\n value: transform\n }, children)), React.createElement(RestoreFocus, {\n disabled: (accessibility == null ? void 0 : accessibility.restoreFocus) === false\n })), React.createElement(Accessibility, { ...accessibility,\n hiddenTextDescribedById: draggableDescribedById\n }));\n\n function getAutoScrollerOptions() {\n const activeSensorDisablesAutoscroll = (activeSensor == null ? void 0 : activeSensor.autoScrollEnabled) === false;\n const autoScrollGloballyDisabled = typeof autoScroll === 'object' ? autoScroll.enabled === false : autoScroll === false;\n const enabled = isInitialized && !activeSensorDisablesAutoscroll && !autoScrollGloballyDisabled;\n\n if (typeof autoScroll === 'object') {\n return { ...autoScroll,\n enabled\n };\n }\n\n return {\n enabled\n };\n }\n});\n\nconst NullContext = /*#__PURE__*/createContext(null);\nconst defaultRole = 'button';\nconst ID_PREFIX = 'Droppable';\nfunction useDraggable(_ref) {\n let {\n id,\n data,\n disabled = false,\n attributes\n } = _ref;\n const key = useUniqueId(ID_PREFIX);\n const {\n activators,\n activatorEvent,\n active,\n activeNodeRect,\n ariaDescribedById,\n draggableNodes,\n over\n } = useContext(InternalContext);\n const {\n role = defaultRole,\n roleDescription = 'draggable',\n tabIndex = 0\n } = attributes != null ? attributes : {};\n const isDragging = (active == null ? void 0 : active.id) === id;\n const transform = useContext(isDragging ? ActiveDraggableContext : NullContext);\n const [node, setNodeRef] = useNodeRef();\n const [activatorNode, setActivatorNodeRef] = useNodeRef();\n const listeners = useSyntheticListeners(activators, id);\n const dataRef = useLatestValue(data);\n useIsomorphicLayoutEffect(() => {\n draggableNodes.set(id, {\n id,\n key,\n node,\n activatorNode,\n data: dataRef\n });\n return () => {\n const node = draggableNodes.get(id);\n\n if (node && node.key === key) {\n draggableNodes.delete(id);\n }\n };\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [draggableNodes, id]);\n const memoizedAttributes = useMemo(() => ({\n role,\n tabIndex,\n 'aria-disabled': disabled,\n 'aria-pressed': isDragging && role === defaultRole ? true : undefined,\n 'aria-roledescription': roleDescription,\n 'aria-describedby': ariaDescribedById.draggable\n }), [disabled, role, tabIndex, isDragging, roleDescription, ariaDescribedById.draggable]);\n return {\n active,\n activatorEvent,\n activeNodeRect,\n attributes: memoizedAttributes,\n isDragging,\n listeners: disabled ? undefined : listeners,\n node,\n over,\n setNodeRef,\n setActivatorNodeRef,\n transform\n };\n}\n\nfunction useDndContext() {\n return useContext(PublicContext);\n}\n\nconst ID_PREFIX$1 = 'Droppable';\nconst defaultResizeObserverConfig = {\n timeout: 25\n};\nfunction useDroppable(_ref) {\n let {\n data,\n disabled = false,\n id,\n resizeObserverConfig\n } = _ref;\n const key = useUniqueId(ID_PREFIX$1);\n const {\n active,\n dispatch,\n over,\n measureDroppableContainers\n } = useContext(InternalContext);\n const previous = useRef({\n disabled\n });\n const resizeObserverConnected = useRef(false);\n const rect = useRef(null);\n const callbackId = useRef(null);\n const {\n disabled: resizeObserverDisabled,\n updateMeasurementsFor,\n timeout: resizeObserverTimeout\n } = { ...defaultResizeObserverConfig,\n ...resizeObserverConfig\n };\n const ids = useLatestValue(updateMeasurementsFor != null ? updateMeasurementsFor : id);\n const handleResize = useCallback(() => {\n if (!resizeObserverConnected.current) {\n // ResizeObserver invokes the `handleResize` callback as soon as `observe` is called,\n // assuming the element is rendered and displayed.\n resizeObserverConnected.current = true;\n return;\n }\n\n if (callbackId.current != null) {\n clearTimeout(callbackId.current);\n }\n\n callbackId.current = setTimeout(() => {\n measureDroppableContainers(Array.isArray(ids.current) ? ids.current : [ids.current]);\n callbackId.current = null;\n }, resizeObserverTimeout);\n }, //eslint-disable-next-line react-hooks/exhaustive-deps\n [resizeObserverTimeout]);\n const resizeObserver = useResizeObserver({\n callback: handleResize,\n disabled: resizeObserverDisabled || !active\n });\n const handleNodeChange = useCallback((newElement, previousElement) => {\n if (!resizeObserver) {\n return;\n }\n\n if (previousElement) {\n resizeObserver.unobserve(previousElement);\n resizeObserverConnected.current = false;\n }\n\n if (newElement) {\n resizeObserver.observe(newElement);\n }\n }, [resizeObserver]);\n const [nodeRef, setNodeRef] = useNodeRef(handleNodeChange);\n const dataRef = useLatestValue(data);\n useEffect(() => {\n if (!resizeObserver || !nodeRef.current) {\n return;\n }\n\n resizeObserver.disconnect();\n resizeObserverConnected.current = false;\n resizeObserver.observe(nodeRef.current);\n }, [nodeRef, resizeObserver]);\n useIsomorphicLayoutEffect(() => {\n dispatch({\n type: Action.RegisterDroppable,\n element: {\n id,\n key,\n disabled,\n node: nodeRef,\n rect,\n data: dataRef\n }\n });\n return () => dispatch({\n type: Action.UnregisterDroppable,\n key,\n id\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [id]);\n useEffect(() => {\n if (disabled !== previous.current.disabled) {\n dispatch({\n type: Action.SetDroppableDisabled,\n id,\n key,\n disabled\n });\n previous.current.disabled = disabled;\n }\n }, [id, key, disabled, dispatch]);\n return {\n active,\n rect,\n isOver: (over == null ? void 0 : over.id) === id,\n node: nodeRef,\n over,\n setNodeRef\n };\n}\n\nfunction AnimationManager(_ref) {\n let {\n animation,\n children\n } = _ref;\n const [clonedChildren, setClonedChildren] = useState(null);\n const [element, setElement] = useState(null);\n const previousChildren = usePrevious(children);\n\n if (!children && !clonedChildren && previousChildren) {\n setClonedChildren(previousChildren);\n }\n\n useIsomorphicLayoutEffect(() => {\n if (!element) {\n return;\n }\n\n const key = clonedChildren == null ? void 0 : clonedChildren.key;\n const id = clonedChildren == null ? void 0 : clonedChildren.props.id;\n\n if (key == null || id == null) {\n setClonedChildren(null);\n return;\n }\n\n Promise.resolve(animation(id, element)).then(() => {\n setClonedChildren(null);\n });\n }, [animation, clonedChildren, element]);\n return React.createElement(React.Fragment, null, children, clonedChildren ? cloneElement(clonedChildren, {\n ref: setElement\n }) : null);\n}\n\nconst defaultTransform = {\n x: 0,\n y: 0,\n scaleX: 1,\n scaleY: 1\n};\nfunction NullifiedContextProvider(_ref) {\n let {\n children\n } = _ref;\n return React.createElement(InternalContext.Provider, {\n value: defaultInternalContext\n }, React.createElement(ActiveDraggableContext.Provider, {\n value: defaultTransform\n }, children));\n}\n\nconst baseStyles = {\n position: 'fixed',\n touchAction: 'none'\n};\n\nconst defaultTransition = activatorEvent => {\n const isKeyboardActivator = isKeyboardEvent(activatorEvent);\n return isKeyboardActivator ? 'transform 250ms ease' : undefined;\n};\n\nconst PositionedOverlay = /*#__PURE__*/forwardRef((_ref, ref) => {\n let {\n as,\n activatorEvent,\n adjustScale,\n children,\n className,\n rect,\n style,\n transform,\n transition = defaultTransition\n } = _ref;\n\n if (!rect) {\n return null;\n }\n\n const scaleAdjustedTransform = adjustScale ? transform : { ...transform,\n scaleX: 1,\n scaleY: 1\n };\n const styles = { ...baseStyles,\n width: rect.width,\n height: rect.height,\n top: rect.top,\n left: rect.left,\n transform: CSS.Transform.toString(scaleAdjustedTransform),\n transformOrigin: adjustScale && activatorEvent ? getRelativeTransformOrigin(activatorEvent, rect) : undefined,\n transition: typeof transition === 'function' ? transition(activatorEvent) : transition,\n ...style\n };\n return React.createElement(as, {\n className,\n style: styles,\n ref\n }, children);\n});\n\nconst defaultDropAnimationSideEffects = options => _ref => {\n let {\n active,\n dragOverlay\n } = _ref;\n const originalStyles = {};\n const {\n styles,\n className\n } = options;\n\n if (styles != null && styles.active) {\n for (const [key, value] of Object.entries(styles.active)) {\n if (value === undefined) {\n continue;\n }\n\n originalStyles[key] = active.node.style.getPropertyValue(key);\n active.node.style.setProperty(key, value);\n }\n }\n\n if (styles != null && styles.dragOverlay) {\n for (const [key, value] of Object.entries(styles.dragOverlay)) {\n if (value === undefined) {\n continue;\n }\n\n dragOverlay.node.style.setProperty(key, value);\n }\n }\n\n if (className != null && className.active) {\n active.node.classList.add(className.active);\n }\n\n if (className != null && className.dragOverlay) {\n dragOverlay.node.classList.add(className.dragOverlay);\n }\n\n return function cleanup() {\n for (const [key, value] of Object.entries(originalStyles)) {\n active.node.style.setProperty(key, value);\n }\n\n if (className != null && className.active) {\n active.node.classList.remove(className.active);\n }\n };\n};\n\nconst defaultKeyframeResolver = _ref2 => {\n let {\n transform: {\n initial,\n final\n }\n } = _ref2;\n return [{\n transform: CSS.Transform.toString(initial)\n }, {\n transform: CSS.Transform.toString(final)\n }];\n};\n\nconst defaultDropAnimationConfiguration = {\n duration: 250,\n easing: 'ease',\n keyframes: defaultKeyframeResolver,\n sideEffects: /*#__PURE__*/defaultDropAnimationSideEffects({\n styles: {\n active: {\n opacity: '0'\n }\n }\n })\n};\nfunction useDropAnimation(_ref3) {\n let {\n config,\n draggableNodes,\n droppableContainers,\n measuringConfiguration\n } = _ref3;\n return useEvent((id, node) => {\n if (config === null) {\n return;\n }\n\n const activeDraggable = draggableNodes.get(id);\n\n if (!activeDraggable) {\n return;\n }\n\n const activeNode = activeDraggable.node.current;\n\n if (!activeNode) {\n return;\n }\n\n const measurableNode = getMeasurableNode(node);\n\n if (!measurableNode) {\n return;\n }\n\n const {\n transform\n } = getWindow(node).getComputedStyle(node);\n const parsedTransform = parseTransform(transform);\n\n if (!parsedTransform) {\n return;\n }\n\n const animation = typeof config === 'function' ? config : createDefaultDropAnimation(config);\n scrollIntoViewIfNeeded(activeNode, measuringConfiguration.draggable.measure);\n return animation({\n active: {\n id,\n data: activeDraggable.data,\n node: activeNode,\n rect: measuringConfiguration.draggable.measure(activeNode)\n },\n draggableNodes,\n dragOverlay: {\n node,\n rect: measuringConfiguration.dragOverlay.measure(measurableNode)\n },\n droppableContainers,\n measuringConfiguration,\n transform: parsedTransform\n });\n });\n}\n\nfunction createDefaultDropAnimation(options) {\n const {\n duration,\n easing,\n sideEffects,\n keyframes\n } = { ...defaultDropAnimationConfiguration,\n ...options\n };\n return _ref4 => {\n let {\n active,\n dragOverlay,\n transform,\n ...rest\n } = _ref4;\n\n if (!duration) {\n // Do not animate if animation duration is zero.\n return;\n }\n\n const delta = {\n x: dragOverlay.rect.left - active.rect.left,\n y: dragOverlay.rect.top - active.rect.top\n };\n const scale = {\n scaleX: transform.scaleX !== 1 ? active.rect.width * transform.scaleX / dragOverlay.rect.width : 1,\n scaleY: transform.scaleY !== 1 ? active.rect.height * transform.scaleY / dragOverlay.rect.height : 1\n };\n const finalTransform = {\n x: transform.x - delta.x,\n y: transform.y - delta.y,\n ...scale\n };\n const animationKeyframes = keyframes({ ...rest,\n active,\n dragOverlay,\n transform: {\n initial: transform,\n final: finalTransform\n }\n });\n const [firstKeyframe] = animationKeyframes;\n const lastKeyframe = animationKeyframes[animationKeyframes.length - 1];\n\n if (JSON.stringify(firstKeyframe) === JSON.stringify(lastKeyframe)) {\n // The start and end keyframes are the same, infer that there is no animation needed.\n return;\n }\n\n const cleanup = sideEffects == null ? void 0 : sideEffects({\n active,\n dragOverlay,\n ...rest\n });\n const animation = dragOverlay.node.animate(animationKeyframes, {\n duration,\n easing,\n fill: 'forwards'\n });\n return new Promise(resolve => {\n animation.onfinish = () => {\n cleanup == null ? void 0 : cleanup();\n resolve();\n };\n });\n };\n}\n\nlet key = 0;\nfunction useKey(id) {\n return useMemo(() => {\n if (id == null) {\n return;\n }\n\n key++;\n return key;\n }, [id]);\n}\n\nconst DragOverlay = /*#__PURE__*/React.memo(_ref => {\n let {\n adjustScale = false,\n children,\n dropAnimation: dropAnimationConfig,\n style,\n transition,\n modifiers,\n wrapperElement = 'div',\n className,\n zIndex = 999\n } = _ref;\n const {\n activatorEvent,\n active,\n activeNodeRect,\n containerNodeRect,\n draggableNodes,\n droppableContainers,\n dragOverlay,\n over,\n measuringConfiguration,\n scrollableAncestors,\n scrollableAncestorRects,\n windowRect\n } = useDndContext();\n const transform = useContext(ActiveDraggableContext);\n const key = useKey(active == null ? void 0 : active.id);\n const modifiedTransform = applyModifiers(modifiers, {\n activatorEvent,\n active,\n activeNodeRect,\n containerNodeRect,\n draggingNodeRect: dragOverlay.rect,\n over,\n overlayNodeRect: dragOverlay.rect,\n scrollableAncestors,\n scrollableAncestorRects,\n transform,\n windowRect\n });\n const initialRect = useInitialValue(activeNodeRect);\n const dropAnimation = useDropAnimation({\n config: dropAnimationConfig,\n draggableNodes,\n droppableContainers,\n measuringConfiguration\n }); // We need to wait for the active node to be measured before connecting the drag overlay ref\n // otherwise collisions can be computed against a mispositioned drag overlay\n\n const ref = initialRect ? dragOverlay.setRef : undefined;\n return React.createElement(NullifiedContextProvider, null, React.createElement(AnimationManager, {\n animation: dropAnimation\n }, active && key ? React.createElement(PositionedOverlay, {\n key: key,\n id: active.id,\n ref: ref,\n as: wrapperElement,\n activatorEvent: activatorEvent,\n adjustScale: adjustScale,\n className: className,\n transition: transition,\n rect: initialRect,\n style: {\n zIndex,\n ...style\n },\n transform: modifiedTransform\n }, children) : null));\n});\n\nexport { AutoScrollActivator, DndContext, DragOverlay, KeyboardCode, KeyboardSensor, MeasuringFrequency, MeasuringStrategy, MouseSensor, PointerSensor, TouchSensor, TraversalOrder, applyModifiers, closestCenter, closestCorners, defaultAnnouncements, defaultCoordinates, defaultDropAnimationConfiguration as defaultDropAnimation, defaultDropAnimationSideEffects, defaultScreenReaderInstructions, getClientRect, getFirstCollision, getScrollableAncestors, pointerWithin, rectIntersection, useDndContext, useDndMonitor, useDraggable, useDroppable, useSensor, useSensors };\n//# sourceMappingURL=core.esm.js.map\n","import React, { useMemo, useRef, useEffect, useState, useContext } from 'react';\nimport { useDndContext, getClientRect, useDroppable, useDraggable, closestCorners, getFirstCollision, getScrollableAncestors, KeyboardCode } from '@dnd-kit/core';\nimport { useUniqueId, useIsomorphicLayoutEffect, CSS, useCombinedRefs, isKeyboardEvent, subtract } from '@dnd-kit/utilities';\n\n/**\r\n * Move an array item to a different position. Returns a new array with the item moved to the new position.\r\n */\nfunction arrayMove(array, from, to) {\n const newArray = array.slice();\n newArray.splice(to < 0 ? newArray.length + to : to, 0, newArray.splice(from, 1)[0]);\n return newArray;\n}\n\n/**\r\n * Swap an array item to a different position. Returns a new array with the item swapped to the new position.\r\n */\nfunction arraySwap(array, from, to) {\n const newArray = array.slice();\n newArray[from] = array[to];\n newArray[to] = array[from];\n return newArray;\n}\n\nfunction getSortedRects(items, rects) {\n return items.reduce((accumulator, id, index) => {\n const rect = rects.get(id);\n\n if (rect) {\n accumulator[index] = rect;\n }\n\n return accumulator;\n }, Array(items.length));\n}\n\nfunction isValidIndex(index) {\n return index !== null && index >= 0;\n}\n\nfunction itemsEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n if (a.length !== b.length) {\n return false;\n }\n\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction normalizeDisabled(disabled) {\n if (typeof disabled === 'boolean') {\n return {\n draggable: disabled,\n droppable: disabled\n };\n }\n\n return disabled;\n}\n\n// To-do: We should be calculating scale transformation\nconst defaultScale = {\n scaleX: 1,\n scaleY: 1\n};\nconst horizontalListSortingStrategy = _ref => {\n var _rects$activeIndex;\n\n let {\n rects,\n activeNodeRect: fallbackActiveRect,\n activeIndex,\n overIndex,\n index\n } = _ref;\n const activeNodeRect = (_rects$activeIndex = rects[activeIndex]) != null ? _rects$activeIndex : fallbackActiveRect;\n\n if (!activeNodeRect) {\n return null;\n }\n\n const itemGap = getItemGap(rects, index, activeIndex);\n\n if (index === activeIndex) {\n const newIndexRect = rects[overIndex];\n\n if (!newIndexRect) {\n return null;\n }\n\n return {\n x: activeIndex < overIndex ? newIndexRect.left + newIndexRect.width - (activeNodeRect.left + activeNodeRect.width) : newIndexRect.left - activeNodeRect.left,\n y: 0,\n ...defaultScale\n };\n }\n\n if (index > activeIndex && index <= overIndex) {\n return {\n x: -activeNodeRect.width - itemGap,\n y: 0,\n ...defaultScale\n };\n }\n\n if (index < activeIndex && index >= overIndex) {\n return {\n x: activeNodeRect.width + itemGap,\n y: 0,\n ...defaultScale\n };\n }\n\n return {\n x: 0,\n y: 0,\n ...defaultScale\n };\n};\n\nfunction getItemGap(rects, index, activeIndex) {\n const currentRect = rects[index];\n const previousRect = rects[index - 1];\n const nextRect = rects[index + 1];\n\n if (!currentRect || !previousRect && !nextRect) {\n return 0;\n }\n\n if (activeIndex < index) {\n return previousRect ? currentRect.left - (previousRect.left + previousRect.width) : nextRect.left - (currentRect.left + currentRect.width);\n }\n\n return nextRect ? nextRect.left - (currentRect.left + currentRect.width) : currentRect.left - (previousRect.left + previousRect.width);\n}\n\nconst rectSortingStrategy = _ref => {\n let {\n rects,\n activeIndex,\n overIndex,\n index\n } = _ref;\n const newRects = arrayMove(rects, overIndex, activeIndex);\n const oldRect = rects[index];\n const newRect = newRects[index];\n\n if (!newRect || !oldRect) {\n return null;\n }\n\n return {\n x: newRect.left - oldRect.left,\n y: newRect.top - oldRect.top,\n scaleX: newRect.width / oldRect.width,\n scaleY: newRect.height / oldRect.height\n };\n};\n\nconst rectSwappingStrategy = _ref => {\n let {\n activeIndex,\n index,\n rects,\n overIndex\n } = _ref;\n let oldRect;\n let newRect;\n\n if (index === activeIndex) {\n oldRect = rects[index];\n newRect = rects[overIndex];\n }\n\n if (index === overIndex) {\n oldRect = rects[index];\n newRect = rects[activeIndex];\n }\n\n if (!newRect || !oldRect) {\n return null;\n }\n\n return {\n x: newRect.left - oldRect.left,\n y: newRect.top - oldRect.top,\n scaleX: newRect.width / oldRect.width,\n scaleY: newRect.height / oldRect.height\n };\n};\n\n// To-do: We should be calculating scale transformation\nconst defaultScale$1 = {\n scaleX: 1,\n scaleY: 1\n};\nconst verticalListSortingStrategy = _ref => {\n var _rects$activeIndex;\n\n let {\n activeIndex,\n activeNodeRect: fallbackActiveRect,\n index,\n rects,\n overIndex\n } = _ref;\n const activeNodeRect = (_rects$activeIndex = rects[activeIndex]) != null ? _rects$activeIndex : fallbackActiveRect;\n\n if (!activeNodeRect) {\n return null;\n }\n\n if (index === activeIndex) {\n const overIndexRect = rects[overIndex];\n\n if (!overIndexRect) {\n return null;\n }\n\n return {\n x: 0,\n y: activeIndex < overIndex ? overIndexRect.top + overIndexRect.height - (activeNodeRect.top + activeNodeRect.height) : overIndexRect.top - activeNodeRect.top,\n ...defaultScale$1\n };\n }\n\n const itemGap = getItemGap$1(rects, index, activeIndex);\n\n if (index > activeIndex && index <= overIndex) {\n return {\n x: 0,\n y: -activeNodeRect.height - itemGap,\n ...defaultScale$1\n };\n }\n\n if (index < activeIndex && index >= overIndex) {\n return {\n x: 0,\n y: activeNodeRect.height + itemGap,\n ...defaultScale$1\n };\n }\n\n return {\n x: 0,\n y: 0,\n ...defaultScale$1\n };\n};\n\nfunction getItemGap$1(clientRects, index, activeIndex) {\n const currentRect = clientRects[index];\n const previousRect = clientRects[index - 1];\n const nextRect = clientRects[index + 1];\n\n if (!currentRect) {\n return 0;\n }\n\n if (activeIndex < index) {\n return previousRect ? currentRect.top - (previousRect.top + previousRect.height) : nextRect ? nextRect.top - (currentRect.top + currentRect.height) : 0;\n }\n\n return nextRect ? nextRect.top - (currentRect.top + currentRect.height) : previousRect ? currentRect.top - (previousRect.top + previousRect.height) : 0;\n}\n\nconst ID_PREFIX = 'Sortable';\nconst Context = /*#__PURE__*/React.createContext({\n activeIndex: -1,\n containerId: ID_PREFIX,\n disableTransforms: false,\n items: [],\n overIndex: -1,\n useDragOverlay: false,\n sortedRects: [],\n strategy: rectSortingStrategy,\n disabled: {\n draggable: false,\n droppable: false\n }\n});\nfunction SortableContext(_ref) {\n let {\n children,\n id,\n items: userDefinedItems,\n strategy = rectSortingStrategy,\n disabled: disabledProp = false\n } = _ref;\n const {\n active,\n dragOverlay,\n droppableRects,\n over,\n measureDroppableContainers\n } = useDndContext();\n const containerId = useUniqueId(ID_PREFIX, id);\n const useDragOverlay = Boolean(dragOverlay.rect !== null);\n const items = useMemo(() => userDefinedItems.map(item => typeof item === 'object' && 'id' in item ? item.id : item), [userDefinedItems]);\n const isDragging = active != null;\n const activeIndex = active ? items.indexOf(active.id) : -1;\n const overIndex = over ? items.indexOf(over.id) : -1;\n const previousItemsRef = useRef(items);\n const itemsHaveChanged = !itemsEqual(items, previousItemsRef.current);\n const disableTransforms = overIndex !== -1 && activeIndex === -1 || itemsHaveChanged;\n const disabled = normalizeDisabled(disabledProp);\n useIsomorphicLayoutEffect(() => {\n if (itemsHaveChanged && isDragging) {\n measureDroppableContainers(items);\n }\n }, [itemsHaveChanged, items, isDragging, measureDroppableContainers]);\n useEffect(() => {\n previousItemsRef.current = items;\n }, [items]);\n const contextValue = useMemo(() => ({\n activeIndex,\n containerId,\n disabled,\n disableTransforms,\n items,\n overIndex,\n useDragOverlay,\n sortedRects: getSortedRects(items, droppableRects),\n strategy\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [activeIndex, containerId, disabled.draggable, disabled.droppable, disableTransforms, items, overIndex, droppableRects, useDragOverlay, strategy]);\n return React.createElement(Context.Provider, {\n value: contextValue\n }, children);\n}\n\nconst defaultNewIndexGetter = _ref => {\n let {\n id,\n items,\n activeIndex,\n overIndex\n } = _ref;\n return arrayMove(items, activeIndex, overIndex).indexOf(id);\n};\nconst defaultAnimateLayoutChanges = _ref2 => {\n let {\n containerId,\n isSorting,\n wasDragging,\n index,\n items,\n newIndex,\n previousItems,\n previousContainerId,\n transition\n } = _ref2;\n\n if (!transition || !wasDragging) {\n return false;\n }\n\n if (previousItems !== items && index === newIndex) {\n return false;\n }\n\n if (isSorting) {\n return true;\n }\n\n return newIndex !== index && containerId === previousContainerId;\n};\nconst defaultTransition = {\n duration: 200,\n easing: 'ease'\n};\nconst transitionProperty = 'transform';\nconst disabledTransition = /*#__PURE__*/CSS.Transition.toString({\n property: transitionProperty,\n duration: 0,\n easing: 'linear'\n});\nconst defaultAttributes = {\n roleDescription: 'sortable'\n};\n\n/*\r\n * When the index of an item changes while sorting,\r\n * we need to temporarily disable the transforms\r\n */\n\nfunction useDerivedTransform(_ref) {\n let {\n disabled,\n index,\n node,\n rect\n } = _ref;\n const [derivedTransform, setDerivedtransform] = useState(null);\n const previousIndex = useRef(index);\n useIsomorphicLayoutEffect(() => {\n if (!disabled && index !== previousIndex.current && node.current) {\n const initial = rect.current;\n\n if (initial) {\n const current = getClientRect(node.current, {\n ignoreTransform: true\n });\n const delta = {\n x: initial.left - current.left,\n y: initial.top - current.top,\n scaleX: initial.width / current.width,\n scaleY: initial.height / current.height\n };\n\n if (delta.x || delta.y) {\n setDerivedtransform(delta);\n }\n }\n }\n\n if (index !== previousIndex.current) {\n previousIndex.current = index;\n }\n }, [disabled, index, node, rect]);\n useEffect(() => {\n if (derivedTransform) {\n setDerivedtransform(null);\n }\n }, [derivedTransform]);\n return derivedTransform;\n}\n\nfunction useSortable(_ref) {\n let {\n animateLayoutChanges = defaultAnimateLayoutChanges,\n attributes: userDefinedAttributes,\n disabled: localDisabled,\n data: customData,\n getNewIndex = defaultNewIndexGetter,\n id,\n strategy: localStrategy,\n resizeObserverConfig,\n transition = defaultTransition\n } = _ref;\n const {\n items,\n containerId,\n activeIndex,\n disabled: globalDisabled,\n disableTransforms,\n sortedRects,\n overIndex,\n useDragOverlay,\n strategy: globalStrategy\n } = useContext(Context);\n const disabled = normalizeLocalDisabled(localDisabled, globalDisabled);\n const index = items.indexOf(id);\n const data = useMemo(() => ({\n sortable: {\n containerId,\n index,\n items\n },\n ...customData\n }), [containerId, customData, index, items]);\n const itemsAfterCurrentSortable = useMemo(() => items.slice(items.indexOf(id)), [items, id]);\n const {\n rect,\n node,\n isOver,\n setNodeRef: setDroppableNodeRef\n } = useDroppable({\n id,\n data,\n disabled: disabled.droppable,\n resizeObserverConfig: {\n updateMeasurementsFor: itemsAfterCurrentSortable,\n ...resizeObserverConfig\n }\n });\n const {\n active,\n activatorEvent,\n activeNodeRect,\n attributes,\n setNodeRef: setDraggableNodeRef,\n listeners,\n isDragging,\n over,\n setActivatorNodeRef,\n transform\n } = useDraggable({\n id,\n data,\n attributes: { ...defaultAttributes,\n ...userDefinedAttributes\n },\n disabled: disabled.draggable\n });\n const setNodeRef = useCombinedRefs(setDroppableNodeRef, setDraggableNodeRef);\n const isSorting = Boolean(active);\n const displaceItem = isSorting && !disableTransforms && isValidIndex(activeIndex) && isValidIndex(overIndex);\n const shouldDisplaceDragSource = !useDragOverlay && isDragging;\n const dragSourceDisplacement = shouldDisplaceDragSource && displaceItem ? transform : null;\n const strategy = localStrategy != null ? localStrategy : globalStrategy;\n const finalTransform = displaceItem ? dragSourceDisplacement != null ? dragSourceDisplacement : strategy({\n rects: sortedRects,\n activeNodeRect,\n activeIndex,\n overIndex,\n index\n }) : null;\n const newIndex = isValidIndex(activeIndex) && isValidIndex(overIndex) ? getNewIndex({\n id,\n items,\n activeIndex,\n overIndex\n }) : index;\n const activeId = active == null ? void 0 : active.id;\n const previous = useRef({\n activeId,\n items,\n newIndex,\n containerId\n });\n const itemsHaveChanged = items !== previous.current.items;\n const shouldAnimateLayoutChanges = animateLayoutChanges({\n active,\n containerId,\n isDragging,\n isSorting,\n id,\n index,\n items,\n newIndex: previous.current.newIndex,\n previousItems: previous.current.items,\n previousContainerId: previous.current.containerId,\n transition,\n wasDragging: previous.current.activeId != null\n });\n const derivedTransform = useDerivedTransform({\n disabled: !shouldAnimateLayoutChanges,\n index,\n node,\n rect\n });\n useEffect(() => {\n if (isSorting && previous.current.newIndex !== newIndex) {\n previous.current.newIndex = newIndex;\n }\n\n if (containerId !== previous.current.containerId) {\n previous.current.containerId = containerId;\n }\n\n if (items !== previous.current.items) {\n previous.current.items = items;\n }\n }, [isSorting, newIndex, containerId, items]);\n useEffect(() => {\n if (activeId === previous.current.activeId) {\n return;\n }\n\n if (activeId && !previous.current.activeId) {\n previous.current.activeId = activeId;\n return;\n }\n\n const timeoutId = setTimeout(() => {\n previous.current.activeId = activeId;\n }, 50);\n return () => clearTimeout(timeoutId);\n }, [activeId]);\n return {\n active,\n activeIndex,\n attributes,\n data,\n rect,\n index,\n newIndex,\n items,\n isOver,\n isSorting,\n isDragging,\n listeners,\n node,\n overIndex,\n over,\n setNodeRef,\n setActivatorNodeRef,\n setDroppableNodeRef,\n setDraggableNodeRef,\n transform: derivedTransform != null ? derivedTransform : finalTransform,\n transition: getTransition()\n };\n\n function getTransition() {\n if ( // Temporarily disable transitions for a single frame to set up derived transforms\n derivedTransform || // Or to prevent items jumping to back to their \"new\" position when items change\n itemsHaveChanged && previous.current.newIndex === index) {\n return disabledTransition;\n }\n\n if (shouldDisplaceDragSource && !isKeyboardEvent(activatorEvent) || !transition) {\n return undefined;\n }\n\n if (isSorting || shouldAnimateLayoutChanges) {\n return CSS.Transition.toString({ ...transition,\n property: transitionProperty\n });\n }\n\n return undefined;\n }\n}\n\nfunction normalizeLocalDisabled(localDisabled, globalDisabled) {\n var _localDisabled$dragga, _localDisabled$droppa;\n\n if (typeof localDisabled === 'boolean') {\n return {\n draggable: localDisabled,\n // Backwards compatibility\n droppable: false\n };\n }\n\n return {\n draggable: (_localDisabled$dragga = localDisabled == null ? void 0 : localDisabled.draggable) != null ? _localDisabled$dragga : globalDisabled.draggable,\n droppable: (_localDisabled$droppa = localDisabled == null ? void 0 : localDisabled.droppable) != null ? _localDisabled$droppa : globalDisabled.droppable\n };\n}\n\nfunction hasSortableData(entry) {\n if (!entry) {\n return false;\n }\n\n const data = entry.data.current;\n\n if (data && 'sortable' in data && typeof data.sortable === 'object' && 'containerId' in data.sortable && 'items' in data.sortable && 'index' in data.sortable) {\n return true;\n }\n\n return false;\n}\n\nconst directions = [KeyboardCode.Down, KeyboardCode.Right, KeyboardCode.Up, KeyboardCode.Left];\nconst sortableKeyboardCoordinates = (event, _ref) => {\n let {\n context: {\n active,\n collisionRect,\n droppableRects,\n droppableContainers,\n over,\n scrollableAncestors\n }\n } = _ref;\n\n if (directions.includes(event.code)) {\n event.preventDefault();\n\n if (!active || !collisionRect) {\n return;\n }\n\n const filteredContainers = [];\n droppableContainers.getEnabled().forEach(entry => {\n if (!entry || entry != null && entry.disabled) {\n return;\n }\n\n const rect = droppableRects.get(entry.id);\n\n if (!rect) {\n return;\n }\n\n switch (event.code) {\n case KeyboardCode.Down:\n if (collisionRect.top < rect.top) {\n filteredContainers.push(entry);\n }\n\n break;\n\n case KeyboardCode.Up:\n if (collisionRect.top > rect.top) {\n filteredContainers.push(entry);\n }\n\n break;\n\n case KeyboardCode.Left:\n if (collisionRect.left > rect.left) {\n filteredContainers.push(entry);\n }\n\n break;\n\n case KeyboardCode.Right:\n if (collisionRect.left < rect.left) {\n filteredContainers.push(entry);\n }\n\n break;\n }\n });\n const collisions = closestCorners({\n active,\n collisionRect: collisionRect,\n droppableRects,\n droppableContainers: filteredContainers,\n pointerCoordinates: null\n });\n let closestId = getFirstCollision(collisions, 'id');\n\n if (closestId === (over == null ? void 0 : over.id) && collisions.length > 1) {\n closestId = collisions[1].id;\n }\n\n if (closestId != null) {\n const activeDroppable = droppableContainers.get(active.id);\n const newDroppable = droppableContainers.get(closestId);\n const newRect = newDroppable ? droppableRects.get(newDroppable.id) : null;\n const newNode = newDroppable == null ? void 0 : newDroppable.node.current;\n\n if (newNode && newRect && activeDroppable && newDroppable) {\n const newScrollAncestors = getScrollableAncestors(newNode);\n const hasDifferentScrollAncestors = newScrollAncestors.some((element, index) => scrollableAncestors[index] !== element);\n const hasSameContainer = isSameContainer(activeDroppable, newDroppable);\n const isAfterActive = isAfter(activeDroppable, newDroppable);\n const offset = hasDifferentScrollAncestors || !hasSameContainer ? {\n x: 0,\n y: 0\n } : {\n x: isAfterActive ? collisionRect.width - newRect.width : 0,\n y: isAfterActive ? collisionRect.height - newRect.height : 0\n };\n const rectCoordinates = {\n x: newRect.left,\n y: newRect.top\n };\n const newCoordinates = offset.x && offset.y ? rectCoordinates : subtract(rectCoordinates, offset);\n return newCoordinates;\n }\n }\n }\n\n return undefined;\n};\n\nfunction isSameContainer(a, b) {\n if (!hasSortableData(a) || !hasSortableData(b)) {\n return false;\n }\n\n return a.data.current.sortable.containerId === b.data.current.sortable.containerId;\n}\n\nfunction isAfter(a, b) {\n if (!hasSortableData(a) || !hasSortableData(b)) {\n return false;\n }\n\n if (!isSameContainer(a, b)) {\n return false;\n }\n\n return a.data.current.sortable.index < b.data.current.sortable.index;\n}\n\nexport { SortableContext, arrayMove, arraySwap, defaultAnimateLayoutChanges, defaultNewIndexGetter, hasSortableData, horizontalListSortingStrategy, rectSortingStrategy, rectSwappingStrategy, sortableKeyboardCoordinates, useSortable, verticalListSortingStrategy };\n//# sourceMappingURL=sortable.esm.js.map\n","import React from \"react\";\n\nimport { useSortable } from \"@dnd-kit/sortable\";\nimport { CSS } from \"@dnd-kit/utilities\";\nimport { countBy } from \"neetocist\";\nimport { Reorder } from \"neetoicons\";\n\nconst FieldBlock = ({ field, index, fields }) => {\n const systemFieldsCount = countBy({ isSystem: true }, fields);\n\n const { attributes, listeners, setNodeRef, transform } = useSortable({\n id: field.id,\n data: { index },\n });\n\n const style = { transform: CSS.Transform.toString(transform) };\n\n return (\n <div\n ref={setNodeRef}\n {...{ style, ...attributes, ...listeners }}\n className=\"neeto-ui-text-gray-800 mb-3 flex w-full items-center space-x-4 font-medium\"\n data-cy=\"reorder-field-block\"\n >\n <div className=\"neeto-ui-bg-gray-100 neeto-ui-text-gray-700 neeto-ui-rounded-sm flex h-6 w-6 flex-shrink-0 items-center justify-center p-1\">\n {index - systemFieldsCount + 1}\n </div>\n <div className=\"neeto-ui-border-gray-400 neeto-ui-bg-white neeto-ui-rounded neeto-ui-shadow-xs flex flex-grow items-center space-x-4 border border-solid p-3\">\n <Reorder />\n <div data-cy=\"reorder-field-block-name\">{field.name}</div>\n </div>\n </div>\n );\n};\n\nexport default React.memo(FieldBlock);\n","import React, { useEffect, useRef, useState } from \"react\";\n\nimport { DndContext, closestCenter } from \"@dnd-kit/core\";\nimport {\n arrayMove,\n SortableContext,\n verticalListSortingStrategy,\n} from \"@dnd-kit/sortable\";\nimport { getQueryParams } from \"neetocommons/utils\";\nimport { Pane, Typography, Button } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n useFetchFields,\n useReorderFields,\n} from \"hooks/reactQuery/useFieldsApi\";\n\nimport FieldBlock from \"./FieldBlock\";\n\nimport { FIELD_STATES } from \"../constants\";\n\nconst ReorderPane = ({ isOpen, onClose, ownerId }) => {\n const [fields, setFields] = useState([]);\n const initialStateRef = useRef([]);\n\n const { t } = useTranslation();\n const { resource } = getQueryParams();\n\n const { mutate: reorderField, isPending: isSubmitting } = useReorderFields();\n\n const fieldParams = {\n resourceType: isEmpty(ownerId) ? resource : undefined,\n ownerId,\n state: FIELD_STATES.active,\n searchTerm: \"\",\n };\n\n const { data: { fields: allFields = [] } = {} } = useFetchFields(\n fieldParams,\n { enabled: !!resource && isOpen }\n );\n\n const handleDragEnd = ({ active, over }) => {\n if (active.id !== over.id) {\n setFields(fields =>\n arrayMove(fields, active.data.current.index, over.data.current.index)\n );\n }\n };\n\n const handleReorderSave = () => {\n const params = [];\n fields.map(\n (field, index) =>\n field.id !== allFields[index].id &&\n params.push({ id: field.id, displayOrder: index + 1 })\n );\n\n reorderField(\n { ownerId: isEmpty(ownerId) ? undefined : ownerId, fields: params },\n { onSuccess: onClose }\n );\n };\n\n useEffect(() => {\n if (isEmpty(allFields)) return;\n setFields(allFields);\n initialStateRef.current = allFields;\n }, [allFields]);\n\n return (\n <Pane {...{ isOpen, onClose }}>\n <Pane.Header>\n <Typography data-cy=\"reorder-pane-header\" style=\"h2\" weight=\"semibold\">\n {t(\"neetoFields.titles.reorderFields\")}\n </Typography>\n </Pane.Header>\n <Pane.Body>\n <Typography\n className=\"mb-3\"\n data-cy=\"reorder-pane-message\"\n style=\"body2\"\n >\n {t(\"neetoFields.messages.reorderFields\")}\n </Typography>\n <div className=\"flex w-full flex-col items-center\">\n <DndContext\n collisionDetection={closestCenter}\n onDragEnd={handleDragEnd}\n >\n <SortableContext\n items={fields}\n strategy={verticalListSortingStrategy}\n >\n {fields.map((field, index) => {\n if (field.isSystem) return null;\n\n return <FieldBlock {...{ field, fields, index }} key={index} />;\n })}\n </SortableContext>\n </DndContext>\n </div>\n </Pane.Body>\n <Pane.Footer className=\"flex items-center space-x-2\">\n <Button\n data-cy=\"save-changes-button\"\n disabled={initialStateRef.current === fields}\n label={t(\"neetoFields.labels.saveChanges\")}\n loading={isSubmitting}\n onClick={handleReorderSave}\n />\n <Button\n data-cy=\"cancel-button\"\n label={t(\"neetoFields.labels.cancel\")}\n style=\"text\"\n onClick={onClose}\n />\n </Pane.Footer>\n </Pane>\n );\n};\n\nexport default ReorderPane;\n","import React from \"react\";\n\nimport { Bar as FilterBar } from \"neetofilters\";\nimport NeetoUISubHeader from \"neetomolecules/SubHeader\";\nimport { Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\n// eslint-disable-next-line @bigbinary/neeto/no-dumb-components-with-use-translation\nconst Subheader = ({ count, searchKeywordProps }) => {\n const { t } = useTranslation();\n\n return (\n <NeetoUISubHeader\n leftActionBlock={\n <>\n <Typography\n className=\"neeto-ui-gray-800 mr-4 font-semibold\"\n data-cy=\"neeto-fields-subheader-text\"\n style=\"h4\"\n >\n {t(\"neetoFields.titles.fieldWithCount\", { count })}\n </Typography>\n <FilterBar keyword={searchKeywordProps} />\n </>\n }\n />\n );\n};\n\nexport default Subheader;\n","import React from \"react\";\n\nimport { capitalize, isPresent } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport Container from \"neetomolecules/Container\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport FieldsPane from \"components/FieldsPane\";\nimport { useFieldsDashboard } from \"hooks/useFieldsDashboard\";\n\nimport { ALL_KINDS, DEFAULT_FIELD_STATE_TAXONOMY } from \"./constants\";\nimport DeleteAlert from \"./DeleteAlert\";\nimport FieldsTable from \"./FieldsTable\";\nimport Header from \"./Header\";\nimport Menubar from \"./Menubar\";\nimport ReorderPane from \"./ReorderPane\";\nimport Subheader from \"./SubHeader\";\n\n/** @type {React.FC<import(\"types\").FieldsDashboardProps>} */\n\nconst FieldsDashboard = ({\n rowData = [],\n showOwnersInMenu: isOwnerBased = false,\n resourceType = \"\",\n allowedKinds = ALL_KINDS,\n paneProps,\n buildColumnData = ({ defaultColumns = [] }) => defaultColumns,\n breadcrumbs = [],\n showStateFilter = true,\n fieldStatesTaxonomy = DEFAULT_FIELD_STATE_TAXONOMY,\n helpDocUrl,\n helpDescription,\n nameAliases = {},\n headerTitle,\n resources, // Resources can be array of owners or array of resource types\n headerSize = \"small\",\n}) => {\n const { t } = useTranslation();\n\n const title = capitalize(\n headerTitle || t(\"neetoFields.titles.field\", PLURAL)\n );\n\n const {\n isPaneOpen,\n setIsPaneOpen,\n isDeleteAlertOpen,\n isReorderPaneOpen,\n setIsReorderPaneOpen,\n fields,\n count,\n columnData,\n selectedField,\n selectedMenu,\n ownerId,\n isFieldsFetching,\n isFieldsFetched,\n isDeleting,\n isScreenLoading,\n isMenuBarNeeded,\n showCountSubheader,\n handleDelete,\n handleAlertClose,\n handleClosePane,\n handleReorderPaneClose,\n searchInputProps,\n searchKeywordProps,\n stateFilterTabs,\n menuBarItems,\n reorderable,\n headerDisplayTitle,\n pageProps,\n setPageProps,\n } = useFieldsDashboard({\n buildColumnData,\n isOwnerBased,\n fieldStatesTaxonomy,\n nameAliases,\n title,\n resources,\n showStateFilter,\n });\n\n const headerProps = {\n reorderable,\n breadcrumbs,\n helpDocUrl,\n helpDescription,\n searchInputProps,\n setIsPaneOpen,\n setIsReorderPaneOpen,\n title: headerDisplayTitle,\n size: headerSize,\n };\n\n const showSubheader =\n showCountSubheader || isPresent(searchKeywordProps.value);\n\n return (\n <>\n {isMenuBarNeeded && <Menubar {...{ menuBarItems, title }} />}\n <Container>\n <Header {...headerProps} />\n {showSubheader && <Subheader {...{ count, searchKeywordProps }} />}\n {showStateFilter && stateFilterTabs}\n {isScreenLoading ? (\n <div className=\"flex h-screen w-full flex-grow items-center justify-center\">\n <PageLoader />\n </div>\n ) : (\n <FieldsTable\n {...{\n columnData,\n helpDescription,\n helpDocUrl,\n pageProps,\n setIsPaneOpen,\n setPageProps,\n showStateFilter,\n title,\n }}\n isFetched={isFieldsFetched}\n isFetching={isFieldsFetching}\n rowData={isEmpty(rowData) ? fields : rowData}\n totalCount={count}\n />\n )}\n <FieldsPane\n {...{ allowedKinds, selectedField }}\n additionalValidations={paneProps?.validations}\n hideRequiredSwitch={paneProps?.hideRequiredSwitch}\n initialValues={paneProps?.initialValues}\n isOpen={isPaneOpen}\n ownerId={isOwnerBased ? selectedMenu : \"\"}\n resourceType={isOwnerBased ? resourceType : selectedMenu}\n onClose={handleClosePane}\n onMutationSuccess={paneProps?.onMutationSuccess}\n >\n {paneProps?.children}\n </FieldsPane>\n </Container>\n <ReorderPane\n isOpen={isReorderPaneOpen}\n ownerId={isOwnerBased ? selectedMenu : \"\"}\n onClose={handleReorderPaneClose}\n />\n <DeleteAlert\n {...{\n handleAlertClose,\n handleDelete,\n isDeleteAlertOpen,\n isDeleting,\n ownerId,\n selectedField,\n }}\n resourceTypeName={isOwnerBased ? resourceType : selectedMenu}\n />\n </>\n );\n};\n\nexport default FieldsDashboard;\n","import { isEmpty } from \"ramda\";\n\nimport { KINDS } from \"components/FieldsDashBoard/constants\";\n\nexport const isFieldValueEmpty = (fieldKind, fieldValueData) => {\n if (fieldKind === KINDS.multiOption) return isEmpty(fieldValueData.values);\n\n if ([KINDS.timeRange, KINDS.dateRange].includes(fieldKind)) {\n return isEmpty(fieldValueData.value[0]) && isEmpty(fieldValueData.value[1]);\n }\n\n return isEmpty(fieldValueData.value);\n};\n","import axios from \"axios\";\nimport { buildUrl } from \"neetocommons/utils\";\n\nimport { FIELD_VALUES_URL, FIELD_VALUE_URL } from \"src/constants\";\n\nconst fieldValueUrl = fieldValueId =>\n buildUrl(FIELD_VALUE_URL, { fieldValueId });\n\nconst create = payload => axios.post(FIELD_VALUES_URL, payload);\n\nconst fetch = payload => axios.get(FIELD_VALUES_URL, payload);\n\nconst destroy = ({ id, payload }) =>\n axios.delete(fieldValueUrl(id), { data: payload });\n\nconst update = ({ id, payload }) => axios.patch(fieldValueUrl(id), payload);\n\nconst fieldValuesApi = { create, fetch, destroy, update };\n\nexport default fieldValuesApi;\n","import { useQuery } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport fieldValuesApi from \"apis/field_values\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst useFetchFieldValues = params =>\n useQuery({\n queryKey: [QUERY_KEYS.FIELD_VALUES, params.resource],\n queryFn: () => fieldValuesApi.fetch({ params }),\n });\n\nconst useCreateFieldValue = options =>\n useMutationWithInvalidation(fieldValuesApi.create, {\n keysToInvalidate: [[QUERY_KEYS.FIELD_VALUES]],\n ...options,\n });\n\nconst useUpdateFieldValue = options =>\n useMutationWithInvalidation(fieldValuesApi.update, {\n keysToInvalidate: [[QUERY_KEYS.FIELD_VALUES]],\n ...options,\n });\n\nconst useDeleteFieldValue = options =>\n useMutationWithInvalidation(fieldValuesApi.destroy, {\n keysToInvalidate: [[QUERY_KEYS.FIELD_VALUES]],\n ...options,\n });\n\nexport {\n useCreateFieldValue,\n useFetchFieldValues,\n useUpdateFieldValue,\n useDeleteFieldValue,\n};\n","import { useState } from \"react\";\n\nimport { assoc, head, values as getValues, isEmpty, omit } from \"ramda\";\n\nimport { isFieldValueEmpty } from \"components/FieldValuesContainer/utils\";\nimport { SUBMIT_FIELD_STATUS } from \"src/constants\";\n\nimport {\n useCreateFieldValue,\n useDeleteFieldValue,\n useUpdateFieldValue,\n} from \"./reactQuery/useFieldValuesApi\";\n\nconst useFieldValues = ({\n resourceId,\n resourceType,\n ownerId,\n queryOptions = {},\n}) => {\n const [submittingFieldDetails, setSubmittingFieldDetails] = useState({});\n\n const onMutationSuccess = (...callbackArguments) => {\n const [response = {}] = callbackArguments;\n\n setSubmittingFieldDetails(\n assoc(response.fieldValue?.fieldId, {\n status: SUBMIT_FIELD_STATUS.SUCCESS,\n })\n );\n queryOptions.onSuccess?.(...callbackArguments);\n };\n\n const onMutationError = (...callbackArguments) => {\n const [_, payload = {}] = callbackArguments;\n\n setSubmittingFieldDetails(\n assoc(payload.payload?.fieldValue?.fieldId, {\n status: SUBMIT_FIELD_STATUS.FAILED,\n })\n );\n queryOptions.onError?.(...callbackArguments);\n };\n\n const onSettled = (...callbackArguments) => {\n const [response = {}, _, request = {}] = callbackArguments;\n const fieldId =\n response.fieldValue?.fieldId || request.payload?.fieldValue?.fieldId;\n\n setTimeout(() => setSubmittingFieldDetails(omit([fieldId])), 5000);\n queryOptions.onSettled?.(...callbackArguments);\n };\n\n const updatedQueryOptions = {\n ...queryOptions,\n onSuccess: onMutationSuccess,\n onError: onMutationError,\n onSettled,\n };\n\n const { mutate: createFieldValue } = useCreateFieldValue(updatedQueryOptions);\n const { mutate: updateFieldValue } = useUpdateFieldValue(updatedQueryOptions);\n const { mutate: deleteFieldValue } = useDeleteFieldValue(updatedQueryOptions);\n\n const handleSubmit = (field, values) => {\n const fieldValue = head(getValues(values));\n setSubmittingFieldDetails(\n assoc(fieldValue.fieldId, { status: SUBMIT_FIELD_STATUS.SUBMITTING })\n );\n\n const payload = {\n fieldValue,\n resource: resourceType,\n resourceId,\n ownerId: isEmpty(ownerId) ? undefined : ownerId,\n };\n\n if (isFieldValueEmpty(field.kind, fieldValue.data)) {\n deleteFieldValue({ id: fieldValue.id, payload });\n } else {\n fieldValue.id\n ? updateFieldValue({ id: fieldValue.id, payload })\n : createFieldValue(payload);\n }\n };\n\n return { handleSubmit, submittingFieldDetails };\n};\n\nexport default useFieldValues;\n","import { useState, useRef, useEffect } from 'react';\nimport { useHistory } from 'react-router-dom';\n\nconst useNavPrompt = ({\n shouldBlock\n}) => {\n const history = useHistory();\n\n const _unblock = useRef(null);\n\n const _navPath = useRef(null);\n\n const [blocked, setBlocked] = useState(false);\n useEffect(() => {\n if (shouldBlock) {\n _unblock.current = history.block(location => {\n // need to use ref?\n setBlocked(true);\n _navPath.current = location.pathname + location.search; // $FlowFixMe - See https://github.com/ReactTraining/history/issues/728\n\n return false;\n });\n return () => {\n if (_unblock.current) {\n _unblock.current();\n }\n };\n }\n }, [shouldBlock]);\n\n const navigate = () => {\n if (_unblock.current) {\n _unblock.current();\n\n setBlocked(false);\n\n if (_navPath.current) {\n history.push(_navPath.current);\n }\n }\n };\n\n const hidePrompt = () => {\n setBlocked(false);\n };\n\n return {\n blocked,\n navigate,\n hidePrompt\n };\n};\n\nexport default useNavPrompt;","import { t } from \"i18next\";\n\nexport const DEAFULT_BLOCK_NAVIGATION_ALERT_PROPS = {\n title: t(\"neetoFields.messages.blockNavigationAlert.title\"),\n message: t(\"neetoFields.messages.blockNavigationAlert.message\"),\n submitButtonLabel: t(\n \"neetoFields.messages.blockNavigationAlert.submitButtonLabel\"\n ),\n cancelButtonLabel: t(\n \"neetoFields.messages.blockNavigationAlert.cancelButtonLabel\"\n ),\n};\n","import React from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { Alert } from \"neetoui\";\nimport { useNavPrompt } from \"react-router-nav-prompt\";\n\nimport { DEAFULT_BLOCK_NAVIGATION_ALERT_PROPS } from \"./constants\";\n\nconst BlockNavigation = ({ blockNavigation, blockNavigationAlertProps }) => {\n const { dirty } = useFormikContext();\n const { blocked, hidePrompt, navigate } = useNavPrompt({\n shouldBlock: blockNavigation && dirty,\n });\n\n const alertProps = {\n ...DEAFULT_BLOCK_NAVIGATION_ALERT_PROPS,\n ...blockNavigationAlertProps,\n };\n\n return (\n <Alert\n cancelButtonLabel={alertProps[\"cancelButtonLabel\"]}\n isOpen={blocked}\n message={alertProps[\"message\"]}\n submitButtonLabel={alertProps[\"submitButtonLabel\"]}\n title={alertProps[\"title\"]}\n onClose={hidePrompt}\n onSubmit={navigate}\n />\n );\n};\n\nexport default BlockNavigation;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { Form as NeetoUIForm } from \"neetoui/formik\";\n\nimport { getInitialFieldValue } from \"components/utils\";\n\nconst FieldValueInputWrapper = ({\n field,\n fieldValues,\n children,\n onSubmit,\n className = \"\",\n}) => (\n <NeetoUIForm\n scrollToErrorField\n className={classnames(\"flex w-full\", className)}\n formikProps={{\n initialValues: getInitialFieldValue({\n field,\n fieldValues,\n isIndividualFieldForm: true,\n }),\n onSubmit,\n enableReinitialize: true,\n }}\n >\n {children}\n </NeetoUIForm>\n);\n\nexport default FieldValueInputWrapper;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { Spinner, Typography } from \"neetoui\";\nimport { isEmpty, isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getFieldInput, getNonSystemFields } from \"components/utils\";\nimport useFieldValues from \"hooks/useFieldValues\";\nimport { useFetchFields } from \"src/hooks/reactQuery/useFieldsApi\";\n\nimport BlockNavigationAlert from \"./BlockNavigation\";\nimport FieldValueInputWrapper from \"./FieldValueInputWrapper\";\n\nconst FieldValuesContainer = ({\n resourceType = \"\",\n fieldValues,\n fields: propFields,\n ownerId = \"\",\n resourceId,\n customComponents = {},\n className = \"\",\n showBorder = true,\n formRefs,\n disabled = false,\n isRequiredColumnName,\n fieldClassName,\n onMutationSuccess = noop,\n blockNavigation = false,\n blockNavigationAlertProps = {},\n}) => {\n const { t } = useTranslation();\n\n const queryOptions = { onSuccess: onMutationSuccess };\n\n const {\n data: { fields: fetchedFields = [] } = {},\n isLoading: isFieldsLoading,\n } = useFetchFields(\n {\n resourceType: isEmpty(resourceType) ? undefined : resourceType,\n ownerId: isEmpty(ownerId) ? undefined : ownerId,\n state: \"active\",\n },\n { enabled: isNil(propFields) }\n );\n\n const { handleSubmit, submittingFieldDetails } = useFieldValues({\n resourceId,\n resourceType,\n ownerId,\n queryOptions,\n });\n\n const fields = propFields || fetchedFields;\n\n return (\n <div\n className={classnames(\n \"space-y-3 py-3\",\n {\n \"neeto-ui-border-gray-300 neeto-ui-rounded-lg neeto-ui-bg-white border px-4 py-2\":\n showBorder,\n },\n className\n )}\n >\n {isFieldsLoading ? (\n <div className=\"flex items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n getNonSystemFields(fields).map(field => {\n const Field = getFieldInput({ field, customComponents });\n\n if (Field) {\n return (\n <div\n className={classnames(fieldClassName, \"space-y-1\")}\n key={field.id}\n >\n <FieldValueInputWrapper\n {...{ field, fieldValues }}\n className={fieldClassName}\n onSubmit={values => handleSubmit(field, values)}\n >\n <div className=\"w-full\">\n <Field\n {...{\n ...field,\n disabled,\n formRefs,\n isRequiredColumnName,\n }}\n individualSubmit\n submissionStatus={\n submittingFieldDetails[field.id]?.status\n }\n />\n <BlockNavigationAlert\n {...{ blockNavigation, blockNavigationAlertProps }}\n />\n </div>\n </FieldValueInputWrapper>\n </div>\n );\n }\n\n return (\n <Typography key={field.id} style=\"body2\">\n {t(\"neetoFields.messages.invalidKind\")}\n </Typography>\n );\n })\n )}\n </div>\n );\n};\n\nexport default FieldValuesContainer;\n","import { findBy, isNotEmpty } from \"neetocist\";\nimport { dateFormat } from \"neetocommons/utils\";\n\nimport { KINDS } from \"components/FieldsDashBoard/constants\";\n\nimport { getValueFromBool } from \"../commons/FieldInputs/utils\";\n\nexport const renderDataAsText = (field, fieldValues) => {\n let fieldValueData = findBy({ fieldId: field.id }, fieldValues)?.data?.value;\n\n switch (field.kind) {\n case KINDS.date:\n return fieldValueData && dateFormat.date(fieldValueData);\n case KINDS.time:\n return fieldValueData && dateFormat.time(fieldValueData);\n case KINDS.datetime:\n return fieldValueData && dateFormat.dateTime(fieldValueData);\n case KINDS.dateRange:\n return (\n fieldValueData &&\n isNotEmpty(fieldValueData) &&\n `${dateFormat.date(fieldValueData[0])} - ${dateFormat.date(\n fieldValueData[1]\n )}`\n );\n case KINDS.timeRange:\n return (\n fieldValueData &&\n `${dateFormat.time(fieldValueData[0])} - ${dateFormat.time(\n fieldValueData[1]\n )}`\n );\n case KINDS.singleOption:\n return findBy({ id: fieldValueData }, field.data)?.label;\n case KINDS.multiOption:\n fieldValueData = findBy({ fieldId: field.id }, fieldValues)?.data?.values;\n\n return (\n fieldValueData &&\n fieldValueData\n .map(optionId => findBy({ id: optionId }, field.data)?.label)\n .join(\", \")\n );\n\n case KINDS.checkbox:\n return getValueFromBool(fieldValueData);\n\n default:\n return fieldValueData;\n }\n};\n","import React, { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { hyphenize } from \"neetocommons/utils\";\nimport { Typography } from \"neetoui\";\n\nimport FieldValueInputWrapper from \"components/FieldValuesContainer/FieldValueInputWrapper\";\nimport { getFieldInput } from \"components/utils\";\nimport useFieldValues from \"hooks/useFieldValues\";\n\nimport { DIRECT_EDIT_INPUT_FIELDS } from \"./constants\";\nimport { renderDataAsText } from \"./utils\";\n\nconst DefaultDisplayComponent = ({ value }) => (\n <Typography className=\"text-wrap\">{value}</Typography>\n);\n\nconst InlineFieldValueInput = ({\n field,\n fieldValues,\n resourceType,\n resourceId,\n ownerId = \"\",\n onMutationSuccess = noop,\n onMutate = noop,\n customDisplayComponents = {},\n}) => {\n const [editMode, setEditMode] = useState(false);\n\n const queryOptions = {\n onMutate: variables => onMutate(variables.payload || variables),\n onSuccess: (...params) => {\n setEditMode(false);\n onMutationSuccess(...params);\n },\n };\n\n const { handleSubmit } = useFieldValues({\n resourceId,\n resourceType,\n ownerId,\n queryOptions,\n });\n\n const Field = getFieldInput({ field });\n\n const fieldKind = field.kind;\n const isEditable =\n !field.isSystem &&\n (editMode || DIRECT_EDIT_INPUT_FIELDS.includes(fieldKind));\n\n const displayValue = renderDataAsText(field, fieldValues) || \"-\";\n const {\n props: customDisplayComponentProps = {},\n component: CustomDisplayComponent = null,\n } = customDisplayComponents[fieldKind] || {};\n\n const DisplayComponent = CustomDisplayComponent || DefaultDisplayComponent;\n\n return isEditable ? (\n <div data-cy={`inline-field-value-input-${hyphenize(field.name)}`}>\n <FieldValueInputWrapper\n {...{ field, fieldValues }}\n onSubmit={values => handleSubmit(field, values)}\n >\n <Field\n {...{ ...field }}\n individualSubmit\n isInline\n onBlur={() => setEditMode(false)}\n />\n </FieldValueInputWrapper>\n </div>\n ) : (\n <div\n className={classnames({ \"cursor-pointer\": !field.isSystem })}\n onClick={() => setEditMode(true)}\n >\n <DisplayComponent\n {...{ resourceId }}\n value={displayValue}\n {...customDisplayComponentProps}\n />\n </div>\n );\n};\n\nexport default InlineFieldValueInput;\n","var e=[],t=[];function n(n,r){if(n&&\"undefined\"!=typeof document){var a,s=!0===r.prepend?\"prepend\":\"append\",d=!0===r.singleTag,i=\"string\"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName(\"head\")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c()}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n))}function c(){var e=document.createElement(\"style\");if(e.setAttribute(\"type\",\"text/css\"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a=\"prepend\"===s?\"afterbegin\":\"beforeend\";return i.insertAdjacentElement(a,e),e}}export{n as default};\n"],"names":["_typeof","toPrimitive","toPropertyKey","arrayLikeToArray","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","NEETO_FIELDS_URL","FIELDS_URL","concat","FIELD_VALUES_URL","FIELD_VALUE_URL","FIELD_URL","DEPENDENCIES_URL","FIELDS_REORDER_URL","CONFIGS_URL","SUBMIT_FIELD_STATUS","SUBMITTING","SUCCESS","FAILED","arrayWithHoles","iterableToArrayLimit","nonIterableRest","objectWithoutPropertiesLoose","require$$0","KINDS","text","number","monetary","singleOption","multiOption","date","time","dateRange","timeRange","textarea","textArea","person","checkbox","regex","integer","decimal","datetime","DISPLAY_KINDS","t","single_option","multi_option","date_range","time_range","text_area","FIELD_STATES","active","inactive","DEFAULT_FIELD_STATE_TAXONOMY","ALL_KINDS","values","MENU_ITEMS","EDIT","DELETE","DIRECT_EDIT_INPUT_FIELDS","isDateTime","kind","includes","isDropdown","isTextType","dateSchema","yup","nullable","isValueEmpty","value","isEmpty","trim","isCheckboxUnchecked","isArrayEmpty","buildSchemaAllowingEmptyValue","schema","mixed","test","name","isNotEmpty","isNotNil","validateSync","buildSchemaForRequiredInputs","isNil","ValidationError","buildSchema","_ref","isRequired","getBasicValidationSchema","_ref2","fieldData","string","array","of","regexPattern","condition","matches","cleanedRegex","helpMessage","buildFieldValidationSchema","_ref3","regexCondition","patternMatchingExp","conditionFlags","match","conditionWithoutFlags","replace","sanitizedFlags","_toConsumableArray","Set","join","startsWith","endsWith","slice","RegExp","validateField","_ref5","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_ref4","fieldValue","fieldName","wrap","_callee$","_context","prev","next","object","shape","_defineProperty","validate","abrupt","t0","errors","stop","_x","apply","arguments","dateTimeToString","dateTime","dayjs","toString","getValueFromBool","getComponentDisplayName","Component","displayName","useFormikFields","fieldId","id","data","individualSubmit","formRef","formRefs","disabled","_ref$isRequiredColumn","isRequiredColumnName","_ref$isInline","isInline","_ref$onBlur","onBlur","handleBlur","noop","_ref$hasMetadataWrapp","hasMetadataWrapper","props","_objectWithoutProperties","_excluded","formikContext","useFormikContext","submitForm","dirty","isSubmitting","fieldPath","escapeString","fieldValuePath","renameKeys","current","_useField","useField","_useField2","_slicedToArray","formikFieldProps","meta","helpers","debouncedSubmitForm","useFuncDebounce","handleSubmit","setValue","getBlurHandler","undefined","getValueForField","findBy","_value","map","optionId","useEffect","touched","setTouched","fieldProps","_objectSpread","error","label","capitalize","labelProps","required","autoFocus","options","getPopupContainer","prop","Checkbox","_useFormikFields","submissionStatus","_jsx","NeetoUICheckbox","checked","onChange","target","MetadataBlock","children","_jsxs","className","Label","hyphenize","htmlFor","Spinner","Check","size","WithMetadataBlock","withMetadataBlockWrapper","_props$isInline","_props$isRequiredColu","DateOrTime","_useState","useState","_useState2","isOpen","setIsOpen","useRef","_useFormikFields$fiel","handleChange","onOpenChange","open","shouldSubmit","notEquals","TimePicker","use12Hours","format","DatePicker","showTime","timeFormat","withMetadataBlock","MultiOption","Select","isMulti","isSearchable","strategy","selectedOptions","pluck","Number","Input","type","withOnClickOutsideWrapper","WithOnClickOutsideWrapper","ref","useOnClickOutside","enabled","DateRangePicker","TimeRangePicker","RangePicker","begin","end","SingleOption","isClearable","option","Text","handleKeyDown","event","key","shiftKey","preventDefault","handleFocus","element","length","setSelectionRange","Textarea","rows","style","resize","onFocus","onKeyDown","TextArea","standardComponents","TextInput","TextAreaInput","NumberInput","DateOrTimeInput","SingleOptionInput","MultiOptionInput","RangePickerInput","getFieldInput","field","_ref$customComponents","customComponents","removeItemsWithNullData","fieldValues","filter","item","removeNoiseFromValues","pick","transformValues","formikValues","fields","allFieldValues","clone","neetoFieldValues","forEach","push","cleanedFieldValues","pipe","fieldValuesAttributes","getDefaultInitialValue","getInitialFieldValue","_ref4$fieldValues","_ref4$isIndividualFie","isIndividualFieldForm","existingFieldValueData","keyInData","newFieldValueData","getAllInitialFieldValues","getNonSystemFields","mergeInitialValues","_ref7","initialValues","initialValue","mergeAll","omit","filterBy","isSystem","charCode","charCodeAt","neetoFieldsUtils","FieldInputs","withT","Field","Typography","fieldUrl","buildUrl","dependenciesUrl","fetch","resourceType","ownerId","state","filters","_ref$pageProps","pageProps","axios","get","params","create","payload","post","show","destroy","update","put","reorder","patch","dependencies","fieldsApi","QUERY_KEYS","FIELDS","FIELD_VALUES","CONFIGS","DEPENDENCIES","DEFAULT_STALE_TIME","useFetchFields","_ref$prefixQueryKeys","prefixQueryKeys","useQuery","queryKey","queryFn","staleTime","useCreateField","useMutationWithInvalidation","keysToInvalidate","useShowField","useFetchDependencies","useUpdateField","useDestroyField","useReorderFields","arrangeOptionsDisplayOrder","index","displayOrder","buildPayload","formValues","_ref$resourceType","_ref$ownerId","isRegex","isAdditionalDataNeeded","ADDITIONAL_DATA_NEEDED_FIELD_KINDS","getPermittedKinds","allowedKinds","selectedKind","filteredKinds","FIELD_KINDS","group","generateValidationSchema","additionalValidations","BASIC_FIELD_FORM_VALIDATIONS","renderFormFooter","onClose","loading","Pane","Footer","ActionBlock","cancelButtonProps","onClick","getDefaultOption","uuidv4","PERMITTED_REGEX_PATTERN","ADVANCED_REGEX_ASSERTION_PATTERN","regexValidationSchema","message","lastIndex","lastIndexOf","substring","search","_unused","dropDownOptionsValidationSchema","min","INITIAL_FIELDS","toLabelAndValue","DEFAULT_REGEX_DATA","when","is","then","AdditionalInputs","_useTranslation","useTranslation","_useFormikContext","_useFormikContext$val","removeOption","arrayHelpers","remove","addOption","_inputs","isMetaKeyPressed","form","inputs","querySelectorAll","currentIndex","indexOf","focus","stopPropagation","FieldArray","Array","isArray","_","placeholder","suffix","Button","icon","Delete","fullWidth","FieldForm","chosenKind","_ref$kindSelectOption","kindSelectOptions","_ref$isSystem","_ref$hideRequiredSwit","hideRequiredSwitch","initialFocusField","setFieldValue","handleKindChange","Body","isDisabled","Switch","component","Add","_ref$allowedKinds","onMutationSuccess","_useCreateField","onSuccess","createField","mutate","isPending","_Fragment","Header","Form","formikProps","validationSchema","onSubmit","Edit","_ref$additionalValida","_ref$initialValues","_useShowField","_useShowField$data","_useShowField$data2","_useShowField$data2$f","isLoading","_useUpdateField","_len","args","_key","updateField","PageLoader","assoc","enableReinitialize","permittedKinds","FieldsPane","_ref$selectedField","selectedField","initialFocusRef","require","this","getMenuItems","onDeleteClick","onEditClick","isVisible","not","buildDefaultColumns","dataIndex","title","width","render","MoreDropdown","dropdownProps","menuItems","dropdownButtonProps","boolVal","renderMenuBarItems","items","isOwnerBased","selectedMenu","handleBlockClick","nameAliases","toLocaleLowerCase","MenuBar","Item","slugify","humanize","description","resource","itemLabel","renderStateFilterTabs","selectedState","fieldStatesTaxonomy","activeFieldsCount","inactiveFieldsCount","Tab","getResourceName","_ref6","_findBy2","selectedVal","_findBy","selectedName","getDashBoardTitle","resourceName","isSingleResource","displayTitle","renderNoDataHelpText","url","Trans","i18nKey","components","a","Link","to","pathname","getDeletionConfirmationMessage","_ref8","affectedResourcesCount","pluralize","count","fetchConfigs","configsApi","useFetchConfigs","useFieldsDashboard","buildColumnData","resources","showStateFilter","isPaneOpen","setIsPaneOpen","_useState3","_useState4","isDeleteAlertOpen","setIsDeleteAlertOpen","_useState5","_useState6","isReorderPaneOpen","setIsReorderPaneOpen","_useState7","_useState8","setSelectedField","_useState9","page","DEFAULT_PAGE_INDEX","pageSize","DEFAULT_PAGE_SIZE","_useState10","setPageProps","_useQueryParams","useQueryParams","searchTerm","history","useHistory","searchKeywordProps","node","_useFetchConfigs","_useFetchConfigs$data","_useFetchConfigs$data2","_useFetchConfigs$data3","owners","_useFetchConfigs$data4","resourceTypes","isConfigsLoading","useMemo","buildFiltersFromURL","fieldParams","_useFetchFields","placeholderData","keepPreviousData","_useFetchFields$data","_useFetchFields$data2","_useFetchFields$data3","reorderable","isFieldsLoading","isFieldsFetching","isFetching","isFieldsFetched","isFetched","_useDestroyField","deleteField","isDeleting","handleDelete","handleClosePane","handleEditButtonClick","handleDeleteButtonClick","handleAlertClose","handleReorderPaneClose","defaultColumns","columnData","handleMetaClick","handleURLWithDefaultValues","queryParams","_menuItems$","_menuItems$2","any","isScreenLoading","showCountSubheader","searchInputProps","isMenuBarNeeded","isSearchBarNeeded","headerDisplayTitle","stateFilterTabs","menuBarItems","DeleteAlert","resourceTypeName","_useFetchDependencies","_useFetchDependencies2","_useFetchDependencies3","Alert","submitButtonLabel","FieldsTable","totalCount","rowData","helpDocUrl","showNoDataScreen","_getQueryParams","getQueryParams","noDataProps","helpText","primaryButtonProps","TableWrapper","NoData","Table","fixedHeight","allowRowClick","currentPageNumber","defaultPageSize","handlePageChange","breadcrumbs","helpDescription","actionBlockProps","NeetoUIHeader","actionBlock","searchProps","HelpPopover","helpLinkProps","href","Menubar","NeetoUIMenuBar","showMenu","useLayoutEffect","useCallback","React","createContext","useContext","createPortal","useReducer","memo","unstable_batchedUpdates","ID_PREFIX","ID_PREFIX$1","FieldBlock","systemFieldsCount","countBy","_useSortable","useSortable","attributes","listeners","setNodeRef","transform","CSS","Transform","Reorder","ReorderPane","setFields","initialStateRef","_useReorderFields","reorderField","allFields","handleDragEnd","over","arrayMove","handleReorderSave","weight","DndContext","collisionDetection","closestCenter","onDragEnd","SortableContext","verticalListSortingStrategy","_createElement","Subheader","NeetoUISubHeader","leftActionBlock","FilterBar","keyword","FieldsDashboard","_ref$rowData","_ref$showOwnersInMenu","showOwnersInMenu","paneProps","_ref$buildColumnData","_ref2$defaultColumns","_ref$breadcrumbs","_ref$showStateFilter","_ref$fieldStatesTaxon","_ref$nameAliases","headerTitle","_ref$headerSize","headerSize","PLURAL","_useFieldsDashboard","headerProps","showSubheader","isPresent","Container","validations","isFieldValueEmpty","fieldKind","fieldValueData","fieldValueUrl","fieldValueId","fieldValuesApi","useCreateFieldValue","useUpdateFieldValue","useDeleteFieldValue","useFieldValues","resourceId","_ref$queryOptions","queryOptions","submittingFieldDetails","setSubmittingFieldDetails","_response$fieldValue","_queryOptions$onSucce","callbackArguments","_callbackArguments$","response","status","call","onMutationError","_payload$payload","_queryOptions$onError","_len2","_key2","_callbackArguments$2","onError","onSettled","_response$fieldValue2","_request$payload","_queryOptions$onSettl","_len3","_key3","_callbackArguments$3","_callbackArguments$4","request","setTimeout","updatedQueryOptions","_useCreateFieldValue","createFieldValue","_useUpdateFieldValue","updateFieldValue","_useDeleteFieldValue","deleteFieldValue","head","getValues","DEAFULT_BLOCK_NAVIGATION_ALERT_PROPS","cancelButtonLabel","BlockNavigation","blockNavigation","blockNavigationAlertProps","_useNavPrompt","useNavPrompt","shouldBlock","blocked","hidePrompt","navigate","alertProps","FieldValueInputWrapper","_ref$className","NeetoUIForm","scrollToErrorField","classnames","FieldValuesContainer","propFields","_ref$showBorder","showBorder","_ref$disabled","fieldClassName","_ref$onMutationSucces","_ref$blockNavigation","_ref$blockNavigationA","fetchedFields","_useFieldValues","_submittingFieldDetai","BlockNavigationAlert","renderDataAsText","_findBy3","dateFormat","_findBy4","DefaultDisplayComponent","InlineFieldValueInput","_ref2$ownerId","_ref2$onMutationSucce","_ref2$onMutate","onMutate","_ref2$customDisplayCo","customDisplayComponents","editMode","setEditMode","variables","isEditable","displayValue","_ref3$props","customDisplayComponentProps","_ref3$component","CustomDisplayComponent","DisplayComponent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAe,SAASA,SAAO,CAAC,CAAC,EAAE;AACnC,EAAE,yBAAyB,CAAC;AAC5B;AACA,EAAE,OAAOA,SAAO,GAAG,UAAU,IAAI,OAAO,MAAM,IAAI,QAAQ,IAAI,OAAO,MAAM,CAAC,QAAQ,GAAG,UAAU,CAAC,EAAE;AACpG,IAAI,OAAO,OAAO,CAAC,CAAC;AACpB,GAAG,GAAG,UAAU,CAAC,EAAE;AACnB,IAAI,OAAO,CAAC,IAAI,UAAU,IAAI,OAAO,MAAM,IAAI,CAAC,CAAC,WAAW,KAAK,MAAM,IAAI,CAAC,KAAK,MAAM,CAAC,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC,CAAC;AACxH,GAAG,EAAEA,SAAO,CAAC,CAAC,CAAC,CAAC;AAChB;;ACPe,SAAS,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE;AAClD,EAAE,IAAIA,SAAO,CAAC,KAAK,CAAC,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,OAAO,KAAK,CAAC;AAClE,EAAE,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACvC,EAAE,IAAI,IAAI,KAAK,SAAS,EAAE;AAC1B,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,SAAS,CAAC,CAAC;AAClD,IAAI,IAAIA,SAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,OAAO,GAAG,CAAC;AAC9C,IAAI,MAAM,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AACxE,GAAG;AACH,EAAE,OAAO,CAAC,IAAI,KAAK,QAAQ,GAAG,MAAM,GAAG,MAAM,EAAE,KAAK,CAAC,CAAC;AACtD;;ACRe,SAAS,cAAc,CAAC,GAAG,EAAE;AAC5C,EAAE,IAAI,GAAG,GAAGC,YAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AACvC,EAAE,OAAOD,SAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,GAAG,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AACvD;;ACJe,SAAS,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE;AACzD,EAAE,GAAG,GAAGE,cAAa,CAAC,GAAG,CAAC,CAAC;AAC3B,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE;AAClB,IAAI,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE;AACpC,MAAM,KAAK,EAAE,KAAK;AAClB,MAAM,UAAU,EAAE,IAAI;AACtB,MAAM,YAAY,EAAE,IAAI;AACxB,MAAM,QAAQ,EAAE,IAAI;AACpB,KAAK,CAAC,CAAC;AACP,GAAG,MAAM;AACT,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AACrB,GAAG;AACH,EAAE,OAAO,GAAG,CAAC;AACb;;ACde,SAAS,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE;AACpD,EAAE,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC;AACxD,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AACxE,EAAE,OAAO,IAAI,CAAC;AACd;;ACHe,SAAS,kBAAkB,CAAC,GAAG,EAAE;AAChD,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,OAAOC,iBAAgB,CAAC,GAAG,CAAC,CAAC;AACvD;;ACHe,SAAS,gBAAgB,CAAC,IAAI,EAAE;AAC/C,EAAE,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5H;;ACDe,SAAS,2BAA2B,CAAC,CAAC,EAAE,MAAM,EAAE;AAC/D,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO;AACjB,EAAE,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,OAAOA,iBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAChE,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACzD,EAAE,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;AAC9D,EAAE,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,KAAK,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACvD,EAAE,IAAI,CAAC,KAAK,WAAW,IAAI,0CAA0C,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAOA,iBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAClH;;ACRe,SAAS,kBAAkB,GAAG;AAC7C,EAAE,MAAM,IAAI,SAAS,CAAC,sIAAsI,CAAC,CAAC;AAC9J;;ACEe,SAAS,kBAAkB,CAAC,GAAG,EAAE;AAChD,EAAE,OAAOC,kBAAiB,CAAC,GAAG,CAAC,IAAIC,gBAAe,CAAC,GAAG,CAAC,IAAIC,2BAA0B,CAAC,GAAG,CAAC,IAAIC,kBAAiB,EAAE,CAAC;AAClH;;ACNO,IAAMC,gBAAgB,GAAG,6BAA6B,CAAA;AACtD,IAAMC,UAAU,GAAA,EAAA,CAAAC,MAAA,CAAMF,gBAAgB,EAAS,SAAA,CAAA,CAAA;AAC/C,IAAMG,gBAAgB,GAAA,EAAA,CAAAD,MAAA,CAAMF,gBAAgB,EAAe,eAAA,CAAA,CAAA;AAC3D,IAAMI,eAAe,GAAA,EAAA,CAAAF,MAAA,CAAMF,gBAAgB,EAA6B,6BAAA,CAAA,CAAA;AACxE,IAAMK,SAAS,GAAA,EAAA,CAAAH,MAAA,CAAMF,gBAAgB,EAAkB,kBAAA,CAAA,CAAA;AACvD,IAAMM,gBAAgB,GAAA,EAAA,CAAAJ,MAAA,CAAMF,gBAAgB,EAA+B,+BAAA,CAAA,CAAA;AAC3E,IAAMO,kBAAkB,GAAA,EAAA,CAAAL,MAAA,CAAMD,UAAU,EAAU,UAAA,CAAA,CAAA;AAClD,IAAMO,WAAW,GAAA,EAAA,CAAAN,MAAA,CAAMF,gBAAgB,EAAU,UAAA,CAAA,CAAA;AAIjD,IAAMS,mBAAmB,GAAG;AACjCC,EAAAA,UAAU,EAAE,YAAY;AACxBC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,MAAM,EAAE,QAAA;AACV,CAAC;;ACfD,SAAS,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE;AAC3E,EAAE,IAAI;AACN,IAAI,IAAI,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AAC7B,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;AAC3B,GAAG,CAAC,OAAO,KAAK,EAAE;AAClB,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;AAClB,IAAI,OAAO;AACX,GAAG;AACH,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE;AACjB,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;AACnB,GAAG,MAAM;AACT,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAC/C,GAAG;AACH,CAAC;AACc,SAAS,iBAAiB,CAAC,EAAE,EAAE;AAC9C,EAAE,OAAO,YAAY;AACrB,IAAI,IAAI,IAAI,GAAG,IAAI;AACnB,MAAM,IAAI,GAAG,SAAS,CAAC;AACvB,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM,EAAE;AAClD,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACrC,MAAM,SAAS,KAAK,CAAC,KAAK,EAAE;AAC5B,QAAQ,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAC/E,OAAO;AACP,MAAM,SAAS,MAAM,CAAC,GAAG,EAAE;AAC3B,QAAQ,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;AAC9E,OAAO;AACP,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC;AACvB,KAAK,CAAC,CAAC;AACP,GAAG,CAAC;AACJ;;AC7Be,SAAS,eAAe,CAAC,GAAG,EAAE;AAC7C,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC;AACrC;;ACFe,SAAS,qBAAqB,CAAC,CAAC,EAAE,CAAC,EAAE;AACpD,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,GAAG,WAAW,IAAI,OAAO,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC;AACnG,EAAE,IAAI,IAAI,IAAI,CAAC,EAAE;AACjB,IAAI,IAAI,CAAC;AACT,MAAM,CAAC;AACP,MAAM,CAAC;AACP,MAAM,CAAC;AACP,MAAM,CAAC,GAAG,EAAE;AACZ,MAAM,CAAC,GAAG,CAAC,CAAC;AACZ,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AACb,IAAI,IAAI;AACR,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE;AAC7C,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,OAAO;AACpC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AACf,OAAO,MAAM,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC9F,KAAK,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;AACpB,KAAK,SAAS;AACd,MAAM,IAAI;AACV,QAAQ,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO;AACtF,OAAO,SAAS;AAChB,QAAQ,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;AACvB,OAAO;AACP,KAAK;AACL,IAAI,OAAO,CAAC,CAAC;AACb,GAAG;AACH;;AC1Be,SAAS,gBAAgB,GAAG;AAC3C,EAAE,MAAM,IAAI,SAAS,CAAC,2IAA2I,CAAC,CAAC;AACnK;;ACEe,SAAS,cAAc,CAAC,GAAG,EAAE,CAAC,EAAE;AAC/C,EAAE,OAAOC,eAAc,CAAC,GAAG,CAAC,IAAIC,qBAAoB,CAAC,GAAG,EAAE,CAAC,CAAC,IAAIhB,2BAA0B,CAAC,GAAG,EAAE,CAAC,CAAC,IAAIiB,gBAAe,EAAE,CAAC;AACxH;;ACNe,SAAS,6BAA6B,CAAC,MAAM,EAAE,QAAQ,EAAE;AACxE,EAAE,IAAI,MAAM,IAAI,IAAI,EAAE,OAAO,EAAE,CAAC;AAChC,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,IAAI,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACvC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;AACb,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC1C,IAAI,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;AACxB,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS;AAC7C,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AAC9B,GAAG;AACH,EAAE,OAAO,MAAM,CAAC;AAChB;;ACVe,SAAS,wBAAwB,CAAC,MAAM,EAAE,QAAQ,EAAE;AACnE,EAAE,IAAI,MAAM,IAAI,IAAI,EAAE,OAAO,EAAE,CAAC;AAChC,EAAE,IAAI,MAAM,GAAGC,6BAA4B,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC9D,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;AACb,EAAE,IAAI,MAAM,CAAC,qBAAqB,EAAE;AACpC,IAAI,IAAI,gBAAgB,GAAG,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAChE,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAClD,MAAM,GAAG,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAChC,MAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS;AAC/C,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,SAAS;AAC7E,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AAChC,KAAK;AACL,GAAG;AACH,EAAE,OAAO,MAAM,CAAC;AAChB;;;;;;;;;;;;;;;CCfA,SAAS,OAAO,CAAC,CAAC,EAAE;AACpB,GAAE,yBAAyB,CAAC;AAC5B;AACA,GAAE,OAAO,CAAC,MAAA,CAAA,OAAA,GAAiB,OAAO,GAAG,UAAU,IAAI,OAAO,MAAM,IAAI,QAAQ,IAAI,OAAO,MAAM,CAAC,QAAQ,GAAG,UAAU,CAAC,EAAE;KAClH,OAAO,OAAO,CAAC,CAAC;IACjB,GAAG,UAAU,CAAC,EAAE;KACf,OAAO,CAAC,IAAI,UAAU,IAAI,OAAO,MAAM,IAAI,CAAC,CAAC,WAAW,KAAK,MAAM,IAAI,CAAC,KAAK,MAAM,CAAC,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC,CAAC;AACxH,IAAG,EAAE,MAA4B,CAAA,OAAA,CAAA,UAAA,GAAA,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;EAC9F;AACD,CAAA,MAAA,CAAA,OAAA,GAAiB,OAAO,EAAE,MAA4B,CAAA,OAAA,CAAA,UAAA,GAAA,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,OAAO,CAAA;;;;;;;;ACTtG,CAAA,IAAI,OAAO,GAAGC,cAAsB,CAAC,SAAS,CAAC,CAAC;AAChD,CAAA,SAAS,mBAAmB,GAAG;AAE/B,GAAE,MAAiB,CAAA,OAAA,GAAA,mBAAmB,GAAG,SAAS,mBAAmB,GAAG;KACpE,OAAO,CAAC,CAAC;AACb,IAAG,EAAE,MAAA,CAAA,OAAA,CAAA,UAAA,GAA4B,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;AAClF,GAAE,IAAI,CAAC;KACH,CAAC,GAAG,EAAE;AACV,KAAI,CAAC,GAAG,MAAM,CAAC,SAAS;AACxB,KAAI,CAAC,GAAG,CAAC,CAAC,cAAc;AACxB,KAAI,CAAC,GAAG,MAAM,CAAC,cAAc,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;OAC9C,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;MAChB;KACD,CAAC,GAAG,UAAU,IAAI,OAAO,MAAM,GAAG,MAAM,GAAG,EAAE;AACjD,KAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,IAAI,YAAY;AAClC,KAAI,CAAC,GAAG,CAAC,CAAC,aAAa,IAAI,iBAAiB;AAC5C,KAAI,CAAC,GAAG,CAAC,CAAC,WAAW,IAAI,eAAe,CAAC;GACvC,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;KACvB,OAAO,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE;OACjC,KAAK,EAAE,CAAC;OACR,UAAU,EAAE,CAAC,CAAC;OACd,YAAY,EAAE,CAAC,CAAC;OAChB,QAAQ,EAAE,CAAC,CAAC;AAClB,MAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACV;AACH,GAAE,IAAI;AACN,KAAI,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAChB,CAAC,OAAO,CAAC,EAAE;KACV,MAAM,GAAG,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACtC,OAAM,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACtB,MAAK,CAAC;IACH;GACD,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AAC5B,KAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,SAAS,YAAY,SAAS,GAAG,CAAC,GAAG,SAAS;OAC3D,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;OAC9B,CAAC,GAAG,IAAI,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAC/B,KAAI,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE;OACrB,KAAK,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;MACjC,CAAC,EAAE,CAAC,CAAC;IACP;GACD,SAAS,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AAC7B,KAAI,IAAI;AACR,OAAM,OAAO;SACL,IAAI,EAAE,QAAQ;SACd,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;AACzB,QAAO,CAAC;MACH,CAAC,OAAO,CAAC,EAAE;AAChB,OAAM,OAAO;SACL,IAAI,EAAE,OAAO;SACb,GAAG,EAAE,CAAC;AACd,QAAO,CAAC;MACH;IACF;AACH,GAAE,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;GACd,IAAI,CAAC,GAAG,gBAAgB;KACtB,CAAC,GAAG,gBAAgB;KACpB,CAAC,GAAG,WAAW;KACf,CAAC,GAAG,WAAW;KACf,CAAC,GAAG,EAAE,CAAC;GACT,SAAS,SAAS,GAAG,EAAE;GACvB,SAAS,iBAAiB,GAAG,EAAE;GAC/B,SAAS,0BAA0B,GAAG,EAAE;AAC1C,GAAE,IAAI,CAAC,GAAG,EAAE,CAAC;AACb,GAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,YAAY;KACvB,OAAO,IAAI,CAAC;AAChB,IAAG,CAAC,CAAC;AACL,GAAE,IAAI,CAAC,GAAG,MAAM,CAAC,cAAc;AAC/B,KAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC9B,GAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1C,GAAE,IAAI,CAAC,GAAG,0BAA0B,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACxF,GAAE,SAAS,qBAAqB,CAAC,CAAC,EAAE;AACpC,KAAI,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;OAC/C,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE;SACxB,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAClC,QAAO,CAAC,CAAC;AACT,MAAK,CAAC,CAAC;IACJ;AACH,GAAE,SAAS,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE;KAC3B,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AAChC,OAAM,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACnC,OAAM,IAAI,OAAO,KAAK,CAAC,CAAC,IAAI,EAAE;AAC9B,SAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG;AACrB,WAAU,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;AACtB,SAAQ,OAAO,CAAC,IAAI,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;WAClG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;UACzB,EAAE,UAAU,CAAC,EAAE;WACd,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACnC,UAAS,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;WAClC,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;UACnB,EAAE,UAAU,CAAC,EAAE;WACd,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1C,UAAS,CAAC,CAAC;QACJ;AACP,OAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;MACV;KACD,IAAI,CAAC,CAAC;AACV,KAAI,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE;OACjB,KAAK,EAAE,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE;SAC1B,SAAS,0BAA0B,GAAG;WACpC,OAAO,IAAI,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE;aAC3B,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/B,YAAW,CAAC,CAAC;UACJ;AACT,SAAQ,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,0BAA0B,EAAE,0BAA0B,CAAC,GAAG,0BAA0B,EAAE,CAAC;QAC9G;AACP,MAAK,CAAC,CAAC;IACJ;GACD,SAAS,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACrC,KAAI,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,KAAI,OAAO,UAAU,CAAC,EAAE,CAAC,EAAE;OACrB,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;AACnE,OAAM,IAAI,CAAC,KAAK,CAAC,EAAE;AACnB,SAAQ,IAAI,OAAO,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;AACnC,SAAQ,OAAO;WACL,KAAK,EAAE,CAAC;WACR,IAAI,EAAE,CAAC,CAAC;AAClB,UAAS,CAAC;QACH;AACP,OAAM,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI;AACtC,SAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;SACnB,IAAI,CAAC,EAAE;WACL,IAAI,CAAC,GAAG,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;WAClC,IAAI,CAAC,EAAE;AACjB,aAAY,IAAI,CAAC,KAAK,CAAC,EAAE,SAAS;aACtB,OAAO,CAAC,CAAC;YACV;UACF;SACD,IAAI,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,CAAC,MAAM,EAAE;AACzF,WAAU,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC;WAChC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACrC,UAAS,MAAM,QAAQ,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;SAC1D,CAAC,GAAG,CAAC,CAAC;SACN,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAClC,SAAQ,IAAI,QAAQ,KAAK,CAAC,CAAC,IAAI,EAAE;AACjC,WAAU,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,SAAS;AACxD,WAAU,OAAO;AACjB,aAAY,KAAK,EAAE,CAAC,CAAC,GAAG;AACxB,aAAY,IAAI,EAAE,CAAC,CAAC,IAAI;AACxB,YAAW,CAAC;UACH;SACD,OAAO,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,OAAO,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAClE;AACP,MAAK,CAAC;IACH;AACH,GAAE,SAAS,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE;AACrC,KAAI,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM;OACd,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACxB,KAAI,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,QAAQ,GAAG,IAAI,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,QAAQ,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,OAAO,EAAE,CAAC,CAAC,GAAG,GAAG,IAAI,SAAS,CAAC,mCAAmC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;AAChS,KAAI,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;AAC3C,KAAI,IAAI,OAAO,KAAK,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,MAAM,GAAG,OAAO,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,GAAG,IAAI,EAAE,CAAC,CAAC;AAC3F,KAAI,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;AAClB,KAAI,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,OAAO,EAAE,CAAC,CAAC,GAAG,GAAG,IAAI,SAAS,CAAC,kCAAkC,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;IAChQ;AACH,GAAE,SAAS,YAAY,CAAC,CAAC,EAAE;KACvB,IAAI,CAAC,GAAG;AACZ,OAAM,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;AAClB,MAAK,CAAC;KACF,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5G;AACH,GAAE,SAAS,aAAa,CAAC,CAAC,EAAE;KACxB,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC;AAC/B,KAAI,CAAC,CAAC,IAAI,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC;IACnD;AACH,GAAE,SAAS,OAAO,CAAC,CAAC,EAAE;AACtB,KAAI,IAAI,CAAC,UAAU,GAAG,CAAC;OACjB,MAAM,EAAE,MAAM;AACpB,MAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD;AACH,GAAE,SAAS,MAAM,CAAC,CAAC,EAAE;AACrB,KAAI,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;AACvB,OAAM,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;OACb,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;OACxB,IAAI,UAAU,IAAI,OAAO,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;OAC1C,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;AAC5B,SAAQ,IAAI,CAAC,GAAG,CAAC,CAAC;AAClB,WAAU,CAAC,GAAG,SAAS,IAAI,GAAG;AAC9B,aAAY,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC;AACrG,aAAY,OAAO,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC;AACxD,YAAW,CAAC;AACZ,SAAQ,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QACnB;MACF;KACD,MAAM,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC;IACtD;AACH,GAAE,OAAO,iBAAiB,CAAC,SAAS,GAAG,0BAA0B,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE;KACnF,KAAK,EAAE,0BAA0B;KACjC,YAAY,EAAE,CAAC,CAAC;AACpB,IAAG,CAAC,EAAE,CAAC,CAAC,0BAA0B,EAAE,aAAa,EAAE;KAC/C,KAAK,EAAE,iBAAiB;KACxB,YAAY,EAAE,CAAC,CAAC;IACjB,CAAC,EAAE,iBAAiB,CAAC,WAAW,GAAG,MAAM,CAAC,0BAA0B,EAAE,CAAC,EAAE,mBAAmB,CAAC,EAAE,CAAC,CAAC,mBAAmB,GAAG,UAAU,CAAC,EAAE;KACnI,IAAI,CAAC,GAAG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;KAChD,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,iBAAiB,IAAI,mBAAmB,MAAM,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACjG,IAAG,EAAE,CAAC,CAAC,IAAI,GAAG,UAAU,CAAC,EAAE;AAC3B,KAAI,OAAO,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,0BAA0B,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,0BAA0B,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC3M,IAAG,EAAE,CAAC,CAAC,KAAK,GAAG,UAAU,CAAC,EAAE;AAC5B,KAAI,OAAO;OACL,OAAO,EAAE,CAAC;AAChB,MAAK,CAAC;AACN,IAAG,EAAE,qBAAqB,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,EAAE,YAAY;KAChG,OAAO,IAAI,CAAC;IACb,CAAC,EAAE,CAAC,CAAC,aAAa,GAAG,aAAa,EAAE,CAAC,CAAC,KAAK,GAAG,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;KACtE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC;AAClC,KAAI,IAAI,CAAC,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACnD,KAAI,OAAO,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;AACrE,OAAM,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACzC,MAAK,CAAC,CAAC;IACJ,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,YAAY;KAC/E,OAAO,IAAI,CAAC;IACb,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,YAAY;KACpC,OAAO,oBAAoB,CAAC;IAC7B,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,UAAU,CAAC,EAAE;AAC5B,KAAI,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;OACf,CAAC,GAAG,EAAE,CAAC;AACb,KAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KAC3B,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,SAAS,IAAI,GAAG;AACxC,OAAM,OAAO,CAAC,CAAC,MAAM,GAAG;AACxB,SAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;SAChB,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC;QACzD;OACD,OAAO,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAK,CAAC;IACH,EAAE,CAAC,CAAC,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,SAAS,GAAG;KACxC,WAAW,EAAE,OAAO;AACxB,KAAI,KAAK,EAAE,SAAS,KAAK,CAAC,CAAC,EAAE;OACvB,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,EAAE,IAAI,CAAC,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;MACxR;AACL,KAAI,IAAI,EAAE,SAAS,IAAI,GAAG;AAC1B,OAAM,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;OACf,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;OACtC,IAAI,OAAO,KAAK,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC;AAC1C,OAAM,OAAO,IAAI,CAAC,IAAI,CAAC;MAClB;AACL,KAAI,iBAAiB,EAAE,SAAS,iBAAiB,CAAC,CAAC,EAAE;AACrD,OAAM,IAAI,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC7B,OAAM,IAAI,CAAC,GAAG,IAAI,CAAC;AACnB,OAAM,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;AAC5B,SAAQ,OAAO,CAAC,CAAC,IAAI,GAAG,OAAO,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1F;AACP,OAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE;SACpD,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AAClC,WAAU,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC;AAC3B,SAAQ,IAAI,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;SAC9C,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE;WACzB,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC;aAC3B,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;AACxC,WAAU,IAAI,CAAC,IAAI,CAAC,EAAE;AACtB,aAAY,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,OAAO,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;AACtE,aAAY,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,OAAO,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC3D,MAAM,IAAI,CAAC,EAAE;AACxB,aAAY,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,OAAO,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;AACtE,YAAW,MAAM;aACL,IAAI,CAAC,CAAC,EAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;AAC9E,aAAY,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,OAAO,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC3D;UACF;QACF;MACF;KACD,MAAM,EAAE,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;AAClC,OAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE;SACpD,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;SAC3B,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,YAAY,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE;AAC1F,WAAU,IAAI,CAAC,GAAG,CAAC,CAAC;AACpB,WAAU,MAAM;UACP;QACF;OACD,CAAC,KAAK,OAAO,KAAK,CAAC,IAAI,UAAU,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;OAC7F,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,UAAU,GAAG,EAAE,CAAC;AACpC,OAAM,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;MAC1G;KACD,QAAQ,EAAE,SAAS,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE;OAChC,IAAI,OAAO,KAAK,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC;AAC1C,OAAM,OAAO,OAAO,KAAK,CAAC,CAAC,IAAI,IAAI,UAAU,KAAK,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,QAAQ,KAAK,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,GAAG,QAAQ,EAAE,IAAI,CAAC,IAAI,GAAG,KAAK,IAAI,QAAQ,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;MAC3N;AACL,KAAI,MAAM,EAAE,SAAS,MAAM,CAAC,CAAC,EAAE;AAC/B,OAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE;SACpD,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;SAC3B,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,EAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7F;MACF;AACL,KAAI,OAAO,EAAE,SAAS,MAAM,CAAC,CAAC,EAAE;AAChC,OAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE;SACpD,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACnC,SAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;AAC5B,WAAU,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC;AAC/B,WAAU,IAAI,OAAO,KAAK,CAAC,CAAC,IAAI,EAAE;AAClC,aAAY,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;AAC1B,aAAY,aAAa,CAAC,CAAC,CAAC,CAAC;YAClB;WACD,OAAO,CAAC,CAAC;UACV;QACF;AACP,OAAM,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;MAC1C;KACD,aAAa,EAAE,SAAS,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACnD,OAAM,OAAO,IAAI,CAAC,QAAQ,GAAG;AAC7B,SAAQ,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;SACnB,UAAU,EAAE,CAAC;SACb,OAAO,EAAE,CAAC;AAClB,QAAO,EAAE,MAAM,KAAK,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;MAChD;IACF,EAAE,CAAC,CAAC;EACN;AACD,CAAA,MAAA,CAAA,OAAA,GAAiB,mBAAmB,EAAE,MAA4B,CAAA,OAAA,CAAA,UAAA,GAAA,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,OAAO,CAAA;;;;;AC/SlH;AACA;AACA,IAAI,OAAO,GAAGA,yBAAwC,EAAE,CAAC;IACzD,WAAc,GAAG,OAAO,CAAC;AACzB;AACA;AACA,IAAI;AACJ,EAAE,kBAAkB,GAAG,OAAO,CAAC;AAC/B,CAAC,CAAC,OAAO,oBAAoB,EAAE;AAC/B,EAAE,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;AACtC,IAAI,UAAU,CAAC,kBAAkB,GAAG,OAAO,CAAC;AAC5C,GAAG,MAAM;AACT,IAAI,QAAQ,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC,OAAO,CAAC,CAAC;AACrD,GAAG;AACH,CAAA;;;;ACXO,IAAMC,KAAK,GAAG;AACnBC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,QAAQ,EAAE,UAAU;AACpBC,EAAAA,YAAY,EAAE,eAAe;AAC7BC,EAAAA,WAAW,EAAE,cAAc;AAC3BC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,SAAS,EAAE,YAAY;AACvBC,EAAAA,SAAS,EAAE,YAAY;AACvBC,EAAAA,QAAQ,EAAE,UAAU;AACpBC,EAAAA,QAAQ,EAAE,WAAW;AACrBC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,QAAQ,EAAE,UAAU;AACpBC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,QAAQ,EAAE,UAAA;AACZ,CAAC,CAAA;AAEM,IAAMC,aAAa,GAAG;AAC3BjB,EAAAA,IAAI,EAAEkB,SAAC,CAAC,+BAA+B,CAAC;AACxCjB,EAAAA,MAAM,EAAEiB,SAAC,CAAC,iCAAiC,CAAC;AAC5ChB,EAAAA,QAAQ,EAAEgB,SAAC,CAAC,mCAAmC,CAAC;AAChDC,EAAAA,aAAa,EAAED,SAAC,CAAC,uCAAuC,CAAC;AACzDE,EAAAA,YAAY,EAAEF,SAAC,CAAC,sCAAsC,CAAC;AACvDb,EAAAA,IAAI,EAAEa,SAAC,CAAC,+BAA+B,CAAC;AACxCZ,EAAAA,IAAI,EAAEY,SAAC,CAAC,+BAA+B,CAAC;AACxCG,EAAAA,UAAU,EAAEH,SAAC,CAAC,oCAAoC,CAAC;AACnDI,EAAAA,UAAU,EAAEJ,SAAC,CAAC,oCAAoC,CAAC;AACnDT,EAAAA,QAAQ,EAAES,SAAC,CAAC,mCAAmC,CAAC;AAChDK,EAAAA,SAAS,EAAEL,SAAC,CAAC,mCAAmC,CAAC;AACjDP,EAAAA,MAAM,EAAEO,SAAC,CAAC,iCAAiC,CAAC;AAC5CN,EAAAA,QAAQ,EAAEM,SAAC,CAAC,mCAAmC,CAAC;AAChDL,EAAAA,KAAK,EAAEK,SAAC,CAAC,gCAAgC,CAAC;AAC1CJ,EAAAA,OAAO,EAAEI,SAAC,CAAC,kCAAkC,CAAC;AAC9CH,EAAAA,OAAO,EAAEG,SAAC,CAAC,kCAAkC,CAAC;EAC9CF,QAAQ,EAAEE,SAAC,CAAC,mCAAmC,CAAA;AACjD,CAAC,CAAA;AAEM,IAAMM,YAAY,GAAG;AAC1BC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,QAAQ,EAAE,UAAA;AACZ,CAAC,CAAA;AAEM,IAAMC,4BAA4B,GAAG;AAC1CF,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,QAAQ,EAAE,UAAA;AACZ,CAAC,CAAA;AAEM,IAAME,SAAS,GAAGC,YAAM,CAAC9B,KAAK,CAAC,CAAA;AAE/B,IAAM+B,UAAU,GAAG;AAAEC,EAAAA,IAAI,EAAE,MAAM;AAAEC,EAAAA,MAAM,EAAE,QAAA;AAAS,CAAC;;ACrDrD,IAAMC,wBAAwB,GAAG,CAAClC,KAAK,CAACa,QAAQ,CAAC;;ACAjD,IAAMsB,UAAU,GAAG,SAAbA,UAAUA,CAAGC,IAAI,EAAA;AAAA,EAAA,OAC5B,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,CAAC,CAACC,QAAQ,CAACD,IAAI,CAAC,CAAA;AAAA,CAAA,CAAA;AAElE,IAAME,YAAU,GAAG,SAAbA,UAAUA,CAAGF,IAAI,EAAA;EAAA,OAC5B,CAAC,eAAe,EAAE,cAAc,CAAC,CAACC,QAAQ,CAACD,IAAI,CAAC,CAAA;AAAA,CAAA,CAAA;AAE3C,IAAMG,UAAU,GAAG,SAAbA,UAAUA,CAAGH,IAAI,EAAA;AAAA,EAAA,OAC5B,CACEpC,KAAK,CAACC,IAAI,EACVD,KAAK,CAACgB,OAAO,EACbhB,KAAK,CAACe,OAAO,EACbf,KAAK,CAACG,QAAQ,EACdH,KAAK,CAACE,MAAM,EACZF,KAAK,CAACc,KAAK,EACXd,KAAK,CAACU,QAAQ,CACf,CAAC2B,QAAQ,CAACD,IAAI,CAAC,CAAA;AAAA,CAAA;;ACTlB,IAAMI,UAAU,GAAGC,cAAG,CAACnC,IAAI,EAAE,CAACoC,QAAQ,EAAE,CAAA;AAExC,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAGC,KAAK,EAAA;AAAA,EAAA,OACxB,OAAOA,KAAK,KAAK,QAAQ,IAAIC,aAAO,CAACD,KAAK,CAACE,IAAI,EAAE,CAAC,CAAA;AAAA,CAAA,CAAA;AAEpD,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIX,IAAI,EAAEQ,KAAK,EAAA;AAAA,EAAA,OAAKR,IAAI,KAAKpC,KAAK,CAACa,QAAQ,IAAI,CAAC+B,KAAK,CAAA;AAAA,CAAA,CAAA;AAE9E,IAAMI,YAAY,GAAG,SAAfA,YAAYA,CAAIZ,IAAI,EAAEQ,KAAK,EAAA;EAAA,OAC/B,CACE5C,KAAK,CAACK,WAAW,EACjBL,KAAK,CAACI,YAAY,EAClBJ,KAAK,CAACQ,SAAS,EACfR,KAAK,CAACS,SAAS,CAChB,CAAC4B,QAAQ,CAACD,IAAI,CAAC,IAAIS,aAAO,CAACD,KAAK,CAAC,CAAA;AAAA,CAAA,CAAA;AAEpC,IAAMK,6BAA6B,GAAG,SAAhCA,6BAA6BA,CAAGC,MAAM,EAAA;AAAA,EAAA,OAC1CT,cAAG,CAACU,KAAK,EAAE,CAACC,IAAI,CAAC;AACfC,IAAAA,IAAI,EAAE,uBAAuB;AAC7BD,IAAAA,IAAI,EAAE,SAAAA,IAAAR,CAAAA,KAAK,EAAI;MACb,IAAIU,oBAAU,CAACV,KAAK,CAAC,IAAIW,cAAQ,CAACX,KAAK,CAAC,EAAE;AACxCM,QAAAA,MAAM,CAACM,YAAY,CAACZ,KAAK,CAAC,CAAA;AAC5B,OAAA;AAEA,MAAA,OAAO,IAAI,CAAA;AACb,KAAA;AACF,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAEJ,IAAMa,4BAA4B,GAAG,SAA/BA,4BAA4BA,CAAIP,MAAM,EAAEd,IAAI,EAAA;AAAA,EAAA,OAChDK,cAAG,CAACU,KAAK,EAAE,CAACC,IAAI,CAAC;AACfC,IAAAA,IAAI,EAAE,0BAA0B;AAChCD,IAAAA,IAAI,EAAE,SAAAA,IAAAR,CAAAA,KAAK,EAAI;MACb,IACEc,WAAK,CAACd,KAAK,CAAC,IACZD,YAAY,CAACC,KAAK,CAAC,IACnBI,YAAY,CAACZ,IAAI,EAAEQ,KAAK,CAAC,IACzBG,mBAAmB,CAACX,IAAI,EAAEQ,KAAK,CAAC,EAChC;QACA,MAAM,IAAIH,cAAG,CAACkB,eAAe,CAC3BxC,SAAC,CAAC,wCAAwC,CAC5C,CAAC,CAAA;AACH,OAAA;AACA+B,MAAAA,MAAM,CAACM,YAAY,CAACZ,KAAK,CAAC,CAAA;AAE1B,MAAA,OAAO,IAAI,CAAA;AACb,KAAA;AACF,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAEJ,IAAMgB,WAAW,GAAG,SAAdA,WAAWA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAMX,MAAM,GAAAW,IAAA,CAANX,MAAM;IAAEY,UAAU,GAAAD,IAAA,CAAVC,UAAU;IAAE1B,IAAI,GAAAyB,IAAA,CAAJzB,IAAI,CAAA;AAAA,EAAA,OAC7C0B,UAAU,GACNL,4BAA4B,CAACP,MAAM,EAAEd,IAAI,CAAC,GAC1Ca,6BAA6B,CAACC,MAAM,CAAC,CAAA;AAAA,CAAA,CAAA;AAE3C,IAAMa,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAAC,KAAA,EAA4B;AAAA,EAAA,IAAtB5B,IAAI,GAAA4B,KAAA,CAAJ5B,IAAI;IAAE6B,SAAS,GAAAD,KAAA,CAATC,SAAS,CAAA;AACjD,EAAA,QAAQ7B,IAAI;IACV,KAAKpC,KAAK,CAACI,YAAY,CAAA;IACvB,KAAKJ,KAAK,CAACU,QAAQ,CAAA;IACnB,KAAKV,KAAK,CAACC,IAAI;AAAE,MAAA;AACf,QAAA,OAAOwC,cAAG,CAACyB,MAAM,EAAE,CAACpB,IAAI,EAAE,CAACJ,QAAQ,EAAE,CAAA;AACvC,OAAA;IAEA,KAAK1C,KAAK,CAACE,MAAM,CAAA;IACjB,KAAKF,KAAK,CAACG,QAAQ,CAAA;IACnB,KAAKH,KAAK,CAACgB,OAAO;AAAE,MAAA;AAClB,QAAA,OAAOyB,cAAG,CACPvC,MAAM,CAACiB,SAAC,CAAC,yCAAyC,CAAC,CAAC,CACpDuB,QAAQ,EAAE,CAAA;AACf,OAAA;IACA,KAAK1C,KAAK,CAACe,OAAO;AAAE,MAAA;AAClB,QAAA,OAAO0B,cAAG,CACPvC,MAAM,EAAE,CACRwC,QAAQ,EAAE,CACV3B,OAAO,CAACI,SAAC,CAAC,0CAA0C,CAAC,CAAC,CAAA;AAC3D,OAAA;IAEA,KAAKnB,KAAK,CAACM,IAAI,CAAA;IACf,KAAKN,KAAK,CAACO,IAAI;AAAE,MAAA;AACf,QAAA,OAAOiC,UAAU,CAAA;AACnB,OAAA;IACA,KAAKxC,KAAK,CAACK,WAAW;AAAE,MAAA;AACtB,QAAA,OAAOoC,cAAG,CAAC0B,KAAK,EAAE,CAACC,EAAE,CAAC3B,cAAG,CAACyB,MAAM,EAAE,CAAC,CAACxB,QAAQ,EAAE,CAAA;AAChD,OAAA;IAEA,KAAK1C,KAAK,CAACQ,SAAS,CAAA;IACpB,KAAKR,KAAK,CAACS,SAAS;AAAE,MAAA;AACpB,QAAA,OAAOgC,cAAG,CAAC0B,KAAK,EAAE,CAACC,EAAE,CAAC5B,UAAU,CAAC,CAACE,QAAQ,EAAE,CAAA;AAC9C,OAAA;IAEA,KAAK1C,KAAK,CAACa,QAAQ;AACjB,MAAA,OAAO4B,cAAG,CAAQ,SAAA,CAAA,EAAE,CAACC,QAAQ,EAAE,CAAA;IAEjC,KAAK1C,KAAK,CAACc,KAAK;AAAE,MAAA;QAChB,IAAMuD,YAAY,GAAGJ,SAAS,KAAA,IAAA,IAATA,SAAS,KAATA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,SAAS,CAAEK,SAAS,CAAA;QAEzC,OAAO7B,cAAG,CACPyB,MAAM,EAAE,CACRxB,QAAQ,EAAE,CACV6B,OAAO,CAACC,YAAY,CAACH,YAAY,CAAC,EAAEJ,SAAS,KAAA,IAAA,IAATA,SAAS,KAATA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,SAAS,CAAEQ,WAAW,CAAC,CAAA;AAChE,OAAA;AAEA,IAAA;AACE,MAAA,OAAOhC,cAAG,CAACU,KAAK,EAAE,CAAA;AACtB,GAAA;AACF,CAAC,CAAA;AAED,IAAMuB,0BAA0B,GAAG,SAA7BA,0BAA0BA,CAAAC,KAAA,EAAwC;AAAA,EAAA,IAAlCvC,IAAI,GAAAuC,KAAA,CAAJvC,IAAI;IAAE0B,UAAU,GAAAa,KAAA,CAAVb,UAAU;IAAEG,SAAS,GAAAU,KAAA,CAATV,SAAS,CAAA;EAC/D,IAAMf,MAAM,GAAGa,wBAAwB,CAAC;AAAE3B,IAAAA,IAAI,EAAJA,IAAI;AAAE6B,IAAAA,SAAS,EAATA,SAAAA;AAAU,GAAC,CAAC,CAAA;AAE5D,EAAA,OAAOL,WAAW,CAAC;AAAEV,IAAAA,MAAM,EAANA,MAAM;AAAEY,IAAAA,UAAU,EAAVA,UAAU;AAAE1B,IAAAA,IAAI,EAAJA,IAAAA;AAAK,GAAC,CAAC,CAAA;AAClD,CAAC,CAAA;AAED,IAAMoC,YAAY,GAAG,SAAfA,YAAYA,CAAGI,cAAc,EAAI;EACrC,IAAMC,kBAAkB,GAAG,YAAY,CAAA;EACvC,IAAMC,cAAc,GAAGF,cAAc,CAACG,KAAK,CAACF,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAA;EAClE,IAAIG,qBAAqB,GAAGJ,cAAc,CAACK,OAAO,CAACJ,kBAAkB,EAAE,EAAE,CAAC,CAAA;AAC1E,EAAA,IAAMK,cAAc,GAAGC,kBAAA,CAAI,IAAIC,GAAG,CAACN,cAAc,CAAC,CAAA,CAAEO,IAAI,CAAC,EAAE,CAAC,CAAA;AAC5D,EAAA,IACEL,qBAAqB,CAACM,UAAU,CAAC,GAAG,CAAC,IACrCN,qBAAqB,CAACO,QAAQ,CAAC,GAAG,CAAC,EACnC;IACAP,qBAAqB,GAAGA,qBAAqB,CAACQ,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AAC5D,GAAA;AAEA,EAAA,OAAOC,MAAM,CAACT,qBAAqB,EAAEE,cAAc,CAAC,CAAA;AACtD,CAAC,CAAA;AAEM,IAAMQ,aAAa,gBAAA,YAAA;EAAA,IAAAC,KAAA,GAAAC,iBAAA,eAAAC,mBAAA,CAAAC,IAAA,CAAG,SAAAC,OAAAA,CAAAC,KAAA,EAAA;IAAA,IAAAC,UAAA,EAAAC,SAAA,EAAApC,UAAA,EAAA1B,IAAA,EAAA6B,SAAA,CAAA;AAAA,IAAA,OAAA4B,mBAAA,CAAAM,IAAA,CAAA,SAAAC,SAAAC,QAAA,EAAA;AAAA,MAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,QAAA,KAAA,CAAA;UAC3BN,UAAU,GAAAD,KAAA,CAAVC,UAAU,EACVC,SAAS,GAAAF,KAAA,CAATE,SAAS,EACTpC,UAAU,GAAAkC,KAAA,CAAVlC,UAAU,EACV1B,IAAI,GAAA4D,KAAA,CAAJ5D,IAAI,EACJ6B,SAAS,GAAA+B,KAAA,CAAT/B,SAAS,CAAA;AAAAoC,UAAAA,QAAA,CAAAC,IAAA,GAAA,CAAA,CAAA;AAAAD,UAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;AAAA,UAAA,OAGD9D,cAAG,CACN+D,MAAM,EAAE,CACRC,KAAK,CAAAC,eAAA,CAAA,EAAA,EACHR,SAAS,EAAGxB,0BAA0B,CAAC;AACtCtC,YAAAA,IAAI,EAAJA,IAAI;AACJ0B,YAAAA,UAAU,EAAVA,UAAU;AACVG,YAAAA,SAAS,EAATA,SAAAA;AACF,WAAC,CAAC,CACH,CAAC,CACD0C,QAAQ,CAAAD,eAAA,CAAA,EAAA,EAAIR,SAAS,EAAGD,UAAU,CAAE,CAAC,CAAA;AAAA,QAAA,KAAA,CAAA;AAAA,UAAA,OAAAI,QAAA,CAAAO,MAAA,CAAA,QAAA,EAEjC,KAAK,CAAA,CAAA;AAAA,QAAA,KAAA,CAAA;AAAAP,UAAAA,QAAA,CAAAC,IAAA,GAAA,CAAA,CAAA;UAAAD,QAAA,CAAAQ,EAAA,GAAAR,QAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;UAAA,OAAAA,QAAA,CAAAO,MAAA,CAELP,QAAAA,EAAAA,QAAA,CAAAQ,EAAA,CAAEC,MAAM,CAAC,CAAC,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,EAAA,CAAA;AAAA,QAAA,KAAA,KAAA;UAAA,OAAAT,QAAA,CAAAU,IAAA,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA,EAAAhB,OAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;GAErB,CAAA,CAAA,CAAA;EAAA,OAvBYL,SAAAA,aAAaA,CAAAsB,EAAA,EAAA;AAAA,IAAA,OAAArB,KAAA,CAAAsB,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,GAAA,CAAA;AAAA,CAuBzB,EAAA,CAAA;AAEM,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGC,QAAQ,EAAA;EAAA,OACrCA,QAAQ,IAAIC,yBAAK,CAACD,QAAQ,CAAC,CAACE,QAAQ,EAAE,IAAK,EAAE,CAAA;AAAA,CAAA,CAAA;AAEzC,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAG3E,KAAK,EAAA;AAAA,EAAA,OACnCA,KAAK,KAAK,IAAI,GAAGzB,SAAC,CAAC,wBAAwB,CAAC,GAAGA,SAAC,CAAC,uBAAuB,CAAC,CAAA;AAAA,CAAA,CAAA;AAEpE,IAAMqG,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAAGC,SAAS,EAAA;EAAA,OAC9CA,SAAS,CAACC,WAAW,IAAID,SAAS,CAACpE,IAAI,IAAI,WAAW,CAAA;AAAA,CAAA;;;;;ACtJxD,IAAMsE,eAAe,GAAG,SAAlBA,eAAeA,CAAA9D,IAAA,EAcf;AAAA,EAAA,IAbJR,IAAI,GAAAQ,IAAA,CAAJR,IAAI;IACAuE,OAAO,GAAA/D,IAAA,CAAXgE,EAAE;IACFzF,IAAI,GAAAyB,IAAA,CAAJzB,IAAI;IACE6B,SAAS,GAAAJ,IAAA,CAAfiE,IAAI;IACJC,gBAAgB,GAAAlE,IAAA,CAAhBkE,gBAAgB;IAChBC,OAAO,GAAAnE,IAAA,CAAPmE,OAAO;IACPC,QAAQ,GAAApE,IAAA,CAARoE,QAAQ;IACRC,QAAQ,GAAArE,IAAA,CAARqE,QAAQ;IAAAC,qBAAA,GAAAtE,IAAA,CACRuE,oBAAoB;AAApBA,IAAAA,oBAAoB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,YAAY,GAAAA,qBAAA;IAAAE,aAAA,GAAAxE,IAAA,CACnCyE,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;IAAAE,WAAA,GAAA1E,IAAA,CAChB2E,MAAM;AAAEC,IAAAA,UAAU,GAAAF,WAAA,KAAGG,KAAAA,CAAAA,GAAAA,cAAI,GAAAH,WAAA;IAAAI,qBAAA,GAAA9E,IAAA,CACzB+E,kBAAkB;AAAlBA,IAAAA,kBAAkB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;AACvBE,IAAAA,KAAK,GAAAC,wBAAA,CAAAjF,IAAA,EAAAkF,WAAA,CAAA,CAAA;AAER,EAAA,IAAMC,aAAa,GAAGC,uBAAgB,EAAE,CAAA;AAExC,EAAA,IAAQC,UAAU,GAA0BF,aAAa,CAAjDE,UAAU;IAAEC,KAAK,GAAmBH,aAAa,CAArCG,KAAK;IAAEC,YAAY,GAAKJ,aAAa,CAA9BI,YAAY,CAAA;AAEvC,EAAA,IAAMC,SAAS,GAAGC,YAAY,CAAA,EAAA,CAAAtK,MAAA,CAAIqE,IAAI,EAAA,GAAA,CAAA,CAAArE,MAAA,CAAI4I,OAAO,CAAE,CAAC,CAAA;EACpD,IAAM1B,SAAS,GAAG9D,IAAI,KAAKpC,KAAK,CAACK,WAAW,GAAG,QAAQ,GAAG,OAAO,CAAA;EACjE,IAAMkJ,cAAc,MAAAvK,MAAA,CAAMqK,SAAS,EAAArK,QAAAA,CAAAA,CAAAA,MAAA,CAASkH,SAAS,CAAE,CAAA;AAEvD5D,EAAAA,YAAU,CAACF,IAAI,CAAC,KAAK6B,SAAS,GAAGuF,oBAAU,CAAC;AAAE3B,IAAAA,EAAE,EAAE,OAAA;GAAS,EAAE5D,SAAS,CAAC,CAAC,CAAA;EAExE,IAAIP,WAAK,CAACsE,OAAO,CAAC,IAAIzE,cAAQ,CAAC0E,QAAQ,CAAC,EAAE;AACxCA,IAAAA,QAAQ,CAACwB,OAAO,CAACF,cAAc,CAAC,GAAGP,aAAa,CAAA;GACjD,MAAM,IAAItF,WAAK,CAACuE,QAAQ,CAAC,IAAI1E,cAAQ,CAACyE,OAAO,CAAC,EAAE;IAC/CA,OAAO,CAACyB,OAAO,GAAGT,aAAa,CAAA;AACjC,GAAA;EAEA,IAAAU,SAAA,GAA0CC,eAAQ,CAAC;AACjDtG,MAAAA,IAAI,EAAEkG,cAAc;MACpB5C,QAAQ,EAAE,SAAAA,QAAAA,CAAAV,UAAU,EAAA;AAAA,QAAA,OAClBP,aAAa,CAAC;AACZO,UAAAA,UAAU,EAAVA,UAAU;AACVC,UAAAA,SAAS,EAAE7C,IAAI;AACfS,UAAAA,UAAU,EAAE+E,KAAK,CAACT,oBAAoB,CAAC;AACvChG,UAAAA,IAAI,EAAJA,IAAI;AACJ6B,UAAAA,SAAS,EAATA,SAAAA;AACF,SAAC,CAAC,CAAA;AAAA,OAAA;AACN,KAAC,CAAC;IAAA2F,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAVKI,IAAAA,gBAAgB,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,IAAI,GAAAH,UAAA,CAAA,CAAA,CAAA;AAAEI,IAAAA,OAAO,GAAAJ,UAAA,CAAA,CAAA,CAAA,CAAA;AAYtC,EAAA,IAAMK,mBAAmB,GAAGC,0BAAe,CAAChB,UAAU,EAAE,GAAG,CAAC,CAAA;AAE5D,EAAA,IAAMiB,YAAY,gBAAA,YAAA;IAAA,IAAAnG,KAAA,GAAA4B,iBAAA,eAAAC,mBAAA,CAAAC,IAAA,CAAG,SAAAC,OAAAA,CAAMnD,KAAK,EAAA;AAAA,MAAA,OAAAiD,mBAAA,CAAAM,IAAA,CAAA,SAAAC,SAAAC,QAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,UAAA,KAAA,CAAA;YAC9BhD,cAAQ,CAACX,KAAK,CAAC,IAAIoH,OAAO,CAACI,QAAQ,CAACxH,KAAK,CAAC,CAAA;YAACyD,QAAA,CAAAQ,EAAA,GAC3CkB,gBAAgB,CAAA;YAAA,IAAA1B,CAAAA,QAAA,CAAAQ,EAAA,EAAA;AAAAR,cAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;AAAA,cAAA,MAAA;AAAA,aAAA;AAAAF,YAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;YAAA,OAAW0D,mBAAmB,EAAE,CAAA;AAAA,UAAA,KAAA,CAAA;YAChD3B,QAAQ,IAAI,CAACpG,wBAAwB,CAACG,QAAQ,CAACD,IAAI,CAAC,IAAIqG,UAAU,EAAE,CAAA;AAAC,UAAA,KAAA,CAAA,CAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAApC,QAAA,CAAAU,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA,EAAAhB,OAAA,CAAA,CAAA;KACtE,CAAA,CAAA,CAAA;IAAA,OAJKoE,SAAAA,YAAYA,CAAAnD,EAAA,EAAA;AAAA,MAAA,OAAAhD,KAAA,CAAAiD,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,KAAA,CAAA;GAIjB,EAAA,CAAA;AAED,EAAA,IAAMmD,cAAc,GAAG,SAAjBA,cAAcA,CAAGjI,IAAI,EAAI;AAC7B,IAAA,IAAIG,UAAU,CAACH,IAAI,CAAC,EAAE;AACpB,MAAA,OAAO+G,KAAK,GAAG,YAAA;QAAA,OAAMgB,YAAY,EAAE,CAAA;AAAA,OAAA,GAAG1B,UAAU,CAAA;AAClD,KAAA;AAEA,IAAA,IAAI,CAACvG,wBAAwB,CAACG,QAAQ,CAACD,IAAI,CAAC,EAAE;AAC5C,MAAA,OAAOqG,UAAU,CAAA;AACnB,KAAA;AAEA,IAAA,OAAO6B,SAAS,CAAA;GACjB,CAAA;AAED,EAAA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAG3H,KAAK,EAAI;AAChC,IAAA,IAAIR,IAAI,KAAKpC,KAAK,CAACI,YAAY,EAAE;MAC/BwC,KAAK,GAAG4H,gBAAM,CAAC;AAAE5H,QAAAA,KAAK,EAALA,KAAAA;OAAO,EAAEqB,SAAS,CAAC,CAAA;AACtC,KAAC,MAAM,IAAI7B,IAAI,KAAKpC,KAAK,CAACK,WAAW,EAAE;AAAA,MAAA,IAAAoK,MAAA,CAAA;AACrC7H,MAAAA,KAAK,GAAA6H,CAAAA,MAAA,GAAG7H,KAAK,MAAA6H,IAAAA,IAAAA,MAAA,KAALA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAA,CAAOC,GAAG,CAAC,UAAAC,QAAQ,EAAA;AAAA,QAAA,OAAIH,gBAAM,CAAC;AAAE5H,UAAAA,KAAK,EAAE+H,QAAAA;SAAU,EAAE1G,SAAS,CAAC,CAAA;OAAC,CAAA,CAAA;AACxE,KAAA;IAEA,OAAOrB,KAAK,IAAI,EAAE,CAAA;GACnB,CAAA;AAEDgI,EAAAA,eAAS,CAAC,YAAM;AACd,IAAA,IAAIxB,YAAY,IAAI,CAACW,IAAI,CAACc,OAAO,EAAE;AACjCb,MAAAA,OAAO,CAACc,UAAU,CAAC,IAAI,CAAC,CAAA;AAC1B,KAAA;AACF,GAAC,EAAE,CAAC1B,YAAY,CAAC,CAAC,CAAA;EAElB,OAAO;AACLD,IAAAA,KAAK,EAALA,KAAK;AACLgB,IAAAA,YAAY,EAAZA,YAAY;AACZY,IAAAA,UAAU,EAAAC,eAAA,CAAAA,eAAA,KACLlB,gBAAgB,CAAA,EAAA,EAAA,EAAA;AACnBjC,MAAAA,EAAE,EAAED,OAAO;AACXqD,MAAAA,KAAK,EAAElD,gBAAgB,GAAGgC,IAAI,CAACkB,KAAK,GAAGlB,IAAI,CAACc,OAAO,IAAId,IAAI,CAACkB,KAAK;AACjErI,MAAAA,KAAK,EAAE2H,gBAAgB,CAACT,gBAAgB,CAAClH,KAAK,CAAC;MAC/CsI,KAAK,EAAE,CAAC5C,QAAQ,IAAI,CAACM,kBAAkB,IAAIuC,oBAAU,CAAC9H,IAAI,CAAC;AAC3D+H,MAAAA,UAAU,EAAE,CAAC9C,QAAQ,IACnB,CAACM,kBAAkB,IAAI;QAAEyC,QAAQ,EAAExC,KAAK,CAACT,oBAAoB,CAAA;OAAG;MAClEkD,SAAS,EAAEhD,QAAQ,IAAI,CAACpG,wBAAwB,CAACG,QAAQ,CAACD,IAAI,CAAC;MAC/DoG,MAAM,EAAEF,QAAQ,GAAG+B,cAAc,CAACjI,IAAI,CAAC,GAAGkI,SAAS;AACnDpC,MAAAA,QAAQ,EAARA,QAAQ;AACR;MACAqD,OAAO,EAAEjJ,YAAU,CAACF,IAAI,CAAC,GAAG6B,SAAS,GAAGqG,SAAS;AACjDkB,MAAAA,iBAAiB,EACf,CAAClD,QAAQ,IAAInG,UAAU,CAACC,IAAI,CAAC,GAAGqJ,UAAI,CAAC,eAAe,CAAC,GAAGnB,SAAAA;KAC3D,CAAA;AACDN,IAAAA,OAAO,EAAPA,OAAAA;GACD,CAAA;AACH,CAAC;;;;AC5GD,IAAM0B,QAAQ,GAAG,SAAXA,QAAQA,CAAG7C,KAAK,EAAI;AACxB,EAAA,IAAA8C,gBAAA,GAAqChE,eAAe,CAACkB,KAAK,CAAC;IAAnDsB,YAAY,GAAAwB,gBAAA,CAAZxB,YAAY;IAAEY,UAAU,GAAAY,gBAAA,CAAVZ,UAAU,CAAA;AAChC,EAAA,IAAQa,gBAAgB,GAAK/C,KAAK,CAA1B+C,gBAAgB,CAAA;EAExB,oBACEC,cAAA,CAACC,mCAAe,EAAAd,eAAA,CAAAA,eAAA,KACVD,UAAU,CAAA,EAAA,EAAA,EAAA;IACdgB,OAAO,EAAEhB,UAAU,CAACnI,KAAM;AAC1BsF,IAAAA,QAAQ,EAAE0D,gBAAgB,KAAKrM,mBAAmB,CAACC,UAAW;IAC9DwM,QAAQ,EAAE,SAAAA,QAAAA,CAAAnI,IAAA,EAAA;AAAA,MAAA,IAAakI,OAAO,GAAAlI,IAAA,CAAjBoI,MAAM,CAAIF,OAAO,CAAA;MAAA,OAAS5B,YAAY,CAAC4B,OAAO,CAAC,CAAA;AAAA,KAAA;AAAC,GAAA,CAC9D,CAAC,CAAA;AAEN,CAAC;;;;ACXD,IAAMG,aAAa,GAAG,SAAhBA,aAAaA,CAAArI,IAAA,EAAA;AAAA,EAAA,IACjBuH,UAAU,GAAAvH,IAAA,CAAVuH,UAAU;IACVF,KAAK,GAAArH,IAAA,CAALqH,KAAK;IACLtD,OAAO,GAAA/D,IAAA,CAAP+D,OAAO;IACPuE,QAAQ,GAAAtI,IAAA,CAARsI,QAAQ;IACRP,gBAAgB,GAAA/H,IAAA,CAAhB+H,gBAAgB;IAChBtD,QAAQ,GAAAzE,IAAA,CAARyE,QAAQ,CAAA;AAAA,EAAA,oBAER8D,eAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,kBAAkB;AAAAF,IAAAA,QAAA,EAC9B,CAAA,CAAC7D,QAAQ,iBACR8D,eAAA,CAAA,KAAA,EAAA;AAAKC,MAAAA,SAAS,EAAC,yBAAyB;AAAAF,MAAAA,QAAA,gBACtCN,cAAA,CAACS,yBAAK,EAAAtB,eAAA,CAAAA,eAAA,CAAA;AACJ,QAAA,SAAA,EAAA,EAAA,CAAAhM,MAAA,CAAYuN,iBAAS,CAACrB,KAAK,CAAC,EAAS,QAAA,CAAA;AACrCsB,QAAAA,OAAO,EAAE5E,OAAAA;AAAQ,OAAA,EACbwD,UAAU,CAAA,EAAA,EAAA,EAAA;AAAAe,QAAAA,QAAA,EAEbjB,KAAAA;OACI,CAAA,CAAC,eACRkB,eAAA,CAAA,KAAA,EAAA;AAAKC,QAAAA,SAAS,EAAC,8BAA8B;QAAAF,QAAA,EAAA,CAC1CP,gBAAgB,KAAKrM,mBAAmB,CAACC,UAAU,iBAClDqM,cAAA,CAACY,2BAAO,EAAA;AAACJ,UAAAA,SAAS,EAAC,2CAAA;SAA6C,CACjE,EACAT,gBAAgB,KAAKrM,mBAAmB,CAACE,OAAO,iBAC/CoM,cAAA,CAACa,gBAAK,EAAA;AAACL,UAAAA,SAAS,EAAC,2BAA2B;AAACM,UAAAA,IAAI,EAAE,EAAA;AAAG,SAAE,CACzD,CAAA;AAAA,OACE,CAAC,CAAA;KACH,CACN,EACAR,QAAQ,CAAA;AAAA,GACN,CAAC,CAAA;AAAA,CACP;;;;AC9BD,IAAMS,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGnF,SAAS,EAAI;AACrC,EAAA,IAAMoF,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAGhE,KAAK,EAAI;AACxC,IAAA,IACE+C,gBAAgB,GAKd/C,KAAK,CALP+C,gBAAgB;MAAAkB,eAAA,GAKdjE,KAAK,CAJPP,QAAQ;AAARA,MAAAA,QAAQ,GAAAwE,eAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,eAAA;MAAAC,qBAAA,GAIdlE,KAAK,CAHPT,oBAAoB;AAApBA,MAAAA,oBAAoB,GAAA2E,qBAAA,KAAG,KAAA,CAAA,GAAA,YAAY,GAAAA,qBAAA;MACnC1J,IAAI,GAEFwF,KAAK,CAFPxF,IAAI;MACAuE,OAAO,GACTiB,KAAK,CADPhB,EAAE,CAAA;IAGJ,IAAMqD,KAAK,GAAG,CAAC5C,QAAQ,IAAI6C,oBAAU,CAAC9H,IAAI,CAAC,CAAA;AAC3C,IAAA,IAAM+H,UAAU,GAAG;MAAEC,QAAQ,EAAExC,KAAK,CAACT,oBAAoB,CAAA;KAAG,CAAA;IAE5D,oBACEyD,cAAA,CAACK,aAAa,EAAA;AACNtE,MAAAA,OAAO,EAAPA,OAAO;AAAEU,MAAAA,QAAQ,EAARA,QAAQ;AAAE4C,MAAAA,KAAK,EAALA,KAAK;AAAEE,MAAAA,UAAU,EAAVA,UAAU;AAAEQ,MAAAA,gBAAgB,EAAhBA,gBAAgB;MAAAO,QAAA,eAE5DN,cAAA,CAACpE,SAAS,EAAAuD,eAAA,CAAAA,eAAA,CAAA,EAAA,EAAKnC,KAAK,CAAA,EAAA,EAAA,EAAA;QAAED,kBAAkB,EAAA,IAAA;OAAE,CAAA,CAAA;AAAC,KAC9B,CAAC,CAAA;GAEnB,CAAA;EAEDiE,wBAAwB,CAACnF,WAAW,GAAA1I,2BAAAA,CAAAA,MAAA,CAA+BwI,uBAAuB,CACxFC,SACF,CAAC,EAAG,GAAA,CAAA,CAAA;AAEJ,EAAA,OAAOoF,wBAAwB,CAAA;AACjC,CAAC;;;;;ACvBD,IAAMG,UAAU,GAAG,SAAbA,UAAUA,CAAGnE,KAAK,EAAI;AAC1B,EAAA,IAAQP,QAAQ,GAAKO,KAAK,CAAlBP,QAAQ,CAAA;AAChB,EAAA,IAAA2E,SAAA,GAA4BC,cAAQ,CAAC5E,QAAQ,CAAC;IAAA6E,UAAA,GAAAtD,cAAA,CAAAoD,SAAA,EAAA,CAAA,CAAA;AAAvCG,IAAAA,MAAM,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,SAAS,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAExB,EAAA,IAAMvK,KAAK,GAAG0K,YAAM,EAAE,CAAA;AAEtB,EAAA,IAAA3B,gBAAA,GAIIhE,eAAe,CAACkB,KAAK,CAAC;IAHxBsB,YAAY,GAAAwB,gBAAA,CAAZxB,YAAY;IAAAoD,qBAAA,GAAA5B,gBAAA,CACZZ,UAAU;IAAIvC,MAAM,GAAA+E,qBAAA,CAAN/E,MAAM;AAAKuC,IAAAA,UAAU,GAAAjC,wBAAA,CAAAyE,qBAAA,EAAAxE,WAAA,CAAA;IACnCiB,OAAO,GAAA2B,gBAAA,CAAP3B,OAAO,CAAA;AAGT,EAAA,IAAMwD,YAAY,GAAG,SAAfA,YAAYA,CAAGpG,QAAQ,EAAI;AAC/BxE,IAAAA,KAAK,CAAC6G,OAAO,GAAGtC,gBAAgB,CAACC,QAAQ,CAAC,CAAA;AAC1C4C,IAAAA,OAAO,CAACI,QAAQ,CAACxH,KAAK,CAAC6G,OAAO,CAAC,CAAA;AAE/B,IAAA,IAAI,CAAC2D,MAAM,EAAEjD,YAAY,EAAE,CAAA;GAC5B,CAAA;AAED,EAAA,IAAMsD,YAAY,gBAAA,YAAA;IAAA,IAAA5J,IAAA,GAAA+B,iBAAA,eAAAC,mBAAA,CAAAC,IAAA,CAAG,SAAAC,OAAAA,CAAM2H,IAAI,EAAA;AAAA,MAAA,IAAAC,YAAA,CAAA;AAAA,MAAA,OAAA9H,mBAAA,CAAAM,IAAA,CAAA,SAAAC,SAAAC,QAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,UAAA,KAAA,CAAA;YAC7B8G,SAAS,CAACK,IAAI,CAAC,CAAA;AAAC,YAAA,IAAA,CACZA,IAAI,EAAA;AAAArH,cAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;AAAA,cAAA,MAAA;AAAA,aAAA;YAAA,OAAAF,QAAA,CAAAO,MAAA,CAAA,QAAA,CAAA,CAAA;AAAA,UAAA,KAAA,CAAA;AAEF+G,YAAAA,YAAY,GAChB/K,KAAK,CAAC6G,OAAO,KAAKa,SAAS,IAAIsD,mBAAS,CAAC7C,UAAU,CAACnI,KAAK,EAAEA,KAAK,CAAC6G,OAAO,CAAC,CAAA;YAAApD,QAAA,CAAAQ,EAAA,GAC3E8G,YAAY,CAAA;YAAA,IAAAtH,CAAAA,QAAA,CAAAQ,EAAA,EAAA;AAAAR,cAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;AAAA,cAAA,MAAA;AAAA,aAAA;AAAAF,YAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;YAAA,OAAW4D,YAAY,EAAE,CAAA;AAAA,UAAA,KAAA,CAAA;AACrC3B,YAAAA,MAAM,KAANA,IAAAA,IAAAA,MAAM,KAANA,KAAAA,CAAAA,IAAAA,MAAM,EAAI,CAAA;AAAC,UAAA,KAAA,CAAA,CAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAAnC,QAAA,CAAAU,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA,EAAAhB,OAAA,CAAA,CAAA;KACZ,CAAA,CAAA,CAAA;IAAA,OARK0H,SAAAA,YAAYA,CAAAzG,EAAA,EAAA;AAAA,MAAA,OAAAnD,IAAA,CAAAoD,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,KAAA,CAAA;GAQjB,EAAA,CAAA;AAED,EAAA,IAAI2B,KAAK,CAACzG,IAAI,KAAKpC,KAAK,CAACO,IAAI,EAAE;AAC7B,IAAA,oBACEsL,cAAA,CAACgC,8BAAU,EAAA7C,eAAA,CAAAA,eAAA,CAAA,EAAA,EAAAA,eAAA,CAAAA,eAAA,CAAA,EAAA,EACAD,UAAU,CAAA,EAAA,EAAA,EAAA;AAAE0C,MAAAA,YAAY,EAAZA,YAAAA;AAAY,KAAA,CAAA,CAAA,EAAA,EAAA,EAAA;MACjCK,UAAU,EAAA,IAAA;AACVC,MAAAA,MAAM,EAAC,QAAQ;AACfL,MAAAA,IAAI,EAAEN,MAAO;AACbpB,MAAAA,QAAQ,EAAEwB,YAAAA;AAAa,KAAA,CACxB,CAAC,CAAA;GAEL,MAAM,IAAI3E,KAAK,CAACzG,IAAI,KAAKpC,KAAK,CAACM,IAAI,EAAE;AACpC,IAAA,oBACEuL,cAAA,CAACmC,8BAAU,EAAAhD,eAAA,CAAAA,eAAA,CAAA,EAAA,EAAAA,eAAA,CAAAA,eAAA,CAAA,EAAA,EACAD,UAAU,CAAA,EAAA,EAAA,EAAA;AAAE0C,MAAAA,YAAY,EAAZA,YAAAA;AAAY,KAAA,CAAA,CAAA,EAAA,EAAA,EAAA;AACjCC,MAAAA,IAAI,EAAEN,MAAO;AACbpB,MAAAA,QAAQ,EAAEwB,YAAAA;AAAa,KAAA,CACxB,CAAC,CAAA;AAEN,GAAA;AAEA,EAAA,oBACE3B,cAAA,CAACmC,8BAAU,EAAAhD,eAAA,CAAAA,eAAA,CAAA;IACTiD,QAAQ,EAAA,IAAA;AACRC,IAAAA,UAAU,EAAC,QAAA;AAAQ,GAAA,EAAAlD,eAAA,CAAAA,eAAA,CAAA,EAAA,EACVD,UAAU,CAAA,EAAA,EAAA,EAAA;AAAE0C,IAAAA,YAAY,EAAZA,YAAAA;AAAY,GAAA,CAAA,CAAA,EAAA,EAAA,EAAA;AACjCC,IAAAA,IAAI,EAAEN,MAAO;AACbpB,IAAAA,QAAQ,EAAEwB,YAAAA;AAAa,GAAA,CACxB,CAAC,CAAA;AAEN,CAAC,CAAA;AAED,sBAAeW,iBAAiB,CAACnB,UAAU,CAAC;;;;AC/D5C,IAAMoB,WAAW,GAAG,SAAdA,WAAWA,CAAGvF,KAAK,EAAI;AAC3B,EAAA,IAAA8C,gBAAA,GAAqChE,eAAe,CAACkB,KAAK,CAAC;IAAnDsB,YAAY,GAAAwB,gBAAA,CAAZxB,YAAY;IAAEY,UAAU,GAAAY,gBAAA,CAAVZ,UAAU,CAAA;AAEhC,EAAA,oBACEc,cAAA,CAACwC,0BAAM,EAAArD,eAAA,CAAAA,eAAA,CAAA;IACLsD,OAAO,EAAA,IAAA;IACPC,YAAY,EAAA,IAAA;AACZC,IAAAA,QAAQ,EAAC,OAAA;AAAO,GAAA,EACZzD,UAAU,CAAA,EAAA,EAAA,EAAA;IACdiB,QAAQ,EAAE,SAAAA,QAAAA,CAAAyC,eAAe,EAAA;MAAA,OACvBtE,YAAY,CAACuE,WAAK,CAAC,OAAO,EAAED,eAAe,CAAC,CAAC,CAAA;AAAA,KAAA;AAC9C,GAAA,CACF,CAAC,CAAA;AAEN,CAAC,CAAA;AAED,uBAAeN,iBAAiB,CAACC,WAAW,CAAC;;;;ACjB7C,IAAMO,QAAM,GAAG,SAATA,MAAMA,CAAG9F,KAAK,EAAI;AACtB,EAAA,IAAA8C,gBAAA,GAA4ChE,eAAe,CAACkB,KAAK,CAAC;IAA1DsB,YAAY,GAAAwB,gBAAA,CAAZxB,YAAY;IAAEY,UAAU,GAAAY,gBAAA,CAAVZ,UAAU;IAAE5B,KAAK,GAAAwC,gBAAA,CAALxC,KAAK,CAAA;EAEvC,oBACE0C,cAAA,CAAC+C,yBAAK,EAAA5D,eAAA,CAAAA,eAAA,KACAD,UAAU,CAAA,EAAA,EAAA,EAAA;AACd8D,IAAAA,IAAI,EAAC,QAAQ;IACbrG,MAAM,EAAE,SAAAA,MAAA,GAAA;AAAA,MAAA,OAAMW,KAAK,IAAIgB,YAAY,EAAE,CAAA;AAAA,KAAA;AAAC,GAAA,CACvC,CAAC,CAAA;AAEN,CAAC,CAAA;AAED,kBAAegE,iBAAiB,CAACQ,QAAM,CAAC;;;;;ACPxC,IAAMG,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAGrH,SAAS,EAAI;AAC7C,EAAA,IAAMsH,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAAlL,IAAA,EAAoC;AAAA,IAAA,IAAA0E,WAAA,GAAA1E,IAAA,CAA9B2E,MAAM;AAANA,MAAAA,MAAM,GAAAD,WAAA,KAAGG,KAAAA,CAAAA,GAAAA,cAAI,GAAAH,WAAA;AAAKM,MAAAA,KAAK,GAAAC,wBAAA,CAAAjF,IAAA,EAAAkF,WAAA,CAAA,CAAA;AAC1D,IAAA,IAAMiG,GAAG,GAAG1B,YAAM,CAAC,IAAI,CAAC,CAAA;AACxB,IAAA,IAAMhF,QAAQ,GAAGE,MAAM,KAAKE,cAAI,CAAA;AAChCuG,IAAAA,4BAAiB,CAACD,GAAG,EAAExG,MAAM,EAAE;AAAE0G,MAAAA,OAAO,EAAE5G,QAAAA;AAAS,KAAC,CAAC,CAAA;IAErD,OAAOA,QAAQ,gBACbuD,cAAA,CAAA,KAAA,EAAA;AAAWmD,MAAAA,GAAG,EAAHA,GAAG;MAAA7C,QAAA,eACZN,cAAA,CAACpE,SAAS,EAAAuD,eAAA,CAAAA,eAAA,CAAA,EAAA,EAAKnC,KAAK,CAAA,EAAA,EAAA,EAAA;AAAEgG,QAAAA,IAAI,EAAC,OAAA;OAAS,CAAA,CAAA;KACjC,CAAC,gBAENhD,cAAA,CAACpE,SAAS,EAAAuD,eAAA,CAAAA,eAAA,CAAA,EAAA,EAAKnC,KAAK,CAAA,EAAA,EAAA,EAAA;AAAEgG,MAAAA,IAAI,EAAC,OAAA;AAAO,KAAA,CAAE,CACrC,CAAA;GACF,CAAA;EAEDE,yBAAyB,CAACrH,WAAW,GAAA1I,4BAAAA,CAAAA,MAAA,CAAgCwI,uBAAuB,CAC1FC,SACF,CAAC,EAAG,GAAA,CAAA,CAAA;AAEJ,EAAA,OAAOsH,yBAAyB,CAAA;AAClC,CAAC,CAAA;AAED,IAAMI,eAAe,GAAGL,yBAAyB,CAACd,8BAAU,CAAC,CAAA;AAC7D,IAAMoB,eAAe,GAAGN,yBAAyB,CAACjB,8BAAU,CAAC,CAAA;AAE7D,IAAMwB,WAAW,GAAG,SAAdA,WAAWA,CAAGxG,KAAK,EAAI;AAC3B,EAAA,IAAA8C,gBAAA,GAAqChE,eAAe,CAACkB,KAAK,CAAC;IAAnDsB,YAAY,GAAAwB,gBAAA,CAAZxB,YAAY;IAAEY,UAAU,GAAAY,gBAAA,CAAVZ,UAAU,CAAA;AAEhC,EAAA,IAAMyC,YAAY,GAAG,SAAfA,YAAYA,CAAAxJ,KAAA,EAAqB;AAAA,IAAA,IAAAW,KAAA,GAAAkF,cAAA,CAAA7F,KAAA,EAAA,CAAA,CAAA;AAAhBsL,MAAAA,KAAK,GAAA3K,KAAA,CAAA,CAAA,CAAA;AAAE4K,MAAAA,GAAG,GAAA5K,KAAA,CAAA,CAAA,CAAA,CAAA;IAC/B,IAAI2K,KAAK,IAAIC,GAAG,EAAE;AAChBpF,MAAAA,YAAY,CAAC,CAAChD,gBAAgB,CAACmI,KAAK,CAAC,EAAEnI,gBAAgB,CAACoI,GAAG,CAAC,CAAC,CAAC,CAAA;AAChE,KAAC,MAAM;MACLpF,YAAY,CAAC,EAAE,CAAC,CAAA;AAClB,KAAA;GACD,CAAA;AAED,EAAA,IAAItB,KAAK,CAACzG,IAAI,KAAKpC,KAAK,CAACQ,SAAS,EAAE;IAClC,oBAAOqL,cAAA,CAACsD,eAAe,EAAAnE,eAAA,CAAAA,eAAA,KAAKD,UAAU,CAAA,EAAA,EAAA,EAAA;AAAEiB,MAAAA,QAAQ,EAAEwB,YAAAA;AAAa,KAAA,CAAE,CAAC,CAAA;AACpE,GAAA;;AAEA;EACA,oBACE3B,cAAA,CAACuD,eAAe,EAAApE,eAAA,CAAAA,eAAA,KACVD,UAAU,CAAA,EAAA,EAAA,EAAA;IACd+C,UAAU,EAAA,IAAA;AACVC,IAAAA,MAAM,EAAC,QAAQ;AACf/B,IAAAA,QAAQ,EAAEwB,YAAAA;AAAa,GAAA,CACxB,CAAC,CAAA;AAEN,CAAC,CAAA;AAED,uBAAeW,iBAAiB,CAACkB,WAAW,CAAC;;;;ACxD7C,IAAMG,YAAY,GAAG,SAAfA,YAAYA,CAAG3G,KAAK,EAAI;AAC5B,EAAA,IAAA8C,gBAAA,GAAqChE,eAAe,CAACkB,KAAK,CAAC;IAAnDsB,YAAY,GAAAwB,gBAAA,CAAZxB,YAAY;IAAEY,UAAU,GAAAY,gBAAA,CAAVZ,UAAU,CAAA;AAEhC,EAAA,oBACEc,cAAA,CAACwC,4BAAM,EAAArD,eAAA,CAAAA,eAAA,CAAA;IACLyE,WAAW,EAAA,IAAA;IACXlB,YAAY,EAAA,IAAA;AACZC,IAAAA,QAAQ,EAAC,OAAA;AAAO,GAAA,EACZzD,UAAU,CAAA,EAAA,EAAA,EAAA;IACdiB,QAAQ,EAAE,SAAAA,QAAAA,CAAA0D,MAAM,EAAA;AAAA,MAAA,OAAIvF,YAAY,CAAC,CAAAuF,MAAM,KAANA,IAAAA,IAAAA,MAAM,KAANA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,CAAE9M,KAAK,KAAI,EAAE,CAAC,CAAA;AAAA,KAAA;AAAC,GAAA,CACvD,CAAC,CAAA;AAEN,CAAC,CAAA;AACD,wBAAeuL,iBAAiB,CAACqB,YAAY,CAAC;;;;ACb9C,IAAMG,IAAI,GAAG,SAAPA,IAAIA,CAAG9G,KAAK,EAAI;AACpB,EAAA,IAAA8C,gBAAA,GAA4ChE,eAAe,CAACkB,KAAK,CAAC;IAA1DsB,YAAY,GAAAwB,gBAAA,CAAZxB,YAAY;IAAEY,UAAU,GAAAY,gBAAA,CAAVZ,UAAU;IAAE5B,KAAK,GAAAwC,gBAAA,CAALxC,KAAK,CAAA;AAEvC,EAAA,IAAMyG,aAAa,GAAG,SAAhBA,aAAaA,CAAGC,KAAK,EAAI;IAC7B,IAAIA,KAAK,CAACC,GAAG,KAAK,OAAO,IAAID,KAAK,CAACE,QAAQ,EAAE,OAAA;IAE7CF,KAAK,CAACG,cAAc,EAAE,CAAA;AACtB7F,IAAAA,YAAY,EAAE,CAAA;GACf,CAAA;AAED,EAAA,IAAM8F,WAAW,GAAG,SAAdA,WAAWA,CAAGC,OAAO,EAAI;AAC7B,IAAA,IAAMX,GAAG,GAAGW,OAAO,CAACtN,KAAK,CAACuN,MAAM,CAAA;AAChCD,IAAAA,OAAO,CAACE,iBAAiB,CAACb,GAAG,EAAEA,GAAG,CAAC,CAAA;GACpC,CAAA;EAED,oBACE1D,cAAA,CAACwE,4BAAQ,EAAArF,eAAA,CAAAA,eAAA,KACHD,UAAU,CAAA,EAAA,EAAA,EAAA;AACdsB,IAAAA,SAAS,EAAC,kCAAkC;AAC5CiE,IAAAA,IAAI,EAAE,CAAE;AACR3D,IAAAA,IAAI,EAAC,OAAO;AACZ4D,IAAAA,KAAK,EAAE;AAAEC,MAAAA,MAAM,EAAE,MAAA;KAAS;IAC1BhI,MAAM,EAAE,SAAAA,MAAA,GAAA;AAAA,MAAA,OAAMW,KAAK,IAAIgB,YAAY,EAAE,CAAA;KAAC;IACtCsG,OAAO,EAAE,SAAAA,OAAAA,CAAA5M,IAAA,EAAA;AAAA,MAAA,IAAGoI,MAAM,GAAApI,IAAA,CAANoI,MAAM,CAAA;MAAA,OAAOgE,WAAW,CAAChE,MAAM,CAAC,CAAA;KAAC;AAC7CyE,IAAAA,SAAS,EAAEd,aAAAA;AAAc,GAAA,CAC1B,CAAC,CAAA;AAEN,CAAC,CAAA;AAED,gBAAezB,iBAAiB,CAACwB,IAAI,CAAC;;;;AC7BtC,IAAMgB,QAAQ,GAAG,SAAXA,QAAQA,CAAG9H,KAAK,EAAI;AACxB,EAAA,IAAA8C,gBAAA,GAA4ChE,eAAe,CAACkB,KAAK,CAAC;IAA1DsB,YAAY,GAAAwB,gBAAA,CAAZxB,YAAY;IAAEY,UAAU,GAAAY,gBAAA,CAAVZ,UAAU;IAAE5B,KAAK,GAAAwC,gBAAA,CAALxC,KAAK,CAAA;EAEvC,oBAAO0C,cAAA,CAACwE,4BAAQ,EAAArF,eAAA,CAAAA,eAAA,KAAKD,UAAU,CAAA,EAAA,EAAA,EAAA;IAAEvC,MAAM,EAAE,SAAAA,MAAA,GAAA;AAAA,MAAA,OAAMW,KAAK,IAAIgB,YAAY,EAAE,CAAA;AAAA,KAAA;AAAC,GAAA,CAAE,CAAC,CAAA;AAC5E,CAAC,CAAA;AACD,oBAAegE,iBAAiB,CAACwC,QAAQ,CAAC;;;;ACE1C,IAAMC,kBAAkB,GAAG;AACzB3Q,EAAAA,IAAI,EAAE4Q,SAAS;AACf/P,EAAAA,KAAK,EAAE+P,SAAS;AAChBnQ,EAAAA,QAAQ,EAAEoQ,aAAa;AACvBtP,EAAAA,SAAS,EAAEsP,aAAa;AAAE;AAC1B5Q,EAAAA,MAAM,EAAE6Q,WAAW;AACnB5Q,EAAAA,QAAQ,EAAE4Q,WAAW;AACrBhQ,EAAAA,OAAO,EAAEgQ,WAAW;AACpB/P,EAAAA,OAAO,EAAE+P,WAAW;AACpBzQ,EAAAA,IAAI,EAAE0Q,eAAe;AACrBzQ,EAAAA,IAAI,EAAEyQ,eAAe;AACrB/P,EAAAA,QAAQ,EAAE+P,eAAe;AACzB5P,EAAAA,aAAa,EAAE6P,iBAAiB;AAChC5P,EAAAA,YAAY,EAAE6P,gBAAgB;AAC9B5P,EAAAA,UAAU,EAAE6P,gBAAgB;AAC5B5P,EAAAA,UAAU,EAAE4P,gBAAgB;AAC5BtQ,EAAAA,QAAQ,EAAE6K,QAAAA;AACZ,CAAC,CAAA;AAED,IAAM0F,aAAa,GAAG,SAAhBA,aAAaA,CAAAvN,IAAA,EAAyC;AAAA,EAAA,IAAnCwN,KAAK,GAAAxN,IAAA,CAALwN,KAAK;IAAAC,qBAAA,GAAAzN,IAAA,CAAE0N,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA,CAAA;AACnD,EAAA,IAAM7J,SAAS,GACb8J,gBAAgB,CAACF,KAAK,CAACjP,IAAI,CAAC,IAAIwO,kBAAkB,CAACS,KAAK,CAACjP,IAAI,CAAC,CAAA;AAEhE,EAAA,IAAIqF,SAAS,EAAE;AACb,IAAA,OAAOA,SAAS,CAAA;AAClB,GAAA;AAEA,EAAA,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,IAAM+J,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAAGC,WAAW,EAAA;AAAA,EAAA,OACzCA,WAAW,CAACC,MAAM,CAAC,UAAAC,IAAI,EAAA;IAAA,OAAI,CAACjO,WAAK,CAAC+H,UAAI,CAAC,MAAM,EAAEkG,IAAI,CAAC,CAAC,CAAA;GAAC,CAAA,CAAA;AAAA,CAAA,CAAA;AAExD,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAGH,WAAW,EAAA;AAAA,EAAA,OACvC/G,SAAG,CAACmH,UAAI,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,EAAEJ,WAAW,CAAC,CAAA;AAAA,CAAA,CAAA;AAEnD,IAAMK,eAAe,GAAG,SAAlBA,eAAeA,CAAA9N,KAAA,EAAyC;AAAA,EAAA,IAA3B+N,YAAY,GAAA/N,KAAA,CAApBlC,MAAM;IAAgBkQ,MAAM,GAAAhO,KAAA,CAANgO,MAAM,CAAA;AACrD,EAAA,IAAMC,cAAc,GAAGC,WAAK,CAACH,YAAY,CAAC,CAAA;EAC1C,IAAMI,gBAAgB,GAAG,EAAE,CAAA;AAE3BH,EAAAA,MAAM,CAACI,OAAO,CAAC,UAAAzN,KAAA,EAAkB;AAAA,IAAA,IAAfkD,EAAE,GAAAlD,KAAA,CAAFkD,EAAE;MAAExE,IAAI,GAAAsB,KAAA,CAAJtB,IAAI,CAAA;AACxB,IAAA,IAAMgG,SAAS,GAAGC,YAAY,CAAA,EAAA,CAAAtK,MAAA,CAAIqE,IAAI,EAAA,GAAA,CAAA,CAAArE,MAAA,CAAI6I,EAAE,CAAE,CAAC,CAAA;AAC/CsK,IAAAA,gBAAgB,CAACE,IAAI,CAACJ,cAAc,CAAC5I,SAAS,CAAC,CAAC,CAAA;IAChD,OAAO4I,cAAc,CAAC5I,SAAS,CAAC,CAAA;AAClC,GAAC,CAAC,CAAA;EAEF,IAAMiJ,kBAAkB,GAAGC,UAAI,CAC7Bf,uBAAuB,EACvBI,qBACF,CAAC,CAACO,gBAAgB,CAAC,CAAA;AAEnB,EAAA,OAAAnH,eAAA,CAAAA,eAAA,CAAA,EAAA,EAAYiH,cAAc,CAAA,EAAA,EAAA,EAAA;AAAEO,IAAAA,qBAAqB,EAAEF,kBAAAA;AAAkB,GAAA,CAAA,CAAA;AACvE,CAAC,CAAA;AAED,IAAMG,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAGrQ,IAAI,EAAI;AACrC,EAAA,QAAQA,IAAI;IACV,KAAKpC,KAAK,CAACa,QAAQ;AACjB,MAAA,OAAO,KAAK,CAAA;IACd,KAAKb,KAAK,CAACK,WAAW,CAAA;IACtB,KAAKL,KAAK,CAACQ,SAAS,CAAA;IACpB,KAAKR,KAAK,CAACS,SAAS;AAClB,MAAA,OAAO,EAAE,CAAA;AACX,IAAA;AACE,MAAA,OAAO,EAAE,CAAA;AACb,GAAA;AACF,CAAC,CAAA;AAED,IAAMiS,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAA1M,KAAA,EAIpB;AAAA,EAAA,IAHJqL,KAAK,GAAArL,KAAA,CAALqL,KAAK;IAAAsB,iBAAA,GAAA3M,KAAA,CACLyL,WAAW;AAAXA,IAAAA,WAAW,GAAAkB,iBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,iBAAA;IAAAC,qBAAA,GAAA5M,KAAA,CAChB6M,qBAAqB;AAArBA,IAAAA,qBAAqB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA,CAAA;EAE7B,IAAME,sBAAsB,GAAGtI,gBAAM,CAAC;IAAE5C,OAAO,EAAEyJ,KAAK,CAACxJ,EAAAA;GAAI,EAAE4J,WAAW,CAAC,CAAA;AACzE,EAAA,IAAMsB,SAAS,GAAG1B,KAAK,CAACjP,IAAI,KAAKpC,KAAK,CAACK,WAAW,GAAG,QAAQ,GAAG,OAAO,CAAA;AACvE,EAAA,IAAM2S,iBAAiB,GAAG;IACxBpL,OAAO,EAAEyJ,KAAK,CAACxJ,EAAE;AACjBC,IAAAA,IAAI,EAAE+K,qBAAqB,GAAAnM,eAAA,CACpBqM,EAAAA,EAAAA,SAAS,EAAGN,sBAAsB,CAACpB,KAAK,CAACjP,IAAI,CAAC,CACjD,GAAA,IAAA;GACL,CAAA;EAED,OAAAsE,eAAA,KACG4C,YAAY,CAAA,EAAA,CAAAtK,MAAA,CAAIqS,KAAK,CAAChO,IAAI,EAAA,GAAA,CAAA,CAAArE,MAAA,CAAIqS,KAAK,CAACxJ,EAAE,CAAE,CAAC,EACxCiL,sBAAsB,IAAIE,iBAAiB,CAAA,CAAA;AAEjD,CAAC,CAAA;AAED,IAAMC,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAIjB,MAAM,EAAA;AAAA,EAAA,IAAEP,WAAW,GAAAvK,SAAA,CAAAiJ,MAAA,GAAA,CAAA,IAAAjJ,SAAA,CAAA,CAAA,CAAA,KAAAoD,SAAA,GAAApD,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE,CAAA;EAAA,OACxDgM,kBAAkB,CAAClB,MAAM,CAAC,CAACtH,GAAG,CAAC,UAAA2G,KAAK,EAAA;AAAA,IAAA,OAClCqB,oBAAoB,CAAC;AAAErB,MAAAA,KAAK,EAALA,KAAK;AAAEI,MAAAA,WAAW,EAAXA,WAAAA;AAAY,KAAC,CAAC,CAAA;AAAA,GAC9C,CAAC,CAAA;AAAA,CAAA,CAAA;AAEH,IAAM0B,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAAC,KAAA,EAAkC;AAAA,EAAA,IAA5BC,aAAa,GAAAD,KAAA,CAAbC,aAAa;IAAErB,MAAM,GAAAoB,KAAA,CAANpB,MAAM,CAAA;EACjD,IAAMsB,YAAY,GAAGC,cAAQ,CAAA,CAC3BF,aAAa,CAAArU,CAAAA,MAAA,CAAAmG,kBAAA,CACV8N,wBAAwB,CAACjB,MAAM,EAAEqB,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAbA,aAAa,CAAE5B,WAAW,CAAC,CAAA,CAChE,CAAC,CAAA;AAEF,EAAA,OAAO+B,UAAI,CAAC,CAAC,aAAa,CAAC,EAAEF,YAAY,CAAC,CAAA;AAC5C,CAAC,CAAA;AAED,IAAMJ,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAGlB,MAAM,EAAA;AAAA,EAAA,OAAIyB,kBAAQ,CAAC;AAAEC,IAAAA,QAAQ,EAAE,KAAA;GAAO,EAAE1B,MAAM,CAAC,CAAA;AAAA,CAAA,CAAA;AAE1E,IAAM1I,YAAY,GAAG,SAAfA,YAAYA,CAAGpF,MAAM,EAAA;EAAA,OACzBA,MAAM,CAACe,OAAO,CAAC,gBAAgB,EAAE,UAAAF,KAAK,EAAI;AACxC,IAAA,IAAM4O,QAAQ,GAAG5O,KAAK,CAAC6O,UAAU,CAAC,CAAC,CAAC,CAAA;IAEpC,OAAA5U,GAAAA,CAAAA,MAAA,CAAW2U,QAAQ,EAAA,GAAA,CAAA,CAAA;AACrB,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAEJ,IAAME,gBAAgB,GAAG;AAAEV,EAAAA,kBAAkB,EAAlBA,kBAAkB;AAAErB,EAAAA,eAAe,EAAfA,eAAAA;AAAgB;;;;ACtH/D,IAAMgC,WAAW,GAAGC,gBAAK,CACvB,UAAAlQ,IAAA,EAAA;AAAA,EAAA,IACE1C,CAAC,GAAA0C,IAAA,CAAD1C,CAAC;IAAAmQ,qBAAA,GAAAzN,IAAA,CACD0N,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IACrBU,MAAM,GAAAnO,IAAA,CAANmO,MAAM;IACNhK,OAAO,GAAAnE,IAAA,CAAPmE,OAAO;IACPE,QAAQ,GAAArE,IAAA,CAARqE,QAAQ;IACRE,oBAAoB,GAAAvE,IAAA,CAApBuE,oBAAoB,CAAA;EAAA,OAEpB8K,kBAAkB,CAAClB,MAAM,CAAC,CAACtH,GAAG,CAAC,UAAA2G,KAAK,EAAI;IACtC,IAAM2C,KAAK,GAAG5C,aAAa,CAAC;AAAEC,MAAAA,KAAK,EAALA,KAAK;AAAEE,MAAAA,gBAAgB,EAAhBA,gBAAAA;AAAiB,KAAC,CAAC,CAAA;AAExD,IAAA,IAAIyC,KAAK,EAAE;MACT,oBACEnI,cAAA,CAACmI,KAAK,EAAAhJ,eAAA,KAAAA,eAAA,CAAAA,eAAA,CAAA,EAAA,EAEKqG,KAAK,CAAA,EAAA,EAAA,EAAA;AAAEnJ,QAAAA,QAAQ,EAARA,QAAQ;AAAEF,QAAAA,OAAO,EAAPA,OAAO;AAAEI,QAAAA,oBAAoB,EAApBA,oBAAAA;OAD9BiJ,CAAAA,CAAAA,EAAAA,KAAK,CAACxJ,EAEZ,CAAC,CAAA;AAEN,KAAA;IAEA,oBACEgE,cAAA,CAACoI,8BAAU,EAAA;AAAgB1D,MAAAA,KAAK,EAAC,OAAO;MAAApE,QAAA,EACrChL,CAAC,CAAC,kCAAkC,CAAA;KADtBkQ,EAAAA,KAAK,CAACxJ,EAEX,CAAC,CAAA;AAEjB,GAAC,CAAC,CAAA;AAAA,CACN;;;;ACxBA,IAAMqM,QAAQ,GAAG,SAAXA,QAAQA,CAAGtM,OAAO,EAAA;EAAA,OAAIuM,cAAQ,CAAChV,SAAS,EAAE;AAAEyI,IAAAA,OAAO,EAAPA,OAAAA;AAAQ,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAC5D,IAAMwM,eAAe,GAAG,SAAlBA,eAAeA,CAAGxM,OAAO,EAAA;EAAA,OAAIuM,cAAQ,CAAC/U,gBAAgB,EAAE;AAAEwI,IAAAA,OAAO,EAAPA,OAAAA;AAAQ,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAE1E,IAAMyM,OAAK,GAAG,SAARA,KAAKA,CAAAxQ,IAAA,EAAA;AAAA,EAAA,IAAMyQ,YAAY,GAAAzQ,IAAA,CAAZyQ,YAAY;IAAEC,OAAO,GAAA1Q,IAAA,CAAP0Q,OAAO;IAAEC,KAAK,GAAA3Q,IAAA,CAAL2Q,KAAK;IAAEC,OAAO,GAAA5Q,IAAA,CAAP4Q,OAAO;IAAAC,cAAA,GAAA7Q,IAAA,CAAE8Q,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,cAAA,CAAA;AAAA,EAAA,OACpEE,yBAAK,CAACC,GAAG,CAAC9V,UAAU,EAAE;AACpB+V,IAAAA,MAAM,EAAA9J,eAAA,CAAA;AAAIsJ,MAAAA,YAAY,EAAZA,YAAY;AAAEC,MAAAA,OAAO,EAAPA,OAAO;AAAEC,MAAAA,KAAK,EAALA,KAAK;AAAEC,MAAAA,OAAO,EAAPA,OAAAA;AAAO,KAAA,EAAKE,SAAS,CAAA;AAC/D,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAEJ,IAAMI,QAAM,GAAG,SAATA,MAAMA,CAAGC,OAAO,EAAA;AAAA,EAAA,OAAIJ,yBAAK,CAACK,IAAI,CAAClW,UAAU,EAAEiW,OAAO,CAAC,CAAA;AAAA,CAAA,CAAA;AAEzD,IAAME,IAAI,GAAG,SAAPA,IAAIA,CAAAlR,KAAA,EAAA;AAAA,EAAA,IAAM4D,OAAO,GAAA5D,KAAA,CAAP4D,OAAO;IAAE2M,OAAO,GAAAvQ,KAAA,CAAPuQ,OAAO,CAAA;EAAA,OAC9BK,yBAAK,CAACC,GAAG,CAACX,QAAQ,CAACtM,OAAO,CAAC,EAAE;AAAEkN,IAAAA,MAAM,EAAE;AAAEP,MAAAA,OAAO,EAAPA,OAAAA;AAAQ,KAAA;AAAE,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAEvD,IAAMY,SAAO,GAAG,SAAVA,OAAOA,CAAAxQ,KAAA,EAAA;AAAA,EAAA,IAAMiD,OAAO,GAAAjD,KAAA,CAAPiD,OAAO;IAAE2M,OAAO,GAAA5P,KAAA,CAAP4P,OAAO,CAAA;AAAA,EAAA,OACjCK,yBAAK,CAAO,QAAA,CAAA,CAACV,QAAQ,CAACtM,OAAO,CAAC,EAAE;AAAEE,IAAAA,IAAI,EAAE;AAAEyM,MAAAA,OAAO,EAAPA,OAAAA;AAAQ,KAAA;AAAE,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAExD,IAAMa,QAAM,GAAG,SAATA,MAAMA,CAAApP,KAAA,EAAA;AAAA,EAAA,IAAM4B,OAAO,GAAA5B,KAAA,CAAP4B,OAAO;IAAEoN,OAAO,GAAAhP,KAAA,CAAPgP,OAAO,CAAA;EAAA,OAAOJ,yBAAK,CAACS,GAAG,CAACnB,QAAQ,CAACtM,OAAO,CAAC,EAAEoN,OAAO,CAAC,CAAA;AAAA,CAAA,CAAA;AAE9E,IAAMM,OAAO,GAAG,SAAVA,OAAOA,CAAGN,OAAO,EAAA;AAAA,EAAA,OAAIJ,yBAAK,CAACW,KAAK,CAAClW,kBAAkB,EAAE2V,OAAO,CAAC,CAAA;AAAA,CAAA,CAAA;AAEnE,IAAMQ,YAAY,GAAG,SAAfA,YAAYA,CAAA7P,KAAA,EAAA;AAAA,EAAA,IAAMiC,OAAO,GAAAjC,KAAA,CAAPiC,OAAO;IAAE2M,OAAO,GAAA5O,KAAA,CAAP4O,OAAO,CAAA;EAAA,OACtCK,yBAAK,CAACC,GAAG,CAACT,eAAe,CAACxM,OAAO,CAAC,EAAE;AAAEkN,IAAAA,MAAM,EAAE;AAAEP,MAAAA,OAAO,EAAPA,OAAAA;AAAQ,KAAA;AAAE,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAE9D,IAAMkB,SAAS,GAAG;AAChBpB,EAAAA,KAAK,EAALA,OAAK;AACLU,EAAAA,MAAM,EAANA,QAAM;AACNG,EAAAA,IAAI,EAAJA,IAAI;AACJC,EAAAA,OAAO,EAAPA,SAAO;AACPC,EAAAA,MAAM,EAANA,QAAM;AACNE,EAAAA,OAAO,EAAPA,OAAO;AACPE,EAAAA,YAAY,EAAZA,YAAAA;AACF,CAAC;;ACzCD,IAAME,UAAU,GAAG;AACjBC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,YAAY,EAAE,cAAc;AAC5BC,EAAAA,OAAO,EAAE,gBAAgB;AACzBC,EAAAA,YAAY,EAAE,cAAA;AAChB,CAAC,CAAA;AAED,IAAMC,kBAAkB,GAAG,OAAS,CAAC;;;;;ACDrC,IAAQJ,MAAM,GAAmBD,UAAU,CAAnCC,MAAM;EAAEG,YAAY,GAAKJ,UAAU,CAA3BI,YAAY,CAAA;AAErB,IAAME,cAAc,GAAG,SAAjBA,cAAcA,CAAAnS,IAAA,EAAyC0H,OAAO,EAAA;AAAA,EAAA,IAAA0K,oBAAA,GAAApS,IAAA,CAA1CqS,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,oBAAA;AAAKnB,IAAAA,MAAM,GAAAhM,wBAAA,CAAAjF,IAAA,EAAAkF,WAAA,CAAA,CAAA;EAAA,OAC9DoN,mBAAQ,CAAAnL,eAAA,CAAA;IACNoL,QAAQ,EAAA,CAAGT,MAAM,CAAA,CAAA3W,MAAA,CAAAmG,kBAAA,CAAK+Q,eAAe,CAAEpB,EAAAA,CAAAA,MAAM,CAAC,CAAA;IAC9CuB,OAAO,EAAE,SAAAA,OAAA,GAAA;AAAA,MAAA,OAAMZ,SAAS,CAACpB,KAAK,CAACS,MAAM,CAAC,CAAA;AAAA,KAAA;AACtCwB,IAAAA,SAAS,EAAEP,kBAAAA;GACRxK,EAAAA,OAAO,CACX,CAAC,CAAA;AAAA,EAAA;IAESgL,cAAc,GAAG,SAAjBA,cAAcA,CAAGhL,OAAO,EAAA;AAAA,EAAA,OACnCiL,sCAA2B,CAACf,SAAS,CAACV,MAAM,EAAA/J,eAAA,CAAA;AAC1CyL,IAAAA,gBAAgB,EAAE,CAAC,CAACd,MAAM,CAAC,CAAA;GACxBpK,EAAAA,OAAO,CACX,CAAC,CAAA;AAAA,EAAA;AAEG,IAAMmL,YAAY,GAAG,SAAfA,YAAYA,CAAA1S,KAAA,EAA0BuH,OAAO,EAAA;AAAA,EAAA,IAA3B3D,OAAO,GAAA5D,KAAA,CAAP4D,OAAO;IAAE2M,OAAO,GAAAvQ,KAAA,CAAPuQ,OAAO,CAAA;EAAA,OAC7C4B,mBAAQ,CAAAnL,eAAA,CAAA;AACNoL,IAAAA,QAAQ,EAAE,CAACT,MAAM,EAAE/N,OAAO,CAAC;IAC3ByO,OAAO,EAAE,SAAAA,OAAA,GAAA;MAAA,OAAMZ,SAAS,CAACP,IAAI,CAAC;AAAEtN,QAAAA,OAAO,EAAPA,OAAO;AAAE2M,QAAAA,OAAO,EAAPA,OAAAA;AAAQ,OAAC,CAAC,CAAA;AAAA,KAAA;GAChDhJ,EAAAA,OAAO,CACX,CAAC,CAAA;AAAA,EAAA;AAEG,IAAMoL,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAhS,KAAA,EAA0B4G,OAAO,EAAA;AAAA,EAAA,IAA3B3D,OAAO,GAAAjD,KAAA,CAAPiD,OAAO;IAAE2M,OAAO,GAAA5P,KAAA,CAAP4P,OAAO,CAAA;EAAA,OACrD4B,mBAAQ,CAAAnL,eAAA,CAAA;AACNoL,IAAAA,QAAQ,EAAE,CAACN,YAAY,EAAElO,OAAO,CAAC;IACjCyO,OAAO,EAAE,SAAAA,OAAA,GAAA;MAAA,OAAMZ,SAAS,CAACD,YAAY,CAAC;AAAE5N,QAAAA,OAAO,EAAPA,OAAO;AAAE2M,QAAAA,OAAO,EAAPA,OAAAA;AAAQ,OAAC,CAAC,CAAA;AAAA,KAAA;GACxDhJ,EAAAA,OAAO,CACX,CAAC,CAAA;AAAA,CAAA,CAAA;IAESqL,cAAc,GAAG,SAAjBA,cAAcA,CAAGrL,OAAO,EAAA;AAAA,EAAA,OACnCiL,sCAA2B,CAACf,SAAS,CAACL,MAAM,EAAApK,eAAA,CAAA;AAC1CyL,IAAAA,gBAAgB,EAAE,CAAC,CAACd,MAAM,CAAC,CAAA;GACxBpK,EAAAA,OAAO,CACX,CAAC,CAAA;AAAA,EAAA;IAESsL,eAAe,GAAG,SAAlBA,eAAeA,CAAGtL,OAAO,EAAA;AAAA,EAAA,OACpCiL,sCAA2B,CAACf,SAAS,CAACN,OAAO,EAAAnK,eAAA,CAAA;AAC3CyL,IAAAA,gBAAgB,EAAE,CAAC,CAACd,MAAM,CAAC,CAAA;GACxBpK,EAAAA,OAAO,CACX,CAAC,CAAA;AAAA,EAAA;AAEG,IAAMuL,gBAAgB,GAAG,SAAnBA,gBAAgBA,GAAA;AAAA,EAAA,OAC3BN,sCAA2B,CAACf,SAAS,CAACH,OAAO,EAAE;AAC7CmB,IAAAA,gBAAgB,EAAE,CAAC,CAACd,MAAM,CAAC,CAAA;AAC7B,GAAC,CAAC,CAAA;AAAA,CAAA;;;;ACpCJ,IAAMoB,0BAA0B,GAAG,SAA7BA,0BAA0BA,CAAGxL,OAAO,EAAA;AAAA,EAAA,OACxCA,OAAO,CAACb,GAAG,CAAC,UAACgF,MAAM,EAAEsH,KAAK,EAAA;AAAA,IAAA,OAAAhM,eAAA,CAAAA,eAAA,CAAA,EAAA,EAAW0E,MAAM,CAAA,EAAA,EAAA,EAAA;AAAEuH,MAAAA,YAAY,EAAED,KAAAA;AAAK,KAAA,CAAA,CAAA;AAAA,GAAG,CAAC,CAAA;AAAA,CAAA,CAAA;AAE/D,IAAME,YAAY,GAAG,SAAfA,YAAYA,CAAArT,IAAA,EAInB;AAAA,EAAA,IAHJsT,UAAU,GAAAtT,IAAA,CAAVsT,UAAU;IAAAC,iBAAA,GAAAvT,IAAA,CACVyQ,YAAY;AAAZA,IAAAA,YAAY,GAAA8C,iBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,iBAAA;IAAAC,YAAA,GAAAxT,IAAA,CACjB0Q,OAAO;AAAPA,IAAAA,OAAO,GAAA8C,YAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,YAAA,CAAA;AAEZ,EAAA,IAAMjV,IAAI,GAAG+U,UAAU,CAAC/U,IAAI,CAACQ,KAAK,CAAA;EAClC,IAAMS,IAAI,GAAG8T,UAAU,CAAC9T,IAAI,CAACP,IAAI,EAAE,CAAA;EAEnC,OAAO;IACLyR,OAAO,EAAE1R,aAAO,CAAC0R,OAAO,CAAC,GAAGjK,SAAS,GAAGiK,OAAO;IAC/ClD,KAAK,EAAArG,eAAA,CAAAA,eAAA,KACAwI,UAAI,CACL,CAAC,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,EACxD2D,UACF,CAAC,CAAA,EAAA,EAAA,EAAA;AACD/U,MAAAA,IAAI,EAAJA,IAAI;AACJiB,MAAAA,IAAI,EAAJA,IAAI;MACJiR,YAAY,EAAEzR,aAAO,CAACyR,YAAY,CAAC,GAAGhK,SAAS,GAAGgK,YAAY;AAC9DxM,MAAAA,IAAI,EAAExF,UAAU,CAACF,IAAI,CAAC,GAClB2U,0BAA0B,CAACI,UAAU,CAACrP,IAAI,CAAC,GAC3CqP,UAAU,CAACrP,IAAAA;AAAI,KAAA,CAAA;GAEtB,CAAA;AACH,CAAC,CAAA;AAEM,IAAMxF,UAAU,GAAG,SAAbA,UAAUA,CAAGF,IAAI,EAAA;EAAA,OAC5B,CAAC,eAAe,EAAE,cAAc,CAAC,CAACC,QAAQ,CAACD,IAAI,CAAC,CAAA;AAAA,CAAA,CAAA;AAE3C,IAAMkV,OAAO,GAAG,SAAVA,OAAOA,CAAGlV,IAAI,EAAA;EAAA,OAAIA,IAAI,KAAK,OAAO,CAAA;AAAA,CAAA,CAAA;AAExC,IAAMmV,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAGnV,IAAI,EAAA;AAAA,EAAA,OACxCoV,kCAAkC,CAACnV,QAAQ,CAACD,IAAI,CAAC,CAAA;AAAA,CAAA,CAAA;AAE5C,IAAMqV,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAzT,KAAA,EAAuC;AAAA,EAAA,IAAjC0T,YAAY,GAAA1T,KAAA,CAAZ0T,YAAY;IAAEC,YAAY,GAAA3T,KAAA,CAAZ2T,YAAY,CAAA;AAC5D,EAAA,IAAMC,aAAa,GAAG/F,UAAI,CAAC6F,YAAY,EAAEG,WAAW,CAAC,CAAA;AAErD,EAAA,OAAOpE,kBAAQ,CAAC;AAAEqE,IAAAA,KAAK,EAAEH,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZA,YAAY,CAAEG,KAAAA;AAAM,GAAC,EAAEhW,YAAM,CAAC8V,aAAa,CAAC,CAAC,CAAA;AACxE,CAAC,CAAA;AAEM,IAAMG,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAGC,qBAAqB,EAAA;AAAA,EAAA,OAC3DvV,cAAG,CACA+D,MAAM,EAAE,CACRC,KAAK,CAAAuE,eAAA,CAAAA,eAAA,CAAMiN,EAAAA,EAAAA,4BAA4B,CAAKD,EAAAA,qBAAqB,CAAE,CAAC,CAAA;AAAA,CAAA,CAAA;AAElE,IAAME,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAvT,KAAA,EAAA;AAAA,EAAA,IAAMwT,OAAO,GAAAxT,KAAA,CAAPwT,OAAO;IAAEC,OAAO,GAAAzT,KAAA,CAAPyT,OAAO,CAAA;AAAA,EAAA,oBACjDvM,cAAA,CAACwM,wBAAI,CAACC,MAAM,EAAA;IAAAnM,QAAA,eACVN,cAAA,CAAC0M,+BAAW,EAAA;AACVC,MAAAA,iBAAiB,EAAE;AAAEC,QAAAA,OAAO,EAAEN,OAAAA;OAAU;AACxC/O,MAAAA,YAAY,EAAEgP,OAAAA;KACf,CAAA;AAAC,GACS,CAAC,CAAA;AAAA,CACf,CAAA;AAEM,IAAMM,gBAAgB,GAAG,SAAnBA,gBAAgBA,GAAA;EAAA,OAAU;IACrC7Q,EAAE,EAAE8Q,OAAM,EAAE;AACZzN,IAAAA,KAAK,EAAE,EAAE;AACT+L,IAAAA,YAAY,EAAE,CAAA;GACf,CAAA;AAAA,CAAC;;ACrEF,IAAM2B,uBAAuB,GAAG,mBAAmB,CAAA;AACnD,IAAMC,gCAAgC,GACpC,uDAAuD,CAAA;AAEzD,IAAMC,qBAAqB,GAAGrW,cAAG,CAAC+D,MAAM,EAAE,CAACC,KAAK,CAAC;EAC/CnC,SAAS,EAAE7B,cAAG,CACXyB,MAAM,EAAE,CACRmH,QAAQ,CAAClK,SAAC,CAAC,kDAAkD,CAAC,CAAC,CAC/DoD,OAAO,CACNqU,uBAAuB,EACvBzX,SAAC,CAAC,6CAA6C,CACjD,CAAC,CACAiC,IAAI,CAAC;AACJC,IAAAA,IAAI,EAAE,wBAAwB;AAC9B0V,IAAAA,OAAO,EACL5X,SAAC,CAAC,6DAA6D,CAAC,IAAI,EAAE;IACxEiC,IAAI,EAAE,SAAAA,IAAAA,CAAAR,KAAK,EAAA;AAAA,MAAA,OAAI,CAACiW,gCAAgC,CAACzV,IAAI,CAACR,KAAK,CAAC,CAAA;AAAA,KAAA;GAC7D,CAAC,CACDQ,IAAI,CAAC;AACJC,IAAAA,IAAI,EAAE,8BAA8B;AACpC0V,IAAAA,OAAO,EAAE5X,SAAC,CAAC,6CAA6C,CAAC,IAAI,EAAE;AAC/DiC,IAAAA,IAAI,EAAE,SAAAA,IAAAR,CAAAA,KAAK,EAAI;MACb,IAAI;AACF,QAAA,IAAMoW,SAAS,GAAGpW,KAAK,CAACqW,WAAW,CAAC,GAAG,CAAC,CAAA;QACxC,IAAM3U,SAAS,GAAG1B,KAAK,CAACsW,SAAS,CAAC,CAAC,EAAEF,SAAS,CAAC,CAAA;AAC/C;QACA,IAAIvT,MAAM,CAACnB,SAAS,CAAC,CAAA;AACrB,QAAA,EAAE,CAAC6U,MAAM,CAAC7U,SAAS,CAAC,CAAA;AAEpB,QAAA,OAAO,IAAI,CAAA;OACZ,CAAC,OAAA8U,OAAA,EAAM;AACN,QAAA,OAAO,KAAK,CAAA;AACd,OAAA;AACF,KAAA;AACF,GAAC,CAAC;AACJ3U,EAAAA,WAAW,EAAEhC,cAAG,CACbyB,MAAM,EAAE,CACRmH,QAAQ,CAAClK,SAAC,CAAC,oDAAoD,CAAC,CAAA;AACrE,CAAC,CAAC,CAAA;AAEF,IAAMkY,+BAA+B,GAAG5W,cAAG,CACxC0B,KAAK,EAAE,CACPC,EAAE,CACD3B,cAAG,CAAC+D,MAAM,EAAE,CAACC,KAAK,CAAC;AACjByE,EAAAA,KAAK,EAAEzI,cAAG,CACPyB,MAAM,EAAE,CACRpB,IAAI,EAAE,CACNuI,QAAQ,CAAClK,SAAC,CAAC,+CAA+C,CAAC,CAAC;AAC/D8V,EAAAA,YAAY,EAAExU,cAAG,CAACvC,MAAM,EAAC;AAC3B,CAAC,CACH,CAAC,CACAoZ,GAAG,CAAC,CAAC,EAAEnY,SAAC,CAAC,sDAAsD,CAAC,CAAC,CAAA;AAE7D,IAAM0W,WAAW,GAAG;AACzB5X,EAAAA,IAAI,EAAE;AAAE2C,IAAAA,KAAK,EAAE,MAAM;AAAEsI,IAAAA,KAAK,EAAE/J,SAAC,CAAC,+BAA+B,CAAC;AAAE2W,IAAAA,KAAK,EAAE,CAAA;GAAG;AAC5E5X,EAAAA,MAAM,EAAE;AACN0C,IAAAA,KAAK,EAAE,QAAQ;AACfsI,IAAAA,KAAK,EAAE/J,SAAC,CAAC,iCAAiC,CAAC;AAC3C2W,IAAAA,KAAK,EAAE,CAAA;GACR;AACD3X,EAAAA,QAAQ,EAAE;AACRyC,IAAAA,KAAK,EAAE,UAAU;AACjBsI,IAAAA,KAAK,EAAE/J,SAAC,CAAC,mCAAmC,CAAC;AAC7C2W,IAAAA,KAAK,EAAE,CAAA;GACR;AACD1W,EAAAA,aAAa,EAAE;AACbwB,IAAAA,KAAK,EAAE,eAAe;AACtBsI,IAAAA,KAAK,EAAE/J,SAAC,CAAC,uCAAuC,CAAC;AACjD2W,IAAAA,KAAK,EAAE,EAAA;GACR;AACDzW,EAAAA,YAAY,EAAE;AACZuB,IAAAA,KAAK,EAAE,cAAc;AACrBsI,IAAAA,KAAK,EAAE/J,SAAC,CAAC,sCAAsC,CAAC;AAChD2W,IAAAA,KAAK,EAAE,CAAA;GACR;AACDxX,EAAAA,IAAI,EAAE;AAAEsC,IAAAA,KAAK,EAAE,MAAM;AAAEsI,IAAAA,KAAK,EAAE/J,SAAC,CAAC,+BAA+B,CAAC;AAAE2W,IAAAA,KAAK,EAAE,CAAA;GAAG;AAC5EvX,EAAAA,IAAI,EAAE;AAAEqC,IAAAA,KAAK,EAAE,MAAM;AAAEsI,IAAAA,KAAK,EAAE/J,SAAC,CAAC,+BAA+B,CAAC;AAAE2W,IAAAA,KAAK,EAAE,CAAA;GAAG;AAC5ExW,EAAAA,UAAU,EAAE;AACVsB,IAAAA,KAAK,EAAE,YAAY;AACnBsI,IAAAA,KAAK,EAAE/J,SAAC,CAAC,oCAAoC,CAAC;AAC9C2W,IAAAA,KAAK,EAAE,CAAA;GACR;AACDvW,EAAAA,UAAU,EAAE;AACVqB,IAAAA,KAAK,EAAE,YAAY;AACnBsI,IAAAA,KAAK,EAAE/J,SAAC,CAAC,oCAAoC,CAAC;AAC9C2W,IAAAA,KAAK,EAAE,CAAA;GACR;AACDtW,EAAAA,SAAS,EAAE;AACToB,IAAAA,KAAK,EAAE,WAAW;AAClBsI,IAAAA,KAAK,EAAE/J,SAAC,CAAC,mCAAmC,CAAC;AAC7C2W,IAAAA,KAAK,EAAE,CAAA;GACR;AACDpX,EAAAA,QAAQ,EAAE;AACRkC,IAAAA,KAAK,EAAE,UAAU;AACjBsI,IAAAA,KAAK,EAAE/J,SAAC,CAAC,mCAAmC,CAAC;AAC7C2W,IAAAA,KAAK,EAAE,CAAA;GACR;AACDlX,EAAAA,MAAM,EAAE;AACNgC,IAAAA,KAAK,EAAE,QAAQ;AACfsI,IAAAA,KAAK,EAAE/J,SAAC,CAAC,iCAAiC,CAAC;AAC3C2W,IAAAA,KAAK,EAAE,CAAA;GACR;AACDjX,EAAAA,QAAQ,EAAE;AACR+B,IAAAA,KAAK,EAAE,UAAU;AACjBsI,IAAAA,KAAK,EAAE/J,SAAC,CAAC,mCAAmC,CAAC;AAC7C2W,IAAAA,KAAK,EAAE,CAAA;GACR;AACDhX,EAAAA,KAAK,EAAE;AACL8B,IAAAA,KAAK,EAAE,OAAO;AACdsI,IAAAA,KAAK,EAAE/J,SAAC,CAAC,gCAAgC,CAAC;AAC1C2W,IAAAA,KAAK,EAAE,EAAA;GACR;AACD/W,EAAAA,OAAO,EAAE;AACP6B,IAAAA,KAAK,EAAE,SAAS;AAChBsI,IAAAA,KAAK,EAAE/J,SAAC,CAAC,kCAAkC,CAAC;AAC5C2W,IAAAA,KAAK,EAAE,CAAA;GACR;AACD9W,EAAAA,OAAO,EAAE;AACP4B,IAAAA,KAAK,EAAE,SAAS;AAChBsI,IAAAA,KAAK,EAAE/J,SAAC,CAAC,kCAAkC,CAAC;AAC5C2W,IAAAA,KAAK,EAAE,CAAA;GACR;AACD7W,EAAAA,QAAQ,EAAE;AACR2B,IAAAA,KAAK,EAAE,UAAU;AACjBsI,IAAAA,KAAK,EAAE/J,SAAC,CAAC,mCAAmC,CAAC;AAC7C2W,IAAAA,KAAK,EAAE,EAAA;AACT,GAAA;AACF,CAAC,CAAA;AAEM,IAAMN,kCAAkC,GAAG,CAChD,eAAe,EACf,cAAc,EACd,OAAO,CACR,CAAA;AAEM,IAAM+B,cAAc,GAAG;AAC5BlW,EAAAA,IAAI,EAAE,EAAE;AACRjB,EAAAA,IAAI,EAAEoX,yBAAe,CAAC,MAAM,CAAC;AAC7B1V,EAAAA,UAAU,EAAE,KAAA;AACd,CAAC,CAAA;AAEM,IAAM2V,kBAAkB,GAAG;AAAEnV,EAAAA,SAAS,EAAE,EAAE;AAAEG,EAAAA,WAAW,EAAE,EAAA;AAAG,CAAC,CAAA;AAE7D,IAAMwT,4BAA4B,GAAG;AAC1C5U,EAAAA,IAAI,EAAEZ,cAAG,CACNyB,MAAM,EAAE,CACRpB,IAAI,EAAE,CACNuI,QAAQ,CAAClK,SAAC,CAAC,6CAA6C,CAAC,CAAC;AAC7D2C,EAAAA,UAAU,EAAErB,cAAG,CAAQ,SAAA,CAAA,EAAE;EACzBL,IAAI,EAAEK,cAAG,CACN+D,MAAM,EAAE,CACRC,KAAK,CAAC;IAAE7D,KAAK,EAAEH,cAAG,CAACyB,MAAM,EAAE,CAACmH,QAAQ,EAAC;GAAG,CAAC,CACzCA,QAAQ,CAAClK,SAAC,CAAC,wCAAwC,CAAC,CAAC;EACxD2G,IAAI,EAAErF,cAAG,CACNU,KAAK,EAAE,CACPuW,IAAI,CAAC,MAAM,EAAE;IACZC,EAAE,EAAE,SAAAA,EAAAA,CAAAvX,IAAI,EAAA;MAAA,OAAIkV,OAAO,CAAClV,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEQ,KAAK,CAAC,CAAA;AAAA,KAAA;AAChCgX,IAAAA,IAAI,EAAEd,qBAAAA;AACR,GAAC,CAAC,CACDY,IAAI,CAAC,MAAM,EAAE;IACZC,EAAE,EAAE,SAAAA,EAAAA,CAAAvX,IAAI,EAAA;MAAA,OAAIE,UAAU,CAACF,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEQ,KAAK,CAAC,CAAA;AAAA,KAAA;AACnCgX,IAAAA,IAAI,EAAEP,+BAAAA;GACP,CAAA;AACL,CAAC;;AC7JD,IAAMQ,gBAAgB,GAAG,SAAnBA,gBAAgBA,GAAS;AAC7B,EAAA,IAAAC,eAAA,GAAcC,2BAAc,EAAE;IAAtB5Y,CAAC,GAAA2Y,eAAA,CAAD3Y,CAAC,CAAA;AAET,EAAA,IAAA6Y,iBAAA,GAEI/Q,uBAAgB,EAAE;IAAAgR,qBAAA,GAAAD,iBAAA,CADpBlY,MAAM;IAAIM,IAAI,GAAA6X,qBAAA,CAAJ7X,IAAI;IAAQmJ,OAAO,GAAA0O,qBAAA,CAAbnS,IAAI;IAAW4L,QAAQ,GAAAuG,qBAAA,CAARvG,QAAQ,CAAA;AAGzC,EAAA,IAAMwG,YAAY,GAAG,SAAfA,YAAYA,CAAIC,YAAY,EAAEnD,KAAK,EAAA;AAAA,IAAA,OAAKmD,YAAY,CAACC,MAAM,CAACpD,KAAK,CAAC,CAAA;AAAA,GAAA,CAAA;AAExE,EAAA,IAAMqD,SAAS,GAAG,SAAZA,SAASA,CAAGF,YAAY,EAAA;AAAA,IAAA,OAAIA,YAAY,CAAC9H,IAAI,CAACqG,gBAAgB,EAAE,CAAC,CAAA;AAAA,GAAA,CAAA;EAEvE,IAAM9I,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,KAAK,EAAEsK,YAAY,EAAK;AAAA,IAAA,IAAAG,OAAA,CAAA;IAC7C,IAAIzK,KAAK,CAACC,GAAG,KAAK,OAAO,IAAIyK,2BAAgB,CAAC1K,KAAK,CAAC,EAAE,OAAA;AAEtD,IAAA,IAAM2K,IAAI,GAAG3K,KAAK,CAAC5D,MAAM,CAACuO,IAAI,CAAA;IAC9B,IAAMC,MAAM,GAAAtV,kBAAA,CACPqV,IAAI,CAACE,gBAAgB,CAAC,8CAA8C,CAAC,CACzE,CAAA;IAED,IAAMC,YAAY,GAAGF,MAAM,CAACG,OAAO,CAAC/K,KAAK,CAAC5D,MAAM,CAAC,CAAA;IAEjD0O,YAAY,IAAIF,MAAM,CAACtK,MAAM,GAAG,CAAC,GAC7BkK,SAAS,CAACF,YAAY,CAAC,GAAAG,CAAAA,OAAA,GACvBG,MAAM,CAACE,YAAY,GAAG,CAAC,CAAC,MAAA,IAAA,IAAAL,OAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAxBA,OAAA,CAA0BO,KAAK,EAAE,CAAA;IAErChL,KAAK,CAACG,cAAc,EAAE,CAAA;IACtBH,KAAK,CAACiL,eAAe,EAAE,CAAA;GACxB,CAAA;AAED,EAAA,IAAIxY,UAAU,CAACF,IAAI,CAACQ,KAAK,CAAC,EAAE;IAC1B,oBACEiJ,cAAA,CAACkP,iBAAU,EAAA;AAAC1X,MAAAA,IAAI,EAAC,MAAM;MAAA8I,QAAA,EACpB,SAAAA,QAAAA,CAAAgO,YAAY,EAAA;AAAA,QAAA,oBACX/N,eAAA,CAAA,KAAA,EAAA;AACEC,UAAAA,SAAS,EAAC,8BAA8B;AACxCxE,UAAAA,EAAE,EAAC,uCAAuC;UAAAsE,QAAA,EAAA,cAE1CN,cAAA,CAACS,yBAAK,EAAA;YAACjB,QAAQ,EAAA,IAAA;YAAAc,QAAA,EAAEhL,CAAC,CAAC,oCAAoC,CAAA;WAAS,CAAC,EAChEmC,oBAAU,CAACiI,OAAO,CAAC,IAClByP,KAAK,CAACC,OAAO,CAAC1P,OAAO,CAAC,IACtBA,OAAO,CAACb,GAAG,CAAC,UAACwQ,CAAC,EAAElE,KAAK,EAAA;AAAA,YAAA,oBACnBnL,cAAA,CAAA,KAAA,EAAA;AAAKQ,cAAAA,SAAS,EAAC,uBAAuB;AAAAF,cAAAA,QAAA,eACpCN,cAAA,CAAA,KAAA,EAAA;AAAKQ,gBAAAA,SAAS,EAAC,QAAQ;gBAAAF,QAAA,eACrBN,cAAA,CAAC+C,2BAAK,EAAA;kBACJtD,SAAS,EAAA,IAAA;kBACT,SAAAtM,EAAAA,+BAAAA,CAAAA,MAAA,CAAyCgY,KAAK,CAAG;AACjD9O,kBAAAA,QAAQ,EAAEwL,QAAS;AACnBrQ,kBAAAA,IAAI,EAAArE,OAAAA,CAAAA,MAAA,CAAUgY,KAAK,EAAS,QAAA,CAAA;AAC5BmE,kBAAAA,WAAW,EAAEha,CAAC,CAAC,wCAAwC,CAAE;kBACzDia,MAAM,EACJ7P,OAAO,CAAC4E,MAAM,GAAG,CAAC,iBAChBtE,cAAA,CAACwP,0BAAM,EAAA;oBACL,SAAArc,EAAAA,sCAAAA,CAAAA,MAAA,CAAgDgY,KAAK,CAAG;AACxDsE,oBAAAA,IAAI,EAAEC,iBAAO;AACbhL,oBAAAA,KAAK,EAAC,MAAM;oBACZkI,OAAO,EAAE,SAAAA,OAAA,GAAA;AAAA,sBAAA,OAAMyB,YAAY,CAACC,YAAY,EAAEnD,KAAK,CAAC,CAAA;AAAA,qBAAA;AAAC,mBAClD,CAEJ;kBACDtG,SAAS,EAAE,SAAAA,SAAAA,CAAAb,KAAK,EAAA;AAAA,oBAAA,OAAID,aAAa,CAACC,KAAK,EAAEsK,YAAY,CAAC,CAAA;AAAA,mBAAA;iBACvD,CAAA;eACE,CAAA;AAAC,aAAA,EApBoCnD,KAqBvC,CAAC,CAAA;AAAA,WACP,CAAC,eACJnL,cAAA,CAACwP,0BAAM,EAAA;YACLG,SAAS,EAAA,IAAA;AACTnP,YAAAA,SAAS,EAAC,sCAAsC;AAChD,YAAA,SAAA,EAAQ,qCAAqC;AAC7CnB,YAAAA,KAAK,EAAE/J,CAAC,CAAC,qCAAqC,CAAE;AAChDoP,YAAAA,KAAK,EAAC,WAAW;YACjBkI,OAAO,EAAE,SAAAA,OAAA,GAAA;cAAA,OAAM4B,SAAS,CAACF,YAAY,CAAC,CAAA;AAAA,aAAA;AAAC,WACxC,CAAC,CAAA;AAAA,SACC,CAAC,CAAA;AAAA,OAAA;AACP,KACS,CAAC,CAAA;GAEhB,MAAM,IAAI7C,OAAO,CAAClV,IAAI,CAACQ,KAAK,CAAC,EAAE;AAC9B,IAAA,oBACEwJ,eAAA,CAAA,KAAA,EAAA;AAAKC,MAAAA,SAAS,EAAC,8BAA8B;MAAAF,QAAA,EAAA,cAC3CN,cAAA,CAACS,yBAAK,EAAA;QAACjB,QAAQ,EAAA,IAAA;QAAAc,QAAA,EAAEhL,CAAC,CAAC,iCAAiC,CAAA;AAAC,OAAQ,CAAC,eAC9D0K,cAAA,CAAC+C,2BAAK,EAAA;AACJ1G,QAAAA,QAAQ,EAAEwL,QAAS;AACnBxI,QAAAA,KAAK,EAAE/J,CAAC,CAAC,mCAAmC,CAAE;AAC9CkC,QAAAA,IAAI,EAAC,gBAAgB;QACrB8X,WAAW,EAAEha,CAAC,CAAC,uCAAuC,CAAA;AAAE,OACzD,CAAC,eACF0K,cAAA,CAAC+C,2BAAK,EAAA;AACJ1G,QAAAA,QAAQ,EAAEwL,QAAS;AACnBxI,QAAAA,KAAK,EAAE/J,CAAC,CAAC,gCAAgC,CAAE;AAC3CkC,QAAAA,IAAI,EAAC,kBAAkB;QACvB8X,WAAW,EAAEha,CAAC,CAAC,4CAA4C,CAAA;AAAE,OAC9D,CAAC,CAAA;AAAA,KACC,CAAC,CAAA;AAEV,GAAA;AAEA,EAAA,OAAO,IAAI,CAAA;AACb,CAAC;;AC3FD,IAAMsa,SAAS,GAAG,SAAZA,SAASA,CAAA5X,IAAA,EAOT;AAAA,EAAA,IANJ6X,UAAU,GAAA7X,IAAA,CAAV6X,UAAU;IAAAC,qBAAA,GAAA9X,IAAA,CACV+X,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;IAAAE,aAAA,GAAAhY,IAAA,CACtB6P,QAAQ;AAARA,IAAAA,QAAQ,GAAAmI,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;IAAAC,qBAAA,GAAAjY,IAAA,CAChBkY,kBAAkB;AAAlBA,IAAAA,kBAAkB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;IAC1B3P,QAAQ,GAAAtI,IAAA,CAARsI,QAAQ;IACR6P,iBAAiB,GAAAnY,IAAA,CAAjBmY,iBAAiB,CAAA;AAEjB,EAAA,IAAAlC,eAAA,GAAcC,2BAAc,EAAE;IAAtB5Y,CAAC,GAAA2Y,eAAA,CAAD3Y,CAAC,CAAA;AAET,EAAA,IAAA6Y,iBAAA,GAGI/Q,uBAAgB,EAAE;AAFJsC,IAAAA,OAAO,GAAAyO,iBAAA,CAAvBlY,MAAM,CAAIgG,IAAI;IACdmU,aAAa,GAAAjC,iBAAA,CAAbiC,aAAa,CAAA;AAGf,EAAA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAG9Z,IAAI,EAAI;AAC/B6Z,IAAAA,aAAa,CAAC,MAAM,EAAE7Z,IAAI,CAAC,CAAA;AAC3B,IAAA,IAAIE,UAAU,CAACF,IAAI,CAACQ,KAAK,CAAC,EAAE;AAC1BqZ,MAAAA,aAAa,CAAC,MAAM,EAAE1Q,OAAO,aAAPA,OAAO,KAAA,KAAA,CAAA,GAAPA,OAAO,GAAI,CAACmN,gBAAgB,EAAE,CAAC,CAAC,CAAA;KACvD,MAAM,IAAIpB,OAAO,CAAClV,IAAI,CAACQ,KAAK,CAAC,EAAE;MAC9BqZ,aAAa,CAAC,MAAM,EAAE1Q,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,OAAO,GAAIkO,kBAAkB,CAAC,CAAA;AACtD,KAAA;GACD,CAAA;AAED,EAAA,oBACE5N,cAAA,CAACwM,wBAAI,CAAC8D,IAAI,EAAA;AAAAhQ,IAAAA,QAAA,eACRC,eAAA,CAAA,KAAA,EAAA;AAAKC,MAAAA,SAAS,EAAC,kBAAkB;MAAAF,QAAA,EAAA,cAC/BN,cAAA,CAAC+C,2BAAK,EAAA;QACJvD,QAAQ,EAAA,IAAA;AACR,QAAA,SAAA,EAAQ,iBAAiB;AACzBnD,QAAAA,QAAQ,EAAEwL,QAAS;AACnBxI,QAAAA,KAAK,EAAE/J,CAAC,CAAC,8BAA8B,CAAE;AACzCkC,QAAAA,IAAI,EAAC,MAAM;AACX8X,QAAAA,WAAW,EAAEha,CAAC,CAAC,yCAAyC,CAAE;AAC1D6N,QAAAA,GAAG,EAAEgN,iBAAAA;AAAkB,OACxB,CAAC,eACFnQ,cAAA,CAACwC,0BAAM,EAAA;QACLE,YAAY,EAAA,IAAA;AACZ6N,QAAAA,UAAU,EAAE1I,QAAS;AACrBxI,QAAAA,KAAK,EAAE/J,CAAC,CAAC,8BAA8B,CAAE;AACzCkC,QAAAA,IAAI,EAAC,MAAM;AACXkI,QAAAA,OAAO,EAAEqQ,iBAAkB;AAC3B5P,QAAAA,QAAQ,EAAEkQ,gBAAAA;AAAiB,OAC5B,CAAC,EACD3E,sBAAsB,CAACmE,UAAU,CAAC,iBAAI7P,cAAA,CAACgO,gBAAgB,EAAA,EAAE,CAAC,EAC1D,CAACkC,kBAAkB,iBAClB3P,eAAA,CAACE,yBAAK,EAAA;AACJD,QAAAA,SAAS,EAAC,yBAAyB;AACnC,QAAA,SAAA,EAAQ,8BAA8B;QAAAF,QAAA,EAAA,cAEtCN,cAAA,CAACwQ,0BAAM,EAAA;AAAC,UAAA,SAAA,EAAQ,oBAAoB;AAAChZ,UAAAA,IAAI,EAAC,YAAA;AAAY,SAAE,CAAC,eACzDwI,cAAA,CAACoI,8BAAU,EAAA;AACT5H,UAAAA,SAAS,EAAC,WAAW;AACrBiQ,UAAAA,SAAS,EAAC,MAAM;AAChB,UAAA,SAAA,EAAQ,0BAA0B;AAClC/L,UAAAA,KAAK,EAAC,OAAO;UAAApE,QAAA,EAEZhL,CAAC,CAAC,+BAA+B,CAAA;AAAC,SACzB,CAAC,CAAA;OACR,CACR,EACAgL,QAAQ,CAAA;KACN,CAAA;AAAC,GACG,CAAC,CAAA;AAEhB,CAAC;;;;;AC/DD,IAAMoQ,GAAG,GAAG,SAANA,GAAGA,CAAA1Y,IAAA,EASH;AAAA,EAAA,IARJyQ,YAAY,GAAAzQ,IAAA,CAAZyQ,YAAY;IAAAkI,iBAAA,GAAA3Y,IAAA,CACZ6T,YAAY;AAAZA,IAAAA,YAAY,GAAA8E,iBAAA,KAAG3a,KAAAA,CAAAA,GAAAA,SAAS,GAAA2a,iBAAA;IACxBjI,OAAO,GAAA1Q,IAAA,CAAP0Q,OAAO;IACPyD,qBAAqB,GAAAnU,IAAA,CAArBmU,qBAAqB;IACrB3E,aAAa,GAAAxP,IAAA,CAAbwP,aAAa;IACb8E,OAAO,GAAAtU,IAAA,CAAPsU,OAAO;IACPsE,iBAAiB,GAAA5Y,IAAA,CAAjB4Y,iBAAiB;AACd5T,IAAAA,KAAK,GAAAC,wBAAA,CAAAjF,IAAA,EAAAkF,WAAA,CAAA,CAAA;AAER,EAAA,IAAA+Q,eAAA,GAAcC,2BAAc,EAAE;IAAtB5Y,CAAC,GAAA2Y,eAAA,CAAD3Y,CAAC,CAAA;EAET,IAAAub,eAAA,GAAyDnG,cAAc,CAAC;AACtEoG,MAAAA,SAAS,EAAEF,iBAAAA;AACb,KAAC,CAAC;IAFcG,WAAW,GAAAF,eAAA,CAAnBG,MAAM;IAA0BzT,YAAY,GAAAsT,eAAA,CAAvBI,SAAS,CAAA;EAItC,IAAMlF,aAAa,GAAG9V,YAAM,CAAC+P,UAAI,CAAC6F,YAAY,EAAEG,WAAW,CAAC,CAAC,CAAA;AAE7D,EAAA,IAAM1N,YAAY,GAAG,SAAfA,YAAYA,CAAGgN,UAAU,EAAI;IACjC,IAAMnC,OAAO,GAAGkC,YAAY,CAAC;AAAEC,MAAAA,UAAU,EAAVA,UAAU;AAAE7C,MAAAA,YAAY,EAAZA,YAAY;AAAEC,MAAAA,OAAO,EAAPA,OAAAA;AAAQ,KAAC,CAAC,CAAA;IACnEqI,WAAW,CAAC5H,OAAO,EAAE;AAAE2H,MAAAA,SAAS,EAAExE,OAAAA;AAAQ,KAAC,CAAC,CAAA;GAC7C,CAAA;EAED,oBACE/L,eAAA,CAAA2Q,mBAAA,EAAA;AAAA5Q,IAAAA,QAAA,EACEN,cAAAA,cAAA,CAACwM,wBAAI,CAAC2E,MAAM,EAAA;MAAA7Q,QAAA,eACVN,cAAA,CAACoI,8BAAU,EAAA;AAAC,QAAA,SAAA,EAAQ,iBAAiB;AAAC1D,QAAAA,KAAK,EAAC,IAAI;QAAApE,QAAA,EAC7ChL,CAAC,CAAC,6BAA6B,CAAA;OACtB,CAAA;AAAC,KACF,CAAC,eACd0K,cAAA,CAACoR,wBAAI,EAAA;AACHC,MAAAA,WAAW,EAAE;QACX7J,aAAa,EAAArI,eAAA,CAAAA,eAAA,KAAOqI,aAAa,CAAA,EAAKkG,cAAc,CAAE;AACtD4D,QAAAA,gBAAgB,EAAEpF,wBAAwB,CAACC,qBAAqB,CAAC;AACjEoF,QAAAA,QAAQ,EAAEjT,YAAAA;OACV;MAAAgC,QAAA,EAED,SAAAA,QAAAA,CAAAnI,KAAA,EAAA;AAAA,QAAA,IAAa5B,IAAI,GAAA4B,KAAA,CAAdlC,MAAM,CAAIM,IAAI,CAAA;QAAA,oBAChBgK,eAAA,CAAA2Q,mBAAA,EAAA;AAAA5Q,UAAAA,QAAA,EACEN,cAAAA,cAAA,CAAC4P,SAAS,EAAAzQ,eAAA,CAAA;YACR0Q,UAAU,EAAEtZ,IAAI,CAACQ,KAAM;AACvBgZ,YAAAA,iBAAiB,EAAEhE,aAAAA;AAAc,WAAA,EAC7B/O,KAAK,CACV,CAAC,EACDqP,gBAAgB,CAAC;AAAEC,YAAAA,OAAO,EAAPA,OAAO;AAAEC,YAAAA,OAAO,EAAEhP,YAAAA;AAAa,WAAC,CAAC,CAAA;AAAA,SACrD,CAAC,CAAA;AAAA,OAAA;AACJ,KACG,CAAC,CAAA;AAAA,GACP,CAAC,CAAA;AAEP,CAAC;;;;;AChDD,IAAMiU,IAAI,GAAG,SAAPA,IAAIA,CAAAxZ,IAAA,EASJ;AAAA,EAAA,IARJ+D,OAAO,GAAA/D,IAAA,CAAP+D,OAAO;IAAA4U,iBAAA,GAAA3Y,IAAA,CACP6T,YAAY;AAAZA,IAAAA,YAAY,GAAA8E,iBAAA,KAAG3a,KAAAA,CAAAA,GAAAA,SAAS,GAAA2a,iBAAA;IACxBjI,OAAO,GAAA1Q,IAAA,CAAP0Q,OAAO;IAAA+I,qBAAA,GAAAzZ,IAAA,CACPmU,qBAAqB;AAArBA,IAAAA,qBAAqB,GAAAsF,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAC,kBAAA,GAAA1Z,IAAA,CAC1BwP,aAAa;AAAbA,IAAAA,aAAa,GAAAkK,kBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,kBAAA;IAClBpF,OAAO,GAAAtU,IAAA,CAAPsU,OAAO;IACPsE,iBAAiB,GAAA5Y,IAAA,CAAjB4Y,iBAAiB;AACd5T,IAAAA,KAAK,GAAAC,wBAAA,CAAAjF,IAAA,EAAAkF,WAAA,CAAA,CAAA;AAER,EAAA,IAAA+Q,eAAA,GAAcC,2BAAc,EAAE;IAAtB5Y,CAAC,GAAA2Y,eAAA,CAAD3Y,CAAC,CAAA;EAET,IAAAqc,aAAA,GAAiD9G,YAAY,CAAC;AAC5D9O,MAAAA,OAAO,EAAPA,OAAO;AACP2M,MAAAA,OAAO,EAAPA,OAAAA;AACF,KAAC,CAAC;IAAAkJ,kBAAA,GAAAD,aAAA,CAHM1V,IAAI;AAAA4V,IAAAA,mBAAA,GAAAD,kBAAA,KAAA,KAAA,CAAA,GAAmB,EAAE,GAAAA,kBAAA;IAAAE,qBAAA,GAAAD,mBAAA,CAAjBrM,KAAK;AAALA,IAAAA,KAAK,GAAAsM,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IAASC,SAAS,GAAAJ,aAAA,CAATI,SAAS,CAAA;EAK5C,IAAAC,eAAA,GAAyDjH,cAAc,CAAC;MACtE+F,SAAS,EAAE,SAAAA,SAAAA,GAAa;AAAA,QAAA,KAAA,IAAAmB,IAAA,GAAA5W,SAAA,CAAAiJ,MAAA,EAAT4N,IAAI,GAAA/C,IAAAA,KAAA,CAAA8C,IAAA,GAAAE,IAAA,GAAA,CAAA,EAAAA,IAAA,GAAAF,IAAA,EAAAE,IAAA,EAAA,EAAA;AAAJD,UAAAA,IAAI,CAAAC,IAAA,CAAA9W,GAAAA,SAAA,CAAA8W,IAAA,CAAA,CAAA;AAAA,SAAA;QACjBvB,iBAAiB,KAAA,IAAA,IAAjBA,iBAAiB,KAAjBA,KAAAA,CAAAA,IAAAA,iBAAiB,CAAAxV,KAAA,CAAA,KAAA,CAAA,EAAM8W,IAAI,CAAC,CAAA;AAC5B5F,QAAAA,OAAO,EAAE,CAAA;AACX,OAAA;AACF,KAAC,CAAC;IALc8F,WAAW,GAAAJ,eAAA,CAAnBhB,MAAM;IAA0BzT,YAAY,GAAAyU,eAAA,CAAvBf,SAAS,CAAA;AAOtC,EAAA,IAAM3S,YAAY,GAAG,SAAfA,YAAYA,CAAGgN,UAAU,EAAI;IACjC,IAAMnC,OAAO,GAAGkC,YAAY,CAAC;AAAEC,MAAAA,UAAU,EAAVA,UAAU;AAAE5C,MAAAA,OAAO,EAAPA,OAAAA;AAAQ,KAAC,CAAC,CAAA;AACrD0J,IAAAA,WAAW,CAAC;AAAErW,MAAAA,OAAO,EAAPA,OAAO;AAAEoN,MAAAA,OAAO,EAAPA,OAAAA;AAAQ,KAAC,CAAC,CAAA;GAClC,CAAA;EAED,oBACE5I,eAAA,CAAA2Q,mBAAA,EAAA;AAAA5Q,IAAAA,QAAA,EACEN,cAAAA,cAAA,CAACwM,wBAAI,CAAC2E,MAAM,EAAA;MAAA7Q,QAAA,eACVN,cAAA,CAACoI,8BAAU,EAAA;AAAC,QAAA,SAAA,EAAQ,kBAAkB;AAAC1D,QAAAA,KAAK,EAAC,IAAI;QAAApE,QAAA,EAC9ChL,CAAC,CAAC,8BAA8B,CAAA;OACvB,CAAA;AAAC,KACF,CAAC,EACbyc,SAAS,gBACR/R,cAAA,CAACqS,8BAAU,EAAA,EAAE,CAAC,gBAEdrS,cAAA,CAACoR,wBAAI,EAAA;AACHC,MAAAA,WAAW,EAAE;QACX7J,aAAa,EAAArI,eAAA,CAAAA,eAAA,KACRqI,aAAa,CAAA,EACb8K,WAAK,CAAC,MAAM,EAAEtG,WAAW,CAACxG,KAAK,CAACjP,IAAI,CAAC,EAAEiP,KAAK,CAAC,CACjD;AACD8L,QAAAA,gBAAgB,EAAEpF,wBAAwB,CAACC,qBAAqB,CAAC;AACjEoG,QAAAA,kBAAkB,EAAE,IAAI;AACxBhB,QAAAA,QAAQ,EAAEjT,YAAAA;OACV;AAAAgC,MAAAA,QAAA,EAED,SAAAA,QAAAnI,CAAAA,KAAA,EAA0B;AAAA,QAAA,IAAb5B,IAAI,GAAA4B,KAAA,CAAdlC,MAAM,CAAIM,IAAI,CAAA;QAChB,IAAMic,cAAc,GAAG5G,iBAAiB,CAAC;AACvCC,UAAAA,YAAY,EAAZA,YAAY;AACZC,UAAAA,YAAY,EAAEvV,IAAAA;AAChB,SAAC,CAAC,CAAA;QAEF,oBACEgK,eAAA,CAAA2Q,mBAAA,EAAA;AAAA5Q,UAAAA,QAAA,EACEN,cAAAA,cAAA,CAAC4P,SAAS,EAAAzQ,eAAA,CAAA;AACR0Q,YAAAA,UAAU,EAAEtZ,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEQ,KAAM;YACxB8Q,QAAQ,EAAErC,KAAK,CAACqC,QAAS;AACzBkI,YAAAA,iBAAiB,EAAEyC,cAAAA;AAAe,WAAA,EAC9BxV,KAAK,CACV,CAAC,EACDqP,gBAAgB,CAAC;AAAEC,YAAAA,OAAO,EAAPA,OAAO;AAAEC,YAAAA,OAAO,EAAEhP,YAAAA;AAAa,WAAC,CAAC,CAAA;AAAA,SACrD,CAAC,CAAA;AAEP,OAAA;AAAC,KACG,CACP,CAAA;AAAA,GACD,CAAC,CAAA;AAEP,CAAC;;;;;ACpFD,IAAMkV,UAAU,GAAG,SAAbA,UAAUA,CAAAza,IAAA,EAAiD;AAAA,EAAA,IAA3CuJ,MAAM,GAAAvJ,IAAA,CAANuJ,MAAM;IAAAmR,kBAAA,GAAA1a,IAAA,CAAE2a,aAAa;AAAbA,IAAAA,aAAa,GAAAD,kBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,kBAAA;AAAK1V,IAAAA,KAAK,GAAAC,wBAAA,CAAAjF,IAAA,EAAAkF,WAAA,CAAA,CAAA;AACxD,EAAA,IAAMiT,iBAAiB,GAAG1O,YAAM,CAAC,IAAI,CAAC,CAAA;EAEtC,oBACEzB,cAAA,CAACwM,wBAAI,EAAA;AACGjL,IAAAA,MAAM,EAANA,MAAM;AACZqR,IAAAA,eAAe,EAAEzC,iBAAkB;IACnC7D,OAAO,EAAEtP,KAAK,CAACsP,OAAQ;AAAAhM,IAAAA,QAAA,EAEtBtJ,aAAO,CAAC2b,aAAa,CAAC,gBACrB3S,cAAA,CAAC0Q,GAAG,EAAAvR,eAAA,CAAAA,EAAAA,EAAAA,eAAA,CAAAA,eAAA,KAAUnC,KAAK,CAAA,EAAA,EAAA,EAAA;AAAEmT,MAAAA,iBAAiB,EAAjBA,iBAAAA;AAAiB,KAAA,CAAA,CAAK,CAAC,gBAE5CnQ,cAAA,CAACwR,IAAI,EAAArS,eAAA,CAAA;AACHpD,MAAAA,OAAO,EAAE4W,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAbA,aAAa,CAAE3W,EAAAA;AAAG,KAAA,EAAAmD,eAAA,CAAAA,eAAA,CAAA,EAAA,EAClBnC,KAAK,CAAA,EAAA,EAAA,EAAA;AAAEmT,MAAAA,iBAAiB,EAAjBA,iBAAAA;KACjB,CAAA,CAAA,CAAA;AACF,GACG,CAAC,CAAA;AAEX;;;;;;;;;;;;AC3BA,CAAA,CAAC,UAAU,IAAI,EAAE,SAAS,EAAE;AAC5B;AACA,GAAE,IAAI,OAAO0C,eAAO,KAAK,UAAU,IAAI,QAAc,KAAK,QAAQ,IAAI,QAAa,KAAK,QAAQ,EAAE;AAClG;KACI,MAAA,CAAA,OAAA,GAAiB,SAAS,EAAE,CAAC;IAC9B,MAKM;AACT;AACA,KAAI,IAAI,CAAC,SAAS,GAAG,SAAS,EAAE,CAAC;IAC9B;EACF,EAAEC,cAAI,EAAE,YAAY;AACrB;AACA;AACA,GAAE,IAAI,WAAW,GAAG,EAAE,CAAC;AACvB,GAAE,IAAI,aAAa,GAAG,EAAE,CAAC;AACzB,GAAE,IAAI,YAAY,GAAG,EAAE,CAAC;AACxB,GAAE,IAAI,gBAAgB,GAAG,EAAE,CAAC;AAC5B,GAAE,IAAI,gBAAgB,GAAG,EAAE,CAAC;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE,SAAS,YAAY,EAAE,IAAI,EAAE;AAC/B,KAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAClC,OAAM,OAAO,IAAI,MAAM,CAAC,GAAG,GAAG,IAAI,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;MAC1C;AACL;KACI,OAAO,IAAI,CAAC;IACb;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE,SAAS,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;AACrC;AACA,KAAI,IAAI,IAAI,KAAK,KAAK,EAAE,OAAO,KAAK,CAAC;AACrC;AACA;AACA,KAAI,IAAI,IAAI,KAAK,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;AAChE;AACA;AACA,KAAI,IAAI,IAAI,KAAK,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;AAChE;AACA;AACA,KAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE;OACrC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;MACtE;AACL;AACA;AACA,KAAI,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;IAC5B;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE,SAAS,WAAW,EAAE,GAAG,EAAE,IAAI,EAAE;KAC/B,OAAO,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,UAAU,KAAK,EAAE,KAAK,EAAE;AAC/D,OAAM,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;AAC/B,MAAK,CAAC,CAAC;IACJ;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE,SAAS,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;AAChC,KAAI,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,KAAK,EAAE,KAAK,EAAE;AACzD,OAAM,IAAI,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AACnD;AACA,OAAM,IAAI,KAAK,KAAK,EAAE,EAAE;AACxB,SAAQ,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAC7C;AACP;AACA,OAAM,OAAO,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACxC,MAAK,CAAC,CAAC;IACJ;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;GACE,SAAS,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;AAC7C;AACA,KAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;OACvD,OAAO,IAAI,CAAC;MACb;AACL;AACA,KAAI,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;AAC3B;AACA;KACI,OAAO,GAAG,EAAE,EAAE;AAClB,OAAM,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;AAC5B;AACA,OAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;MACpD;AACL;KACI,OAAO,IAAI,CAAC;IACb;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;GACE,SAAS,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE;KAChD,OAAO,UAAU,IAAI,EAAE;AAC3B;AACA,OAAM,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;AACrC;AACA;AACA,OAAM,IAAI,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;AACzC,SAAQ,OAAO,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACjC;AACP;AACA;AACA,OAAM,IAAI,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;SACpC,OAAO,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7C;AACP;AACA;OACM,OAAO,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAC9C,MAAK,CAAC;IACH;AACH;AACA;AACA;AACA;GACE,SAAS,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE;KACpD,OAAO,UAAU,IAAI,EAAE;AAC3B,OAAM,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;AACrC;OACM,IAAI,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,OAAO,IAAI,CAAC;OAC/C,IAAI,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;AACzD;OACM,OAAO,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,KAAK,CAAC;AACzD,MAAK,CAAC;IACH;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;GACE,SAAS,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE;AAC9C,KAAI,IAAI,UAAU,GAAG,KAAK,KAAK,CAAC;AAChC,SAAQ,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC1D;KACI,OAAO,CAAC,SAAS,GAAG,KAAK,GAAG,GAAG,GAAG,EAAE,IAAI,UAAU,CAAC;IACpD;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAE,SAAS,CAAC,MAAM,GAAG,WAAW;AAChC,KAAI,gBAAgB,EAAE,gBAAgB,EAAE,WAAW;AACnD,IAAG,CAAC;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,GAAE,SAAS,CAAC,QAAQ,GAAG,SAAS;AAChC,KAAI,gBAAgB,EAAE,gBAAgB,EAAE,WAAW;AACnD,IAAG,CAAC;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,GAAE,SAAS,CAAC,QAAQ,GAAG,WAAW;AAClC,KAAI,gBAAgB,EAAE,gBAAgB,EAAE,aAAa;AACrD,IAAG,CAAC;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,GAAE,SAAS,CAAC,UAAU,GAAG,SAAS;AAClC,KAAI,gBAAgB,EAAE,gBAAgB,EAAE,aAAa;AACrD,IAAG,CAAC;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;GACE,SAAS,CAAC,aAAa,GAAG,UAAU,IAAI,EAAE,WAAW,EAAE;AACzD,KAAI,WAAW,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;AACxD,IAAG,CAAC;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;GACE,SAAS,CAAC,eAAe,GAAG,UAAU,IAAI,EAAE,WAAW,EAAE;AAC3D,KAAI,aAAa,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;AAC1D,IAAG,CAAC;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,GAAE,SAAS,CAAC,kBAAkB,GAAG,UAAU,IAAI,EAAE;AACjD,KAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;OAC5B,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC;AAC9C,OAAM,OAAO;MACR;AACL;AACA;KACI,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;KACpC,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC1C,IAAG,CAAC;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;GACE,SAAS,CAAC,gBAAgB,GAAG,UAAU,MAAM,EAAE,MAAM,EAAE;AACzD,KAAI,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;AAClC,KAAI,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;AAClC;AACA,KAAI,gBAAgB,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;AACtC,KAAI,gBAAgB,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;AACtC,IAAG,CAAC;AACJ;AACA;AACA;AACA;GACE;AACF;AACA,KAAI,CAAC,GAAG,EAAE,IAAI,CAAC;AACf,KAAI,CAAC,IAAI,EAAE,IAAI,CAAC;AAChB,KAAI,CAAC,IAAI,EAAE,MAAM,CAAC;AAClB,KAAI,CAAC,KAAK,EAAE,MAAM,CAAC;AACnB,KAAI,CAAC,MAAM,EAAE,MAAM,CAAC;AACpB,KAAI,CAAC,QAAQ,EAAE,WAAW,CAAC;AAC3B,KAAI,CAAC,UAAU,EAAE,YAAY,CAAC;AAC9B,KAAI,CAAC,QAAQ,EAAE,YAAY,CAAC;AAC5B,KAAI,CAAC,SAAS,EAAE,YAAY,CAAC;AAC7B,KAAI,CAAC,SAAS,EAAE,YAAY,CAAC;AAC7B,KAAI,CAAC,UAAU,EAAE,YAAY,CAAC;AAC9B,KAAI,CAAC,IAAI,EAAE,KAAK,CAAC;AACjB,KAAI,CAAC,KAAK,EAAE,MAAM,CAAC;AACnB,KAAI,CAAC,KAAK,EAAE,MAAM,CAAC;AACnB,KAAI,CAAC,MAAM,EAAE,OAAO,CAAC;AACrB,KAAI,CAAC,MAAM,EAAE,OAAO,CAAC;AACrB;AACA,KAAI,CAAC,MAAM,EAAE,QAAQ,CAAC;AACtB,KAAI,CAAC,OAAO,EAAE,SAAS,CAAC;AACxB,KAAI,CAAC,SAAS,EAAE,WAAW,CAAC;AAC5B,KAAI,CAAC,SAAS,EAAE,WAAW,CAAC;AAC5B,KAAI,CAAC,SAAS,EAAE,WAAW,CAAC;AAC5B;AACA,KAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;AACvB,KAAI,CAAC,QAAQ,EAAE,SAAS,CAAC;AACzB;AACA,KAAI,CAAC,QAAQ,EAAE,UAAU,CAAC;AAC1B,KAAI,CAAC,OAAO,EAAE,SAAS,CAAC;AACxB,KAAI,CAAC,OAAO,EAAE,SAAS,CAAC;AACxB,KAAI,CAAC,OAAO,EAAE,SAAS,CAAC;AACxB,KAAI,CAAC,QAAQ,EAAE,UAAU,CAAC;AAC1B,KAAI,CAAC,UAAU,EAAE,YAAY,CAAC;AAC9B;AACA,KAAI,CAAC,IAAI,EAAE,MAAM,CAAC;AAClB,KAAI,CAAC,KAAK,EAAE,MAAM,CAAC;AACnB,KAAI,CAAC,KAAK,EAAE,MAAM,CAAC;AACnB,KAAI,CAAC,KAAK,EAAE,OAAO,CAAC;AACpB,KAAI,CAAC,MAAM,EAAE,MAAM,CAAC;AACpB,KAAI,CAAC,MAAM,EAAE,OAAO,CAAC;AACrB,KAAI,CAAC,OAAO,EAAE,OAAO,CAAC;AACtB,KAAI,CAAC,OAAO,EAAE,OAAO,CAAC;AACtB,KAAI,CAAC,MAAM,EAAE,SAAS,CAAC;AACvB,KAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;AACvB,KAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;AACvB,KAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;AACvB,KAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;AACvB,KAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;AACvB,KAAI,CAAC,OAAO,EAAE,SAAS,CAAC;AACxB,KAAI,CAAC,QAAQ,EAAE,SAAS,CAAC;AACzB,KAAI,CAAC,SAAS,EAAE,UAAU,CAAC;AAC3B,KAAI,CAAC,UAAU,EAAE,WAAW,CAAC;AAC7B,IAAG,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE;AAC5B,KAAI,OAAO,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACxD,IAAG,CAAC,CAAC;AACL;AACA;AACA;AACA;GACE;AACF,KAAI,CAAC,MAAM,EAAE,GAAG,CAAC;AACjB,KAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC;AAChC,KAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC;AAC7B,KAAI,CAAC,eAAe,EAAE,MAAM,CAAC;AAC7B,KAAI,CAAC,oCAAoC,EAAE,MAAM,CAAC;AAClD,KAAI,CAAC,cAAc,EAAE,KAAK,CAAC;AAC3B,KAAI,CAAC,wCAAwC,EAAE,IAAI,CAAC;AACpD,KAAI,CAAC,2FAA2F,EAAE,KAAK,CAAC;AACxG,KAAI,CAAC,+BAA+B,EAAE,MAAM,CAAC;AAC7C,KAAI,CAAC,0BAA0B,EAAE,MAAM,CAAC;AACxC,KAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC;AAC/B,KAAI,CAAC,uHAAuH,EAAE,KAAK,CAAC;AACpI,KAAI,CAAC,oGAAoG,EAAE,KAAK,CAAC;AACjH,KAAI,CAAC,OAAO,EAAE,KAAK,CAAC;AACpB,KAAI,CAAC,0CAA0C,EAAE,SAAS,CAAC;AAC3D,KAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC;AAClC,KAAI,CAAC,sBAAsB,EAAE,OAAO,CAAC;AACrC,KAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC;AACjC,KAAI,CAAC,+CAA+C,EAAE,QAAQ,CAAC;AAC/D,KAAI,CAAC,+BAA+B,EAAE,OAAO,CAAC;AAC9C,KAAI,CAAC,qBAAqB,EAAE,QAAQ,CAAC;AACrC,KAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC;AAClC,KAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;AACpB,KAAI,CAAC,UAAU,EAAE,KAAK,CAAC;AACvB,KAAI,CAAC,MAAM,EAAE,KAAK,CAAC;AACnB,IAAG,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE;AAC5B,KAAI,OAAO,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,IAAG,CAAC,CAAC;AACL;AACA;AACA;AACA;GACE;AACF,KAAI,CAAC,KAAK,EAAE,EAAE,CAAC;AACf,KAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;AACpB,KAAI,CAAC,+DAA+D,EAAE,MAAM,CAAC;AAC7E,KAAI,CAAC,iCAAiC,EAAE,KAAK,CAAC;AAC9C,KAAI,CAAC,OAAO,EAAE,GAAG,CAAC;AAClB,KAAI,CAAC,sFAAsF,EAAE,MAAM,CAAC;AACpG,KAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC;AACjC,KAAI,CAAC,sBAAsB,EAAE,QAAQ,CAAC;AACtC,KAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC;AACjC,KAAI,CAAC,0FAA0F,EAAE,IAAI,CAAC;AACtG,KAAI,CAAC,oEAAoE,EAAE,OAAO,CAAC;AACnF,KAAI,CAAC,gCAAgC,EAAE,IAAI,CAAC;AAC5C,KAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC;AACjC,KAAI,CAAC,2FAA2F,EAAE,MAAM,CAAC;AACzG,KAAI,CAAC,wGAAwG,EAAE,MAAM,CAAC;AACtH,KAAI,CAAC,6FAA6F,EAAE,MAAM,CAAC;AAC3G,KAAI,CAAC,yBAAyB,EAAE,KAAK,CAAC;AACtC,KAAI,CAAC,8BAA8B,EAAE,MAAM,CAAC;AAC5C,KAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC;AACnC,KAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAC;AACnC,KAAI,CAAC,cAAc,EAAE,IAAI,CAAC;AAC1B,KAAI,CAAC,WAAW,EAAE,IAAI,CAAC;AACvB,KAAI,CAAC,OAAO,EAAE,KAAK,CAAC;AACpB,IAAG,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE;AAC5B,KAAI,OAAO,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACvD,IAAG,CAAC,CAAC;AACL;AACA;AACA;AACA;GACE;AACF;AACA,KAAI,WAAW;AACf,KAAI,QAAQ;AACZ,KAAI,QAAQ;AACZ,KAAI,KAAK;AACT,KAAI,UAAU;AACd,KAAI,SAAS;AACb,KAAI,MAAM;AACV,KAAI,WAAW;AACf,KAAI,OAAO;AACX,KAAI,WAAW;AACf,KAAI,OAAO;AACX,KAAI,OAAO;AACX,KAAI,OAAO;AACX,KAAI,OAAO;AACX,KAAI,SAAS;AACb,KAAI,QAAQ;AACZ,KAAI,MAAM;AACV,KAAI,MAAM;AACV,KAAI,SAAS;AACb,KAAI,OAAO;AACX,KAAI,UAAU;AACd,KAAI,KAAK;AACT,KAAI,UAAU;AACd,KAAI,aAAa;AACjB,KAAI,OAAO;AACX,KAAI,QAAQ;AACZ,KAAI,UAAU;AACd,KAAI,WAAW;AACf,KAAI,KAAK;AACT,KAAI,QAAQ;AACZ,KAAI,WAAW;AACf,KAAI,WAAW;AACf,KAAI,WAAW;AACf,KAAI,UAAU;AACd,KAAI,UAAU;AACd,KAAI,KAAK;AACT,KAAI,SAAS;AACb,KAAI,SAAS;AACb,KAAI,UAAU;AACd,KAAI,UAAU;AACd,KAAI,cAAc;AAClB,KAAI,QAAQ;AACZ,KAAI,QAAQ;AACZ,KAAI,WAAW;AACf,KAAI,UAAU;AACd,KAAI,WAAW;AACf,KAAI,aAAa;AACjB,KAAI,OAAO;AACX,KAAI,SAAS;AACb,KAAI,OAAO;AACX,KAAI,QAAQ;AACZ,KAAI,YAAY;AAChB,KAAI,WAAW;AACf,KAAI,UAAU;AACd,KAAI,MAAM;AACV,KAAI,OAAO;AACX,KAAI,MAAM;AACV,KAAI,OAAO;AACX,KAAI,OAAO;AACX,KAAI,KAAK;AACT,KAAI,OAAO;AACX,KAAI,MAAM;AACV,KAAI,MAAM;AACV,KAAI,WAAW;AACf,KAAI,MAAM;AACV,KAAI,UAAU;AACd,KAAI,QAAQ;AACZ,KAAI,QAAQ;AACZ,KAAI,WAAW;AACf,KAAI,UAAU;AACd,KAAI,MAAM;AACV,KAAI,UAAU;AACd,KAAI,MAAM;AACV,KAAI,QAAQ;AACZ,KAAI,UAAU;AACd,KAAI,QAAQ;AACZ,KAAI,QAAQ;AACZ,KAAI,UAAU;AACd,KAAI,QAAQ;AACZ,KAAI,UAAU;AACd,KAAI,SAAS;AACb,KAAI,OAAO;AACX,KAAI,OAAO;AACX,KAAI,QAAQ;AACZ,KAAI,SAAS;AACb,KAAI,gBAAgB;AACpB,KAAI,OAAO;AACX,KAAI,MAAM;AACV,KAAI,QAAQ;AACZ,KAAI,SAAS;AACb,KAAI,SAAS;AACb,KAAI,YAAY;AAChB,KAAI,UAAU;AACd,KAAI,KAAK;AACT,KAAI,cAAc;AAClB;AACA,KAAI,eAAe;AACnB,KAAI,QAAQ;AACZ,KAAI,QAAQ;AACZ,KAAI,WAAW;AACf,KAAI,UAAU;AACd,KAAI,OAAO;AACX,KAAI,SAAS;AACb,IAAG,CAAC,OAAO,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;AAC1C;GACE,OAAO,SAAS,CAAC;AACnB,EAAC,CAAC,CAAA;;;;;;ACxeF,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAA/a,IAAA,EAAA;AAAA,EAAA,IAAMwN,KAAK,GAAAxN,IAAA,CAALwN,KAAK;IAAEwN,aAAa,GAAAhb,IAAA,CAAbgb,aAAa;IAAEC,WAAW,GAAAjb,IAAA,CAAXib,WAAW,CAAA;AAAA,EAAA,OAAO,CAC9D;IACEhP,GAAG,EAAE/N,UAAU,CAACC,IAAI;AACpB,IAAA,SAAS,EAAE,uBAAuB;AAClCkJ,IAAAA,KAAK,EAAE/J,SAAC,CAAC,yBAAyB,CAAC;IACnCsX,OAAO,EAAE,SAAAA,OAAA,GAAA;MAAA,OAAMqG,WAAW,CAACzN,KAAK,CAAC,CAAA;AAAA,KAAA;AACnC,GAAC,EACD;IACEvB,GAAG,EAAE/N,UAAU,CAACE,MAAM;AACtB,IAAA,SAAS,EAAE,yBAAyB;AACpCiJ,IAAAA,KAAK,EAAE/J,SAAC,CAAC,2BAA2B,CAAC;AACrC4d,IAAAA,SAAS,EAAEC,SAAG,CAAC3N,KAAK,CAACqC,QAAQ,CAAC;IAC9B+E,OAAO,EAAE,SAAAA,OAAA,GAAA;MAAA,OAAMoG,aAAa,CAACxN,KAAK,CAAC,CAAA;AAAA,KAAA;AACrC,GAAC,CACF,CAAA;AAAA,CAAA,CAAA;AAEM,IAAM4N,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAAjb,KAAA,EAAA;AAAA,EAAA,IAAM6a,aAAa,GAAA7a,KAAA,CAAb6a,aAAa;IAAEC,WAAW,GAAA9a,KAAA,CAAX8a,WAAW,CAAA;AAAA,EAAA,OAAO,CACrE;AACEhP,IAAAA,GAAG,EAAE,MAAM;AACXoP,IAAAA,SAAS,EAAE,MAAM;AACjBC,IAAAA,KAAK,EAAEhe,SAAC,CAAC,8BAA8B,CAAC;AACxCie,IAAAA,KAAK,EAAE,GAAG;AACVC,IAAAA,MAAM,EAAE,SAAAA,MAAChc,CAAAA,IAAI,EAAEgO,KAAK,EAAA;AAAA,MAAA,oBAClBjF,eAAA,CAAA,KAAA,EAAA;AAAKC,QAAAA,SAAS,EAAC,2CAA2C;QAAAF,QAAA,EAAA,cACxDN,cAAA,CAACoI,8BAAU,EAAA;AAAC1D,UAAAA,KAAK,EAAC,OAAO;AAAApE,UAAAA,QAAA,EAAE9I,IAAAA;AAAI,SAAa,CAAC,eAC7CwI,cAAA,CAACyT,gCAAY,EAAA;AACXC,UAAAA,aAAa,EAAE;AAAE/Q,YAAAA,QAAQ,EAAE,OAAA;WAAU;UACrCgR,SAAS,EAAEZ,YAAY,CAAC;AAAEvN,YAAAA,KAAK,EAALA,KAAK;AAAEwN,YAAAA,aAAa,EAAbA,aAAa;AAAEC,YAAAA,WAAW,EAAXA,WAAAA;AAAY,WAAC,CAAE;AAC/DW,UAAAA,mBAAmB,EAAE;AACnBpT,YAAAA,SAAS,EAAE,eAAe;AAC1B,YAAA,SAAS,EAAE,+BAAA;AACb,WAAA;AAAE,SACH,CAAC,CAAA;AAAA,OACC,CAAC,CAAA;AAAA,KAAA;AAEV,GAAC,EACD;AACEyD,IAAAA,GAAG,EAAE,MAAM;AACXoP,IAAAA,SAAS,EAAE,MAAM;AACjBC,IAAAA,KAAK,EAAEhe,SAAC,CAAC,8BAA8B,CAAC;IACxCke,MAAM,EAAE,SAAAA,MAAAA,CAAAjd,IAAI,EAAA;MAAA,OAAIlB,aAAa,CAACkB,IAAI,CAAC,CAAA;AAAA,KAAA;AACnCgd,IAAAA,KAAK,EAAE,GAAA;AACT,GAAC,EACD;AACEtP,IAAAA,GAAG,EAAE,YAAY;AACjBoP,IAAAA,SAAS,EAAE,YAAY;AACvBC,IAAAA,KAAK,EAAEhe,SAAC,CAAC,6BAA6B,CAAC;AACvCie,IAAAA,KAAK,EAAE,GAAG;IACVC,MAAM,EAAE,SAAAA,MAAAA,CAAAK,OAAO,EAAA;MAAA,OACbA,OAAO,GAAGve,SAAC,CAAC,wBAAwB,CAAC,GAAGA,SAAC,CAAC,uBAAuB,CAAC,CAAA;AAAA,KAAA;AACtE,GAAC,CACF,CAAA;AAAA,CAAA,CAAA;AAEM,IAAMwe,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAAhb,KAAA,EAOzB;AAAA,EAAA,IANJib,KAAK,GAAAjb,KAAA,CAALib,KAAK;IACLC,YAAY,GAAAlb,KAAA,CAAZkb,YAAY;IACZC,YAAY,GAAAnb,KAAA,CAAZmb,YAAY;IACZC,gBAAgB,GAAApb,KAAA,CAAhBob,gBAAgB;IAChBC,WAAW,GAAArb,KAAA,CAAXqb,WAAW;IACXb,KAAK,GAAAxa,KAAA,CAALwa,KAAK,CAAA;AAELA,EAAAA,KAAK,GAAGA,KAAK,CAACc,iBAAiB,EAAE,CAAA;AAEjC,EAAA,IAAIJ,YAAY,EAAE;AAChB,IAAA,OAAOD,KAAK,CAAClV,GAAG,CAAC,UAAAiH,IAAI,EAAA;AAAA,MAAA,oBACnB9F,cAAA,CAACqU,2BAAO,CAACC,IAAI,EAAA;AACXze,QAAAA,MAAM,EAAEoe,YAAY,KAAKnO,IAAI,CAAC9J,EAAG;QACjC,SAAA7I,EAAAA,UAAAA,CAAAA,MAAA,CAAoBohB,iBAAO,CAACzO,IAAI,CAACtO,IAAI,CAAC,EAAa,YAAA,CAAA;AAEnD6H,QAAAA,KAAK,EAAEmV,kBAAQ,CAAC1O,IAAI,CAACtO,IAAI,CAAE;AAC3Bid,QAAAA,WAAW,EAAEnf,SAAC,CAAC,6CAA6C,EAAE;AAC5Dge,UAAAA,KAAK,EAALA,KAAK;AACLoB,UAAAA,QAAQ,EAAEF,kBAAQ,CAAC1O,IAAI,CAACtO,IAAI,CAAA;AAC9B,SAAC,CAAE;QACHoV,OAAO,EAAEsH,gBAAgB,CAAC;UAAEQ,QAAQ,EAAE5O,IAAI,CAAC9J,EAAAA;SAAI,CAAA;OAN1C8J,EAAAA,IAAI,CAAC9J,EAOX,CAAC,CAAA;AAAA,KACH,CAAC,CAAA;AACJ,GAAA;AAEA,EAAA,OACE+X,KAAK,CAACzP,MAAM,GAAG,CAAC,IAChByP,KAAK,CAAClV,GAAG,CAAC,UAAA1E,KAAA,EAAsB;AAAA,IAAA,IAAnBkF,KAAK,GAAAlF,KAAA,CAALkF,KAAK;MAAEtI,KAAK,GAAAoD,KAAA,CAALpD,KAAK,CAAA;IACvB,IAAM4d,SAAS,GAAGR,WAAW,CAAC9U,KAAK,CAAC,IAAImV,kBAAQ,CAACnV,KAAK,CAAC,CAAA;AAEvD,IAAA,oBACEW,cAAA,CAACqU,2BAAO,CAACC,IAAI,EAAA;MACXze,MAAM,EAAEoe,YAAY,KAAKld,KAAM;AAC/B,MAAA,SAAA,EAAA,eAAA,CAAA5D,MAAA,CAAyBohB,iBAAO,CAACI,SAAS,CAAC,EAAa,YAAA,CAAA;AAExDtV,MAAAA,KAAK,EAAEsV,SAAU;AACjBF,MAAAA,WAAW,EAAEnf,SAAC,CAAC,6CAA6C,EAAE;AAC5Dge,QAAAA,KAAK,EAALA,KAAK;AACLoB,QAAAA,QAAQ,EAAEC,SAAAA;AACZ,OAAC,CAAE;MACH/H,OAAO,EAAEsH,gBAAgB,CAAC;AAAEQ,QAAAA,QAAQ,EAAE3d,KAAAA;OAAO,CAAA;AAAE,KAAA,EAN1CsI,KAON,CAAC,CAAA;AAEN,GAAC,CAAC,CAAA;AAEN,CAAC,CAAA;AAEM,IAAMuV,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAA9a,KAAA,EAAA;AAAA,EAAA,IAChC+a,aAAa,GAAA/a,KAAA,CAAb+a,aAAa;IACbC,mBAAmB,GAAAhb,KAAA,CAAnBgb,mBAAmB;IACnBC,iBAAiB,GAAAjb,KAAA,CAAjBib,iBAAiB;IACjBC,mBAAmB,GAAAlb,KAAA,CAAnBkb,mBAAmB;IACnBd,gBAAgB,GAAApa,KAAA,CAAhBoa,gBAAgB,CAAA;EAAA,oBAEhB3T,eAAA,CAAC0U,uBAAG,EAAA;AAACzU,IAAAA,SAAS,EAAC,MAAM;AAAAF,IAAAA,QAAA,EACnBC,cAAAA,eAAA,CAAC0U,uBAAG,CAACX,IAAI,EAAA;AACPze,MAAAA,MAAM,EAAEgf,aAAa,KAAKjf,YAAY,CAACC,MAAO;AAC9C,MAAA,SAAA,EAAQ,sBAAsB;MAC9B+W,OAAO,EAAEsH,gBAAgB,CAAC;QAAEvL,KAAK,EAAE/S,YAAY,CAACC,MAAAA;AAAO,OAAC,CAAE;MAAAyK,QAAA,EAAA,CAEzDwU,mBAAmB,CAACjf,MAAM,EAAC,GAAC,EAACkf,iBAAiB,EAAC,GAClD,CAAA;AAAA,KAAU,CAAC,eACXxU,eAAA,CAAC0U,uBAAG,CAACX,IAAI,EAAA;AACPze,MAAAA,MAAM,EAAEgf,aAAa,KAAKjf,YAAY,CAACE,QAAS;AAChD,MAAA,SAAA,EAAQ,wBAAwB;MAChC8W,OAAO,EAAEsH,gBAAgB,CAAC;QAAEvL,KAAK,EAAE/S,YAAY,CAACE,QAAAA;AAAS,OAAC,CAAE;MAAAwK,QAAA,EAAA,CAE3DwU,mBAAmB,CAAChf,QAAQ,EAAC,GAAC,EAACkf,mBAAmB,EAAC,GACtD,CAAA;AAAA,KAAU,CAAC,CAAA;AAAA,GACR,CAAC,CAAA;AAAA,CACP,CAAA;AAEM,IAAME,eAAe,GAAG,SAAlBA,eAAeA,CAAAC,KAAA,EAKtB;AAAA,EAAA,IAAAC,QAAA,CAAA;AAAA,EAAA,IAJJpB,YAAY,GAAAmB,KAAA,CAAZnB,YAAY;IACZL,SAAS,GAAAwB,KAAA,CAATxB,SAAS;IACT0B,WAAW,GAAAF,KAAA,CAAXE,WAAW;IACXlB,WAAW,GAAAgB,KAAA,CAAXhB,WAAW,CAAA;AAEX,EAAA,IAAIH,YAAY,EAAE;AAAA,IAAA,IAAAsB,OAAA,CAAA;IAChB,OAAAA,CAAAA,OAAA,GAAO3W,gBAAM,CAAC;AAAE3C,MAAAA,EAAE,EAAEqZ,WAAAA;KAAa,EAAE1B,SAAS,CAAC,MAAA,IAAA,IAAA2B,OAAA,KAAtCA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAA,CAAwC9d,IAAI,CAAA;AACrD,GAAA;AACA,EAAA,IAAM+d,YAAY,GAAA,CAAAH,QAAA,GAAGzW,gBAAM,CAAC;AAAE5H,IAAAA,KAAK,EAAEse,WAAAA;GAAa,EAAE1B,SAAS,CAAC,MAAA,IAAA,IAAAyB,QAAA,KAAzCA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,QAAA,CAA2C/V,KAAK,CAAA;AAErE,EAAA,OAAO8U,WAAW,CAACoB,YAAY,CAAC,IAAIA,YAAY,CAAA;AAClD,CAAC,CAAA;AAEM,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAjO,KAAA,EAIxB;AAAA,EAAA,IAHJkO,YAAY,GAAAlO,KAAA,CAAZkO,YAAY;IACZC,gBAAgB,GAAAnO,KAAA,CAAhBmO,gBAAgB;IAChBpC,KAAK,GAAA/L,KAAA,CAAL+L,KAAK,CAAA;EAEL,IAAMqC,YAAY,GAAGD,gBAAgB,GACjCpC,KAAK,GACLhe,SAAC,CAAC,uCAAuC,EAAE;AACzCge,IAAAA,KAAK,EAALA,KAAK;AACLoB,IAAAA,QAAQ,EAAEe,YAAAA;AACZ,GAAC,CAAC,CAAA;EAEN,OAAOjB,kBAAQ,CAACmB,YAAY,CAAC,CAAA;AAC/B,CAAC,CAAA;AAEM,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAItC,KAAK,EAAEuC,GAAG,EAAA;EAAA,oBAC7C7V,cAAA,CAAC8V,kBAAK,EAAA;AACJC,IAAAA,OAAO,EAAC,8BAA8B;AACtC9f,IAAAA,MAAM,EAAE;AAAEqd,MAAAA,KAAK,EAALA,KAAAA;KAAQ;AAClB0C,IAAAA,UAAU,EAAE;MACVC,CAAC,eACCjW,cAAA,CAACkW,mBAAI,EAAA;AACH1V,QAAAA,SAAS,EAAC,qCAAqC;AAC/C,QAAA,SAAA,EAAQ,wBAAwB;AAChCJ,QAAAA,MAAM,EAAC,QAAQ;AACf+V,QAAAA,EAAE,EAAE;AAAEC,UAAAA,QAAQ,EAAEP,GAAAA;AAAI,SAAA;OACrB,CAAA;AAEL,KAAA;AAAE,GACH,CAAC,CAAA;AAAA,CACH,CAAA;AAEM,IAAMQ,8BAA8B,GAAG,SAAjCA,8BAA8BA,CAAAC,KAAA,EAAA;AAAA,EAAA,IACzC5B,QAAQ,GAAA4B,KAAA,CAAR5B,QAAQ;IACRra,SAAS,GAAAic,KAAA,CAATjc,SAAS;IACTkc,sBAAsB,GAAAD,KAAA,CAAtBC,sBAAsB,CAAA;AAAA,EAAA,OAEtBA,sBAAsB,GAAG,CAAC,gBACxBvW,cAAA,CAAC8V,kBAAK,EAAA;AACJC,IAAAA,OAAO,EAAC,6CAA6C;AACrD9f,IAAAA,MAAM,EAAE;AACNye,MAAAA,QAAQ,EAAE8B,SAAS,CAAC9B,QAAQ,EAAE6B,sBAAsB,CAAC;AACrD/e,MAAAA,IAAI,EAAE6C,SAAS;AACfoc,MAAAA,KAAK,EAAEF,sBAAAA;AACT,KAAA;AAAE,GACH,CAAC,gBAEFvW,cAAA,CAAC8V,kBAAK,EAAA;AACJC,IAAAA,OAAO,EAAC,oCAAoC;AAC5C9f,IAAAA,MAAM,EAAE;AAAEuB,MAAAA,IAAI,EAAE6C,SAAAA;AAAU,KAAA;AAAE,GAC7B,CACF,CAAA;AAAA,CAAA;;ACzMH,IAAMqc,YAAY,GAAG,SAAfA,YAAYA,GAAA;AAAA,EAAA,OAAS3N,yBAAK,CAACC,GAAG,CAACvV,WAAW,CAAC,CAAA;AAAA,CAAA,CAAA;AAEjD,IAAMkjB,UAAU,GAAG;AAAED,EAAAA,YAAY,EAAZA,YAAAA;AAAa,CAAC;;;;ACD5B,IAAME,eAAe,GAAG,SAAlBA,eAAeA,CAAGlX,OAAO,EAAA;EAAA,OACpC4K,mBAAQ,CAAAnL,eAAA,CAAA;AACNoL,IAAAA,QAAQ,EAAE,CAACV,UAAU,CAACG,OAAO,CAAC;IAC9BQ,OAAO,EAAEmM,UAAU,CAACD,YAAY;AAChCjM,IAAAA,SAAS,EAAEP,kBAAAA;GACRxK,EAAAA,OAAO,CACX,CAAC,CAAA;AAAA,CAAA;;;;ACYG,IAAMmX,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAA7e,IAAA,EAQzB;AAAA,EAAA,IAPJ8e,eAAe,GAAA9e,IAAA,CAAf8e,eAAe;IACf9C,YAAY,GAAAhc,IAAA,CAAZgc,YAAY;IACZc,mBAAmB,GAAA9c,IAAA,CAAnB8c,mBAAmB;IACnBX,WAAW,GAAAnc,IAAA,CAAXmc,WAAW;IACXb,KAAK,GAAAtb,IAAA,CAALsb,KAAK;IACLyD,SAAS,GAAA/e,IAAA,CAAT+e,SAAS;IACTC,eAAe,GAAAhf,IAAA,CAAfgf,eAAe,CAAA;AAEf,EAAA,IAAA5V,SAAA,GAAoCC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAtD,cAAA,CAAAoD,SAAA,EAAA,CAAA,CAAA;AAA5C6V,IAAAA,UAAU,GAAA3V,UAAA,CAAA,CAAA,CAAA;AAAE4V,IAAAA,aAAa,GAAA5V,UAAA,CAAA,CAAA,CAAA,CAAA;AAChC,EAAA,IAAA6V,UAAA,GAAkD9V,cAAQ,CAAC,KAAK,CAAC;IAAA+V,UAAA,GAAApZ,cAAA,CAAAmZ,UAAA,EAAA,CAAA,CAAA;AAA1DE,IAAAA,iBAAiB,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,oBAAoB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAC9C,EAAA,IAAAG,UAAA,GAAkDlW,cAAQ,CAAC,KAAK,CAAC;IAAAmW,UAAA,GAAAxZ,cAAA,CAAAuZ,UAAA,EAAA,CAAA,CAAA;AAA1DE,IAAAA,iBAAiB,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,oBAAoB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAC9C,EAAA,IAAAG,UAAA,GAA0CtW,cAAQ,CAAC,EAAE,CAAC;IAAAuW,UAAA,GAAA5Z,cAAA,CAAA2Z,UAAA,EAAA,CAAA,CAAA;AAA/ChF,IAAAA,aAAa,GAAAiF,UAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,gBAAgB,GAAAD,UAAA,CAAA,CAAA,CAAA,CAAA;EACtC,IAAAE,UAAA,GAAkCzW,cAAQ,CAAC;AACzC0W,MAAAA,IAAI,EAAEC,4BAAkB;AACxBC,MAAAA,QAAQ,EAAEC,2BAAAA;AACZ,KAAC,CAAC;IAAAC,WAAA,GAAAna,cAAA,CAAA8Z,UAAA,EAAA,CAAA,CAAA;AAHKhP,IAAAA,SAAS,GAAAqP,WAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,YAAY,GAAAD,WAAA,CAAA,CAAA,CAAA,CAAA;AAK9B,EAAA,IAAAE,eAAA,GAAwCC,yBAAc,EAAE;IAAhDC,UAAU,GAAAF,eAAA,CAAVE,UAAU;IAAE7D,QAAQ,GAAA2D,eAAA,CAAR3D,QAAQ;IAAE/L,KAAK,GAAA0P,eAAA,CAAL1P,KAAK,CAAA;AACnC,EAAA,IAAM6P,OAAO,GAAGC,yBAAU,EAAE,CAAA;AAC5B,EAAA,IAAAxK,eAAA,GAAcC,2BAAc,EAAE;IAAtB5Y,CAAC,GAAA2Y,eAAA,CAAD3Y,CAAC,CAAA;AAET,EAAA,IAAMojB,kBAAkB,GAAG;AACzBzU,IAAAA,GAAG,EAAE,aAAa;AAClB0U,IAAAA,IAAI,EAAE,MAAM;AACZ5hB,IAAAA,KAAK,EAAEwhB,UAAAA;GACR,CAAA;AAED,EAAA,IAAM7P,OAAO,GAAGsL,YAAY,GAAGU,QAAQ,GAAGjW,SAAS,CAAA;EAEnD,IAAAma,gBAAA,GAGIhC,eAAe,CAAC;AAAEvT,MAAAA,OAAO,EAAE,CAAC0T,SAAAA;AAAU,KAAC,CAAC;IAAA8B,qBAAA,GAAAD,gBAAA,CAF1C3c,IAAI;AAAA6c,IAAAA,sBAAA,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAwC,EAAE,GAAAA,qBAAA;IAAAE,sBAAA,GAAAD,sBAAA,CAAtCE,MAAM;AAANA,IAAAA,MAAM,GAAAD,sBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,sBAAA;IAAAE,sBAAA,GAAAH,sBAAA,CAAEI,aAAa;AAAbA,IAAAA,aAAa,GAAAD,sBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,sBAAA;IAC5BE,gBAAgB,GAAAP,gBAAA,CAA3B7G,SAAS,CAAA;EAGX,IAAMnJ,OAAO,GAAGwQ,aAAO,CACrB,YAAA;AAAA,IAAA,OAAMC,wCAAmB,CAAC,CAACX,kBAAkB,CAAC,CAAC,CAAA;GAC/C,EAAA,CAACH,UAAU,CACb,CAAC,CAAA;AAED,EAAA,IAAMe,WAAW,GAAG;AAClB7Q,IAAAA,YAAY,EAAE,CAACuL,YAAY,GAAGU,QAAQ,GAAGjW,SAAS;AAClDiK,IAAAA,OAAO,EAAPA,OAAO;AACPC,IAAAA,KAAK,EAAEA,KAAK,IAAI/S,YAAY,CAACC,MAAM;AACnCiT,IAAAA,SAAS,EAATA,SAAS;AACTF,IAAAA,OAAO,EAAPA,OAAAA;GACD,CAAA;AAED,EAAA,IAAA2Q,eAAA,GAWIpP,cAAc,CAACmP,WAAW,EAAE;MAC9BjW,OAAO,EAAE,CAAC,CAACqR,QAAQ;AACnB8E,MAAAA,eAAe,EAAEC,2BAAAA;AACnB,KAAC,CAAC;IAAAC,oBAAA,GAAAH,eAAA,CAbAtd,IAAI;AAAA0d,IAAAA,qBAAA,GAAAD,oBAAA,KAAA,KAAA,CAAA,GAMA,EAAE,GAAAA,oBAAA;IAAAE,qBAAA,GAAAD,qBAAA,CALJxT,MAAM;AAANA,IAAAA,MAAM,GAAAyT,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;IACXnD,KAAK,GAAAkD,qBAAA,CAALlD,KAAK;IACL1B,iBAAiB,GAAA4E,qBAAA,CAAjB5E,iBAAiB;IACjBC,mBAAmB,GAAA2E,qBAAA,CAAnB3E,mBAAmB;IACnB6E,WAAW,GAAAF,qBAAA,CAAXE,WAAW;IAEFC,eAAe,GAAAP,eAAA,CAA1BxH,SAAS;IACGgI,gBAAgB,GAAAR,eAAA,CAA5BS,UAAU;IACCC,eAAe,GAAAV,eAAA,CAA1BW,SAAS,CAAA;EAMX,IAAAC,gBAAA,GAAuDnP,eAAe,CAAC;MACrE8F,SAAS,EAAE,SAAAA,SAAAA,GAAM;QACfwG,oBAAoB,CAAC,KAAK,CAAC,CAAA;QAC3BO,gBAAgB,CAAC,EAAE,CAAC,CAAA;AACtB,OAAA;AACF,KAAC,CAAC;IALcuC,WAAW,GAAAD,gBAAA,CAAnBnJ,MAAM;IAA0BqJ,UAAU,GAAAF,gBAAA,CAArBlJ,SAAS,CAAA;AAOtC,EAAA,IAAMqJ,YAAY,GAAG,SAAfA,YAAYA,GAAS;AACzBF,IAAAA,WAAW,CAAC;MAAEre,OAAO,EAAE4W,aAAa,CAAC3W,EAAE;AAAE0M,MAAAA,OAAO,EAAPA,OAAAA;AAAQ,KAAC,CAAC,CAAA;GACpD,CAAA;AAED,EAAA,IAAM6R,eAAe,GAAG,SAAlBA,eAAeA,GAAS;IAC5BrD,aAAa,CAAC,KAAK,CAAC,CAAA;IACpBW,gBAAgB,CAAC,EAAE,CAAC,CAAA;GACrB,CAAA;AAED,EAAA,IAAM2C,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAGhV,KAAK,EAAI;IACrCqS,gBAAgB,CAACrS,KAAK,CAAC,CAAA;IACvB0R,aAAa,CAAC,IAAI,CAAC,CAAA;GACpB,CAAA;AAED,EAAA,IAAMuD,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAAGjV,KAAK,EAAI;IACvCqS,gBAAgB,CAACrS,KAAK,CAAC,CAAA;IACvB8R,oBAAoB,CAAC,IAAI,CAAC,CAAA;GAC3B,CAAA;AAED,EAAA,IAAMoD,gBAAgB,GAAG,SAAnBA,gBAAgBA,GAAS;IAC7BpD,oBAAoB,CAAC,KAAK,CAAC,CAAA;IAC3BO,gBAAgB,CAAC,EAAE,CAAC,CAAA;GACrB,CAAA;AAED,EAAA,IAAM8C,sBAAsB,GAAG,SAAzBA,sBAAsBA,GAAS;IACnCjD,oBAAoB,CAAC,KAAK,CAAC,CAAA;GAC5B,CAAA;EAED,IAAMkD,cAAc,GAAGxH,mBAAmB,CAAC;AACzCJ,IAAAA,aAAa,EAAEyH,uBAAuB;AACtCxH,IAAAA,WAAW,EAAEuH,qBAAAA;AACf,GAAC,CAAC,CAAA;EAEF,IAAMK,UAAU,GAAG/D,eAAe,CAAC;AACjC7D,IAAAA,WAAW,EAAEuH,qBAAqB;AAClCxH,IAAAA,aAAa,EAAEyH,uBAAuB;AACtCG,IAAAA,cAAc,EAAdA,cAAAA;AACF,GAAC,CAAC,CAAA;AAEF,EAAA,IAAM1G,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGjL,MAAM,EAAA;IAAA,OAC7B6R,0BAAe,CAACtC,OAAO,EAAElQ,cAAQ,CAAC,EAAE,EAAAnJ,eAAA,CAAA;AAAIuV,MAAAA,QAAQ,EAARA,QAAQ;AAAE/L,MAAAA,KAAK,EAALA,KAAAA;KAAUM,EAAAA,MAAM,CAAE,CAAC,CAAC,CAAA;AAAA,GAAA,CAAA;EAExE,IAAM0K,SAAS,GAAGoD,SAAS,KAAK/C,YAAY,GAAGgF,MAAM,GAAGE,aAAa,CAAC,CAAA;AAEtE,EAAA,IAAM6B,0BAA0B,GAAG,SAA7BA,0BAA0BA,GAAS;AACvC,IAAA,IAAMC,WAAW,GAAG;AAAEtG,MAAAA,QAAQ,EAARA,QAAQ;AAAE/L,MAAAA,KAAK,EAALA,KAAAA;KAAO,CAAA;AACvC,IAAA,IAAI,CAACwQ,gBAAgB,IAAIthB,WAAK,CAAC6c,QAAQ,CAAC,EAAE;MAAA,IAAAuG,WAAA,EAAAC,YAAA,CAAA;AACxCF,MAAAA,WAAW,CAACtG,QAAQ,GAAGV,YAAY,GAC/BL,SAAS,KAATA,IAAAA,IAAAA,SAAS,KAAAsH,KAAAA,CAAAA,IAAAA,CAAAA,WAAA,GAATtH,SAAS,CAAG,CAAC,CAAC,cAAAsH,WAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAdA,WAAA,CAAgBjf,EAAE,GAClB2X,SAAS,KAATA,IAAAA,IAAAA,SAAS,gBAAAuH,YAAA,GAATvH,SAAS,CAAG,CAAC,CAAC,MAAA,IAAA,IAAAuH,YAAA,KAAdA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAA,CAAgBnkB,KAAK,CAAA;AAC3B,KAAA;AAEA,IAAA,IAAI,CAACoiB,gBAAgB,IAAIthB,WAAK,CAAC8Q,KAAK,CAAC,EAAE;AACrCqS,MAAAA,WAAW,CAACrS,KAAK,GAAG/S,YAAY,CAACC,MAAM,CAAA;AACzC,KAAA;AAEA,IAAA,IAAI,CAACsjB,gBAAgB,IAAIgC,SAAG,CAACtjB,WAAK,CAAC,CAAC,CAAC6c,QAAQ,EAAE/L,KAAK,CAAC,CAAC,EAAE;MACtD6P,OAAO,CAACpf,OAAO,CAACkP,cAAQ,CAAC,EAAE,EAAE0S,WAAW,CAAC,CAAC,CAAA;AAC5C,KAAA;GACD,CAAA;AAED,EAAA,IAAMI,eAAe,GAAGtB,eAAe,IAAIX,gBAAgB,CAAA;AAC3D,EAAA,IAAMkC,kBAAkB,GAAG5E,KAAK,GAAG,CAAC,IAAI,CAACO,eAAe,CAAA;AAExD,EAAA,IAAMsE,gBAAgB,GAAG;AACvBhM,IAAAA,WAAW,EAAEha,CAAC,CAAC,uCAAuC,CAAC;AACvDkL,IAAAA,SAAS,EAAE,MAAA;GACZ,CAAA;AAED,EAAA,IAAMkV,gBAAgB,GAAG/B,SAAS,CAACrP,MAAM,KAAK,CAAC,CAAA;AAC/C,EAAA,IAAMiX,eAAe,GAAG,CAAC7F,gBAAgB,IAAI,CAACyD,gBAAgB,CAAA;AAC9D,EAAA,IAAMqC,iBAAiB,GACrB7S,KAAK,KAAK/S,YAAY,CAACC,MAAM,GACzBkf,iBAAiB,GAAG,CAAC,GACrBC,mBAAmB,GAAG,CAAC,CAAA;EAE7B,IAAMS,YAAY,GAAG2D,aAAO,CAC1B,YAAA;AAAA,IAAA,OACElE,eAAe,CAAC;AACdlB,MAAAA,YAAY,EAAZA,YAAY;AACZG,MAAAA,WAAW,EAAXA,WAAW;AACXR,MAAAA,SAAS,EAATA,SAAS;AACT0B,MAAAA,WAAW,EAAEX,QAAAA;AACf,KAAC,CAAC,CAAA;AAAA,GAAA,EACJ,CAACf,SAAS,EAAEe,QAAQ,CACtB,CAAC,CAAA;EAED,IAAM+G,kBAAkB,GAAGrC,aAAO,CAChC,YAAA;AAAA,IAAA,OAAM5D,iBAAiB,CAAC;AAAEC,MAAAA,YAAY,EAAZA,YAAY;AAAEC,MAAAA,gBAAgB,EAAhBA,gBAAgB;AAAEpC,MAAAA,KAAK,EAALA,KAAAA;AAAM,KAAC,CAAC,CAAA;AAAA,GAAA,EAClE,CAAC3K,KAAK,EAAE+M,gBAAgB,EAAED,YAAY,CACxC,CAAC,CAAA;EAED,IAAMiG,eAAe,GAAGtC,aAAO,CAC7B,YAAA;AAAA,IAAA,OACExE,qBAAqB,CAAC;AACpBC,MAAAA,aAAa,EAAElM,KAAK;AACpBmM,MAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBC,MAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBC,MAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBd,MAAAA,gBAAgB,EAAhBA,gBAAAA;AACF,KAAC,CAAC,CAAA;AAAA,GAAA,EACJ,CAACa,iBAAiB,EAAEC,mBAAmB,EAAErM,KAAK,CAChD,CAAC,CAAA;EAED,IAAMgT,YAAY,GAAGvC,aAAO,CAC1B,YAAA;AAAA,IAAA,OACEtF,kBAAkB,CAAC;AACjBE,MAAAA,YAAY,EAAZA,YAAY;AACZD,MAAAA,KAAK,EAAEJ,SAAS;AAChBM,MAAAA,YAAY,EAAES,QAAQ;AACtBR,MAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBC,MAAAA,WAAW,EAAXA,WAAW;AACXb,MAAAA,KAAK,EAALA,KAAAA;AACF,KAAC,CAAC,CAAA;AAAA,GAAA,EACJ,CAACK,SAAS,EAAEe,QAAQ,CACtB,CAAC,CAAA;AAED3V,EAAAA,eAAS,CAAC,YAAM;AACdgc,IAAAA,0BAA0B,EAAE,CAAA;GAC7B,EAAE,CAAC5B,gBAAgB,EAAEpC,SAAS,EAAErC,QAAQ,EAAE/L,KAAK,CAAC,CAAC,CAAA;AAElD5J,EAAAA,eAAS,CAAC,YAAM;AACdqZ,IAAAA,YAAY,CAAC;AACXL,MAAAA,IAAI,EAAEC,4BAAkB;AACxBC,MAAAA,QAAQ,EAAEC,2BAAAA;AACZ,KAAC,CAAC,CAAA;GACH,EAAE,CAACK,UAAU,EAAE5P,KAAK,EAAE+L,QAAQ,CAAC,CAAC,CAAA;EAEjC,OAAO;AACLuC,IAAAA,UAAU,EAAVA,UAAU;AACVC,IAAAA,aAAa,EAAbA,aAAa;AACbG,IAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBI,IAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBC,IAAAA,oBAAoB,EAApBA,oBAAoB;AACpBvR,IAAAA,MAAM,EAANA,MAAM;AACNsQ,IAAAA,KAAK,EAALA,KAAK;AACLoE,IAAAA,UAAU,EAAVA,UAAU;AACVlI,IAAAA,aAAa,EAAbA,aAAa;AACbsB,IAAAA,YAAY,EAAES,QAAQ;AAAE;AACxBhM,IAAAA,OAAO,EAAPA,OAAO;AACP2R,IAAAA,UAAU,EAAVA,UAAU;AACVN,IAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBE,IAAAA,eAAe,EAAfA,eAAe;AACfmB,IAAAA,eAAe,EAAfA,eAAe;AACfG,IAAAA,eAAe,EAAfA,eAAe;AACfF,IAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBf,IAAAA,YAAY,EAAZA,YAAY;AACZI,IAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBH,IAAAA,eAAe,EAAfA,eAAe;AACfI,IAAAA,sBAAsB,EAAtBA,sBAAsB;AACtBW,IAAAA,gBAAgB,EAAEE,iBAAiB,GAAGF,gBAAgB,GAAG,IAAI;AAC7D5C,IAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBgD,IAAAA,eAAe,EAAfA,eAAe;AACfC,IAAAA,YAAY,EAAZA,YAAY;AACZ9B,IAAAA,WAAW,EAAXA,WAAW;AACX4B,IAAAA,kBAAkB,EAAlBA,kBAAkB;AAClB3S,IAAAA,SAAS,EAATA,SAAS;AACTsP,IAAAA,YAAY,EAAZA,YAAAA;GACD,CAAA;AACH,CAAC;;ACnPD,IAAMwD,WAAW,GAAG,SAAdA,WAAWA,CAAA5jB,IAAA,EAQX;AAAA,EAAA,IAPJ2a,aAAa,GAAA3a,IAAA,CAAb2a,aAAa;IACbjK,OAAO,GAAA1Q,IAAA,CAAP0Q,OAAO;IACP2O,iBAAiB,GAAArf,IAAA,CAAjBqf,iBAAiB;IACjBgD,UAAU,GAAAriB,IAAA,CAAVqiB,UAAU;IACVwB,gBAAgB,GAAA7jB,IAAA,CAAhB6jB,gBAAgB;IAChBnB,gBAAgB,GAAA1iB,IAAA,CAAhB0iB,gBAAgB;IAChBJ,YAAY,GAAAtiB,IAAA,CAAZsiB,YAAY,CAAA;AAEZ,EAAA,IAAArM,eAAA,GAAcC,2BAAc,EAAE;IAAtB5Y,CAAC,GAAA2Y,eAAA,CAAD3Y,CAAC,CAAA;EAET,IAAAwmB,qBAAA,GAAkDhR,oBAAoB,CACpE;MAAE/O,OAAO,EAAE4W,aAAa,CAAC3W,EAAE;AAAE0M,MAAAA,OAAO,EAAPA,OAAAA;AAAQ,KAAC,EACtC;AAAErF,MAAAA,OAAO,EAAEgU,iBAAiB,IAAI5f,oBAAU,CAACkb,aAAa,CAAA;AAAE,KAC5D,CAAC;IAAAoJ,sBAAA,GAAAD,qBAAA,CAHO7f,IAAI;AAAA+f,IAAAA,sBAAA,GAAAD,sBAAA,KAAA,KAAA,CAAA,GAA+B,EAAE,GAAAA,sBAAA;IAA7BxF,sBAAsB,GAAAyF,sBAAA,CAAtBzF,sBAAsB,CAAA;EAKtC,oBACEvW,cAAA,CAACic,yBAAK,EAAA;AACE1F,IAAAA,sBAAsB,EAAtBA,sBAAsB;AAC5BhV,IAAAA,MAAM,EAAE8V,iBAAkB;AAC1B9Z,IAAAA,YAAY,EAAE8c,UAAW;AACzB6B,IAAAA,iBAAiB,EAAE5mB,CAAC,CAAC,2BAA2B,CAAE;AAClDge,IAAAA,KAAK,EAAEhe,CAAC,CAAC,gCAAgC,CAAE;IAC3C4X,OAAO,EAAEmJ,8BAA8B,CAAC;AACtC3B,MAAAA,QAAQ,EAAEmH,gBAAgB;AAC1BtF,MAAAA,sBAAsB,EAAtBA,sBAAsB;AACtBlc,MAAAA,SAAS,EAAEsY,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAbA,aAAa,CAAEnb,IAAAA;AAC5B,KAAC,CAAE;AACH8U,IAAAA,OAAO,EAAEoO,gBAAiB;AAC1BnJ,IAAAA,QAAQ,EAAE+I,YAAAA;AAAa,GACxB,CAAC,CAAA;AAEN;;;;AC9BA,IAAM6B,WAAW,GAAG,SAAdA,WAAWA,CAAAnkB,IAAA,EAYX;AAAA,EAAA,IAXJokB,UAAU,GAAApkB,IAAA,CAAVokB,UAAU;IACVlC,SAAS,GAAAliB,IAAA,CAATkiB,SAAS;IACTF,UAAU,GAAAhiB,IAAA,CAAVgiB,UAAU;IACVqC,OAAO,GAAArkB,IAAA,CAAPqkB,OAAO;IACPxB,UAAU,GAAA7iB,IAAA,CAAV6iB,UAAU;IACV3D,aAAa,GAAAlf,IAAA,CAAbkf,aAAa;IACboF,UAAU,GAAAtkB,IAAA,CAAVskB,UAAU;IACVhJ,KAAK,GAAAtb,IAAA,CAALsb,KAAK;IACLxK,SAAS,GAAA9Q,IAAA,CAAT8Q,SAAS;IACTsP,YAAY,GAAApgB,IAAA,CAAZogB,YAAY;IACZpB,eAAe,GAAAhf,IAAA,CAAfgf,eAAe,CAAA;AAEf,EAAA,IAAA/I,eAAA,GAAcC,2BAAc,EAAE;IAAtB5Y,CAAC,GAAA2Y,eAAA,CAAD3Y,CAAC,CAAA;AACT,EAAA,IAAMinB,gBAAgB,GAAGrC,SAAS,IAAIljB,aAAO,CAACqlB,OAAO,CAAC,CAAA;AACtD,EAAA,IAAAG,eAAA,GAAkBC,oBAAc,EAAE;IAA1B9T,KAAK,GAAA6T,eAAA,CAAL7T,KAAK,CAAA;AACb2K,EAAAA,KAAK,GAAGA,KAAK,CAACc,iBAAiB,EAAE,CAAA;AACjC,EAAA,IAAQ2D,IAAI,GAAejP,SAAS,CAA5BiP,IAAI;IAAEE,QAAQ,GAAKnP,SAAS,CAAtBmP,QAAQ,CAAA;EACtB,IAAMyE,WAAW,GAAG,EAAE,CAAA;AAEtB,EAAA,IAAI,CAACxC,SAAS,IAAIljB,aAAO,CAACqlB,OAAO,CAAC,EAAE;AAClC,IAAA,oBAAOrc,cAAA,CAACqS,8BAAU,EAAA,EAAE,CAAC,CAAA;AACvB,GAAA;AAEA,EAAA,IAAIiK,UAAU,EAAE;IACdI,WAAW,CAACC,QAAQ,GAAG/G,oBAAoB,CAACtC,KAAK,EAAEgJ,UAAU,CAAC,CAAA;AAChE,GAAA;AAEA,EAAA,IAAI1mB,YAAY,CAACC,MAAM,KAAK8S,KAAK,EAAE;IACjC+T,WAAW,CAACE,kBAAkB,GAAG;AAC/Bvd,MAAAA,KAAK,EAAE/J,CAAC,CAAC,6BAA6B,CAAC;MACvCsX,OAAO,EAAE,SAAAA,OAAA,GAAA;QAAA,OAAMsK,aAAa,CAAC,IAAI,CAAC,CAAA;AAAA,OAAA;KACnC,CAAA;AACH,GAAA;EAEA,oBACElX,cAAA,CAAC6c,gCAAY,EAAA;IAAAvc,QAAA,EACVic,gBAAgB,gBACfvc,cAAA,CAAA,KAAA,EAAA;AAAKQ,MAAAA,SAAS,EAAC,gDAAgD;AAAAF,MAAAA,QAAA,eAC7DN,cAAA,CAAC8c,0BAAM,EAAA3d,eAAA,CAAA;AACLmU,QAAAA,KAAK,EACH0D,eAAe,GACX1hB,CAAC,CAAC,wCAAwC,EAAE;AAAEge,UAAAA,KAAK,EAALA,KAAK;AAAE3K,UAAAA,KAAK,EAALA,KAAAA;AAAM,SAAC,CAAC,GAC7DrT,CAAC,CAAC,+BAA+B,EAAE;AAAEge,UAAAA,KAAK,EAALA,KAAAA;SAAO,CAAA;AACjD,OAAA,EACGoJ,WAAW,CAChB,CAAA;AAAC,KACC,CAAC,gBAEN1c,cAAA,CAAC+c,yBAAK,EAAA;AACElC,MAAAA,UAAU,EAAVA,UAAU;AAAEwB,MAAAA,OAAO,EAAPA,OAAO;AAAED,MAAAA,UAAU,EAAVA,UAAU;MACrCY,WAAW,EAAA,IAAA;AACXC,MAAAA,aAAa,EAAE,KAAM;AACrBC,MAAAA,iBAAiB,EAAEnF,IAAK;AACxBoF,MAAAA,eAAe,EAAElF,QAAS;MAC1BmF,gBAAgB,EAAE,SAAAA,gBAAAA,CAAArF,IAAI,EAAA;AAAA,QAAA,OAAIK,YAAY,CAAAjZ,eAAA,CAAAA,eAAA,KAAM2J,SAAS,CAAA,EAAA,EAAA,EAAA;AAAEiP,UAAAA,IAAI,EAAJA,IAAAA;AAAI,SAAA,CAAE,CAAC,CAAA;OAAC;AAC/DxL,MAAAA,OAAO,EAAEyN,UAAAA;KACV,CAAA;AACF,GACW,CAAC,CAAA;AAEnB,CAAC;;ACnED,IAAMtN,WAAW,GAAG,SAAdA,WAAWA,CAAA1U,IAAA,EAA6D;AAAA,EAAA,IAAvD6hB,WAAW,GAAA7hB,IAAA,CAAX6hB,WAAW;IAAEnC,oBAAoB,GAAA1f,IAAA,CAApB0f,oBAAoB;IAAER,aAAa,GAAAlf,IAAA,CAAbkf,aAAa,CAAA;AACrE,EAAA,IAAAjJ,eAAA,GAAcC,2BAAc,EAAE;IAAtB5Y,CAAC,GAAA2Y,eAAA,CAAD3Y,CAAC,CAAA;AAET,EAAA,oBACEiL,eAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,uCAAuC;IAAAF,QAAA,EAAA,cACpDN,cAAA,CAACwP,0BAAM,EAAA;AACL,MAAA,SAAA,EAAQ,6BAA6B;MACrCnT,QAAQ,EAAE,CAACwd,WAAY;AACvBxa,MAAAA,KAAK,EAAE/J,CAAC,CAAC,4BAA4B,CAAE;AACvCoP,MAAAA,KAAK,EAAC,WAAW;MACjBkI,OAAO,EAAE,SAAAA,OAAA,GAAA;QAAA,OAAM8K,oBAAoB,CAAC,IAAI,CAAC,CAAA;AAAA,OAAA;AAAC,KAC3C,CAAC,eACF1X,cAAA,CAACwP,0BAAM,EAAA;AACL,MAAA,SAAA,EAAQ,yBAAyB;AACjCnQ,MAAAA,KAAK,EAAE/J,CAAC,CAAC,6BAA6B,CAAE;MACxCsX,OAAO,EAAE,SAAAA,OAAA,GAAA;QAAA,OAAMsK,aAAa,CAAC,IAAI,CAAC,CAAA;AAAA,OAAA;AAAC,KACpC,CAAC,CAAA;AAAA,GACC,CAAC,CAAA;AAEV,CAAC;;;;;ACjBD,IAAM/F,MAAM,GAAGjJ,gBAAK,CAClB,UAAAlQ,IAAA,EAAA;AAAA,EAAA,IACEsjB,gBAAgB,GAAAtjB,IAAA,CAAhBsjB,gBAAgB;IAChB+B,WAAW,GAAArlB,IAAA,CAAXqlB,WAAW;IACX/J,KAAK,GAAAtb,IAAA,CAALsb,KAAK;IACLgJ,UAAU,GAAAtkB,IAAA,CAAVskB,UAAU;IACVgB,eAAe,GAAAtlB,IAAA,CAAfslB,eAAe;IACfxc,IAAI,GAAA9I,IAAA,CAAJ8I,IAAI;AACDyc,IAAAA,gBAAgB,GAAAtgB,wBAAA,CAAAjF,IAAA,EAAAkF,SAAA,CAAA,CAAA;EAAA,oBAEnB8C,cAAA,CAACwd,iCAAa,EAAA;AACNH,IAAAA,WAAW,EAAXA,WAAW;AAAEvc,IAAAA,IAAI,EAAJA,IAAI;IACvB2c,WAAW,eAAEzd,cAAA,CAAC0M,WAAW,EAAAvN,eAAA,CAAA,EAAA,EAAKoe,gBAAgB,CAAG,CAAE;AACnDG,IAAAA,WAAW,EAAEpC,gBAAiB;AAC9BhI,IAAAA,KAAK,eACH/S,eAAA,CAAA,MAAA,EAAA;AAAAD,MAAAA,QAAA,GACGgT,KAAK,EACL,CAACgJ,UAAU,IAAIgB,eAAe,kBAC7Btd,cAAA,CAAC2d,+BAAW,EAAAxe,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAA;AACVqB,QAAAA,SAAS,EAAC,kBAAA;AAAkB,OAAA,EACvB8b,UAAU,IAAI;AAAEhJ,QAAAA,KAAK,EAALA,KAAAA;OAAO,CAAA,EACvBgK,eAAe,IAAI;AAAE7I,QAAAA,WAAW,EAAE6I,eAAAA;OAAiB,CAAA,EACnDhB,UAAU,IAAI;AAAEsB,QAAAA,aAAa,EAAE;AAAEC,UAAAA,IAAI,EAAEvB,UAAAA;AAAW,SAAA;AAAE,OAAC,CAC3D,CACF,CAAA;KACG,CAAA;AACP,GACF,CAAC,CAAA;AAAA,CAEN,CAAC;;ACjCD,IAAMwB,OAAO,GAAG,SAAVA,OAAOA,CAAA9lB,IAAA,EAAA;AAAA,EAAA,IAAM2jB,YAAY,GAAA3jB,IAAA,CAAZ2jB,YAAY;IAAErI,KAAK,GAAAtb,IAAA,CAALsb,KAAK,CAAA;EAAA,oBACpCtT,cAAA,CAAC+d,2BAAc,EAAA;IAACC,QAAQ,EAAA,IAAA;AAAO1K,IAAAA,KAAK,EAALA,KAAK;AAAAhT,IAAAA,QAAA,EACjCqb,YAAAA;AAAY,GACC,CAAC,CAAA;AAAA,CAClB;;ACND,SAAS,eAAe,GAAG;AAC3B,EAAE,KAAK,IAAI,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE;AAC3F,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AACjC,GAAG;AACH;AACA,EAAE,OAAOvC,aAAO,CAAC,MAAM,IAAI,IAAI;AAC/B,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AACnC,GAAG;AACH,EAAE,IAAI,CAAC,CAAC;AACR,CAAC;AACD;AACA;AACA,MAAM,SAAS,GAAG,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,QAAQ,CAAC,aAAa,KAAK,WAAW,CAAC;AAClJ;AACA,SAAS,QAAQ,CAAC,OAAO,EAAE;AAC3B,EAAE,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAChE,EAAE,OAAO,aAAa,KAAK,iBAAiB;AAC5C,EAAE,aAAa,KAAK,iBAAiB,CAAC;AACtC,CAAC;AACD;AACA,SAAS,MAAM,CAAC,IAAI,EAAE;AACtB,EAAE,OAAO,UAAU,IAAI,IAAI,CAAC;AAC5B,CAAC;AACD;AACA,SAAS,SAAS,CAAC,MAAM,EAAE;AAC3B,EAAE,IAAI,qBAAqB,EAAE,sBAAsB,CAAC;AACpD;AACA,EAAE,IAAI,CAAC,MAAM,EAAE;AACf,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG;AACH;AACA,EAAE,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;AACxB,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG;AACH;AACA,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;AACvB,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG;AACH;AACA,EAAE,OAAO,CAAC,qBAAqB,GAAG,CAAC,sBAAsB,GAAG,MAAM,CAAC,aAAa,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,sBAAsB,CAAC,WAAW,KAAK,IAAI,GAAG,qBAAqB,GAAG,MAAM,CAAC;AAClL,CAAC;AACD;AACA,SAAS,UAAU,CAAC,IAAI,EAAE;AAC1B,EAAE,MAAM;AACR,IAAI,QAAQ;AACZ,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AACtB,EAAE,OAAO,IAAI,YAAY,QAAQ,CAAC;AAClC,CAAC;AACD;AACA,SAAS,aAAa,CAAC,IAAI,EAAE;AAC7B,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE;AACtB,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH;AACA,EAAE,OAAO,IAAI,YAAY,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;AACrD,CAAC;AACD;AACA,SAAS,YAAY,CAAC,IAAI,EAAE;AAC5B,EAAE,OAAO,IAAI,YAAY,SAAS,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC;AACpD,CAAC;AACD;AACA,SAAS,gBAAgB,CAAC,MAAM,EAAE;AAClC,EAAE,IAAI,CAAC,MAAM,EAAE;AACf,IAAI,OAAO,QAAQ,CAAC;AACpB,GAAG;AACH;AACA,EAAE,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;AACxB,IAAI,OAAO,MAAM,CAAC,QAAQ,CAAC;AAC3B,GAAG;AACH;AACA,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;AACvB,IAAI,OAAO,QAAQ,CAAC;AACpB,GAAG;AACH;AACA,EAAE,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE;AAC1B,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG;AACH;AACA,EAAE,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE;AAC7B,IAAI,OAAO,MAAM,CAAC,aAAa,CAAC;AAChC,GAAG;AACH;AACA,EAAE,OAAO,QAAQ,CAAC;AAClB,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,yBAAyB,GAAG,SAAS,GAAG6E,qBAAe,GAAGlf,eAAS,CAAC;AAC1E;AACA,SAAS,QAAQ,CAAC,OAAO,EAAE;AAC3B,EAAE,MAAM,UAAU,GAAG0C,YAAM,CAAC,OAAO,CAAC,CAAC;AACrC,EAAE,yBAAyB,CAAC,MAAM;AAClC,IAAI,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;AACjC,GAAG,CAAC,CAAC;AACL,EAAE,OAAOyc,iBAAW,CAAC,YAAY;AACjC,IAAI,KAAK,IAAI,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE;AAC7F,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AACnC,KAAK;AACL;AACA,IAAI,OAAO,UAAU,CAAC,OAAO,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;AAC7E,GAAG,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AACD;AACA,SAAS,WAAW,GAAG;AACvB,EAAE,MAAM,WAAW,GAAGzc,YAAM,CAAC,IAAI,CAAC,CAAC;AACnC,EAAE,MAAM,GAAG,GAAGyc,iBAAW,CAAC,CAAC,QAAQ,EAAE,QAAQ,KAAK;AAClD,IAAI,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAC1D,GAAG,EAAE,EAAE,CAAC,CAAC;AACT,EAAE,MAAM,KAAK,GAAGA,iBAAW,CAAC,MAAM;AAClC,IAAI,IAAI,WAAW,CAAC,OAAO,KAAK,IAAI,EAAE;AACtC,MAAM,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AACzC,MAAM,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC;AACjC,KAAK;AACL,GAAG,EAAE,EAAE,CAAC,CAAC;AACT,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACtB,CAAC;AACD;AACA,SAAS,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE;AAC7C,EAAE,IAAI,YAAY,KAAK,KAAK,CAAC,EAAE;AAC/B,IAAI,YAAY,GAAG,CAAC,KAAK,CAAC,CAAC;AAC3B,GAAG;AACH;AACA,EAAE,MAAM,QAAQ,GAAGzc,YAAM,CAAC,KAAK,CAAC,CAAC;AACjC,EAAE,yBAAyB,CAAC,MAAM;AAClC,IAAI,IAAI,QAAQ,CAAC,OAAO,KAAK,KAAK,EAAE;AACpC,MAAM,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;AAC/B,KAAK;AACL,GAAG,EAAE,YAAY,CAAC,CAAC;AACnB,EAAE,OAAO,QAAQ,CAAC;AAClB,CAAC;AACD;AACA,SAAS,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE;AAC7C,EAAE,MAAM,QAAQ,GAAGA,YAAM,EAAE,CAAC;AAC5B,EAAE,OAAO2X,aAAO,CAAC,MAAM;AACvB,IAAI,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAChD,IAAI,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC;AAChC,IAAI,OAAO,QAAQ,CAAC;AACpB,GAAG;AACH,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;AACrB,CAAC;AACD;AACA,SAAS,UAAU,CAAC,QAAQ,EAAE;AAC9B,EAAE,MAAM,eAAe,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC7C,EAAE,MAAM,IAAI,GAAG3X,YAAM,CAAC,IAAI,CAAC,CAAC;AAC5B,EAAE,MAAM,UAAU,GAAGyc,iBAAW,CAAC,OAAO,IAAI;AAC5C,IAAI,IAAI,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE;AAClC,MAAM,eAAe,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;AAChF,KAAK;AACL;AACA,IAAI,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AAC3B,GAAG;AACH,EAAE,EAAE,CAAC,CAAC;AACN,EAAE,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AAC5B,CAAC;AACD;AACA,SAAS,WAAW,CAAC,KAAK,EAAE;AAC5B,EAAE,MAAM,GAAG,GAAGzc,YAAM,EAAE,CAAC;AACvB,EAAE1C,eAAS,CAAC,MAAM;AAClB,IAAI,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC;AACxB,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AACd,EAAE,OAAO,GAAG,CAAC,OAAO,CAAC;AACrB,CAAC;AACD;AACA,IAAI,GAAG,GAAG,EAAE,CAAC;AACb,SAAS,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE;AACpC,EAAE,OAAOqa,aAAO,CAAC,MAAM;AACvB,IAAI,IAAI,KAAK,EAAE;AACf,MAAM,OAAO,KAAK,CAAC;AACnB,KAAK;AACL;AACA,IAAI,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACzD,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;AACrB,IAAI,OAAO,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC;AAC7B,GAAG,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AACtB,CAAC;AACD;AACA,SAAS,kBAAkB,CAAC,QAAQ,EAAE;AACtC,EAAE,OAAO,UAAU,MAAM,EAAE;AAC3B,IAAI,KAAK,IAAI,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE;AACvH,MAAM,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAC9C,KAAK;AACL;AACA,IAAI,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,UAAU,KAAK;AAC3D,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AACjD;AACA,MAAM,KAAK,MAAM,CAAC,GAAG,EAAE,eAAe,CAAC,IAAI,OAAO,EAAE;AACpD,QAAQ,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;AACvC;AACA,QAAQ,IAAI,KAAK,IAAI,IAAI,EAAE;AAC3B,UAAU,WAAW,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,QAAQ,GAAG,eAAe,CAAC;AAChE,SAAS;AACT,OAAO;AACP;AACA,MAAM,OAAO,WAAW,CAAC;AACzB,KAAK,EAAE,EAAE,GAAG,MAAM;AAClB,KAAK,CAAC,CAAC;AACP,GAAG,CAAC;AACJ,CAAC;AACD;AACA,MAAM,GAAG,gBAAgB,kBAAkB,CAAC,CAAC,CAAC,CAAC;AAC/C,MAAM,QAAQ,gBAAgB,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD;AACA,SAAS,8BAA8B,CAAC,KAAK,EAAE;AAC/C,EAAE,OAAO,SAAS,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,CAAC;AAClD,CAAC;AACD;AACA,SAAS,eAAe,CAAC,KAAK,EAAE;AAChC,EAAE,IAAI,CAAC,KAAK,EAAE;AACd,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH;AACA,EAAE,MAAM;AACR,IAAI,aAAa;AACjB,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC9B,EAAE,OAAO,aAAa,IAAI,KAAK,YAAY,aAAa,CAAC;AACzD,CAAC;AACD;AACA,SAAS,YAAY,CAAC,KAAK,EAAE;AAC7B,EAAE,IAAI,CAAC,KAAK,EAAE;AACd,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH;AACA,EAAE,MAAM;AACR,IAAI,UAAU;AACd,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC9B,EAAE,OAAO,UAAU,IAAI,KAAK,YAAY,UAAU,CAAC;AACnD,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,SAAS,mBAAmB,CAAC,KAAK,EAAE;AACpC,EAAE,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE;AAC3B,IAAI,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE;AAC/C,MAAM,MAAM;AACZ,QAAQ,OAAO,EAAE,CAAC;AAClB,QAAQ,OAAO,EAAE,CAAC;AAClB,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC3B,MAAM,OAAO;AACb,QAAQ,CAAC;AACT,QAAQ,CAAC;AACT,OAAO,CAAC;AACR,KAAK,MAAM,IAAI,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE;AACpE,MAAM,MAAM;AACZ,QAAQ,OAAO,EAAE,CAAC;AAClB,QAAQ,OAAO,EAAE,CAAC;AAClB,OAAO,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AAClC,MAAM,OAAO;AACb,QAAQ,CAAC;AACT,QAAQ,CAAC;AACT,OAAO,CAAC;AACR,KAAK;AACL,GAAG;AACH;AACA,EAAE,IAAI,8BAA8B,CAAC,KAAK,CAAC,EAAE;AAC7C,IAAI,OAAO;AACX,MAAM,CAAC,EAAE,KAAK,CAAC,OAAO;AACtB,MAAM,CAAC,EAAE,KAAK,CAAC,OAAO;AACtB,KAAK,CAAC;AACN,GAAG;AACH;AACA,EAAE,OAAO,IAAI,CAAC;AACd,CAAC;AACD;AACA,MAAM,GAAG,gBAAgB,MAAM,CAAC,MAAM,CAAC;AACvC,EAAE,SAAS,EAAE;AACb,IAAI,QAAQ,CAAC,SAAS,EAAE;AACxB,MAAM,IAAI,CAAC,SAAS,EAAE;AACtB,QAAQ,OAAO;AACf,OAAO;AACP;AACA,MAAM,MAAM;AACZ,QAAQ,CAAC;AACT,QAAQ,CAAC;AACT,OAAO,GAAG,SAAS,CAAC;AACpB,MAAM,OAAO,cAAc,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC;AACpG,KAAK;AACL;AACA,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,QAAQ,CAAC,SAAS,EAAE;AACxB,MAAM,IAAI,CAAC,SAAS,EAAE;AACtB,QAAQ,OAAO;AACf,OAAO;AACP;AACA,MAAM,MAAM;AACZ,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,OAAO,GAAG,SAAS,CAAC;AACpB,MAAM,OAAO,SAAS,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,GAAG,GAAG,CAAC;AAC7D,KAAK;AACL;AACA,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,QAAQ,CAAC,SAAS,EAAE;AACxB,MAAM,IAAI,CAAC,SAAS,EAAE;AACtB,QAAQ,OAAO;AACf,OAAO;AACP;AACA,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1F,KAAK;AACL;AACA,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,QAAQ,CAAC,IAAI,EAAE;AACnB,MAAM,IAAI;AACV,QAAQ,QAAQ;AAChB,QAAQ,QAAQ;AAChB,QAAQ,MAAM;AACd,OAAO,GAAG,IAAI,CAAC;AACf,MAAM,OAAO,QAAQ,GAAG,GAAG,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;AACxD,KAAK;AACL;AACA,GAAG;AACH,CAAC,CAAC,CAAC;AACH;AACA,MAAM,QAAQ,GAAG,wIAAwI,CAAC;AAC1J,SAAS,sBAAsB,CAAC,OAAO,EAAE;AACzC,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;AACjC,IAAI,OAAO,OAAO,CAAC;AACnB,GAAG;AACH;AACA,EAAE,OAAO,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;AACzC;;ACvUA,MAAM,YAAY,GAAG;AACrB,EAAE,OAAO,EAAE,MAAM;AACjB,CAAC,CAAC;AACF,SAAS,UAAU,CAAC,IAAI,EAAE;AAC1B,EAAE,IAAI;AACN,IAAI,EAAE;AACN,IAAI,KAAK;AACT,GAAG,GAAG,IAAI,CAAC;AACX,EAAE,OAAO+E,yBAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACpC,IAAI,EAAE,EAAE,EAAE;AACV,IAAI,KAAK,EAAE,YAAY;AACvB,GAAG,EAAE,KAAK,CAAC,CAAC;AACZ,CAAC;AACD;AACA,MAAM,cAAc,GAAG;AACvB,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,KAAK,EAAE,CAAC;AACV,EAAE,MAAM,EAAE,CAAC;AACX,EAAE,MAAM,EAAE,CAAC,CAAC;AACZ,EAAE,MAAM,EAAE,CAAC;AACX,EAAE,OAAO,EAAE,CAAC;AACZ,EAAE,QAAQ,EAAE,QAAQ;AACpB,EAAE,IAAI,EAAE,eAAe;AACvB,EAAE,QAAQ,EAAE,aAAa;AACzB,EAAE,UAAU,EAAE,QAAQ;AACtB,CAAC,CAAC;AACF,SAAS,UAAU,CAAC,IAAI,EAAE;AAC1B,EAAE,IAAI;AACN,IAAI,EAAE;AACN,IAAI,YAAY;AAChB,GAAG,GAAG,IAAI,CAAC;AACX,EAAE,OAAOA,yBAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACpC,IAAI,EAAE,EAAE,EAAE;AACV,IAAI,KAAK,EAAE,cAAc;AACzB,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,WAAW,EAAE,WAAW;AAC5B,IAAI,aAAa,EAAE,IAAI;AACvB,GAAG,EAAE,YAAY,CAAC,CAAC;AACnB,CAAC;AACD;AACA,SAAS,eAAe,GAAG;AAC3B,EAAE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG9c,cAAQ,CAAC,EAAE,CAAC,CAAC;AACvD,EAAE,MAAM,QAAQ,GAAG6c,iBAAW,CAAC,KAAK,IAAI;AACxC,IAAI,IAAI,KAAK,IAAI,IAAI,EAAE;AACvB,MAAM,eAAe,CAAC,KAAK,CAAC,CAAC;AAC7B,KAAK;AACL,GAAG,EAAE,EAAE,CAAC,CAAC;AACT,EAAE,OAAO;AACT,IAAI,QAAQ;AACZ,IAAI,YAAY;AAChB,GAAG,CAAC;AACJ;;AChDA,MAAM,iBAAiB,gBAAgBE,mBAAa,CAAC,IAAI,CAAC,CAAC;AAC3D;AACA,SAAS,aAAa,CAAC,QAAQ,EAAE;AACjC,EAAE,MAAM,gBAAgB,GAAGC,gBAAU,CAAC,iBAAiB,CAAC,CAAC;AACzD,EAAEtf,eAAS,CAAC,MAAM;AAClB,IAAI,IAAI,CAAC,gBAAgB,EAAE;AAC3B,MAAM,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;AACtF,KAAK;AACL;AACA,IAAI,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AACnD,IAAI,OAAO,WAAW,CAAC;AACvB,GAAG,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC;AACnC,CAAC;AACD;AACA,SAAS,qBAAqB,GAAG;AACjC,EAAE,MAAM,CAAC,SAAS,CAAC,GAAGsC,cAAQ,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC;AAChD,EAAE,MAAM,gBAAgB,GAAG6c,iBAAW,CAAC,QAAQ,IAAI;AACnD,IAAI,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC5B,IAAI,OAAO,MAAM,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC5C,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;AAClB,EAAE,MAAM,QAAQ,GAAGA,iBAAW,CAAC,IAAI,IAAI;AACvC,IAAI,IAAI;AACR,MAAM,IAAI;AACV,MAAM,KAAK;AACX,KAAK,GAAG,IAAI,CAAC;AACb,IAAI,SAAS,CAAC,OAAO,CAAC,QAAQ,IAAI;AAClC,MAAM,IAAI,cAAc,CAAC;AACzB;AACA,MAAM,OAAO,CAAC,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AACvG,KAAK,CAAC,CAAC;AACP,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;AAClB,EAAE,OAAO,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;AACtC,CAAC;AACD;AACA,MAAM,+BAA+B,GAAG;AACxC,EAAE,SAAS,EAAE,+MAA+M;AAC5N,CAAC,CAAC;AACF,MAAM,oBAAoB,GAAG;AAC7B,EAAE,WAAW,CAAC,IAAI,EAAE;AACpB,IAAI,IAAI;AACR,MAAM,MAAM;AACZ,KAAK,GAAG,IAAI,CAAC;AACb,IAAI,OAAO,2BAA2B,GAAG,MAAM,CAAC,EAAE,GAAG,GAAG,CAAC;AACzD,GAAG;AACH;AACA,EAAE,UAAU,CAAC,KAAK,EAAE;AACpB,IAAI,IAAI;AACR,MAAM,MAAM;AACZ,MAAM,IAAI;AACV,KAAK,GAAG,KAAK,CAAC;AACd;AACA,IAAI,IAAI,IAAI,EAAE;AACd,MAAM,OAAO,iBAAiB,GAAG,MAAM,CAAC,EAAE,GAAG,iCAAiC,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC;AAC/F,KAAK;AACL;AACA,IAAI,OAAO,iBAAiB,GAAG,MAAM,CAAC,EAAE,GAAG,sCAAsC,CAAC;AAClF,GAAG;AACH;AACA,EAAE,SAAS,CAAC,KAAK,EAAE;AACnB,IAAI,IAAI;AACR,MAAM,MAAM;AACZ,MAAM,IAAI;AACV,KAAK,GAAG,KAAK,CAAC;AACd;AACA,IAAI,IAAI,IAAI,EAAE;AACd,MAAM,OAAO,iBAAiB,GAAG,MAAM,CAAC,EAAE,GAAG,mCAAmC,GAAG,IAAI,CAAC,EAAE,CAAC;AAC3F,KAAK;AACL;AACA,IAAI,OAAO,iBAAiB,GAAG,MAAM,CAAC,EAAE,GAAG,eAAe,CAAC;AAC3D,GAAG;AACH;AACA,EAAE,YAAY,CAAC,KAAK,EAAE;AACtB,IAAI,IAAI;AACR,MAAM,MAAM;AACZ,KAAK,GAAG,KAAK,CAAC;AACd,IAAI,OAAO,yCAAyC,GAAG,MAAM,CAAC,EAAE,GAAG,eAAe,CAAC;AACnF,GAAG;AACH;AACA,CAAC,CAAC;AACF;AACA,SAAS,aAAa,CAAC,IAAI,EAAE;AAC7B,EAAE,IAAI;AACN,IAAI,aAAa,GAAG,oBAAoB;AACxC,IAAI,SAAS;AACb,IAAI,uBAAuB;AAC3B,IAAI,wBAAwB,GAAG,+BAA+B;AAC9D,GAAG,GAAG,IAAI,CAAC;AACX,EAAE,MAAM;AACR,IAAI,QAAQ;AACZ,IAAI,YAAY;AAChB,GAAG,GAAG,eAAe,EAAE,CAAC;AACxB,EAAE,MAAM,YAAY,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC;AACpD,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG7c,cAAQ,CAAC,KAAK,CAAC,CAAC;AAChD,EAAEtC,eAAS,CAAC,MAAM;AAClB,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;AACrB,GAAG,EAAE,EAAE,CAAC,CAAC;AACT,EAAE,aAAa,CAACqa,aAAO,CAAC,OAAO;AAC/B,IAAI,WAAW,CAAC,KAAK,EAAE;AACvB,MAAM,IAAI;AACV,QAAQ,MAAM;AACd,OAAO,GAAG,KAAK,CAAC;AAChB,MAAM,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC;AACzC,QAAQ,MAAM;AACd,OAAO,CAAC,CAAC,CAAC;AACV,KAAK;AACL;AACA,IAAI,UAAU,CAAC,KAAK,EAAE;AACtB,MAAM,IAAI;AACV,QAAQ,MAAM;AACd,QAAQ,IAAI;AACZ,OAAO,GAAG,KAAK,CAAC;AAChB;AACA,MAAM,IAAI,aAAa,CAAC,UAAU,EAAE;AACpC,QAAQ,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC;AAC1C,UAAU,MAAM;AAChB,UAAU,IAAI;AACd,SAAS,CAAC,CAAC,CAAC;AACZ,OAAO;AACP,KAAK;AACL;AACA,IAAI,UAAU,CAAC,KAAK,EAAE;AACtB,MAAM,IAAI;AACV,QAAQ,MAAM;AACd,QAAQ,IAAI;AACZ,OAAO,GAAG,KAAK,CAAC;AAChB,MAAM,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC;AACxC,QAAQ,MAAM;AACd,QAAQ,IAAI;AACZ,OAAO,CAAC,CAAC,CAAC;AACV,KAAK;AACL;AACA,IAAI,SAAS,CAAC,KAAK,EAAE;AACrB,MAAM,IAAI;AACV,QAAQ,MAAM;AACd,QAAQ,IAAI;AACZ,OAAO,GAAG,KAAK,CAAC;AAChB,MAAM,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC;AACvC,QAAQ,MAAM;AACd,QAAQ,IAAI;AACZ,OAAO,CAAC,CAAC,CAAC;AACV,KAAK;AACL;AACA,IAAI,YAAY,CAAC,KAAK,EAAE;AACxB,MAAM,IAAI;AACV,QAAQ,MAAM;AACd,QAAQ,IAAI;AACZ,OAAO,GAAG,KAAK,CAAC;AAChB,MAAM,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC;AAC1C,QAAQ,MAAM;AACd,QAAQ,IAAI;AACZ,OAAO,CAAC,CAAC,CAAC;AACV,KAAK;AACL;AACA,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;AAClC;AACA,EAAE,IAAI,CAAC,OAAO,EAAE;AAChB,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH;AACA,EAAE,MAAM,MAAM,GAAG+E,yBAAK,CAAC,aAAa,CAACA,yBAAK,CAAC,QAAQ,EAAE,IAAI,EAAEA,yBAAK,CAAC,aAAa,CAAC,UAAU,EAAE;AAC3F,IAAI,EAAE,EAAE,uBAAuB;AAC/B,IAAI,KAAK,EAAE,wBAAwB,CAAC,SAAS;AAC7C,GAAG,CAAC,EAAEA,yBAAK,CAAC,aAAa,CAAC,UAAU,EAAE;AACtC,IAAI,EAAE,EAAE,YAAY;AACpB,IAAI,YAAY,EAAE,YAAY;AAC9B,GAAG,CAAC,CAAC,CAAC;AACN,EAAE,OAAO,SAAS,GAAGG,qBAAY,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,MAAM,CAAC;AAC9D,CAAC;AACD;AACA,IAAI,MAAM,CAAC;AACX;AACA,CAAC,UAAU,MAAM,EAAE;AACnB,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC;AACpC,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC;AAClC,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;AAChC,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC;AACtC,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC;AAClC,EAAE,MAAM,CAAC,mBAAmB,CAAC,GAAG,mBAAmB,CAAC;AACpD,EAAE,MAAM,CAAC,sBAAsB,CAAC,GAAG,sBAAsB,CAAC;AAC1D,EAAE,MAAM,CAAC,qBAAqB,CAAC,GAAG,qBAAqB,CAAC;AACxD,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC;AAC5B;AACA,SAAS,IAAI,GAAG,EAAE;AAkBlB;AACA,MAAM,kBAAkB,gBAAgB,MAAM,CAAC,MAAM,CAAC;AACtD,EAAE,CAAC,EAAE,CAAC;AACN,EAAE,CAAC,EAAE,CAAC;AACN,CAAC,CAAC,CAAC;AACH;AACA;AACA;AACA;AACA,SAAS,eAAe,CAAC,EAAE,EAAE,EAAE,EAAE;AACjC,EAAE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACxE,CAAC;AAeD;AACA;AACA;AACA;AACA,SAAS,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE;AACxC,EAAE,IAAI;AACN,IAAI,IAAI,EAAE;AACV,MAAM,KAAK,EAAE,CAAC;AACd,KAAK;AACL,GAAG,GAAG,IAAI,CAAC;AACX,EAAE,IAAI;AACN,IAAI,IAAI,EAAE;AACV,MAAM,KAAK,EAAE,CAAC;AACd,KAAK;AACL,GAAG,GAAG,KAAK,CAAC;AACZ,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AACD;AACA;AACA;AACA;AACA,SAAS,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE;AAC1C,EAAE,IAAI;AACN,IAAI,IAAI,EAAE;AACV,MAAM,KAAK,EAAE,CAAC;AACd,KAAK;AACL,GAAG,GAAG,KAAK,CAAC;AACZ,EAAE,IAAI;AACN,IAAI,IAAI,EAAE;AACV,MAAM,KAAK,EAAE,CAAC;AACd,KAAK;AACL,GAAG,GAAG,KAAK,CAAC;AACZ,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AA2BD,SAAS,iBAAiB,CAAC,UAAU,EAAE,QAAQ,EAAE;AACjD,EAAE,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;AAC9C,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH;AACA,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,UAAU,CAAC;AACtC,EAAE,OAAO,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,GAAG,cAAc,CAAC;AAC9D,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,SAAS,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE;AAC5C,EAAE,IAAI,IAAI,KAAK,KAAK,CAAC,EAAE;AACvB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;AACrB,GAAG;AACH;AACA,EAAE,IAAI,GAAG,KAAK,KAAK,CAAC,EAAE;AACtB,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;AACnB,GAAG;AACH;AACA,EAAE,OAAO;AACT,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG;AAC9B,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,GAAG;AAC9B,GAAG,CAAC;AACJ,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,aAAa,GAAG,IAAI,IAAI;AAC9B,EAAE,IAAI;AACN,IAAI,aAAa;AACjB,IAAI,cAAc;AAClB,IAAI,mBAAmB;AACvB,GAAG,GAAG,IAAI,CAAC;AACX,EAAE,MAAM,UAAU,GAAG,iBAAiB,CAAC,aAAa,EAAE,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;AAC7F,EAAE,MAAM,UAAU,GAAG,EAAE,CAAC;AACxB;AACA,EAAE,KAAK,MAAM,kBAAkB,IAAI,mBAAmB,EAAE;AACxD,IAAI,MAAM;AACV,MAAM,EAAE;AACR,KAAK,GAAG,kBAAkB,CAAC;AAC3B,IAAI,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACxC;AACA,IAAI,IAAI,IAAI,EAAE;AACd,MAAM,MAAM,WAAW,GAAG,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC;AAC/E,MAAM,UAAU,CAAC,IAAI,CAAC;AACtB,QAAQ,EAAE;AACV,QAAQ,IAAI,EAAE;AACd,UAAU,kBAAkB;AAC5B,UAAU,KAAK,EAAE,WAAW;AAC5B,SAAS;AACT,OAAO,CAAC,CAAC;AACT,KAAK;AACL,GAAG;AACH;AACA,EAAE,OAAO,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAC5C,CAAC,CAAC;AAwCF;AACA;AACA;AACA;AACA;AACA,SAAS,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE;AAC7C,EAAE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AAC9C,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;AACjD,EAAE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;AAC/E,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;AAChF,EAAE,MAAM,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;AAC7B,EAAE,MAAM,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC;AAC9B;AACA,EAAE,IAAI,IAAI,GAAG,KAAK,IAAI,GAAG,GAAG,MAAM,EAAE;AACpC,IAAI,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;AACpD,IAAI,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;AACjD,IAAI,MAAM,gBAAgB,GAAG,KAAK,GAAG,MAAM,CAAC;AAC5C,IAAI,MAAM,iBAAiB,GAAG,gBAAgB,IAAI,UAAU,GAAG,SAAS,GAAG,gBAAgB,CAAC,CAAC;AAC7F,IAAI,OAAO,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,GAAG;AACH;AACA;AACA,EAAE,OAAO,CAAC,CAAC;AACX,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,MAAM,gBAAgB,GAAG,IAAI,IAAI;AACjC,EAAE,IAAI;AACN,IAAI,aAAa;AACjB,IAAI,cAAc;AAClB,IAAI,mBAAmB;AACvB,GAAG,GAAG,IAAI,CAAC;AACX,EAAE,MAAM,UAAU,GAAG,EAAE,CAAC;AACxB;AACA,EAAE,KAAK,MAAM,kBAAkB,IAAI,mBAAmB,EAAE;AACxD,IAAI,MAAM;AACV,MAAM,EAAE;AACR,KAAK,GAAG,kBAAkB,CAAC;AAC3B,IAAI,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACxC;AACA,IAAI,IAAI,IAAI,EAAE;AACd,MAAM,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;AAC1E;AACA,MAAM,IAAI,iBAAiB,GAAG,CAAC,EAAE;AACjC,QAAQ,UAAU,CAAC,IAAI,CAAC;AACxB,UAAU,EAAE;AACZ,UAAU,IAAI,EAAE;AAChB,YAAY,kBAAkB;AAC9B,YAAY,KAAK,EAAE,iBAAiB;AACpC,WAAW;AACX,SAAS,CAAC,CAAC;AACX,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA,EAAE,OAAO,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAC7C,CAAC,CAAC;AA8DF;AACA,SAAS,WAAW,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE;AAC9C,EAAE,OAAO,EAAE,GAAG,SAAS;AACvB,IAAI,MAAM,EAAE,KAAK,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC;AAC1D,IAAI,MAAM,EAAE,KAAK,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC;AAC5D,GAAG,CAAC;AACJ,CAAC;AACD;AACA,SAAS,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE;AACpC,EAAE,OAAO,KAAK,IAAI,KAAK,GAAG;AAC1B,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI;AAC9B,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG;AAC5B,GAAG,GAAG,kBAAkB,CAAC;AACzB,CAAC;AACD;AACA,SAAS,sBAAsB,CAAC,QAAQ,EAAE;AAC1C,EAAE,OAAO,SAAS,gBAAgB,CAAC,IAAI,EAAE;AACzC,IAAI,KAAK,IAAI,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE;AACvH,MAAM,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAC9C,KAAK;AACL;AACA,IAAI,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,UAAU,MAAM,EAAE,GAAG,GAAG;AAC5D,MAAM,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,QAAQ,GAAG,UAAU,CAAC,CAAC;AAC5C,MAAM,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC,CAAC;AAClD,MAAM,IAAI,EAAE,GAAG,CAAC,IAAI,GAAG,QAAQ,GAAG,UAAU,CAAC,CAAC;AAC9C,MAAM,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,QAAQ,GAAG,UAAU,CAAC,CAAC;AAChD,KAAK,CAAC,EAAE,EAAE,GAAG,IAAI;AACjB,KAAK,CAAC,CAAC;AACP,GAAG,CAAC;AACJ,CAAC;AACD,MAAM,eAAe,gBAAgB,sBAAsB,CAAC,CAAC,CAAC,CAAC;AAC/D;AACA,SAAS,cAAc,CAAC,SAAS,EAAE;AACnC,EAAE,IAAI,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE;AACzC,IAAI,MAAM,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC9D,IAAI,OAAO;AACX,MAAM,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC;AAC5B,MAAM,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC;AAC5B,MAAM,MAAM,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;AAChC,MAAM,MAAM,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;AAChC,KAAK,CAAC;AACN,GAAG,MAAM,IAAI,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;AAC9C,IAAI,MAAM,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC9D,IAAI,OAAO;AACX,MAAM,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;AAC3B,MAAM,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;AAC3B,MAAM,MAAM,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;AAChC,MAAM,MAAM,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;AAChC,KAAK,CAAC;AACN,GAAG;AACH;AACA,EAAE,OAAO,IAAI,CAAC;AACd,CAAC;AACD;AACA,SAAS,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,eAAe,EAAE;AAC5D,EAAE,MAAM,eAAe,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;AACpD;AACA,EAAE,IAAI,CAAC,eAAe,EAAE;AACxB,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH;AACA,EAAE,MAAM;AACR,IAAI,MAAM;AACV,IAAI,MAAM;AACV,IAAI,CAAC,EAAE,UAAU;AACjB,IAAI,CAAC,EAAE,UAAU;AACjB,GAAG,GAAG,eAAe,CAAC;AACtB,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,UAAU,GAAG,CAAC,CAAC,GAAG,MAAM,IAAI,UAAU,CAAC,eAAe,CAAC,CAAC;AAChF,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,UAAU,GAAG,CAAC,CAAC,GAAG,MAAM,IAAI,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACvH,EAAE,MAAM,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;AACtD,EAAE,MAAM,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AACxD,EAAE,OAAO;AACT,IAAI,KAAK,EAAE,CAAC;AACZ,IAAI,MAAM,EAAE,CAAC;AACb,IAAI,GAAG,EAAE,CAAC;AACV,IAAI,KAAK,EAAE,CAAC,GAAG,CAAC;AAChB,IAAI,MAAM,EAAE,CAAC,GAAG,CAAC;AACjB,IAAI,IAAI,EAAE,CAAC;AACX,GAAG,CAAC;AACJ,CAAC;AACD;AACA,MAAM,cAAc,GAAG;AACvB,EAAE,eAAe,EAAE,KAAK;AACxB,CAAC,CAAC;AACF;AACA;AACA;AACA;AACA,SAAS,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE;AACzC,EAAE,IAAI,OAAO,KAAK,KAAK,CAAC,EAAE;AAC1B,IAAI,OAAO,GAAG,cAAc,CAAC;AAC7B,GAAG;AACH;AACA,EAAE,IAAI,IAAI,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;AAC7C;AACA,EAAE,IAAI,OAAO,CAAC,eAAe,EAAE;AAC/B,IAAI,MAAM;AACV,MAAM,SAAS;AACf,MAAM,eAAe;AACrB,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;AACrD;AACA,IAAI,IAAI,SAAS,EAAE;AACnB,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;AAChE,KAAK;AACL,GAAG;AACH;AACA,EAAE,MAAM;AACR,IAAI,GAAG;AACP,IAAI,IAAI;AACR,IAAI,KAAK;AACT,IAAI,MAAM;AACV,IAAI,MAAM;AACV,IAAI,KAAK;AACT,GAAG,GAAG,IAAI,CAAC;AACX,EAAE,OAAO;AACT,IAAI,GAAG;AACP,IAAI,IAAI;AACR,IAAI,KAAK;AACT,IAAI,MAAM;AACV,IAAI,MAAM;AACV,IAAI,KAAK;AACT,GAAG,CAAC;AACJ,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,8BAA8B,CAAC,OAAO,EAAE;AACjD,EAAE,OAAO,aAAa,CAAC,OAAO,EAAE;AAChC,IAAI,eAAe,EAAE,IAAI;AACzB,GAAG,CAAC,CAAC;AACL,CAAC;AACD;AACA,SAAS,mBAAmB,CAAC,OAAO,EAAE;AACtC,EAAE,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC;AACnC,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;AACrC,EAAE,OAAO;AACT,IAAI,GAAG,EAAE,CAAC;AACV,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,KAAK,EAAE,KAAK;AAChB,IAAI,MAAM,EAAE,MAAM;AAClB,IAAI,KAAK;AACT,IAAI,MAAM;AACV,GAAG,CAAC;AACJ,CAAC;AACD;AACA,SAAS,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE;AACtC,EAAE,IAAI,aAAa,KAAK,KAAK,CAAC,EAAE;AAChC,IAAI,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAC3D,GAAG;AACH;AACA,EAAE,OAAO,aAAa,CAAC,QAAQ,KAAK,OAAO,CAAC;AAC5C,CAAC;AACD;AACA,SAAS,YAAY,CAAC,OAAO,EAAE,aAAa,EAAE;AAC9C,EAAE,IAAI,aAAa,KAAK,KAAK,CAAC,EAAE;AAChC,IAAI,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;AACjE,GAAG;AACH;AACA,EAAE,MAAM,aAAa,GAAG,uBAAuB,CAAC;AAChD,EAAE,MAAM,UAAU,GAAG,CAAC,UAAU,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;AAC5D,EAAE,OAAO,UAAU,CAAC,IAAI,CAAC,QAAQ,IAAI;AACrC,IAAI,MAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;AAC1C,IAAI,OAAO,OAAO,KAAK,KAAK,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;AACzE,GAAG,CAAC,CAAC;AACL,CAAC;AACD;AACA,SAAS,sBAAsB,CAAC,OAAO,EAAE,KAAK,EAAE;AAChD,EAAE,MAAM,aAAa,GAAG,EAAE,CAAC;AAC3B;AACA,EAAE,SAAS,uBAAuB,CAAC,IAAI,EAAE;AACzC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,aAAa,CAAC,MAAM,IAAI,KAAK,EAAE;AACxD,MAAM,OAAO,aAAa,CAAC;AAC3B,KAAK;AACL;AACA,IAAI,IAAI,CAAC,IAAI,EAAE;AACf,MAAM,OAAO,aAAa,CAAC;AAC3B,KAAK;AACL;AACA,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;AAC7G,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAChD,MAAM,OAAO,aAAa,CAAC;AAC3B,KAAK;AACL;AACA,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE;AACpD,MAAM,OAAO,aAAa,CAAC;AAC3B,KAAK;AACL;AACA,IAAI,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;AACtC,MAAM,OAAO,aAAa,CAAC;AAC3B,KAAK;AACL;AACA,IAAI,MAAM,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;AACpE;AACA,IAAI,IAAI,IAAI,KAAK,OAAO,EAAE;AAC1B,MAAM,IAAI,YAAY,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE;AAC7C,QAAQ,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjC,OAAO;AACP,KAAK;AACL;AACA,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE;AACtC,MAAM,OAAO,aAAa,CAAC;AAC3B,KAAK;AACL;AACA,IAAI,OAAO,uBAAuB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACpD,GAAG;AACH;AACA,EAAE,IAAI,CAAC,OAAO,EAAE;AAChB,IAAI,OAAO,aAAa,CAAC;AACzB,GAAG;AACH;AACA,EAAE,OAAO,uBAAuB,CAAC,OAAO,CAAC,CAAC;AAC1C,CAAC;AACD,SAAS,0BAA0B,CAAC,IAAI,EAAE;AAC1C,EAAE,MAAM,CAAC,uBAAuB,CAAC,GAAG,sBAAsB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACpE,EAAE,OAAO,uBAAuB,IAAI,IAAI,GAAG,uBAAuB,GAAG,IAAI,CAAC;AAC1E,CAAC;AACD;AACA,SAAS,oBAAoB,CAAC,OAAO,EAAE;AACvC,EAAE,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO,EAAE;AAC9B,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH;AACA,EAAE,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE;AACzB,IAAI,OAAO,OAAO,CAAC;AACnB,GAAG;AACH;AACA,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;AACxB,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH;AACA,EAAE,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,gBAAgB,CAAC,OAAO,CAAC,CAAC,gBAAgB,EAAE;AACrF,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG;AACH;AACA,EAAE,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE;AAC9B,IAAI,OAAO,OAAO,CAAC;AACnB,GAAG;AACH;AACA,EAAE,OAAO,IAAI,CAAC;AACd,CAAC;AACD;AACA,SAAS,oBAAoB,CAAC,OAAO,EAAE;AACvC,EAAE,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE;AACzB,IAAI,OAAO,OAAO,CAAC,OAAO,CAAC;AAC3B,GAAG;AACH;AACA,EAAE,OAAO,OAAO,CAAC,UAAU,CAAC;AAC5B,CAAC;AACD,SAAS,oBAAoB,CAAC,OAAO,EAAE;AACvC,EAAE,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE;AACzB,IAAI,OAAO,OAAO,CAAC,OAAO,CAAC;AAC3B,GAAG;AACH;AACA,EAAE,OAAO,OAAO,CAAC,SAAS,CAAC;AAC3B,CAAC;AACD,SAAS,oBAAoB,CAAC,OAAO,EAAE;AACvC,EAAE,OAAO;AACT,IAAI,CAAC,EAAE,oBAAoB,CAAC,OAAO,CAAC;AACpC,IAAI,CAAC,EAAE,oBAAoB,CAAC,OAAO,CAAC;AACpC,GAAG,CAAC;AACJ,CAAC;AACD;AACA,IAAI,SAAS,CAAC;AACd;AACA,CAAC,UAAU,SAAS,EAAE;AACtB,EAAE,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;AAClD,EAAE,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;AACrD,CAAC,EAAE,SAAS,KAAK,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC;AAClC;AACA,SAAS,0BAA0B,CAAC,OAAO,EAAE;AAC7C,EAAE,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO,EAAE;AAC9B,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH;AACA,EAAE,OAAO,OAAO,KAAK,QAAQ,CAAC,gBAAgB,CAAC;AAC/C,CAAC;AACD;AACA,SAAS,iBAAiB,CAAC,kBAAkB,EAAE;AAC/C,EAAE,MAAM,SAAS,GAAG;AACpB,IAAI,CAAC,EAAE,CAAC;AACR,IAAI,CAAC,EAAE,CAAC;AACR,GAAG,CAAC;AACJ,EAAE,MAAM,UAAU,GAAG,0BAA0B,CAAC,kBAAkB,CAAC,GAAG;AACtE,IAAI,MAAM,EAAE,MAAM,CAAC,WAAW;AAC9B,IAAI,KAAK,EAAE,MAAM,CAAC,UAAU;AAC5B,GAAG,GAAG;AACN,IAAI,MAAM,EAAE,kBAAkB,CAAC,YAAY;AAC3C,IAAI,KAAK,EAAE,kBAAkB,CAAC,WAAW;AACzC,GAAG,CAAC;AACJ,EAAE,MAAM,SAAS,GAAG;AACpB,IAAI,CAAC,EAAE,kBAAkB,CAAC,WAAW,GAAG,UAAU,CAAC,KAAK;AACxD,IAAI,CAAC,EAAE,kBAAkB,CAAC,YAAY,GAAG,UAAU,CAAC,MAAM;AAC1D,GAAG,CAAC;AACJ,EAAE,MAAM,KAAK,GAAG,kBAAkB,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC;AAC5D,EAAE,MAAM,MAAM,GAAG,kBAAkB,CAAC,UAAU,IAAI,SAAS,CAAC,CAAC,CAAC;AAC9D,EAAE,MAAM,QAAQ,GAAG,kBAAkB,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC;AAC/D,EAAE,MAAM,OAAO,GAAG,kBAAkB,CAAC,UAAU,IAAI,SAAS,CAAC,CAAC,CAAC;AAC/D,EAAE,OAAO;AACT,IAAI,KAAK;AACT,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,OAAO;AACX,IAAI,SAAS;AACb,IAAI,SAAS;AACb,GAAG,CAAC;AACJ,CAAC;AACD;AACA,MAAM,gBAAgB,GAAG;AACzB,EAAE,CAAC,EAAE,GAAG;AACR,EAAE,CAAC,EAAE,GAAG;AACR,CAAC,CAAC;AACF,SAAS,0BAA0B,CAAC,eAAe,EAAE,mBAAmB,EAAE,IAAI,EAAE,YAAY,EAAE,mBAAmB,EAAE;AACnH,EAAE,IAAI;AACN,IAAI,GAAG;AACP,IAAI,IAAI;AACR,IAAI,KAAK;AACT,IAAI,MAAM;AACV,GAAG,GAAG,IAAI,CAAC;AACX;AACA,EAAE,IAAI,YAAY,KAAK,KAAK,CAAC,EAAE;AAC/B,IAAI,YAAY,GAAG,EAAE,CAAC;AACtB,GAAG;AACH;AACA,EAAE,IAAI,mBAAmB,KAAK,KAAK,CAAC,EAAE;AACtC,IAAI,mBAAmB,GAAG,gBAAgB,CAAC;AAC3C,GAAG;AACH;AACA,EAAE,MAAM;AACR,IAAI,KAAK;AACT,IAAI,QAAQ;AACZ,IAAI,MAAM;AACV,IAAI,OAAO;AACX,GAAG,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAC;AACzC,EAAE,MAAM,SAAS,GAAG;AACpB,IAAI,CAAC,EAAE,CAAC;AACR,IAAI,CAAC,EAAE,CAAC;AACR,GAAG,CAAC;AACJ,EAAE,MAAM,KAAK,GAAG;AAChB,IAAI,CAAC,EAAE,CAAC;AACR,IAAI,CAAC,EAAE,CAAC;AACR,GAAG,CAAC;AACJ,EAAE,MAAM,SAAS,GAAG;AACpB,IAAI,MAAM,EAAE,mBAAmB,CAAC,MAAM,GAAG,mBAAmB,CAAC,CAAC;AAC9D,IAAI,KAAK,EAAE,mBAAmB,CAAC,KAAK,GAAG,mBAAmB,CAAC,CAAC;AAC5D,GAAG,CAAC;AACJ;AACA,EAAE,IAAI,CAAC,KAAK,IAAI,GAAG,IAAI,mBAAmB,CAAC,GAAG,GAAG,SAAS,CAAC,MAAM,EAAE;AACnE;AACA,IAAI,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC;AACrC,IAAI,KAAK,CAAC,CAAC,GAAG,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,mBAAmB,CAAC,GAAG,GAAG,SAAS,CAAC,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC;AAC7G,GAAG,MAAM,IAAI,CAAC,QAAQ,IAAI,MAAM,IAAI,mBAAmB,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE;AACnF;AACA,IAAI,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;AACpC,IAAI,KAAK,CAAC,CAAC,GAAG,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,mBAAmB,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC;AACnH,GAAG;AACH;AACA,EAAE,IAAI,CAAC,OAAO,IAAI,KAAK,IAAI,mBAAmB,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE;AACxE;AACA,IAAI,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;AACpC,IAAI,KAAK,CAAC,CAAC,GAAG,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,mBAAmB,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,GAAG,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/G,GAAG,MAAM,IAAI,CAAC,MAAM,IAAI,IAAI,IAAI,mBAAmB,CAAC,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE;AAC5E;AACA,IAAI,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC;AACrC,IAAI,KAAK,CAAC,CAAC,GAAG,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,mBAAmB,CAAC,IAAI,GAAG,SAAS,CAAC,KAAK,GAAG,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;AAC7G,GAAG;AACH;AACA,EAAE,OAAO;AACT,IAAI,SAAS;AACb,IAAI,KAAK;AACT,GAAG,CAAC;AACJ,CAAC;AACD;AACA,SAAS,oBAAoB,CAAC,OAAO,EAAE;AACvC,EAAE,IAAI,OAAO,KAAK,QAAQ,CAAC,gBAAgB,EAAE;AAC7C,IAAI,MAAM;AACV,MAAM,UAAU;AAChB,MAAM,WAAW;AACjB,KAAK,GAAG,MAAM,CAAC;AACf,IAAI,OAAO;AACX,MAAM,GAAG,EAAE,CAAC;AACZ,MAAM,IAAI,EAAE,CAAC;AACb,MAAM,KAAK,EAAE,UAAU;AACvB,MAAM,MAAM,EAAE,WAAW;AACzB,MAAM,KAAK,EAAE,UAAU;AACvB,MAAM,MAAM,EAAE,WAAW;AACzB,KAAK,CAAC;AACN,GAAG;AACH;AACA,EAAE,MAAM;AACR,IAAI,GAAG;AACP,IAAI,IAAI;AACR,IAAI,KAAK;AACT,IAAI,MAAM;AACV,GAAG,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;AACtC,EAAE,OAAO;AACT,IAAI,GAAG;AACP,IAAI,IAAI;AACR,IAAI,KAAK;AACT,IAAI,MAAM;AACV,IAAI,KAAK,EAAE,OAAO,CAAC,WAAW;AAC9B,IAAI,MAAM,EAAE,OAAO,CAAC,YAAY;AAChC,GAAG,CAAC;AACJ,CAAC;AACD;AACA,SAAS,gBAAgB,CAAC,mBAAmB,EAAE;AAC/C,EAAE,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK;AACnD,IAAI,OAAO,GAAG,CAAC,GAAG,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;AAChD,GAAG,EAAE,kBAAkB,CAAC,CAAC;AACzB,CAAC;AACD,SAAS,gBAAgB,CAAC,mBAAmB,EAAE;AAC/C,EAAE,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK;AACnD,IAAI,OAAO,GAAG,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;AAC5C,GAAG,EAAE,CAAC,CAAC,CAAC;AACR,CAAC;AACD,SAAS,gBAAgB,CAAC,mBAAmB,EAAE;AAC/C,EAAE,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK;AACnD,IAAI,OAAO,GAAG,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;AAC5C,GAAG,EAAE,CAAC,CAAC,CAAC;AACR,CAAC;AACD;AACA,SAAS,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE;AAClD,EAAE,IAAI,OAAO,KAAK,KAAK,CAAC,EAAE;AAC1B,IAAI,OAAO,GAAG,aAAa,CAAC;AAC5B,GAAG;AACH;AACA,EAAE,IAAI,CAAC,OAAO,EAAE;AAChB,IAAI,OAAO;AACX,GAAG;AACH;AACA,EAAE,MAAM;AACR,IAAI,GAAG;AACP,IAAI,IAAI;AACR,IAAI,MAAM;AACV,IAAI,KAAK;AACT,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AACvB,EAAE,MAAM,uBAAuB,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;AACtE;AACA,EAAE,IAAI,CAAC,uBAAuB,EAAE;AAChC,IAAI,OAAO;AACX,GAAG;AACH;AACA,EAAE,IAAI,MAAM,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,GAAG,IAAI,MAAM,CAAC,WAAW,IAAI,IAAI,IAAI,MAAM,CAAC,UAAU,EAAE;AAC3F,IAAI,OAAO,CAAC,cAAc,CAAC;AAC3B,MAAM,KAAK,EAAE,QAAQ;AACrB,MAAM,MAAM,EAAE,QAAQ;AACtB,KAAK,CAAC,CAAC;AACP,GAAG;AACH,CAAC;AACD;AACA,MAAM,UAAU,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAC5G,MAAM,IAAI,CAAC;AACX,EAAE,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE;AAC7B,IAAI,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;AACvB,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;AACxB,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;AACzB,IAAI,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC;AACtB,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;AACzB,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;AACxB,IAAI,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;AACvB,IAAI,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChE,IAAI,MAAM,aAAa,GAAG,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;AAChE,IAAI,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI;AACzB,KAAK,CAAC;AACN,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;AAC5B,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AAC9B;AACA,IAAI,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,eAAe,CAAC,IAAI,UAAU,EAAE;AAC5D,MAAM,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;AAC9B,QAAQ,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE;AACzC,UAAU,GAAG,EAAE,MAAM;AACrB,YAAY,MAAM,cAAc,GAAG,eAAe,CAAC,mBAAmB,CAAC,CAAC;AACxE,YAAY,MAAM,mBAAmB,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC;AAC7E,YAAY,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAAC;AACxD,WAAW;AACX,UAAU,UAAU,EAAE,IAAI;AAC1B,SAAS,CAAC,CAAC;AACX,OAAO;AACP,KAAK;AACL;AACA,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE;AACxC,MAAM,UAAU,EAAE,KAAK;AACvB,KAAK,CAAC,CAAC;AACP,GAAG;AACH;AACA,CAAC;AACD;AACA,MAAM,SAAS,CAAC;AAChB,EAAE,WAAW,CAAC,MAAM,EAAE;AACtB,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;AACzB,IAAI,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;AACxB;AACA,IAAI,IAAI,CAAC,SAAS,GAAG,MAAM;AAC3B,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,IAAI;AACzC,QAAQ,IAAI,YAAY,CAAC;AACzB;AACA,QAAQ,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,YAAY,CAAC,mBAAmB,CAAC,GAAG,QAAQ,CAAC,CAAC;AAC7G,OAAO,CAAC,CAAC;AACT,KAAK,CAAC;AACN;AACA,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AACzB,GAAG;AACH;AACA,EAAE,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE;AACnC,IAAI,IAAI,aAAa,CAAC;AACtB;AACA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,aAAa,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACjH,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AACvD,GAAG;AACH;AACA,CAAC;AACD;AACA,SAAS,sBAAsB,CAAC,MAAM,EAAE;AACxC;AACA;AACA;AACA;AACA;AACA,EAAE,MAAM;AACR,IAAI,WAAW;AACf,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;AACxB,EAAE,OAAO,MAAM,YAAY,WAAW,GAAG,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAC3E,CAAC;AACD;AACA,SAAS,mBAAmB,CAAC,KAAK,EAAE,WAAW,EAAE;AACjD,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC/B,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC/B;AACA,EAAE,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;AACvC,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,GAAG,WAAW,CAAC;AACtD,GAAG;AACH;AACA,EAAE,IAAI,GAAG,IAAI,WAAW,IAAI,GAAG,IAAI,WAAW,EAAE;AAChD,IAAI,OAAO,EAAE,GAAG,WAAW,CAAC,CAAC,IAAI,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC;AACpD,GAAG;AACH;AACA,EAAE,IAAI,GAAG,IAAI,WAAW,EAAE;AAC1B,IAAI,OAAO,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC;AAC9B,GAAG;AACH;AACA,EAAE,IAAI,GAAG,IAAI,WAAW,EAAE;AAC1B,IAAI,OAAO,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC;AAC9B,GAAG;AACH;AACA,EAAE,OAAO,KAAK,CAAC;AACf,CAAC;AACD;AACA,IAAI,SAAS,CAAC;AACd;AACA,CAAC,UAAU,SAAS,EAAE;AACtB,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;AAC/B,EAAE,SAAS,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC;AACvC,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;AACnC,EAAE,SAAS,CAAC,aAAa,CAAC,GAAG,aAAa,CAAC;AAC3C,EAAE,SAAS,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;AACjC,EAAE,SAAS,CAAC,iBAAiB,CAAC,GAAG,iBAAiB,CAAC;AACnD,EAAE,SAAS,CAAC,kBAAkB,CAAC,GAAG,kBAAkB,CAAC;AACrD,CAAC,EAAE,SAAS,KAAK,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC;AAClC;AACA,SAAS,cAAc,CAAC,KAAK,EAAE;AAC/B,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC;AACzB,CAAC;AACD,SAAS,eAAe,CAAC,KAAK,EAAE;AAChC,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC;AAC1B,CAAC;AACD;AACA,IAAI,YAAY,CAAC;AACjB;AACA,CAAC,UAAU,YAAY,EAAE;AACzB,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;AAClC,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC;AACrC,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC;AACvC,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC;AACrC,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;AACjC,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC;AACjC,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;AAClC,CAAC,EAAE,YAAY,KAAK,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC;AACxC;AACA,MAAM,oBAAoB,GAAG;AAC7B,EAAE,KAAK,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC;AACjD,EAAE,MAAM,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC;AAC5B,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC;AAC/C,CAAC,CAAC;AACF,MAAM,+BAA+B,GAAG,CAAC,KAAK,EAAE,IAAI,KAAK;AACzD,EAAE,IAAI;AACN,IAAI,kBAAkB;AACtB,GAAG,GAAG,IAAI,CAAC;AACX;AACA,EAAE,QAAQ,KAAK,CAAC,IAAI;AACpB,IAAI,KAAK,YAAY,CAAC,KAAK;AAC3B,MAAM,OAAO,EAAE,GAAG,kBAAkB;AACpC,QAAQ,CAAC,EAAE,kBAAkB,CAAC,CAAC,GAAG,EAAE;AACpC,OAAO,CAAC;AACR;AACA,IAAI,KAAK,YAAY,CAAC,IAAI;AAC1B,MAAM,OAAO,EAAE,GAAG,kBAAkB;AACpC,QAAQ,CAAC,EAAE,kBAAkB,CAAC,CAAC,GAAG,EAAE;AACpC,OAAO,CAAC;AACR;AACA,IAAI,KAAK,YAAY,CAAC,IAAI;AAC1B,MAAM,OAAO,EAAE,GAAG,kBAAkB;AACpC,QAAQ,CAAC,EAAE,kBAAkB,CAAC,CAAC,GAAG,EAAE;AACpC,OAAO,CAAC;AACR;AACA,IAAI,KAAK,YAAY,CAAC,EAAE;AACxB,MAAM,OAAO,EAAE,GAAG,kBAAkB;AACpC,QAAQ,CAAC,EAAE,kBAAkB,CAAC,CAAC,GAAG,EAAE;AACpC,OAAO,CAAC;AACR,GAAG;AACH;AACA,EAAE,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AACF;AACA,MAAM,cAAc,CAAC;AACrB,EAAE,WAAW,CAAC,KAAK,EAAE;AACrB,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;AACxB,IAAI,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;AACnC,IAAI,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC,CAAC;AACvC,IAAI,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC;AAC5B,IAAI,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,CAAC;AAClC,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACvB,IAAI,MAAM;AACV,MAAM,KAAK,EAAE;AACb,QAAQ,MAAM;AACd,OAAO;AACP,KAAK,GAAG,KAAK,CAAC;AACd,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACvB,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;AAC7D,IAAI,IAAI,CAAC,eAAe,GAAG,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AAC5D,IAAI,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvD,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;AAClB,GAAG;AACH;AACA,EAAE,MAAM,GAAG;AACX,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;AACvB,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;AAClE,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;AAC5E,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;AAChF,GAAG;AACH;AACA,EAAE,WAAW,GAAG;AAChB,IAAI,MAAM;AACV,MAAM,UAAU;AAChB,MAAM,OAAO;AACb,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;AACnB,IAAI,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;AACzC;AACA,IAAI,IAAI,IAAI,EAAE;AACd,MAAM,sBAAsB,CAAC,IAAI,CAAC,CAAC;AACnC,KAAK;AACL;AACA,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAChC,GAAG;AACH;AACA,EAAE,aAAa,CAAC,KAAK,EAAE;AACvB,IAAI,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE;AAChC,MAAM,MAAM;AACZ,QAAQ,MAAM;AACd,QAAQ,OAAO;AACf,QAAQ,OAAO;AACf,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC;AACrB,MAAM,MAAM;AACZ,QAAQ,aAAa,GAAG,oBAAoB;AAC5C,QAAQ,gBAAgB,GAAG,+BAA+B;AAC1D,QAAQ,cAAc,GAAG,QAAQ;AACjC,OAAO,GAAG,OAAO,CAAC;AAClB,MAAM,MAAM;AACZ,QAAQ,IAAI;AACZ,OAAO,GAAG,KAAK,CAAC;AAChB;AACA,MAAM,IAAI,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;AAC5C,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC9B,QAAQ,OAAO;AACf,OAAO;AACP;AACA,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;AAC/C,QAAQ,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AACjC,QAAQ,OAAO;AACf,OAAO;AACP;AACA,MAAM,MAAM;AACZ,QAAQ,aAAa;AACrB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;AAC1B,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG;AACjD,QAAQ,CAAC,EAAE,aAAa,CAAC,IAAI;AAC7B,QAAQ,CAAC,EAAE,aAAa,CAAC,GAAG;AAC5B,OAAO,GAAG,kBAAkB,CAAC;AAC7B;AACA,MAAM,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;AACtC,QAAQ,IAAI,CAAC,oBAAoB,GAAG,kBAAkB,CAAC;AACvD,OAAO;AACP;AACA,MAAM,MAAM,cAAc,GAAG,gBAAgB,CAAC,KAAK,EAAE;AACrD,QAAQ,MAAM;AACd,QAAQ,OAAO,EAAE,OAAO,CAAC,OAAO;AAChC,QAAQ,kBAAkB;AAC1B,OAAO,CAAC,CAAC;AACT;AACA,MAAM,IAAI,cAAc,EAAE;AAC1B,QAAQ,MAAM,gBAAgB,GAAG,QAAQ,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;AAC9E,QAAQ,MAAM,WAAW,GAAG;AAC5B,UAAU,CAAC,EAAE,CAAC;AACd,UAAU,CAAC,EAAE,CAAC;AACd,SAAS,CAAC;AACV,QAAQ,MAAM;AACd,UAAU,mBAAmB;AAC7B,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;AAC5B;AACA,QAAQ,KAAK,MAAM,eAAe,IAAI,mBAAmB,EAAE;AAC3D,UAAU,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;AACvC,UAAU,MAAM;AAChB,YAAY,KAAK;AACjB,YAAY,OAAO;AACnB,YAAY,MAAM;AAClB,YAAY,QAAQ;AACpB,YAAY,SAAS;AACrB,YAAY,SAAS;AACrB,WAAW,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAC;AACjD,UAAU,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,eAAe,CAAC,CAAC;AAC1E,UAAU,MAAM,kBAAkB,GAAG;AACrC,YAAY,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,KAAK,YAAY,CAAC,KAAK,GAAG,iBAAiB,CAAC,KAAK,GAAG,iBAAiB,CAAC,KAAK,GAAG,CAAC,GAAG,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,KAAK,YAAY,CAAC,KAAK,GAAG,iBAAiB,CAAC,IAAI,GAAG,iBAAiB,CAAC,IAAI,GAAG,iBAAiB,CAAC,KAAK,GAAG,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;AACzR,YAAY,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,KAAK,YAAY,CAAC,IAAI,GAAG,iBAAiB,CAAC,MAAM,GAAG,iBAAiB,CAAC,MAAM,GAAG,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,KAAK,YAAY,CAAC,IAAI,GAAG,iBAAiB,CAAC,GAAG,GAAG,iBAAiB,CAAC,GAAG,GAAG,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;AACzR,WAAW,CAAC;AACZ,UAAU,MAAM,UAAU,GAAG,SAAS,KAAK,YAAY,CAAC,KAAK,IAAI,CAAC,OAAO,IAAI,SAAS,KAAK,YAAY,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC;AACxH,UAAU,MAAM,UAAU,GAAG,SAAS,KAAK,YAAY,CAAC,IAAI,IAAI,CAAC,QAAQ,IAAI,SAAS,KAAK,YAAY,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC;AACrH;AACA,UAAU,IAAI,UAAU,IAAI,kBAAkB,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,EAAE;AACvE,YAAY,MAAM,oBAAoB,GAAG,eAAe,CAAC,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC;AACzF,YAAY,MAAM,yBAAyB,GAAG,SAAS,KAAK,YAAY,CAAC,KAAK,IAAI,oBAAoB,IAAI,SAAS,CAAC,CAAC,IAAI,SAAS,KAAK,YAAY,CAAC,IAAI,IAAI,oBAAoB,IAAI,SAAS,CAAC,CAAC,CAAC;AAChM;AACA,YAAY,IAAI,yBAAyB,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE;AAClE;AACA;AACA,cAAc,eAAe,CAAC,QAAQ,CAAC;AACvC,gBAAgB,IAAI,EAAE,oBAAoB;AAC1C,gBAAgB,QAAQ,EAAE,cAAc;AACxC,eAAe,CAAC,CAAC;AACjB,cAAc,OAAO;AACrB,aAAa;AACb;AACA,YAAY,IAAI,yBAAyB,EAAE;AAC3C,cAAc,WAAW,CAAC,CAAC,GAAG,eAAe,CAAC,UAAU,GAAG,oBAAoB,CAAC;AAChF,aAAa,MAAM;AACnB,cAAc,WAAW,CAAC,CAAC,GAAG,SAAS,KAAK,YAAY,CAAC,KAAK,GAAG,eAAe,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC,GAAG,eAAe,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC;AACrJ,aAAa;AACb;AACA,YAAY,IAAI,WAAW,CAAC,CAAC,EAAE;AAC/B,cAAc,eAAe,CAAC,QAAQ,CAAC;AACvC,gBAAgB,IAAI,EAAE,CAAC,WAAW,CAAC,CAAC;AACpC,gBAAgB,QAAQ,EAAE,cAAc;AACxC,eAAe,CAAC,CAAC;AACjB,aAAa;AACb;AACA,YAAY,MAAM;AAClB,WAAW,MAAM,IAAI,UAAU,IAAI,kBAAkB,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,EAAE;AAC9E,YAAY,MAAM,oBAAoB,GAAG,eAAe,CAAC,SAAS,GAAG,gBAAgB,CAAC,CAAC,CAAC;AACxF,YAAY,MAAM,yBAAyB,GAAG,SAAS,KAAK,YAAY,CAAC,IAAI,IAAI,oBAAoB,IAAI,SAAS,CAAC,CAAC,IAAI,SAAS,KAAK,YAAY,CAAC,EAAE,IAAI,oBAAoB,IAAI,SAAS,CAAC,CAAC,CAAC;AAC7L;AACA,YAAY,IAAI,yBAAyB,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE;AAClE;AACA;AACA,cAAc,eAAe,CAAC,QAAQ,CAAC;AACvC,gBAAgB,GAAG,EAAE,oBAAoB;AACzC,gBAAgB,QAAQ,EAAE,cAAc;AACxC,eAAe,CAAC,CAAC;AACjB,cAAc,OAAO;AACrB,aAAa;AACb;AACA,YAAY,IAAI,yBAAyB,EAAE;AAC3C,cAAc,WAAW,CAAC,CAAC,GAAG,eAAe,CAAC,SAAS,GAAG,oBAAoB,CAAC;AAC/E,aAAa,MAAM;AACnB,cAAc,WAAW,CAAC,CAAC,GAAG,SAAS,KAAK,YAAY,CAAC,IAAI,GAAG,eAAe,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,GAAG,eAAe,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC;AAClJ,aAAa;AACb;AACA,YAAY,IAAI,WAAW,CAAC,CAAC,EAAE;AAC/B,cAAc,eAAe,CAAC,QAAQ,CAAC;AACvC,gBAAgB,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC;AACnC,gBAAgB,QAAQ,EAAE,cAAc;AACxC,eAAe,CAAC,CAAC;AACjB,aAAa;AACb;AACA,YAAY,MAAM;AAClB,WAAW;AACX,SAAS;AACT;AACA,QAAQ,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,oBAAoB,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;AACtG,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA,EAAE,UAAU,CAAC,KAAK,EAAE,WAAW,EAAE;AACjC,IAAI,MAAM;AACV,MAAM,MAAM;AACZ,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;AACnB,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;AAC3B,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC;AACxB,GAAG;AACH;AACA,EAAE,SAAS,CAAC,KAAK,EAAE;AACnB,IAAI,MAAM;AACV,MAAM,KAAK;AACX,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;AACnB,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;AAC3B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;AAClB,IAAI,KAAK,EAAE,CAAC;AACZ,GAAG;AACH;AACA,EAAE,YAAY,CAAC,KAAK,EAAE;AACtB,IAAI,MAAM;AACV,MAAM,QAAQ;AACd,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;AACnB,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;AAC3B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;AAClB,IAAI,QAAQ,EAAE,CAAC;AACf,GAAG;AACH;AACA,EAAE,MAAM,GAAG;AACX,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;AAC/B,IAAI,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;AACrC,GAAG;AACH;AACA,CAAC;AACD,cAAc,CAAC,UAAU,GAAG,CAAC;AAC7B,EAAE,SAAS,EAAE,WAAW;AACxB,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,KAAK;AACnC,IAAI,IAAI;AACR,MAAM,aAAa,GAAG,oBAAoB;AAC1C,MAAM,YAAY;AAClB,KAAK,GAAG,IAAI,CAAC;AACb,IAAI,IAAI;AACR,MAAM,MAAM;AACZ,KAAK,GAAG,KAAK,CAAC;AACd,IAAI,MAAM;AACV,MAAM,IAAI;AACV,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC;AAC1B;AACA,IAAI,IAAI,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;AAC5C,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;AACrD;AACA,MAAM,IAAI,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE;AACnD,QAAQ,OAAO,KAAK,CAAC;AACrB,OAAO;AACP;AACA,MAAM,KAAK,CAAC,cAAc,EAAE,CAAC;AAC7B,MAAM,YAAY,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,YAAY,CAAC;AACnD,QAAQ,KAAK,EAAE,KAAK,CAAC,WAAW;AAChC,OAAO,CAAC,CAAC;AACT,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK;AACL;AACA,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH,CAAC,CAAC,CAAC;AACH;AACA,SAAS,oBAAoB,CAAC,UAAU,EAAE;AAC1C,EAAE,OAAO,OAAO,CAAC,UAAU,IAAI,UAAU,IAAI,UAAU,CAAC,CAAC;AACzD,CAAC;AACD;AACA,SAAS,iBAAiB,CAAC,UAAU,EAAE;AACvC,EAAE,OAAO,OAAO,CAAC,UAAU,IAAI,OAAO,IAAI,UAAU,CAAC,CAAC;AACtD,CAAC;AACD;AACA,MAAM,qBAAqB,CAAC;AAC5B,EAAE,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE;AAC7C,IAAI,IAAI,oBAAoB,CAAC;AAC7B;AACA,IAAI,IAAI,cAAc,KAAK,KAAK,CAAC,EAAE;AACnC,MAAM,cAAc,GAAG,sBAAsB,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAClE,KAAK;AACL;AACA,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;AACxB,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;AACzB,IAAI,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;AAClC,IAAI,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;AAC3B,IAAI,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;AAC3B,IAAI,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,CAAC;AACrC,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AAC1B,IAAI,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC;AAC5B,IAAI,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,CAAC;AACpC,IAAI,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,CAAC;AAClC,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACvB,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AACzB,IAAI,MAAM;AACV,MAAM,KAAK;AACX,KAAK,GAAG,KAAK,CAAC;AACd,IAAI,MAAM;AACV,MAAM,MAAM;AACZ,KAAK,GAAG,KAAK,CAAC;AACd,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACvB,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AACzB,IAAI,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAC7C,IAAI,IAAI,CAAC,iBAAiB,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC1D,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,cAAc,CAAC,CAAC;AACnD,IAAI,IAAI,CAAC,eAAe,GAAG,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AAC5D,IAAI,IAAI,CAAC,kBAAkB,GAAG,CAAC,oBAAoB,GAAG,mBAAmB,CAAC,KAAK,CAAC,KAAK,IAAI,GAAG,oBAAoB,GAAG,kBAAkB,CAAC;AACtI,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnD,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjD,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/C,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrD,IAAI,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvD,IAAI,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;AAClB,GAAG;AACH;AACA,EAAE,MAAM,GAAG;AACX,IAAI,MAAM;AACV,MAAM,MAAM;AACZ,MAAM,KAAK,EAAE;AACb,QAAQ,OAAO,EAAE;AACjB,UAAU,oBAAoB;AAC9B,SAAS;AACT,OAAO;AACP,KAAK,GAAG,IAAI,CAAC;AACb,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;AAC1D,MAAM,OAAO,EAAE,KAAK;AACpB,KAAK,CAAC,CAAC;AACP,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;AACxD,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;AAClE,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;AAClE,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;AAC5E,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;AACpE,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;AACtE;AACA,IAAI,IAAI,oBAAoB,EAAE;AAC9B,MAAM,IAAI,oBAAoB,CAAC,oBAAoB,CAAC,EAAE;AACtD,QAAQ,OAAO;AACf,OAAO;AACP;AACA,MAAM,IAAI,iBAAiB,CAAC,oBAAoB,CAAC,EAAE;AACnD,QAAQ,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,oBAAoB,CAAC,KAAK,CAAC,CAAC;AAClF,QAAQ,OAAO;AACf,OAAO;AACP,KAAK;AACL;AACA,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;AACvB,GAAG;AACH;AACA,EAAE,MAAM,GAAG;AACX,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;AAC/B,IAAI,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;AACrC;AACA;AACA,IAAI,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AACrD;AACA,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;AACjC,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACnC,MAAM,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AAC5B,KAAK;AACL,GAAG;AACH;AACA,EAAE,WAAW,GAAG;AAChB,IAAI,MAAM;AACV,MAAM,kBAAkB;AACxB,KAAK,GAAG,IAAI,CAAC;AACb,IAAI,MAAM;AACV,MAAM,OAAO;AACb,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;AACnB;AACA,IAAI,IAAI,kBAAkB,EAAE;AAC5B,MAAM,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AAC5B;AACA,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,eAAe,EAAE;AACnE,QAAQ,OAAO,EAAE,IAAI;AACrB,OAAO,CAAC,CAAC;AACT;AACA,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;AACjC;AACA,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;AACtF,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAClC,KAAK;AACL,GAAG;AACH;AACA,EAAE,UAAU,CAAC,KAAK,EAAE;AACpB,IAAI,IAAI,qBAAqB,CAAC;AAC9B;AACA,IAAI,MAAM;AACV,MAAM,SAAS;AACf,MAAM,kBAAkB;AACxB,MAAM,KAAK;AACX,KAAK,GAAG,IAAI,CAAC;AACb,IAAI,MAAM;AACV,MAAM,MAAM;AACZ,MAAM,OAAO,EAAE;AACf,QAAQ,oBAAoB;AAC5B,OAAO;AACP,KAAK,GAAG,KAAK,CAAC;AACd;AACA,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC7B,MAAM,OAAO;AACb,KAAK;AACL;AACA,IAAI,MAAM,WAAW,GAAG,CAAC,qBAAqB,GAAG,mBAAmB,CAAC,KAAK,CAAC,KAAK,IAAI,GAAG,qBAAqB,GAAG,kBAAkB,CAAC;AAClI,IAAI,MAAM,KAAK,GAAG,QAAQ,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;AAC5D;AACA,IAAI,IAAI,CAAC,SAAS,IAAI,oBAAoB,EAAE;AAC5C;AACA,MAAM,IAAI,iBAAiB,CAAC,oBAAoB,CAAC,EAAE;AACnD,QAAQ,IAAI,mBAAmB,CAAC,KAAK,EAAE,oBAAoB,CAAC,SAAS,CAAC,EAAE;AACxE,UAAU,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;AACrC,SAAS;AACT;AACA,QAAQ,OAAO;AACf,OAAO;AACP;AACA,MAAM,IAAI,oBAAoB,CAAC,oBAAoB,CAAC,EAAE;AACtD,QAAQ,IAAI,oBAAoB,CAAC,SAAS,IAAI,IAAI,IAAI,mBAAmB,CAAC,KAAK,EAAE,oBAAoB,CAAC,SAAS,CAAC,EAAE;AAClH,UAAU,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;AACrC,SAAS;AACT;AACA,QAAQ,IAAI,mBAAmB,CAAC,KAAK,EAAE,oBAAoB,CAAC,QAAQ,CAAC,EAAE;AACvE,UAAU,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;AACpC,SAAS;AACT;AACA,QAAQ,OAAO;AACf,OAAO;AACP,KAAK;AACL;AACA,IAAI,IAAI,KAAK,CAAC,UAAU,EAAE;AAC1B,MAAM,KAAK,CAAC,cAAc,EAAE,CAAC;AAC7B,KAAK;AACL;AACA,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC;AACxB,GAAG;AACH;AACA,EAAE,SAAS,GAAG;AACd,IAAI,MAAM;AACV,MAAM,KAAK;AACX,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;AACnB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;AAClB,IAAI,KAAK,EAAE,CAAC;AACZ,GAAG;AACH;AACA,EAAE,YAAY,GAAG;AACjB,IAAI,MAAM;AACV,MAAM,QAAQ;AACd,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;AACnB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;AAClB,IAAI,QAAQ,EAAE,CAAC;AACf,GAAG;AACH;AACA,EAAE,aAAa,CAAC,KAAK,EAAE;AACvB,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,GAAG,EAAE;AACzC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;AAC1B,KAAK;AACL,GAAG;AACH;AACA,EAAE,mBAAmB,GAAG;AACxB,IAAI,IAAI,qBAAqB,CAAC;AAC9B;AACA,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,qBAAqB,CAAC,eAAe,EAAE,CAAC;AACtH,GAAG;AACH;AACA,CAAC;AACD;AACA,MAAM,MAAM,GAAG;AACf,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,aAAa;AACvB,GAAG;AACH,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,WAAW;AACrB,GAAG;AACH,CAAC,CAAC;AACF,MAAM,aAAa,SAAS,qBAAqB,CAAC;AAClD,EAAE,WAAW,CAAC,KAAK,EAAE;AACrB,IAAI,MAAM;AACV,MAAM,KAAK;AACX,KAAK,GAAG,KAAK,CAAC;AACd;AACA;AACA,IAAI,MAAM,cAAc,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC1D,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;AACzC,GAAG;AACH;AACA,CAAC;AACD,aAAa,CAAC,UAAU,GAAG,CAAC;AAC5B,EAAE,SAAS,EAAE,eAAe;AAC5B,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK;AAC5B,IAAI,IAAI;AACR,MAAM,WAAW,EAAE,KAAK;AACxB,KAAK,GAAG,IAAI,CAAC;AACb,IAAI,IAAI;AACR,MAAM,YAAY;AAClB,KAAK,GAAG,KAAK,CAAC;AACd;AACA,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AAChD,MAAM,OAAO,KAAK,CAAC;AACnB,KAAK;AACL;AACA,IAAI,YAAY,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,YAAY,CAAC;AACjD,MAAM,KAAK;AACX,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH,CAAC,CAAC,CAAC;AACH;AACA,MAAM,QAAQ,GAAG;AACjB,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,WAAW;AACrB,GAAG;AACH,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,SAAS;AACnB,GAAG;AACH,CAAC,CAAC;AACF,IAAI,WAAW,CAAC;AAChB;AACA,CAAC,UAAU,WAAW,EAAE;AACxB,EAAE,WAAW,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC;AAC5D,CAAC,EAAE,WAAW,KAAK,WAAW,GAAG,EAAE,CAAC,CAAC,CAAC;AACtC;AACA,MAAM,WAAW,SAAS,qBAAqB,CAAC;AAChD,EAAE,WAAW,CAAC,KAAK,EAAE;AACrB,IAAI,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AACjE,GAAG;AACH;AACA,CAAC;AACD,WAAW,CAAC,UAAU,GAAG,CAAC;AAC1B,EAAE,SAAS,EAAE,aAAa;AAC1B,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK;AAC5B,IAAI,IAAI;AACR,MAAM,WAAW,EAAE,KAAK;AACxB,KAAK,GAAG,IAAI,CAAC;AACb,IAAI,IAAI;AACR,MAAM,YAAY;AAClB,KAAK,GAAG,KAAK,CAAC;AACd;AACA,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,CAAC,UAAU,EAAE;AACjD,MAAM,OAAO,KAAK,CAAC;AACnB,KAAK;AACL;AACA,IAAI,YAAY,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,YAAY,CAAC;AACjD,MAAM,KAAK;AACX,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH,CAAC,CAAC,CAAC;AACH;AACA,MAAM,QAAQ,GAAG;AACjB,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,WAAW;AACrB,GAAG;AACH,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,UAAU;AACpB,GAAG;AACH,CAAC,CAAC;AACF,MAAM,WAAW,SAAS,qBAAqB,CAAC;AAChD,EAAE,WAAW,CAAC,KAAK,EAAE;AACrB,IAAI,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC3B,GAAG;AACH;AACA,EAAE,OAAO,KAAK,GAAG;AACjB;AACA;AACA;AACA,IAAI,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE;AACtD,MAAM,OAAO,EAAE,KAAK;AACpB,MAAM,OAAO,EAAE,KAAK;AACpB,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,SAAS,QAAQ,GAAG;AAC/B,MAAM,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC3D,KAAK,CAAC;AACN;AACA;AACA,IAAI,SAAS,IAAI,GAAG,EAAE;AACtB,GAAG;AACH;AACA,CAAC;AACD,WAAW,CAAC,UAAU,GAAG,CAAC;AAC1B,EAAE,SAAS,EAAE,cAAc;AAC3B,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK;AAC5B,IAAI,IAAI;AACR,MAAM,WAAW,EAAE,KAAK;AACxB,KAAK,GAAG,IAAI,CAAC;AACb,IAAI,IAAI;AACR,MAAM,YAAY;AAClB,KAAK,GAAG,KAAK,CAAC;AACd,IAAI,MAAM;AACV,MAAM,OAAO;AACb,KAAK,GAAG,KAAK,CAAC;AACd;AACA,IAAI,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;AAC5B,MAAM,OAAO,KAAK,CAAC;AACnB,KAAK;AACL;AACA,IAAI,YAAY,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,YAAY,CAAC;AACjD,MAAM,KAAK;AACX,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH,CAAC,CAAC,CAAC;AACH;AACA,IAAI,mBAAmB,CAAC;AACxB;AACA,CAAC,UAAU,mBAAmB,EAAE;AAChC,EAAE,mBAAmB,CAAC,mBAAmB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;AACtE,EAAE,mBAAmB,CAAC,mBAAmB,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,eAAe,CAAC;AAClF,CAAC,EAAE,mBAAmB,KAAK,mBAAmB,GAAG,EAAE,CAAC,CAAC,CAAC;AACtD;AACA,IAAI,cAAc,CAAC;AACnB;AACA,CAAC,UAAU,cAAc,EAAE;AAC3B,EAAE,cAAc,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC;AAChE,EAAE,cAAc,CAAC,cAAc,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,GAAG,mBAAmB,CAAC;AAChF,CAAC,EAAE,cAAc,KAAK,cAAc,GAAG,EAAE,CAAC,CAAC,CAAC;AAC5C;AACA,SAAS,eAAe,CAAC,IAAI,EAAE;AAC/B,EAAE,IAAI;AACN,IAAI,YAAY;AAChB,IAAI,SAAS,GAAG,mBAAmB,CAAC,OAAO;AAC3C,IAAI,SAAS;AACb,IAAI,YAAY;AAChB,IAAI,OAAO;AACX,IAAI,QAAQ,GAAG,CAAC;AAChB,IAAI,KAAK,GAAG,cAAc,CAAC,SAAS;AACpC,IAAI,kBAAkB;AACtB,IAAI,mBAAmB;AACvB,IAAI,uBAAuB;AAC3B,IAAI,KAAK;AACT,IAAI,SAAS;AACb,GAAG,GAAG,IAAI,CAAC;AACX,EAAE,MAAM,YAAY,GAAG,eAAe,CAAC;AACvC,IAAI,KAAK;AACT,IAAI,QAAQ,EAAE,CAAC,OAAO;AACtB,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,CAAC,qBAAqB,EAAE,uBAAuB,CAAC,GAAG,WAAW,EAAE,CAAC;AACzE,EAAE,MAAM,WAAW,GAAG7c,YAAM,CAAC;AAC7B,IAAI,CAAC,EAAE,CAAC;AACR,IAAI,CAAC,EAAE,CAAC;AACR,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,eAAe,GAAGA,YAAM,CAAC;AACjC,IAAI,CAAC,EAAE,CAAC;AACR,IAAI,CAAC,EAAE,CAAC;AACR,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,IAAI,GAAG2X,aAAO,CAAC,MAAM;AAC7B,IAAI,QAAQ,SAAS;AACrB,MAAM,KAAK,mBAAmB,CAAC,OAAO;AACtC,QAAQ,OAAO,kBAAkB,GAAG;AACpC,UAAU,GAAG,EAAE,kBAAkB,CAAC,CAAC;AACnC,UAAU,MAAM,EAAE,kBAAkB,CAAC,CAAC;AACtC,UAAU,IAAI,EAAE,kBAAkB,CAAC,CAAC;AACpC,UAAU,KAAK,EAAE,kBAAkB,CAAC,CAAC;AACrC,SAAS,GAAG,IAAI,CAAC;AACjB;AACA,MAAM,KAAK,mBAAmB,CAAC,aAAa;AAC5C,QAAQ,OAAO,YAAY,CAAC;AAC5B,KAAK;AACL,GAAG,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAAC,CAAC;AACpD,EAAE,MAAM,kBAAkB,GAAG3X,YAAM,CAAC,IAAI,CAAC,CAAC;AAC1C,EAAE,MAAM,UAAU,GAAGyc,iBAAW,CAAC,MAAM;AACvC,IAAI,MAAM,eAAe,GAAG,kBAAkB,CAAC,OAAO,CAAC;AACvD;AACA,IAAI,IAAI,CAAC,eAAe,EAAE;AAC1B,MAAM,OAAO;AACb,KAAK;AACL;AACA,IAAI,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;AACzE,IAAI,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;AACxE,IAAI,eAAe,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;AACpD,GAAG,EAAE,EAAE,CAAC,CAAC;AACT,EAAE,MAAM,yBAAyB,GAAG9E,aAAO,CAAC,MAAM,KAAK,KAAK,cAAc,CAAC,SAAS,GAAG,CAAC,GAAG,mBAAmB,CAAC,CAAC,OAAO,EAAE,GAAG,mBAAmB,EAAE,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAC/K,EAAEra,eAAS,CAAC,MAAM;AAClB,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE;AAC1D,MAAM,uBAAuB,EAAE,CAAC;AAChC,MAAM,OAAO;AACb,KAAK;AACL;AACA,IAAI,KAAK,MAAM,eAAe,IAAI,yBAAyB,EAAE;AAC7D,MAAM,IAAI,CAAC,SAAS,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,SAAS,CAAC,eAAe,CAAC,MAAM,KAAK,EAAE;AAC/E,QAAQ,SAAS;AACjB,OAAO;AACP;AACA,MAAM,MAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;AACjE,MAAM,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;AACjE;AACA,MAAM,IAAI,CAAC,mBAAmB,EAAE;AAChC,QAAQ,SAAS;AACjB,OAAO;AACP;AACA,MAAM,MAAM;AACZ,QAAQ,SAAS;AACjB,QAAQ,KAAK;AACb,OAAO,GAAG,0BAA0B,CAAC,eAAe,EAAE,mBAAmB,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;AAC1G;AACA,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;AACrC,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE;AAClD,UAAU,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1B,UAAU,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC9B,SAAS;AACT,OAAO;AACP;AACA,MAAM,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE;AACtC,QAAQ,uBAAuB,EAAE,CAAC;AAClC,QAAQ,kBAAkB,CAAC,OAAO,GAAG,eAAe,CAAC;AACrD,QAAQ,qBAAqB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AACpD,QAAQ,WAAW,CAAC,OAAO,GAAG,KAAK,CAAC;AACpC,QAAQ,eAAe,CAAC,OAAO,GAAG,SAAS,CAAC;AAC5C,QAAQ,OAAO;AACf,OAAO;AACP,KAAK;AACL;AACA,IAAI,WAAW,CAAC,OAAO,GAAG;AAC1B,MAAM,CAAC,EAAE,CAAC;AACV,MAAM,CAAC,EAAE,CAAC;AACV,KAAK,CAAC;AACN,IAAI,eAAe,CAAC,OAAO,GAAG;AAC9B,MAAM,CAAC,EAAE,CAAC;AACV,MAAM,CAAC,EAAE,CAAC;AACV,KAAK,CAAC;AACN,IAAI,uBAAuB,EAAE,CAAC;AAC9B,GAAG;AACH,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,uBAAuB,EAAE,OAAO,EAAE,QAAQ;AAClF,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;AACtB,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,uBAAuB;AAC9H,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC;AACD,MAAM,mBAAmB,GAAG;AAC5B,EAAE,CAAC,EAAE;AACL,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,KAAK;AAC/B,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,KAAK;AAC9B,GAAG;AACH,EAAE,CAAC,EAAE;AACL,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,KAAK;AAC/B,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,KAAK;AAC9B,GAAG;AACH,CAAC,CAAC;AACF;AACA,SAAS,eAAe,CAAC,KAAK,EAAE;AAChC,EAAE,IAAI;AACN,IAAI,KAAK;AACT,IAAI,QAAQ;AACZ,GAAG,GAAG,KAAK,CAAC;AACZ,EAAE,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;AAC3C,EAAE,OAAO,WAAW,CAAC,cAAc,IAAI;AACvC,IAAI,IAAI,QAAQ,IAAI,CAAC,aAAa,IAAI,CAAC,cAAc,EAAE;AACvD;AACA,MAAM,OAAO,mBAAmB,CAAC;AACjC,KAAK;AACL;AACA,IAAI,MAAM,SAAS,GAAG;AACtB,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC;AAC7C,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC;AAC7C,KAAK,CAAC;AACN;AACA,IAAI,OAAO;AACX,MAAM,CAAC,EAAE;AACT,QAAQ,CAAC,SAAS,CAAC,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC;AACxF,QAAQ,CAAC,SAAS,CAAC,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,CAAC,KAAK,CAAC;AACrF,OAAO;AACP,MAAM,CAAC,EAAE;AACT,QAAQ,CAAC,SAAS,CAAC,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC;AACxF,QAAQ,CAAC,SAAS,CAAC,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,CAAC,KAAK,CAAC;AACrF,OAAO;AACP,KAAK,CAAC;AACN,GAAG,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;AACvC,CAAC;AACD;AACA,SAAS,aAAa,CAAC,cAAc,EAAE,EAAE,EAAE;AAC3C,EAAE,MAAM,aAAa,GAAG,EAAE,KAAK,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC;AACzE,EAAE,MAAM,IAAI,GAAG,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACjE,EAAE,OAAO,WAAW,CAAC,UAAU,IAAI;AACnC,IAAI,IAAI,IAAI,CAAC;AACb;AACA,IAAI,IAAI,EAAE,KAAK,IAAI,EAAE;AACrB,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK;AACL;AACA;AACA;AACA;AACA,IAAI,OAAO,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,UAAU,KAAK,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAC3E,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;AACjB,CAAC;AACD;AACA,SAAS,oBAAoB,CAAC,OAAO,EAAE,mBAAmB,EAAE;AAC5D,EAAE,OAAOqa,aAAO,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,MAAM,KAAK;AAC/D,IAAI,MAAM;AACV,MAAM,MAAM,EAAE,MAAM;AACpB,KAAK,GAAG,MAAM,CAAC;AACf,IAAI,MAAM,gBAAgB,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,KAAK;AACjE,MAAM,SAAS,EAAE,SAAS,CAAC,SAAS;AACpC,MAAM,OAAO,EAAE,mBAAmB,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;AAC7D,KAAK,CAAC,CAAC,CAAC;AACR,IAAI,OAAO,CAAC,GAAG,WAAW,EAAE,GAAG,gBAAgB,CAAC,CAAC;AACjD,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAC1C,CAAC;AACD;AACA,IAAI,iBAAiB,CAAC;AACtB;AACA,CAAC,UAAU,iBAAiB,EAAE;AAC9B,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC;AAChE,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,GAAG,gBAAgB,CAAC;AAChF,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,eAAe,CAAC;AAC9E,CAAC,EAAE,iBAAiB,KAAK,iBAAiB,GAAG,EAAE,CAAC,CAAC,CAAC;AAClD;AACA,IAAI,kBAAkB,CAAC;AACvB;AACA,CAAC,UAAU,kBAAkB,EAAE;AAC/B,EAAE,kBAAkB,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC;AAChD,CAAC,EAAE,kBAAkB,KAAK,kBAAkB,GAAG,EAAE,CAAC,CAAC,CAAC;AACpD;AACA,MAAM,YAAY,gBAAgB,IAAI,GAAG,EAAE,CAAC;AAC5C,SAAS,qBAAqB,CAAC,UAAU,EAAE,IAAI,EAAE;AACjD,EAAE,IAAI;AACN,IAAI,QAAQ;AACZ,IAAI,YAAY;AAChB,IAAI,MAAM;AACV,GAAG,GAAG,IAAI,CAAC;AACX,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG/X,cAAQ,CAAC,IAAI,CAAC,CAAC;AAC3C,EAAE,MAAM;AACR,IAAI,SAAS;AACb,IAAI,OAAO;AACX,IAAI,QAAQ;AACZ,GAAG,GAAG,MAAM,CAAC;AACb,EAAE,MAAM,aAAa,GAAGI,YAAM,CAAC,UAAU,CAAC,CAAC;AAC3C,EAAE,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAC;AAChC,EAAE,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;AAC/C,EAAE,MAAM,0BAA0B,GAAGyc,iBAAW,CAAC,UAAU,GAAG,EAAE;AAChE,IAAI,IAAI,GAAG,KAAK,KAAK,CAAC,EAAE;AACxB,MAAM,GAAG,GAAG,EAAE,CAAC;AACf,KAAK;AACL;AACA,IAAI,IAAI,WAAW,CAAC,OAAO,EAAE;AAC7B,MAAM,OAAO;AACb,KAAK;AACL;AACA,IAAI,QAAQ,CAAC,KAAK,IAAI;AACtB,MAAM,IAAI,KAAK,KAAK,IAAI,EAAE;AAC1B,QAAQ,OAAO,GAAG,CAAC;AACnB,OAAO;AACP;AACA,MAAM,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACjE,KAAK,CAAC,CAAC;AACP,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;AACpB,EAAE,MAAM,SAAS,GAAGzc,YAAM,CAAC,IAAI,CAAC,CAAC;AACjC,EAAE,MAAM,cAAc,GAAG,WAAW,CAAC,aAAa,IAAI;AACtD,IAAI,IAAI,QAAQ,IAAI,CAAC,QAAQ,EAAE;AAC/B,MAAM,OAAO,YAAY,CAAC;AAC1B,KAAK;AACL;AACA,IAAI,IAAI,CAAC,aAAa,IAAI,aAAa,KAAK,YAAY,IAAI,aAAa,CAAC,OAAO,KAAK,UAAU,IAAI,KAAK,IAAI,IAAI,EAAE;AACnH,MAAM,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;AAC5B;AACA,MAAM,KAAK,IAAI,SAAS,IAAI,UAAU,EAAE;AACxC,QAAQ,IAAI,CAAC,SAAS,EAAE;AACxB,UAAU,SAAS;AACnB,SAAS;AACT;AACA,QAAQ,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE;AAClG;AACA,UAAU,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACxD,UAAU,SAAS;AACnB,SAAS;AACT;AACA,QAAQ,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;AAC5C,QAAQ,MAAM,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC;AACjE,QAAQ,SAAS,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACtC;AACA,QAAQ,IAAI,IAAI,EAAE;AAClB,UAAU,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;AACtC,SAAS;AACT,OAAO;AACP;AACA,MAAM,OAAO,GAAG,CAAC;AACjB,KAAK;AACL;AACA,IAAI,OAAO,aAAa,CAAC;AACzB,GAAG,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AACvD,EAAE1C,eAAS,CAAC,MAAM;AAClB,IAAI,aAAa,CAAC,OAAO,GAAG,UAAU,CAAC;AACvC,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;AACnB,EAAEA,eAAS,CAAC,MAAM;AAClB,IAAI,IAAI,QAAQ,EAAE;AAClB,MAAM,OAAO;AACb,KAAK;AACL;AACA,IAAI,0BAA0B,EAAE,CAAC;AACjC,GAAG;AACH,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;AACxB,EAAEA,eAAS,CAAC,MAAM;AAClB,IAAI,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AACnC,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;AACrB,KAAK;AACL,GAAG;AACH,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC3B,EAAEA,eAAS,CAAC,MAAM;AAClB,IAAI,IAAI,QAAQ,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,OAAO,KAAK,IAAI,EAAE;AACjF,MAAM,OAAO;AACb,KAAK;AACL;AACA,IAAI,SAAS,CAAC,OAAO,GAAG,UAAU,CAAC,MAAM;AACzC,MAAM,0BAA0B,EAAE,CAAC;AACnC,MAAM,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;AAC/B,KAAK,EAAE,SAAS,CAAC,CAAC;AAClB,GAAG;AACH,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,0BAA0B,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC;AACtE,EAAE,OAAO;AACT,IAAI,cAAc;AAClB,IAAI,0BAA0B;AAC9B,IAAI,kBAAkB,EAAE,KAAK,IAAI,IAAI;AACrC,GAAG,CAAC;AACJ;AACA,EAAE,SAAS,UAAU,GAAG;AACxB,IAAI,QAAQ,QAAQ;AACpB,MAAM,KAAK,iBAAiB,CAAC,MAAM;AACnC,QAAQ,OAAO,KAAK,CAAC;AACrB;AACA,MAAM,KAAK,iBAAiB,CAAC,cAAc;AAC3C,QAAQ,OAAO,QAAQ,CAAC;AACxB;AACA,MAAM;AACN,QAAQ,OAAO,CAAC,QAAQ,CAAC;AACzB,KAAK;AACL,GAAG;AACH,CAAC;AACD;AACA,SAAS,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE;AAC3C,EAAE,OAAO,WAAW,CAAC,aAAa,IAAI;AACtC,IAAI,IAAI,CAAC,KAAK,EAAE;AAChB,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK;AACL;AACA,IAAI,IAAI,aAAa,EAAE;AACvB,MAAM,OAAO,aAAa,CAAC;AAC3B,KAAK;AACL;AACA,IAAI,OAAO,OAAO,SAAS,KAAK,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;AACtE,GAAG,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;AACzB,CAAC;AACD;AACA,SAAS,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE;AACvC,EAAE,OAAO,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACxC,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,mBAAmB,CAAC,IAAI,EAAE;AACnC,EAAE,IAAI;AACN,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,GAAG,GAAG,IAAI,CAAC;AACX,EAAE,MAAM,eAAe,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC7C,EAAE,MAAM,gBAAgB,GAAGqa,aAAO,CAAC,MAAM;AACzC,IAAI,IAAI,QAAQ,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,gBAAgB,KAAK,WAAW,EAAE;AACrG,MAAM,OAAO,SAAS,CAAC;AACvB,KAAK;AACL;AACA,IAAI,MAAM;AACV,MAAM,gBAAgB;AACtB,KAAK,GAAG,MAAM,CAAC;AACf,IAAI,OAAO,IAAI,gBAAgB,CAAC,eAAe,CAAC,CAAC;AACjD,GAAG,EAAE,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC;AAClC,EAAEra,eAAS,CAAC,MAAM;AAClB,IAAI,OAAO,MAAM,gBAAgB,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,gBAAgB,CAAC,UAAU,EAAE,CAAC;AACnF,GAAG,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;AACzB,EAAE,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,iBAAiB,CAAC,IAAI,EAAE;AACjC,EAAE,IAAI;AACN,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,GAAG,GAAG,IAAI,CAAC;AACX,EAAE,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC1C,EAAE,MAAM,cAAc,GAAGqa,aAAO,CAAC,MAAM;AACvC,IAAI,IAAI,QAAQ,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,cAAc,KAAK,WAAW,EAAE;AACnG,MAAM,OAAO,SAAS,CAAC;AACvB,KAAK;AACL;AACA,IAAI,MAAM;AACV,MAAM,cAAc;AACpB,KAAK,GAAG,MAAM,CAAC;AACf,IAAI,OAAO,IAAI,cAAc,CAAC,YAAY,CAAC,CAAC;AAC5C,GAAG;AACH,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AACd,EAAEra,eAAS,CAAC,MAAM;AAClB,IAAI,OAAO,MAAM,cAAc,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,cAAc,CAAC,UAAU,EAAE,CAAC;AAC/E,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;AACvB,EAAE,OAAO,cAAc,CAAC;AACxB,CAAC;AACD;AACA,SAAS,cAAc,CAAC,OAAO,EAAE;AACjC,EAAE,OAAO,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC;AACD;AACA,SAAS,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE;AACjD,EAAE,IAAI,OAAO,KAAK,KAAK,CAAC,EAAE;AAC1B,IAAI,OAAO,GAAG,cAAc,CAAC;AAC7B,GAAG;AACH;AACA,EAAE,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,GAAGwf,gBAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACxD,EAAE,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAC/C,IAAI,QAAQ,CAAC,OAAO,EAAE;AACtB,MAAM,IAAI,CAAC,OAAO,EAAE;AACpB,QAAQ,OAAO;AACf,OAAO;AACP;AACA,MAAM,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;AACpC,QAAQ,MAAM;AACd,UAAU,IAAI;AACd,UAAU,MAAM;AAChB,SAAS,GAAG,MAAM,CAAC;AACnB;AACA,QAAQ,IAAI,IAAI,KAAK,WAAW,IAAI,MAAM,YAAY,WAAW,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;AAC/F,UAAU,WAAW,EAAE,CAAC;AACxB,UAAU,MAAM;AAChB,SAAS;AACT,OAAO;AACP,KAAK;AACL;AACA,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,cAAc,GAAG,iBAAiB,CAAC;AAC3C,IAAI,QAAQ,EAAE,WAAW;AACzB,GAAG,CAAC,CAAC;AACL,EAAE,yBAAyB,CAAC,MAAM;AAClC,IAAI,WAAW,EAAE,CAAC;AAClB;AACA,IAAI,IAAI,OAAO,EAAE;AACjB,MAAM,cAAc,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACxE,MAAM,gBAAgB,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE;AAClF,QAAQ,SAAS,EAAE,IAAI;AACvB,QAAQ,OAAO,EAAE,IAAI;AACrB,OAAO,CAAC,CAAC;AACT,KAAK,MAAM;AACX,MAAM,cAAc,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,cAAc,CAAC,UAAU,EAAE,CAAC;AACpE,MAAM,gBAAgB,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,gBAAgB,CAAC,UAAU,EAAE,CAAC;AACxE,KAAK;AACL,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AAChB,EAAE,OAAO,IAAI,CAAC;AACd;AACA,EAAE,SAAS,OAAO,CAAC,WAAW,EAAE;AAChC,IAAI,IAAI,CAAC,OAAO,EAAE;AAClB,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK;AACL;AACA,IAAI,IAAI,OAAO,CAAC,WAAW,KAAK,KAAK,EAAE;AACvC,MAAM,IAAI,IAAI,CAAC;AACf;AACA;AACA;AACA,MAAM,OAAO,CAAC,IAAI,GAAG,WAAW,IAAI,IAAI,GAAG,WAAW,GAAG,YAAY,KAAK,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAC7F,KAAK;AACL;AACA,IAAI,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AACrC;AACA,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;AACjE,MAAM,OAAO,WAAW,CAAC;AACzB,KAAK;AACL;AACA,IAAI,OAAO,OAAO,CAAC;AACnB,GAAG;AACH,CAAC;AACD;AACA,SAAS,YAAY,CAAC,IAAI,EAAE;AAC5B,EAAE,MAAM,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;AAC5C,EAAE,OAAO,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AACzC,CAAC;AACD;AACA,MAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,SAAS,sBAAsB,CAAC,IAAI,EAAE;AACtC,EAAE,MAAM,YAAY,GAAG9c,YAAM,CAAC,IAAI,CAAC,CAAC;AACpC,EAAE,MAAM,SAAS,GAAG,WAAW,CAAC,aAAa,IAAI;AACjD,IAAI,IAAI,CAAC,IAAI,EAAE;AACf,MAAM,OAAO,cAAc,CAAC;AAC5B,KAAK;AACL;AACA,IAAI,IAAI,aAAa,IAAI,aAAa,KAAK,cAAc,IAAI,IAAI,IAAI,YAAY,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,KAAK,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE;AAClJ,MAAM,OAAO,aAAa,CAAC;AAC3B,KAAK;AACL;AACA,IAAI,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAC;AACxC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AACb,EAAE1C,eAAS,CAAC,MAAM;AAClB,IAAI,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC;AAChC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AACb,EAAE,OAAO,SAAS,CAAC;AACnB,CAAC;AACD;AACA,SAAS,gBAAgB,CAAC,QAAQ,EAAE;AACpC,EAAE,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAGsC,cAAQ,CAAC,IAAI,CAAC,CAAC;AACnE,EAAE,MAAM,YAAY,GAAGI,YAAM,CAAC,QAAQ,CAAC,CAAC;AACxC;AACA,EAAE,MAAM,YAAY,GAAGyc,iBAAW,CAAC,KAAK,IAAI;AAC5C,IAAI,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAChE;AACA,IAAI,IAAI,CAAC,gBAAgB,EAAE;AAC3B,MAAM,OAAO;AACb,KAAK;AACL;AACA,IAAI,oBAAoB,CAAC,iBAAiB,IAAI;AAC9C,MAAM,IAAI,CAAC,iBAAiB,EAAE;AAC9B,QAAQ,OAAO,IAAI,CAAC;AACpB,OAAO;AACP;AACA,MAAM,iBAAiB,CAAC,GAAG,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,CAAC,CAAC;AACtF,MAAM,OAAO,IAAI,GAAG,CAAC,iBAAiB,CAAC,CAAC;AACxC,KAAK,CAAC,CAAC;AACP,GAAG,EAAE,EAAE,CAAC,CAAC;AACT,EAAEnf,eAAS,CAAC,MAAM;AAClB,IAAI,MAAM,gBAAgB,GAAG,YAAY,CAAC,OAAO,CAAC;AAClD;AACA,IAAI,IAAI,QAAQ,KAAK,gBAAgB,EAAE;AACvC,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAChC,MAAM,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,IAAI;AAC9C,QAAQ,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAChE;AACA,QAAQ,IAAI,iBAAiB,EAAE;AAC/B,UAAU,iBAAiB,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,EAAE;AACrE,YAAY,OAAO,EAAE,IAAI;AACzB,WAAW,CAAC,CAAC;AACb,UAAU,OAAO,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAC9E,SAAS;AACT;AACA,QAAQ,OAAO,IAAI,CAAC;AACpB,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC;AACxC,MAAM,oBAAoB,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;AACrE,MAAM,YAAY,CAAC,OAAO,GAAG,QAAQ,CAAC;AACtC,KAAK;AACL;AACA,IAAI,OAAO,MAAM;AACjB,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;AACxB,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAChC,KAAK,CAAC;AACN;AACA,IAAI,SAAS,OAAO,CAAC,QAAQ,EAAE;AAC/B,MAAM,QAAQ,CAAC,OAAO,CAAC,OAAO,IAAI;AAClC,QAAQ,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAChE,QAAQ,iBAAiB,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;AAC3G,OAAO,CAAC,CAAC;AACT,KAAK;AACL,GAAG,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC/B,EAAE,OAAOqa,aAAO,CAAC,MAAM;AACvB,IAAI,IAAI,QAAQ,CAAC,MAAM,EAAE;AACzB,MAAM,OAAO,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW,KAAK,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,kBAAkB,CAAC,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AAC7K,KAAK;AACL;AACA,IAAI,OAAO,kBAAkB,CAAC;AAC9B,GAAG,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC;AACpC,CAAC;AACD;AACA,SAAS,qBAAqB,CAAC,aAAa,EAAE,YAAY,EAAE;AAC5D,EAAE,IAAI,YAAY,KAAK,KAAK,CAAC,EAAE;AAC/B,IAAI,YAAY,GAAG,EAAE,CAAC;AACtB,GAAG;AACH;AACA,EAAE,MAAM,oBAAoB,GAAG3X,YAAM,CAAC,IAAI,CAAC,CAAC;AAC5C,EAAE1C,eAAS,CAAC,MAAM;AAClB,IAAI,oBAAoB,CAAC,OAAO,GAAG,IAAI,CAAC;AACxC,GAAG;AACH,EAAE,YAAY,CAAC,CAAC;AAChB,EAAEA,eAAS,CAAC,MAAM;AAClB,IAAI,MAAM,gBAAgB,GAAG,aAAa,KAAK,kBAAkB,CAAC;AAClE;AACA,IAAI,IAAI,gBAAgB,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE;AAC3D,MAAM,oBAAoB,CAAC,OAAO,GAAG,aAAa,CAAC;AACnD,KAAK;AACL;AACA,IAAI,IAAI,CAAC,gBAAgB,IAAI,oBAAoB,CAAC,OAAO,EAAE;AAC3D,MAAM,oBAAoB,CAAC,OAAO,GAAG,IAAI,CAAC;AAC1C,KAAK;AACL,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;AACtB,EAAE,OAAO,oBAAoB,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,EAAE,oBAAoB,CAAC,OAAO,CAAC,GAAG,kBAAkB,CAAC;AACnH,CAAC;AACD;AACA,SAAS,cAAc,CAAC,OAAO,EAAE;AACjC,EAAEA,eAAS,CAAC,MAAM;AAClB,IAAI,IAAI,CAAC,SAAS,EAAE;AACpB,MAAM,OAAO;AACb,KAAK;AACL;AACA,IAAI,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI;AAC5C,MAAM,IAAI;AACV,QAAQ,MAAM;AACd,OAAO,GAAG,IAAI,CAAC;AACf,MAAM,OAAO,MAAM,CAAC,KAAK,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;AAC5D,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,MAAM;AACjB,MAAM,KAAK,MAAM,QAAQ,IAAI,WAAW,EAAE;AAC1C,QAAQ,QAAQ,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,QAAQ,EAAE,CAAC;AAC/C,OAAO;AACP,KAAK,CAAC;AACN,GAAG;AACH;AACA,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI;AACvB,IAAI,IAAI;AACR,MAAM,MAAM;AACZ,KAAK,GAAG,KAAK,CAAC;AACd,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG,CAAC,CAAC,CAAC;AACN,CAAC;AACD;AACA,SAAS,qBAAqB,CAAC,SAAS,EAAE,EAAE,EAAE;AAC9C,EAAE,OAAOqa,aAAO,CAAC,MAAM;AACvB,IAAI,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK;AAC3C,MAAM,IAAI;AACV,QAAQ,SAAS;AACjB,QAAQ,OAAO;AACf,OAAO,GAAG,IAAI,CAAC;AACf;AACA,MAAM,GAAG,CAAC,SAAS,CAAC,GAAG,KAAK,IAAI;AAChC,QAAQ,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAC3B,OAAO,CAAC;AACR;AACA,MAAM,OAAO,GAAG,CAAC;AACjB,KAAK,EAAE,EAAE,CAAC,CAAC;AACX,GAAG,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;AACtB,CAAC;AACD;AACA,SAAS,aAAa,CAAC,OAAO,EAAE;AAChC,EAAE,OAAOA,aAAO,CAAC,MAAM,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AACjF,CAAC;AACD;AACA,MAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,SAAS,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE;AACrC,EAAE,IAAI,OAAO,KAAK,KAAK,CAAC,EAAE;AAC1B,IAAI,OAAO,GAAG,aAAa,CAAC;AAC5B,GAAG;AACH;AACA,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC;AAClC,EAAE,MAAM,UAAU,GAAG,aAAa,CAAC,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC;AAClF,EAAE,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,GAAGmF,gBAAU,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;AACpE,EAAE,MAAM,cAAc,GAAG,iBAAiB,CAAC;AAC3C,IAAI,QAAQ,EAAE,YAAY;AAC1B,GAAG,CAAC,CAAC;AACL;AACA,EAAE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,KAAK,cAAc,EAAE;AACvD,IAAI,YAAY,EAAE,CAAC;AACnB,GAAG;AACH;AACA,EAAE,yBAAyB,CAAC,MAAM;AAClC,IAAI,IAAI,QAAQ,CAAC,MAAM,EAAE;AACzB,MAAM,QAAQ,CAAC,OAAO,CAAC,OAAO,IAAI,cAAc,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AACrG,KAAK,MAAM;AACX,MAAM,cAAc,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,cAAc,CAAC,UAAU,EAAE,CAAC;AACpE,MAAM,YAAY,EAAE,CAAC;AACrB,KAAK;AACL,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjB,EAAE,OAAO,KAAK,CAAC;AACf;AACA,EAAE,SAAS,OAAO,GAAG;AACrB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;AAC1B,MAAM,OAAO,cAAc,CAAC;AAC5B,KAAK;AACL;AACA,IAAI,OAAO,QAAQ,CAAC,GAAG,CAAC,OAAO,IAAI,0BAA0B,CAAC,OAAO,CAAC,GAAG,UAAU,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AAC3H,GAAG;AACH,CAAC;AACD;AACA,SAAS,iBAAiB,CAAC,IAAI,EAAE;AACjC,EAAE,IAAI,CAAC,IAAI,EAAE;AACb,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH;AACA,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AAChC,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH;AACA,EAAE,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACtC,EAAE,OAAO,aAAa,CAAC,UAAU,CAAC,GAAG,UAAU,GAAG,IAAI,CAAC;AACvD,CAAC;AACD;AACA,SAAS,uBAAuB,CAAC,IAAI,EAAE;AACvC,EAAE,IAAI;AACN,IAAI,OAAO;AACX,GAAG,GAAG,IAAI,CAAC;AACX,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAGld,cAAQ,CAAC,IAAI,CAAC,CAAC;AACzC,EAAE,MAAM,YAAY,GAAG6c,iBAAW,CAAC,OAAO,IAAI;AAC9C,IAAI,KAAK,MAAM;AACf,MAAM,MAAM;AACZ,KAAK,IAAI,OAAO,EAAE;AAClB,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE;AACjC,QAAQ,OAAO,CAAC,IAAI,IAAI;AACxB,UAAU,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAC1C,UAAU,OAAO,IAAI,GAAG,EAAE,GAAG,IAAI;AACjC,YAAY,KAAK,EAAE,OAAO,CAAC,KAAK;AAChC,YAAY,MAAM,EAAE,OAAO,CAAC,MAAM;AAClC,WAAW,GAAG,OAAO,CAAC;AACtB,SAAS,CAAC,CAAC;AACX,QAAQ,MAAM;AACd,OAAO;AACP,KAAK;AACL,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AAChB,EAAE,MAAM,cAAc,GAAG,iBAAiB,CAAC;AAC3C,IAAI,QAAQ,EAAE,YAAY;AAC1B,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,gBAAgB,GAAGA,iBAAW,CAAC,OAAO,IAAI;AAClD,IAAI,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAC5C,IAAI,cAAc,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,cAAc,CAAC,UAAU,EAAE,CAAC;AAClE;AACA,IAAI,IAAI,IAAI,EAAE;AACd,MAAM,cAAc,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACrE,KAAK;AACL;AACA,IAAI,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;AACzC,GAAG,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;AAChC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;AACzD,EAAE,OAAO9E,aAAO,CAAC,OAAO;AACxB,IAAI,OAAO;AACX,IAAI,IAAI;AACR,IAAI,MAAM;AACV,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AAC/B,CAAC;AACD;AACA,MAAM,cAAc,GAAG,CAAC;AACxB,EAAE,MAAM,EAAE,aAAa;AACvB,EAAE,OAAO,EAAE,EAAE;AACb,CAAC,EAAE;AACH,EAAE,MAAM,EAAE,cAAc;AACxB,EAAE,OAAO,EAAE,EAAE;AACb,CAAC,CAAC,CAAC;AACH,MAAM,WAAW,GAAG;AACpB,EAAE,OAAO,EAAE,EAAE;AACb,CAAC,CAAC;AACF,MAAM,6BAA6B,GAAG;AACtC,EAAE,SAAS,EAAE;AACb,IAAI,OAAO,EAAE,8BAA8B;AAC3C,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,OAAO,EAAE,8BAA8B;AAC3C,IAAI,QAAQ,EAAE,iBAAiB,CAAC,aAAa;AAC7C,IAAI,SAAS,EAAE,kBAAkB,CAAC,SAAS;AAC3C,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,OAAO,EAAE,aAAa;AAC1B,GAAG;AACH,CAAC,CAAC;AACF;AACA,MAAM,sBAAsB,SAAS,GAAG,CAAC;AACzC,EAAE,GAAG,CAAC,EAAE,EAAE;AACV,IAAI,IAAI,UAAU,CAAC;AACnB;AACA,IAAI,OAAO,EAAE,IAAI,IAAI,GAAG,CAAC,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;AAClG,GAAG;AACH;AACA,EAAE,OAAO,GAAG;AACZ,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACrC,GAAG;AACH;AACA,EAAE,UAAU,GAAG;AACf,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI;AACzC,MAAM,IAAI;AACV,QAAQ,QAAQ;AAChB,OAAO,GAAG,IAAI,CAAC;AACf,MAAM,OAAO,CAAC,QAAQ,CAAC;AACvB,KAAK,CAAC,CAAC;AACP,GAAG;AACH;AACA,EAAE,UAAU,CAAC,EAAE,EAAE;AACjB,IAAI,IAAI,qBAAqB,EAAE,SAAS,CAAC;AACzC;AACA,IAAI,OAAO,CAAC,qBAAqB,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,GAAG,qBAAqB,GAAG,SAAS,CAAC;AACtJ,GAAG;AACH;AACA,CAAC;AACD;AACA,MAAM,oBAAoB,GAAG;AAC7B,EAAE,cAAc,EAAE,IAAI;AACtB,EAAE,MAAM,EAAE,IAAI;AACd,EAAE,UAAU,EAAE,IAAI;AAClB,EAAE,cAAc,EAAE,IAAI;AACtB,EAAE,UAAU,EAAE,IAAI;AAClB,EAAE,iBAAiB,EAAE,IAAI;AACzB,EAAE,cAAc,eAAe,IAAI,GAAG,EAAE;AACxC,EAAE,cAAc,eAAe,IAAI,GAAG,EAAE;AACxC,EAAE,mBAAmB,eAAe,IAAI,sBAAsB,EAAE;AAChE,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,WAAW,EAAE;AACf,IAAI,OAAO,EAAE;AACb,MAAM,OAAO,EAAE,IAAI;AACnB,KAAK;AACL,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,MAAM,EAAE,IAAI;AAChB,GAAG;AACH,EAAE,mBAAmB,EAAE,EAAE;AACzB,EAAE,uBAAuB,EAAE,EAAE;AAC7B,EAAE,sBAAsB,EAAE,6BAA6B;AACvD,EAAE,0BAA0B,EAAE,IAAI;AAClC,EAAE,UAAU,EAAE,IAAI;AAClB,EAAE,kBAAkB,EAAE,KAAK;AAC3B,CAAC,CAAC;AACF,MAAM,sBAAsB,GAAG;AAC/B,EAAE,cAAc,EAAE,IAAI;AACtB,EAAE,UAAU,EAAE,EAAE;AAChB,EAAE,MAAM,EAAE,IAAI;AACd,EAAE,cAAc,EAAE,IAAI;AACtB,EAAE,iBAAiB,EAAE;AACrB,IAAI,SAAS,EAAE,EAAE;AACjB,GAAG;AACH,EAAE,QAAQ,EAAE,IAAI;AAChB,EAAE,cAAc,eAAe,IAAI,GAAG,EAAE;AACxC,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,0BAA0B,EAAE,IAAI;AAClC,CAAC,CAAC;AACF,MAAM,eAAe,gBAAgBgF,mBAAa,CAAC,sBAAsB,CAAC,CAAC;AAC3E,MAAM,aAAa,gBAAgBA,mBAAa,CAAC,oBAAoB,CAAC,CAAC;AACvE;AACA,SAAS,eAAe,GAAG;AAC3B,EAAE,OAAO;AACT,IAAI,SAAS,EAAE;AACf,MAAM,MAAM,EAAE,IAAI;AAClB,MAAM,kBAAkB,EAAE;AAC1B,QAAQ,CAAC,EAAE,CAAC;AACZ,QAAQ,CAAC,EAAE,CAAC;AACZ,OAAO;AACP,MAAM,KAAK,EAAE,IAAI,GAAG,EAAE;AACtB,MAAM,SAAS,EAAE;AACjB,QAAQ,CAAC,EAAE,CAAC;AACZ,QAAQ,CAAC,EAAE,CAAC;AACZ,OAAO;AACP,KAAK;AACL,IAAI,SAAS,EAAE;AACf,MAAM,UAAU,EAAE,IAAI,sBAAsB,EAAE;AAC9C,KAAK;AACL,GAAG,CAAC;AACJ,CAAC;AACD,SAAS,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE;AAChC,EAAE,QAAQ,MAAM,CAAC,IAAI;AACrB,IAAI,KAAK,MAAM,CAAC,SAAS;AACzB,MAAM,OAAO,EAAE,GAAG,KAAK;AACvB,QAAQ,SAAS,EAAE,EAAE,GAAG,KAAK,CAAC,SAAS;AACvC,UAAU,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;AACvD,UAAU,MAAM,EAAE,MAAM,CAAC,MAAM;AAC/B,SAAS;AACT,OAAO,CAAC;AACR;AACA,IAAI,KAAK,MAAM,CAAC,QAAQ;AACxB,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE;AACnC,QAAQ,OAAO,KAAK,CAAC;AACrB,OAAO;AACP;AACA,MAAM,OAAO,EAAE,GAAG,KAAK;AACvB,QAAQ,SAAS,EAAE,EAAE,GAAG,KAAK,CAAC,SAAS;AACvC,UAAU,SAAS,EAAE;AACrB,YAAY,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;AAC1E,YAAY,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;AAC1E,WAAW;AACX,SAAS;AACT,OAAO,CAAC;AACR;AACA,IAAI,KAAK,MAAM,CAAC,OAAO,CAAC;AACxB,IAAI,KAAK,MAAM,CAAC,UAAU;AAC1B,MAAM,OAAO,EAAE,GAAG,KAAK;AACvB,QAAQ,SAAS,EAAE,EAAE,GAAG,KAAK,CAAC,SAAS;AACvC,UAAU,MAAM,EAAE,IAAI;AACtB,UAAU,kBAAkB,EAAE;AAC9B,YAAY,CAAC,EAAE,CAAC;AAChB,YAAY,CAAC,EAAE,CAAC;AAChB,WAAW;AACX,UAAU,SAAS,EAAE;AACrB,YAAY,CAAC,EAAE,CAAC;AAChB,YAAY,CAAC,EAAE,CAAC;AAChB,WAAW;AACX,SAAS;AACT,OAAO,CAAC;AACR;AACA,IAAI,KAAK,MAAM,CAAC,iBAAiB;AACjC,MAAM;AACN,QAAQ,MAAM;AACd,UAAU,OAAO;AACjB,SAAS,GAAG,MAAM,CAAC;AACnB,QAAQ,MAAM;AACd,UAAU,EAAE;AACZ,SAAS,GAAG,OAAO,CAAC;AACpB,QAAQ,MAAM,UAAU,GAAG,IAAI,sBAAsB,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;AAClF,QAAQ,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;AACpC,QAAQ,OAAO,EAAE,GAAG,KAAK;AACzB,UAAU,SAAS,EAAE,EAAE,GAAG,KAAK,CAAC,SAAS;AACzC,YAAY,UAAU;AACtB,WAAW;AACX,SAAS,CAAC;AACV,OAAO;AACP;AACA,IAAI,KAAK,MAAM,CAAC,oBAAoB;AACpC,MAAM;AACN,QAAQ,MAAM;AACd,UAAU,EAAE;AACZ,UAAU,GAAG;AACb,UAAU,QAAQ;AAClB,SAAS,GAAG,MAAM,CAAC;AACnB,QAAQ,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC3D;AACA,QAAQ,IAAI,CAAC,OAAO,IAAI,GAAG,KAAK,OAAO,CAAC,GAAG,EAAE;AAC7C,UAAU,OAAO,KAAK,CAAC;AACvB,SAAS;AACT;AACA,QAAQ,MAAM,UAAU,GAAG,IAAI,sBAAsB,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;AAClF,QAAQ,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO;AACvC,UAAU,QAAQ;AAClB,SAAS,CAAC,CAAC;AACX,QAAQ,OAAO,EAAE,GAAG,KAAK;AACzB,UAAU,SAAS,EAAE,EAAE,GAAG,KAAK,CAAC,SAAS;AACzC,YAAY,UAAU;AACtB,WAAW;AACX,SAAS,CAAC;AACV,OAAO;AACP;AACA,IAAI,KAAK,MAAM,CAAC,mBAAmB;AACnC,MAAM;AACN,QAAQ,MAAM;AACd,UAAU,EAAE;AACZ,UAAU,GAAG;AACb,SAAS,GAAG,MAAM,CAAC;AACnB,QAAQ,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC3D;AACA,QAAQ,IAAI,CAAC,OAAO,IAAI,GAAG,KAAK,OAAO,CAAC,GAAG,EAAE;AAC7C,UAAU,OAAO,KAAK,CAAC;AACvB,SAAS;AACT;AACA,QAAQ,MAAM,UAAU,GAAG,IAAI,sBAAsB,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;AAClF,QAAQ,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC9B,QAAQ,OAAO,EAAE,GAAG,KAAK;AACzB,UAAU,SAAS,EAAE,EAAE,GAAG,KAAK,CAAC,SAAS;AACzC,YAAY,UAAU;AACtB,WAAW;AACX,SAAS,CAAC;AACV,OAAO;AACP;AACA,IAAI;AACJ,MAAM;AACN,QAAQ,OAAO,KAAK,CAAC;AACrB,OAAO;AACP,GAAG;AACH,CAAC;AACD;AACA,SAAS,YAAY,CAAC,IAAI,EAAE;AAC5B,EAAE,IAAI;AACN,IAAI,QAAQ;AACZ,GAAG,GAAG,IAAI,CAAC;AACX,EAAE,MAAM;AACR,IAAI,MAAM;AACV,IAAI,cAAc;AAClB,IAAI,cAAc;AAClB,GAAG,GAAGC,gBAAU,CAAC,eAAe,CAAC,CAAC;AAClC,EAAE,MAAM,sBAAsB,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC;AAC7D,EAAE,MAAM,gBAAgB,GAAG,WAAW,CAAC,MAAM,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;AAC5E;AACA,EAAEtf,eAAS,CAAC,MAAM;AAClB,IAAI,IAAI,QAAQ,EAAE;AAClB,MAAM,OAAO;AACb,KAAK;AACL;AACA,IAAI,IAAI,CAAC,cAAc,IAAI,sBAAsB,IAAI,gBAAgB,IAAI,IAAI,EAAE;AAC/E,MAAM,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,EAAE;AACpD,QAAQ,OAAO;AACf,OAAO;AACP;AACA,MAAM,IAAI,QAAQ,CAAC,aAAa,KAAK,sBAAsB,CAAC,MAAM,EAAE;AACpE;AACA,QAAQ,OAAO;AACf,OAAO;AACP;AACA,MAAM,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AACjE;AACA,MAAM,IAAI,CAAC,aAAa,EAAE;AAC1B,QAAQ,OAAO;AACf,OAAO;AACP;AACA,MAAM,MAAM;AACZ,QAAQ,aAAa;AACrB,QAAQ,IAAI;AACZ,OAAO,GAAG,aAAa,CAAC;AACxB;AACA,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACnD,QAAQ,OAAO;AACf,OAAO;AACP;AACA,MAAM,qBAAqB,CAAC,MAAM;AAClC,QAAQ,KAAK,MAAM,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;AACrE,UAAU,IAAI,CAAC,OAAO,EAAE;AACxB,YAAY,SAAS;AACrB,WAAW;AACX;AACA,UAAU,MAAM,aAAa,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChE;AACA,UAAU,IAAI,aAAa,EAAE;AAC7B,YAAY,aAAa,CAAC,KAAK,EAAE,CAAC;AAClC,YAAY,MAAM;AAClB,WAAW;AACX,SAAS;AACT,OAAO,CAAC,CAAC;AACT,KAAK;AACL,GAAG,EAAE,CAAC,cAAc,EAAE,QAAQ,EAAE,cAAc,EAAE,gBAAgB,EAAE,sBAAsB,CAAC,CAAC,CAAC;AAC3F,EAAE,OAAO,IAAI,CAAC;AACd,CAAC;AACD;AACA,SAAS,cAAc,CAAC,SAAS,EAAE,IAAI,EAAE;AACzC,EAAE,IAAI;AACN,IAAI,SAAS;AACb,IAAI,GAAG,IAAI;AACX,GAAG,GAAG,IAAI,CAAC;AACX,EAAE,OAAO,SAAS,IAAI,IAAI,IAAI,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,QAAQ,KAAK;AAC7F,IAAI,OAAO,QAAQ,CAAC;AACpB,MAAM,SAAS,EAAE,WAAW;AAC5B,MAAM,GAAG,IAAI;AACb,KAAK,CAAC,CAAC;AACP,GAAG,EAAE,SAAS,CAAC,GAAG,SAAS,CAAC;AAC5B,CAAC;AACD;AACA,SAAS,yBAAyB,CAAC,MAAM,EAAE;AAC3C,EAAE,OAAOqa,aAAO,CAAC,OAAO;AACxB,IAAI,SAAS,EAAE,EAAE,GAAG,6BAA6B,CAAC,SAAS;AAC3D,MAAM,IAAI,MAAM,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC;AACrD,KAAK;AACL,IAAI,SAAS,EAAE,EAAE,GAAG,6BAA6B,CAAC,SAAS;AAC3D,MAAM,IAAI,MAAM,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC;AACrD,KAAK;AACL,IAAI,WAAW,EAAE,EAAE,GAAG,6BAA6B,CAAC,WAAW;AAC/D,MAAM,IAAI,MAAM,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC;AACvD,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,CAAC,MAAM,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,MAAM,CAAC,SAAS,EAAE,MAAM,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,MAAM,CAAC,SAAS,EAAE,MAAM,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;AAC1I,CAAC;AACD;AACA,SAAS,gCAAgC,CAAC,IAAI,EAAE;AAChD,EAAE,IAAI;AACN,IAAI,UAAU;AACd,IAAI,OAAO;AACX,IAAI,WAAW;AACf,IAAI,MAAM,GAAG,IAAI;AACjB,GAAG,GAAG,IAAI,CAAC;AACX,EAAE,MAAM,WAAW,GAAG3X,YAAM,CAAC,KAAK,CAAC,CAAC;AACpC,EAAE,MAAM;AACR,IAAI,CAAC;AACL,IAAI,CAAC;AACL,GAAG,GAAG,OAAO,MAAM,KAAK,SAAS,GAAG;AACpC,IAAI,CAAC,EAAE,MAAM;AACb,IAAI,CAAC,EAAE,MAAM;AACb,GAAG,GAAG,MAAM,CAAC;AACb,EAAE,yBAAyB,CAAC,MAAM;AAClC,IAAI,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9B;AACA,IAAI,IAAI,QAAQ,IAAI,CAAC,UAAU,EAAE;AACjC,MAAM,WAAW,CAAC,OAAO,GAAG,KAAK,CAAC;AAClC,MAAM,OAAO;AACb,KAAK;AACL;AACA,IAAI,IAAI,WAAW,CAAC,OAAO,IAAI,CAAC,WAAW,EAAE;AAC7C;AACA;AACA,MAAM,OAAO;AACb,KAAK;AACL;AACA;AACA,IAAI,MAAM,IAAI,GAAG,UAAU,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;AACvE;AACA,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,EAAE;AAC7C;AACA;AACA,MAAM,OAAO;AACb,KAAK;AACL;AACA,IAAI,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAC/B,IAAI,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AACtD;AACA,IAAI,IAAI,CAAC,CAAC,EAAE;AACZ,MAAM,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC;AACtB,KAAK;AACL;AACA,IAAI,IAAI,CAAC,CAAC,EAAE;AACZ,MAAM,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC;AACtB,KAAK;AACL;AACA;AACA,IAAI,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC;AAC/B;AACA,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;AAChE,MAAM,MAAM,uBAAuB,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC;AACvE;AACA,MAAM,IAAI,uBAAuB,EAAE;AACnC,QAAQ,uBAAuB,CAAC,QAAQ,CAAC;AACzC,UAAU,GAAG,EAAE,SAAS,CAAC,CAAC;AAC1B,UAAU,IAAI,EAAE,SAAS,CAAC,CAAC;AAC3B,SAAS,CAAC,CAAC;AACX,OAAO;AACP,KAAK;AACL,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;AAC/C,CAAC;AACD;AACA,MAAM,sBAAsB,gBAAgB2c,mBAAa,CAAC,EAAE,GAAG,kBAAkB;AACjF,EAAE,MAAM,EAAE,CAAC;AACX,EAAE,MAAM,EAAE,CAAC;AACX,CAAC,CAAC,CAAC;AACH,IAAI,MAAM,CAAC;AACX;AACA,CAAC,UAAU,MAAM,EAAE;AACnB,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,eAAe,CAAC;AACxD,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,cAAc,CAAC;AACtD,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC;AACpD,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC;AAC5B;AACA,MAAM,UAAU,gBAAgBI,UAAI,CAAC,SAAS,UAAU,CAAC,IAAI,EAAE;AAC/D,EAAE,IAAI,qBAAqB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,UAAU,CAAC;AAClF;AACA,EAAE,IAAI;AACN,IAAI,EAAE;AACN,IAAI,aAAa;AACjB,IAAI,UAAU,GAAG,IAAI;AACrB,IAAI,QAAQ;AACZ,IAAI,OAAO,GAAG,cAAc;AAC5B,IAAI,kBAAkB,GAAG,gBAAgB;AACzC,IAAI,SAAS;AACb,IAAI,SAAS;AACb,IAAI,GAAG,KAAK;AACZ,GAAG,GAAG,IAAI,CAAC;AACX,EAAE,MAAM,KAAK,GAAGD,gBAAU,CAAC,OAAO,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;AAChE,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC;AAClC,EAAE,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,qBAAqB,EAAE,CAAC;AAClF,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAGld,cAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;AAC7D,EAAE,MAAM,aAAa,GAAG,MAAM,KAAK,MAAM,CAAC,WAAW,CAAC;AACtD,EAAE,MAAM;AACR,IAAI,SAAS,EAAE;AACf,MAAM,MAAM,EAAE,QAAQ;AACtB,MAAM,KAAK,EAAE,cAAc;AAC3B,MAAM,SAAS;AACf,KAAK;AACL,IAAI,SAAS,EAAE;AACf,MAAM,UAAU,EAAE,mBAAmB;AACrC,KAAK;AACL,GAAG,GAAG,KAAK,CAAC;AACZ,EAAE,MAAM,IAAI,GAAG,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;AAC9D,EAAE,MAAM,WAAW,GAAGI,YAAM,CAAC;AAC7B,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,UAAU,EAAE,IAAI;AACpB,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,MAAM,GAAG2X,aAAO,CAAC,MAAM;AAC/B,IAAI,IAAI,UAAU,CAAC;AACnB;AACA,IAAI,OAAO,QAAQ,IAAI,IAAI,GAAG;AAC9B,MAAM,EAAE,EAAE,QAAQ;AAClB;AACA,MAAM,IAAI,EAAE,CAAC,UAAU,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,GAAG,UAAU,GAAG,WAAW;AAC/F,MAAM,IAAI,EAAE,WAAW;AACvB,KAAK,GAAG,IAAI,CAAC;AACb,GAAG,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;AACvB,EAAE,MAAM,SAAS,GAAG3X,YAAM,CAAC,IAAI,CAAC,CAAC;AACjC,EAAE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAGJ,cAAQ,CAAC,IAAI,CAAC,CAAC;AACzD,EAAE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAGA,cAAQ,CAAC,IAAI,CAAC,CAAC;AAC7D,EAAE,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAClE,EAAE,MAAM,sBAAsB,GAAG,WAAW,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;AACnE,EAAE,MAAM,0BAA0B,GAAG+X,aAAO,CAAC,MAAM,mBAAmB,CAAC,UAAU,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;AAC5G,EAAE,MAAM,sBAAsB,GAAG,yBAAyB,CAAC,SAAS,CAAC,CAAC;AACtE,EAAE,MAAM;AACR,IAAI,cAAc;AAClB,IAAI,0BAA0B;AAC9B,IAAI,kBAAkB;AACtB,GAAG,GAAG,qBAAqB,CAAC,0BAA0B,EAAE;AACxD,IAAI,QAAQ,EAAE,aAAa;AAC3B,IAAI,YAAY,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;AAC5C,IAAI,MAAM,EAAE,sBAAsB,CAAC,SAAS;AAC5C,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,UAAU,GAAG,aAAa,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;AAC7D,EAAE,MAAM,qBAAqB,GAAGA,aAAO,CAAC,MAAM,cAAc,GAAG,mBAAmB,CAAC,cAAc,CAAC,GAAG,IAAI,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;AAC7H,EAAE,MAAM,iBAAiB,GAAG,sBAAsB,EAAE,CAAC;AACrD,EAAE,MAAM,qBAAqB,GAAG,cAAc,CAAC,UAAU,EAAE,sBAAsB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AACrG,EAAE,gCAAgC,CAAC;AACnC,IAAI,UAAU,EAAE,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI;AAC9D,IAAI,MAAM,EAAE,iBAAiB,CAAC,uBAAuB;AACrD,IAAI,WAAW,EAAE,qBAAqB;AACtC,IAAI,OAAO,EAAE,sBAAsB,CAAC,SAAS,CAAC,OAAO;AACrD,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,EAAE,sBAAsB,CAAC,SAAS,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;AAC9G,EAAE,MAAM,iBAAiB,GAAG,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;AAClF,EAAE,MAAM,aAAa,GAAG3X,YAAM,CAAC;AAC/B,IAAI,cAAc,EAAE,IAAI;AACxB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,UAAU;AACd,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,cAAc;AAClB,IAAI,cAAc;AAClB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,gBAAgB,EAAE,IAAI;AAC1B,IAAI,mBAAmB;AACvB,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,mBAAmB,EAAE,EAAE;AAC3B,IAAI,uBAAuB,EAAE,IAAI;AACjC,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,QAAQ,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC,qBAAqB,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,qBAAqB,CAAC,EAAE,CAAC,CAAC;AACpJ,EAAE,MAAM,WAAW,GAAG,uBAAuB,CAAC;AAC9C,IAAI,OAAO,EAAE,sBAAsB,CAAC,WAAW,CAAC,OAAO;AACvD,GAAG,CAAC,CAAC;AACL;AACA,EAAE,MAAM,YAAY,GAAG,CAAC,qBAAqB,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,KAAK,IAAI,GAAG,qBAAqB,GAAG,UAAU,CAAC;AAC1H,EAAE,MAAM,gBAAgB,GAAG,aAAa,GAAG,CAAC,iBAAiB,GAAG,WAAW,CAAC,IAAI,KAAK,IAAI,GAAG,iBAAiB,GAAG,cAAc,GAAG,IAAI,CAAC;AACtI,EAAE,MAAM,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;AACnF;AACA;AACA,EAAE,MAAM,aAAa,GAAG,YAAY,CAAC,eAAe,GAAG,IAAI,GAAG,cAAc,CAAC,CAAC;AAC9E;AACA,EAAE,MAAM,UAAU,GAAG,aAAa,CAAC,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC;AAClF;AACA,EAAE,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,aAAa,GAAG,QAAQ,IAAI,IAAI,GAAG,QAAQ,GAAG,UAAU,GAAG,IAAI,CAAC,CAAC;AACtH,EAAE,MAAM,uBAAuB,GAAG,QAAQ,CAAC,mBAAmB,CAAC,CAAC;AAChE;AACA,EAAE,MAAM,iBAAiB,GAAG,cAAc,CAAC,SAAS,EAAE;AACtD,IAAI,SAAS,EAAE;AACf,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC;AACtC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC;AACtC,MAAM,MAAM,EAAE,CAAC;AACf,MAAM,MAAM,EAAE,CAAC;AACf,KAAK;AACL,IAAI,cAAc;AAClB,IAAI,MAAM;AACV,IAAI,cAAc;AAClB,IAAI,iBAAiB;AACrB,IAAI,gBAAgB;AACpB,IAAI,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI;AACpC,IAAI,eAAe,EAAE,WAAW,CAAC,IAAI;AACrC,IAAI,mBAAmB;AACvB,IAAI,uBAAuB;AAC3B,IAAI,UAAU;AACd,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,kBAAkB,GAAG,qBAAqB,GAAG,GAAG,CAAC,qBAAqB,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC;AAClG,EAAE,MAAM,aAAa,GAAG,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;AAC9D;AACA,EAAE,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;AAChE;AACA,EAAE,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,aAAa,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;AACvF,EAAE,MAAM,uBAAuB,GAAG,GAAG,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;AAC3E,EAAE,MAAM,aAAa,GAAG,gBAAgB,GAAG,eAAe,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,GAAG,IAAI,CAAC;AACvG,EAAE,MAAM,UAAU,GAAG,MAAM,IAAI,aAAa,GAAG,kBAAkB,CAAC;AAClE,IAAI,MAAM;AACV,IAAI,aAAa;AACjB,IAAI,cAAc;AAClB,IAAI,mBAAmB,EAAE,0BAA0B;AACnD,IAAI,kBAAkB;AACtB,GAAG,CAAC,GAAG,IAAI,CAAC;AACZ,EAAE,MAAM,MAAM,GAAG,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;AACrD,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAGJ,cAAQ,CAAC,IAAI,CAAC,CAAC;AACzC;AACA;AACA,EAAE,MAAM,gBAAgB,GAAG,eAAe,GAAG,iBAAiB,GAAG,GAAG,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;AAC/G,EAAE,MAAM,SAAS,GAAG,WAAW,CAAC,gBAAgB,EAAE,CAAC,UAAU,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,GAAG,UAAU,GAAG,IAAI,EAAE,cAAc,CAAC,CAAC;AAChJ,EAAE,MAAM,iBAAiB,GAAG6c,iBAAW,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK;AAC1D,IAAI,IAAI;AACR,MAAM,MAAM,EAAE,MAAM;AACpB,MAAM,OAAO;AACb,KAAK,GAAG,KAAK,CAAC;AACd;AACA,IAAI,IAAI,SAAS,CAAC,OAAO,IAAI,IAAI,EAAE;AACnC,MAAM,OAAO;AACb,KAAK;AACL;AACA,IAAI,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AAC7D;AACA,IAAI,IAAI,CAAC,UAAU,EAAE;AACrB,MAAM,OAAO;AACb,KAAK;AACL;AACA,IAAI,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,CAAC;AAC7C,IAAI,MAAM,cAAc,GAAG,IAAI,MAAM,CAAC;AACtC,MAAM,MAAM,EAAE,SAAS,CAAC,OAAO;AAC/B,MAAM,UAAU;AAChB,MAAM,KAAK,EAAE,cAAc;AAC3B,MAAM,OAAO;AACb;AACA;AACA,MAAM,OAAO,EAAE,aAAa;AAC5B;AACA,MAAM,OAAO,CAAC,kBAAkB,EAAE;AAClC,QAAQ,MAAM,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC;AACrC;AACA,QAAQ,IAAI,EAAE,IAAI,IAAI,EAAE;AACxB,UAAU,OAAO;AACjB,SAAS;AACT;AACA,QAAQ,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACrD;AACA,QAAQ,IAAI,CAAC,aAAa,EAAE;AAC5B,UAAU,OAAO;AACjB,SAAS;AACT;AACA,QAAQ,MAAM;AACd,UAAU,WAAW;AACrB,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC;AAChC,QAAQ,MAAM,KAAK,GAAG;AACtB,UAAU,MAAM,EAAE;AAClB,YAAY,EAAE;AACd,YAAY,IAAI,EAAE,aAAa,CAAC,IAAI;AACpC,YAAY,IAAI,EAAE,WAAW;AAC7B,WAAW;AACX,SAAS,CAAC;AACV,QAAQO,gCAAuB,CAAC,MAAM;AACtC,UAAU,WAAW,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;AAC5D,UAAU,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AACzC,UAAU,QAAQ,CAAC;AACnB,YAAY,IAAI,EAAE,MAAM,CAAC,SAAS;AAClC,YAAY,kBAAkB;AAC9B,YAAY,MAAM,EAAE,EAAE;AACtB,WAAW,CAAC,CAAC;AACb,UAAU,oBAAoB,CAAC;AAC/B,YAAY,IAAI,EAAE,aAAa;AAC/B,YAAY,KAAK;AACjB,WAAW,CAAC,CAAC;AACb,SAAS,CAAC,CAAC;AACX,OAAO;AACP;AACA,MAAM,MAAM,CAAC,WAAW,EAAE;AAC1B,QAAQ,QAAQ,CAAC;AACjB,UAAU,IAAI,EAAE,MAAM,CAAC,QAAQ;AAC/B,UAAU,WAAW;AACrB,SAAS,CAAC,CAAC;AACX,OAAO;AACP;AACA,MAAM,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC;AAC1C,MAAM,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC;AAChD,KAAK,CAAC,CAAC;AACP,IAAIA,gCAAuB,CAAC,MAAM;AAClC,MAAM,eAAe,CAAC,cAAc,CAAC,CAAC;AACtC,MAAM,iBAAiB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AAC3C,KAAK,CAAC,CAAC;AACP;AACA,IAAI,SAAS,aAAa,CAAC,IAAI,EAAE;AACjC,MAAM,OAAO,eAAe,OAAO,GAAG;AACtC,QAAQ,MAAM;AACd,UAAU,MAAM;AAChB,UAAU,UAAU;AACpB,UAAU,IAAI;AACd,UAAU,uBAAuB;AACjC,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC;AAClC,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB;AACA,QAAQ,IAAI,MAAM,IAAI,uBAAuB,EAAE;AAC/C,UAAU,MAAM;AAChB,YAAY,UAAU;AACtB,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC;AAClC,UAAU,KAAK,GAAG;AAClB,YAAY,cAAc;AAC1B,YAAY,MAAM,EAAE,MAAM;AAC1B,YAAY,UAAU;AACtB,YAAY,KAAK,EAAE,uBAAuB;AAC1C,YAAY,IAAI;AAChB,WAAW,CAAC;AACZ;AACA,UAAU,IAAI,IAAI,KAAK,MAAM,CAAC,OAAO,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE;AAC3E,YAAY,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1E;AACA,YAAY,IAAI,YAAY,EAAE;AAC9B,cAAc,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC;AACvC,aAAa;AACb,WAAW;AACX,SAAS;AACT;AACA,QAAQ,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;AACjC,QAAQA,gCAAuB,CAAC,MAAM;AACtC,UAAU,QAAQ,CAAC;AACnB,YAAY,IAAI;AAChB,WAAW,CAAC,CAAC;AACb,UAAU,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;AAC1C,UAAU,OAAO,CAAC,IAAI,CAAC,CAAC;AACxB,UAAU,eAAe,CAAC,IAAI,CAAC,CAAC;AAChC,UAAU,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAClC,UAAU,MAAM,SAAS,GAAG,IAAI,KAAK,MAAM,CAAC,OAAO,GAAG,WAAW,GAAG,cAAc,CAAC;AACnF;AACA,UAAU,IAAI,KAAK,EAAE;AACrB,YAAY,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAC3D,YAAY,OAAO,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;AACtD,YAAY,oBAAoB,CAAC;AACjC,cAAc,IAAI,EAAE,SAAS;AAC7B,cAAc,KAAK;AACnB,aAAa,CAAC,CAAC;AACf,WAAW;AACX,SAAS,CAAC,CAAC;AACX,OAAO,CAAC;AACR,KAAK;AACL,GAAG;AACH,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;AACpB,EAAE,MAAM,iCAAiC,GAAGP,iBAAW,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;AAC7E,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,KAAK;AAC9B,MAAM,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;AAC5C,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC7D;AACA,MAAM;AACN,MAAM,SAAS,CAAC,OAAO,KAAK,IAAI;AAChC,MAAM,CAAC,mBAAmB;AAC1B,MAAM,WAAW,CAAC,MAAM,IAAI,WAAW,CAAC,gBAAgB,EAAE;AAC1D,QAAQ,OAAO;AACf,OAAO;AACP;AACA,MAAM,MAAM,iBAAiB,GAAG;AAChC,QAAQ,MAAM,EAAE,mBAAmB;AACnC,OAAO,CAAC;AACR,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;AAC/E;AACA,MAAM,IAAI,cAAc,KAAK,IAAI,EAAE;AACnC,QAAQ,WAAW,CAAC,MAAM,GAAG;AAC7B,UAAU,UAAU,EAAE,MAAM,CAAC,MAAM;AACnC,SAAS,CAAC;AACV,QAAQ,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC;AACnC,QAAQ,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACzC,OAAO;AACP,KAAK,CAAC;AACN,GAAG,EAAE,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC,CAAC;AAC1C,EAAE,MAAM,UAAU,GAAG,oBAAoB,CAAC,OAAO,EAAE,iCAAiC,CAAC,CAAC;AACtF,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;AAC1B,EAAE,yBAAyB,CAAC,MAAM;AAClC,IAAI,IAAI,cAAc,IAAI,MAAM,KAAK,MAAM,CAAC,YAAY,EAAE;AAC1D,MAAM,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACpC,KAAK;AACL,GAAG,EAAE,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;AAC/B,EAAEnf,eAAS,CAAC,MAAM;AAClB,IAAI,MAAM;AACV,MAAM,UAAU;AAChB,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC;AAC5B,IAAI,MAAM;AACV,MAAM,MAAM;AACZ,MAAM,cAAc;AACpB,MAAM,UAAU;AAChB,MAAM,IAAI;AACV,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC;AAC9B;AACA,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE;AACpC,MAAM,OAAO;AACb,KAAK;AACL;AACA,IAAI,MAAM,KAAK,GAAG;AAClB,MAAM,MAAM;AACZ,MAAM,cAAc;AACpB,MAAM,UAAU;AAChB,MAAM,KAAK,EAAE;AACb,QAAQ,CAAC,EAAE,uBAAuB,CAAC,CAAC;AACpC,QAAQ,CAAC,EAAE,uBAAuB,CAAC,CAAC;AACpC,OAAO;AACP,MAAM,IAAI;AACV,KAAK,CAAC;AACN,IAAI0f,gCAAuB,CAAC,MAAM;AAClC,MAAM,UAAU,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;AACtD,MAAM,oBAAoB,CAAC;AAC3B,QAAQ,IAAI,EAAE,YAAY;AAC1B,QAAQ,KAAK;AACb,OAAO,CAAC,CAAC;AACT,KAAK,CAAC,CAAC;AACP,GAAG;AACH,EAAE,CAAC,uBAAuB,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1D,EAAE1f,eAAS,CAAC,MAAM;AAClB,IAAI,MAAM;AACV,MAAM,MAAM;AACZ,MAAM,cAAc;AACpB,MAAM,UAAU;AAChB,MAAM,mBAAmB;AACzB,MAAM,uBAAuB;AAC7B,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC;AAC9B;AACA,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,OAAO,IAAI,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,uBAAuB,EAAE;AAC7F,MAAM,OAAO;AACb,KAAK;AACL;AACA,IAAI,MAAM;AACV,MAAM,UAAU;AAChB,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC;AAC5B,IAAI,MAAM,aAAa,GAAG,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC1D,IAAI,MAAM,IAAI,GAAG,aAAa,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,GAAG;AAC/D,MAAM,EAAE,EAAE,aAAa,CAAC,EAAE;AAC1B,MAAM,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,OAAO;AACtC,MAAM,IAAI,EAAE,aAAa,CAAC,IAAI;AAC9B,MAAM,QAAQ,EAAE,aAAa,CAAC,QAAQ;AACtC,KAAK,GAAG,IAAI,CAAC;AACb,IAAI,MAAM,KAAK,GAAG;AAClB,MAAM,MAAM;AACZ,MAAM,cAAc;AACpB,MAAM,UAAU;AAChB,MAAM,KAAK,EAAE;AACb,QAAQ,CAAC,EAAE,uBAAuB,CAAC,CAAC;AACpC,QAAQ,CAAC,EAAE,uBAAuB,CAAC,CAAC;AACpC,OAAO;AACP,MAAM,IAAI;AACV,KAAK,CAAC;AACN,IAAI0f,gCAAuB,CAAC,MAAM;AAClC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AACpB,MAAM,UAAU,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;AACtD,MAAM,oBAAoB,CAAC;AAC3B,QAAQ,IAAI,EAAE,YAAY;AAC1B,QAAQ,KAAK;AACb,OAAO,CAAC,CAAC;AACT,KAAK,CAAC,CAAC;AACP,GAAG;AACH,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AACZ,EAAE,yBAAyB,CAAC,MAAM;AAClC,IAAI,aAAa,CAAC,OAAO,GAAG;AAC5B,MAAM,cAAc;AACpB,MAAM,MAAM;AACZ,MAAM,UAAU;AAChB,MAAM,aAAa;AACnB,MAAM,UAAU;AAChB,MAAM,cAAc;AACpB,MAAM,cAAc;AACpB,MAAM,YAAY;AAClB,MAAM,gBAAgB;AACtB,MAAM,mBAAmB;AACzB,MAAM,IAAI;AACV,MAAM,mBAAmB;AACzB,MAAM,uBAAuB;AAC7B,KAAK,CAAC;AACN,IAAI,WAAW,CAAC,OAAO,GAAG;AAC1B,MAAM,OAAO,EAAE,gBAAgB;AAC/B,MAAM,UAAU,EAAE,aAAa;AAC/B,KAAK,CAAC;AACN,GAAG,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,mBAAmB,EAAE,IAAI,EAAE,mBAAmB,EAAE,uBAAuB,CAAC,CAAC,CAAC;AAC/L,EAAE,eAAe,CAAC,EAAE,GAAG,iBAAiB;AACxC,IAAI,KAAK,EAAE,SAAS;AACpB,IAAI,YAAY,EAAE,aAAa;AAC/B,IAAI,kBAAkB;AACtB,IAAI,mBAAmB;AACvB,IAAI,uBAAuB;AAC3B,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,aAAa,GAAGrF,aAAO,CAAC,MAAM;AACtC,IAAI,MAAM,OAAO,GAAG;AACpB,MAAM,MAAM;AACZ,MAAM,UAAU;AAChB,MAAM,cAAc;AACpB,MAAM,cAAc;AACpB,MAAM,UAAU;AAChB,MAAM,iBAAiB;AACvB,MAAM,WAAW;AACjB,MAAM,cAAc;AACpB,MAAM,mBAAmB;AACzB,MAAM,cAAc;AACpB,MAAM,IAAI;AACV,MAAM,0BAA0B;AAChC,MAAM,mBAAmB;AACzB,MAAM,uBAAuB;AAC7B,MAAM,sBAAsB;AAC5B,MAAM,kBAAkB;AACxB,MAAM,UAAU;AAChB,KAAK,CAAC;AACN,IAAI,OAAO,OAAO,CAAC;AACnB,GAAG,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,iBAAiB,EAAE,WAAW,EAAE,cAAc,EAAE,mBAAmB,EAAE,cAAc,EAAE,IAAI,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,UAAU,CAAC,CAAC,CAAC;AACpS,EAAE,MAAM,eAAe,GAAGA,aAAO,CAAC,MAAM;AACxC,IAAI,MAAM,OAAO,GAAG;AACpB,MAAM,cAAc;AACpB,MAAM,UAAU;AAChB,MAAM,MAAM;AACZ,MAAM,cAAc;AACpB,MAAM,iBAAiB,EAAE;AACzB,QAAQ,SAAS,EAAE,sBAAsB;AACzC,OAAO;AACP,MAAM,QAAQ;AACd,MAAM,cAAc;AACpB,MAAM,IAAI;AACV,MAAM,0BAA0B;AAChC,KAAK,CAAC;AACN,IAAI,OAAO,OAAO,CAAC;AACnB,GAAG,EAAE,CAAC,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,sBAAsB,EAAE,cAAc,EAAE,IAAI,EAAE,0BAA0B,CAAC,CAAC,CAAC;AAC/I,EAAE,OAAO+E,yBAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,QAAQ,EAAE;AACzD,IAAI,KAAK,EAAE,uBAAuB;AAClC,GAAG,EAAEA,yBAAK,CAAC,aAAa,CAAC,eAAe,CAAC,QAAQ,EAAE;AACnD,IAAI,KAAK,EAAE,eAAe;AAC1B,GAAG,EAAEA,yBAAK,CAAC,aAAa,CAAC,aAAa,CAAC,QAAQ,EAAE;AACjD,IAAI,KAAK,EAAE,aAAa;AACxB,GAAG,EAAEA,yBAAK,CAAC,aAAa,CAAC,sBAAsB,CAAC,QAAQ,EAAE;AAC1D,IAAI,KAAK,EAAE,SAAS;AACpB,GAAG,EAAE,QAAQ,CAAC,CAAC,EAAEA,yBAAK,CAAC,aAAa,CAAC,YAAY,EAAE;AACnD,IAAI,QAAQ,EAAE,CAAC,aAAa,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,aAAa,CAAC,YAAY,MAAM,KAAK;AACrF,GAAG,CAAC,CAAC,EAAEA,yBAAK,CAAC,aAAa,CAAC,aAAa,EAAE,EAAE,GAAG,aAAa;AAC5D,IAAI,uBAAuB,EAAE,sBAAsB;AACnD,GAAG,CAAC,CAAC,CAAC;AACN;AACA,EAAE,SAAS,sBAAsB,GAAG;AACpC,IAAI,MAAM,8BAA8B,GAAG,CAAC,YAAY,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,YAAY,CAAC,iBAAiB,MAAM,KAAK,CAAC;AACtH,IAAI,MAAM,0BAA0B,GAAG,OAAO,UAAU,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,KAAK,KAAK,GAAG,UAAU,KAAK,KAAK,CAAC;AAC5H,IAAI,MAAM,OAAO,GAAG,aAAa,IAAI,CAAC,8BAA8B,IAAI,CAAC,0BAA0B,CAAC;AACpG;AACA,IAAI,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;AACxC,MAAM,OAAO,EAAE,GAAG,UAAU;AAC5B,QAAQ,OAAO;AACf,OAAO,CAAC;AACR,KAAK;AACL;AACA,IAAI,OAAO;AACX,MAAM,OAAO;AACb,KAAK,CAAC;AACN,GAAG;AACH,CAAC,CAAC,CAAC;AACH;AACA,MAAM,WAAW,gBAAgBC,mBAAa,CAAC,IAAI,CAAC,CAAC;AACrD,MAAM,WAAW,GAAG,QAAQ,CAAC;AAC7B,MAAMM,WAAS,GAAG,WAAW,CAAC;AAC9B,SAAS,YAAY,CAAC,IAAI,EAAE;AAC5B,EAAE,IAAI;AACN,IAAI,EAAE;AACN,IAAI,IAAI;AACR,IAAI,QAAQ,GAAG,KAAK;AACpB,IAAI,UAAU;AACd,GAAG,GAAG,IAAI,CAAC;AACX,EAAE,MAAM,GAAG,GAAG,WAAW,CAACA,WAAS,CAAC,CAAC;AACrC,EAAE,MAAM;AACR,IAAI,UAAU;AACd,IAAI,cAAc;AAClB,IAAI,MAAM;AACV,IAAI,cAAc;AAClB,IAAI,iBAAiB;AACrB,IAAI,cAAc;AAClB,IAAI,IAAI;AACR,GAAG,GAAGL,gBAAU,CAAC,eAAe,CAAC,CAAC;AAClC,EAAE,MAAM;AACR,IAAI,IAAI,GAAG,WAAW;AACtB,IAAI,eAAe,GAAG,WAAW;AACjC,IAAI,QAAQ,GAAG,CAAC;AAChB,GAAG,GAAG,UAAU,IAAI,IAAI,GAAG,UAAU,GAAG,EAAE,CAAC;AAC3C,EAAE,MAAM,UAAU,GAAG,CAAC,MAAM,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;AAClE,EAAE,MAAM,SAAS,GAAGA,gBAAU,CAAC,UAAU,GAAG,sBAAsB,GAAG,WAAW,CAAC,CAAC;AAClF,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,UAAU,EAAE,CAAC;AAC1C,EAAE,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC,GAAG,UAAU,EAAE,CAAC;AAC5D,EAAE,MAAM,SAAS,GAAG,qBAAqB,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAC1D,EAAE,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;AACvC,EAAE,yBAAyB,CAAC,MAAM;AAClC,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE;AAC3B,MAAM,EAAE;AACR,MAAM,GAAG;AACT,MAAM,IAAI;AACV,MAAM,aAAa;AACnB,MAAM,IAAI,EAAE,OAAO;AACnB,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,MAAM;AACjB,MAAM,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC1C;AACA,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,KAAK,GAAG,EAAE;AACpC,QAAQ,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAClC,OAAO;AACP,KAAK,CAAC;AACN,GAAG;AACH,EAAE,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC;AACxB,EAAE,MAAM,kBAAkB,GAAGjF,aAAO,CAAC,OAAO;AAC5C,IAAI,IAAI;AACR,IAAI,QAAQ;AACZ,IAAI,eAAe,EAAE,QAAQ;AAC7B,IAAI,cAAc,EAAE,UAAU,IAAI,IAAI,KAAK,WAAW,GAAG,IAAI,GAAG,SAAS;AACzE,IAAI,sBAAsB,EAAE,eAAe;AAC3C,IAAI,kBAAkB,EAAE,iBAAiB,CAAC,SAAS;AACnD,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC;AAC5F,EAAE,OAAO;AACT,IAAI,MAAM;AACV,IAAI,cAAc;AAClB,IAAI,cAAc;AAClB,IAAI,UAAU,EAAE,kBAAkB;AAClC,IAAI,UAAU;AACd,IAAI,SAAS,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS;AAC/C,IAAI,IAAI;AACR,IAAI,IAAI;AACR,IAAI,UAAU;AACd,IAAI,mBAAmB;AACvB,IAAI,SAAS;AACb,GAAG,CAAC;AACJ,CAAC;AACD;AACA,SAAS,aAAa,GAAG;AACzB,EAAE,OAAOiF,gBAAU,CAAC,aAAa,CAAC,CAAC;AACnC,CAAC;AACD;AACA,MAAMM,aAAW,GAAG,WAAW,CAAC;AAChC,MAAM,2BAA2B,GAAG;AACpC,EAAE,OAAO,EAAE,EAAE;AACb,CAAC,CAAC;AACF,SAAS,YAAY,CAAC,IAAI,EAAE;AAC5B,EAAE,IAAI;AACN,IAAI,IAAI;AACR,IAAI,QAAQ,GAAG,KAAK;AACpB,IAAI,EAAE;AACN,IAAI,oBAAoB;AACxB,GAAG,GAAG,IAAI,CAAC;AACX,EAAE,MAAM,GAAG,GAAG,WAAW,CAACA,aAAW,CAAC,CAAC;AACvC,EAAE,MAAM;AACR,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,IAAI;AACR,IAAI,0BAA0B;AAC9B,GAAG,GAAGN,gBAAU,CAAC,eAAe,CAAC,CAAC;AAClC,EAAE,MAAM,QAAQ,GAAG5c,YAAM,CAAC;AAC1B,IAAI,QAAQ;AACZ,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,uBAAuB,GAAGA,YAAM,CAAC,KAAK,CAAC,CAAC;AAChD,EAAE,MAAM,IAAI,GAAGA,YAAM,CAAC,IAAI,CAAC,CAAC;AAC5B,EAAE,MAAM,UAAU,GAAGA,YAAM,CAAC,IAAI,CAAC,CAAC;AAClC,EAAE,MAAM;AACR,IAAI,QAAQ,EAAE,sBAAsB;AACpC,IAAI,qBAAqB;AACzB,IAAI,OAAO,EAAE,qBAAqB;AAClC,GAAG,GAAG,EAAE,GAAG,2BAA2B;AACtC,IAAI,GAAG,oBAAoB;AAC3B,GAAG,CAAC;AACJ,EAAE,MAAM,GAAG,GAAG,cAAc,CAAC,qBAAqB,IAAI,IAAI,GAAG,qBAAqB,GAAG,EAAE,CAAC,CAAC;AACzF,EAAE,MAAM,YAAY,GAAGyc,iBAAW,CAAC,MAAM;AACzC,IAAI,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE;AAC1C;AACA;AACA,MAAM,uBAAuB,CAAC,OAAO,GAAG,IAAI,CAAC;AAC7C,MAAM,OAAO;AACb,KAAK;AACL;AACA,IAAI,IAAI,UAAU,CAAC,OAAO,IAAI,IAAI,EAAE;AACpC,MAAM,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AACvC,KAAK;AACL;AACA,IAAI,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,MAAM;AAC1C,MAAM,0BAA0B,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3F,MAAM,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;AAChC,KAAK,EAAE,qBAAqB,CAAC,CAAC;AAC9B,GAAG;AACH,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC;AAC3B,EAAE,MAAM,cAAc,GAAG,iBAAiB,CAAC;AAC3C,IAAI,QAAQ,EAAE,YAAY;AAC1B,IAAI,QAAQ,EAAE,sBAAsB,IAAI,CAAC,MAAM;AAC/C,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,gBAAgB,GAAGA,iBAAW,CAAC,CAAC,UAAU,EAAE,eAAe,KAAK;AACxE,IAAI,IAAI,CAAC,cAAc,EAAE;AACzB,MAAM,OAAO;AACb,KAAK;AACL;AACA,IAAI,IAAI,eAAe,EAAE;AACzB,MAAM,cAAc,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;AAChD,MAAM,uBAAuB,CAAC,OAAO,GAAG,KAAK,CAAC;AAC9C,KAAK;AACL;AACA,IAAI,IAAI,UAAU,EAAE;AACpB,MAAM,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AACzC,KAAK;AACL,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;AACvB,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;AAC7D,EAAE,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;AACvC,EAAEnf,eAAS,CAAC,MAAM;AAClB,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;AAC7C,MAAM,OAAO;AACb,KAAK;AACL;AACA,IAAI,cAAc,CAAC,UAAU,EAAE,CAAC;AAChC,IAAI,uBAAuB,CAAC,OAAO,GAAG,KAAK,CAAC;AAC5C,IAAI,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAC5C,GAAG,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;AAChC,EAAE,yBAAyB,CAAC,MAAM;AAClC,IAAI,QAAQ,CAAC;AACb,MAAM,IAAI,EAAE,MAAM,CAAC,iBAAiB;AACpC,MAAM,OAAO,EAAE;AACf,QAAQ,EAAE;AACV,QAAQ,GAAG;AACX,QAAQ,QAAQ;AAChB,QAAQ,IAAI,EAAE,OAAO;AACrB,QAAQ,IAAI;AACZ,QAAQ,IAAI,EAAE,OAAO;AACrB,OAAO;AACP,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,MAAM,QAAQ,CAAC;AAC1B,MAAM,IAAI,EAAE,MAAM,CAAC,mBAAmB;AACtC,MAAM,GAAG;AACT,MAAM,EAAE;AACR,KAAK,CAAC,CAAC;AACP,GAAG;AACH,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACR,EAAEA,eAAS,CAAC,MAAM;AAClB,IAAI,IAAI,QAAQ,KAAK,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE;AAChD,MAAM,QAAQ,CAAC;AACf,QAAQ,IAAI,EAAE,MAAM,CAAC,oBAAoB;AACzC,QAAQ,EAAE;AACV,QAAQ,GAAG;AACX,QAAQ,QAAQ;AAChB,OAAO,CAAC,CAAC;AACT,MAAM,QAAQ,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC3C,KAAK;AACL,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;AACpC,EAAE,OAAO;AACT,IAAI,MAAM;AACV,IAAI,IAAI;AACR,IAAI,MAAM,EAAE,CAAC,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,EAAE,MAAM,EAAE;AACpD,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,IAAI;AACR,IAAI,UAAU;AACd,GAAG,CAAC;AACJ;;AC/5GA;AACA;AACA;AACA,SAAS,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;AACpC,EAAE,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;AACjC,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtF,EAAE,OAAO,QAAQ,CAAC;AAClB,CAAC;AAWD;AACA,SAAS,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE;AACtC,EAAE,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,EAAE,KAAK,KAAK;AAClD,IAAI,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC/B;AACA,IAAI,IAAI,IAAI,EAAE;AACd,MAAM,WAAW,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;AAChC,KAAK;AACL;AACA,IAAI,OAAO,WAAW,CAAC;AACvB,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AAC1B,CAAC;AACD;AACA,SAAS,YAAY,CAAC,KAAK,EAAE;AAC7B,EAAE,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC;AACtC,CAAC;AACD;AACA,SAAS,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE;AAC1B,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;AACf,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH;AACA,EAAE,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE;AAC7B,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH;AACA,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACrC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;AACvB,MAAM,OAAO,KAAK,CAAC;AACnB,KAAK;AACL,GAAG;AACH;AACA,EAAE,OAAO,IAAI,CAAC;AACd,CAAC;AACD;AACA,SAAS,iBAAiB,CAAC,QAAQ,EAAE;AACrC,EAAE,IAAI,OAAO,QAAQ,KAAK,SAAS,EAAE;AACrC,IAAI,OAAO;AACX,MAAM,SAAS,EAAE,QAAQ;AACzB,MAAM,SAAS,EAAE,QAAQ;AACzB,KAAK,CAAC;AACN,GAAG;AACH;AACA,EAAE,OAAO,QAAQ,CAAC;AAClB,CAAC;AA6ED;AACA,MAAM,mBAAmB,GAAG,IAAI,IAAI;AACpC,EAAE,IAAI;AACN,IAAI,KAAK;AACT,IAAI,WAAW;AACf,IAAI,SAAS;AACb,IAAI,KAAK;AACT,GAAG,GAAG,IAAI,CAAC;AACX,EAAE,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;AAC5D,EAAE,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;AAC/B,EAAE,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AAClC;AACA,EAAE,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE;AAC5B,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH;AACA,EAAE,OAAO;AACT,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI;AAClC,IAAI,CAAC,EAAE,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG;AAChC,IAAI,MAAM,EAAE,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK;AACzC,IAAI,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM;AAC3C,GAAG,CAAC;AACJ,CAAC,CAAC;AAiCF;AACA;AACA,MAAM,cAAc,GAAG;AACvB,EAAE,MAAM,EAAE,CAAC;AACX,EAAE,MAAM,EAAE,CAAC;AACX,CAAC,CAAC;AACF,MAAM,2BAA2B,GAAG,IAAI,IAAI;AAC5C,EAAE,IAAI,kBAAkB,CAAC;AACzB;AACA,EAAE,IAAI;AACN,IAAI,WAAW;AACf,IAAI,cAAc,EAAE,kBAAkB;AACtC,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,SAAS;AACb,GAAG,GAAG,IAAI,CAAC;AACX,EAAE,MAAM,cAAc,GAAG,CAAC,kBAAkB,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,GAAG,kBAAkB,GAAG,kBAAkB,CAAC;AACrH;AACA,EAAE,IAAI,CAAC,cAAc,EAAE;AACvB,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH;AACA,EAAE,IAAI,KAAK,KAAK,WAAW,EAAE;AAC7B,IAAI,MAAM,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;AAC3C;AACA,IAAI,IAAI,CAAC,aAAa,EAAE;AACxB,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK;AACL;AACA,IAAI,OAAO;AACX,MAAM,CAAC,EAAE,CAAC;AACV,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,GAAG,aAAa,CAAC,GAAG,GAAG,aAAa,CAAC,MAAM,IAAI,cAAc,CAAC,GAAG,GAAG,cAAc,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,GAAG,GAAG,cAAc,CAAC,GAAG;AACnK,MAAM,GAAG,cAAc;AACvB,KAAK,CAAC;AACN,GAAG;AACH;AACA,EAAE,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;AAC1D;AACA,EAAE,IAAI,KAAK,GAAG,WAAW,IAAI,KAAK,IAAI,SAAS,EAAE;AACjD,IAAI,OAAO;AACX,MAAM,CAAC,EAAE,CAAC;AACV,MAAM,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,GAAG,OAAO;AACzC,MAAM,GAAG,cAAc;AACvB,KAAK,CAAC;AACN,GAAG;AACH;AACA,EAAE,IAAI,KAAK,GAAG,WAAW,IAAI,KAAK,IAAI,SAAS,EAAE;AACjD,IAAI,OAAO;AACX,MAAM,CAAC,EAAE,CAAC;AACV,MAAM,CAAC,EAAE,cAAc,CAAC,MAAM,GAAG,OAAO;AACxC,MAAM,GAAG,cAAc;AACvB,KAAK,CAAC;AACN,GAAG;AACH;AACA,EAAE,OAAO;AACT,IAAI,CAAC,EAAE,CAAC;AACR,IAAI,CAAC,EAAE,CAAC;AACR,IAAI,GAAG,cAAc;AACrB,GAAG,CAAC;AACJ,CAAC,CAAC;AACF;AACA,SAAS,YAAY,CAAC,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;AACvD,EAAE,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;AACzC,EAAE,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;AAC9C,EAAE,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;AAC1C;AACA,EAAE,IAAI,CAAC,WAAW,EAAE;AACpB,IAAI,OAAO,CAAC,CAAC;AACb,GAAG;AACH;AACA,EAAE,IAAI,WAAW,GAAG,KAAK,EAAE;AAC3B,IAAI,OAAO,YAAY,GAAG,WAAW,CAAC,GAAG,IAAI,YAAY,CAAC,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,QAAQ,GAAG,QAAQ,CAAC,GAAG,IAAI,WAAW,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC5J,GAAG;AACH;AACA,EAAE,OAAO,QAAQ,GAAG,QAAQ,CAAC,GAAG,IAAI,WAAW,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,YAAY,GAAG,WAAW,CAAC,GAAG,IAAI,YAAY,CAAC,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC1J,CAAC;AACD;AACA,MAAM,SAAS,GAAG,UAAU,CAAC;AAC7B,MAAM,OAAO,gBAAgBof,yBAAK,CAAC,aAAa,CAAC;AACjD,EAAE,WAAW,EAAE,CAAC,CAAC;AACjB,EAAE,WAAW,EAAE,SAAS;AACxB,EAAE,iBAAiB,EAAE,KAAK;AAC1B,EAAE,KAAK,EAAE,EAAE;AACX,EAAE,SAAS,EAAE,CAAC,CAAC;AACf,EAAE,cAAc,EAAE,KAAK;AACvB,EAAE,WAAW,EAAE,EAAE;AACjB,EAAE,QAAQ,EAAE,mBAAmB;AAC/B,EAAE,QAAQ,EAAE;AACZ,IAAI,SAAS,EAAE,KAAK;AACpB,IAAI,SAAS,EAAE,KAAK;AACpB,GAAG;AACH,CAAC,CAAC,CAAC;AACH,SAAS,eAAe,CAAC,IAAI,EAAE;AAC/B,EAAE,IAAI;AACN,IAAI,QAAQ;AACZ,IAAI,EAAE;AACN,IAAI,KAAK,EAAE,gBAAgB;AAC3B,IAAI,QAAQ,GAAG,mBAAmB;AAClC,IAAI,QAAQ,EAAE,YAAY,GAAG,KAAK;AAClC,GAAG,GAAG,IAAI,CAAC;AACX,EAAE,MAAM;AACR,IAAI,MAAM;AACV,IAAI,WAAW;AACf,IAAI,cAAc;AAClB,IAAI,IAAI;AACR,IAAI,0BAA0B;AAC9B,GAAG,GAAG,aAAa,EAAE,CAAC;AACtB,EAAE,MAAM,WAAW,GAAG,WAAW,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AACjD,EAAE,MAAM,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAC5D,EAAE,MAAM,KAAK,GAAG/E,aAAO,CAAC,MAAM,gBAAgB,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAC3I,EAAE,MAAM,UAAU,GAAG,MAAM,IAAI,IAAI,CAAC;AACpC,EAAE,MAAM,WAAW,GAAG,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7D,EAAE,MAAM,SAAS,GAAG,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AACvD,EAAE,MAAM,gBAAgB,GAAG3X,YAAM,CAAC,KAAK,CAAC,CAAC;AACzC,EAAE,MAAM,gBAAgB,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;AACxE,EAAE,MAAM,iBAAiB,GAAG,SAAS,KAAK,CAAC,CAAC,IAAI,WAAW,KAAK,CAAC,CAAC,IAAI,gBAAgB,CAAC;AACvF,EAAE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;AACnD,EAAE,yBAAyB,CAAC,MAAM;AAClC,IAAI,IAAI,gBAAgB,IAAI,UAAU,EAAE;AACxC,MAAM,0BAA0B,CAAC,KAAK,CAAC,CAAC;AACxC,KAAK;AACL,GAAG,EAAE,CAAC,gBAAgB,EAAE,KAAK,EAAE,UAAU,EAAE,0BAA0B,CAAC,CAAC,CAAC;AACxE,EAAE1C,eAAS,CAAC,MAAM;AAClB,IAAI,gBAAgB,CAAC,OAAO,GAAG,KAAK,CAAC;AACrC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AACd,EAAE,MAAM,YAAY,GAAGqa,aAAO,CAAC,OAAO;AACtC,IAAI,WAAW;AACf,IAAI,WAAW;AACf,IAAI,QAAQ;AACZ,IAAI,iBAAiB;AACrB,IAAI,KAAK;AACT,IAAI,SAAS;AACb,IAAI,cAAc;AAClB,IAAI,WAAW,EAAE,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC;AACtD,IAAI,QAAQ;AACZ,GAAG,CAAC;AACJ,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC;AACrJ,EAAE,OAAO+E,yBAAK,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE;AAC/C,IAAI,KAAK,EAAE,YAAY;AACvB,GAAG,EAAE,QAAQ,CAAC,CAAC;AACf,CAAC;AACD;AACA,MAAM,qBAAqB,GAAG,IAAI,IAAI;AACtC,EAAE,IAAI;AACN,IAAI,EAAE;AACN,IAAI,KAAK;AACT,IAAI,WAAW;AACf,IAAI,SAAS;AACb,GAAG,GAAG,IAAI,CAAC;AACX,EAAE,OAAO,SAAS,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAC9D,CAAC,CAAC;AACF,MAAM,2BAA2B,GAAG,KAAK,IAAI;AAC7C,EAAE,IAAI;AACN,IAAI,WAAW;AACf,IAAI,SAAS;AACb,IAAI,WAAW;AACf,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,QAAQ;AACZ,IAAI,aAAa;AACjB,IAAI,mBAAmB;AACvB,IAAI,UAAU;AACd,GAAG,GAAG,KAAK,CAAC;AACZ;AACA,EAAE,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW,EAAE;AACnC,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH;AACA,EAAE,IAAI,aAAa,KAAK,KAAK,IAAI,KAAK,KAAK,QAAQ,EAAE;AACrD,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH;AACA,EAAE,IAAI,SAAS,EAAE;AACjB,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH;AACA,EAAE,OAAO,QAAQ,KAAK,KAAK,IAAI,WAAW,KAAK,mBAAmB,CAAC;AACnE,CAAC,CAAC;AACF,MAAM,iBAAiB,GAAG;AAC1B,EAAE,QAAQ,EAAE,GAAG;AACf,EAAE,MAAM,EAAE,MAAM;AAChB,CAAC,CAAC;AACF,MAAM,kBAAkB,GAAG,WAAW,CAAC;AACvC,MAAM,kBAAkB,gBAAgB,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC;AAChE,EAAE,QAAQ,EAAE,kBAAkB;AAC9B,EAAE,QAAQ,EAAE,CAAC;AACb,EAAE,MAAM,EAAE,QAAQ;AAClB,CAAC,CAAC,CAAC;AACH,MAAM,iBAAiB,GAAG;AAC1B,EAAE,eAAe,EAAE,UAAU;AAC7B,CAAC,CAAC;AACF;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,mBAAmB,CAAC,IAAI,EAAE;AACnC,EAAE,IAAI;AACN,IAAI,QAAQ;AACZ,IAAI,KAAK;AACT,IAAI,IAAI;AACR,IAAI,IAAI;AACR,GAAG,GAAG,IAAI,CAAC;AACX,EAAE,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG9c,cAAQ,CAAC,IAAI,CAAC,CAAC;AACjE,EAAE,MAAM,aAAa,GAAGI,YAAM,CAAC,KAAK,CAAC,CAAC;AACtC,EAAE,yBAAyB,CAAC,MAAM;AAClC,IAAI,IAAI,CAAC,QAAQ,IAAI,KAAK,KAAK,aAAa,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE;AACtE,MAAM,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;AACnC;AACA,MAAM,IAAI,OAAO,EAAE;AACnB,QAAQ,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE;AACpD,UAAU,eAAe,EAAE,IAAI;AAC/B,SAAS,CAAC,CAAC;AACX,QAAQ,MAAM,KAAK,GAAG;AACtB,UAAU,CAAC,EAAE,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI;AACxC,UAAU,CAAC,EAAE,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG;AACtC,UAAU,MAAM,EAAE,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK;AAC/C,UAAU,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM;AACjD,SAAS,CAAC;AACV;AACA,QAAQ,IAAI,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE;AAChC,UAAU,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACrC,SAAS;AACT,OAAO;AACP,KAAK;AACL;AACA,IAAI,IAAI,KAAK,KAAK,aAAa,CAAC,OAAO,EAAE;AACzC,MAAM,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;AACpC,KAAK;AACL,GAAG,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AACpC,EAAE1C,eAAS,CAAC,MAAM;AAClB,IAAI,IAAI,gBAAgB,EAAE;AAC1B,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAChC,KAAK;AACL,GAAG,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;AACzB,EAAE,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AACD;AACA,SAAS,WAAW,CAAC,IAAI,EAAE;AAC3B,EAAE,IAAI;AACN,IAAI,oBAAoB,GAAG,2BAA2B;AACtD,IAAI,UAAU,EAAE,qBAAqB;AACrC,IAAI,QAAQ,EAAE,aAAa;AAC3B,IAAI,IAAI,EAAE,UAAU;AACpB,IAAI,WAAW,GAAG,qBAAqB;AACvC,IAAI,EAAE;AACN,IAAI,QAAQ,EAAE,aAAa;AAC3B,IAAI,oBAAoB;AACxB,IAAI,UAAU,GAAG,iBAAiB;AAClC,GAAG,GAAG,IAAI,CAAC;AACX,EAAE,MAAM;AACR,IAAI,KAAK;AACT,IAAI,WAAW;AACf,IAAI,WAAW;AACf,IAAI,QAAQ,EAAE,cAAc;AAC5B,IAAI,iBAAiB;AACrB,IAAI,WAAW;AACf,IAAI,SAAS;AACb,IAAI,cAAc;AAClB,IAAI,QAAQ,EAAE,cAAc;AAC5B,GAAG,GAAGsf,gBAAU,CAAC,OAAO,CAAC,CAAC;AAC1B,EAAE,MAAM,QAAQ,GAAG,sBAAsB,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;AACzE,EAAE,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAClC,EAAE,MAAM,IAAI,GAAGjF,aAAO,CAAC,OAAO;AAC9B,IAAI,QAAQ,EAAE;AACd,MAAM,WAAW;AACjB,MAAM,KAAK;AACX,MAAM,KAAK;AACX,KAAK;AACL,IAAI,GAAG,UAAU;AACjB,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AAC/C,EAAE,MAAM,yBAAyB,GAAGA,aAAO,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;AAC/F,EAAE,MAAM;AACR,IAAI,IAAI;AACR,IAAI,IAAI;AACR,IAAI,MAAM;AACV,IAAI,UAAU,EAAE,mBAAmB;AACnC,GAAG,GAAG,YAAY,CAAC;AACnB,IAAI,EAAE;AACN,IAAI,IAAI;AACR,IAAI,QAAQ,EAAE,QAAQ,CAAC,SAAS;AAChC,IAAI,oBAAoB,EAAE;AAC1B,MAAM,qBAAqB,EAAE,yBAAyB;AACtD,MAAM,GAAG,oBAAoB;AAC7B,KAAK;AACL,GAAG,CAAC,CAAC;AACL,EAAE,MAAM;AACR,IAAI,MAAM;AACV,IAAI,cAAc;AAClB,IAAI,cAAc;AAClB,IAAI,UAAU;AACd,IAAI,UAAU,EAAE,mBAAmB;AACnC,IAAI,SAAS;AACb,IAAI,UAAU;AACd,IAAI,IAAI;AACR,IAAI,mBAAmB;AACvB,IAAI,SAAS;AACb,GAAG,GAAG,YAAY,CAAC;AACnB,IAAI,EAAE;AACN,IAAI,IAAI;AACR,IAAI,UAAU,EAAE,EAAE,GAAG,iBAAiB;AACtC,MAAM,GAAG,qBAAqB;AAC9B,KAAK;AACL,IAAI,QAAQ,EAAE,QAAQ,CAAC,SAAS;AAChC,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,UAAU,GAAG,eAAe,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;AAC/E,EAAE,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AACpC,EAAE,MAAM,YAAY,GAAG,SAAS,IAAI,CAAC,iBAAiB,IAAI,YAAY,CAAC,WAAW,CAAC,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC;AAC/G,EAAE,MAAM,wBAAwB,GAAG,CAAC,cAAc,IAAI,UAAU,CAAC;AACjE,EAAE,MAAM,sBAAsB,GAAG,wBAAwB,IAAI,YAAY,GAAG,SAAS,GAAG,IAAI,CAAC;AAC7F,EAAE,MAAM,QAAQ,GAAG,aAAa,IAAI,IAAI,GAAG,aAAa,GAAG,cAAc,CAAC;AAC1E,EAAE,MAAM,cAAc,GAAG,YAAY,GAAG,sBAAsB,IAAI,IAAI,GAAG,sBAAsB,GAAG,QAAQ,CAAC;AAC3G,IAAI,KAAK,EAAE,WAAW;AACtB,IAAI,cAAc;AAClB,IAAI,WAAW;AACf,IAAI,SAAS;AACb,IAAI,KAAK;AACT,GAAG,CAAC,GAAG,IAAI,CAAC;AACZ,EAAE,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC,IAAI,YAAY,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC;AACtF,IAAI,EAAE;AACN,IAAI,KAAK;AACT,IAAI,WAAW;AACf,IAAI,SAAS;AACb,GAAG,CAAC,GAAG,KAAK,CAAC;AACb,EAAE,MAAM,QAAQ,GAAG,MAAM,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC;AACvD,EAAE,MAAM,QAAQ,GAAG3X,YAAM,CAAC;AAC1B,IAAI,QAAQ;AACZ,IAAI,KAAK;AACT,IAAI,QAAQ;AACZ,IAAI,WAAW;AACf,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,gBAAgB,GAAG,KAAK,KAAK,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;AAC5D,EAAE,MAAM,0BAA0B,GAAG,oBAAoB,CAAC;AAC1D,IAAI,MAAM;AACV,IAAI,WAAW;AACf,IAAI,UAAU;AACd,IAAI,SAAS;AACb,IAAI,EAAE;AACN,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ;AACvC,IAAI,aAAa,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK;AACzC,IAAI,mBAAmB,EAAE,QAAQ,CAAC,OAAO,CAAC,WAAW;AACrD,IAAI,UAAU;AACd,IAAI,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI;AAClD,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAC/C,IAAI,QAAQ,EAAE,CAAC,0BAA0B;AACzC,IAAI,KAAK;AACT,IAAI,IAAI;AACR,IAAI,IAAI;AACR,GAAG,CAAC,CAAC;AACL,EAAE1C,eAAS,CAAC,MAAM;AAClB,IAAI,IAAI,SAAS,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE;AAC7D,MAAM,QAAQ,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC3C,KAAK;AACL;AACA,IAAI,IAAI,WAAW,KAAK,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE;AACtD,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC;AACjD,KAAK;AACL;AACA,IAAI,IAAI,KAAK,KAAK,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE;AAC1C,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;AACrC,KAAK;AACL,GAAG,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;AAChD,EAAEA,eAAS,CAAC,MAAM;AAClB,IAAI,IAAI,QAAQ,KAAK,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE;AAChD,MAAM,OAAO;AACb,KAAK;AACL;AACA,IAAI,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE;AAChD,MAAM,QAAQ,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC3C,MAAM,OAAO;AACb,KAAK;AACL;AACA,IAAI,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM;AACvC,MAAM,QAAQ,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC3C,KAAK,EAAE,EAAE,CAAC,CAAC;AACX,IAAI,OAAO,MAAM,YAAY,CAAC,SAAS,CAAC,CAAC;AACzC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjB,EAAE,OAAO;AACT,IAAI,MAAM;AACV,IAAI,WAAW;AACf,IAAI,UAAU;AACd,IAAI,IAAI;AACR,IAAI,IAAI;AACR,IAAI,KAAK;AACT,IAAI,QAAQ;AACZ,IAAI,KAAK;AACT,IAAI,MAAM;AACV,IAAI,SAAS;AACb,IAAI,UAAU;AACd,IAAI,SAAS;AACb,IAAI,IAAI;AACR,IAAI,SAAS;AACb,IAAI,IAAI;AACR,IAAI,UAAU;AACd,IAAI,mBAAmB;AACvB,IAAI,mBAAmB;AACvB,IAAI,mBAAmB;AACvB,IAAI,SAAS,EAAE,gBAAgB,IAAI,IAAI,GAAG,gBAAgB,GAAG,cAAc;AAC3E,IAAI,UAAU,EAAE,aAAa,EAAE;AAC/B,GAAG,CAAC;AACJ;AACA,EAAE,SAAS,aAAa,GAAG;AAC3B,IAAI;AACJ,IAAI,gBAAgB;AACpB,IAAI,gBAAgB,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,KAAK,KAAK,EAAE;AAC7D,MAAM,OAAO,kBAAkB,CAAC;AAChC,KAAK;AACL;AACA,IAAI,IAAI,wBAAwB,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE;AACrF,MAAM,OAAO,SAAS,CAAC;AACvB,KAAK;AACL;AACA,IAAI,IAAI,SAAS,IAAI,0BAA0B,EAAE;AACjD,MAAM,OAAO,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,GAAG,UAAU;AACpD,QAAQ,QAAQ,EAAE,kBAAkB;AACpC,OAAO,CAAC,CAAC;AACT,KAAK;AACL;AACA,IAAI,OAAO,SAAS,CAAC;AACrB,GAAG;AACH,CAAC;AACD;AACA,SAAS,sBAAsB,CAAC,aAAa,EAAE,cAAc,EAAE;AAC/D,EAAE,IAAI,qBAAqB,EAAE,qBAAqB,CAAC;AACnD;AACA,EAAE,IAAI,OAAO,aAAa,KAAK,SAAS,EAAE;AAC1C,IAAI,OAAO;AACX,MAAM,SAAS,EAAE,aAAa;AAC9B;AACA,MAAM,SAAS,EAAE,KAAK;AACtB,KAAK,CAAC;AACN,GAAG;AACH;AACA,EAAE,OAAO;AACT,IAAI,SAAS,EAAE,CAAC,qBAAqB,GAAG,aAAa,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,aAAa,CAAC,SAAS,KAAK,IAAI,GAAG,qBAAqB,GAAG,cAAc,CAAC,SAAS;AAC5J,IAAI,SAAS,EAAE,CAAC,qBAAqB,GAAG,aAAa,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,aAAa,CAAC,SAAS,KAAK,IAAI,GAAG,qBAAqB,GAAG,cAAc,CAAC,SAAS;AAC5J,GAAG,CAAC;AACJ,CAAC;AAeD;AACmB,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,EAAE,YAAY,CAAC,IAAI;;;;ACxoB7F,IAAM6f,UAAU,GAAG,SAAbA,UAAUA,CAAA5mB,IAAA,EAAiC;AAAA,EAAA,IAA3BwN,KAAK,GAAAxN,IAAA,CAALwN,KAAK;IAAE2F,KAAK,GAAAnT,IAAA,CAALmT,KAAK;IAAEhF,MAAM,GAAAnO,IAAA,CAANmO,MAAM,CAAA;EACxC,IAAM0Y,iBAAiB,GAAGC,iBAAO,CAAC;AAAEjX,IAAAA,QAAQ,EAAE,IAAA;GAAM,EAAE1B,MAAM,CAAC,CAAA;EAE7D,IAAA4Y,YAAA,GAAyDC,WAAW,CAAC;MACnEhjB,EAAE,EAAEwJ,KAAK,CAACxJ,EAAE;AACZC,MAAAA,IAAI,EAAE;AAAEkP,QAAAA,KAAK,EAALA,KAAAA;AAAM,OAAA;AAChB,KAAC,CAAC;IAHM8T,UAAU,GAAAF,YAAA,CAAVE,UAAU;IAAEC,SAAS,GAAAH,YAAA,CAATG,SAAS;IAAEC,UAAU,GAAAJ,YAAA,CAAVI,UAAU;IAAEC,SAAS,GAAAL,YAAA,CAATK,SAAS,CAAA;AAKpD,EAAA,IAAM1a,KAAK,GAAG;AAAE0a,IAAAA,SAAS,EAAEC,GAAG,CAACC,SAAS,CAAC7jB,QAAQ,CAAC2jB,SAAS,CAAA;GAAG,CAAA;AAE9D,EAAA,oBACE7e,eAAA,CAAA,KAAA,EAAApB,eAAA,CAAAA,eAAA,CAAA;AACEgE,IAAAA,GAAG,EAAEgc,UAAAA;GAAWhgB,EAAAA,eAAA,CAAAA,eAAA,CAAA;AACVuF,IAAAA,KAAK,EAALA,KAAAA;GAAUua,EAAAA,UAAU,GAAKC,SAAS,CAAA,CAAA,EAAA,EAAA,EAAA;AACxC1e,IAAAA,SAAS,EAAC,4EAA4E;AACtF,IAAA,SAAA,EAAQ,qBAAqB;AAAAF,IAAAA,QAAA,gBAE7BN,cAAA,CAAA,KAAA,EAAA;AAAKQ,MAAAA,SAAS,EAAC,4HAA4H;AAAAF,MAAAA,QAAA,EACxI6K,KAAK,GAAG0T,iBAAiB,GAAG,CAAA;KAC1B,CAAC,eACNte,eAAA,CAAA,KAAA,EAAA;AAAKC,MAAAA,SAAS,EAAC,8IAA8I;AAAAF,MAAAA,QAAA,gBAC3JN,cAAA,CAACuf,kBAAO,EAAE,EAAA,CAAC,eACXvf,cAAA,CAAA,KAAA,EAAA;AAAK,QAAA,SAAA,EAAQ,0BAA0B;QAAAM,QAAA,EAAEkF,KAAK,CAAChO,IAAAA;AAAI,OAAM,CAAC,CAAA;AAAA,KACvD,CAAC,CAAA;AAAA,GAAA,CACH,CAAC,CAAA;AAEV,CAAC,CAAA;AAED,mBAAA,aAAe2mB,yBAAK,CAACK,IAAI,CAACI,UAAU,CAAC;;ACbrC,IAAMY,WAAW,GAAG,SAAdA,WAAWA,CAAAxnB,IAAA,EAAqC;AAAA,EAAA,IAA/BuJ,MAAM,GAAAvJ,IAAA,CAANuJ,MAAM;IAAE+K,OAAO,GAAAtU,IAAA,CAAPsU,OAAO;IAAE5D,OAAO,GAAA1Q,IAAA,CAAP0Q,OAAO,CAAA;AAC7C,EAAA,IAAAtH,SAAA,GAA4BC,cAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAtD,cAAA,CAAAoD,SAAA,EAAA,CAAA,CAAA;AAAjC+E,IAAAA,MAAM,GAAA7E,UAAA,CAAA,CAAA,CAAA;AAAEme,IAAAA,SAAS,GAAAne,UAAA,CAAA,CAAA,CAAA,CAAA;AACxB,EAAA,IAAMoe,eAAe,GAAGje,YAAM,CAAC,EAAE,CAAC,CAAA;AAElC,EAAA,IAAAwM,eAAA,GAAcC,2BAAc,EAAE;IAAtB5Y,CAAC,GAAA2Y,eAAA,CAAD3Y,CAAC,CAAA;AACT,EAAA,IAAAknB,eAAA,GAAqBC,oBAAc,EAAE;IAA7B/H,QAAQ,GAAA8H,eAAA,CAAR9H,QAAQ,CAAA;AAEhB,EAAA,IAAAiL,iBAAA,GAA0D1U,gBAAgB,EAAE;IAA5D2U,YAAY,GAAAD,iBAAA,CAApB3O,MAAM;IAA2BzT,YAAY,GAAAoiB,iBAAA,CAAvB1O,SAAS,CAAA;AAEvC,EAAA,IAAMqI,WAAW,GAAG;IAClB7Q,YAAY,EAAEzR,aAAO,CAAC0R,OAAO,CAAC,GAAGgM,QAAQ,GAAGjW,SAAS;AACrDiK,IAAAA,OAAO,EAAPA,OAAO;IACPC,KAAK,EAAE/S,YAAY,CAACC,MAAM;AAC1B0iB,IAAAA,UAAU,EAAE,EAAA;GACb,CAAA;AAED,EAAA,IAAAgB,eAAA,GAAkDpP,cAAc,CAC9DmP,WAAW,EACX;AAAEjW,MAAAA,OAAO,EAAE,CAAC,CAACqR,QAAQ,IAAInT,MAAAA;AAAO,KAClC,CAAC;IAAAmY,oBAAA,GAAAH,eAAA,CAHOtd,IAAI;AAAA0d,IAAAA,qBAAA,GAAAD,oBAAA,KAAA,KAAA,CAAA,GAA+B,EAAE,GAAAA,oBAAA;IAAAE,qBAAA,GAAAD,qBAAA,CAA7BxT,MAAM;AAAE0Z,IAAAA,SAAS,GAAAjG,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA,CAAA;AAKtC,EAAA,IAAMkG,aAAa,GAAG,SAAhBA,aAAaA,CAAA3nB,KAAA,EAAyB;AAAA,IAAA,IAAnBtC,MAAM,GAAAsC,KAAA,CAANtC,MAAM;MAAEkqB,IAAI,GAAA5nB,KAAA,CAAJ4nB,IAAI,CAAA;AACnC,IAAA,IAAIlqB,MAAM,CAACmG,EAAE,KAAK+jB,IAAI,CAAC/jB,EAAE,EAAE;MACzByjB,SAAS,CAAC,UAAAtZ,MAAM,EAAA;AAAA,QAAA,OACd6Z,SAAS,CAAC7Z,MAAM,EAAEtQ,MAAM,CAACoG,IAAI,CAAC2B,OAAO,CAACuN,KAAK,EAAE4U,IAAI,CAAC9jB,IAAI,CAAC2B,OAAO,CAACuN,KAAK,CAAC,CAAA;AAAA,OACvE,CAAC,CAAA;AACH,KAAA;GACD,CAAA;AAED,EAAA,IAAM8U,iBAAiB,GAAG,SAApBA,iBAAiBA,GAAS;IAC9B,IAAMhX,MAAM,GAAG,EAAE,CAAA;AACjB9C,IAAAA,MAAM,CAACtH,GAAG,CACR,UAAC2G,KAAK,EAAE2F,KAAK,EAAA;AAAA,MAAA,OACX3F,KAAK,CAACxJ,EAAE,KAAK6jB,SAAS,CAAC1U,KAAK,CAAC,CAACnP,EAAE,IAChCiN,MAAM,CAACzC,IAAI,CAAC;QAAExK,EAAE,EAAEwJ,KAAK,CAACxJ,EAAE;QAAEoP,YAAY,EAAED,KAAK,GAAG,CAAA;AAAE,OAAC,CAAC,CAAA;AAAA,KAC1D,CAAC,CAAA;AAEDyU,IAAAA,YAAY,CACV;MAAElX,OAAO,EAAE1R,aAAO,CAAC0R,OAAO,CAAC,GAAGjK,SAAS,GAAGiK,OAAO;AAAEvC,MAAAA,MAAM,EAAE8C,MAAAA;AAAO,KAAC,EACnE;AAAE6H,MAAAA,SAAS,EAAExE,OAAAA;AAAQ,KACvB,CAAC,CAAA;GACF,CAAA;AAEDvN,EAAAA,eAAS,CAAC,YAAM;AACd,IAAA,IAAI/H,aAAO,CAAC6oB,SAAS,CAAC,EAAE,OAAA;IACxBJ,SAAS,CAACI,SAAS,CAAC,CAAA;IACpBH,eAAe,CAAC9hB,OAAO,GAAGiiB,SAAS,CAAA;AACrC,GAAC,EAAE,CAACA,SAAS,CAAC,CAAC,CAAA;EAEf,oBACEtf,eAAA,CAACiM,wBAAI,EAAA;AAAOjL,IAAAA,MAAM,EAANA,MAAM;AAAE+K,IAAAA,OAAO,EAAPA,OAAO;AAAAhM,IAAAA,QAAA,EACzBN,cAAAA,cAAA,CAACwM,wBAAI,CAAC2E,MAAM,EAAA;MAAA7Q,QAAA,eACVN,cAAA,CAACoI,8BAAU,EAAA;AAAC,QAAA,SAAA,EAAQ,qBAAqB;AAAC1D,QAAAA,KAAK,EAAC,IAAI;AAACwb,QAAAA,MAAM,EAAC,UAAU;QAAA5f,QAAA,EACnEhL,CAAC,CAAC,kCAAkC,CAAA;OAC3B,CAAA;AAAC,KACF,CAAC,eACdiL,eAAA,CAACiM,wBAAI,CAAC8D,IAAI,EAAA;MAAAhQ,QAAA,EAAA,cACRN,cAAA,CAACoI,8BAAU,EAAA;AACT5H,QAAAA,SAAS,EAAC,MAAM;AAChB,QAAA,SAAA,EAAQ,sBAAsB;AAC9BkE,QAAAA,KAAK,EAAC,OAAO;QAAApE,QAAA,EAEZhL,CAAC,CAAC,oCAAoC,CAAA;OAC7B,CAAC,eACb0K,cAAA,CAAA,KAAA,EAAA;AAAKQ,QAAAA,SAAS,EAAC,mCAAmC;QAAAF,QAAA,eAChDN,cAAA,CAACmgB,UAAU,EAAA;AACTC,UAAAA,kBAAkB,EAAEC,aAAc;AAClCC,UAAAA,SAAS,EAAER,aAAc;UAAAxf,QAAA,eAEzBN,cAAA,CAACugB,eAAe,EAAA;AACdxM,YAAAA,KAAK,EAAE5N,MAAO;AACdxD,YAAAA,QAAQ,EAAE6d,2BAA4B;YAAAlgB,QAAA,EAErC6F,MAAM,CAACtH,GAAG,CAAC,UAAC2G,KAAK,EAAE2F,KAAK,EAAK;AAC5B,cAAA,IAAI3F,KAAK,CAACqC,QAAQ,EAAE,OAAO,IAAI,CAAA;cAE/B,oBAAO4Y,mBAAA,CAAC7B,YAAU,EAAA;AAAOpZ,gBAAAA,KAAK,EAALA,KAAK;AAAEW,gBAAAA,MAAM,EAANA,MAAM;AAAEgF,gBAAAA,KAAK,EAALA,KAAK;AAAIlH,gBAAAA,GAAG,EAAEkH,KAAAA;AAAM,eAAE,CAAC,CAAA;aAChE,CAAA;WACc,CAAA;SACP,CAAA;AAAC,OACV,CAAC,CAAA;AAAA,KACG,CAAC,eACZ5K,eAAA,CAACiM,wBAAI,CAACC,MAAM,EAAA;AAACjM,MAAAA,SAAS,EAAC,6BAA6B;MAAAF,QAAA,EAAA,cAClDN,cAAA,CAACwP,0BAAM,EAAA;AACL,QAAA,SAAA,EAAQ,qBAAqB;AAC7BnT,QAAAA,QAAQ,EAAEqjB,eAAe,CAAC9hB,OAAO,KAAKuI,MAAO;AAC7C9G,QAAAA,KAAK,EAAE/J,CAAC,CAAC,gCAAgC,CAAE;AAC3CiX,QAAAA,OAAO,EAAEhP,YAAa;AACtBqP,QAAAA,OAAO,EAAEqT,iBAAAA;AAAkB,OAC5B,CAAC,eACFjgB,cAAA,CAACwP,0BAAM,EAAA;AACL,QAAA,SAAA,EAAQ,eAAe;AACvBnQ,QAAAA,KAAK,EAAE/J,CAAC,CAAC,2BAA2B,CAAE;AACtCoP,QAAAA,KAAK,EAAC,MAAM;AACZkI,QAAAA,OAAO,EAAEN,OAAAA;AAAQ,OAClB,CAAC,CAAA;AAAA,KACS,CAAC,CAAA;AAAA,GACV,CAAC,CAAA;AAEX,CAAC;;ACjHD,IAAMoU,SAAS,GAAG,SAAZA,SAASA,CAAA1oB,IAAA,EAAsC;AAAA,EAAA,IAAhCye,KAAK,GAAAze,IAAA,CAALye,KAAK;IAAEiC,kBAAkB,GAAA1gB,IAAA,CAAlB0gB,kBAAkB,CAAA;AAC5C,EAAA,IAAAzK,eAAA,GAAcC,2BAAc,EAAE;IAAtB5Y,CAAC,GAAA2Y,eAAA,CAAD3Y,CAAC,CAAA;EAET,oBACE0K,cAAA,CAAC2gB,oCAAgB,EAAA;IACfC,eAAe,eACbrgB,eAAA,CAAA2Q,mBAAA,EAAA;MAAA5Q,QAAA,EAAA,cACEN,cAAA,CAACoI,8BAAU,EAAA;AACT5H,QAAAA,SAAS,EAAC,sCAAsC;AAChD,QAAA,SAAA,EAAQ,6BAA6B;AACrCkE,QAAAA,KAAK,EAAC,IAAI;AAAApE,QAAAA,QAAA,EAEThL,CAAC,CAAC,mCAAmC,EAAE;AAAEmhB,UAAAA,KAAK,EAALA,KAAAA;SAAO,CAAA;AAAC,OACxC,CAAC,eACbzW,cAAA,CAAC6gB,wBAAS,EAAA;AAACC,QAAAA,OAAO,EAAEpI,kBAAAA;AAAmB,OAAE,CAAC,CAAA;KAC1C,CAAA;AACH,GACF,CAAC,CAAA;AAEN,CAAC;;;;ACLD,IAAMqI,eAAe,GAAG,SAAlBA,eAAeA,CAAA/oB,IAAA,EAgBf;AAAA,EAAA,IAAAgpB,YAAA,GAAAhpB,IAAA,CAfJqkB,OAAO;AAAPA,IAAAA,OAAO,GAAA2E,YAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,YAAA;IAAAC,qBAAA,GAAAjpB,IAAA,CACZkpB,gBAAgB;AAAElN,IAAAA,YAAY,GAAAiN,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;IAAA1V,iBAAA,GAAAvT,IAAA,CACtCyQ,YAAY;AAAZA,IAAAA,YAAY,GAAA8C,iBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,iBAAA;IAAAoF,iBAAA,GAAA3Y,IAAA,CACjB6T,YAAY;AAAZA,IAAAA,YAAY,GAAA8E,iBAAA,KAAG3a,KAAAA,CAAAA,GAAAA,SAAS,GAAA2a,iBAAA;IACxBwQ,SAAS,GAAAnpB,IAAA,CAATmpB,SAAS;IAAAC,oBAAA,GAAAppB,IAAA,CACT8e,eAAe;AAAfA,IAAAA,eAAe,GAAAsK,oBAAA,KAAG,KAAA,CAAA,GAAA,UAAAjpB,KAAA,EAAA;AAAA,MAAA,IAAAkpB,oBAAA,GAAAlpB,KAAA,CAAGyiB,cAAc;AAAdA,QAAAA,cAAc,GAAAyG,oBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,oBAAA,CAAA;AAAA,MAAA,OAAOzG,cAAc,CAAA;AAAA,KAAA,GAAAwG,oBAAA;IAAAE,gBAAA,GAAAtpB,IAAA,CAC7DqlB,WAAW;AAAXA,IAAAA,WAAW,GAAAiE,gBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,gBAAA;IAAAC,oBAAA,GAAAvpB,IAAA,CAChBgf,eAAe;AAAfA,IAAAA,eAAe,GAAAuK,oBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,oBAAA;IAAAC,qBAAA,GAAAxpB,IAAA,CACtB8c,mBAAmB;AAAnBA,IAAAA,mBAAmB,GAAA0M,qBAAA,KAAGzrB,KAAAA,CAAAA,GAAAA,4BAA4B,GAAAyrB,qBAAA;IAClDlF,UAAU,GAAAtkB,IAAA,CAAVskB,UAAU;IACVgB,eAAe,GAAAtlB,IAAA,CAAfslB,eAAe;IAAAmE,gBAAA,GAAAzpB,IAAA,CACfmc,WAAW;AAAXA,IAAAA,WAAW,GAAAsN,gBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,gBAAA;IAChBC,WAAW,GAAA1pB,IAAA,CAAX0pB,WAAW;IACX3K,SAAS,GAAA/e,IAAA,CAAT+e,SAAS;IAAA4K,eAAA,GAAA3pB,IAAA,CACT4pB,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,OAAO,GAAAA,eAAA,CAAA;AAEpB,EAAA,IAAA1T,eAAA,GAAcC,2BAAc,EAAE;IAAtB5Y,CAAC,GAAA2Y,eAAA,CAAD3Y,CAAC,CAAA;AAET,EAAA,IAAMge,KAAK,GAAGhU,oBAAU,CACtBoiB,WAAW,IAAIpsB,CAAC,CAAC,0BAA0B,EAAEusB,gBAAM,CACrD,CAAC,CAAA;EAED,IAAAC,mBAAA,GA8BIjL,kBAAkB,CAAC;AACrBC,MAAAA,eAAe,EAAfA,eAAe;AACf9C,MAAAA,YAAY,EAAZA,YAAY;AACZc,MAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBX,MAAAA,WAAW,EAAXA,WAAW;AACXb,MAAAA,KAAK,EAALA,KAAK;AACLyD,MAAAA,SAAS,EAATA,SAAS;AACTC,MAAAA,eAAe,EAAfA,eAAAA;AACF,KAAC,CAAC;IArCAC,UAAU,GAAA6K,mBAAA,CAAV7K,UAAU;IACVC,aAAa,GAAA4K,mBAAA,CAAb5K,aAAa;IACbG,iBAAiB,GAAAyK,mBAAA,CAAjBzK,iBAAiB;IACjBI,iBAAiB,GAAAqK,mBAAA,CAAjBrK,iBAAiB;IACjBC,oBAAoB,GAAAoK,mBAAA,CAApBpK,oBAAoB;IACpBvR,MAAM,GAAA2b,mBAAA,CAAN3b,MAAM;IACNsQ,KAAK,GAAAqL,mBAAA,CAALrL,KAAK;IACLoE,UAAU,GAAAiH,mBAAA,CAAVjH,UAAU;IACVlI,aAAa,GAAAmP,mBAAA,CAAbnP,aAAa;IACbsB,YAAY,GAAA6N,mBAAA,CAAZ7N,YAAY;IACZvL,OAAO,GAAAoZ,mBAAA,CAAPpZ,OAAO;IACPqR,gBAAgB,GAAA+H,mBAAA,CAAhB/H,gBAAgB;IAChBE,eAAe,GAAA6H,mBAAA,CAAf7H,eAAe;IACfI,UAAU,GAAAyH,mBAAA,CAAVzH,UAAU;IACVe,eAAe,GAAA0G,mBAAA,CAAf1G,eAAe;IACfG,eAAe,GAAAuG,mBAAA,CAAfvG,eAAe;IACfF,kBAAkB,GAAAyG,mBAAA,CAAlBzG,kBAAkB;IAClBf,YAAY,GAAAwH,mBAAA,CAAZxH,YAAY;IACZI,gBAAgB,GAAAoH,mBAAA,CAAhBpH,gBAAgB;IAChBH,eAAe,GAAAuH,mBAAA,CAAfvH,eAAe;IACfI,sBAAsB,GAAAmH,mBAAA,CAAtBnH,sBAAsB;IACtBW,gBAAgB,GAAAwG,mBAAA,CAAhBxG,gBAAgB;IAChB5C,kBAAkB,GAAAoJ,mBAAA,CAAlBpJ,kBAAkB;IAClBgD,eAAe,GAAAoG,mBAAA,CAAfpG,eAAe;IACfC,YAAY,GAAAmG,mBAAA,CAAZnG,YAAY;IACZ9B,WAAW,GAAAiI,mBAAA,CAAXjI,WAAW;IACX4B,kBAAkB,GAAAqG,mBAAA,CAAlBrG,kBAAkB;IAClB3S,SAAS,GAAAgZ,mBAAA,CAAThZ,SAAS;IACTsP,YAAY,GAAA0J,mBAAA,CAAZ1J,YAAY,CAAA;AAWd,EAAA,IAAM2J,WAAW,GAAG;AAClBlI,IAAAA,WAAW,EAAXA,WAAW;AACXwD,IAAAA,WAAW,EAAXA,WAAW;AACXf,IAAAA,UAAU,EAAVA,UAAU;AACVgB,IAAAA,eAAe,EAAfA,eAAe;AACfhC,IAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBpE,IAAAA,aAAa,EAAbA,aAAa;AACbQ,IAAAA,oBAAoB,EAApBA,oBAAoB;AACpBpE,IAAAA,KAAK,EAAEmI,kBAAkB;AACzB3a,IAAAA,IAAI,EAAE8gB,UAAAA;GACP,CAAA;EAED,IAAMI,aAAa,GACjB3G,kBAAkB,IAAI4G,mBAAS,CAACvJ,kBAAkB,CAAC3hB,KAAK,CAAC,CAAA;EAE3D,oBACEwJ,eAAA,CAAA2Q,mBAAA,EAAA;AAAA5Q,IAAAA,QAAA,EACGib,CAAAA,eAAe,iBAAIvb,cAAA,CAAC8d,OAAO,EAAA;AAAOnC,MAAAA,YAAY,EAAZA,YAAY;AAAErI,MAAAA,KAAK,EAALA,KAAAA;AAAK,KAAK,CAAC,eAC5D/S,eAAA,CAAC2hB,6BAAS,EAAA;AAAA5hB,MAAAA,QAAA,EACRN,cAAAA,cAAA,CAACmR,MAAM,EAAAhS,eAAA,CAAA,EAAA,EAAK4iB,WAAW,CAAG,CAAC,EAC1BC,aAAa,iBAAIhiB,cAAA,CAAC0gB,SAAS,EAAA;AAAOjK,QAAAA,KAAK,EAALA,KAAK;AAAEiC,QAAAA,kBAAkB,EAAlBA,kBAAAA;OAAuB,CAAC,EACjE1B,eAAe,IAAI0E,eAAe,EAClCN,eAAe,gBACdpb,cAAA,CAAA,KAAA,EAAA;AAAKQ,QAAAA,SAAS,EAAC,4DAA4D;AAAAF,QAAAA,QAAA,eACzEN,cAAA,CAACqS,8BAAU,EAAE,EAAA,CAAA;AAAC,OACX,CAAC,gBAENrS,cAAA,CAACmc,WAAW,EAAA;AAERtB,QAAAA,UAAU,EAAVA,UAAU;AACVyC,QAAAA,eAAe,EAAfA,eAAe;AACfhB,QAAAA,UAAU,EAAVA,UAAU;AACVxT,QAAAA,SAAS,EAATA,SAAS;AACToO,QAAAA,aAAa,EAAbA,aAAa;AACbkB,QAAAA,YAAY,EAAZA,YAAY;AACZpB,QAAAA,eAAe,EAAfA,eAAe;AACf1D,QAAAA,KAAK,EAALA,KAAK;AAEP4G,QAAAA,SAAS,EAAED,eAAgB;AAC3BD,QAAAA,UAAU,EAAED,gBAAiB;QAC7BsC,OAAO,EAAErlB,aAAO,CAACqlB,OAAO,CAAC,GAAGlW,MAAM,GAAGkW,OAAQ;AAC7CD,QAAAA,UAAU,EAAE3F,KAAAA;AAAM,OACnB,CACF,eACDzW,cAAA,CAACyS,UAAU,EAAA;AACH5G,QAAAA,YAAY,EAAZA,YAAY;AAAE8G,QAAAA,aAAa,EAAbA,aAAa;AACjCxG,QAAAA,qBAAqB,EAAEgV,SAAS,KAAA,IAAA,IAATA,SAAS,KAATA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,SAAS,CAAEgB,WAAY;AAC9CjS,QAAAA,kBAAkB,EAAEiR,SAAS,KAAA,IAAA,IAATA,SAAS,KAATA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,SAAS,CAAEjR,kBAAmB;AAClD1I,QAAAA,aAAa,EAAE2Z,SAAS,KAAA,IAAA,IAATA,SAAS,KAATA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,SAAS,CAAE3Z,aAAc;AACxCjG,QAAAA,MAAM,EAAE0V,UAAW;AACnBvO,QAAAA,OAAO,EAAEsL,YAAY,GAAGC,YAAY,GAAG,EAAG;AAC1CxL,QAAAA,YAAY,EAAEuL,YAAY,GAAGvL,YAAY,GAAGwL,YAAa;AACzD3H,QAAAA,OAAO,EAAEiO,eAAgB;AACzB3J,QAAAA,iBAAiB,EAAEuQ,SAAS,KAAA,IAAA,IAATA,SAAS,KAATA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,SAAS,CAAEvQ,iBAAkB;AAAAtQ,QAAAA,QAAA,EAE/C6gB,SAAS,KAAA,IAAA,IAATA,SAAS,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAATA,SAAS,CAAE7gB,QAAAA;AAAQ,OACV,CAAC,CAAA;AAAA,KACJ,CAAC,eACZN,cAAA,CAACwf,WAAW,EAAA;AACVje,MAAAA,MAAM,EAAEkW,iBAAkB;AAC1B/O,MAAAA,OAAO,EAAEsL,YAAY,GAAGC,YAAY,GAAG,EAAG;AAC1C3H,MAAAA,OAAO,EAAEqO,sBAAAA;AAAuB,KACjC,CAAC,eACF3a,cAAA,CAAC4b,WAAW,EAAA;AAERlB,MAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBJ,MAAAA,YAAY,EAAZA,YAAY;AACZjD,MAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBgD,MAAAA,UAAU,EAAVA,UAAU;AACV3R,MAAAA,OAAO,EAAPA,OAAO;AACPiK,MAAAA,aAAa,EAAbA,aAAa;AAEfkJ,MAAAA,gBAAgB,EAAE7H,YAAY,GAAGvL,YAAY,GAAGwL,YAAAA;AAAa,KAC9D,CAAC,CAAA;AAAA,GACF,CAAC,CAAA;AAEP;;AC7JO,IAAMmO,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIC,SAAS,EAAEC,cAAc,EAAK;AAC9D,EAAA,IAAID,SAAS,KAAKluB,KAAK,CAACK,WAAW,EAAE,OAAOwC,aAAO,CAACsrB,cAAc,CAACrsB,MAAM,CAAC,CAAA;AAE1E,EAAA,IAAI,CAAC9B,KAAK,CAACS,SAAS,EAAET,KAAK,CAACQ,SAAS,CAAC,CAAC6B,QAAQ,CAAC6rB,SAAS,CAAC,EAAE;AAC1D,IAAA,OAAOrrB,aAAO,CAACsrB,cAAc,CAACvrB,KAAK,CAAC,CAAC,CAAC,CAAC,IAAIC,aAAO,CAACsrB,cAAc,CAACvrB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AAC7E,GAAA;AAEA,EAAA,OAAOC,aAAO,CAACsrB,cAAc,CAACvrB,KAAK,CAAC,CAAA;AACtC,CAAC;;ACPD,IAAMwrB,aAAa,GAAG,SAAhBA,aAAaA,CAAGC,YAAY,EAAA;EAAA,OAChCla,cAAQ,CAACjV,eAAe,EAAE;AAAEmvB,IAAAA,YAAY,EAAZA,YAAAA;AAAa,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAE7C,IAAMtZ,MAAM,GAAG,SAATA,MAAMA,CAAGC,OAAO,EAAA;AAAA,EAAA,OAAIJ,yBAAK,CAACK,IAAI,CAAChW,gBAAgB,EAAE+V,OAAO,CAAC,CAAA;AAAA,CAAA,CAAA;AAE/D,IAAMX,KAAK,GAAG,SAARA,KAAKA,CAAGW,OAAO,EAAA;AAAA,EAAA,OAAIJ,yBAAK,CAACC,GAAG,CAAC5V,gBAAgB,EAAE+V,OAAO,CAAC,CAAA;AAAA,CAAA,CAAA;AAE7D,IAAMG,OAAO,GAAG,SAAVA,OAAOA,CAAAtR,IAAA,EAAA;AAAA,EAAA,IAAMgE,EAAE,GAAAhE,IAAA,CAAFgE,EAAE;IAAEmN,OAAO,GAAAnR,IAAA,CAAPmR,OAAO,CAAA;AAAA,EAAA,OAC5BJ,yBAAK,CAAO,QAAA,CAAA,CAACwZ,aAAa,CAACvmB,EAAE,CAAC,EAAE;AAAEC,IAAAA,IAAI,EAAEkN,OAAAA;AAAQ,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAEpD,IAAMI,MAAM,GAAG,SAATA,MAAMA,CAAApR,KAAA,EAAA;AAAA,EAAA,IAAM6D,EAAE,GAAA7D,KAAA,CAAF6D,EAAE;IAAEmN,OAAO,GAAAhR,KAAA,CAAPgR,OAAO,CAAA;EAAA,OAAOJ,yBAAK,CAACW,KAAK,CAAC6Y,aAAa,CAACvmB,EAAE,CAAC,EAAEmN,OAAO,CAAC,CAAA;AAAA,CAAA,CAAA;AAE3E,IAAMsZ,cAAc,GAAG;AAAEvZ,EAAAA,MAAM,EAANA,MAAM;AAAEV,EAAAA,KAAK,EAALA,KAAK;AAAEc,EAAAA,OAAO,EAAPA,OAAO;AAAEC,EAAAA,MAAM,EAANA,MAAAA;AAAO,CAAC;;;;ACLzD,IAAMmZ,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAGhjB,OAAO,EAAA;AAAA,EAAA,OACjCiL,sCAA2B,CAAC8X,cAAc,CAACvZ,MAAM,EAAA/J,eAAA,CAAA;AAC/CyL,IAAAA,gBAAgB,EAAE,CAAC,CAACf,UAAU,CAACE,YAAY,CAAC,CAAA;GACzCrK,EAAAA,OAAO,CACX,CAAC,CAAA;AAAA,CAAA,CAAA;AAEJ,IAAMijB,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAGjjB,OAAO,EAAA;AAAA,EAAA,OACjCiL,sCAA2B,CAAC8X,cAAc,CAAClZ,MAAM,EAAApK,eAAA,CAAA;AAC/CyL,IAAAA,gBAAgB,EAAE,CAAC,CAACf,UAAU,CAACE,YAAY,CAAC,CAAA;GACzCrK,EAAAA,OAAO,CACX,CAAC,CAAA;AAAA,CAAA,CAAA;AAEJ,IAAMkjB,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAGljB,OAAO,EAAA;AAAA,EAAA,OACjCiL,sCAA2B,CAAC8X,cAAc,CAACnZ,OAAO,EAAAnK,eAAA,CAAA;AAChDyL,IAAAA,gBAAgB,EAAE,CAAC,CAACf,UAAU,CAACE,YAAY,CAAC,CAAA;GACzCrK,EAAAA,OAAO,CACX,CAAC,CAAA;AAAA,CAAA;;;;ACfJ,IAAMmjB,cAAc,GAAG,SAAjBA,cAAcA,CAAA7qB,IAAA,EAKd;AAAA,EAAA,IAJJ8qB,UAAU,GAAA9qB,IAAA,CAAV8qB,UAAU;IACVra,YAAY,GAAAzQ,IAAA,CAAZyQ,YAAY;IACZC,OAAO,GAAA1Q,IAAA,CAAP0Q,OAAO;IAAAqa,iBAAA,GAAA/qB,IAAA,CACPgrB,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,iBAAA,CAAA;AAEjB,EAAA,IAAA3hB,SAAA,GAA4DC,cAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAtD,cAAA,CAAAoD,SAAA,EAAA,CAAA,CAAA;AAAjE6hB,IAAAA,sBAAsB,GAAA3hB,UAAA,CAAA,CAAA,CAAA;AAAE4hB,IAAAA,yBAAyB,GAAA5hB,UAAA,CAAA,CAAA,CAAA,CAAA;AAExD,EAAA,IAAMsP,iBAAiB,GAAG,SAApBA,iBAAiBA,GAA6B;IAAA,IAAAuS,oBAAA,EAAAC,qBAAA,CAAA;AAAA,IAAA,KAAA,IAAAnR,IAAA,GAAA5W,SAAA,CAAAiJ,MAAA,EAAtB+e,iBAAiB,GAAAlU,IAAAA,KAAA,CAAA8C,IAAA,GAAAE,IAAA,GAAA,CAAA,EAAAA,IAAA,GAAAF,IAAA,EAAAE,IAAA,EAAA,EAAA;AAAjBkR,MAAAA,iBAAiB,CAAAlR,IAAA,CAAA9W,GAAAA,SAAA,CAAA8W,IAAA,CAAA,CAAA;AAAA,KAAA;IAC7C,IAAAmR,mBAAA,GAAwBD,iBAAiB,CAAA,CAAA,CAAA;AAAlCE,MAAAA,QAAQ,GAAAD,mBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,mBAAA,CAAA;AAEpBJ,IAAAA,yBAAyB,CACvB5Q,WAAK,CAAA6Q,CAAAA,oBAAA,GAACI,QAAQ,CAACnpB,UAAU,MAAA,IAAA,IAAA+oB,oBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAnBA,oBAAA,CAAqBpnB,OAAO,EAAE;MAClCynB,MAAM,EAAE9vB,mBAAmB,CAACE,OAAAA;AAC9B,KAAC,CACH,CAAC,CAAA;IACD,CAAAwvB,qBAAA,GAAAJ,YAAY,CAAClS,SAAS,MAAAsS,IAAAA,IAAAA,qBAAA,eAAtBA,qBAAA,CAAAK,IAAA,CAAAroB,KAAA,CAAAgoB,qBAAA,EAAA,CAAAJ,YAAY,CAAA7vB,CAAAA,MAAA,CAAgBkwB,iBAAiB,CAAC,CAAA,CAAA;GAC/C,CAAA;AAED,EAAA,IAAMK,eAAe,GAAG,SAAlBA,eAAeA,GAA6B;IAAA,IAAAC,gBAAA,EAAAC,qBAAA,CAAA;AAAA,IAAA,KAAA,IAAAC,KAAA,GAAAxoB,SAAA,CAAAiJ,MAAA,EAAtB+e,iBAAiB,GAAAlU,IAAAA,KAAA,CAAA0U,KAAA,GAAAC,KAAA,GAAA,CAAA,EAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA,EAAA,EAAA;AAAjBT,MAAAA,iBAAiB,CAAAS,KAAA,CAAAzoB,GAAAA,SAAA,CAAAyoB,KAAA,CAAA,CAAA;AAAA,KAAA;IACjBT,iBAAiB,CAAA,CAAA,CAAA,CAAA;AAAAU,UAAAA,oBAAA,GAAjBV,iBAAiB,CAAA,CAAA,CAAA,CAAA;AAAjCla,MAAAA,OAAO,GAAA4a,oBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IAEtBb,yBAAyB,CACvB5Q,WAAK,CAAAqR,CAAAA,gBAAA,GAACxa,OAAO,CAACA,OAAO,MAAA,IAAA,IAAAwa,gBAAA,KAAA,KAAA,CAAA,IAAA,CAAAA,gBAAA,GAAfA,gBAAA,CAAiBvpB,UAAU,MAAA,IAAA,IAAAupB,gBAAA,KAA3BA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,gBAAA,CAA6B5nB,OAAO,EAAE;MAC1CynB,MAAM,EAAE9vB,mBAAmB,CAACG,MAAAA;AAC9B,KAAC,CACH,CAAC,CAAA;IACD,CAAA+vB,qBAAA,GAAAZ,YAAY,CAACgB,OAAO,MAAAJ,IAAAA,IAAAA,qBAAA,eAApBA,qBAAA,CAAAH,IAAA,CAAAroB,KAAA,CAAAwoB,qBAAA,EAAA,CAAAZ,YAAY,CAAA7vB,CAAAA,MAAA,CAAckwB,iBAAiB,CAAC,CAAA,CAAA;GAC7C,CAAA;AAED,EAAA,IAAMY,SAAS,GAAG,SAAZA,SAASA,GAA6B;AAAA,IAAA,IAAAC,qBAAA,EAAAC,gBAAA,EAAAC,qBAAA,CAAA;AAAA,IAAA,KAAA,IAAAC,KAAA,GAAAhpB,SAAA,CAAAiJ,MAAA,EAAtB+e,iBAAiB,GAAAlU,IAAAA,KAAA,CAAAkV,KAAA,GAAAC,KAAA,GAAA,CAAA,EAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA,EAAA,EAAA;AAAjBjB,MAAAA,iBAAiB,CAAAiB,KAAA,CAAAjpB,GAAAA,SAAA,CAAAipB,KAAA,CAAA,CAAA;AAAA,KAAA;IACrCC,IAAAA,oBAAA,GAAyClB,iBAAiB,CAAA,CAAA,CAAA,CAAA;AAAnDE,MAAAA,QAAQ,GAAAgB,oBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,oBAAA,CAAA;AAAElV,MAAmBgU,iBAAiB,CAAA,CAAA,CAAA,CAAA;AAAAmB,UAAAA,oBAAA,GAAjBnB,iBAAiB,CAAA,CAAA,CAAA,CAAA;AAAjCoB,MAAAA,OAAO,GAAAD,oBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;AACrC,IAAA,IAAMzoB,OAAO,GACX,CAAAmoB,CAAAA,qBAAA,GAAAX,QAAQ,CAACnpB,UAAU,MAAA,IAAA,IAAA8pB,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAnBA,qBAAA,CAAqBnoB,OAAO,MAAAooB,CAAAA,gBAAA,GAAIM,OAAO,CAACtb,OAAO,MAAAgb,IAAAA,IAAAA,gBAAA,gBAAAA,gBAAA,GAAfA,gBAAA,CAAiB/pB,UAAU,MAAA+pB,IAAAA,IAAAA,gBAAA,KAA3BA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,gBAAA,CAA6BpoB,OAAO,CAAA,CAAA;AAEtE2oB,IAAAA,UAAU,CAAC,YAAA;MAAA,OAAMxB,yBAAyB,CAACvb,UAAI,CAAC,CAAC5L,OAAO,CAAC,CAAC,CAAC,CAAA;AAAA,KAAA,EAAE,IAAI,CAAC,CAAA;IAClE,CAAAqoB,qBAAA,GAAApB,YAAY,CAACiB,SAAS,MAAAG,IAAAA,IAAAA,qBAAA,eAAtBA,qBAAA,CAAAX,IAAA,CAAAroB,KAAA,CAAAgpB,qBAAA,EAAA,CAAApB,YAAY,CAAA7vB,CAAAA,MAAA,CAAgBkwB,iBAAiB,CAAC,CAAA,CAAA;GAC/C,CAAA;AAED,EAAA,IAAMsB,mBAAmB,GAAAxlB,eAAA,CAAAA,eAAA,KACpB6jB,YAAY,CAAA,EAAA,EAAA,EAAA;AACflS,IAAAA,SAAS,EAAEF,iBAAiB;AAC5BoT,IAAAA,OAAO,EAAEN,eAAe;AACxBO,IAAAA,SAAS,EAATA,SAAAA;GACD,CAAA,CAAA;AAED,EAAA,IAAAW,oBAAA,GAAqClC,mBAAmB,CAACiC,mBAAmB,CAAC;IAA7DE,gBAAgB,GAAAD,oBAAA,CAAxB5T,MAAM,CAAA;AACd,EAAA,IAAA8T,oBAAA,GAAqCnC,mBAAmB,CAACgC,mBAAmB,CAAC;IAA7DI,gBAAgB,GAAAD,oBAAA,CAAxB9T,MAAM,CAAA;AACd,EAAA,IAAAgU,oBAAA,GAAqCpC,mBAAmB,CAAC+B,mBAAmB,CAAC;IAA7DM,gBAAgB,GAAAD,oBAAA,CAAxBhU,MAAM,CAAA;EAEd,IAAM1S,YAAY,GAAG,SAAfA,YAAYA,CAAIkH,KAAK,EAAEvP,MAAM,EAAK;IACtC,IAAMmE,UAAU,GAAG8qB,UAAI,CAACC,YAAS,CAAClvB,MAAM,CAAC,CAAC,CAAA;AAC1CitB,IAAAA,yBAAyB,CACvB5Q,WAAK,CAAClY,UAAU,CAAC2B,OAAO,EAAE;MAAEynB,MAAM,EAAE9vB,mBAAmB,CAACC,UAAAA;AAAW,KAAC,CACtE,CAAC,CAAA;AAED,IAAA,IAAMwV,OAAO,GAAG;AACd/O,MAAAA,UAAU,EAAVA,UAAU;AACVsa,MAAAA,QAAQ,EAAEjM,YAAY;AACtBqa,MAAAA,UAAU,EAAVA,UAAU;AACVpa,MAAAA,OAAO,EAAE1R,aAAO,CAAC0R,OAAO,CAAC,GAAGjK,SAAS,GAAGiK,OAAAA;KACzC,CAAA;IAED,IAAI0Z,iBAAiB,CAAC5c,KAAK,CAACjP,IAAI,EAAE6D,UAAU,CAAC6B,IAAI,CAAC,EAAE;AAClDgpB,MAAAA,gBAAgB,CAAC;QAAEjpB,EAAE,EAAE5B,UAAU,CAAC4B,EAAE;AAAEmN,QAAAA,OAAO,EAAPA,OAAAA;AAAQ,OAAC,CAAC,CAAA;AAClD,KAAC,MAAM;AACL/O,MAAAA,UAAU,CAAC4B,EAAE,GACT+oB,gBAAgB,CAAC;QAAE/oB,EAAE,EAAE5B,UAAU,CAAC4B,EAAE;AAAEmN,QAAAA,OAAO,EAAPA,OAAAA;AAAQ,OAAC,CAAC,GAChD0b,gBAAgB,CAAC1b,OAAO,CAAC,CAAA;AAC/B,KAAA;GACD,CAAA;EAED,OAAO;AAAE7K,IAAAA,YAAY,EAAZA,YAAY;AAAE2kB,IAAAA,sBAAsB,EAAtBA,sBAAAA;GAAwB,CAAA;AACjD,CAAC;;ACnFD,MAAM,YAAY,GAAG,CAAC;AACtB,EAAE,WAAW;AACb,CAAC,KAAK;AACN,EAAE,MAAM,OAAO,GAAGxK,yBAAU,EAAE,CAAC;AAC/B;AACA,EAAE,MAAM,QAAQ,GAAGhX,YAAM,CAAC,IAAI,CAAC,CAAC;AAChC;AACA,EAAE,MAAM,QAAQ,GAAGA,YAAM,CAAC,IAAI,CAAC,CAAC;AAChC;AACA,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAGJ,cAAQ,CAAC,KAAK,CAAC,CAAC;AAChD,EAAEtC,eAAS,CAAC,MAAM;AAClB,IAAI,IAAI,WAAW,EAAE;AACrB,MAAM,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI;AACnD;AACA,QAAQ,UAAU,CAAC,IAAI,CAAC,CAAC;AACzB,QAAQ,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;AAC/D;AACA,QAAQ,OAAO,KAAK,CAAC;AACrB,OAAO,CAAC,CAAC;AACT,MAAM,OAAO,MAAM;AACnB,QAAQ,IAAI,QAAQ,CAAC,OAAO,EAAE;AAC9B,UAAU,QAAQ,CAAC,OAAO,EAAE,CAAC;AAC7B,SAAS;AACT,OAAO,CAAC;AACR,KAAK;AACL,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;AACpB;AACA,EAAE,MAAM,QAAQ,GAAG,MAAM;AACzB,IAAI,IAAI,QAAQ,CAAC,OAAO,EAAE;AAC1B,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;AACzB;AACA,MAAM,UAAU,CAAC,KAAK,CAAC,CAAC;AACxB;AACA,MAAM,IAAI,QAAQ,CAAC,OAAO,EAAE;AAC5B,QAAQ,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACvC,OAAO;AACP,KAAK;AACL,GAAG,CAAC;AACJ;AACA,EAAE,MAAM,UAAU,GAAG,MAAM;AAC3B,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;AACtB,GAAG,CAAC;AACJ;AACA,EAAE,OAAO;AACT,IAAI,OAAO;AACX,IAAI,QAAQ;AACZ,IAAI,UAAU;AACd,GAAG,CAAC;AACJ,CAAC;;ACjDM,IAAMqmB,oCAAoC,GAAG;AAClD9R,EAAAA,KAAK,EAAEhe,SAAC,CAAC,iDAAiD,CAAC;AAC3D4X,EAAAA,OAAO,EAAE5X,SAAC,CAAC,mDAAmD,CAAC;AAC/D4mB,EAAAA,iBAAiB,EAAE5mB,SAAC,CAClB,6DACF,CAAC;EACD+vB,iBAAiB,EAAE/vB,SAAC,CAClB,6DACF,CAAA;AACF,CAAC;;;;ACHD,IAAMgwB,eAAe,GAAG,SAAlBA,eAAeA,CAAAttB,IAAA,EAAuD;AAAA,EAAA,IAAjDutB,eAAe,GAAAvtB,IAAA,CAAfutB,eAAe;IAAEC,yBAAyB,GAAAxtB,IAAA,CAAzBwtB,yBAAyB,CAAA;AACnE,EAAA,IAAArX,iBAAA,GAAkB/Q,uBAAgB,EAAE;IAA5BE,KAAK,GAAA6Q,iBAAA,CAAL7Q,KAAK,CAAA;EACb,IAAAmoB,aAAA,GAA0CC,YAAY,CAAC;MACrDC,WAAW,EAAEJ,eAAe,IAAIjoB,KAAAA;AAClC,KAAC,CAAC;IAFMsoB,OAAO,GAAAH,aAAA,CAAPG,OAAO;IAAEC,UAAU,GAAAJ,aAAA,CAAVI,UAAU;IAAEC,QAAQ,GAAAL,aAAA,CAARK,QAAQ,CAAA;EAIrC,IAAMC,UAAU,GAAA5mB,eAAA,CAAAA,eAAA,CACXimB,EAAAA,EAAAA,oCAAoC,CACpCI,EAAAA,yBAAyB,CAC7B,CAAA;EAED,oBACExlB,cAAA,CAACic,yBAAK,EAAA;AACJoJ,IAAAA,iBAAiB,EAAEU,UAAU,CAAC,mBAAmB,CAAE;AACnDxkB,IAAAA,MAAM,EAAEqkB,OAAQ;AAChB1Y,IAAAA,OAAO,EAAE6Y,UAAU,CAAC,SAAS,CAAE;AAC/B7J,IAAAA,iBAAiB,EAAE6J,UAAU,CAAC,mBAAmB,CAAE;AACnDzS,IAAAA,KAAK,EAAEyS,UAAU,CAAC,OAAO,CAAE;AAC3BzZ,IAAAA,OAAO,EAAEuZ,UAAW;AACpBtU,IAAAA,QAAQ,EAAEuU,QAAAA;AAAS,GACpB,CAAC,CAAA;AAEN,CAAC;;ACvBD,IAAME,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAAhuB,IAAA,EAAA;AAAA,EAAA,IAC1BwN,KAAK,GAAAxN,IAAA,CAALwN,KAAK;IACLI,WAAW,GAAA5N,IAAA,CAAX4N,WAAW;IACXtF,QAAQ,GAAAtI,IAAA,CAARsI,QAAQ;IACRiR,QAAQ,GAAAvZ,IAAA,CAARuZ,QAAQ;IAAA0U,cAAA,GAAAjuB,IAAA,CACRwI,SAAS;AAATA,IAAAA,SAAS,GAAAylB,cAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,cAAA,CAAA;EAAA,oBAEdjmB,cAAA,CAACkmB,wBAAW,EAAA;IACVC,kBAAkB,EAAA,IAAA;AAClB3lB,IAAAA,SAAS,EAAE4lB,8BAAU,CAAC,aAAa,EAAE5lB,SAAS,CAAE;AAChD6Q,IAAAA,WAAW,EAAE;MACX7J,aAAa,EAAEX,oBAAoB,CAAC;AAClCrB,QAAAA,KAAK,EAALA,KAAK;AACLI,QAAAA,WAAW,EAAXA,WAAW;AACXoB,QAAAA,qBAAqB,EAAE,IAAA;AACzB,OAAC,CAAC;AACFuK,MAAAA,QAAQ,EAARA,QAAQ;AACRgB,MAAAA,kBAAkB,EAAE,IAAA;KACpB;AAAAjS,IAAAA,QAAA,EAEDA,QAAAA;AAAQ,GACE,CAAC,CAAA;AAAA,CACf;;;;ACdD,IAAM+lB,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAruB,IAAA,EAgBpB;AAAA,EAAA,IAAAuT,iBAAA,GAAAvT,IAAA,CAfJyQ,YAAY;AAAZA,IAAAA,YAAY,GAAA8C,iBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,iBAAA;IACjB3F,WAAW,GAAA5N,IAAA,CAAX4N,WAAW;IACH0gB,UAAU,GAAAtuB,IAAA,CAAlBmO,MAAM;IAAAqF,YAAA,GAAAxT,IAAA,CACN0Q,OAAO;AAAPA,IAAAA,OAAO,GAAA8C,YAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,YAAA;IACZsX,UAAU,GAAA9qB,IAAA,CAAV8qB,UAAU;IAAArd,qBAAA,GAAAzN,IAAA,CACV0N,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAwgB,cAAA,GAAAjuB,IAAA,CACrBwI,SAAS;AAATA,IAAAA,SAAS,GAAAylB,cAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,cAAA;IAAAM,eAAA,GAAAvuB,IAAA,CACdwuB,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,eAAA;IACjBnqB,QAAQ,GAAApE,IAAA,CAARoE,QAAQ;IAAAqqB,aAAA,GAAAzuB,IAAA,CACRqE,QAAQ;AAARA,IAAAA,QAAQ,GAAAoqB,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;IAChBlqB,oBAAoB,GAAAvE,IAAA,CAApBuE,oBAAoB;IACpBmqB,cAAc,GAAA1uB,IAAA,CAAd0uB,cAAc;IAAAC,qBAAA,GAAA3uB,IAAA,CACd4Y,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAA+V,qBAAA,KAAG9pB,KAAAA,CAAAA,GAAAA,cAAI,GAAA8pB,qBAAA;IAAAC,oBAAA,GAAA5uB,IAAA,CACxButB,eAAe;AAAfA,IAAAA,eAAe,GAAAqB,oBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,oBAAA;IAAAC,qBAAA,GAAA7uB,IAAA,CACvBwtB,yBAAyB;AAAzBA,IAAAA,yBAAyB,GAAAqB,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA,CAAA;AAE9B,EAAA,IAAA5Y,eAAA,GAAcC,2BAAc,EAAE;IAAtB5Y,CAAC,GAAA2Y,eAAA,CAAD3Y,CAAC,CAAA;AAET,EAAA,IAAM0tB,YAAY,GAAG;AAAElS,IAAAA,SAAS,EAAEF,iBAAAA;GAAmB,CAAA;EAErD,IAAA2I,eAAA,GAGIpP,cAAc,CAChB;MACE1B,YAAY,EAAEzR,aAAO,CAACyR,YAAY,CAAC,GAAGhK,SAAS,GAAGgK,YAAY;MAC9DC,OAAO,EAAE1R,aAAO,CAAC0R,OAAO,CAAC,GAAGjK,SAAS,GAAGiK,OAAO;AAC/CC,MAAAA,KAAK,EAAE,QAAA;AACT,KAAC,EACD;MAAEtF,OAAO,EAAExL,WAAK,CAACyuB,UAAU,CAAA;AAAE,KAC/B,CAAC;IAAA5M,oBAAA,GAAAH,eAAA,CATCtd,IAAI;AAAA0d,IAAAA,qBAAA,GAAAD,oBAAA,KAAA,KAAA,CAAA,GAAmC,EAAE,GAAAA,oBAAA;IAAAE,qBAAA,GAAAD,qBAAA,CAAjCxT,MAAM;AAAE2gB,IAAAA,aAAa,GAAAlN,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;IACvBE,eAAe,GAAAP,eAAA,CAA1BxH,SAAS,CAAA;EAUX,IAAAgV,eAAA,GAAiDlE,cAAc,CAAC;AAC9DC,MAAAA,UAAU,EAAVA,UAAU;AACVra,MAAAA,YAAY,EAAZA,YAAY;AACZC,MAAAA,OAAO,EAAPA,OAAO;AACPsa,MAAAA,YAAY,EAAZA,YAAAA;AACF,KAAC,CAAC;IALM1kB,YAAY,GAAAyoB,eAAA,CAAZzoB,YAAY;IAAE2kB,sBAAsB,GAAA8D,eAAA,CAAtB9D,sBAAsB,CAAA;AAO5C,EAAA,IAAM9c,MAAM,GAAGmgB,UAAU,IAAIQ,aAAa,CAAA;AAE1C,EAAA,oBACE9mB,cAAA,CAAA,KAAA,EAAA;AACEQ,IAAAA,SAAS,EAAE4lB,8BAAU,CACnB,gBAAgB,EAChB;AACE,MAAA,iFAAiF,EAC/EI,UAAAA;KACH,EACDhmB,SACF,CAAE;IAAAF,QAAA,EAEDwZ,eAAe,gBACd9Z,cAAA,CAAA,KAAA,EAAA;AAAKQ,MAAAA,SAAS,EAAC,kCAAkC;AAAAF,MAAAA,QAAA,eAC/CN,cAAA,CAACY,2BAAO,EAAE,EAAA,CAAA;KACP,CAAC,GAENyG,kBAAkB,CAAClB,MAAM,CAAC,CAACtH,GAAG,CAAC,UAAA2G,KAAK,EAAI;MACtC,IAAM2C,KAAK,GAAG5C,aAAa,CAAC;AAAEC,QAAAA,KAAK,EAALA,KAAK;AAAEE,QAAAA,gBAAgB,EAAhBA,gBAAAA;AAAiB,OAAC,CAAC,CAAA;AAExD,MAAA,IAAIyC,KAAK,EAAE;AAAA,QAAA,IAAA6e,qBAAA,CAAA;AACT,QAAA,oBACEhnB,cAAA,CAAA,KAAA,EAAA;AACEQ,UAAAA,SAAS,EAAE4lB,8BAAU,CAACM,cAAc,EAAE,WAAW,CAAE;UAAApmB,QAAA,eAGnDN,cAAA,CAACgmB,sBAAsB,EAAA;AACfxgB,YAAAA,KAAK,EAALA,KAAK;AAAEI,YAAAA,WAAW,EAAXA,WAAW;AACxBpF,YAAAA,SAAS,EAAEkmB,cAAe;YAC1BnV,QAAQ,EAAE,SAAAA,QAAAA,CAAAtb,MAAM,EAAA;AAAA,cAAA,OAAIqI,YAAY,CAACkH,KAAK,EAAEvP,MAAM,CAAC,CAAA;aAAC;AAAAqK,YAAAA,QAAA,eAEhDC,eAAA,CAAA,KAAA,EAAA;AAAKC,cAAAA,SAAS,EAAC,QAAQ;AAAAF,cAAAA,QAAA,EACrBN,cAAAA,cAAA,CAACmI,KAAK,EAAAhJ,eAAA,CAAAA,eAAA,CAAAA,EAAAA,EAAAA,eAAA,CAAAA,eAAA,KAECqG,KAAK,CAAA,EAAA,EAAA,EAAA;AACRnJ,gBAAAA,QAAQ,EAARA,QAAQ;AACRD,gBAAAA,QAAQ,EAARA,QAAQ;AACRG,gBAAAA,oBAAoB,EAApBA,oBAAAA;AAAoB,eAAA,CAAA,CAAA,EAAA,EAAA,EAAA;gBAEtBL,gBAAgB,EAAA,IAAA;AAChB6D,gBAAAA,gBAAgB,EAAAinB,CAAAA,qBAAA,GACd/D,sBAAsB,CAACzd,KAAK,CAACxJ,EAAE,CAAC,MAAA,IAAA,IAAAgrB,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhCA,qBAAA,CAAkCxD,MAAAA;AACnC,eAAA,CACF,CAAC,eACFxjB,cAAA,CAACinB,eAAoB,EAAA;AACb1B,gBAAAA,eAAe,EAAfA,eAAe;AAAEC,gBAAAA,yBAAyB,EAAzBA,yBAAAA;AAAyB,eACjD,CAAC,CAAA;aACC,CAAA;WACiB,CAAA;SAxBnBhgB,EAAAA,KAAK,CAACxJ,EAyBR,CAAC,CAAA;AAEV,OAAA;MAEA,oBACEgE,cAAA,CAACoI,8BAAU,EAAA;AAAgB1D,QAAAA,KAAK,EAAC,OAAO;QAAApE,QAAA,EACrChL,CAAC,CAAC,kCAAkC,CAAA;OADtBkQ,EAAAA,KAAK,CAACxJ,EAEX,CAAC,CAAA;KAEhB,CAAA;AACF,GACE,CAAC,CAAA;AAEV;;AC/GO,IAAMkrB,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAI1hB,KAAK,EAAEI,WAAW,EAAK;AAAA,EAAA,IAAA0P,OAAA,EAAAF,QAAA,EAAA+R,QAAA,CAAA;AACtD,EAAA,IAAI7E,cAAc,GAAA,CAAAhN,OAAA,GAAG3W,gBAAM,CAAC;IAAE5C,OAAO,EAAEyJ,KAAK,CAACxJ,EAAAA;AAAG,GAAC,EAAE4J,WAAW,CAAC,MAAA0P,IAAAA,IAAAA,OAAA,gBAAAA,OAAA,GAA1CA,OAAA,CAA4CrZ,IAAI,MAAAqZ,IAAAA,IAAAA,OAAA,KAAhDA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAA,CAAkDve,KAAK,CAAA;EAE5E,QAAQyO,KAAK,CAACjP,IAAI;IAChB,KAAKpC,KAAK,CAACM,IAAI;AACb,MAAA,OAAO6tB,cAAc,IAAI8E,gBAAU,CAAC3yB,IAAI,CAAC6tB,cAAc,CAAC,CAAA;IAC1D,KAAKnuB,KAAK,CAACO,IAAI;AACb,MAAA,OAAO4tB,cAAc,IAAI8E,gBAAU,CAAC1yB,IAAI,CAAC4tB,cAAc,CAAC,CAAA;IAC1D,KAAKnuB,KAAK,CAACiB,QAAQ;AACjB,MAAA,OAAOktB,cAAc,IAAI8E,gBAAU,CAAC7rB,QAAQ,CAAC+mB,cAAc,CAAC,CAAA;IAC9D,KAAKnuB,KAAK,CAACQ,SAAS;AAClB,MAAA,OACE2tB,cAAc,IACd7qB,oBAAU,CAAC6qB,cAAc,CAAC,IAAAnvB,EAAAA,CAAAA,MAAA,CACvBi0B,gBAAU,CAAC3yB,IAAI,CAAC6tB,cAAc,CAAC,CAAC,CAAC,CAAC,EAAA,KAAA,CAAA,CAAAnvB,MAAA,CAAMi0B,gBAAU,CAAC3yB,IAAI,CACxD6tB,cAAc,CAAC,CAAC,CAClB,CAAC,CAAE,CAAA;IAEP,KAAKnuB,KAAK,CAACS,SAAS;MAClB,OACE0tB,cAAc,IAAAnvB,EAAAA,CAAAA,MAAA,CACXi0B,gBAAU,CAAC1yB,IAAI,CAAC4tB,cAAc,CAAC,CAAC,CAAC,CAAC,EAAAnvB,KAAAA,CAAAA,CAAAA,MAAA,CAAMi0B,gBAAU,CAAC1yB,IAAI,CACxD4tB,cAAc,CAAC,CAAC,CAClB,CAAC,CAAE,CAAA;IAEP,KAAKnuB,KAAK,CAACI,YAAY;MACrB,OAAA6gB,CAAAA,QAAA,GAAOzW,gBAAM,CAAC;AAAE3C,QAAAA,EAAE,EAAEsmB,cAAAA;OAAgB,EAAE9c,KAAK,CAACvJ,IAAI,CAAC,cAAAmZ,QAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAA1CA,QAAA,CAA4C/V,KAAK,CAAA;IAC1D,KAAKlL,KAAK,CAACK,WAAW;AACpB8tB,MAAAA,cAAc,GAAA6E,CAAAA,QAAA,GAAGxoB,gBAAM,CAAC;QAAE5C,OAAO,EAAEyJ,KAAK,CAACxJ,EAAAA;AAAG,OAAC,EAAE4J,WAAW,CAAC,MAAAuhB,IAAAA,IAAAA,QAAA,gBAAAA,QAAA,GAA1CA,QAAA,CAA4ClrB,IAAI,MAAAkrB,IAAAA,IAAAA,QAAA,KAAhDA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,QAAA,CAAkDlxB,MAAM,CAAA;AAEzE,MAAA,OACEqsB,cAAc,IACdA,cAAc,CACXzjB,GAAG,CAAC,UAAAC,QAAQ,EAAA;AAAA,QAAA,IAAAuoB,QAAA,CAAA;QAAA,OAAAA,CAAAA,QAAA,GAAI1oB,gBAAM,CAAC;AAAE3C,UAAAA,EAAE,EAAE8C,QAAAA;SAAU,EAAE0G,KAAK,CAACvJ,IAAI,CAAC,cAAAorB,QAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAApCA,QAAA,CAAsChoB,KAAK,CAAA;AAAA,OAAA,CAAC,CAC5D7F,IAAI,CAAC,IAAI,CAAC,CAAA;IAGjB,KAAKrF,KAAK,CAACa,QAAQ;MACjB,OAAO0G,gBAAgB,CAAC4mB,cAAc,CAAC,CAAA;AAEzC,IAAA;AACE,MAAA,OAAOA,cAAc,CAAA;AACzB,GAAA;AACF,CAAC;;;;ACpCD,IAAMgF,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAAAtvB,IAAA,EAAA;AAAA,EAAA,IAAMjB,KAAK,GAAAiB,IAAA,CAALjB,KAAK,CAAA;EAAA,oBACtCiJ,cAAA,CAACoI,8BAAU,EAAA;AAAC5H,IAAAA,SAAS,EAAC,WAAW;AAAAF,IAAAA,QAAA,EAAEvJ,KAAAA;AAAK,GAAa,CAAC,CAAA;AAAA,CACvD,CAAA;AAED,IAAMwwB,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAApvB,KAAA,EASrB;AAAA,EAAA,IARJqN,KAAK,GAAArN,KAAA,CAALqN,KAAK;IACLI,WAAW,GAAAzN,KAAA,CAAXyN,WAAW;IACX6C,YAAY,GAAAtQ,KAAA,CAAZsQ,YAAY;IACZqa,UAAU,GAAA3qB,KAAA,CAAV2qB,UAAU;IAAA0E,aAAA,GAAArvB,KAAA,CACVuQ,OAAO;AAAPA,IAAAA,OAAO,GAAA8e,aAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,aAAA;IAAAC,qBAAA,GAAAtvB,KAAA,CACZyY,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAA6W,qBAAA,KAAG5qB,KAAAA,CAAAA,GAAAA,cAAI,GAAA4qB,qBAAA;IAAAC,cAAA,GAAAvvB,KAAA,CACxBwvB,QAAQ;AAARA,IAAAA,SAAQ,GAAAD,cAAA,KAAG7qB,KAAAA,CAAAA,GAAAA,cAAI,GAAA6qB,cAAA;IAAAE,qBAAA,GAAAzvB,KAAA,CACf0vB,uBAAuB;AAAvBA,IAAAA,uBAAuB,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA,CAAA;AAE5B,EAAA,IAAAxmB,SAAA,GAAgCC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAtD,cAAA,CAAAoD,SAAA,EAAA,CAAA,CAAA;AAAxC0mB,IAAAA,QAAQ,GAAAxmB,UAAA,CAAA,CAAA,CAAA;AAAEymB,IAAAA,WAAW,GAAAzmB,UAAA,CAAA,CAAA,CAAA,CAAA;AAE5B,EAAA,IAAM0hB,YAAY,GAAG;IACnB2E,QAAQ,EAAE,SAAAA,QAAAA,CAAAK,SAAS,EAAA;AAAA,MAAA,OAAIL,SAAQ,CAACK,SAAS,CAAC7e,OAAO,IAAI6e,SAAS,CAAC,CAAA;AAAA,KAAA;IAC/DlX,SAAS,EAAE,SAAAA,SAAAA,GAAe;MACxBiX,WAAW,CAAC,KAAK,CAAC,CAAA;AAClBnX,MAAAA,iBAAiB,CAAAxV,KAAA,CAAAC,KAAAA,CAAAA,EAAAA,SAAU,CAAC,CAAA;AAC9B,KAAA;GACD,CAAA;EAED,IAAA0rB,eAAA,GAAyBlE,cAAc,CAAC;AACtCC,MAAAA,UAAU,EAAVA,UAAU;AACVra,MAAAA,YAAY,EAAZA,YAAY;AACZC,MAAAA,OAAO,EAAPA,OAAO;AACPsa,MAAAA,YAAY,EAAZA,YAAAA;AACF,KAAC,CAAC;IALM1kB,YAAY,GAAAyoB,eAAA,CAAZzoB,YAAY,CAAA;EAOpB,IAAM6J,KAAK,GAAG5C,aAAa,CAAC;AAAEC,IAAAA,KAAK,EAALA,KAAAA;AAAM,GAAC,CAAC,CAAA;AAEtC,EAAA,IAAM6c,SAAS,GAAG7c,KAAK,CAACjP,IAAI,CAAA;AAC5B,EAAA,IAAM0xB,UAAU,GACd,CAACziB,KAAK,CAACqC,QAAQ,KACdigB,QAAQ,IAAIzxB,wBAAwB,CAACG,QAAQ,CAAC6rB,SAAS,CAAC,CAAC,CAAA;EAE5D,IAAM6F,YAAY,GAAGhB,gBAAgB,CAAC1hB,KAAK,EAAEI,WAAW,CAAC,IAAI,GAAG,CAAA;EAChE,IAAA9M,KAAA,GAGI+uB,uBAAuB,CAACxF,SAAS,CAAC,IAAI,EAAE;IAAA8F,WAAA,GAAArvB,KAAA,CAF1CkE,KAAK;AAAEorB,IAAAA,2BAA2B,GAAAD,WAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,WAAA;IAAAE,eAAA,GAAAvvB,KAAA,CACvC2X,SAAS;AAAE6X,IAAAA,sBAAsB,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,eAAA,CAAA;AAG1C,EAAA,IAAME,gBAAgB,GAAGD,sBAAsB,IAAIhB,uBAAuB,CAAA;EAE1E,OAAOW,UAAU,gBACfjoB,cAAA,CAAA,KAAA,EAAA;IAAK,SAAA7M,EAAAA,2BAAAA,CAAAA,MAAA,CAAqCuN,eAAS,CAAC8E,KAAK,CAAChO,IAAI,CAAC,CAAG;IAAA8I,QAAA,eAChEN,cAAA,CAACgmB,sBAAsB,EAAA;AACfxgB,MAAAA,KAAK,EAALA,KAAK;AAAEI,MAAAA,WAAW,EAAXA,WAAW;MACxB2L,QAAQ,EAAE,SAAAA,QAAAA,CAAAtb,MAAM,EAAA;AAAA,QAAA,OAAIqI,YAAY,CAACkH,KAAK,EAAEvP,MAAM,CAAC,CAAA;OAAC;MAAAqK,QAAA,eAEhDN,cAAA,CAACmI,KAAK,EAAAhJ,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAAA,aAAA,CAAA,EAAA,EACKqG,KAAK,CAAA,CAAA,EAAA,EAAA,EAAA;QACdtJ,gBAAgB,EAAA,IAAA;QAChBO,QAAQ,EAAA,IAAA;QACRE,MAAM,EAAE,SAAAA,MAAA,GAAA;UAAA,OAAMorB,WAAW,CAAC,KAAK,CAAC,CAAA;AAAA,SAAA;OACjC,CAAA,CAAA;KACqB,CAAA;GACrB,CAAC,gBAEN/nB,cAAA,CAAA,KAAA,EAAA;IACEQ,SAAS,EAAE4lB,8BAAU,CAAC;MAAE,gBAAgB,EAAE,CAAC5gB,KAAK,CAACqC,QAAAA;AAAS,KAAC,CAAE;IAC7D+E,OAAO,EAAE,SAAAA,OAAA,GAAA;MAAA,OAAMmb,WAAW,CAAC,IAAI,CAAC,CAAA;KAAC;AAAAznB,IAAAA,QAAA,eAEjCN,cAAA,CAACuoB,gBAAgB,EAAAppB,aAAA,CAAA;AACT2jB,MAAAA,UAAU,EAAVA,UAAU;AAChB/rB,MAAAA,KAAK,EAAEmxB,YAAAA;AAAa,KAAA,EAChBE,2BAA2B,CAChC,CAAA;AAAC,GACC,CACN,CAAA;AACH;;ACtFA,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,OAAO,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,EAAC,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;"}