@bigbinary/neeto-approvals-frontend 0.3.10 → 0.4.0-beta1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../node_modules/@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/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../app/javascript/src/common/routes.js","../app/javascript/src/common/utils.js","../app/javascript/src/common/constants.js","../app/javascript/src/apis/requests.js","../app/javascript/src/common/queryConstants.js","../app/javascript/src/hooks/reactQuery/requests/useRequestsApi.js","../app/javascript/src/hooks/usePaginate.js","../app/javascript/src/components/Approvals/constants.js","../app/javascript/src/components/Approvals/History/constants.jsx","../app/javascript/src/components/Approvals/RequestDetailsPane/Footer.jsx","../node_modules/dayjs/dayjs.min.js","../node_modules/dayjs/plugin/timezone.js","../node_modules/dayjs/plugin/utc.js","../app/javascript/src/components/Approvals/utils.js","../app/javascript/src/components/Approvals/RequestDetailsPane/index.jsx","../app/javascript/src/components/Approvals/History/index.jsx","../app/javascript/src/components/Approvals/PendingRequests/constants.js","../app/javascript/src/components/Approvals/PendingRequests/index.jsx","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../app/javascript/src/apis/templates.js","../app/javascript/src/hooks/reactQuery/templates/useTemplatesApi.js","../app/javascript/src/components/Approvals/Templates/constants.js","../app/javascript/src/components/Approvals/Templates/MessageEditor.jsx","../app/javascript/src/components/Approvals/Templates/TemplateForm.jsx","../app/javascript/src/components/Approvals/Templates/Form.jsx","../app/javascript/src/components/Approvals/Templates/Create.jsx","../app/javascript/src/components/Approvals/Templates/Edit.jsx","../app/javascript/src/components/Approvals/Templates/Show/Field.jsx","../app/javascript/src/components/Approvals/Templates/Show/index.jsx","../app/javascript/src/utils.jsx","../app/javascript/src/components/Approvals/Templates/Table.jsx","../app/javascript/src/components/Approvals/Templates/utils/columnData.jsx","../app/javascript/src/components/Approvals/Templates/index.jsx","../app/javascript/src/components/Approvals/createRoutes.jsx","../app/javascript/src/components/Approvals/Header.jsx","../app/javascript/src/apis/views.js","../app/javascript/src/hooks/reactQuery/views/useViewsApi.js","../app/javascript/src/components/Approvals/Tab.jsx","../app/javascript/src/components/Approvals/index.jsx","../app/javascript/src/apis/approvers.js","../app/javascript/src/hooks/reactQuery/approvers/useApproversApi.js","../app/javascript/src/components/Approvals/ApprovalRequestForm.jsx","../app/javascript/src/components/Approvals/CreateRequestForm.jsx","../app/javascript/src/apis/public/requests.js","../app/javascript/src/hooks/reactQuery/public/requests/useApprovalRequest.js","../app/javascript/src/components/Approvals/Public/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 _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 _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import 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 const routes = {\n home: \"/\",\n approvals: \"/approvals/\",\n pending: \"pending\",\n history: \"history\",\n templates: {\n index: \"templates\",\n new: \"templates/new\",\n edit: \"templates/:id/edit\",\n },\n public: \"approvals/public/request/:id\",\n};\n","import { isEmpty } from \"ramda\";\n\nexport const hasPermission = (permissions = \"\") => {\n const type = typeof permissions;\n const userPermissions = window.globalProps?.permissions ?? [];\n\n if (Object.is(type, \"string\")) {\n return userPermissions.includes(permissions);\n } else if (Array.isArray(permissions)) {\n return permissions.some(permission => userPermissions.includes(permission));\n }\n\n return false;\n};\n\nexport const isOverflown = ({\n clientWidth,\n clientHeight,\n scrollWidth,\n scrollHeight,\n}) => scrollHeight > clientHeight || scrollWidth > clientWidth;\n\nexport const getScrollBarWidth = () => {\n const innerElement = document.createElement(\"p\");\n innerElement.classList.add(\"neeto-approvals-scrollbar__inner\");\n\n const outerElement = document.createElement(\"div\");\n outerElement.classList.add(\"neeto-approvals-scrollbar__outer\");\n\n outerElement.appendChild(innerElement);\n document.body.appendChild(outerElement);\n\n const w1 = innerElement.offsetWidth;\n outerElement.style.overflow = \"scroll\";\n let w2 = innerElement.offsetWidth;\n if (w1 === w2) w2 = outerElement.clientWidth;\n\n document.body.removeChild(outerElement);\n\n return w1 - w2;\n};\n\nexport const handleEmptyPage = (data, pageProperties, handlePageChange) => {\n if (isEmpty(data) && pageProperties.page !== 1) {\n handlePageChange(pageProperties.page - 1, pageProperties.pageSize);\n }\n};\n","export const MANAGE_MEMBER_PERMISSIONS = [\n \"members.manage_members\",\n \"agents.manage_agents\",\n];\nexport const DEFAULT_PERMISSION = true; // Until we add permission prop to all neeto apps, this is the default permission.\n\nexport const BASE_URL = \"neeto_approvals\";\nexport const TEMPLATE_URL = `${BASE_URL}/templates`;\n","import axios from \"axios\";\n\nimport { BASE_URL } from \"common/constants\";\n\nconst fetch = (params, url) => axios.get(url, { params });\n\nconst update = ({ id, payload }) =>\n axios.put(`${BASE_URL}/requests/${id}`, { request: payload });\n\nconst requestsApi = { fetch, update };\n\nexport default requestsApi;\n","export const QUERY_KEYS = {\n APPROVERS: \"neeto-approvals-approvers\",\n TEMPLATES: \"neeto-approvals-templates\",\n REQUESTS: \"neeto-approvals-requests\",\n SHOW_TEMPLATE: \"neeto-approvals-show-template\",\n SHOW_PUBLIC_REQUEST: \"neeto-approvals-show-public-request\",\n VIEWS: \"neeto-approvals-views\",\n};\n","import { useMutationWithInvalidation } from \"neetocommons/react-utils\";\nimport { useQuery } from \"react-query\";\n\nimport requestsApi from \"apis/requests\";\nimport { QUERY_KEYS } from \"common/queryConstants\";\n\nconst useFetchRequests = ({ requestUrl, params = {}, options = {} }) =>\n useQuery(\n [QUERY_KEYS.REQUESTS, params],\n () => requestsApi.fetch(params, requestUrl),\n {\n select: response => response.data || response,\n keepPreviousData: true,\n onSuccess: ({ requests }) => options.onSuccess?.(requests),\n ...options,\n }\n );\n\nconst useUpdateRequest = options =>\n useMutationWithInvalidation(requestsApi.update, {\n keysToInvalidate: [QUERY_KEYS.REQUESTS, QUERY_KEYS.VIEWS],\n ...options,\n });\n\nexport { useFetchRequests, useUpdateRequest };\n","import { useState } from \"react\";\n\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\n\nconst usePaginate = () => {\n const [pageProperties, setPageProperties] = useState({\n page: DEFAULT_PAGE_INDEX,\n pageSize: DEFAULT_PAGE_SIZE,\n });\n\n const resetPageProperties = () =>\n setPageProperties({\n page: DEFAULT_PAGE_INDEX,\n pageSize: DEFAULT_PAGE_SIZE,\n });\n\n const handlePageChange = (page, pageSize) => {\n setPageProperties({ page, pageSize });\n };\n\n return { pageProperties, resetPageProperties, handlePageChange };\n};\n\nexport default usePaginate;\n","import { t } from \"i18next\";\nimport { isEditorEmpty } from \"neetoeditor\";\nimport * as yup from \"yup\";\n\nexport const DEFAULT_RADIX = 10;\n\nexport const DEFAULT_FILTER_VALUES = {\n searchTerm: \"\",\n sortBy: \"\",\n orderBy: \"\",\n};\n\nexport const SEARCH_DELAY = 750;\n\nexport const STATUSES = {\n approved: \"approved\",\n rejected: \"rejected\",\n pending: \"pending\",\n cancelled: \"cancelled\",\n};\n\nexport const STATUS_TAG_STYLE = {\n pending: \"primary\",\n approved: \"success\",\n rejected: \"danger\",\n cancelled: \"warning\",\n};\n\nexport const APPROVAL_REQUEST_FORM_INITIAL_VALUES = {\n message: \"\",\n approver: {},\n};\n\nexport const STATUS_UPDATED_BY = {\n rejected: t(\"neetoApprovals.common.rejectedBy\"),\n approved: t(\"neetoApprovals.common.approvedBy\"),\n cancelled: t(\"neetoApprovals.common.cancelledBy\"),\n};\n\nexport const DATA_CY_KEY = \"data-cy\";\n\nexport const SORT_ORDER = { ascend: \"asc\", descend: \"desc\" };\n\nexport const REQUEST_FORM_VALIDATION_SCHEMA = yup.object().shape({\n message: yup.string().test(\n \"message\",\n t(\"neetoApprovals.validations.required\", {\n what: t(\"neetoApprovals.inputs.labels.message\"),\n }),\n content => !isEditorEmpty(content)\n ),\n approver: yup.object().required(t(\"neetoApprovals.validations.approver\")),\n});\n","import React from \"react\";\n\nimport { t } from \"i18next\";\nimport { capitalize } from \"neetocist\";\nimport { Button, Tag } from \"neetoui\";\nimport DateFormat from \"neetomolecules/DateFormat\";\n\nimport { STATUS_TAG_STYLE } from \"../constants\";\n\nexport const HISTORY_TABLE_COLUMNS = [\n {\n dataIndex: \"approvalLabel\",\n key: \"approvalLabel\",\n sorter: true,\n width: \"25%\",\n title: t(\"neetoApprovals.common.id\"),\n render: (approvalLabel, { requestableUrl }) => {\n const url = new URL(requestableUrl || window.location.origin);\n\n return <Button label={approvalLabel} style=\"link\" to={url.pathname} />;\n },\n },\n {\n dataIndex: \"title\",\n key: \"title\",\n sorter: true,\n width: \"25%\",\n title: t(\"neetoApprovals.common.title\"),\n },\n {\n dataIndex: \"status\",\n key: \"status\",\n sorter: true,\n width: \"25%\",\n title: t(\"neetoApprovals.common.status\"),\n render: status => (\n <Tag label={capitalize(status)} style={STATUS_TAG_STYLE[status]} />\n ),\n },\n {\n dataIndex: \"createdAt\",\n key: \"createdAt\",\n sorter: true,\n width: \"25%\",\n title: t(\"neetoApprovals.common.created\"),\n render: createdAt => (\n <DateFormat.FromNow\n date={createdAt}\n typographyProps={{ style: \"body2\" }}\n />\n ),\n },\n];\n","import React from \"react\";\n\nimport { Button, Pane } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { STATUSES } from \"../constants\";\n\nconst Footer = ({\n isLoading,\n handleSubmit,\n isCurrentUserApprover,\n isCurrentUserRequester,\n}) => {\n const { t } = useTranslation();\n\n if (!isCurrentUserApprover && !isCurrentUserRequester) return null;\n\n if (isCurrentUserApprover) {\n return (\n <Pane.Footer className=\"flex gap-x-2\">\n <Button\n label={t(\"neetoApprovals.buttons.approve\")}\n loading={isLoading}\n type=\"submit\"\n onClick={() => handleSubmit(STATUSES.approved)}\n />\n <Button\n label={t(\"neetoApprovals.buttons.decline\")}\n loading={isLoading}\n style=\"text\"\n onClick={() => handleSubmit(STATUSES.rejected)}\n />\n </Pane.Footer>\n );\n }\n\n return (\n <Pane.Footer className=\"flex gap-x-2\">\n <Button\n label={t(\"neetoApprovals.buttons.cancelRequest\")}\n loading={isLoading}\n type=\"submit\"\n onClick={() => handleSubmit(STATUSES.cancelled)}\n />\n </Pane.Footer>\n );\n};\n\nexport default Footer;\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_timezone=e()}(this,(function(){\"use strict\";var t={year:0,month:1,day:2,hour:3,minute:4,second:5},e={};return function(n,i,o){var r,a=function(t,n,i){void 0===i&&(i={});var o=new Date(t),r=function(t,n){void 0===n&&(n={});var i=n.timeZoneName||\"short\",o=t+\"|\"+i,r=e[o];return r||(r=new Intl.DateTimeFormat(\"en-US\",{hour12:!1,timeZone:t,year:\"numeric\",month:\"2-digit\",day:\"2-digit\",hour:\"2-digit\",minute:\"2-digit\",second:\"2-digit\",timeZoneName:i}),e[o]=r),r}(n,i);return r.formatToParts(o)},u=function(e,n){for(var i=a(e,n),r=[],u=0;u<i.length;u+=1){var f=i[u],s=f.type,m=f.value,c=t[s];c>=0&&(r[c]=parseInt(m,10))}var d=r[3],l=24===d?0:d,h=r[0]+\"-\"+r[1]+\"-\"+r[2]+\" \"+l+\":\"+r[4]+\":\"+r[5]+\":000\",v=+e;return(o.utc(h).valueOf()-(v-=v%1e3))/6e4},f=i.prototype;f.tz=function(t,e){void 0===t&&(t=r);var n=this.utcOffset(),i=this.toDate(),a=i.toLocaleString(\"en-US\",{timeZone:t}),u=Math.round((i-new Date(a))/1e3/60),f=o(a,{locale:this.$L}).$set(\"millisecond\",this.$ms).utcOffset(15*-Math.round(i.getTimezoneOffset()/15)-u,!0);if(e){var s=f.utcOffset();f=f.add(n-s,\"minute\")}return f.$x.$timezone=t,f},f.offsetName=function(t){var e=this.$x.$timezone||o.tz.guess(),n=a(this.valueOf(),e,{timeZoneName:t}).find((function(t){return\"timezonename\"===t.type.toLowerCase()}));return n&&n.value};var s=f.startOf;f.startOf=function(t,e){if(!this.$x||!this.$x.$timezone)return s.call(this,t,e);var n=o(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\"),{locale:this.$L});return s.call(n,t,e).tz(this.$x.$timezone,!0)},o.tz=function(t,e,n){var i=n&&e,a=n||e||r,f=u(+o(),a);if(\"string\"!=typeof t)return o(t).tz(a);var s=function(t,e,n){var i=t-60*e*1e3,o=u(i,n);if(e===o)return[i,e];var r=u(i-=60*(o-e)*1e3,n);return o===r?[i,o]:[t-60*Math.min(o,r)*1e3,Math.max(o,r)]}(o.utc(t,i).valueOf(),f,a),m=s[0],c=s[1],d=o(m).utcOffset(c);return d.$x.$timezone=a,d},o.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},o.tz.setDefault=function(t){r=t}}}));","!function(t,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_utc=i()}(this,(function(){\"use strict\";var t=\"minute\",i=/[+-]\\d\\d(?::?\\d\\d)?/g,e=/([+-]|\\d\\d)/g;return function(s,f,n){var u=f.prototype;n.utc=function(t){var i={date:t,utc:!0,args:arguments};return new f(i)},u.utc=function(i){var e=n(this.toDate(),{locale:this.$L,utc:!0});return i?e.add(this.utcOffset(),t):e},u.local=function(){return n(this.toDate(),{locale:this.$L,utc:!1})};var o=u.parse;u.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),o.call(this,t)};var r=u.init;u.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds()}else r.call(this)};var a=u.utcOffset;u.utcOffset=function(s,f){var n=this.$utils().u;if(n(s))return this.$u?0:n(this.$offset)?a.call(this):this.$offset;if(\"string\"==typeof s&&(s=function(t){void 0===t&&(t=\"\");var s=t.match(i);if(!s)return null;var f=(\"\"+s[0]).match(e)||[\"-\",0,0],n=f[0],u=60*+f[1]+ +f[2];return 0===u?0:\"+\"===n?u:-u}(s),null===s))return this;var u=Math.abs(s)<=16?60*s:s,o=this;if(f)return o.$offset=u,o.$u=0===s,o;if(0!==s){var r=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(o=this.local().add(u+r,t)).$offset=u,o.$x.$localOffset=r}else o=this.utc();return o};var h=u.format;u.format=function(t){var i=t||(this.$u?\"YYYY-MM-DDTHH:mm:ss[Z]\":\"\");return h.call(this,i)},u.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*t},u.isUTC=function(){return!!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var l=u.toDate;u.toDate=function(t){return\"s\"===t&&this.$offset?n(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\")).toDate():l.call(this)};var c=u.diff;u.diff=function(t,i,e){if(t&&this.$u===t.$u)return c.call(this,t,i,e);var s=this.local(),f=n(t).local();return c.call(s,f,i,e)}}}));","import dayjs from \"dayjs\";\nimport timezone from \"dayjs/plugin/timezone\";\nimport utc from \"dayjs/plugin/utc\";\nimport { t } from \"i18next\";\nimport { findBy, isPresent } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport { globalProps } from \"neetocommons/initializers\";\n\ndayjs.extend(utc);\ndayjs.extend(timezone);\n\nexport const updateApprovalDetails = ({ requestsData, approvalDetails }) => {\n if (isPresent(requestsData?.requests) && isPresent(approvalDetails)) {\n const request =\n findBy({ id: approvalDetails.id }, requestsData.requests) || {};\n\n return request;\n }\n\n return {};\n};\n\nexport const timeInZone = time => {\n globalProps.user?.timeZone && dayjs.tz.setDefault(globalProps.user?.timeZone);\n\n return dayjs(time).tz();\n};\n\nexport const getApprovalFilter = () => ({\n PENDING: { label: t(\"neetoApprovals.common.pending\"), value: \"PENDING\" },\n TEMPLATES: {\n label: t(\"neetoApprovals.common.template\", PLURAL),\n value: \"TEMPLATES\",\n },\n HISTORY: { label: t(\"neetoApprovals.common.history\"), value: \"HISTORY\" },\n});\n","import React, { useEffect, useState } from \"react\";\n\nimport { capitalize } from \"neetocist\";\nimport { dateFormat, withEventTargetValue } from \"neetocommons/utils\";\nimport { EditorContent } from \"neetoeditor\";\nimport { Label, Pane, Tag, Textarea, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useUpdateRequest } from \"hooks/reactQuery/requests/useRequestsApi\";\n\nimport Footer from \"./Footer\";\n\nimport { STATUSES, STATUS_TAG_STYLE, STATUS_UPDATED_BY } from \"../constants\";\nimport { timeInZone } from \"../utils\";\n\nconst MemoizedEditorContent = React.memo(EditorContent);\n\nconst RequestDetailsPane = ({\n isOpen,\n onClose,\n approvalDetails,\n isPending = false,\n}) => {\n const { t } = useTranslation();\n\n const {\n title,\n status = \"\",\n message,\n createdAt,\n approverName,\n approverEmail,\n note: initialNote = \"\",\n requesterName,\n requesterEmail,\n } = approvalDetails;\n\n const [note, setNote] = useState(initialNote);\n\n const { mutate: updatePendingRequest, isLoading } = useUpdateRequest();\n\n useEffect(() => {\n setNote(initialNote);\n }, [initialNote]);\n\n const requesterOrApproverDetails =\n status === STATUSES.cancelled\n ? `${requesterName} (${requesterEmail})`\n : `${approverName} (${approverEmail})`;\n\n const isCurrentUserApprover =\n window.globalProps?.user?.email === approverEmail;\n\n const isCurrentUserRequester =\n window.globalProps?.user?.email === requesterEmail;\n\n const getStatusLabel = () => {\n if (isPending) {\n return t(\"neetoApprovals.common.waitingFor\");\n }\n\n return STATUS_UPDATED_BY[status];\n };\n\n const handleOnClose = () => {\n setNote(\"\");\n onClose();\n };\n\n const handleSubmit = status =>\n updatePendingRequest(\n {\n id: approvalDetails.id,\n payload: { status, note, [`${status}At`]: new Date() },\n },\n { onSuccess: handleOnClose }\n );\n\n return (\n <Pane {...{ isOpen }} size=\"large\" onClose={handleOnClose}>\n <Pane.Header className=\"space-y-2\">\n <Typography style=\"h2\">{title}</Typography>\n <Tag label={capitalize(status)} style={STATUS_TAG_STYLE[status]} />\n </Pane.Header>\n <Pane.Body className=\"space-y-6\">\n <div className=\"w-full divide-y border px-3\">\n <div className=\"flex space-x-3 p-2\">\n <Label className=\"font-normal\">{getStatusLabel()}</Label>\n <Typography style=\"body2\" weight=\"medium\">\n {requesterOrApproverDetails}\n </Typography>\n </div>\n <div className=\"flex space-x-3 p-2\">\n <Label className=\"font-normal\">\n {t(\"neetoApprovals.common.created\")}\n </Label>\n <Typography style=\"body2\" weight=\"medium\">\n {dateFormat.defaultWithTime(timeInZone(createdAt))}\n </Typography>\n </div>\n </div>\n <div className=\"w-full space-y-2\">\n <Label>{t(\"neetoApprovals.inputs.labels.message\")}</Label>\n <MemoizedEditorContent\n className=\"neeto-ui-bg-gray-100 p-4\"\n content={message}\n />\n </div>\n {isPending && isCurrentUserApprover && (\n <Textarea\n className=\"w-full\"\n disabled={!isPending}\n label={t(\"neetoApprovals.common.note\")}\n value={note}\n placeholder={t(\"neetoApprovals.inputs.placeholders.add_\", {\n what: t(\"neetoApprovals.common.note\"),\n })}\n onChange={withEventTargetValue(setNote)}\n />\n )}\n {!isPending && note && (\n <div className=\"w-full space-y-2\">\n <Label>{t(\"neetoApprovals.common.note\")}</Label>\n <div className=\"neeto-ui-bg-gray-100 p-4\">{note}</div>\n </div>\n )}\n </Pane.Body>\n {isPending && (\n <Footer\n {...{\n handleSubmit,\n isCurrentUserApprover,\n isCurrentUserRequester,\n isLoading,\n }}\n />\n )}\n </Pane>\n );\n};\n\nexport default RequestDetailsPane;\n","import React, { useState } from \"react\";\n\nimport { handleEmptyPage } from \"common/utils\";\nimport { camelToSnakeCase, isPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_SIZE, PLURAL } from \"neetocommons/constants\";\nimport { useDebounce } from \"neetocommons/react-utils\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Table, NoData } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useFetchRequests } from \"hooks/reactQuery/requests/useRequestsApi\";\nimport usePaginate from \"hooks/usePaginate\";\n\nimport { HISTORY_TABLE_COLUMNS } from \"./constants\";\n\nimport {\n DEFAULT_FILTER_VALUES,\n SEARCH_DELAY,\n SORT_ORDER,\n STATUSES,\n} from \"../constants\";\nimport RequestDetailsPane from \"../RequestDetailsPane\";\nimport { updateApprovalDetails } from \"../utils\";\n\nconst History = ({ requestUrl }) => {\n const [filters, setFilters] = useState(DEFAULT_FILTER_VALUES);\n const debouncedSearchTerm = useDebounce(filters.searchTerm, SEARCH_DELAY);\n const { pageProperties, handlePageChange } = usePaginate();\n const [approvalDetails, setApprovalDetails] = useState({});\n const { t } = useTranslation();\n\n const { data: { requests: approvalHistories = {}, totalCount = 0 } = {} } =\n useFetchRequests({\n params: {\n ...pageProperties,\n ...filters,\n searchTerm: debouncedSearchTerm.trim(),\n status: [STATUSES.approved, STATUSES.rejected, STATUSES.cancelled],\n },\n options: {\n onSuccess: ({ requests }) => {\n handleEmptyPage(requests, pageProperties, handlePageChange);\n setApprovalDetails(approvalDetails =>\n updateApprovalDetails({ requestsData: requests, approvalDetails })\n );\n },\n },\n requestUrl,\n });\n\n const handleTableChange = (_, __, sorter) => {\n setFilters({\n ...filters,\n sortBy: camelToSnakeCase(sorter.field || \"\"),\n orderBy: SORT_ORDER[sorter.order],\n });\n };\n\n return (\n <>\n {!isEmpty(approvalHistories) ? (\n <TableWrapper\n className=\"mt-6\"\n hasPagination={totalCount > pageProperties.pageSize}\n >\n <Table\n allowRowClick\n fixedHeight\n columnData={HISTORY_TABLE_COLUMNS}\n currentPageNumber={pageProperties.page}\n defaultPageSize={pageProperties.pageSize}\n rowData={approvalHistories}\n {...{ handlePageChange, totalCount }}\n paginationProps={{\n hideOnSinglePage:\n approvalHistories?.length < DEFAULT_PAGE_SIZE + 1,\n }}\n onChange={handleTableChange}\n onRowClick={(_, approvalDetails) =>\n setApprovalDetails(approvalDetails)\n }\n />\n </TableWrapper>\n ) : (\n <div className=\"flex h-full w-full flex-grow items-center justify-center\">\n <NoData\n title={t(\"neetoApprovals.common.notFound_\", {\n what: t(\n \"neetoApprovals.common.record\",\n PLURAL\n )?.toLocaleLowerCase(),\n })}\n />\n </div>\n )}\n <RequestDetailsPane\n {...{ approvalDetails }}\n isOpen={isPresent(approvalDetails)}\n onClose={() => setApprovalDetails({})}\n />\n </>\n );\n};\n\nexport default History;\n","import { removeBy } from \"neetocist\";\n\nimport { HISTORY_TABLE_COLUMNS } from \"../History/constants\";\n\nexport const PENDING_TABLE_COLUMNS = removeBy(\n { key: \"status\" },\n HISTORY_TABLE_COLUMNS\n);\n","import React, { useState } from \"react\";\n\nimport { handleEmptyPage } from \"common/utils\";\nimport { camelToSnakeCase, isPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_SIZE, PLURAL } from \"neetocommons/constants\";\nimport { useDebounce } from \"neetocommons/react-utils\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Table, NoData } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useFetchRequests } from \"hooks/reactQuery/requests/useRequestsApi\";\nimport usePaginate from \"hooks/usePaginate\";\n\nimport { PENDING_TABLE_COLUMNS } from \"./constants\";\n\nimport {\n DEFAULT_FILTER_VALUES,\n SEARCH_DELAY,\n SORT_ORDER,\n STATUSES,\n} from \"../constants\";\nimport RequestDetailsPane from \"../RequestDetailsPane\";\n\nconst PendingRequests = ({ requestUrl }) => {\n const [filters, setFilters] = useState(DEFAULT_FILTER_VALUES);\n const [approvalDetails, setApprovalDetails] = useState({});\n const debouncedSearchTerm = useDebounce(filters.searchTerm, SEARCH_DELAY);\n const { pageProperties, handlePageChange } = usePaginate();\n const { t } = useTranslation();\n\n const { data: { requests: pendingRequests = {}, totalCount = 0 } = {} } =\n useFetchRequests({\n params: {\n ...pageProperties,\n ...filters,\n searchTerm: debouncedSearchTerm.trim(),\n status: [STATUSES.pending],\n },\n options: {\n onSuccess: ({ requests }) => {\n handleEmptyPage(requests, pageProperties, handlePageChange);\n },\n },\n requestUrl,\n });\n\n const handleTableChange = (_, __, sorter) => {\n setFilters({\n ...filters,\n sortBy: camelToSnakeCase(sorter.field || \"\"),\n orderBy: SORT_ORDER[sorter.order],\n });\n };\n\n return (\n <>\n {!isEmpty(pendingRequests) ? (\n <TableWrapper\n className=\"mt-6\"\n hasPagination={totalCount > pageProperties.pageSize}\n >\n <Table\n allowRowClick\n fixedHeight\n columnData={PENDING_TABLE_COLUMNS}\n currentPageNumber={pageProperties.page}\n defaultPageSize={pageProperties.pageSize}\n rowData={pendingRequests}\n {...{ handlePageChange, totalCount }}\n paginationProps={{\n hideOnSinglePage: pendingRequests?.length < DEFAULT_PAGE_SIZE + 1,\n }}\n onChange={handleTableChange}\n onRowClick={(_, approvalDetails) =>\n setApprovalDetails(approvalDetails)\n }\n />\n </TableWrapper>\n ) : (\n <div className=\"flex h-full w-full flex-grow items-center justify-center\">\n <NoData\n title={t(\"neetoApprovals.common.notFound_\", {\n what: t(\n \"neetoApprovals.common.pendingApproval\",\n PLURAL\n )?.toLocaleLowerCase(),\n })}\n />\n </div>\n )}\n <RequestDetailsPane\n isPending\n {...{ approvalDetails }}\n isOpen={isPresent(approvalDetails)}\n onClose={() => setApprovalDetails({})}\n />\n </>\n );\n};\n\nexport default PendingRequests;\n","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","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}","import axios from \"axios\";\nimport { BASE_URL, TEMPLATE_URL } from \"common/constants\";\n\nconst fetch = params => axios.get(TEMPLATE_URL, { params });\n\nconst show = ({ id, params }) => axios.get(`${TEMPLATE_URL}/${id}`, { params });\n\nconst create = ({ url = TEMPLATE_URL, payload }) => axios.post(url, payload);\n\nconst update = ({ id, payload, url = BASE_URL }) =>\n axios.put(`${url}/${id}`, payload);\n\nconst destroy = ({ templateId }) =>\n axios.delete(`${TEMPLATE_URL}/${templateId}`);\n\nconst templatesApi = { create, fetch, update, destroy, show };\n\nexport default templatesApi;\n","import { QUERY_KEYS } from \"common/queryConstants\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\nimport { useQuery } from \"react-query\";\n\nimport templatesApi from \"apis/templates\";\n\nconst useFetchTemplates = (params = {}, options = {}) =>\n useQuery([QUERY_KEYS.TEMPLATES, params], () => templatesApi.fetch(params), {\n select: response => response.data || response,\n keepPreviousData: true,\n onSuccess: ({ templates }) => params?.onSuccess?.(templates),\n ...options,\n });\n\nconst useFetchTemplate = ({ id, params }) =>\n useQuery(\n [QUERY_KEYS.SHOW_TEMPLATE, id, params],\n () => templatesApi.show({ id, params }),\n { enabled: !!id }\n );\n\nconst useCreateTemplate = options =>\n useMutationWithInvalidation(templatesApi.create, {\n keysToInvalidate: [QUERY_KEYS.TEMPLATES, QUERY_KEYS.VIEWS],\n ...options,\n });\n\nconst useUpdateTemplate = options =>\n useMutationWithInvalidation(templatesApi.update, {\n keysToInvalidate: [\n QUERY_KEYS.TEMPLATES,\n (_, { id }) => [QUERY_KEYS.SHOW_TEMPLATE, id],\n ],\n ...options,\n });\n\nconst useDeleteTemplate = options =>\n useMutationWithInvalidation(templatesApi.destroy, {\n keysToInvalidate: [QUERY_KEYS.TEMPLATES, QUERY_KEYS.VIEWS],\n ...options,\n });\n\nexport {\n useCreateTemplate,\n useFetchTemplates,\n useUpdateTemplate,\n useDeleteTemplate,\n useFetchTemplate,\n};\n","import { t } from \"i18next\";\nimport { isEditorEmpty } from \"neetoeditor\";\nimport * as yup from \"yup\";\n\nexport const TEMPLATE_FORM_INITIAL_VALUES = {\n name: \"\",\n description: \"\",\n message: \"\",\n};\n\nexport const TEMPLATE_FORM_VALIDATION_SCHEMA = yup.object().shape({\n name: yup\n .string()\n .trim()\n .required(\n t(\"neetoApprovals.validations.required\", {\n what: t(\"neetoApprovals.common.name\"),\n })\n ),\n message: yup.string().test(\n \"message\",\n t(\"neetoApprovals.validations.required\", {\n what: t(\"neetoApprovals.inputs.labels.message\"),\n }),\n content => !isEditorEmpty(content)\n ),\n});\n","import React from \"react\";\n\nimport { withT } from \"neetocommons/react-utils\";\nimport { FormikEditor } from \"neetoeditor\";\n\nconst MessageEditor = withT(({ t, placeholders = [], initialValue = \"\" }) => (\n <FormikEditor\n {...{ initialValue }}\n required\n label={t(\"neetoApprovals.inputs.labels.message\")}\n name=\"message\"\n rows={3}\n variables={placeholders}\n placeholder={t(\"neetoApprovals.inputs.placeholders.enter_\", {\n what: t(\"neetoApprovals.inputs.labels.message\"),\n })}\n />\n));\n\nexport default MessageEditor;\n","import React from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport ToggleFeatureCard from \"neetomolecules/ToggleFeatureCard\";\nimport { Input, Textarea } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport MessageEditor from \"./MessageEditor\";\n\nconst TemplateForm = ({ placeholders, initialData }) => {\n const { t } = useTranslation();\n const { values, setFieldValue } = useFormikContext();\n\n const handleDescriptionToggle = ({ target: { checked } }) => {\n setFieldValue(\"descriptionEnabled\", checked);\n if (!checked) {\n setFieldValue(\"description\", \"\");\n }\n };\n\n return (\n <div className=\"flex w-full flex-col space-y-6\">\n <Input\n autoFocus\n required\n label={t(\"neetoApprovals.common.name\")}\n name=\"name\"\n placeholder={t(\"neetoApprovals.inputs.placeholders.name\")}\n />\n <ToggleFeatureCard\n switchName=\"descriptionEnabled\"\n title={t(\"neetoApprovals.inputs.labels.description\")}\n switchProps={{\n onChange: handleDescriptionToggle,\n tooltipProps: {\n enabledSwitchText: t(\n \"neetoApprovals.templates.descriptionToggle.enable\"\n ),\n disabledSwitchText: t(\n \"neetoApprovals.templates.descriptionToggle.disable\"\n ),\n },\n }}\n >\n {values.descriptionEnabled && (\n <Textarea\n className=\"w-full\"\n name=\"description\"\n placeholder={t(\"neetoApprovals.inputs.placeholders.description\")}\n />\n )}\n </ToggleFeatureCard>\n <MessageEditor {...{ placeholders }} initialValue={initialData.message} />\n </div>\n );\n};\n\nexport default TemplateForm;\n","import React, { useRef } from \"react\";\n\nimport { isPresent, noop } from \"neetocist\";\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { Button, Pane, Typography } from \"neetoui\";\nimport { Form as FormikForm } from \"neetoui/formik\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n TEMPLATE_FORM_INITIAL_VALUES,\n TEMPLATE_FORM_VALIDATION_SCHEMA,\n} from \"./constants\";\nimport TemplateForm from \"./TemplateForm\";\n\nconst Form = ({\n isOpen,\n onClose,\n initialData = {},\n onSubmit = noop,\n isLoading = false,\n placeholders,\n}) => {\n const inputReference = useRef(null);\n\n const { t } = useTranslation();\n\n const header = isEmpty(initialData)\n ? t(\"neetoApprovals.common.addNew_\", {\n what: t(\"neetoApprovals.common.template\", SINGULAR),\n })\n : t(\"neetoApprovals.common.edit_\", {\n what: t(\"neetoApprovals.common.template\", SINGULAR),\n });\n\n return (\n <Pane\n {...{ isOpen, onClose }}\n initialFocusRef={inputReference}\n size=\"large\"\n >\n <Pane.Header>\n <Typography style=\"h2\">{header}</Typography>\n </Pane.Header>\n <FormikForm\n formikProps={{\n enableReinitialize: true,\n initialValues: isPresent(initialData)\n ? initialData\n : TEMPLATE_FORM_INITIAL_VALUES,\n validationSchema: TEMPLATE_FORM_VALIDATION_SCHEMA,\n onSubmit,\n }}\n >\n <>\n <Pane.Body>\n <TemplateForm {...{ initialData, placeholders }} />\n </Pane.Body>\n <Pane.Footer className=\"flex gap-x-2\">\n <Button\n data-cy=\"neeto-approvals-templates-save-template-btn\"\n label={t(\"neetoApprovals.buttons.saveChanges\")}\n loading={isLoading}\n type=\"submit\"\n />\n <Button\n data-cy=\"neeto-approvals-templates-close-template-form-btn\"\n label={t(\"neetoApprovals.buttons.cancel\")}\n style=\"text\"\n onClick={onClose}\n />\n </Pane.Footer>\n </>\n </FormikForm>\n </Pane>\n );\n};\n\nexport default Form;\n","import React from \"react\";\n\nimport { useCreateTemplate } from \"hooks/reactQuery/templates/useTemplatesApi\";\n\nimport Form from \"./Form\";\n\nconst Create = ({ templateUrl, isOpen, onClose, templatePlaceholders }) => {\n const { mutate: createTemplate, isLoading } = useCreateTemplate();\n\n const onSubmit = template => {\n const payload = { template };\n\n createTemplate({ url: templateUrl, payload }, { onSuccess: onClose });\n };\n\n return (\n <Form\n {...{ isLoading, isOpen, onClose, onSubmit }}\n placeholders={templatePlaceholders}\n />\n );\n};\n\nexport default Create;\n","import React from \"react\";\n\nimport { useUpdateTemplate } from \"hooks/reactQuery/templates/useTemplatesApi\";\n\nimport Form from \"./Form\";\n\nconst Edit = ({\n templateUrl,\n template,\n setTemplate,\n isOpen,\n onClose,\n templatePlaceholders,\n}) => {\n const { mutate: updateTemplate, isLoading: isUpdating } = useUpdateTemplate({\n onSuccess: () => setTemplate({}),\n });\n\n const onSubmit = template => {\n const payload = { template };\n updateTemplate({ id: template.id, payload, url: templateUrl });\n };\n\n const initialData = {\n ...template,\n descriptionEnabled: !!template.description,\n };\n\n return (\n <Form\n {...{ initialData, isOpen, onClose, onSubmit }}\n isLoading={isUpdating}\n placeholders={templatePlaceholders}\n />\n );\n};\n\nexport default Edit;\n","import React from \"react\";\n\nimport { Label, Typography } from \"neetoui\";\n\nconst Field = ({ label, value }) => (\n <div className=\"flex flex-col items-start justify-center\">\n <Label className=\"mb-1 font-normal\">{label}</Label>\n <Typography style=\"body1\" weight=\"medium\">\n {value}\n </Typography>\n </div>\n);\n\nexport default React.memo(Field);\n","import React from \"react\";\n\nimport { EditorContent } from \"neetoeditor\";\nimport { Label, Pane, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Field from \"./Field\";\n\nconst MemoizedEditorContent = React.memo(EditorContent);\n\nconst TemplateDetails = ({ isOpen, onClose, template }) => {\n const { t } = useTranslation();\n const { name, description, message } = template;\n\n return (\n <Pane {...{ isOpen, onClose }}>\n <Pane.Header className=\"space-y-2\">\n <Typography style=\"h2\">\n {t(\"neetoApprovals.common.templateDetails\")}\n </Typography>\n </Pane.Header>\n <Pane.Body className=\"space-y-6\">\n <Field label={t(\"neetoApprovals.common.name\")} value={name} />\n <Field\n label={t(\"neetoApprovals.inputs.labels.description\")}\n value={description}\n />\n <div className=\"flex w-full flex-col space-y-4\">\n <Label className=\"mb-1 font-normal\">\n {t(\"neetoApprovals.inputs.labels.message\")}\n </Label>\n <MemoizedEditorContent\n className=\"neeto-ui-bg-gray-100 neeto-ui-rounded-lg p-3\"\n content={message}\n />\n </div>\n </Pane.Body>\n </Pane>\n );\n};\n\nexport default TemplateDetails;\n","import React from \"react\";\n\nimport { Trans } from \"react-i18next\";\nimport { Link } from \"react-router-dom\";\n\nexport const renderNoDataHelpText = ({ entity, url }) => (\n <Trans\n i18nKey=\"neetoApprovals.common.noDataHelpText\"\n values={{ entity }}\n components={{\n a: (\n <Link\n className=\"neeto-ui-text-primary-600 underline\"\n target=\"_blank\"\n to={{ pathname: url }}\n />\n ),\n }}\n />\n);\n","import React from \"react\";\n\nimport { DEFAULT_PAGE_SIZE, SINGULAR } from \"neetocommons/constants\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Table as NeetoUITable, NoData } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { renderNoDataHelpText } from \"utils\";\n\nimport { SORT_ORDER } from \"../constants\";\n\nconst Table = ({\n entity,\n columnData,\n rowData,\n totalCount,\n filters,\n setFilters,\n setIsPaneOpen,\n helpDocUrl,\n onEditClick,\n onDeleteClick,\n pageProperties,\n ...otherProps\n}) => {\n const { t } = useTranslation();\n\n const columns = columnData({ onEditClick, onDeleteClick });\n\n const handleTableChange = (_, __, sorter) => {\n setFilters({\n ...filters,\n sortBy: sorter.field,\n orderBy: SORT_ORDER[sorter.order],\n });\n };\n\n const noDataProps = {\n primaryButtonProps: {\n label: t(\"neetoApprovals.common.addNew_\", {\n what: t(\n \"neetoApprovals.common.template\",\n SINGULAR\n )?.toLocaleLowerCase(),\n }),\n onClick: () => setIsPaneOpen(true),\n },\n helpText: renderNoDataHelpText({ entity, url: helpDocUrl }),\n };\n\n if (isEmpty(rowData)) {\n return (\n <div className=\"flex h-full w-full flex-grow items-center justify-center\">\n <NoData\n title={t(\"neetoApprovals.common.notFound_\", { what: entity })}\n {...(!filters.searchTerm && noDataProps)}\n />\n </div>\n );\n }\n\n return (\n <TableWrapper\n className=\"mt-6\"\n hasPagination={totalCount > pageProperties.pageSize}\n >\n <NeetoUITable\n fixedHeight\n columnData={columns}\n currentPageNumber={pageProperties.page}\n defaultPageSize={pageProperties.pageSize}\n scroll={{ x: 0 }}\n tableLayout=\"fixed\"\n paginationProps={{\n hideOnSinglePage: rowData?.length < DEFAULT_PAGE_SIZE + 1,\n }}\n onChange={handleTableChange}\n {...{ rowData, totalCount, ...otherProps }}\n />\n </TableWrapper>\n );\n};\n\nexport default Table;\n","import React from \"react\";\n\nimport i18next from \"i18next\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Typography } from \"neetoui\";\n\nimport { DATA_CY_KEY } from \"components/Approvals/constants\";\n\nconst columnData = ({ onEditClick, onDeleteClick }) => [\n {\n dataIndex: \"name\",\n key: \"name\",\n sorter: true,\n title: i18next.t(\"neetoApprovals.common.name\"),\n ellipsis: true,\n render: (_, template) => (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Typography className=\"truncate\" style=\"body2\">\n {template.name}\n </Typography>\n <MoreDropdown\n dropdownProps={{\n strategy: \"fixed\",\n onClick: e => e.stopPropagation(),\n }}\n menuItems={[\n {\n key: \"edit\",\n label: i18next.t(\"neetoApprovals.common.edit\"),\n onClick: event => onEditClick(event, template),\n [DATA_CY_KEY]: \"neeto-approvals-templates-edit-template-btn\",\n },\n {\n key: \"delete\",\n label: i18next.t(\"neetoApprovals.common.delete\"),\n onClick: event => onDeleteClick(event, template),\n [DATA_CY_KEY]: \"neeto-approvals-templates-delete-template-btn\",\n },\n ]}\n />\n </div>\n ),\n },\n {\n dataIndex: \"description\",\n key: \"description\",\n title: i18next.t(\"neetoApprovals.inputs.labels.description\"),\n },\n];\n\nexport default columnData;\n","import React, { useEffect, useState } from \"react\";\n\nimport { SINGULAR, PLURAL } from \"neetocommons/constants\";\nimport { useDebounce } from \"neetocommons/react-utils\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport { Alert } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { handleEmptyPage } from \"common/utils\";\nimport {\n useDeleteTemplate,\n useFetchTemplates,\n} from \"hooks/reactQuery/templates/useTemplatesApi\";\nimport usePaginate from \"hooks/usePaginate\";\n\nimport Create from \"./Create\";\nimport Edit from \"./Edit\";\nimport TemplateDetails from \"./Show\";\nimport Table from \"./Table\";\nimport columnData from \"./utils/columnData\";\n\nimport { DEFAULT_FILTER_VALUES, SEARCH_DELAY } from \"../constants\";\n\nconst Templates = ({\n searchTerm,\n isNewTemplatePaneOpen,\n setIsNewTemplatePaneOpen,\n helpDocUrl,\n ...otherProps\n}) => {\n const [filters, setFilters] = useState(DEFAULT_FILTER_VALUES);\n const [selectedTemplate, setSelectedTemplate] = useState({});\n const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false);\n const [isEditPaneOpen, setIsEditPaneOpen] = useState(false);\n const [isShowPaneOpen, setIsShowPaneOpen] = useState(false);\n\n const { pageProperties, handlePageChange, resetPageProperties } =\n usePaginate();\n\n const { t } = useTranslation();\n\n const debouncedSearchTerm = useDebounce(searchTerm, SEARCH_DELAY);\n\n useEffect(() => {\n resetPageProperties();\n }, [searchTerm]);\n\n const {\n data: { templates = [], totalCount = 0 } = {},\n isLoading: isTemplateLoading,\n } = useFetchTemplates(\n {\n ...pageProperties,\n ...filters,\n searchTerm: debouncedSearchTerm.trim(),\n },\n {\n onSuccess: ({ templates }) => {\n handleEmptyPage(templates, pageProperties, handlePageChange);\n },\n }\n );\n\n const { mutate: deleteTemplate, isLoading: isDeleting } = useDeleteTemplate();\n\n useEffect(() => {\n if (isEmpty(selectedTemplate)) {\n setIsDeleteAlertOpen(false);\n setIsEditPaneOpen(false);\n setIsShowPaneOpen(false);\n }\n }, [selectedTemplate]);\n\n const onEditClick = (event, template) => {\n event.stopPropagation();\n\n setSelectedTemplate(template);\n setIsEditPaneOpen(true);\n };\n\n const onRowClick = (_, templateDetails) => {\n setSelectedTemplate(templateDetails);\n setIsShowPaneOpen(true);\n };\n\n const onDeleteClick = (event, template) => {\n event.stopPropagation();\n\n setSelectedTemplate(template);\n setIsDeleteAlertOpen(true);\n };\n\n const handleDelete = templateId => {\n deleteTemplate({ templateId });\n setSelectedTemplate({});\n };\n\n const entity = t(\n \"neetoApprovals.common.template\",\n PLURAL\n )?.toLocaleLowerCase();\n\n return (\n <>\n {isTemplateLoading ? (\n <PageLoader />\n ) : (\n <Table\n rowData={templates}\n setIsPaneOpen={setIsNewTemplatePaneOpen}\n {...{\n columnData,\n entity,\n filters,\n handlePageChange,\n helpDocUrl,\n onDeleteClick,\n onEditClick,\n onRowClick,\n pageProperties,\n searchTerm,\n setFilters,\n totalCount,\n }}\n />\n )}\n <Create\n isOpen={isNewTemplatePaneOpen}\n onClose={() => setIsNewTemplatePaneOpen(false)}\n {...otherProps}\n />\n <Edit\n isOpen={isEditPaneOpen}\n setTemplate={setSelectedTemplate}\n template={selectedTemplate}\n {...otherProps}\n onClose={() => setIsEditPaneOpen(false)}\n />\n <Alert\n isOpen={isDeleteAlertOpen}\n isSubmitting={isDeleting}\n submitButtonLabel={t(\"neetoApprovals.buttons.delete\")}\n message={\n <Trans\n i18nKey=\"neetoApprovals.alerts.deleting_\"\n values={{\n what: t(\n \"neetoApprovals.common.template\",\n SINGULAR\n )?.toLocaleLowerCase(),\n name: selectedTemplate?.name,\n }}\n />\n }\n title={t(\"neetoApprovals.common.delete_\", {\n what: t(\n \"neetoApprovals.common.template\",\n SINGULAR\n )?.toLocaleLowerCase(),\n })}\n onClose={() => setSelectedTemplate({})}\n onSubmit={() => handleDelete(selectedTemplate?.id)}\n />\n <TemplateDetails\n isOpen={isShowPaneOpen}\n template={selectedTemplate}\n onClose={() => setSelectedTemplate({})}\n />\n </>\n );\n};\n\nexport default Templates;\n","import React from \"react\";\n\nimport { t } from \"i18next\";\nimport { PLURAL, SINGULAR } from \"neetocommons/constants\";\nimport { Button } from \"neetoui\";\n\nimport { routes } from \"common/routes\";\n\nimport History from \"./History\";\nimport PendingRequests from \"./PendingRequests\";\nimport Templates from \"./Templates\";\n\nexport const createRoutes = ({\n config,\n isNewTemplatePaneOpen,\n searchTerm,\n setIsNewTemplatePaneOpen,\n}) => [\n {\n component: () => (\n <Templates\n {...{\n isNewTemplatePaneOpen,\n searchTerm,\n setIsNewTemplatePaneOpen,\n ...config,\n }}\n />\n ),\n path: `${config.approvalsPath}${routes.templates.index}`,\n actionBlock: () => (\n <Button\n data-cy=\"neeto-approvals-templates-add-new-button\"\n label={t(\"neetoApprovals.common.addNew_\", {\n what: t(\n \"neetoApprovals.common.template\",\n SINGULAR\n )?.toLocaleLowerCase(),\n })}\n onClick={() => setIsNewTemplatePaneOpen(true)}\n />\n ),\n searchPlaceholder: t(\"neetoApprovals.inputs.placeholders.search_\", {\n what: t(\"neetoApprovals.common.template\", PLURAL).toLocaleLowerCase(),\n }),\n },\n {\n component: () => <PendingRequests {...config} />,\n path: `${config.approvalsPath}${routes.pending}`,\n },\n {\n component: () => <History {...config} />,\n path: `${config.approvalsPath}${routes.history}`,\n },\n];\n","import React from \"react\";\n\nimport { findBy } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport NeetoHeader from \"neetomolecules/Header\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation } from \"react-router-dom\";\n\nconst Header = ({ appRoutes, breadcrumbs }) => {\n const { t } = useTranslation();\n\n const { pathname } = useLocation();\n\n const currentTab = findBy({ path: pathname }, appRoutes);\n\n return (\n <NeetoHeader\n actionBlock={currentTab?.actionBlock?.()}\n title={t(\"neetoApprovals.common.approval\", PLURAL)}\n searchProps={\n currentTab?.searchPlaceholder && {\n placeholder: currentTab?.searchPlaceholder,\n }\n }\n {...{ breadcrumbs }}\n />\n );\n};\n\nexport default Header;\n","import axios from \"axios\";\n\nimport { BASE_URL } from \"common/constants\";\n\nconst fetch = () => axios.get(`${BASE_URL}/views`);\n\nconst viewsApi = { fetch };\n\nexport default viewsApi;\n","import viewsApi from \"apis/views\";\nimport { QUERY_KEYS } from \"common/queryConstants\";\nimport { useQuery } from \"react-query\";\n\nconst useFetchViews = (options = {}) =>\n useQuery([QUERY_KEYS.VIEWS], () => viewsApi.fetch(), {\n select: response => response.data || response,\n ...options,\n });\n\nexport { useFetchViews };\n","import React from \"react\";\n\nimport { Tab as NeetoUITab } from \"neetoui\";\nimport { keys } from \"ramda\";\nimport { useLocation, useHistory } from \"react-router-dom\";\n\nimport { routes } from \"common/routes\";\nimport { useFetchViews } from \"hooks/reactQuery/views/useViewsApi\";\n\nimport { getApprovalFilter } from \"./utils\";\n\nconst Tab = ({ approvalsPath }) => {\n const { pathname } = useLocation();\n\n const history = useHistory();\n\n const approvalFilter = getApprovalFilter();\n const approvalFilterKeys = keys(approvalFilter);\n const category = pathname.split(routes.approvals)[1]?.toLocaleUpperCase();\n\n const isActive = filter => category.includes(filter);\n\n const getRoute = filter => `${approvalsPath}${filter.toLowerCase()}`;\n\n const { data: { views = {} } = {} } = useFetchViews();\n\n return (\n <NeetoUITab>\n {approvalFilterKeys.map(filter => (\n <NeetoUITab.Item\n active={isActive(filter)}\n count={views[filter?.toLocaleLowerCase()]}\n key={filter}\n label={approvalFilter[filter].label}\n onClick={() => history.push(getRoute(filter))}\n >\n {approvalFilter[filter].label} (\n {views[filter?.toLocaleLowerCase()] || 0})\n </NeetoUITab.Item>\n ))}\n </NeetoUITab>\n );\n};\n\nexport default Tab;\n","import React, { useState } from \"react\";\n\nimport { routes } from \"common/routes\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport Container from \"neetomolecules/Container\";\nimport { Redirect, Route, Switch } from \"react-router-dom\";\n\nimport { createRoutes } from \"./createRoutes\";\nimport Header from \"./Header\";\nimport Tabs from \"./Tab\";\n\nconst Approvals = ({ config }) => {\n const { searchTerm = \"\" } = useQueryParams();\n const [isNewTemplatePaneOpen, setIsNewTemplatePaneOpen] = useState(false);\n\n const appRoutes = createRoutes({\n config,\n searchTerm,\n isNewTemplatePaneOpen,\n setIsNewTemplatePaneOpen,\n });\n\n return (\n <div className=\"w-full overflow-y-auto\">\n <Container>\n <Header {...{ appRoutes, ...config }} />\n <Tabs approvalsPath={config.approvalsPath} />\n <Switch>\n {appRoutes.map(({ path, component }) => (\n <Route exact {...{ component, path }} key={path} />\n ))}\n <Redirect\n exact\n from={config.approvalsPath}\n // eslint-disable-next-line @bigbinary/neeto/use-common-routes\n to={`${config.approvalsPath}${routes.pending}`}\n />\n </Switch>\n </Container>\n </div>\n );\n};\n\nexport default Approvals;\n","import axios from \"axios\";\n\nimport { BASE_URL } from \"common/constants\";\n\nconst fetch = params => axios.get(`${BASE_URL}/approvers`, { params });\n\nconst approversApi = { fetch };\n\nexport default approversApi;\n","import { useQuery } from \"react-query\";\n\nimport approversApi from \"apis/approvers\";\nimport { QUERY_KEYS } from \"common/queryConstants\";\n\nconst useFetchApprovers = (params = {}, options = {}) =>\n useQuery([QUERY_KEYS.APPROVERS, params], () => approversApi.fetch(params), {\n select: response => response.data || response,\n keepPreviousData: true,\n onSuccess: ({ approvers }) => params?.onSuccess?.(approvers),\n ...options,\n });\n\nexport { useFetchApprovers };\n","import React, { useEffect, useMemo, useRef, useState } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { FormikEditor } from \"neetoeditor\";\nimport { Select } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useFetchApprovers } from \"hooks/reactQuery/approvers/useApproversApi\";\nimport {\n useFetchTemplate,\n useFetchTemplates,\n} from \"hooks/reactQuery/templates/useTemplatesApi\";\n\nconst Form = ({\n requestableId = \"\",\n selectedTemplateData,\n setSelectedTemplateData,\n}) => {\n const { t } = useTranslation();\n\n const { setFieldValue } = useFormikContext();\n const inputRef = useRef(null);\n\n const [approverId, setApproverId] = useState(null);\n const [templateId, setTemplateId] = useState(null);\n\n const params = {\n requestableId,\n approverId,\n approvalRequestorId: globalProps.user?.id,\n };\n\n const { data: { templates = [] } = {} } = useFetchTemplates();\n const { data: { template = {} } = {} } = useFetchTemplate({\n id: templateId,\n params,\n });\n const { data: { approvers = [] } = {} } = useFetchApprovers();\n\n const approverOptions = useMemo(\n () =>\n approvers.map(approver => ({\n label: approver.name,\n value: approver.id,\n })),\n [approvers]\n );\n\n const templateOptions = templates.map(template => ({\n label: template.name,\n value: template.id,\n }));\n\n const updateMessage = () => {\n const message = template.parsedMessage || template.message;\n setFieldValue(\"message\", message);\n inputRef?.current?.editor?.commands?.setContent(message);\n };\n\n const handleTemplateChange = selectedTemplate => {\n setTemplateId(selectedTemplate.value);\n };\n\n const handleApproverChange = approver => {\n setApproverId(approver.value);\n setFieldValue(\"approver\", approver);\n };\n\n useEffect(() => {\n if (isEmpty(template)) return;\n setSelectedTemplateData(template);\n updateMessage();\n }, [template]);\n\n return (\n <div className=\"w-full space-y-6\">\n <Select\n label={t(\"neetoApprovals.select.approval\")}\n options={templateOptions}\n onChange={selectedTemplate => handleTemplateChange(selectedTemplate)}\n />\n {selectedTemplateData?.message && (\n <>\n <div className=\"flex space-x-6\">\n <Select\n required\n label={t(\"neetoApprovals.inputs.labels.approver\")}\n name=\"approver\"\n options={approverOptions}\n placeholder={t(\"neetoApprovals.inputs.placeholders.select_\", {\n what: t(\"neetoApprovals.common.approver\", SINGULAR),\n })}\n onChange={handleApproverChange}\n />\n </div>\n <div className=\"space-y-2\">\n <FormikEditor\n required\n label={t(\"neetoApprovals.inputs.labels.message\")}\n name=\"message\"\n ref={inputRef}\n rows={3}\n placeholder={t(\"neetoApprovals.inputs.placeholders.enter_\", {\n what: t(\"neetoApprovals.inputs.labels.message\"),\n })}\n />\n </div>\n </>\n )}\n </div>\n );\n};\n\nexport default Form;\n","import React, { useState } from \"react\";\n\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { Pane, Button, Typography } from \"neetoui\";\nimport { Form as FormikForm } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport ApprovalRequestForm from \"./ApprovalRequestForm\";\nimport {\n APPROVAL_REQUEST_FORM_INITIAL_VALUES,\n REQUEST_FORM_VALIDATION_SCHEMA,\n} from \"./constants\";\n\nconst Form = ({\n isOpen,\n setIsPaneOpen,\n onSubmit,\n isLoading,\n requestableId = \"\",\n}) => {\n const [selectedTemplateData, setSelectedTemplateData] = useState({});\n const { t } = useTranslation();\n\n const onClose = () => {\n setIsPaneOpen(false);\n setSelectedTemplateData({});\n };\n\n const handleSubmit = values => {\n onSubmit(\n { message: values.message, approverId: values.approver.value },\n selectedTemplateData,\n onClose\n );\n };\n\n return (\n <Pane {...{ isOpen, onClose }}>\n <Pane.Header>\n <Typography style=\"h2\">\n {t(\"neetoApprovals.common.add_\", {\n what: t(\"neetoApprovals.common.approval\", SINGULAR),\n })}\n </Typography>\n </Pane.Header>\n <FormikForm\n formikProps={{\n onSubmit: handleSubmit,\n initialValues: APPROVAL_REQUEST_FORM_INITIAL_VALUES,\n validationSchema: REQUEST_FORM_VALIDATION_SCHEMA,\n }}\n >\n {({ dirty }) => (\n <>\n <Pane.Body>\n <ApprovalRequestForm\n {...{\n requestableId,\n selectedTemplateData,\n setSelectedTemplateData,\n }}\n />\n </Pane.Body>\n <Pane.Footer className=\"flex gap-x-2\">\n <Button\n disabled={!dirty}\n label={t(\"neetoApprovals.buttons.saveChanges\")}\n loading={isLoading}\n type=\"submit\"\n />\n <Button\n label={t(\"neetoApprovals.buttons.cancel\")}\n style=\"text\"\n onClick={onClose}\n />\n </Pane.Footer>\n </>\n )}\n </FormikForm>\n </Pane>\n );\n};\n\nexport default Form;\n","import axios from \"axios\";\nimport { BASE_URL } from \"common/constants\";\n\nconst show = id => axios.get(`${BASE_URL}/public/requests/${id}`);\n\nconst accept = ({ id, note }) =>\n axios.patch(`${BASE_URL}/public/requests/${id}/accept`, { note });\n\nconst decline = ({ id, note }) =>\n axios.patch(`${BASE_URL}/public/requests/${id}/decline`, { note });\n\nconst publicRequestsApi = { show, accept, decline };\n\nexport default publicRequestsApi;\n","import { useMutationWithInvalidation } from \"neetocommons/react-utils\";\nimport { useQuery, useQueryClient } from \"react-query\";\n\nimport publicRequestsApi from \"apis/public/requests\";\nimport { QUERY_KEYS } from \"common/queryConstants\";\n\nconst useFetchPublicRequest = ({ requestId }, options) =>\n useQuery(\n [QUERY_KEYS.SHOW_PUBLIC_REQUEST, requestId],\n () => publicRequestsApi.show(requestId),\n { ...options }\n );\n\nconst useAcceptPendingRequest = options => {\n const queryClient = useQueryClient();\n\n return useMutationWithInvalidation(publicRequestsApi.accept, {\n keysToInvalidate: [\n QUERY_KEYS.SHOW_PUBLIC_REQUEST,\n QUERY_KEYS.REQUESTS,\n QUERY_KEYS.VIEWS,\n ],\n ...options,\n });\n};\n\nconst useDeclinePendingRequest = options => {\n const queryClient = useQueryClient();\n\n return useMutationWithInvalidation(publicRequestsApi.decline, {\n keysToInvalidate: [\n QUERY_KEYS.SHOW_PUBLIC_REQUEST,\n QUERY_KEYS.REQUESTS,\n QUERY_KEYS.VIEWS,\n ],\n ...options,\n });\n};\n\nexport {\n useFetchPublicRequest,\n useAcceptPendingRequest,\n useDeclinePendingRequest,\n};\n","import { PLURAL } from \"neetocommons/constants\";\nimport Header from \"neetomolecules/Header\";\nimport Container from \"neetomolecules/Container\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport { EditorContent } from \"neetoeditor\";\n\nimport { Button, Callout, Textarea, Typography } from \"neetoui\";\n\nimport {\n useFetchPublicRequest,\n useAcceptPendingRequest,\n useDeclinePendingRequest,\n} from \"hooks/reactQuery/public/requests/useApprovalRequest\";\nimport React, { useState } from \"react\";\nimport { useParams } from \"react-router-dom\";\nimport { STATUSES } from \"../constants\";\nimport { Trans, useTranslation } from \"react-i18next\";\nimport { isEmpty } from \"ramda\";\nimport { withEventTargetValue } from \"neetocommons/utils\";\n\nconst Public = () => {\n const [note, setNote] = useState(\"\");\n\n const { id } = useParams();\n const { t } = useTranslation();\n\n const { data: { approvalRequest = {} } = {}, isLoading } =\n useFetchPublicRequest(\n { requestId: id },\n {\n onSuccess: ({ approvalRequest: { note } }) => {\n note && setNote(note);\n },\n }\n );\n\n const { mutate: acceptPendingRequest, isLoading: isAccepting } =\n useAcceptPendingRequest();\n const { mutate: declinePendingRequest, isLoading: isDeclining } =\n useDeclinePendingRequest();\n\n const calloutStyle =\n approvalRequest.status === STATUSES.approved ? \"success\" : \"danger\";\n const hideTextArea =\n approvalRequest.status !== STATUSES.pending && isEmpty(note);\n\n if (isLoading) {\n return (\n <div className=\"h-screen items-center justify-center\">\n <PageLoader />\n </div>\n );\n }\n\n return (\n <Container>\n <Header title={t(\"neetoApprovals.common.approval\", PLURAL)} />\n <div className=\"flex h-screen w-full flex-col items-center\">\n <div className=\"neeto-ui-shadow-s w-2/5 rounded border p-6\">\n {approvalRequest ? (\n <div className=\"flex w-full flex-col space-y-6\">\n <Typography style=\"h2\">{approvalRequest.title}</Typography>\n <EditorContent content={approvalRequest.message} />\n {!hideTextArea && (\n <Textarea\n label={t(\"neetoApprovals.common.note\")}\n placeholder={t(\"neetoApprovals.inputs.placeholders.add_\", {\n what: t(\"neetoApprovals.common.note\")?.toLocaleLowerCase(),\n })}\n value={note}\n disabled={approvalRequest.status !== STATUSES.pending}\n onChange={withEventTargetValue(setNote)}\n />\n )}\n {approvalRequest.status === STATUSES.pending ? (\n <div className=\"mx-auto mt-8 flex space-x-6\">\n <Button\n label={t(\"neetoApprovals.buttons.approve\")}\n onClick={() =>\n acceptPendingRequest({\n id: approvalRequest.id,\n note,\n })\n }\n loading={isAccepting}\n />\n <Button\n label={t(\"neetoApprovals.buttons.decline\")}\n onClick={() =>\n declinePendingRequest({\n id: approvalRequest.id,\n note,\n })\n }\n style=\"secondary\"\n loading={isDeclining}\n />\n </div>\n ) : (\n <Callout style={calloutStyle}>\n <Typography style=\"body1\">\n <Trans\n i18nKey=\"neetoApprovals.typography.approvalRequest\"\n values={{\n status: approvalRequest.status,\n }}\n />\n </Typography>\n </Callout>\n )}\n </div>\n ) : (\n <Typography style=\"h4\" className=\"text-center\">\n {t(\"neetoApprovals.common.notFound\")}\n </Typography>\n )}\n </div>\n </div>\n </Container>\n );\n};\n\nexport default Public;\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":["toPrimitive","toPropertyKey","arrayLikeToArray","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","routes","home","approvals","pending","history","templates","index","edit","handleEmptyPage","data","pageProperties","handlePageChange","isEmpty","page","pageSize","BASE_URL","TEMPLATE_URL","concat","fetch","params","url","axios","get","update","_ref","id","payload","put","request","requestsApi","QUERY_KEYS","APPROVERS","TEMPLATES","REQUESTS","SHOW_TEMPLATE","SHOW_PUBLIC_REQUEST","VIEWS","useFetchRequests","requestUrl","_ref$params","_ref$options","options","useQuery","_objectSpread","select","response","keepPreviousData","onSuccess","_ref2","_options$onSuccess","requests","call","useUpdateRequest","useMutationWithInvalidation","keysToInvalidate","usePaginate","_useState","useState","DEFAULT_PAGE_INDEX","DEFAULT_PAGE_SIZE","_useState2","_slicedToArray","setPageProperties","resetPageProperties","DEFAULT_FILTER_VALUES","searchTerm","sortBy","orderBy","SEARCH_DELAY","STATUSES","approved","rejected","cancelled","STATUS_TAG_STYLE","APPROVAL_REQUEST_FORM_INITIAL_VALUES","message","approver","STATUS_UPDATED_BY","t","DATA_CY_KEY","SORT_ORDER","ascend","descend","REQUEST_FORM_VALIDATION_SCHEMA","yup","object","shape","string","test","what","content","isEditorEmpty","required","HISTORY_TABLE_COLUMNS","dataIndex","key","sorter","width","title","render","approvalLabel","requestableUrl","URL","window","location","origin","React","createElement","Button","label","style","to","pathname","status","Tag","capitalize","createdAt","DateFormat","FromNow","date","typographyProps","Footer","isLoading","handleSubmit","isCurrentUserApprover","isCurrentUserRequester","_useTranslation","useTranslation","Pane","className","loading","type","onClick","this","dayjs","extend","utc","timezone","updateApprovalDetails","requestsData","approvalDetails","isPresent","findBy","timeInZone","time","_globalProps$user","_globalProps$user2","globalProps","user","timeZone","tz","setDefault","getApprovalFilter","PENDING","value","PLURAL","HISTORY","MemoizedEditorContent","memo","EditorContent","RequestDetailsPane","_window$globalProps","_window$globalProps2","isOpen","onClose","_ref$isPending","isPending","_approvalDetails$stat","approverName","approverEmail","_approvalDetails$note","note","initialNote","requesterName","requesterEmail","setNote","_useUpdateRequest","updatePendingRequest","mutate","useEffect","requesterOrApproverDetails","email","getStatusLabel","handleOnClose","_defineProperty","Date","size","Header","Typography","Body","Label","weight","dateFormat","defaultWithTime","Textarea","disabled","placeholder","onChange","withEventTargetValue","History","_t","filters","setFilters","debouncedSearchTerm","useDebounce","_usePaginate","_useState3","_useState4","setApprovalDetails","_useFetchRequests","trim","_useFetchRequests$dat","_useFetchRequests$dat2","_useFetchRequests$dat3","approvalHistories","_useFetchRequests$dat4","totalCount","handleTableChange","_","__","camelToSnakeCase","field","order","Fragment","TableWrapper","hasPagination","Table","allowRowClick","fixedHeight","columnData","currentPageNumber","defaultPageSize","rowData","paginationProps","hideOnSinglePage","length","onRowClick","NoData","toLocaleLowerCase","PENDING_TABLE_COLUMNS","removeBy","PendingRequests","pendingRequests","objectWithoutPropertiesLoose","show","create","_ref2$url","post","_ref3","_ref3$url","destroy","_ref4","templateId","templatesApi","useFetchTemplates","arguments","undefined","_params$onSuccess","useFetchTemplate","enabled","useCreateTemplate","useUpdateTemplate","useDeleteTemplate","TEMPLATE_FORM_INITIAL_VALUES","name","description","TEMPLATE_FORM_VALIDATION_SCHEMA","MessageEditor","withT","_ref$placeholders","placeholders","_ref$initialValue","initialValue","FormikEditor","rows","variables","TemplateForm","initialData","_useFormikContext","useFormikContext","values","setFieldValue","handleDescriptionToggle","checked","target","Input","autoFocus","ToggleFeatureCard","switchName","switchProps","tooltipProps","enabledSwitchText","disabledSwitchText","descriptionEnabled","Form","_ref$initialData","_ref$onSubmit","onSubmit","noop","_ref$isLoading","inputReference","useRef","header","SINGULAR","initialFocusRef","FormikForm","formikProps","enableReinitialize","initialValues","validationSchema","Create","templateUrl","templatePlaceholders","_useCreateTemplate","createTemplate","template","Edit","setTemplate","_useUpdateTemplate","updateTemplate","isUpdating","Field","TemplateDetails","renderNoDataHelpText","entity","Trans","i18nKey","components","a","Link","setIsPaneOpen","helpDocUrl","onEditClick","onDeleteClick","otherProps","_objectWithoutProperties","_excluded","columns","noDataProps","primaryButtonProps","helpText","_extends","NeetoUITable","scroll","x","tableLayout","i18next","ellipsis","MoreDropdown","dropdownProps","strategy","e","stopPropagation","menuItems","event","Templates","_t2","_t3","isNewTemplatePaneOpen","setIsNewTemplatePaneOpen","selectedTemplate","setSelectedTemplate","_useState5","_useState6","isDeleteAlertOpen","setIsDeleteAlertOpen","_useState7","_useState8","isEditPaneOpen","setIsEditPaneOpen","_useState9","_useState10","isShowPaneOpen","setIsShowPaneOpen","_useFetchTemplates","_useFetchTemplates$da","_useFetchTemplates$da2","_useFetchTemplates$da3","_useFetchTemplates$da4","isTemplateLoading","_useDeleteTemplate","deleteTemplate","isDeleting","templateDetails","handleDelete","PageLoader","Alert","isSubmitting","submitButtonLabel","createRoutes","config","component","path","approvalsPath","actionBlock","searchPlaceholder","_currentTab$actionBlo","appRoutes","breadcrumbs","_useLocation","useLocation","currentTab","NeetoHeader","searchProps","viewsApi","useFetchViews","Tab","_pathname$split$","useHistory","approvalFilter","approvalFilterKeys","keys","category","split","toLocaleUpperCase","isActive","filter","includes","getRoute","toLowerCase","_useFetchViews","_useFetchViews$data","_useFetchViews$data2","_useFetchViews$data2$","views","NeetoUITab","map","Item","active","count","push","Approvals","_useQueryParams","useQueryParams","_useQueryParams$searc","Container","Tabs","Switch","Route","exact","Redirect","from","approversApi","useFetchApprovers","approvers","_ref$requestableId","requestableId","selectedTemplateData","setSelectedTemplateData","inputRef","approverId","setApproverId","setTemplateId","approvalRequestorId","_useFetchTemplate","_useFetchTemplate$dat","_useFetchTemplate$dat2","_useFetchTemplate$dat3","_useFetchApprovers","_useFetchApprovers$da","_useFetchApprovers$da2","_useFetchApprovers$da3","approverOptions","useMemo","templateOptions","updateMessage","_inputRef$current","parsedMessage","current","editor","commands","setContent","handleTemplateChange","handleApproverChange","Select","ref","dirty","ApprovalRequestForm","accept","patch","decline","publicRequestsApi","useFetchPublicRequest","requestId","useAcceptPendingRequest","useQueryClient","useDeclinePendingRequest","Public","_useParams","useParams","_useFetchPublicReques","approvalRequest","_useFetchPublicReques2","_useFetchPublicReques3","_useFetchPublicReques4","_useAcceptPendingRequ","acceptPendingRequest","isAccepting","_useDeclinePendingReq","declinePendingRequest","isDeclining","calloutStyle","hideTextArea","Callout"],"mappings":"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CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,GAAE,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,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,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,CAAC,EAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;;;;;;;;;;;CCAv/N,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAsD,MAAe,CAAA,OAAA,CAAA,CAAC,GAAkI,CAAC,CAACA,cAAI,EAAE,UAAU,CAAc,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,OAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,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,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,EAAC,CAAC,CAAC,EAAE,CAAA;;;;;;;;;;;CCA9lE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAsD,MAAA,CAAA,OAAA,CAAe,CAAC,GAA6H,CAAC,CAACA,cAAI,EAAE,UAAU,CAAc,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,kBAAkB,GAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,EAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,OAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,OAAM,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAE,CAAA;;;;;;ACQ5sEC,KAAK,CAACC,MAAM,CAACC,GAAG,CAAC,CAAA;AACjBF,KAAK,CAACC,MAAM,CAACE,QAAQ,CAAC,CAAA;AAEf,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAAlH,IAAA,EAA0C;AAAA,EAAA,IAApCmH,YAAY,GAAAnH,IAAA,CAAZmH,YAAY;IAAEC,eAAe,GAAApH,IAAA,CAAfoH,eAAe,CAAA;AACnE,EAAA,IAAIC,mBAAS,CAACF,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAZA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAY,CAAEzF,QAAQ,CAAC,IAAI2F,mBAAS,CAACD,eAAe,CAAC,EAAE;IACnE,IAAMhH,OAAO,GACXkH,gBAAM,CAAC;MAAErH,EAAE,EAAEmH,eAAe,CAACnH,EAAAA;AAAG,KAAC,EAAEkH,YAAY,CAACzF,QAAQ,CAAC,IAAI,EAAE,CAAA;AAEjE,IAAA,OAAOtB,OAAO,CAAA;AAChB,GAAA;AAEA,EAAA,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AAEM,IAAMmH,UAAU,GAAG,SAAbA,UAAUA,CAAGC,IAAI,EAAI;EAAA,IAAAC,iBAAA,EAAAC,kBAAA,CAAA;AAChC,EAAA,CAAA,CAAAD,iBAAA,GAAAE,wBAAW,CAACC,IAAI,MAAA,IAAA,IAAAH,iBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhBA,iBAAA,CAAkBI,QAAQ,KAAIf,KAAK,CAACgB,EAAE,CAACC,UAAU,CAAA,CAAAL,kBAAA,GAACC,wBAAW,CAACC,IAAI,MAAA,IAAA,IAAAF,kBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhBA,kBAAA,CAAkBG,QAAQ,CAAC,CAAA;AAE7E,EAAA,OAAOf,KAAK,CAACU,IAAI,CAAC,CAACM,EAAE,EAAE,CAAA;AACzB,CAAC,CAAA;AAEM,IAAME,iBAAiB,GAAG,SAApBA,iBAAiBA,GAAA;EAAA,OAAU;AACtCC,IAAAA,OAAO,EAAE;AAAE5C,MAAAA,KAAK,EAAE/B,SAAC,CAAC,+BAA+B,CAAC;AAAE4E,MAAAA,KAAK,EAAE,SAAA;KAAW;AACxE1H,IAAAA,SAAS,EAAE;AACT6E,MAAAA,KAAK,EAAE/B,SAAC,CAAC,gCAAgC,EAAE6E,gBAAM,CAAC;AAClDD,MAAAA,KAAK,EAAE,WAAA;KACR;AACDE,IAAAA,OAAO,EAAE;AAAE/C,MAAAA,KAAK,EAAE/B,SAAC,CAAC,+BAA+B,CAAC;AAAE4E,MAAAA,KAAK,EAAE,SAAA;AAAU,KAAA;GACxE,CAAA;AAAA,CAAC;;ACpBF,IAAMG,uBAAqB,gBAAGnD,yBAAK,CAACoD,IAAI,CAACC,yBAAa,CAAC,CAAA;AAEvD,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAAxI,IAAA,EAKlB;EAAA,IAAAyI,mBAAA,EAAAC,oBAAA,CAAA;AAAA,EAAA,IAJJC,MAAM,GAAA3I,IAAA,CAAN2I,MAAM;IACNC,OAAO,GAAA5I,IAAA,CAAP4I,OAAO;IACPxB,eAAe,GAAApH,IAAA,CAAfoH,eAAe;IAAAyB,cAAA,GAAA7I,IAAA,CACf8I,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,cAAA,CAAA;AAEjB,EAAA,IAAAvC,eAAA,GAAcC,2BAAc,EAAE;IAAtBjD,CAAC,GAAAgD,eAAA,CAADhD,CAAC,CAAA;AAET,EAAA,IACEoB,KAAK,GASH0C,eAAe,CATjB1C,KAAK;IAAAqE,qBAAA,GASH3B,eAAe,CARjB3B,MAAM;AAANA,IAAAA,MAAM,GAAAsD,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;IACX5F,OAAO,GAOLiE,eAAe,CAPjBjE,OAAO;IACPyC,SAAS,GAMPwB,eAAe,CANjBxB,SAAS;IACToD,YAAY,GAKV5B,eAAe,CALjB4B,YAAY;IACZC,aAAa,GAIX7B,eAAe,CAJjB6B,aAAa;IAAAC,qBAAA,GAIX9B,eAAe,CAHjB+B,IAAI;AAAEC,IAAAA,WAAW,GAAAF,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;IACtBG,aAAa,GAEXjC,eAAe,CAFjBiC,aAAa;IACbC,cAAc,GACZlC,eAAe,CADjBkC,cAAc,CAAA;AAGhB,EAAA,IAAAtH,SAAA,GAAwBC,cAAQ,CAACmH,WAAW,CAAC;IAAAhH,UAAA,GAAAC,cAAA,CAAAL,SAAA,EAAA,CAAA,CAAA;AAAtCmH,IAAAA,IAAI,GAAA/G,UAAA,CAAA,CAAA,CAAA;AAAEmH,IAAAA,OAAO,GAAAnH,UAAA,CAAA,CAAA,CAAA,CAAA;AAEpB,EAAA,IAAAoH,iBAAA,GAAoD5H,gBAAgB,EAAE;IAAtD6H,oBAAoB,GAAAD,iBAAA,CAA5BE,MAAM;IAAwBxD,SAAS,GAAAsD,iBAAA,CAATtD,SAAS,CAAA;AAE/CyD,EAAAA,eAAS,CAAC,YAAM;IACdJ,OAAO,CAACH,WAAW,CAAC,CAAA;AACtB,GAAC,EAAE,CAACA,WAAW,CAAC,CAAC,CAAA;EAEjB,IAAMQ,0BAA0B,GAC9BnE,MAAM,KAAK5C,QAAQ,CAACG,SAAS,GAAAvD,EAAAA,CAAAA,MAAA,CACtB4J,aAAa,QAAA5J,MAAA,CAAK6J,cAAc,EAAA,GAAA,CAAA,GAAA,EAAA,CAAA7J,MAAA,CAChCuJ,YAAY,EAAAvJ,IAAAA,CAAAA,CAAAA,MAAA,CAAKwJ,aAAa,EAAG,GAAA,CAAA,CAAA;EAE1C,IAAM7C,qBAAqB,GACzB,CAAAqC,CAAAA,mBAAA,GAAA1D,MAAM,CAAC4C,WAAW,MAAA,IAAA,IAAAc,mBAAA,KAAA,KAAA,CAAA,IAAA,CAAAA,mBAAA,GAAlBA,mBAAA,CAAoBb,IAAI,MAAAa,IAAAA,IAAAA,mBAAA,uBAAxBA,mBAAA,CAA0BoB,KAAK,MAAKZ,aAAa,CAAA;EAEnD,IAAM5C,sBAAsB,GAC1B,CAAAqC,CAAAA,oBAAA,GAAA3D,MAAM,CAAC4C,WAAW,MAAA,IAAA,IAAAe,oBAAA,KAAA,KAAA,CAAA,IAAA,CAAAA,oBAAA,GAAlBA,oBAAA,CAAoBd,IAAI,MAAAc,IAAAA,IAAAA,oBAAA,uBAAxBA,oBAAA,CAA0BmB,KAAK,MAAKP,cAAc,CAAA;AAEpD,EAAA,IAAMQ,cAAc,GAAG,SAAjBA,cAAcA,GAAS;AAC3B,IAAA,IAAIhB,SAAS,EAAE;MACb,OAAOxF,CAAC,CAAC,kCAAkC,CAAC,CAAA;AAC9C,KAAA;IAEA,OAAOD,iBAAiB,CAACoC,MAAM,CAAC,CAAA;GACjC,CAAA;AAED,EAAA,IAAMsE,aAAa,GAAG,SAAhBA,aAAaA,GAAS;IAC1BR,OAAO,CAAC,EAAE,CAAC,CAAA;AACXX,IAAAA,OAAO,EAAE,CAAA;GACV,CAAA;AAED,EAAA,IAAMzC,YAAY,GAAG,SAAfA,YAAYA,CAAGV,MAAM,EAAA;AAAA,IAAA,OACzBgE,oBAAoB,CAClB;MACExJ,EAAE,EAAEmH,eAAe,CAACnH,EAAE;AACtBC,MAAAA,OAAO,EAAA8J,eAAA,CAAA;AAAIvE,QAAAA,MAAM,EAANA,MAAM;AAAE0D,QAAAA,IAAI,EAAJA,IAAAA;AAAI,OAAA,EAAA,EAAA,CAAA1J,MAAA,CAAMgG,MAAM,SAAO,IAAIwE,IAAI,EAAE,CAAA;AACtD,KAAC,EACD;AAAE1I,MAAAA,SAAS,EAAEwI,aAAAA;AAAc,KAC7B,CAAC,CAAA;AAAA,GAAA,CAAA;AAEH,EAAA,oBACE7E,yBAAA,CAAAC,aAAA,CAACqB,YAAI,EAAA;AAAOmC,IAAAA,MAAM,EAANA,MAAM;AAAIuB,IAAAA,IAAI,EAAC,OAAO;AAACtB,IAAAA,OAAO,EAAEmB,aAAAA;AAAc,GAAA,eACxD7E,yBAAA,CAAAC,aAAA,CAACqB,YAAI,CAAC2D,MAAM,EAAA;AAAC1D,IAAAA,SAAS,EAAC,WAAA;AAAW,GAAA,eAChCvB,yBAAA,CAAAC,aAAA,CAACiF,kBAAU,EAAA;AAAC9E,IAAAA,KAAK,EAAC,IAAA;AAAI,GAAA,EAAEZ,KAAkB,CAAC,eAC3CQ,yBAAA,CAAAC,aAAA,CAACO,WAAG,EAAA;AAACL,IAAAA,KAAK,EAAEM,oBAAU,CAACF,MAAM,CAAE;IAACH,KAAK,EAAErC,gBAAgB,CAACwC,MAAM,CAAA;GAAI,CACvD,CAAC,eACdP,yBAAA,CAAAC,aAAA,CAACqB,YAAI,CAAC6D,IAAI,EAAA;AAAC5D,IAAAA,SAAS,EAAC,WAAA;GACnBvB,eAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKsB,IAAAA,SAAS,EAAC,6BAAA;GACbvB,eAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKsB,IAAAA,SAAS,EAAC,oBAAA;AAAoB,GAAA,eACjCvB,yBAAA,CAAAC,aAAA,CAACmF,aAAK,EAAA;AAAC7D,IAAAA,SAAS,EAAC,aAAA;GAAeqD,EAAAA,cAAc,EAAU,CAAC,eACzD5E,yBAAA,CAAAC,aAAA,CAACiF,kBAAU,EAAA;AAAC9E,IAAAA,KAAK,EAAC,OAAO;AAACiF,IAAAA,MAAM,EAAC,QAAA;AAAQ,GAAA,EACtCX,0BACS,CACT,CAAC,eACN1E,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKsB,IAAAA,SAAS,EAAC,oBAAA;AAAoB,GAAA,eACjCvB,yBAAA,CAAAC,aAAA,CAACmF,aAAK,EAAA;AAAC7D,IAAAA,SAAS,EAAC,aAAA;GACdnD,EAAAA,CAAC,CAAC,+BAA+B,CAC7B,CAAC,eACR4B,yBAAA,CAAAC,aAAA,CAACiF,kBAAU,EAAA;AAAC9E,IAAAA,KAAK,EAAC,OAAO;AAACiF,IAAAA,MAAM,EAAC,QAAA;AAAQ,GAAA,EACtCC,gBAAU,CAACC,eAAe,CAAClD,UAAU,CAAC3B,SAAS,CAAC,CACvC,CACT,CACF,CAAC,eACNV,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKsB,IAAAA,SAAS,EAAC,kBAAA;AAAkB,GAAA,eAC/BvB,yBAAA,CAAAC,aAAA,CAACmF,aAAK,QAAEhH,CAAC,CAAC,sCAAsC,CAAS,CAAC,eAC1D4B,yBAAA,CAAAC,aAAA,CAACkD,uBAAqB,EAAA;AACpB5B,IAAAA,SAAS,EAAC,0BAA0B;AACpCvC,IAAAA,OAAO,EAAEf,OAAAA;GACV,CACE,CAAC,EACL2F,SAAS,IAAI1C,qBAAqB,iBACjClB,yBAAA,CAAAC,aAAA,CAACuF,gBAAQ,EAAA;AACPjE,IAAAA,SAAS,EAAC,QAAQ;IAClBkE,QAAQ,EAAE,CAAC7B,SAAU;AACrBzD,IAAAA,KAAK,EAAE/B,CAAC,CAAC,4BAA4B,CAAE;AACvC4E,IAAAA,KAAK,EAAEiB,IAAK;AACZyB,IAAAA,WAAW,EAAEtH,CAAC,CAAC,yCAAyC,EAAE;MACxDW,IAAI,EAAEX,CAAC,CAAC,4BAA4B,CAAA;AACtC,KAAC,CAAE;IACHuH,QAAQ,EAAEC,0BAAoB,CAACvB,OAAO,CAAA;GACvC,CACF,EACA,CAACT,SAAS,IAAIK,IAAI,iBACjBjE,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKsB,IAAAA,SAAS,EAAC,kBAAA;AAAkB,GAAA,eAC/BvB,yBAAA,CAAAC,aAAA,CAACmF,aAAK,EAAEhH,IAAAA,EAAAA,CAAC,CAAC,4BAA4B,CAAS,CAAC,eAChD4B,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKsB,IAAAA,SAAS,EAAC,0BAAA;GAA4B0C,EAAAA,IAAU,CAClD,CAEE,CAAC,EACXL,SAAS,iBACR5D,yBAAA,CAAAC,aAAA,CAACc,MAAM,EAAA;AAEHE,IAAAA,YAAY,EAAZA,YAAY;AACZC,IAAAA,qBAAqB,EAArBA,qBAAqB;AACrBC,IAAAA,sBAAsB,EAAtBA,sBAAsB;AACtBH,IAAAA,SAAS,EAATA,SAAAA;AAAS,GAEZ,CAEC,CAAC,CAAA;AAEX;;;;AClHA,IAAM6E,OAAO,GAAG,SAAVA,OAAOA,CAAA/K,IAAA,EAAuB;AAAA,EAAA,IAAAgL,EAAA,CAAA;AAAA,EAAA,IAAjBlK,UAAU,GAAAd,IAAA,CAAVc,UAAU,CAAA;AAC3B,EAAA,IAAAkB,SAAA,GAA8BC,cAAQ,CAACO,qBAAqB,CAAC;IAAAJ,UAAA,GAAAC,cAAA,CAAAL,SAAA,EAAA,CAAA,CAAA;AAAtDiJ,IAAAA,OAAO,GAAA7I,UAAA,CAAA,CAAA,CAAA;AAAE8I,IAAAA,UAAU,GAAA9I,UAAA,CAAA,CAAA,CAAA,CAAA;EAC1B,IAAM+I,mBAAmB,GAAGC,sBAAW,CAACH,OAAO,CAACxI,UAAU,EAAEG,YAAY,CAAC,CAAA;AACzE,EAAA,IAAAyI,YAAA,GAA6CtJ,WAAW,EAAE;IAAlD7C,cAAc,GAAAmM,YAAA,CAAdnM,cAAc;IAAEC,gBAAgB,GAAAkM,YAAA,CAAhBlM,gBAAgB,CAAA;AACxC,EAAA,IAAAmM,UAAA,GAA8CrJ,cAAQ,CAAC,EAAE,CAAC;IAAAsJ,UAAA,GAAAlJ,cAAA,CAAAiJ,UAAA,EAAA,CAAA,CAAA;AAAnDlE,IAAAA,eAAe,GAAAmE,UAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,kBAAkB,GAAAD,UAAA,CAAA,CAAA,CAAA,CAAA;AAC1C,EAAA,IAAAjF,eAAA,GAAcC,2BAAc,EAAE;IAAtBjD,CAAC,GAAAgD,eAAA,CAADhD,CAAC,CAAA;EAET,IAAAmI,iBAAA,GACE5K,gBAAgB,CAAC;MACflB,MAAM,EAAAwB,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAA,EAAA,EACDjC,cAAc,CAAA,EACd+L,OAAO,CAAA,EAAA,EAAA,EAAA;AACVxI,QAAAA,UAAU,EAAE0I,mBAAmB,CAACO,IAAI,EAAE;AACtCjG,QAAAA,MAAM,EAAE,CAAC5C,QAAQ,CAACC,QAAQ,EAAED,QAAQ,CAACE,QAAQ,EAAEF,QAAQ,CAACG,SAAS,CAAA;OAClE,CAAA;AACD/B,MAAAA,OAAO,EAAE;AACPM,QAAAA,SAAS,EAAE,SAAAA,SAAAC,CAAAA,KAAA,EAAkB;AAAA,UAAA,IAAfE,QAAQ,GAAAF,KAAA,CAARE,QAAQ,CAAA;AACpB1C,UAAAA,eAAe,CAAC0C,QAAQ,EAAExC,cAAc,EAAEC,gBAAgB,CAAC,CAAA;UAC3DqM,kBAAkB,CAAC,UAAApE,eAAe,EAAA;AAAA,YAAA,OAChCF,qBAAqB,CAAC;AAAEC,cAAAA,YAAY,EAAEzF,QAAQ;AAAE0F,cAAAA,eAAe,EAAfA,eAAAA;AAAgB,aAAC,CAAC,CAAA;AAAA,WACpE,CAAC,CAAA;AACH,SAAA;OACD;AACDtG,MAAAA,UAAU,EAAVA,UAAAA;AACF,KAAC,CAAC;IAAA6K,qBAAA,GAAAF,iBAAA,CAjBIxM,IAAI;AAAA2M,IAAAA,sBAAA,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAyD,EAAE,GAAAA,qBAAA;IAAAE,sBAAA,GAAAD,sBAAA,CAAvDlK,QAAQ;AAAEoK,IAAAA,iBAAiB,GAAAD,sBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,sBAAA;IAAAE,sBAAA,GAAAH,sBAAA,CAAEI,UAAU;AAAVA,IAAAA,UAAU,GAAAD,sBAAA,KAAG,KAAA,CAAA,GAAA,CAAC,GAAAA,sBAAA,CAAA;EAmBhE,IAAME,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIC,CAAC,EAAEC,EAAE,EAAE3H,MAAM,EAAK;AAC3C0G,IAAAA,UAAU,CAAA/J,eAAA,CAAAA,eAAA,KACL8J,OAAO,CAAA,EAAA,EAAA,EAAA;MACVvI,MAAM,EAAE0J,0BAAgB,CAAC5H,MAAM,CAAC6H,KAAK,IAAI,EAAE,CAAC;AAC5C1J,MAAAA,OAAO,EAAEa,UAAU,CAACgB,MAAM,CAAC8H,KAAK,CAAA;AAAC,KAAA,CAClC,CAAC,CAAA;GACH,CAAA;AAED,EAAA,oBACEpH,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAqH,QAAA,EACG,IAAA,EAAA,CAACnN,aAAO,CAAC0M,iBAAiB,CAAC,gBAC1B5G,yBAAA,CAAAC,aAAA,CAACqH,gCAAY,EAAA;AACX/F,IAAAA,SAAS,EAAC,MAAM;AAChBgG,IAAAA,aAAa,EAAET,UAAU,GAAG9M,cAAc,CAACI,QAAAA;AAAS,GAAA,eAEpD4F,yBAAA,CAAAC,aAAA,CAACuH,aAAK,EAAA;IACJC,aAAa,EAAA,IAAA;IACbC,WAAW,EAAA,IAAA;AACXC,IAAAA,UAAU,EAAExI,qBAAsB;IAClCyI,iBAAiB,EAAE5N,cAAc,CAACG,IAAK;IACvC0N,eAAe,EAAE7N,cAAc,CAACI,QAAS;AACzC0N,IAAAA,OAAO,EAAElB,iBAAkB;AACrB3M,IAAAA,gBAAgB,EAAhBA,gBAAgB;AAAE6M,IAAAA,UAAU,EAAVA,UAAU;AAClCiB,IAAAA,eAAe,EAAE;MACfC,gBAAgB,EACd,CAAApB,iBAAiB,KAAjBA,IAAAA,IAAAA,iBAAiB,KAAjBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,iBAAiB,CAAEqB,MAAM,IAAGhL,2BAAiB,GAAG,CAAA;KAClD;AACF0I,IAAAA,QAAQ,EAAEoB,iBAAkB;AAC5BmB,IAAAA,UAAU,EAAE,SAAAA,UAAClB,CAAAA,CAAC,EAAE9E,eAAe,EAAA;MAAA,OAC7BoE,kBAAkB,CAACpE,eAAe,CAAC,CAAA;AAAA,KAAA;AACpC,GACF,CACW,CAAC,gBAEflC,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKsB,IAAAA,SAAS,EAAC,0DAAA;AAA0D,GAAA,eACvEvB,yBAAA,CAAAC,aAAA,CAACkI,cAAM,EAAA;AACL3I,IAAAA,KAAK,EAAEpB,CAAC,CAAC,iCAAiC,EAAE;AAC1CW,MAAAA,IAAI,EAAA+G,CAAAA,EAAA,GAAE1H,CAAC,CACL,8BAA8B,EAC9B6E,gBACF,CAAC,cAAA6C,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAHKA,EAAA,CAGHsC,iBAAiB,EAAC;KACtB,CAAA;AAAE,GACJ,CACE,CACN,eACDpI,yBAAA,CAAAC,aAAA,CAACqD,kBAAkB,EAAA;AACXpB,IAAAA,eAAe,EAAfA,eAAe;AACrBuB,IAAAA,MAAM,EAAEtB,mBAAS,CAACD,eAAe,CAAE;IACnCwB,OAAO,EAAE,SAAAA,OAAA,GAAA;AAAA,MAAA,OAAM4C,kBAAkB,CAAC,EAAE,CAAC,CAAA;AAAA,KAAA;AAAC,GACvC,CACD,CAAC,CAAA;AAEP,CAAC;;ACnGM,IAAM+B,qBAAqB,GAAGC,kBAAQ,CAC3C;AAAEjJ,EAAAA,GAAG,EAAE,QAAA;AAAS,CAAC,EACjBF,qBACF,CAAC;;;;ACiBD,IAAMoJ,eAAe,GAAG,SAAlBA,eAAeA,CAAAzN,IAAA,EAAuB;AAAA,EAAA,IAAAgL,EAAA,CAAA;AAAA,EAAA,IAAjBlK,UAAU,GAAAd,IAAA,CAAVc,UAAU,CAAA;AACnC,EAAA,IAAAkB,SAAA,GAA8BC,cAAQ,CAACO,qBAAqB,CAAC;IAAAJ,UAAA,GAAAC,cAAA,CAAAL,SAAA,EAAA,CAAA,CAAA;AAAtDiJ,IAAAA,OAAO,GAAA7I,UAAA,CAAA,CAAA,CAAA;AAAE8I,IAAAA,UAAU,GAAA9I,UAAA,CAAA,CAAA,CAAA,CAAA;AAC1B,EAAA,IAAAkJ,UAAA,GAA8CrJ,cAAQ,CAAC,EAAE,CAAC;IAAAsJ,UAAA,GAAAlJ,cAAA,CAAAiJ,UAAA,EAAA,CAAA,CAAA;AAAnDlE,IAAAA,eAAe,GAAAmE,UAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,kBAAkB,GAAAD,UAAA,CAAA,CAAA,CAAA,CAAA;EAC1C,IAAMJ,mBAAmB,GAAGC,sBAAW,CAACH,OAAO,CAACxI,UAAU,EAAEG,YAAY,CAAC,CAAA;AACzE,EAAA,IAAAyI,YAAA,GAA6CtJ,WAAW,EAAE;IAAlD7C,cAAc,GAAAmM,YAAA,CAAdnM,cAAc;IAAEC,gBAAgB,GAAAkM,YAAA,CAAhBlM,gBAAgB,CAAA;AACxC,EAAA,IAAAmH,eAAA,GAAcC,2BAAc,EAAE;IAAtBjD,CAAC,GAAAgD,eAAA,CAADhD,CAAC,CAAA;EAET,IAAAmI,iBAAA,GACE5K,gBAAgB,CAAC;MACflB,MAAM,EAAAwB,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAA,EAAA,EACDjC,cAAc,CAAA,EACd+L,OAAO,CAAA,EAAA,EAAA,EAAA;AACVxI,QAAAA,UAAU,EAAE0I,mBAAmB,CAACO,IAAI,EAAE;AACtCjG,QAAAA,MAAM,EAAE,CAAC5C,QAAQ,CAAClE,OAAO,CAAA;OAC1B,CAAA;AACDsC,MAAAA,OAAO,EAAE;AACPM,QAAAA,SAAS,EAAE,SAAAA,SAAAC,CAAAA,KAAA,EAAkB;AAAA,UAAA,IAAfE,QAAQ,GAAAF,KAAA,CAARE,QAAQ,CAAA;AACpB1C,UAAAA,eAAe,CAAC0C,QAAQ,EAAExC,cAAc,EAAEC,gBAAgB,CAAC,CAAA;AAC7D,SAAA;OACD;AACD2B,MAAAA,UAAU,EAAVA,UAAAA;AACF,KAAC,CAAC;IAAA6K,qBAAA,GAAAF,iBAAA,CAdIxM,IAAI;AAAA2M,IAAAA,sBAAA,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAuD,EAAE,GAAAA,qBAAA;IAAAE,sBAAA,GAAAD,sBAAA,CAArDlK,QAAQ;AAAEgM,IAAAA,eAAe,GAAA7B,sBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,sBAAA;IAAAE,sBAAA,GAAAH,sBAAA,CAAEI,UAAU;AAAVA,IAAAA,UAAU,GAAAD,sBAAA,KAAG,KAAA,CAAA,GAAA,CAAC,GAAAA,sBAAA,CAAA;EAgB9D,IAAME,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIC,CAAC,EAAEC,EAAE,EAAE3H,MAAM,EAAK;AAC3C0G,IAAAA,UAAU,CAAA/J,eAAA,CAAAA,eAAA,KACL8J,OAAO,CAAA,EAAA,EAAA,EAAA;MACVvI,MAAM,EAAE0J,0BAAgB,CAAC5H,MAAM,CAAC6H,KAAK,IAAI,EAAE,CAAC;AAC5C1J,MAAAA,OAAO,EAAEa,UAAU,CAACgB,MAAM,CAAC8H,KAAK,CAAA;AAAC,KAAA,CAClC,CAAC,CAAA;GACH,CAAA;AAED,EAAA,oBACEpH,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAqH,QAAA,EACG,IAAA,EAAA,CAACnN,aAAO,CAACsO,eAAe,CAAC,gBACxBxI,yBAAA,CAAAC,aAAA,CAACqH,gCAAY,EAAA;AACX/F,IAAAA,SAAS,EAAC,MAAM;AAChBgG,IAAAA,aAAa,EAAET,UAAU,GAAG9M,cAAc,CAACI,QAAAA;AAAS,GAAA,eAEpD4F,yBAAA,CAAAC,aAAA,CAACuH,aAAK,EAAA;IACJC,aAAa,EAAA,IAAA;IACbC,WAAW,EAAA,IAAA;AACXC,IAAAA,UAAU,EAAEU,qBAAsB;IAClCT,iBAAiB,EAAE5N,cAAc,CAACG,IAAK;IACvC0N,eAAe,EAAE7N,cAAc,CAACI,QAAS;AACzC0N,IAAAA,OAAO,EAAEU,eAAgB;AACnBvO,IAAAA,gBAAgB,EAAhBA,gBAAgB;AAAE6M,IAAAA,UAAU,EAAVA,UAAU;AAClCiB,IAAAA,eAAe,EAAE;MACfC,gBAAgB,EAAE,CAAAQ,eAAe,KAAfA,IAAAA,IAAAA,eAAe,KAAfA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,eAAe,CAAEP,MAAM,IAAGhL,2BAAiB,GAAG,CAAA;KAChE;AACF0I,IAAAA,QAAQ,EAAEoB,iBAAkB;AAC5BmB,IAAAA,UAAU,EAAE,SAAAA,UAAClB,CAAAA,CAAC,EAAE9E,eAAe,EAAA;MAAA,OAC7BoE,kBAAkB,CAACpE,eAAe,CAAC,CAAA;AAAA,KAAA;AACpC,GACF,CACW,CAAC,gBAEflC,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKsB,IAAAA,SAAS,EAAC,0DAAA;AAA0D,GAAA,eACvEvB,yBAAA,CAAAC,aAAA,CAACkI,cAAM,EAAA;AACL3I,IAAAA,KAAK,EAAEpB,CAAC,CAAC,iCAAiC,EAAE;AAC1CW,MAAAA,IAAI,EAAA+G,CAAAA,EAAA,GAAE1H,CAAC,CACL,uCAAuC,EACvC6E,gBACF,CAAC,cAAA6C,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAHKA,EAAA,CAGHsC,iBAAiB,EAAC;KACtB,CAAA;AAAE,GACJ,CACE,CACN,eACDpI,yBAAA,CAAAC,aAAA,CAACqD,kBAAkB,EAAA;IACjBM,SAAS,EAAA,IAAA;AACH1B,IAAAA,eAAe,EAAfA,eAAe;AACrBuB,IAAAA,MAAM,EAAEtB,mBAAS,CAACD,eAAe,CAAE;IACnCwB,OAAO,EAAE,SAAAA,OAAA,GAAA;AAAA,MAAA,OAAM4C,kBAAkB,CAAC,EAAE,CAAC,CAAA;AAAA,KAAA;AAAC,GACvC,CACD,CAAC,CAAA;AAEP,CAAC;;ACnGc,SAAS,QAAQ,GAAG;AACnC,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,UAAU,MAAM,EAAE;AACtE,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC/C,MAAM,IAAI,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AAChC,MAAM,KAAK,IAAI,GAAG,IAAI,MAAM,EAAE;AAC9B,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;AAC/D,UAAU,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AACpC,SAAS;AACT,OAAO;AACP,KAAK;AACL,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG,CAAC;AACJ,EAAE,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACzC;;ACbe,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,GAAGmC,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;;ACZA,IAAMjO,OAAK,GAAG,SAARA,KAAKA,CAAGC,MAAM,EAAA;AAAA,EAAA,OAAIE,yBAAK,CAACC,GAAG,CAACN,YAAY,EAAE;AAAEG,IAAAA,MAAM,EAANA,MAAAA;AAAO,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAE3D,IAAMiO,MAAI,GAAG,SAAPA,IAAIA,CAAA5N,IAAA,EAAA;AAAA,EAAA,IAAMC,EAAE,GAAAD,IAAA,CAAFC,EAAE;IAAEN,MAAM,GAAAK,IAAA,CAANL,MAAM,CAAA;EAAA,OAAOE,yBAAK,CAACC,GAAG,CAAAL,EAAAA,CAAAA,MAAA,CAAID,YAAY,EAAAC,GAAAA,CAAAA,CAAAA,MAAA,CAAIQ,EAAE,CAAI,EAAA;AAAEN,IAAAA,MAAM,EAANA,MAAAA;AAAO,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAE/E,IAAMkO,MAAM,GAAG,SAATA,MAAMA,CAAArM,KAAA,EAAA;AAAA,EAAA,IAAAsM,SAAA,GAAAtM,KAAA,CAAM5B,GAAG;AAAHA,IAAAA,GAAG,GAAAkO,SAAA,KAAGtO,KAAAA,CAAAA,GAAAA,YAAY,GAAAsO,SAAA;IAAE5N,OAAO,GAAAsB,KAAA,CAAPtB,OAAO,CAAA;AAAA,EAAA,OAAOL,yBAAK,CAACkO,IAAI,CAACnO,GAAG,EAAEM,OAAO,CAAC,CAAA;AAAA,CAAA,CAAA;AAE5E,IAAMH,MAAM,GAAG,SAATA,MAAMA,CAAAiO,KAAA,EAAA;AAAA,EAAA,IAAM/N,EAAE,GAAA+N,KAAA,CAAF/N,EAAE;IAAEC,OAAO,GAAA8N,KAAA,CAAP9N,OAAO;IAAA+N,SAAA,GAAAD,KAAA,CAAEpO,GAAG;AAAHA,IAAAA,GAAG,GAAAqO,SAAA,KAAG1O,KAAAA,CAAAA,GAAAA,QAAQ,GAAA0O,SAAA,CAAA;AAAA,EAAA,OAC3CpO,yBAAK,CAACM,GAAG,CAAA,EAAA,CAAAV,MAAA,CAAIG,GAAG,EAAA,GAAA,CAAA,CAAAH,MAAA,CAAIQ,EAAE,CAAA,EAAIC,OAAO,CAAC,CAAA;AAAA,CAAA,CAAA;AAEpC,IAAMgO,OAAO,GAAG,SAAVA,OAAOA,CAAAC,KAAA,EAAA;AAAA,EAAA,IAAMC,UAAU,GAAAD,KAAA,CAAVC,UAAU,CAAA;EAAA,OAC3BvO,yBAAK,CAAO,QAAA,CAAA,CAAA,EAAA,CAAAJ,MAAA,CAAID,YAAY,EAAA,GAAA,CAAA,CAAAC,MAAA,CAAI2O,UAAU,CAAE,CAAC,CAAA;AAAA,CAAA,CAAA;AAE/C,IAAMC,YAAY,GAAG;AAAER,EAAAA,MAAM,EAANA,MAAM;AAAEnO,EAAAA,KAAK,EAALA,OAAK;AAAEK,EAAAA,MAAM,EAANA,MAAM;AAAEmO,EAAAA,OAAO,EAAPA,OAAO;AAAEN,EAAAA,IAAI,EAAJA,MAAAA;AAAK,CAAC;;;;ACT7D,IAAMU,iBAAiB,GAAG,SAApBA,iBAAiBA,GAAA;AAAA,EAAA,IAAI3O,MAAM,GAAA4O,SAAA,CAAApB,MAAA,GAAA,CAAA,IAAAoB,SAAA,CAAA,CAAA,CAAA,KAAAC,SAAA,GAAAD,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE,CAAA;AAAA,EAAA,IAAEtN,OAAO,GAAAsN,SAAA,CAAApB,MAAA,GAAA,CAAA,IAAAoB,SAAA,CAAA,CAAA,CAAA,KAAAC,SAAA,GAAAD,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE,CAAA;EAAA,OAClDrN,mBAAQ,CAAC,CAACZ,UAAU,CAACE,SAAS,EAAEb,MAAM,CAAC,EAAE,YAAA;AAAA,IAAA,OAAM0O,YAAY,CAAC3O,KAAK,CAACC,MAAM,CAAC,CAAA;AAAA,GAAA,EAAAwB,eAAA,CAAA;IACvEC,MAAM,EAAE,SAAAA,MAAAA,CAAAC,QAAQ,EAAA;AAAA,MAAA,OAAIA,QAAQ,CAACpC,IAAI,IAAIoC,QAAQ,CAAA;AAAA,KAAA;AAC7CC,IAAAA,gBAAgB,EAAE,IAAI;IACtBC,SAAS,EAAE,SAAAA,SAAAA,CAAAvB,IAAA,EAAA;AAAA,MAAA,IAAAyO,iBAAA,CAAA;AAAA,MAAA,IAAG5P,SAAS,GAAAmB,IAAA,CAATnB,SAAS,CAAA;AAAA,MAAA,OAAOc,MAAM,KAANA,IAAAA,IAAAA,MAAM,gBAAA8O,iBAAA,GAAN9O,MAAM,CAAE4B,SAAS,cAAAkN,iBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAjBA,iBAAA,CAAA9M,IAAA,CAAAhC,MAAM,EAAcd,SAAS,CAAC,CAAA;AAAA,KAAA;GACzDoC,EAAAA,OAAO,CACX,CAAC,CAAA;AAAA,CAAA,CAAA;AAEJ,IAAMyN,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAlN,KAAA,EAAA;AAAA,EAAA,IAAMvB,EAAE,GAAAuB,KAAA,CAAFvB,EAAE;IAAEN,MAAM,GAAA6B,KAAA,CAAN7B,MAAM,CAAA;EAAA,OACpCuB,mBAAQ,CACN,CAACZ,UAAU,CAACI,aAAa,EAAET,EAAE,EAAEN,MAAM,CAAC,EACtC,YAAA;IAAA,OAAM0O,YAAY,CAACT,IAAI,CAAC;AAAE3N,MAAAA,EAAE,EAAFA,EAAE;AAAEN,MAAAA,MAAM,EAANA,MAAAA;AAAO,KAAC,CAAC,CAAA;GACvC,EAAA;IAAEgP,OAAO,EAAE,CAAC,CAAC1O,EAAAA;AAAG,GAClB,CAAC,CAAA;AAAA,CAAA,CAAA;AAEH,IAAM2O,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAG3N,OAAO,EAAA;AAAA,EAAA,OAC/BY,sCAA2B,CAACwM,YAAY,CAACR,MAAM,EAAA1M,eAAA,CAAA;IAC7CW,gBAAgB,EAAE,CAACxB,UAAU,CAACE,SAAS,EAAEF,UAAU,CAACM,KAAK,CAAA;GACtDK,EAAAA,OAAO,CACX,CAAC,CAAA;AAAA,CAAA,CAAA;AAEJ,IAAM4N,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAG5N,OAAO,EAAA;AAAA,EAAA,OAC/BY,sCAA2B,CAACwM,YAAY,CAACtO,MAAM,EAAAoB,eAAA,CAAA;IAC7CW,gBAAgB,EAAE,CAChBxB,UAAU,CAACE,SAAS,EACpB,UAAC0L,CAAC,EAAA8B,KAAA,EAAA;AAAA,MAAA,IAAI/N,EAAE,GAAA+N,KAAA,CAAF/N,EAAE,CAAA;AAAA,MAAA,OAAO,CAACK,UAAU,CAACI,aAAa,EAAET,EAAE,CAAC,CAAA;AAAA,KAAA,CAAA;GAE5CgB,EAAAA,OAAO,CACX,CAAC,CAAA;AAAA,CAAA,CAAA;AAEJ,IAAM6N,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAG7N,OAAO,EAAA;AAAA,EAAA,OAC/BY,sCAA2B,CAACwM,YAAY,CAACH,OAAO,EAAA/M,eAAA,CAAA;IAC9CW,gBAAgB,EAAE,CAACxB,UAAU,CAACE,SAAS,EAAEF,UAAU,CAACM,KAAK,CAAA;GACtDK,EAAAA,OAAO,CACX,CAAC,CAAA;AAAA,CAAA;;ACpCG,IAAM8N,4BAA4B,GAAG;AAC1CC,EAAAA,IAAI,EAAE,EAAE;AACRC,EAAAA,WAAW,EAAE,EAAE;AACf9L,EAAAA,OAAO,EAAE,EAAA;AACX,CAAC,CAAA;AAEM,IAAM+L,+BAA+B,GAAGtL,cAAG,CAACC,MAAM,EAAE,CAACC,KAAK,CAAC;AAChEkL,EAAAA,IAAI,EAAEpL,cAAG,CACNG,MAAM,EAAE,CACR2H,IAAI,EAAE,CACNtH,QAAQ,CACPd,SAAC,CAAC,qCAAqC,EAAE;IACvCW,IAAI,EAAEX,SAAC,CAAC,4BAA4B,CAAA;AACtC,GAAC,CACH,CAAC;AACHH,EAAAA,OAAO,EAAES,cAAG,CAACG,MAAM,EAAE,CAACC,IAAI,CACxB,SAAS,EACTV,SAAC,CAAC,qCAAqC,EAAE;IACvCW,IAAI,EAAEX,SAAC,CAAC,sCAAsC,CAAA;GAC/C,CAAC,EACF,UAAAY,OAAO,EAAA;AAAA,IAAA,OAAI,CAACC,yBAAa,CAACD,OAAO,CAAC,CAAA;GACpC,CAAA;AACF,CAAC,CAAC;;ACrBF,IAAMiL,aAAa,GAAGC,gBAAK,CAAC,UAAApP,IAAA,EAAA;AAAA,EAAA,IAAGsD,CAAC,GAAAtD,IAAA,CAADsD,CAAC;IAAA+L,iBAAA,GAAArP,IAAA,CAAEsP,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,iBAAA;IAAAE,iBAAA,GAAAvP,IAAA,CAAEwP,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,iBAAA,CAAA;AAAA,EAAA,oBACpErK,yBAAA,CAAAC,aAAA,CAACsK,wBAAY,EAAA;AACLD,IAAAA,YAAY,EAAZA,YAAY;IAClBpL,QAAQ,EAAA,IAAA;AACRiB,IAAAA,KAAK,EAAE/B,CAAC,CAAC,sCAAsC,CAAE;AACjD0L,IAAAA,IAAI,EAAC,SAAS;AACdU,IAAAA,IAAI,EAAE,CAAE;AACRC,IAAAA,SAAS,EAAEL,YAAa;AACxB1E,IAAAA,WAAW,EAAEtH,CAAC,CAAC,2CAA2C,EAAE;MAC1DW,IAAI,EAAEX,CAAC,CAAC,sCAAsC,CAAA;KAC/C,CAAA;AAAE,GACJ,CAAC,CAAA;AAAA,CACH,CAAC;;ACRF,IAAMsM,YAAY,GAAG,SAAfA,YAAYA,CAAA5P,IAAA,EAAsC;AAAA,EAAA,IAAhCsP,YAAY,GAAAtP,IAAA,CAAZsP,YAAY;IAAEO,WAAW,GAAA7P,IAAA,CAAX6P,WAAW,CAAA;AAC/C,EAAA,IAAAvJ,eAAA,GAAcC,2BAAc,EAAE;IAAtBjD,CAAC,GAAAgD,eAAA,CAADhD,CAAC,CAAA;AACT,EAAA,IAAAwM,iBAAA,GAAkCC,uBAAgB,EAAE;IAA5CC,MAAM,GAAAF,iBAAA,CAANE,MAAM;IAAEC,aAAa,GAAAH,iBAAA,CAAbG,aAAa,CAAA;AAE7B,EAAA,IAAMC,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAAA1O,KAAA,EAAgC;AAAA,IAAA,IAAhB2O,OAAO,GAAA3O,KAAA,CAAjB4O,MAAM,CAAID,OAAO,CAAA;AAClDF,IAAAA,aAAa,CAAC,oBAAoB,EAAEE,OAAO,CAAC,CAAA;IAC5C,IAAI,CAACA,OAAO,EAAE;AACZF,MAAAA,aAAa,CAAC,aAAa,EAAE,EAAE,CAAC,CAAA;AAClC,KAAA;GACD,CAAA;EAED,oBACE/K,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKsB,IAAAA,SAAS,EAAC,gCAAA;AAAgC,GAAA,eAC7CvB,yBAAA,CAAAC,aAAA,CAACkL,cAAK,EAAA;IACJC,SAAS,EAAA,IAAA;IACTlM,QAAQ,EAAA,IAAA;AACRiB,IAAAA,KAAK,EAAE/B,CAAC,CAAC,4BAA4B,CAAE;AACvC0L,IAAAA,IAAI,EAAC,MAAM;IACXpE,WAAW,EAAEtH,CAAC,CAAC,yCAAyC,CAAA;AAAE,GAC3D,CAAC,eACF4B,yBAAA,CAAAC,aAAA,CAACoL,qCAAiB,EAAA;AAChBC,IAAAA,UAAU,EAAC,oBAAoB;AAC/B9L,IAAAA,KAAK,EAAEpB,CAAC,CAAC,0CAA0C,CAAE;AACrDmN,IAAAA,WAAW,EAAE;AACX5F,MAAAA,QAAQ,EAAEqF,uBAAuB;AACjCQ,MAAAA,YAAY,EAAE;AACZC,QAAAA,iBAAiB,EAAErN,CAAC,CAClB,mDACF,CAAC;QACDsN,kBAAkB,EAAEtN,CAAC,CACnB,oDACF,CAAA;AACF,OAAA;AACF,KAAA;GAEC0M,EAAAA,MAAM,CAACa,kBAAkB,iBACxB3L,yBAAA,CAAAC,aAAA,CAACuF,iBAAQ,EAAA;AACPjE,IAAAA,SAAS,EAAC,QAAQ;AAClBuI,IAAAA,IAAI,EAAC,aAAa;IAClBpE,WAAW,EAAEtH,CAAC,CAAC,gDAAgD,CAAA;AAAE,GAClE,CAEc,CAAC,eACpB4B,yBAAA,CAAAC,aAAA,CAACgK,aAAa,EAAA;AAAOG,IAAAA,YAAY,EAAZA,YAAY;IAAIE,YAAY,EAAEK,WAAW,CAAC1M,OAAAA;AAAQ,GAAE,CACtE,CAAC,CAAA;AAEV,CAAC;;ACxCD,IAAM2N,MAAI,GAAG,SAAPA,IAAIA,CAAA9Q,IAAA,EAOJ;AAAA,EAAA,IANJ2I,MAAM,GAAA3I,IAAA,CAAN2I,MAAM;IACNC,OAAO,GAAA5I,IAAA,CAAP4I,OAAO;IAAAmI,gBAAA,GAAA/Q,IAAA,CACP6P,WAAW;AAAXA,IAAAA,WAAW,GAAAkB,gBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,gBAAA;IAAAC,aAAA,GAAAhR,IAAA,CAChBiR,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAGE,KAAAA,CAAAA,GAAAA,cAAI,GAAAF,aAAA;IAAAG,cAAA,GAAAnR,IAAA,CACfkG,SAAS;AAATA,IAAAA,SAAS,GAAAiL,cAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,cAAA;IACjB7B,YAAY,GAAAtP,IAAA,CAAZsP,YAAY,CAAA;AAEZ,EAAA,IAAM8B,cAAc,GAAGC,YAAM,CAAC,IAAI,CAAC,CAAA;AAEnC,EAAA,IAAA/K,eAAA,GAAcC,2BAAc,EAAE;IAAtBjD,CAAC,GAAAgD,eAAA,CAADhD,CAAC,CAAA;EAET,IAAMgO,MAAM,GAAGlS,aAAO,CAACyQ,WAAW,CAAC,GAC/BvM,CAAC,CAAC,+BAA+B,EAAE;AACjCW,IAAAA,IAAI,EAAEX,CAAC,CAAC,gCAAgC,EAAEiO,kBAAQ,CAAA;AACpD,GAAC,CAAC,GACFjO,CAAC,CAAC,6BAA6B,EAAE;AAC/BW,IAAAA,IAAI,EAAEX,CAAC,CAAC,gCAAgC,EAAEiO,kBAAQ,CAAA;AACpD,GAAC,CAAC,CAAA;AAEN,EAAA,oBACErM,yBAAA,CAAAC,aAAA,CAACqB,YAAI,EAAA;AACGmC,IAAAA,MAAM,EAANA,MAAM;AAAEC,IAAAA,OAAO,EAAPA,OAAO;AACrB4I,IAAAA,eAAe,EAAEJ,cAAe;AAChClH,IAAAA,IAAI,EAAC,OAAA;AAAO,GAAA,eAEZhF,yBAAA,CAAAC,aAAA,CAACqB,YAAI,CAAC2D,MAAM,EAAA,IAAA,eACVjF,yBAAA,CAAAC,aAAA,CAACiF,kBAAU,EAAA;AAAC9E,IAAAA,KAAK,EAAC,IAAA;GAAMgM,EAAAA,MAAmB,CAChC,CAAC,eACdpM,yBAAA,CAAAC,aAAA,CAACsM,aAAU,EAAA;AACTC,IAAAA,WAAW,EAAE;AACXC,MAAAA,kBAAkB,EAAE,IAAI;MACxBC,aAAa,EAAEvK,mBAAS,CAACwI,WAAW,CAAC,GACjCA,WAAW,GACXd,4BAA4B;AAChC8C,MAAAA,gBAAgB,EAAE3C,+BAA+B;AACjD+B,MAAAA,QAAQ,EAARA,QAAAA;AACF,KAAA;GAEA/L,eAAAA,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAqH,QAAA,qBACErH,yBAAA,CAAAC,aAAA,CAACqB,YAAI,CAAC6D,IAAI,EAAA,IAAA,eACRnF,yBAAA,CAAAC,aAAA,CAACyK,YAAY,EAAA;AAAOC,IAAAA,WAAW,EAAXA,WAAW;AAAEP,IAAAA,YAAY,EAAZA,YAAAA;GAAiB,CACzC,CAAC,eACZpK,yBAAA,CAAAC,aAAA,CAACqB,YAAI,CAACP,MAAM,EAAA;AAACQ,IAAAA,SAAS,EAAC,cAAA;AAAc,GAAA,eACnCvB,yBAAA,CAAAC,aAAA,CAACC,cAAM,EAAA;AACL,IAAA,SAAA,EAAQ,6CAA6C;AACrDC,IAAAA,KAAK,EAAE/B,CAAC,CAAC,oCAAoC,CAAE;AAC/CoD,IAAAA,OAAO,EAAER,SAAU;AACnBS,IAAAA,IAAI,EAAC,QAAA;AAAQ,GACd,CAAC,eACFzB,yBAAA,CAAAC,aAAA,CAACC,cAAM,EAAA;AACL,IAAA,SAAA,EAAQ,mDAAmD;AAC3DC,IAAAA,KAAK,EAAE/B,CAAC,CAAC,+BAA+B,CAAE;AAC1CgC,IAAAA,KAAK,EAAC,MAAM;AACZsB,IAAAA,OAAO,EAAEgC,OAAAA;AAAQ,GAClB,CACU,CACb,CACQ,CACR,CAAC,CAAA;AAEX,CAAC;;ACtED,IAAMkJ,MAAM,GAAG,SAATA,MAAMA,CAAA9R,IAAA,EAA+D;AAAA,EAAA,IAAzD+R,WAAW,GAAA/R,IAAA,CAAX+R,WAAW;IAAEpJ,MAAM,GAAA3I,IAAA,CAAN2I,MAAM;IAAEC,OAAO,GAAA5I,IAAA,CAAP4I,OAAO;IAAEoJ,oBAAoB,GAAAhS,IAAA,CAApBgS,oBAAoB,CAAA;AAClE,EAAA,IAAAC,kBAAA,GAA8CrD,iBAAiB,EAAE;IAAjDsD,cAAc,GAAAD,kBAAA,CAAtBvI,MAAM;IAAkBxD,SAAS,GAAA+L,kBAAA,CAAT/L,SAAS,CAAA;AAEzC,EAAA,IAAM+K,QAAQ,GAAG,SAAXA,QAAQA,CAAGkB,QAAQ,EAAI;AAC3B,IAAA,IAAMjS,OAAO,GAAG;AAAEiS,MAAAA,QAAQ,EAARA,QAAAA;KAAU,CAAA;AAE5BD,IAAAA,cAAc,CAAC;AAAEtS,MAAAA,GAAG,EAAEmS,WAAW;AAAE7R,MAAAA,OAAO,EAAPA,OAAAA;AAAQ,KAAC,EAAE;AAAEqB,MAAAA,SAAS,EAAEqH,OAAAA;AAAQ,KAAC,CAAC,CAAA;GACtE,CAAA;AAED,EAAA,oBACE1D,yBAAA,CAAAC,aAAA,CAAC2L,MAAI,EAAA;AACG5K,IAAAA,SAAS,EAATA,SAAS;AAAEyC,IAAAA,MAAM,EAANA,MAAM;AAAEC,IAAAA,OAAO,EAAPA,OAAO;AAAEqI,IAAAA,QAAQ,EAARA,QAAQ;AAC1C3B,IAAAA,YAAY,EAAE0C,oBAAAA;AAAqB,GACpC,CAAC,CAAA;AAEN,CAAC;;;;ACfD,IAAMI,IAAI,GAAG,SAAPA,IAAIA,CAAApS,IAAA,EAOJ;AAAA,EAAA,IANJ+R,WAAW,GAAA/R,IAAA,CAAX+R,WAAW;IACXI,QAAQ,GAAAnS,IAAA,CAARmS,QAAQ;IACRE,WAAW,GAAArS,IAAA,CAAXqS,WAAW;IACX1J,MAAM,GAAA3I,IAAA,CAAN2I,MAAM;IACNC,OAAO,GAAA5I,IAAA,CAAP4I,OAAO;IACPoJ,oBAAoB,GAAAhS,IAAA,CAApBgS,oBAAoB,CAAA;EAEpB,IAAAM,kBAAA,GAA0DzD,iBAAiB,CAAC;MAC1EtN,SAAS,EAAE,SAAAA,SAAA,GAAA;AAAA,QAAA,OAAM8Q,WAAW,CAAC,EAAE,CAAC,CAAA;AAAA,OAAA;AAClC,KAAC,CAAC;IAFcE,cAAc,GAAAD,kBAAA,CAAtB5I,MAAM;IAA6B8I,UAAU,GAAAF,kBAAA,CAArBpM,SAAS,CAAA;AAIzC,EAAA,IAAM+K,QAAQ,GAAG,SAAXA,QAAQA,CAAGkB,QAAQ,EAAI;AAC3B,IAAA,IAAMjS,OAAO,GAAG;AAAEiS,MAAAA,QAAQ,EAARA,QAAAA;KAAU,CAAA;AAC5BI,IAAAA,cAAc,CAAC;MAAEtS,EAAE,EAAEkS,QAAQ,CAAClS,EAAE;AAAEC,MAAAA,OAAO,EAAPA,OAAO;AAAEN,MAAAA,GAAG,EAAEmS,WAAAA;AAAY,KAAC,CAAC,CAAA;GAC/D,CAAA;AAED,EAAA,IAAMlC,WAAW,GAAA1O,eAAA,CAAAA,eAAA,KACZgR,QAAQ,CAAA,EAAA,EAAA,EAAA;AACXtB,IAAAA,kBAAkB,EAAE,CAAC,CAACsB,QAAQ,CAAClD,WAAAA;GAChC,CAAA,CAAA;AAED,EAAA,oBACE/J,yBAAA,CAAAC,aAAA,CAAC2L,MAAI,EAAA;AACGjB,IAAAA,WAAW,EAAXA,WAAW;AAAElH,IAAAA,MAAM,EAANA,MAAM;AAAEC,IAAAA,OAAO,EAAPA,OAAO;AAAEqI,IAAAA,QAAQ,EAARA,QAAQ;AAC5C/K,IAAAA,SAAS,EAAEsM,UAAW;AACtBlD,IAAAA,YAAY,EAAE0C,oBAAAA;AAAqB,GACpC,CAAC,CAAA;AAEN,CAAC;;AC/BD,IAAMS,KAAK,GAAG,SAARA,KAAKA,CAAAzS,IAAA,EAAA;AAAA,EAAA,IAAMqF,KAAK,GAAArF,IAAA,CAALqF,KAAK;IAAE6C,KAAK,GAAAlI,IAAA,CAALkI,KAAK,CAAA;EAAA,oBAC3BhD,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKsB,IAAAA,SAAS,EAAC,0CAAA;AAA0C,GAAA,eACvDvB,yBAAA,CAAAC,aAAA,CAACmF,aAAK,EAAA;AAAC7D,IAAAA,SAAS,EAAC,kBAAA;AAAkB,GAAA,EAAEpB,KAAa,CAAC,eACnDH,yBAAA,CAAAC,aAAA,CAACiF,kBAAU,EAAA;AAAC9E,IAAAA,KAAK,EAAC,OAAO;AAACiF,IAAAA,MAAM,EAAC,QAAA;GAC9BrC,EAAAA,KACS,CACT,CAAC,CAAA;AAAA,CACP,CAAA;AAED,cAAA,aAAehD,yBAAK,CAACoD,IAAI,CAACmK,KAAK,CAAC;;ACLhC,IAAMpK,qBAAqB,gBAAGnD,yBAAK,CAACoD,IAAI,CAACC,yBAAa,CAAC,CAAA;AAEvD,IAAMmK,eAAe,GAAG,SAAlBA,eAAeA,CAAA1S,IAAA,EAAsC;AAAA,EAAA,IAAhC2I,MAAM,GAAA3I,IAAA,CAAN2I,MAAM;IAAEC,OAAO,GAAA5I,IAAA,CAAP4I,OAAO;IAAEuJ,QAAQ,GAAAnS,IAAA,CAARmS,QAAQ,CAAA;AAClD,EAAA,IAAA7L,eAAA,GAAcC,2BAAc,EAAE;IAAtBjD,CAAC,GAAAgD,eAAA,CAADhD,CAAC,CAAA;AACT,EAAA,IAAQ0L,IAAI,GAA2BmD,QAAQ,CAAvCnD,IAAI;IAAEC,WAAW,GAAckD,QAAQ,CAAjClD,WAAW;IAAE9L,OAAO,GAAKgP,QAAQ,CAApBhP,OAAO,CAAA;AAElC,EAAA,oBACE+B,yBAAA,CAAAC,aAAA,CAACqB,YAAI,EAAA;AAAOmC,IAAAA,MAAM,EAANA,MAAM;AAAEC,IAAAA,OAAO,EAAPA,OAAAA;AAAO,GAAA,eACzB1D,yBAAA,CAAAC,aAAA,CAACqB,YAAI,CAAC2D,MAAM,EAAA;AAAC1D,IAAAA,SAAS,EAAC,WAAA;AAAW,GAAA,eAChCvB,yBAAA,CAAAC,aAAA,CAACiF,kBAAU,EAAA;AAAC9E,IAAAA,KAAK,EAAC,IAAA;AAAI,GAAA,EACnBhC,CAAC,CAAC,uCAAuC,CAChC,CACD,CAAC,eACd4B,yBAAA,CAAAC,aAAA,CAACqB,YAAI,CAAC6D,IAAI,EAAA;AAAC5D,IAAAA,SAAS,EAAC,WAAA;AAAW,GAAA,eAC9BvB,yBAAA,CAAAC,aAAA,CAACsN,OAAK,EAAA;AAACpN,IAAAA,KAAK,EAAE/B,CAAC,CAAC,4BAA4B,CAAE;AAAC4E,IAAAA,KAAK,EAAE8G,IAAAA;AAAK,GAAE,CAAC,eAC9D9J,yBAAA,CAAAC,aAAA,CAACsN,OAAK,EAAA;AACJpN,IAAAA,KAAK,EAAE/B,CAAC,CAAC,0CAA0C,CAAE;AACrD4E,IAAAA,KAAK,EAAE+G,WAAAA;AAAY,GACpB,CAAC,eACF/J,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKsB,IAAAA,SAAS,EAAC,gCAAA;AAAgC,GAAA,eAC7CvB,yBAAA,CAAAC,aAAA,CAACmF,aAAK,EAAA;AAAC7D,IAAAA,SAAS,EAAC,kBAAA;GACdnD,EAAAA,CAAC,CAAC,sCAAsC,CACpC,CAAC,eACR4B,yBAAA,CAAAC,aAAA,CAACkD,qBAAqB,EAAA;AACpB5B,IAAAA,SAAS,EAAC,8CAA8C;AACxDvC,IAAAA,OAAO,EAAEf,OAAAA;GACV,CACE,CACI,CACP,CAAC,CAAA;AAEX,CAAC;;AClCM,IAAMwP,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAA3S,IAAA,EAAA;AAAA,EAAA,IAAM4S,MAAM,GAAA5S,IAAA,CAAN4S,MAAM;IAAEhT,GAAG,GAAAI,IAAA,CAAHJ,GAAG,CAAA;AAAA,EAAA,oBAChDsF,yBAAA,CAAAC,aAAA,CAAC0N,kBAAK,EAAA;AACJC,IAAAA,OAAO,EAAC,sCAAsC;AAC9C9C,IAAAA,MAAM,EAAE;AAAE4C,MAAAA,MAAM,EAANA,MAAAA;KAAS;AACnBG,IAAAA,UAAU,EAAE;AACVC,MAAAA,CAAC,eACC9N,yBAAA,CAAAC,aAAA,CAAC8N,mBAAI,EAAA;AACHxM,QAAAA,SAAS,EAAC,qCAAqC;AAC/C2J,QAAAA,MAAM,EAAC,QAAQ;AACf7K,QAAAA,EAAE,EAAE;AAAEC,UAAAA,QAAQ,EAAE5F,GAAAA;AAAI,SAAA;OACrB,CAAA;AAEL,KAAA;AAAE,GACH,CAAC,CAAA;AAAA,CACH;;;;;ACPD,IAAM8M,KAAK,GAAG,SAARA,KAAKA,CAAA1M,IAAA,EAaL;AAAA,EAAA,IAAAgL,EAAA,CAAA;AAAA,EAAA,IAZJ4H,MAAM,GAAA5S,IAAA,CAAN4S,MAAM;IACN/F,UAAU,GAAA7M,IAAA,CAAV6M,UAAU;IACVG,OAAO,GAAAhN,IAAA,CAAPgN,OAAO;IACPhB,UAAU,GAAAhM,IAAA,CAAVgM,UAAU;IACVf,OAAO,GAAAjL,IAAA,CAAPiL,OAAO;IACPC,UAAU,GAAAlL,IAAA,CAAVkL,UAAU;IACVgI,aAAa,GAAAlT,IAAA,CAAbkT,aAAa;IACbC,UAAU,GAAAnT,IAAA,CAAVmT,UAAU;IACVC,WAAW,GAAApT,IAAA,CAAXoT,WAAW;IACXC,aAAa,GAAArT,IAAA,CAAbqT,aAAa;IACbnU,cAAc,GAAAc,IAAA,CAAdd,cAAc;AACXoU,IAAAA,UAAU,GAAAC,wBAAA,CAAAvT,IAAA,EAAAwT,WAAA,CAAA,CAAA;AAEb,EAAA,IAAAlN,eAAA,GAAcC,2BAAc,EAAE;IAAtBjD,CAAC,GAAAgD,eAAA,CAADhD,CAAC,CAAA;EAET,IAAMmQ,OAAO,GAAG5G,UAAU,CAAC;AAAEuG,IAAAA,WAAW,EAAXA,WAAW;AAAEC,IAAAA,aAAa,EAAbA,aAAAA;AAAc,GAAC,CAAC,CAAA;EAE1D,IAAMpH,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIC,CAAC,EAAEC,EAAE,EAAE3H,MAAM,EAAK;AAC3C0G,IAAAA,UAAU,CAAA/J,eAAA,CAAAA,eAAA,KACL8J,OAAO,CAAA,EAAA,EAAA,EAAA;MACVvI,MAAM,EAAE8B,MAAM,CAAC6H,KAAK;AACpB1J,MAAAA,OAAO,EAAEa,UAAU,CAACgB,MAAM,CAAC8H,KAAK,CAAA;AAAC,KAAA,CAClC,CAAC,CAAA;GACH,CAAA;AAED,EAAA,IAAMoH,WAAW,GAAG;AAClBC,IAAAA,kBAAkB,EAAE;AAClBtO,MAAAA,KAAK,EAAE/B,CAAC,CAAC,+BAA+B,EAAE;AACxCW,QAAAA,IAAI,EAAA+G,CAAAA,EAAA,GAAE1H,CAAC,CACL,gCAAgC,EAChCiO,kBACF,CAAC,cAAAvG,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAHKA,EAAA,CAGHsC,iBAAiB,EAAC;AACvB,OAAC,CAAC;MACF1G,OAAO,EAAE,SAAAA,OAAA,GAAA;QAAA,OAAMsM,aAAa,CAAC,IAAI,CAAC,CAAA;AAAA,OAAA;KACnC;IACDU,QAAQ,EAAEjB,oBAAoB,CAAC;AAAEC,MAAAA,MAAM,EAANA,MAAM;AAAEhT,MAAAA,GAAG,EAAEuT,UAAAA;KAAY,CAAA;GAC3D,CAAA;AAED,EAAA,IAAI/T,aAAO,CAAC4N,OAAO,CAAC,EAAE;IACpB,oBACE9H,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKsB,MAAAA,SAAS,EAAC,0DAAA;AAA0D,KAAA,eACvEvB,yBAAA,CAAAC,aAAA,CAACkI,cAAM,EAAAwG,QAAA,CAAA;AACLnP,MAAAA,KAAK,EAAEpB,CAAC,CAAC,iCAAiC,EAAE;AAAEW,QAAAA,IAAI,EAAE2O,MAAAA;OAAQ,CAAA;KACvD,EAAA,CAAC3H,OAAO,CAACxI,UAAU,IAAIiR,WAAW,CACxC,CACE,CAAC,CAAA;AAEV,GAAA;AAEA,EAAA,oBACExO,yBAAA,CAAAC,aAAA,CAACqH,gCAAY,EAAA;AACX/F,IAAAA,SAAS,EAAC,MAAM;AAChBgG,IAAAA,aAAa,EAAET,UAAU,GAAG9M,cAAc,CAACI,QAAAA;AAAS,GAAA,eAEpD4F,yBAAA,CAAAC,aAAA,CAAC2O,aAAY,EAAAD,QAAA,CAAA;IACXjH,WAAW,EAAA,IAAA;AACXC,IAAAA,UAAU,EAAE4G,OAAQ;IACpB3G,iBAAiB,EAAE5N,cAAc,CAACG,IAAK;IACvC0N,eAAe,EAAE7N,cAAc,CAACI,QAAS;AACzCyU,IAAAA,MAAM,EAAE;AAAEC,MAAAA,CAAC,EAAE,CAAA;KAAI;AACjBC,IAAAA,WAAW,EAAC,OAAO;AACnBhH,IAAAA,eAAe,EAAE;MACfC,gBAAgB,EAAE,CAAAF,OAAO,KAAPA,IAAAA,IAAAA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAEG,MAAM,IAAGhL,2BAAiB,GAAG,CAAA;KACxD;AACF0I,IAAAA,QAAQ,EAAEoB,iBAAAA;AAAkB,GAAA,EAAA9K,eAAA,CAAA;AACtB6L,IAAAA,OAAO,EAAPA,OAAO;AAAEhB,IAAAA,UAAU,EAAVA,UAAAA;GAAesH,EAAAA,UAAU,CACzC,CAAA,CACW,CAAC,CAAA;AAEnB,CAAC;;AC1ED,IAAMzG,UAAU,GAAG,SAAbA,UAAUA,CAAA7M,IAAA,EAAA;AAAA,EAAA,IAAMoT,WAAW,GAAApT,IAAA,CAAXoT,WAAW;IAAEC,aAAa,GAAArT,IAAA,CAAbqT,aAAa,CAAA;AAAA,EAAA,OAAO,CACrD;AACE/O,IAAAA,SAAS,EAAE,MAAM;AACjBC,IAAAA,GAAG,EAAE,MAAM;AACXC,IAAAA,MAAM,EAAE,IAAI;AACZE,IAAAA,KAAK,EAAEwP,2BAAO,CAAC5Q,CAAC,CAAC,4BAA4B,CAAC;AAC9C6Q,IAAAA,QAAQ,EAAE,IAAI;AACdxP,IAAAA,MAAM,EAAE,SAAAA,MAACuH,CAAAA,CAAC,EAAEiG,QAAQ,EAAA;MAAA,oBAClBjN,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKsB,QAAAA,SAAS,EAAC,2CAAA;AAA2C,OAAA,eACxDvB,yBAAA,CAAAC,aAAA,CAACiF,kBAAU,EAAA;AAAC3D,QAAAA,SAAS,EAAC,UAAU;AAACnB,QAAAA,KAAK,EAAC,OAAA;OACpC6M,EAAAA,QAAQ,CAACnD,IACA,CAAC,eACb9J,yBAAA,CAAAC,aAAA,CAACiP,gCAAY,EAAA;AACXC,QAAAA,aAAa,EAAE;AACbC,UAAAA,QAAQ,EAAE,OAAO;UACjB1N,OAAO,EAAE,SAAAA,OAAAA,CAAA2N,CAAC,EAAA;AAAA,YAAA,OAAIA,CAAC,CAACC,eAAe,EAAE,CAAA;AAAA,WAAA;SACjC;QACFC,SAAS,EAAE,CAAAzK,eAAA,CAAA;AAEPzF,UAAAA,GAAG,EAAE,MAAM;AACXc,UAAAA,KAAK,EAAE6O,2BAAO,CAAC5Q,CAAC,CAAC,4BAA4B,CAAC;UAC9CsD,OAAO,EAAE,SAAAA,OAAAA,CAAA8N,KAAK,EAAA;AAAA,YAAA,OAAItB,WAAW,CAACsB,KAAK,EAAEvC,QAAQ,CAAC,CAAA;AAAA,WAAA;AAAA,SAAA,EAC7C5O,WAAW,EAAG,6CAA6C,CAAA,EAAAyG,eAAA,CAAA;AAG5DzF,UAAAA,GAAG,EAAE,QAAQ;AACbc,UAAAA,KAAK,EAAE6O,2BAAO,CAAC5Q,CAAC,CAAC,8BAA8B,CAAC;UAChDsD,OAAO,EAAE,SAAAA,OAAAA,CAAA8N,KAAK,EAAA;AAAA,YAAA,OAAIrB,aAAa,CAACqB,KAAK,EAAEvC,QAAQ,CAAC,CAAA;AAAA,WAAA;SAC/C5O,EAAAA,WAAW,EAAG,+CAA+C,CAAA,CAAA;AAEhE,OACH,CACE,CAAC,CAAA;AAAA,KAAA;AAEV,GAAC,EACD;AACEe,IAAAA,SAAS,EAAE,aAAa;AACxBC,IAAAA,GAAG,EAAE,aAAa;AAClBG,IAAAA,KAAK,EAAEwP,2BAAO,CAAC5Q,CAAC,CAAC,0CAA0C,CAAA;AAC7D,GAAC,CACF,CAAA;AAAA,CAAA;;;;;ACxBD,IAAMqR,SAAS,GAAG,SAAZA,SAASA,CAAA3U,IAAA,EAMT;AAAA,EAAA,IAAAgL,EAAA,EAAA4J,GAAA,EAAAC,GAAA,CAAA;AAAA,EAAA,IALJpS,UAAU,GAAAzC,IAAA,CAAVyC,UAAU;IACVqS,qBAAqB,GAAA9U,IAAA,CAArB8U,qBAAqB;IACrBC,wBAAwB,GAAA/U,IAAA,CAAxB+U,wBAAwB;IACxB5B,UAAU,GAAAnT,IAAA,CAAVmT,UAAU;AACPG,IAAAA,UAAU,GAAAC,wBAAA,CAAAvT,IAAA,EAAAwT,SAAA,CAAA,CAAA;AAEb,EAAA,IAAAxR,SAAA,GAA8BC,cAAQ,CAACO,qBAAqB,CAAC;IAAAJ,UAAA,GAAAC,cAAA,CAAAL,SAAA,EAAA,CAAA,CAAA;AAAtDiJ,IAAAA,OAAO,GAAA7I,UAAA,CAAA,CAAA,CAAA;AAAE8I,IAAAA,UAAU,GAAA9I,UAAA,CAAA,CAAA,CAAA,CAAA;AAC1B,EAAA,IAAAkJ,UAAA,GAAgDrJ,cAAQ,CAAC,EAAE,CAAC;IAAAsJ,UAAA,GAAAlJ,cAAA,CAAAiJ,UAAA,EAAA,CAAA,CAAA;AAArD0J,IAAAA,gBAAgB,GAAAzJ,UAAA,CAAA,CAAA,CAAA;AAAE0J,IAAAA,mBAAmB,GAAA1J,UAAA,CAAA,CAAA,CAAA,CAAA;AAC5C,EAAA,IAAA2J,UAAA,GAAkDjT,cAAQ,CAAC,KAAK,CAAC;IAAAkT,UAAA,GAAA9S,cAAA,CAAA6S,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,GAA4CrT,cAAQ,CAAC,KAAK,CAAC;IAAAsT,UAAA,GAAAlT,cAAA,CAAAiT,UAAA,EAAA,CAAA,CAAA;AAApDE,IAAAA,cAAc,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,iBAAiB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AACxC,EAAA,IAAAG,UAAA,GAA4CzT,cAAQ,CAAC,KAAK,CAAC;IAAA0T,WAAA,GAAAtT,cAAA,CAAAqT,UAAA,EAAA,CAAA,CAAA;AAApDE,IAAAA,cAAc,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,iBAAiB,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;AAExC,EAAA,IAAAtK,YAAA,GACEtJ,WAAW,EAAE;IADP7C,cAAc,GAAAmM,YAAA,CAAdnM,cAAc;IAAEC,gBAAgB,GAAAkM,YAAA,CAAhBlM,gBAAgB;IAAEoD,mBAAmB,GAAA8I,YAAA,CAAnB9I,mBAAmB,CAAA;AAG7D,EAAA,IAAA+D,eAAA,GAAcC,2BAAc,EAAE;IAAtBjD,CAAC,GAAAgD,eAAA,CAADhD,CAAC,CAAA;AAET,EAAA,IAAM6H,mBAAmB,GAAGC,sBAAW,CAAC3I,UAAU,EAAEG,YAAY,CAAC,CAAA;AAEjE+G,EAAAA,eAAS,CAAC,YAAM;AACdpH,IAAAA,mBAAmB,EAAE,CAAA;AACvB,GAAC,EAAE,CAACE,UAAU,CAAC,CAAC,CAAA;AAEhB,EAAA,IAAAqT,kBAAA,GAGIxH,iBAAiB,CAAAnN,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAA,EAAA,EAEdjC,cAAc,CAAA,EACd+L,OAAO,CAAA,EAAA,EAAA,EAAA;AACVxI,MAAAA,UAAU,EAAE0I,mBAAmB,CAACO,IAAI,EAAC;KAEvC,CAAA,EAAA;AACEnK,MAAAA,SAAS,EAAE,SAAAA,SAAAC,CAAAA,KAAA,EAAmB;AAAA,QAAA,IAAhB3C,SAAS,GAAA2C,KAAA,CAAT3C,SAAS,CAAA;AACrBG,QAAAA,eAAe,CAACH,SAAS,EAAEK,cAAc,EAAEC,gBAAgB,CAAC,CAAA;AAC9D,OAAA;AACF,KACF,CAAC;IAAA4W,qBAAA,GAAAD,kBAAA,CAbC7W,IAAI;AAAA+W,IAAAA,sBAAA,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAuC,EAAE,GAAAA,qBAAA;IAAAE,sBAAA,GAAAD,sBAAA,CAArCnX,SAAS;AAATA,IAAAA,SAAS,GAAAoX,sBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,sBAAA;IAAAC,sBAAA,GAAAF,sBAAA,CAAEhK,UAAU;AAAVA,IAAAA,UAAU,GAAAkK,sBAAA,KAAG,KAAA,CAAA,GAAA,CAAC,GAAAA,sBAAA;IAC3BC,iBAAiB,GAAAL,kBAAA,CAA5B5P,SAAS,CAAA;AAcX,EAAA,IAAAkQ,kBAAA,GAA0DtH,iBAAiB,EAAE;IAA7DuH,cAAc,GAAAD,kBAAA,CAAtB1M,MAAM;IAA6B4M,UAAU,GAAAF,kBAAA,CAArBlQ,SAAS,CAAA;AAEzCyD,EAAAA,eAAS,CAAC,YAAM;AACd,IAAA,IAAIvK,aAAO,CAAC4V,gBAAgB,CAAC,EAAE;MAC7BK,oBAAoB,CAAC,KAAK,CAAC,CAAA;MAC3BI,iBAAiB,CAAC,KAAK,CAAC,CAAA;MACxBI,iBAAiB,CAAC,KAAK,CAAC,CAAA;AAC1B,KAAA;AACF,GAAC,EAAE,CAACb,gBAAgB,CAAC,CAAC,CAAA;EAEtB,IAAM5B,WAAW,GAAG,SAAdA,WAAWA,CAAIsB,KAAK,EAAEvC,QAAQ,EAAK;IACvCuC,KAAK,CAACF,eAAe,EAAE,CAAA;IAEvBS,mBAAmB,CAAC9C,QAAQ,CAAC,CAAA;IAC7BsD,iBAAiB,CAAC,IAAI,CAAC,CAAA;GACxB,CAAA;EAED,IAAMrI,UAAU,GAAG,SAAbA,UAAUA,CAAIlB,CAAC,EAAEqK,eAAe,EAAK;IACzCtB,mBAAmB,CAACsB,eAAe,CAAC,CAAA;IACpCV,iBAAiB,CAAC,IAAI,CAAC,CAAA;GACxB,CAAA;EAED,IAAMxC,aAAa,GAAG,SAAhBA,aAAaA,CAAIqB,KAAK,EAAEvC,QAAQ,EAAK;IACzCuC,KAAK,CAACF,eAAe,EAAE,CAAA;IAEvBS,mBAAmB,CAAC9C,QAAQ,CAAC,CAAA;IAC7BkD,oBAAoB,CAAC,IAAI,CAAC,CAAA;GAC3B,CAAA;AAED,EAAA,IAAMmB,YAAY,GAAG,SAAfA,YAAYA,CAAGpI,UAAU,EAAI;AACjCiI,IAAAA,cAAc,CAAC;AAAEjI,MAAAA,UAAU,EAAVA,UAAAA;AAAW,KAAC,CAAC,CAAA;IAC9B6G,mBAAmB,CAAC,EAAE,CAAC,CAAA;GACxB,CAAA;AAED,EAAA,IAAMrC,MAAM,GAAA5H,CAAAA,EAAA,GAAG1H,CAAC,CACd,gCAAgC,EAChC6E,gBACF,CAAC,cAAA6C,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAHcA,EAAA,CAGZsC,iBAAiB,EAAE,CAAA;EAEtB,oBACEpI,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAqH,QAAA,EACG4J,IAAAA,EAAAA,iBAAiB,gBAChBjR,yBAAA,CAAAC,aAAA,CAACsR,8BAAU,EAAE,IAAA,CAAC,gBAEdvR,yBAAA,CAAAC,aAAA,CAACuH,KAAK,EAAA;AACJM,IAAAA,OAAO,EAAEnO,SAAU;AACnBqU,IAAAA,aAAa,EAAE6B,wBAAyB;AAEtClI,IAAAA,UAAU,EAAVA,UAAU;AACV+F,IAAAA,MAAM,EAANA,MAAM;AACN3H,IAAAA,OAAO,EAAPA,OAAO;AACP9L,IAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBgU,IAAAA,UAAU,EAAVA,UAAU;AACVE,IAAAA,aAAa,EAAbA,aAAa;AACbD,IAAAA,WAAW,EAAXA,WAAW;AACXhG,IAAAA,UAAU,EAAVA,UAAU;AACVlO,IAAAA,cAAc,EAAdA,cAAc;AACduD,IAAAA,UAAU,EAAVA,UAAU;AACVyI,IAAAA,UAAU,EAAVA,UAAU;AACVc,IAAAA,UAAU,EAAVA,UAAAA;GAEH,CACF,eACD9G,yBAAA,CAAAC,aAAA,CAAC2M,MAAM,EAAA+B,QAAA,CAAA;AACLlL,IAAAA,MAAM,EAAEmM,qBAAsB;IAC9BlM,OAAO,EAAE,SAAAA,OAAA,GAAA;MAAA,OAAMmM,wBAAwB,CAAC,KAAK,CAAC,CAAA;AAAA,KAAA;GAC1CzB,EAAAA,UAAU,CACf,CAAC,eACFpO,yBAAA,CAAAC,aAAA,CAACiN,IAAI,EAAAyB,QAAA,CAAA;AACHlL,IAAAA,MAAM,EAAE6M,cAAe;AACvBnD,IAAAA,WAAW,EAAE4C,mBAAoB;AACjC9C,IAAAA,QAAQ,EAAE6C,gBAAAA;AAAiB,GAAA,EACvB1B,UAAU,EAAA;IACd1K,OAAO,EAAE,SAAAA,OAAA,GAAA;MAAA,OAAM6M,iBAAiB,CAAC,KAAK,CAAC,CAAA;AAAA,KAAA;AAAC,GAAA,CACzC,CAAC,eACFvQ,yBAAA,CAAAC,aAAA,CAACuR,aAAK,EAAA;AACJ/N,IAAAA,MAAM,EAAEyM,iBAAkB;AAC1BuB,IAAAA,YAAY,EAAEL,UAAW;AACzBM,IAAAA,iBAAiB,EAAEtT,CAAC,CAAC,+BAA+B,CAAE;AACtDH,IAAAA,OAAO,eACL+B,yBAAA,CAAAC,aAAA,CAAC0N,kBAAK,EAAA;AACJC,MAAAA,OAAO,EAAC,iCAAiC;AACzC9C,MAAAA,MAAM,EAAE;AACN/L,QAAAA,IAAI,GAAA2Q,GAAA,GAAEtR,CAAC,CACL,gCAAgC,EAChCiO,kBACF,CAAC,MAAA,IAAA,IAAAqD,GAAA,KAHKA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,GAAA,CAGHtH,iBAAiB,EAAE;AACtB0B,QAAAA,IAAI,EAAEgG,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhBA,gBAAgB,CAAEhG,IAAAA;AAC1B,OAAA;AAAE,KACH,CACF;AACDtK,IAAAA,KAAK,EAAEpB,CAAC,CAAC,+BAA+B,EAAE;AACxCW,MAAAA,IAAI,EAAA4Q,CAAAA,GAAA,GAAEvR,CAAC,CACL,gCAAgC,EAChCiO,kBACF,CAAC,cAAAsD,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAHKA,GAAA,CAGHvH,iBAAiB,EAAC;AACvB,KAAC,CAAE;IACH1E,OAAO,EAAE,SAAAA,OAAA,GAAA;AAAA,MAAA,OAAMqM,mBAAmB,CAAC,EAAE,CAAC,CAAA;KAAC;IACvChE,QAAQ,EAAE,SAAAA,QAAA,GAAA;MAAA,OAAMuF,YAAY,CAACxB,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAhBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,gBAAgB,CAAE/U,EAAE,CAAC,CAAA;AAAA,KAAA;AAAC,GACpD,CAAC,eACFiF,yBAAA,CAAAC,aAAA,CAACuN,eAAe,EAAA;AACd/J,IAAAA,MAAM,EAAEiN,cAAe;AACvBzD,IAAAA,QAAQ,EAAE6C,gBAAiB;IAC3BpM,OAAO,EAAE,SAAAA,OAAA,GAAA;AAAA,MAAA,OAAMqM,mBAAmB,CAAC,EAAE,CAAC,CAAA;AAAA,KAAA;AAAC,GACxC,CACD,CAAC,CAAA;AAEP,CAAC;;;;AC/JM,IAAM4B,YAAY,GAAG,SAAfA,YAAYA,CAAA7W,IAAA,EAAA;AAAA,EAAA,IACvB8W,MAAM,GAAA9W,IAAA,CAAN8W,MAAM;IACNhC,qBAAqB,GAAA9U,IAAA,CAArB8U,qBAAqB;IACrBrS,UAAU,GAAAzC,IAAA,CAAVyC,UAAU;IACVsS,wBAAwB,GAAA/U,IAAA,CAAxB+U,wBAAwB,CAAA;AAAA,EAAA,OACpB,CACJ;IACEgC,SAAS,EAAE,SAAAA,SAAA,GAAA;AAAA,MAAA,oBACT7R,yBAAA,CAAAC,aAAA,CAACwP,SAAS,EAAAxT,eAAA,CAAA;AAEN2T,QAAAA,qBAAqB,EAArBA,qBAAqB;AACrBrS,QAAAA,UAAU,EAAVA,UAAU;AACVsS,QAAAA,wBAAwB,EAAxBA,wBAAAA;OACG+B,EAAAA,MAAM,CAEZ,CAAC,CAAA;KACH;AACDE,IAAAA,IAAI,EAAAvX,EAAAA,CAAAA,MAAA,CAAKqX,MAAM,CAACG,aAAa,CAAA,CAAAxX,MAAA,CAAGjB,MAAM,CAACK,SAAS,CAACC,KAAK,CAAE;IACxDoY,WAAW,EAAE,SAAAA,WAAA,GAAA;AAAA,MAAA,IAAAlM,EAAA,CAAA;AAAA,MAAA,oBACX9F,yBAAA,CAAAC,aAAA,CAACC,cAAM,EAAA;AACL,QAAA,SAAA,EAAQ,0CAA0C;AAClDC,QAAAA,KAAK,EAAE/B,SAAC,CAAC,+BAA+B,EAAE;AACxCW,UAAAA,IAAI,EAAA+G,CAAAA,EAAA,GAAE1H,SAAC,CACL,gCAAgC,EAChCiO,kBACF,CAAC,cAAAvG,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAHKA,EAAA,CAGHsC,iBAAiB,EAAC;AACvB,SAAC,CAAE;QACH1G,OAAO,EAAE,SAAAA,OAAA,GAAA;UAAA,OAAMmO,wBAAwB,CAAC,IAAI,CAAC,CAAA;AAAA,SAAA;AAAC,OAC/C,CAAC,CAAA;KACH;AACDoC,IAAAA,iBAAiB,EAAE7T,SAAC,CAAC,4CAA4C,EAAE;MACjEW,IAAI,EAAEX,SAAC,CAAC,gCAAgC,EAAE6E,gBAAM,CAAC,CAACmF,iBAAiB,EAAC;KACrE,CAAA;AACH,GAAC,EACD;IACEyJ,SAAS,EAAE,SAAAA,SAAA,GAAA;AAAA,MAAA,oBAAM7R,yBAAA,CAAAC,aAAA,CAACsI,eAAe,EAAKqJ,MAAS,CAAC,CAAA;AAAA,KAAA;IAChDE,IAAI,EAAA,EAAA,CAAAvX,MAAA,CAAKqX,MAAM,CAACG,aAAa,CAAA,CAAAxX,MAAA,CAAGjB,MAAM,CAACG,OAAO,CAAA;AAChD,GAAC,EACD;IACEoY,SAAS,EAAE,SAAAA,SAAA,GAAA;AAAA,MAAA,oBAAM7R,yBAAA,CAAAC,aAAA,CAAC4F,OAAO,EAAK+L,MAAS,CAAC,CAAA;AAAA,KAAA;IACxCE,IAAI,EAAA,EAAA,CAAAvX,MAAA,CAAKqX,MAAM,CAACG,aAAa,CAAA,CAAAxX,MAAA,CAAGjB,MAAM,CAACI,OAAO,CAAA;AAChD,GAAC,CACF,CAAA;AAAA,CAAA;;AC9CD,IAAMuL,MAAM,GAAG,SAATA,MAAMA,CAAAnK,IAAA,EAAmC;AAAA,EAAA,IAAAoX,qBAAA,CAAA;AAAA,EAAA,IAA7BC,SAAS,GAAArX,IAAA,CAATqX,SAAS;IAAEC,WAAW,GAAAtX,IAAA,CAAXsX,WAAW,CAAA;AACtC,EAAA,IAAAhR,eAAA,GAAcC,2BAAc,EAAE;IAAtBjD,CAAC,GAAAgD,eAAA,CAADhD,CAAC,CAAA;AAET,EAAA,IAAAiU,YAAA,GAAqBC,0BAAW,EAAE;IAA1BhS,QAAQ,GAAA+R,YAAA,CAAR/R,QAAQ,CAAA;EAEhB,IAAMiS,UAAU,GAAGnQ,gBAAM,CAAC;AAAE0P,IAAAA,IAAI,EAAExR,QAAAA;GAAU,EAAE6R,SAAS,CAAC,CAAA;AAExD,EAAA,oBACEnS,yBAAA,CAAAC,aAAA,CAACuS,+BAAW,EAAA;AACVR,IAAAA,WAAW,EAAEO,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAAL,KAAAA,CAAAA,IAAAA,CAAAA,qBAAA,GAAVK,UAAU,CAAEP,WAAW,MAAA,IAAA,IAAAE,qBAAA,KAAvBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAAAzV,IAAA,CAAA8V,UAA0B,CAAE;AACzC/S,IAAAA,KAAK,EAAEpB,CAAC,CAAC,gCAAgC,EAAE6E,gBAAM,CAAE;IACnDwP,WAAW,EACT,CAAAF,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,CAAEN,iBAAiB,KAAI;AAC/BvM,MAAAA,WAAW,EAAE6M,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAVA,UAAU,CAAEN,iBAAAA;KAE5B;AACKG,IAAAA,WAAW,EAAXA,WAAAA;AAAW,GAClB,CAAC,CAAA;AAEN,CAAC;;ACvBD,IAAM5X,OAAK,GAAG,SAARA,KAAKA,GAAA;EAAA,OAASG,yBAAK,CAACC,GAAG,CAAA,EAAA,CAAAL,MAAA,CAAIF,QAAQ,WAAQ,CAAC,CAAA;AAAA,CAAA,CAAA;AAElD,IAAMqY,QAAQ,GAAG;AAAElY,EAAAA,KAAK,EAALA,OAAAA;AAAM,CAAC;;;;ACF1B,IAAMmY,aAAa,GAAG,SAAhBA,aAAaA,GAAA;AAAA,EAAA,IAAI5W,OAAO,GAAAsN,SAAA,CAAApB,MAAA,GAAA,CAAA,IAAAoB,SAAA,CAAA,CAAA,CAAA,KAAAC,SAAA,GAAAD,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE,CAAA;AAAA,EAAA,OACjCrN,mBAAQ,CAAC,CAACZ,UAAU,CAACM,KAAK,CAAC,EAAE,YAAA;AAAA,IAAA,OAAMgX,QAAQ,CAAClY,KAAK,EAAE,CAAA;AAAA,GAAA,EAAAyB,eAAA,CAAA;IACjDC,MAAM,EAAE,SAAAA,MAAAA,CAAAC,QAAQ,EAAA;AAAA,MAAA,OAAIA,QAAQ,CAACpC,IAAI,IAAIoC,QAAQ,CAAA;AAAA,KAAA;GAC1CJ,EAAAA,OAAO,CACX,CAAC,CAAA;AAAA,CAAA;;ACGJ,IAAM6W,GAAG,GAAG,SAANA,GAAGA,CAAA9X,IAAA,EAA0B;AAAA,EAAA,IAAA+X,gBAAA,CAAA;AAAA,EAAA,IAApBd,aAAa,GAAAjX,IAAA,CAAbiX,aAAa,CAAA;AAC1B,EAAA,IAAAM,YAAA,GAAqBC,0BAAW,EAAE;IAA1BhS,QAAQ,GAAA+R,YAAA,CAAR/R,QAAQ,CAAA;AAEhB,EAAA,IAAM5G,OAAO,GAAGoZ,yBAAU,EAAE,CAAA;AAE5B,EAAA,IAAMC,cAAc,GAAGjQ,iBAAiB,EAAE,CAAA;AAC1C,EAAA,IAAMkQ,kBAAkB,GAAGC,UAAI,CAACF,cAAc,CAAC,CAAA;EAC/C,IAAMG,QAAQ,IAAAL,gBAAA,GAAGvS,QAAQ,CAAC6S,KAAK,CAAC7Z,MAAM,CAACE,SAAS,CAAC,CAAC,CAAC,CAAC,MAAAqZ,IAAAA,IAAAA,gBAAA,uBAAnCA,gBAAA,CAAqCO,iBAAiB,EAAE,CAAA;AAEzE,EAAA,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,CAAGC,MAAM,EAAA;AAAA,IAAA,OAAIJ,QAAQ,CAACK,QAAQ,CAACD,MAAM,CAAC,CAAA;AAAA,GAAA,CAAA;AAEpD,EAAA,IAAME,QAAQ,GAAG,SAAXA,QAAQA,CAAGF,MAAM,EAAA;IAAA,OAAA/Y,EAAAA,CAAAA,MAAA,CAAOwX,aAAa,CAAAxX,CAAAA,MAAA,CAAG+Y,MAAM,CAACG,WAAW,EAAE,CAAA,CAAA;GAAE,CAAA;AAEpE,EAAA,IAAAC,cAAA,GAAsCf,aAAa,EAAE;IAAAgB,mBAAA,GAAAD,cAAA,CAA7C3Z,IAAI;AAAA6Z,IAAAA,oBAAA,GAAAD,mBAAA,KAAA,KAAA,CAAA,GAAmB,EAAE,GAAAA,mBAAA;IAAAE,qBAAA,GAAAD,oBAAA,CAAjBE,KAAK;AAALA,IAAAA,KAAK,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA,CAAA;EAE1B,oBACE7T,yBAAA,CAAAC,aAAA,CAAC8T,WAAU,EACRf,IAAAA,EAAAA,kBAAkB,CAACgB,GAAG,CAAC,UAAAV,MAAM,EAAA;AAAA,IAAA,oBAC5BtT,yBAAA,CAAAC,aAAA,CAAC8T,WAAU,CAACE,IAAI,EAAA;AACdC,MAAAA,MAAM,EAAEb,QAAQ,CAACC,MAAM,CAAE;AACzBa,MAAAA,KAAK,EAAEL,KAAK,CAACR,MAAM,KAANA,IAAAA,IAAAA,MAAM,KAANA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,CAAElL,iBAAiB,EAAE,CAAE;AAC1C/I,MAAAA,GAAG,EAAEiU,MAAO;AACZnT,MAAAA,KAAK,EAAE4S,cAAc,CAACO,MAAM,CAAC,CAACnT,KAAM;MACpCuB,OAAO,EAAE,SAAAA,OAAA,GAAA;QAAA,OAAMhI,OAAO,CAAC0a,IAAI,CAACZ,QAAQ,CAACF,MAAM,CAAC,CAAC,CAAA;AAAA,OAAA;KAE5CP,EAAAA,cAAc,CAACO,MAAM,CAAC,CAACnT,KAAK,EAAC,IAC9B,EAAC2T,KAAK,CAACR,MAAM,aAANA,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAANA,MAAM,CAAElL,iBAAiB,EAAE,CAAC,IAAI,CAAC,EAAC,GAC1B,CAAC,CAAA;AAAA,GACnB,CACS,CAAC,CAAA;AAEjB,CAAC;;;;AC/BD,IAAMiM,SAAS,GAAG,SAAZA,SAASA,CAAAvZ,IAAA,EAAmB;AAAA,EAAA,IAAb8W,MAAM,GAAA9W,IAAA,CAAN8W,MAAM,CAAA;AACzB,EAAA,IAAA0C,eAAA,GAA4BC,yBAAc,EAAE;IAAAC,qBAAA,GAAAF,eAAA,CAApC/W,UAAU;AAAVA,IAAAA,UAAU,GAAAiX,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA,CAAA;AACvB,EAAA,IAAA1X,SAAA,GAA0DC,cAAQ,CAAC,KAAK,CAAC;IAAAG,UAAA,GAAAC,cAAA,CAAAL,SAAA,EAAA,CAAA,CAAA;AAAlE8S,IAAAA,qBAAqB,GAAA1S,UAAA,CAAA,CAAA,CAAA;AAAE2S,IAAAA,wBAAwB,GAAA3S,UAAA,CAAA,CAAA,CAAA,CAAA;EAEtD,IAAMiV,SAAS,GAAGR,YAAY,CAAC;AAC7BC,IAAAA,MAAM,EAANA,MAAM;AACNrU,IAAAA,UAAU,EAAVA,UAAU;AACVqS,IAAAA,qBAAqB,EAArBA,qBAAqB;AACrBC,IAAAA,wBAAwB,EAAxBA,wBAAAA;AACF,GAAC,CAAC,CAAA;EAEF,oBACE7P,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKsB,IAAAA,SAAS,EAAC,wBAAA;AAAwB,GAAA,eACrCvB,yBAAA,CAAAC,aAAA,CAACwU,6BAAS,EAAA,IAAA,eACRzU,yBAAA,CAAAC,aAAA,CAACgF,MAAM,EAAAhJ,eAAA,CAAA;AAAOkW,IAAAA,SAAS,EAATA,SAAAA;GAAcP,EAAAA,MAAM,CAAK,CAAC,eACxC5R,yBAAA,CAAAC,aAAA,CAACyU,GAAI,EAAA;IAAC3C,aAAa,EAAEH,MAAM,CAACG,aAAAA;AAAc,GAAE,CAAC,eAC7C/R,yBAAA,CAAAC,aAAA,CAAC0U,qBAAM,EAAA,IAAA,EACJxC,SAAS,CAAC6B,GAAG,CAAC,UAAA1X,KAAA,EAAA;AAAA,IAAA,IAAGwV,IAAI,GAAAxV,KAAA,CAAJwV,IAAI;MAAED,SAAS,GAAAvV,KAAA,CAATuV,SAAS,CAAA;AAAA,IAAA,oBAC/B7R,yBAAA,CAAAC,aAAA,CAAC2U,oBAAK,EAAA;MAACC,KAAK,EAAA,IAAA;AAAOhD,MAAAA,SAAS,EAATA,SAAS;AAAEC,MAAAA,IAAI,EAAJA,IAAI;AAAIzS,MAAAA,GAAG,EAAEyS,IAAAA;AAAK,KAAE,CAAC,CAAA;AAAA,GACpD,CAAC,eACF9R,yBAAA,CAAAC,aAAA,CAAC6U,uBAAQ,EAAA;IACPD,KAAK,EAAA,IAAA;IACLE,IAAI,EAAEnD,MAAM,CAACG,aAAAA;AACb;AAAA;IACA1R,EAAE,EAAA,EAAA,CAAA9F,MAAA,CAAKqX,MAAM,CAACG,aAAa,CAAA,CAAAxX,MAAA,CAAGjB,MAAM,CAACG,OAAO,CAAA;GAC7C,CACK,CACC,CACR,CAAC,CAAA;AAEV;;ACrCA,IAAMe,KAAK,GAAG,SAARA,KAAKA,CAAGC,MAAM,EAAA;AAAA,EAAA,OAAIE,yBAAK,CAACC,GAAG,IAAAL,MAAA,CAAIF,QAAQ,EAAc,YAAA,CAAA,EAAA;AAAEI,IAAAA,MAAM,EAANA,MAAAA;AAAO,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAEtE,IAAMua,YAAY,GAAG;AAAExa,EAAAA,KAAK,EAALA,KAAAA;AAAM,CAAC;;;;ACD9B,IAAMya,iBAAiB,GAAG,SAApBA,iBAAiBA,GAAA;AAAA,EAAA,IAAIxa,MAAM,GAAA4O,SAAA,CAAApB,MAAA,GAAA,CAAA,IAAAoB,SAAA,CAAA,CAAA,CAAA,KAAAC,SAAA,GAAAD,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE,CAAA;AAAA,EAAA,IAAEtN,OAAO,GAAAsN,SAAA,CAAApB,MAAA,GAAA,CAAA,IAAAoB,SAAA,CAAA,CAAA,CAAA,KAAAC,SAAA,GAAAD,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE,CAAA;EAAA,OAClDrN,mBAAQ,CAAC,CAACZ,UAAU,CAACC,SAAS,EAAEZ,MAAM,CAAC,EAAE,YAAA;AAAA,IAAA,OAAMua,YAAY,CAACxa,KAAK,CAACC,MAAM,CAAC,CAAA;AAAA,GAAA,EAAAwB,eAAA,CAAA;IACvEC,MAAM,EAAE,SAAAA,MAAAA,CAAAC,QAAQ,EAAA;AAAA,MAAA,OAAIA,QAAQ,CAACpC,IAAI,IAAIoC,QAAQ,CAAA;AAAA,KAAA;AAC7CC,IAAAA,gBAAgB,EAAE,IAAI;IACtBC,SAAS,EAAE,SAAAA,SAAAA,CAAAvB,IAAA,EAAA;AAAA,MAAA,IAAAyO,iBAAA,CAAA;AAAA,MAAA,IAAG2L,SAAS,GAAApa,IAAA,CAAToa,SAAS,CAAA;AAAA,MAAA,OAAOza,MAAM,KAANA,IAAAA,IAAAA,MAAM,gBAAA8O,iBAAA,GAAN9O,MAAM,CAAE4B,SAAS,cAAAkN,iBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAjBA,iBAAA,CAAA9M,IAAA,CAAAhC,MAAM,EAAcya,SAAS,CAAC,CAAA;AAAA,KAAA;GACzDnZ,EAAAA,OAAO,CACX,CAAC,CAAA;AAAA,CAAA;;ACKJ,IAAM6P,MAAI,GAAG,SAAPA,IAAIA,CAAA9Q,IAAA,EAIJ;AAAA,EAAA,IAAAyH,iBAAA,CAAA;AAAA,EAAA,IAAA4S,kBAAA,GAAAra,IAAA,CAHJsa,aAAa;AAAbA,IAAAA,aAAa,GAAAD,kBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,kBAAA;IAClBE,oBAAoB,GAAAva,IAAA,CAApBua,oBAAoB;IACpBC,uBAAuB,GAAAxa,IAAA,CAAvBwa,uBAAuB,CAAA;AAEvB,EAAA,IAAAlU,eAAA,GAAcC,2BAAc,EAAE;IAAtBjD,CAAC,GAAAgD,eAAA,CAADhD,CAAC,CAAA;AAET,EAAA,IAAAwM,iBAAA,GAA0BC,uBAAgB,EAAE;IAApCE,aAAa,GAAAH,iBAAA,CAAbG,aAAa,CAAA;AACrB,EAAA,IAAMwK,QAAQ,GAAGpJ,YAAM,CAAC,IAAI,CAAC,CAAA;AAE7B,EAAA,IAAArP,SAAA,GAAoCC,cAAQ,CAAC,IAAI,CAAC;IAAAG,UAAA,GAAAC,cAAA,CAAAL,SAAA,EAAA,CAAA,CAAA;AAA3C0Y,IAAAA,UAAU,GAAAtY,UAAA,CAAA,CAAA,CAAA;AAAEuY,IAAAA,aAAa,GAAAvY,UAAA,CAAA,CAAA,CAAA,CAAA;AAChC,EAAA,IAAAkJ,UAAA,GAAoCrJ,cAAQ,CAAC,IAAI,CAAC;IAAAsJ,UAAA,GAAAlJ,cAAA,CAAAiJ,UAAA,EAAA,CAAA,CAAA;AAA3C8C,IAAAA,UAAU,GAAA7C,UAAA,CAAA,CAAA,CAAA;AAAEqP,IAAAA,aAAa,GAAArP,UAAA,CAAA,CAAA,CAAA,CAAA;AAEhC,EAAA,IAAM5L,MAAM,GAAG;AACb2a,IAAAA,aAAa,EAAbA,aAAa;AACbI,IAAAA,UAAU,EAAVA,UAAU;IACVG,mBAAmB,EAAA,CAAApT,iBAAA,GAAEE,wBAAW,CAACC,IAAI,MAAAH,IAAAA,IAAAA,iBAAA,KAAhBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,iBAAA,CAAkBxH,EAAAA;GACxC,CAAA;AAED,EAAA,IAAA6V,kBAAA,GAA0CxH,iBAAiB,EAAE;IAAAyH,qBAAA,GAAAD,kBAAA,CAArD7W,IAAI;AAAA+W,IAAAA,sBAAA,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAuB,EAAE,GAAAA,qBAAA;IAAAE,sBAAA,GAAAD,sBAAA,CAArBnX,SAAS;AAATA,IAAAA,SAAS,GAAAoX,sBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,sBAAA,CAAA;EAC9B,IAAA6E,iBAAA,GAAyCpM,gBAAgB,CAAC;AACxDzO,MAAAA,EAAE,EAAEmO,UAAU;AACdzO,MAAAA,MAAM,EAANA,MAAAA;AACF,KAAC,CAAC;IAAAob,qBAAA,GAAAD,iBAAA,CAHM7b,IAAI;AAAA+b,IAAAA,sBAAA,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAsB,EAAE,GAAAA,qBAAA;IAAAE,sBAAA,GAAAD,sBAAA,CAApB7I,QAAQ;AAARA,IAAAA,QAAQ,GAAA8I,sBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,sBAAA,CAAA;AAI7B,EAAA,IAAAC,kBAAA,GAA0Cf,iBAAiB,EAAE;IAAAgB,qBAAA,GAAAD,kBAAA,CAArDjc,IAAI;AAAAmc,IAAAA,sBAAA,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAuB,EAAE,GAAAA,qBAAA;IAAAE,sBAAA,GAAAD,sBAAA,CAArBhB,SAAS;AAATA,IAAAA,SAAS,GAAAiB,sBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,sBAAA,CAAA;EAE9B,IAAMC,eAAe,GAAGC,aAAO,CAC7B,YAAA;AAAA,IAAA,OACEnB,SAAS,CAAClB,GAAG,CAAC,UAAA9V,QAAQ,EAAA;MAAA,OAAK;QACzBiC,KAAK,EAAEjC,QAAQ,CAAC4L,IAAI;QACpB9G,KAAK,EAAE9E,QAAQ,CAACnD,EAAAA;OACjB,CAAA;AAAA,KAAC,CAAC,CAAA;GACL,EAAA,CAACma,SAAS,CACZ,CAAC,CAAA;AAED,EAAA,IAAMoB,eAAe,GAAG3c,SAAS,CAACqa,GAAG,CAAC,UAAA/G,QAAQ,EAAA;IAAA,OAAK;MACjD9M,KAAK,EAAE8M,QAAQ,CAACnD,IAAI;MACpB9G,KAAK,EAAEiK,QAAQ,CAAClS,EAAAA;KACjB,CAAA;AAAA,GAAC,CAAC,CAAA;AAEH,EAAA,IAAMwb,aAAa,GAAG,SAAhBA,aAAaA,GAAS;AAAA,IAAA,IAAAC,iBAAA,CAAA;IAC1B,IAAMvY,OAAO,GAAGgP,QAAQ,CAACwJ,aAAa,IAAIxJ,QAAQ,CAAChP,OAAO,CAAA;AAC1D8M,IAAAA,aAAa,CAAC,SAAS,EAAE9M,OAAO,CAAC,CAAA;AACjCsX,IAAAA,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAAAiB,KAAAA,CAAAA,IAAAA,CAAAA,iBAAA,GAARjB,QAAQ,CAAEmB,OAAO,MAAA,IAAA,IAAAF,iBAAA,KAAA,KAAA,CAAA,IAAA,CAAAA,iBAAA,GAAjBA,iBAAA,CAAmBG,MAAM,MAAAH,IAAAA,IAAAA,iBAAA,KAAAA,KAAAA,CAAAA,IAAAA,CAAAA,iBAAA,GAAzBA,iBAAA,CAA2BI,QAAQ,MAAA,IAAA,IAAAJ,iBAAA,KAAA,KAAA,CAAA,IAAnCA,iBAAA,CAAqCK,UAAU,CAAC5Y,OAAO,CAAC,CAAA;GACzD,CAAA;AAED,EAAA,IAAM6Y,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAGhH,gBAAgB,EAAI;AAC/C4F,IAAAA,aAAa,CAAC5F,gBAAgB,CAAC9M,KAAK,CAAC,CAAA;GACtC,CAAA;AAED,EAAA,IAAM+T,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAG7Y,QAAQ,EAAI;AACvCuX,IAAAA,aAAa,CAACvX,QAAQ,CAAC8E,KAAK,CAAC,CAAA;AAC7B+H,IAAAA,aAAa,CAAC,UAAU,EAAE7M,QAAQ,CAAC,CAAA;GACpC,CAAA;AAEDuG,EAAAA,eAAS,CAAC,YAAM;AACd,IAAA,IAAIvK,aAAO,CAAC+S,QAAQ,CAAC,EAAE,OAAA;IACvBqI,uBAAuB,CAACrI,QAAQ,CAAC,CAAA;AACjCsJ,IAAAA,aAAa,EAAE,CAAA;AACjB,GAAC,EAAE,CAACtJ,QAAQ,CAAC,CAAC,CAAA;EAEd,oBACEjN,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKsB,IAAAA,SAAS,EAAC,kBAAA;AAAkB,GAAA,eAC/BvB,yBAAA,CAAAC,aAAA,CAAC+W,cAAM,EAAA;AACL7W,IAAAA,KAAK,EAAE/B,CAAC,CAAC,gCAAgC,CAAE;AAC3CrC,IAAAA,OAAO,EAAEua,eAAgB;IACzB3Q,QAAQ,EAAE,SAAAA,QAAAA,CAAAmK,gBAAgB,EAAA;MAAA,OAAIgH,oBAAoB,CAAChH,gBAAgB,CAAC,CAAA;AAAA,KAAA;GACrE,CAAC,EACD,CAAAuF,oBAAoB,aAApBA,oBAAoB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAApBA,oBAAoB,CAAEpX,OAAO,kBAC5B+B,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAqH,QAAA,EAAA,IAAA,eACErH,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKsB,IAAAA,SAAS,EAAC,gBAAA;AAAgB,GAAA,eAC7BvB,yBAAA,CAAAC,aAAA,CAAC+W,cAAM,EAAA;IACL9X,QAAQ,EAAA,IAAA;AACRiB,IAAAA,KAAK,EAAE/B,CAAC,CAAC,uCAAuC,CAAE;AAClD0L,IAAAA,IAAI,EAAC,UAAU;AACf/N,IAAAA,OAAO,EAAEqa,eAAgB;AACzB1Q,IAAAA,WAAW,EAAEtH,CAAC,CAAC,4CAA4C,EAAE;AAC3DW,MAAAA,IAAI,EAAEX,CAAC,CAAC,gCAAgC,EAAEiO,kBAAQ,CAAA;AACpD,KAAC,CAAE;AACH1G,IAAAA,QAAQ,EAAEoR,oBAAAA;AAAqB,GAChC,CACE,CAAC,eACN/W,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKsB,IAAAA,SAAS,EAAC,WAAA;AAAW,GAAA,eACxBvB,yBAAA,CAAAC,aAAA,CAACsK,wBAAY,EAAA;IACXrL,QAAQ,EAAA,IAAA;AACRiB,IAAAA,KAAK,EAAE/B,CAAC,CAAC,sCAAsC,CAAE;AACjD0L,IAAAA,IAAI,EAAC,SAAS;AACdmN,IAAAA,GAAG,EAAE1B,QAAS;AACd/K,IAAAA,IAAI,EAAE,CAAE;AACR9E,IAAAA,WAAW,EAAEtH,CAAC,CAAC,2CAA2C,EAAE;MAC1DW,IAAI,EAAEX,CAAC,CAAC,sCAAsC,CAAA;KAC/C,CAAA;GACF,CACE,CACL,CAED,CAAC,CAAA;AAEV,CAAC;;ACrGD,IAAMwN,IAAI,GAAG,SAAPA,IAAIA,CAAA9Q,IAAA,EAMJ;AAAA,EAAA,IALJ2I,MAAM,GAAA3I,IAAA,CAAN2I,MAAM;IACNuK,aAAa,GAAAlT,IAAA,CAAbkT,aAAa;IACbjC,QAAQ,GAAAjR,IAAA,CAARiR,QAAQ;IACR/K,SAAS,GAAAlG,IAAA,CAATkG,SAAS;IAAAmU,kBAAA,GAAAra,IAAA,CACTsa,aAAa;AAAbA,IAAAA,aAAa,GAAAD,kBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,kBAAA,CAAA;AAElB,EAAA,IAAArY,SAAA,GAAwDC,cAAQ,CAAC,EAAE,CAAC;IAAAG,UAAA,GAAAC,cAAA,CAAAL,SAAA,EAAA,CAAA,CAAA;AAA7DuY,IAAAA,oBAAoB,GAAAnY,UAAA,CAAA,CAAA,CAAA;AAAEoY,IAAAA,uBAAuB,GAAApY,UAAA,CAAA,CAAA,CAAA,CAAA;AACpD,EAAA,IAAAkE,eAAA,GAAcC,2BAAc,EAAE;IAAtBjD,CAAC,GAAAgD,eAAA,CAADhD,CAAC,CAAA;AAET,EAAA,IAAMsF,OAAO,GAAG,SAAVA,OAAOA,GAAS;IACpBsK,aAAa,CAAC,KAAK,CAAC,CAAA;IACpBsH,uBAAuB,CAAC,EAAE,CAAC,CAAA;GAC5B,CAAA;AAED,EAAA,IAAMrU,YAAY,GAAG,SAAfA,YAAYA,CAAG6J,MAAM,EAAI;AAC7BiB,IAAAA,QAAQ,CACN;MAAE9N,OAAO,EAAE6M,MAAM,CAAC7M,OAAO;AAAEuX,MAAAA,UAAU,EAAE1K,MAAM,CAAC5M,QAAQ,CAAC8E,KAAAA;AAAM,KAAC,EAC9DqS,oBAAoB,EACpB3R,OACF,CAAC,CAAA;GACF,CAAA;AAED,EAAA,oBACE1D,yBAAA,CAAAC,aAAA,CAACqB,YAAI,EAAA;AAAOmC,IAAAA,MAAM,EAANA,MAAM;AAAEC,IAAAA,OAAO,EAAPA,OAAAA;AAAO,GAAA,eACzB1D,yBAAA,CAAAC,aAAA,CAACqB,YAAI,CAAC2D,MAAM,EAAA,IAAA,eACVjF,yBAAA,CAAAC,aAAA,CAACiF,kBAAU,EAAA;AAAC9E,IAAAA,KAAK,EAAC,IAAA;GACfhC,EAAAA,CAAC,CAAC,4BAA4B,EAAE;AAC/BW,IAAAA,IAAI,EAAEX,CAAC,CAAC,gCAAgC,EAAEiO,kBAAQ,CAAA;GACnD,CACS,CACD,CAAC,eACdrM,yBAAA,CAAAC,aAAA,CAACsM,aAAU,EAAA;AACTC,IAAAA,WAAW,EAAE;AACXT,MAAAA,QAAQ,EAAE9K,YAAY;AACtByL,MAAAA,aAAa,EAAE1O,oCAAoC;AACnD2O,MAAAA,gBAAgB,EAAElO,8BAAAA;AACpB,KAAA;AAAE,GAAA,EAED,UAAAnC,KAAA,EAAA;AAAA,IAAA,IAAG4a,KAAK,GAAA5a,KAAA,CAAL4a,KAAK,CAAA;IAAA,oBACPlX,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAqH,QAAA,qBACErH,yBAAA,CAAAC,aAAA,CAACqB,YAAI,CAAC6D,IAAI,EAAA,IAAA,eACRnF,yBAAA,CAAAC,aAAA,CAACkX,MAAmB,EAAA;AAEhB/B,MAAAA,aAAa,EAAbA,aAAa;AACbC,MAAAA,oBAAoB,EAApBA,oBAAoB;AACpBC,MAAAA,uBAAuB,EAAvBA,uBAAAA;KAEH,CACQ,CAAC,eACZtV,yBAAA,CAAAC,aAAA,CAACqB,YAAI,CAACP,MAAM,EAAA;AAACQ,MAAAA,SAAS,EAAC,cAAA;AAAc,KAAA,eACnCvB,yBAAA,CAAAC,aAAA,CAACC,cAAM,EAAA;MACLuF,QAAQ,EAAE,CAACyR,KAAM;AACjB/W,MAAAA,KAAK,EAAE/B,CAAC,CAAC,oCAAoC,CAAE;AAC/CoD,MAAAA,OAAO,EAAER,SAAU;AACnBS,MAAAA,IAAI,EAAC,QAAA;AAAQ,KACd,CAAC,eACFzB,yBAAA,CAAAC,aAAA,CAACC,cAAM,EAAA;AACLC,MAAAA,KAAK,EAAE/B,CAAC,CAAC,+BAA+B,CAAE;AAC1CgC,MAAAA,KAAK,EAAC,MAAM;AACZsB,MAAAA,OAAO,EAAEgC,OAAAA;KACV,CACU,CACb,CAAC,CAAA;AAAA,GAEK,CACR,CAAC,CAAA;AAEX;;AC9EA,IAAMgF,IAAI,GAAG,SAAPA,IAAIA,CAAG3N,EAAE,EAAA;AAAA,EAAA,OAAIJ,yBAAK,CAACC,GAAG,CAAA,EAAA,CAAAL,MAAA,CAAIF,QAAQ,EAAA,mBAAA,CAAA,CAAAE,MAAA,CAAoBQ,EAAE,CAAE,CAAC,CAAA;AAAA,CAAA,CAAA;AAEjE,IAAMqc,MAAM,GAAG,SAATA,MAAMA,CAAAtc,IAAA,EAAA;AAAA,EAAA,IAAMC,EAAE,GAAAD,IAAA,CAAFC,EAAE;IAAEkJ,IAAI,GAAAnJ,IAAA,CAAJmJ,IAAI,CAAA;EAAA,OACxBtJ,yBAAK,CAAC0c,KAAK,CAAA9c,EAAAA,CAAAA,MAAA,CAAIF,QAAQ,EAAAE,mBAAAA,CAAAA,CAAAA,MAAA,CAAoBQ,EAAE,EAAW,SAAA,CAAA,EAAA;AAAEkJ,IAAAA,IAAI,EAAJA,IAAAA;AAAK,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAEnE,IAAMqT,OAAO,GAAG,SAAVA,OAAOA,CAAAhb,KAAA,EAAA;AAAA,EAAA,IAAMvB,EAAE,GAAAuB,KAAA,CAAFvB,EAAE;IAAEkJ,IAAI,GAAA3H,KAAA,CAAJ2H,IAAI,CAAA;EAAA,OACzBtJ,yBAAK,CAAC0c,KAAK,CAAA9c,EAAAA,CAAAA,MAAA,CAAIF,QAAQ,EAAAE,mBAAAA,CAAAA,CAAAA,MAAA,CAAoBQ,EAAE,EAAY,UAAA,CAAA,EAAA;AAAEkJ,IAAAA,IAAI,EAAJA,IAAAA;AAAK,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAEpE,IAAMsT,iBAAiB,GAAG;AAAE7O,EAAAA,IAAI,EAAJA,IAAI;AAAE0O,EAAAA,MAAM,EAANA,MAAM;AAAEE,EAAAA,OAAO,EAAPA,OAAAA;AAAQ,CAAC;;;;ACLnD,IAAME,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAA1c,IAAA,EAAmBiB,OAAO,EAAA;AAAA,EAAA,IAApB0b,SAAS,GAAA3c,IAAA,CAAT2c,SAAS,CAAA;EAAA,OACxCzb,mBAAQ,CACN,CAACZ,UAAU,CAACK,mBAAmB,EAAEgc,SAAS,CAAC,EAC3C,YAAA;AAAA,IAAA,OAAMF,iBAAiB,CAAC7O,IAAI,CAAC+O,SAAS,CAAC,CAAA;AAAA,GAAA,EAAAxb,aAAA,CAAA,EAAA,EAClCF,OAAO,CACd,CAAC,CAAA;AAAA,CAAA,CAAA;AAEH,IAAM2b,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAAG3b,OAAO,EAAI;AACzC,EAAoB4b,yBAAc,GAAE;AAEpC,EAAA,OAAOhb,sCAA2B,CAAC4a,iBAAiB,CAACH,MAAM,EAAAnb,aAAA,CAAA;AACzDW,IAAAA,gBAAgB,EAAE,CAChBxB,UAAU,CAACK,mBAAmB,EAC9BL,UAAU,CAACG,QAAQ,EACnBH,UAAU,CAACM,KAAK,CAAA;GAEfK,EAAAA,OAAO,CACX,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,IAAM6b,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAG7b,OAAO,EAAI;AAC1C,EAAoB4b,yBAAc,GAAE;AAEpC,EAAA,OAAOhb,sCAA2B,CAAC4a,iBAAiB,CAACD,OAAO,EAAArb,aAAA,CAAA;AAC1DW,IAAAA,gBAAgB,EAAE,CAChBxB,UAAU,CAACK,mBAAmB,EAC9BL,UAAU,CAACG,QAAQ,EACnBH,UAAU,CAACM,KAAK,CAAA;GAEfK,EAAAA,OAAO,CACX,CAAC,CAAA;AACJ,CAAC;;ACjBD,IAAM8b,MAAM,GAAG,SAATA,MAAMA,GAAS;AAAA,EAAA,IAAA/R,EAAA,CAAA;AACnB,EAAA,IAAAhJ,SAAA,GAAwBC,cAAQ,CAAC,EAAE,CAAC;IAAAG,UAAA,GAAAC,cAAA,CAAAL,SAAA,EAAA,CAAA,CAAA;AAA7BmH,IAAAA,IAAI,GAAA/G,UAAA,CAAA,CAAA,CAAA;AAAEmH,IAAAA,OAAO,GAAAnH,UAAA,CAAA,CAAA,CAAA,CAAA;AAEpB,EAAA,IAAA4a,UAAA,GAAeC,wBAAS,EAAE;IAAlBhd,EAAE,GAAA+c,UAAA,CAAF/c,EAAE,CAAA;AACV,EAAA,IAAAqG,eAAA,GAAcC,2BAAc,EAAE;IAAtBjD,CAAC,GAAAgD,eAAA,CAADhD,CAAC,CAAA;EAET,IAAA4Z,qBAAA,GACER,qBAAqB,CACnB;AAAEC,MAAAA,SAAS,EAAE1c,EAAAA;AAAG,KAAC,EACjB;AACEsB,MAAAA,SAAS,EAAE,SAAAA,SAAAvB,CAAAA,IAAA,EAAmC;AAAA,QAAA,IAAbmJ,IAAI,GAAAnJ,IAAA,CAAvBmd,eAAe,CAAIhU,IAAI,CAAA;AACnCA,QAAAA,IAAI,IAAII,OAAO,CAACJ,IAAI,CAAC,CAAA;AACvB,OAAA;AACF,KACF,CAAC;IAAAiU,sBAAA,GAAAF,qBAAA,CARKje,IAAI;AAAAoe,IAAAA,sBAAA,GAAAD,sBAAA,KAAA,KAAA,CAAA,GAA6B,EAAE,GAAAA,sBAAA;IAAAE,sBAAA,GAAAD,sBAAA,CAA3BF,eAAe;AAAfA,IAAAA,eAAe,GAAAG,sBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,sBAAA;IAASpX,SAAS,GAAAgX,qBAAA,CAAThX,SAAS,CAAA;AAUtD,EAAA,IAAAqX,qBAAA,GACEX,uBAAuB,EAAE;IADXY,oBAAoB,GAAAD,qBAAA,CAA5B7T,MAAM;IAAmC+T,WAAW,GAAAF,qBAAA,CAAtBrX,SAAS,CAAA;AAE/C,EAAA,IAAAwX,qBAAA,GACEZ,wBAAwB,EAAE;IADZa,qBAAqB,GAAAD,qBAAA,CAA7BhU,MAAM;IAAoCkU,WAAW,GAAAF,qBAAA,CAAtBxX,SAAS,CAAA;AAGhD,EAAA,IAAM2X,YAAY,GAChBV,eAAe,CAAC1X,MAAM,KAAK5C,QAAQ,CAACC,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAA;AACrE,EAAA,IAAMgb,YAAY,GAChBX,eAAe,CAAC1X,MAAM,KAAK5C,QAAQ,CAAClE,OAAO,IAAIS,aAAO,CAAC+J,IAAI,CAAC,CAAA;AAE9D,EAAA,IAAIjD,SAAS,EAAE;IACb,oBACEhB,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKsB,MAAAA,SAAS,EAAC,sCAAA;AAAsC,KAAA,eACnDvB,yBAAA,CAAAC,aAAA,CAACsR,8BAAU,EAAA,IAAE,CACV,CAAC,CAAA;AAEV,GAAA;EAEA,oBACEvR,yBAAA,CAAAC,aAAA,CAACwU,6BAAS,qBACRzU,yBAAA,CAAAC,aAAA,CAACgF,+BAAM,EAAA;AAACzF,IAAAA,KAAK,EAAEpB,CAAC,CAAC,gCAAgC,EAAE6E,gBAAM,CAAA;AAAE,GAAE,CAAC,eAC9DjD,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKsB,IAAAA,SAAS,EAAC,4CAAA;GACbvB,eAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKsB,IAAAA,SAAS,EAAC,4CAAA;AAA4C,GAAA,EACxD0W,eAAe,gBACdjY,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKsB,IAAAA,SAAS,EAAC,gCAAA;AAAgC,GAAA,eAC7CvB,yBAAA,CAAAC,aAAA,CAACiF,kBAAU,EAAA;AAAC9E,IAAAA,KAAK,EAAC,IAAA;GAAM6X,EAAAA,eAAe,CAACzY,KAAkB,CAAC,eAC3DQ,yBAAA,CAAAC,aAAA,CAACoD,yBAAa,EAAA;IAACrE,OAAO,EAAEiZ,eAAe,CAACha,OAAAA;GAAU,CAAC,EAClD,CAAC2a,YAAY,iBACZ5Y,yBAAA,CAAAC,aAAA,CAACuF,gBAAQ,EAAA;AACPrF,IAAAA,KAAK,EAAE/B,CAAC,CAAC,4BAA4B,CAAE;AACvCsH,IAAAA,WAAW,EAAEtH,CAAC,CAAC,yCAAyC,EAAE;AACxDW,MAAAA,IAAI,EAAA+G,CAAAA,EAAA,GAAE1H,CAAC,CAAC,4BAA4B,CAAC,MAAA,IAAA,IAAA0H,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAA/BA,EAAA,CAAiCsC,iBAAiB,EAAC;AAC3D,KAAC,CAAE;AACHpF,IAAAA,KAAK,EAAEiB,IAAK;AACZwB,IAAAA,QAAQ,EAAEwS,eAAe,CAAC1X,MAAM,KAAK5C,QAAQ,CAAClE,OAAQ;IACtDkM,QAAQ,EAAEC,0BAAoB,CAACvB,OAAO,CAAA;AAAE,GACzC,CACF,EACA4T,eAAe,CAAC1X,MAAM,KAAK5C,QAAQ,CAAClE,OAAO,gBAC1CuG,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKsB,IAAAA,SAAS,EAAC,6BAAA;AAA6B,GAAA,eAC1CvB,yBAAA,CAAAC,aAAA,CAACC,cAAM,EAAA;AACLC,IAAAA,KAAK,EAAE/B,CAAC,CAAC,gCAAgC,CAAE;IAC3CsD,OAAO,EAAE,SAAAA,OAAA,GAAA;AAAA,MAAA,OACP4W,oBAAoB,CAAC;QACnBvd,EAAE,EAAEkd,eAAe,CAACld,EAAE;AACtBkJ,QAAAA,IAAI,EAAJA,IAAAA;AACF,OAAC,CAAC,CAAA;KACH;AACDzC,IAAAA,OAAO,EAAE+W,WAAAA;AAAY,GACtB,CAAC,eACFvY,yBAAA,CAAAC,aAAA,CAACC,cAAM,EAAA;AACLC,IAAAA,KAAK,EAAE/B,CAAC,CAAC,gCAAgC,CAAE;IAC3CsD,OAAO,EAAE,SAAAA,OAAA,GAAA;AAAA,MAAA,OACP+W,qBAAqB,CAAC;QACpB1d,EAAE,EAAEkd,eAAe,CAACld,EAAE;AACtBkJ,QAAAA,IAAI,EAAJA,IAAAA;AACF,OAAC,CAAC,CAAA;KACH;AACD7D,IAAAA,KAAK,EAAC,WAAW;AACjBoB,IAAAA,OAAO,EAAEkX,WAAAA;AAAY,GACtB,CACE,CAAC,gBAEN1Y,yBAAA,CAAAC,aAAA,CAAC4Y,eAAO,EAAA;AAACzY,IAAAA,KAAK,EAAEuY,YAAAA;AAAa,GAAA,eAC3B3Y,yBAAA,CAAAC,aAAA,CAACiF,kBAAU,EAAA;AAAC9E,IAAAA,KAAK,EAAC,OAAA;AAAO,GAAA,eACvBJ,yBAAA,CAAAC,aAAA,CAAC0N,kBAAK,EAAA;AACJC,IAAAA,OAAO,EAAC,2CAA2C;AACnD9C,IAAAA,MAAM,EAAE;MACNvK,MAAM,EAAE0X,eAAe,CAAC1X,MAAAA;AAC1B,KAAA;GACD,CACS,CACL,CAER,CAAC,gBAENP,yBAAA,CAAAC,aAAA,CAACiF,kBAAU,EAAA;AAAC9E,IAAAA,KAAK,EAAC,IAAI;AAACmB,IAAAA,SAAS,EAAC,aAAA;AAAa,GAAA,EAC3CnD,CAAC,CAAC,gCAAgC,CACzB,CAEX,CACF,CACI,CAAC,CAAA;AAEhB;;ACxHA,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;;;;;;;;;;"}
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/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../app/javascript/src/common/routes.js","../app/javascript/src/common/utils.js","../node_modules/@tanstack/query-core/build/modern/subscribable.js","../node_modules/@tanstack/query-core/build/modern/utils.js","../node_modules/@tanstack/query-core/build/modern/focusManager.js","../node_modules/@tanstack/query-core/build/modern/onlineManager.js","../node_modules/@tanstack/query-core/build/modern/retryer.js","../node_modules/@tanstack/query-core/build/modern/notifyManager.js","../node_modules/@tanstack/query-core/build/modern/query.js","../node_modules/@tanstack/query-core/build/modern/queryObserver.js","../node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js","../node_modules/@tanstack/react-query/build/modern/isRestoring.js","../node_modules/@tanstack/react-query/build/modern/QueryErrorResetBoundary.js","../node_modules/@tanstack/react-query/build/modern/utils.js","../node_modules/@tanstack/react-query/build/modern/errorBoundaryUtils.js","../node_modules/@tanstack/react-query/build/modern/suspense.js","../node_modules/@tanstack/react-query/build/modern/useBaseQuery.js","../node_modules/@tanstack/react-query/build/modern/useQuery.js","../app/javascript/src/common/constants.js","../app/javascript/src/apis/requests.js","../app/javascript/src/common/queryConstants.js","../app/javascript/src/hooks/reactQuery/requests/useRequestsApi.js","../app/javascript/src/hooks/usePaginate.js","../app/javascript/src/components/Approvals/constants.js","../app/javascript/src/components/Approvals/History/constants.jsx","../app/javascript/src/components/Approvals/RequestDetailsPane/Footer.jsx","../app/javascript/src/components/Approvals/utils.js","../app/javascript/src/components/Approvals/RequestDetailsPane/index.jsx","../app/javascript/src/components/Approvals/History/index.jsx","../app/javascript/src/components/Approvals/PendingRequests/constants.js","../app/javascript/src/components/Approvals/PendingRequests/index.jsx","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../app/javascript/src/apis/templates.js","../app/javascript/src/hooks/reactQuery/templates/useTemplatesApi.js","../app/javascript/src/components/Approvals/Templates/constants.js","../app/javascript/src/components/Approvals/Templates/MessageEditor.jsx","../app/javascript/src/components/Approvals/Templates/TemplateForm.jsx","../app/javascript/src/components/Approvals/Templates/Form.jsx","../app/javascript/src/components/Approvals/Templates/Create.jsx","../app/javascript/src/components/Approvals/Templates/Edit.jsx","../app/javascript/src/components/Approvals/Templates/Show/Field.jsx","../app/javascript/src/components/Approvals/Templates/Show/index.jsx","../app/javascript/src/utils.jsx","../app/javascript/src/components/Approvals/Templates/Table.jsx","../app/javascript/src/components/Approvals/Templates/utils/columnData.jsx","../app/javascript/src/components/Approvals/Templates/index.jsx","../app/javascript/src/components/Approvals/createRoutes.jsx","../app/javascript/src/components/Approvals/Header.jsx","../app/javascript/src/apis/views.js","../app/javascript/src/hooks/reactQuery/views/useViewsApi.js","../app/javascript/src/components/Approvals/Tab.jsx","../app/javascript/src/components/Approvals/index.jsx","../app/javascript/src/apis/approvers.js","../app/javascript/src/hooks/reactQuery/approvers/useApproversApi.js","../app/javascript/src/components/Approvals/ApprovalRequestForm.jsx","../app/javascript/src/components/Approvals/CreateRequestForm.jsx","../app/javascript/src/apis/public/requests.js","../app/javascript/src/hooks/reactQuery/public/requests/useApprovalRequest.js","../app/javascript/src/components/Approvals/Public/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 _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 _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import 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 const routes = {\n home: \"/\",\n approvals: \"/approvals/\",\n pending: \"pending\",\n history: \"history\",\n templates: {\n index: \"templates\",\n new: \"templates/new\",\n edit: \"templates/:id/edit\",\n },\n public: \"approvals/public/request/:id\",\n};\n","import { isEmpty } from \"ramda\";\n\nexport const hasPermission = (permissions = \"\") => {\n const type = typeof permissions;\n const userPermissions = window.globalProps?.permissions ?? [];\n\n if (Object.is(type, \"string\")) {\n return userPermissions.includes(permissions);\n } else if (Array.isArray(permissions)) {\n return permissions.some(permission => userPermissions.includes(permission));\n }\n\n return false;\n};\n\nexport const isOverflown = ({\n clientWidth,\n clientHeight,\n scrollWidth,\n scrollHeight,\n}) => scrollHeight > clientHeight || scrollWidth > clientWidth;\n\nexport const getScrollBarWidth = () => {\n const innerElement = document.createElement(\"p\");\n innerElement.classList.add(\"neeto-approvals-scrollbar__inner\");\n\n const outerElement = document.createElement(\"div\");\n outerElement.classList.add(\"neeto-approvals-scrollbar__outer\");\n\n outerElement.appendChild(innerElement);\n document.body.appendChild(outerElement);\n\n const w1 = innerElement.offsetWidth;\n outerElement.style.overflow = \"scroll\";\n let w2 = innerElement.offsetWidth;\n if (w1 === w2) w2 = outerElement.clientWidth;\n\n document.body.removeChild(outerElement);\n\n return w1 - w2;\n};\n\nexport const handleEmptyPage = (data, pageProperties, handlePageChange) => {\n if (isEmpty(data) && pageProperties.page !== 1) {\n handlePageChange(pageProperties.page - 1, pageProperties.pageSize);\n }\n};\n","// src/subscribable.ts\nvar Subscribable = class {\n constructor() {\n this.listeners = /* @__PURE__ */ new Set();\n this.subscribe = this.subscribe.bind(this);\n }\n subscribe(listener) {\n this.listeners.add(listener);\n this.onSubscribe();\n return () => {\n this.listeners.delete(listener);\n this.onUnsubscribe();\n };\n }\n hasListeners() {\n return this.listeners.size > 0;\n }\n onSubscribe() {\n }\n onUnsubscribe() {\n }\n};\nexport {\n Subscribable\n};\n//# sourceMappingURL=subscribable.js.map","// src/utils.ts\nvar isServer = typeof window === \"undefined\" || \"Deno\" in globalThis;\nfunction noop() {\n return void 0;\n}\nfunction functionalUpdate(updater, input) {\n return typeof updater === \"function\" ? updater(input) : updater;\n}\nfunction isValidTimeout(value) {\n return typeof value === \"number\" && value >= 0 && value !== Infinity;\n}\nfunction timeUntilStale(updatedAt, staleTime) {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0);\n}\nfunction matchQuery(filters, query) {\n const {\n type = \"all\",\n exact,\n fetchStatus,\n predicate,\n queryKey,\n stale\n } = filters;\n if (queryKey) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false;\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false;\n }\n }\n if (type !== \"all\") {\n const isActive = query.isActive();\n if (type === \"active\" && !isActive) {\n return false;\n }\n if (type === \"inactive\" && isActive) {\n return false;\n }\n }\n if (typeof stale === \"boolean\" && query.isStale() !== stale) {\n return false;\n }\n if (fetchStatus && fetchStatus !== query.state.fetchStatus) {\n return false;\n }\n if (predicate && !predicate(query)) {\n return false;\n }\n return true;\n}\nfunction matchMutation(filters, mutation) {\n const { exact, status, predicate, mutationKey } = filters;\n if (mutationKey) {\n if (!mutation.options.mutationKey) {\n return false;\n }\n if (exact) {\n if (hashKey(mutation.options.mutationKey) !== hashKey(mutationKey)) {\n return false;\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false;\n }\n }\n if (status && mutation.state.status !== status) {\n return false;\n }\n if (predicate && !predicate(mutation)) {\n return false;\n }\n return true;\n}\nfunction hashQueryKeyByOptions(queryKey, options) {\n const hashFn = options?.queryKeyHashFn || hashKey;\n return hashFn(queryKey);\n}\nfunction hashKey(queryKey) {\n return JSON.stringify(\n queryKey,\n (_, val) => isPlainObject(val) ? Object.keys(val).sort().reduce((result, key) => {\n result[key] = val[key];\n return result;\n }, {}) : val\n );\n}\nfunction partialMatchKey(a, b) {\n if (a === b) {\n return true;\n }\n if (typeof a !== typeof b) {\n return false;\n }\n if (a && b && typeof a === \"object\" && typeof b === \"object\") {\n return !Object.keys(b).some((key) => !partialMatchKey(a[key], b[key]));\n }\n return false;\n}\nfunction replaceEqualDeep(a, b) {\n if (a === b) {\n return a;\n }\n const array = isPlainArray(a) && isPlainArray(b);\n if (array || isPlainObject(a) && isPlainObject(b)) {\n const aItems = array ? a : Object.keys(a);\n const aSize = aItems.length;\n const bItems = array ? b : Object.keys(b);\n const bSize = bItems.length;\n const copy = array ? [] : {};\n let equalItems = 0;\n for (let i = 0; i < bSize; i++) {\n const key = array ? i : bItems[i];\n if ((!array && aItems.includes(key) || array) && a[key] === void 0 && b[key] === void 0) {\n copy[key] = void 0;\n equalItems++;\n } else {\n copy[key] = replaceEqualDeep(a[key], b[key]);\n if (copy[key] === a[key] && a[key] !== void 0) {\n equalItems++;\n }\n }\n }\n return aSize === bSize && equalItems === aSize ? a : copy;\n }\n return b;\n}\nfunction shallowEqualObjects(a, b) {\n if (!b || Object.keys(a).length !== Object.keys(b).length) {\n return false;\n }\n for (const key in a) {\n if (a[key] !== b[key]) {\n return false;\n }\n }\n return true;\n}\nfunction isPlainArray(value) {\n return Array.isArray(value) && value.length === Object.keys(value).length;\n}\nfunction isPlainObject(o) {\n if (!hasObjectPrototype(o)) {\n return false;\n }\n const ctor = o.constructor;\n if (ctor === void 0) {\n return true;\n }\n const prot = ctor.prototype;\n if (!hasObjectPrototype(prot)) {\n return false;\n }\n if (!prot.hasOwnProperty(\"isPrototypeOf\")) {\n return false;\n }\n if (Object.getPrototypeOf(o) !== Object.prototype) {\n return false;\n }\n return true;\n}\nfunction hasObjectPrototype(o) {\n return Object.prototype.toString.call(o) === \"[object Object]\";\n}\nfunction sleep(ms) {\n return new Promise((resolve) => {\n setTimeout(resolve, ms);\n });\n}\nfunction replaceData(prevData, data, options) {\n if (typeof options.structuralSharing === \"function\") {\n return options.structuralSharing(prevData, data);\n } else if (options.structuralSharing !== false) {\n return replaceEqualDeep(prevData, data);\n }\n return data;\n}\nfunction keepPreviousData(previousData) {\n return previousData;\n}\nfunction addToEnd(items, item, max = 0) {\n const newItems = [...items, item];\n return max && newItems.length > max ? newItems.slice(1) : newItems;\n}\nfunction addToStart(items, item, max = 0) {\n const newItems = [item, ...items];\n return max && newItems.length > max ? newItems.slice(0, -1) : newItems;\n}\nvar skipToken = Symbol();\nvar ensureQueryFn = (options, fetchOptions) => {\n if (process.env.NODE_ENV !== \"production\") {\n if (options.queryFn === skipToken) {\n console.error(\n `Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${options.queryHash}'`\n );\n }\n }\n if (!options.queryFn && fetchOptions?.initialPromise) {\n return () => fetchOptions.initialPromise;\n }\n if (!options.queryFn || options.queryFn === skipToken) {\n return () => Promise.reject(new Error(`Missing queryFn: '${options.queryHash}'`));\n }\n return options.queryFn;\n};\nexport {\n addToEnd,\n addToStart,\n ensureQueryFn,\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n isPlainArray,\n isPlainObject,\n isServer,\n isValidTimeout,\n keepPreviousData,\n matchMutation,\n matchQuery,\n noop,\n partialMatchKey,\n replaceData,\n replaceEqualDeep,\n shallowEqualObjects,\n skipToken,\n sleep,\n timeUntilStale\n};\n//# sourceMappingURL=utils.js.map","// src/focusManager.ts\nimport { Subscribable } from \"./subscribable.js\";\nimport { isServer } from \"./utils.js\";\nvar FocusManager = class extends Subscribable {\n #focused;\n #cleanup;\n #setup;\n constructor() {\n super();\n this.#setup = (onFocus) => {\n if (!isServer && window.addEventListener) {\n const listener = () => onFocus();\n window.addEventListener(\"visibilitychange\", listener, false);\n return () => {\n window.removeEventListener(\"visibilitychange\", listener);\n };\n }\n return;\n };\n }\n onSubscribe() {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.();\n this.#cleanup = void 0;\n }\n }\n setEventListener(setup) {\n this.#setup = setup;\n this.#cleanup?.();\n this.#cleanup = setup((focused) => {\n if (typeof focused === \"boolean\") {\n this.setFocused(focused);\n } else {\n this.onFocus();\n }\n });\n }\n setFocused(focused) {\n const changed = this.#focused !== focused;\n if (changed) {\n this.#focused = focused;\n this.onFocus();\n }\n }\n onFocus() {\n const isFocused = this.isFocused();\n this.listeners.forEach((listener) => {\n listener(isFocused);\n });\n }\n isFocused() {\n if (typeof this.#focused === \"boolean\") {\n return this.#focused;\n }\n return globalThis.document?.visibilityState !== \"hidden\";\n }\n};\nvar focusManager = new FocusManager();\nexport {\n FocusManager,\n focusManager\n};\n//# sourceMappingURL=focusManager.js.map","// src/onlineManager.ts\nimport { Subscribable } from \"./subscribable.js\";\nimport { isServer } from \"./utils.js\";\nvar OnlineManager = class extends Subscribable {\n #online = true;\n #cleanup;\n #setup;\n constructor() {\n super();\n this.#setup = (onOnline) => {\n if (!isServer && window.addEventListener) {\n const onlineListener = () => onOnline(true);\n const offlineListener = () => onOnline(false);\n window.addEventListener(\"online\", onlineListener, false);\n window.addEventListener(\"offline\", offlineListener, false);\n return () => {\n window.removeEventListener(\"online\", onlineListener);\n window.removeEventListener(\"offline\", offlineListener);\n };\n }\n return;\n };\n }\n onSubscribe() {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.();\n this.#cleanup = void 0;\n }\n }\n setEventListener(setup) {\n this.#setup = setup;\n this.#cleanup?.();\n this.#cleanup = setup(this.setOnline.bind(this));\n }\n setOnline(online) {\n const changed = this.#online !== online;\n if (changed) {\n this.#online = online;\n this.listeners.forEach((listener) => {\n listener(online);\n });\n }\n }\n isOnline() {\n return this.#online;\n }\n};\nvar onlineManager = new OnlineManager();\nexport {\n OnlineManager,\n onlineManager\n};\n//# sourceMappingURL=onlineManager.js.map","// src/retryer.ts\nimport { focusManager } from \"./focusManager.js\";\nimport { onlineManager } from \"./onlineManager.js\";\nimport { isServer, sleep } from \"./utils.js\";\nfunction defaultRetryDelay(failureCount) {\n return Math.min(1e3 * 2 ** failureCount, 3e4);\n}\nfunction canFetch(networkMode) {\n return (networkMode ?? \"online\") === \"online\" ? onlineManager.isOnline() : true;\n}\nvar CancelledError = class {\n constructor(options) {\n this.revert = options?.revert;\n this.silent = options?.silent;\n }\n};\nfunction isCancelledError(value) {\n return value instanceof CancelledError;\n}\nfunction createRetryer(config) {\n let isRetryCancelled = false;\n let failureCount = 0;\n let isResolved = false;\n let continueFn;\n let promiseResolve;\n let promiseReject;\n const promise = new Promise((outerResolve, outerReject) => {\n promiseResolve = outerResolve;\n promiseReject = outerReject;\n });\n const cancel = (cancelOptions) => {\n if (!isResolved) {\n reject(new CancelledError(cancelOptions));\n config.abort?.();\n }\n };\n const cancelRetry = () => {\n isRetryCancelled = true;\n };\n const continueRetry = () => {\n isRetryCancelled = false;\n };\n const canContinue = () => focusManager.isFocused() && (config.networkMode === \"always\" || onlineManager.isOnline()) && config.canRun();\n const canStart = () => canFetch(config.networkMode) && config.canRun();\n const resolve = (value) => {\n if (!isResolved) {\n isResolved = true;\n config.onSuccess?.(value);\n continueFn?.();\n promiseResolve(value);\n }\n };\n const reject = (value) => {\n if (!isResolved) {\n isResolved = true;\n config.onError?.(value);\n continueFn?.();\n promiseReject(value);\n }\n };\n const pause = () => {\n return new Promise((continueResolve) => {\n continueFn = (value) => {\n if (isResolved || canContinue()) {\n continueResolve(value);\n }\n };\n config.onPause?.();\n }).then(() => {\n continueFn = void 0;\n if (!isResolved) {\n config.onContinue?.();\n }\n });\n };\n const run = () => {\n if (isResolved) {\n return;\n }\n let promiseOrValue;\n const initialPromise = failureCount === 0 ? config.initialPromise : void 0;\n try {\n promiseOrValue = initialPromise ?? config.fn();\n } catch (error) {\n promiseOrValue = Promise.reject(error);\n }\n Promise.resolve(promiseOrValue).then(resolve).catch((error) => {\n if (isResolved) {\n return;\n }\n const retry = config.retry ?? (isServer ? 0 : 3);\n const retryDelay = config.retryDelay ?? defaultRetryDelay;\n const delay = typeof retryDelay === \"function\" ? retryDelay(failureCount, error) : retryDelay;\n const shouldRetry = retry === true || typeof retry === \"number\" && failureCount < retry || typeof retry === \"function\" && retry(failureCount, error);\n if (isRetryCancelled || !shouldRetry) {\n reject(error);\n return;\n }\n failureCount++;\n config.onFail?.(failureCount, error);\n sleep(delay).then(() => {\n return canContinue() ? void 0 : pause();\n }).then(() => {\n if (isRetryCancelled) {\n reject(error);\n } else {\n run();\n }\n });\n });\n };\n return {\n promise,\n cancel,\n continue: () => {\n continueFn?.();\n return promise;\n },\n cancelRetry,\n continueRetry,\n canStart,\n start: () => {\n if (canStart()) {\n run();\n } else {\n pause().then(run);\n }\n return promise;\n }\n };\n}\nexport {\n CancelledError,\n canFetch,\n createRetryer,\n isCancelledError\n};\n//# sourceMappingURL=retryer.js.map","// src/notifyManager.ts\nfunction createNotifyManager() {\n let queue = [];\n let transactions = 0;\n let notifyFn = (callback) => {\n callback();\n };\n let batchNotifyFn = (callback) => {\n callback();\n };\n let scheduleFn = (cb) => setTimeout(cb, 0);\n const setScheduler = (fn) => {\n scheduleFn = fn;\n };\n const batch = (callback) => {\n let result;\n transactions++;\n try {\n result = callback();\n } finally {\n transactions--;\n if (!transactions) {\n flush();\n }\n }\n return result;\n };\n const schedule = (callback) => {\n if (transactions) {\n queue.push(callback);\n } else {\n scheduleFn(() => {\n notifyFn(callback);\n });\n }\n };\n const batchCalls = (callback) => {\n return (...args) => {\n schedule(() => {\n callback(...args);\n });\n };\n };\n const flush = () => {\n const originalQueue = queue;\n queue = [];\n if (originalQueue.length) {\n scheduleFn(() => {\n batchNotifyFn(() => {\n originalQueue.forEach((callback) => {\n notifyFn(callback);\n });\n });\n });\n }\n };\n const setNotifyFunction = (fn) => {\n notifyFn = fn;\n };\n const setBatchNotifyFunction = (fn) => {\n batchNotifyFn = fn;\n };\n return {\n batch,\n batchCalls,\n schedule,\n setNotifyFunction,\n setBatchNotifyFunction,\n setScheduler\n };\n}\nvar notifyManager = createNotifyManager();\nexport {\n createNotifyManager,\n notifyManager\n};\n//# sourceMappingURL=notifyManager.js.map","// src/query.ts\nimport { ensureQueryFn, noop, replaceData, timeUntilStale } from \"./utils.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { canFetch, createRetryer, isCancelledError } from \"./retryer.js\";\nimport { Removable } from \"./removable.js\";\nvar Query = class extends Removable {\n #initialState;\n #revertState;\n #cache;\n #retryer;\n #defaultOptions;\n #abortSignalConsumed;\n constructor(config) {\n super();\n this.#abortSignalConsumed = false;\n this.#defaultOptions = config.defaultOptions;\n this.setOptions(config.options);\n this.observers = [];\n this.#cache = config.cache;\n this.queryKey = config.queryKey;\n this.queryHash = config.queryHash;\n this.#initialState = config.state || getDefaultState(this.options);\n this.state = this.#initialState;\n this.scheduleGc();\n }\n get meta() {\n return this.options.meta;\n }\n get promise() {\n return this.#retryer?.promise;\n }\n setOptions(options) {\n this.options = { ...this.#defaultOptions, ...options };\n this.updateGcTime(this.options.gcTime);\n }\n optionalRemove() {\n if (!this.observers.length && this.state.fetchStatus === \"idle\") {\n this.#cache.remove(this);\n }\n }\n setData(newData, options) {\n const data = replaceData(this.state.data, newData, this.options);\n this.#dispatch({\n data,\n type: \"success\",\n dataUpdatedAt: options?.updatedAt,\n manual: options?.manual\n });\n return data;\n }\n setState(state, setStateOptions) {\n this.#dispatch({ type: \"setState\", state, setStateOptions });\n }\n cancel(options) {\n const promise = this.#retryer?.promise;\n this.#retryer?.cancel(options);\n return promise ? promise.then(noop).catch(noop) : Promise.resolve();\n }\n destroy() {\n super.destroy();\n this.cancel({ silent: true });\n }\n reset() {\n this.destroy();\n this.setState(this.#initialState);\n }\n isActive() {\n return this.observers.some((observer) => observer.options.enabled !== false);\n }\n isDisabled() {\n return this.getObserversCount() > 0 && !this.isActive();\n }\n isStale() {\n if (this.state.isInvalidated) {\n return true;\n }\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) => observer.getCurrentResult().isStale\n );\n }\n return this.state.data === void 0;\n }\n isStaleByTime(staleTime = 0) {\n return this.state.isInvalidated || this.state.data === void 0 || !timeUntilStale(this.state.dataUpdatedAt, staleTime);\n }\n onFocus() {\n const observer = this.observers.find((x) => x.shouldFetchOnWindowFocus());\n observer?.refetch({ cancelRefetch: false });\n this.#retryer?.continue();\n }\n onOnline() {\n const observer = this.observers.find((x) => x.shouldFetchOnReconnect());\n observer?.refetch({ cancelRefetch: false });\n this.#retryer?.continue();\n }\n addObserver(observer) {\n if (!this.observers.includes(observer)) {\n this.observers.push(observer);\n this.clearGcTimeout();\n this.#cache.notify({ type: \"observerAdded\", query: this, observer });\n }\n }\n removeObserver(observer) {\n if (this.observers.includes(observer)) {\n this.observers = this.observers.filter((x) => x !== observer);\n if (!this.observers.length) {\n if (this.#retryer) {\n if (this.#abortSignalConsumed) {\n this.#retryer.cancel({ revert: true });\n } else {\n this.#retryer.cancelRetry();\n }\n }\n this.scheduleGc();\n }\n this.#cache.notify({ type: \"observerRemoved\", query: this, observer });\n }\n }\n getObserversCount() {\n return this.observers.length;\n }\n invalidate() {\n if (!this.state.isInvalidated) {\n this.#dispatch({ type: \"invalidate\" });\n }\n }\n fetch(options, fetchOptions) {\n if (this.state.fetchStatus !== \"idle\") {\n if (this.state.data !== void 0 && fetchOptions?.cancelRefetch) {\n this.cancel({ silent: true });\n } else if (this.#retryer) {\n this.#retryer.continueRetry();\n return this.#retryer.promise;\n }\n }\n if (options) {\n this.setOptions(options);\n }\n if (!this.options.queryFn) {\n const observer = this.observers.find((x) => x.options.queryFn);\n if (observer) {\n this.setOptions(observer.options);\n }\n }\n if (process.env.NODE_ENV !== \"production\") {\n if (!Array.isArray(this.options.queryKey)) {\n console.error(\n `As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']`\n );\n }\n }\n const abortController = new AbortController();\n const addSignalProperty = (object) => {\n Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n this.#abortSignalConsumed = true;\n return abortController.signal;\n }\n });\n };\n const fetchFn = () => {\n const queryFn = ensureQueryFn(this.options, fetchOptions);\n const queryFnContext = {\n queryKey: this.queryKey,\n meta: this.meta\n };\n addSignalProperty(queryFnContext);\n this.#abortSignalConsumed = false;\n if (this.options.persister) {\n return this.options.persister(\n queryFn,\n queryFnContext,\n this\n );\n }\n return queryFn(queryFnContext);\n };\n const context = {\n fetchOptions,\n options: this.options,\n queryKey: this.queryKey,\n state: this.state,\n fetchFn\n };\n addSignalProperty(context);\n this.options.behavior?.onFetch(\n context,\n this\n );\n this.#revertState = this.state;\n if (this.state.fetchStatus === \"idle\" || this.state.fetchMeta !== context.fetchOptions?.meta) {\n this.#dispatch({ type: \"fetch\", meta: context.fetchOptions?.meta });\n }\n const onError = (error) => {\n if (!(isCancelledError(error) && error.silent)) {\n this.#dispatch({\n type: \"error\",\n error\n });\n }\n if (!isCancelledError(error)) {\n this.#cache.config.onError?.(\n error,\n this\n );\n this.#cache.config.onSettled?.(\n this.state.data,\n error,\n this\n );\n }\n if (!this.isFetchingOptimistic) {\n this.scheduleGc();\n }\n this.isFetchingOptimistic = false;\n };\n this.#retryer = createRetryer({\n initialPromise: fetchOptions?.initialPromise,\n fn: context.fetchFn,\n abort: abortController.abort.bind(abortController),\n onSuccess: (data) => {\n if (data === void 0) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(\n `Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`\n );\n }\n onError(new Error(`${this.queryHash} data is undefined`));\n return;\n }\n this.setData(data);\n this.#cache.config.onSuccess?.(data, this);\n this.#cache.config.onSettled?.(\n data,\n this.state.error,\n this\n );\n if (!this.isFetchingOptimistic) {\n this.scheduleGc();\n }\n this.isFetchingOptimistic = false;\n },\n onError,\n onFail: (failureCount, error) => {\n this.#dispatch({ type: \"failed\", failureCount, error });\n },\n onPause: () => {\n this.#dispatch({ type: \"pause\" });\n },\n onContinue: () => {\n this.#dispatch({ type: \"continue\" });\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode,\n canRun: () => true\n });\n return this.#retryer.start();\n }\n #dispatch(action) {\n const reducer = (state) => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state,\n fetchFailureCount: action.failureCount,\n fetchFailureReason: action.error\n };\n case \"pause\":\n return {\n ...state,\n fetchStatus: \"paused\"\n };\n case \"continue\":\n return {\n ...state,\n fetchStatus: \"fetching\"\n };\n case \"fetch\":\n return {\n ...state,\n ...fetchState(state.data, this.options),\n fetchMeta: action.meta ?? null\n };\n case \"success\":\n return {\n ...state,\n data: action.data,\n dataUpdateCount: state.dataUpdateCount + 1,\n dataUpdatedAt: action.dataUpdatedAt ?? Date.now(),\n error: null,\n isInvalidated: false,\n status: \"success\",\n ...!action.manual && {\n fetchStatus: \"idle\",\n fetchFailureCount: 0,\n fetchFailureReason: null\n }\n };\n case \"error\":\n const error = action.error;\n if (isCancelledError(error) && error.revert && this.#revertState) {\n return { ...this.#revertState, fetchStatus: \"idle\" };\n }\n return {\n ...state,\n error,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n fetchFailureReason: error,\n fetchStatus: \"idle\",\n status: \"error\"\n };\n case \"invalidate\":\n return {\n ...state,\n isInvalidated: true\n };\n case \"setState\":\n return {\n ...state,\n ...action.state\n };\n }\n };\n this.state = reducer(this.state);\n notifyManager.batch(() => {\n this.observers.forEach((observer) => {\n observer.onQueryUpdate();\n });\n this.#cache.notify({ query: this, type: \"updated\", action });\n });\n }\n};\nfunction fetchState(data, options) {\n return {\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchStatus: canFetch(options.networkMode) ? \"fetching\" : \"paused\",\n ...data === void 0 && {\n error: null,\n status: \"pending\"\n }\n };\n}\nfunction getDefaultState(options) {\n const data = typeof options.initialData === \"function\" ? options.initialData() : options.initialData;\n const hasData = data !== void 0;\n const initialDataUpdatedAt = hasData ? typeof options.initialDataUpdatedAt === \"function\" ? options.initialDataUpdatedAt() : options.initialDataUpdatedAt : 0;\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? initialDataUpdatedAt ?? Date.now() : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: null,\n isInvalidated: false,\n status: hasData ? \"success\" : \"pending\",\n fetchStatus: \"idle\"\n };\n}\nexport {\n Query,\n fetchState\n};\n//# sourceMappingURL=query.js.map","// src/queryObserver.ts\nimport {\n isServer,\n isValidTimeout,\n noop,\n replaceData,\n shallowEqualObjects,\n timeUntilStale\n} from \"./utils.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { focusManager } from \"./focusManager.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { fetchState } from \"./query.js\";\nvar QueryObserver = class extends Subscribable {\n constructor(client, options) {\n super();\n this.options = options;\n this.#client = client;\n this.#selectError = null;\n this.bindMethods();\n this.setOptions(options);\n }\n #client;\n #currentQuery = void 0;\n #currentQueryInitialState = void 0;\n #currentResult = void 0;\n #currentResultState;\n #currentResultOptions;\n #selectError;\n #selectFn;\n #selectResult;\n // This property keeps track of the last query with defined data.\n // It will be used to pass the previous data and query to the placeholder function between renders.\n #lastQueryWithDefinedData;\n #staleTimeoutId;\n #refetchIntervalId;\n #currentRefetchInterval;\n #trackedProps = /* @__PURE__ */ new Set();\n bindMethods() {\n this.refetch = this.refetch.bind(this);\n }\n onSubscribe() {\n if (this.listeners.size === 1) {\n this.#currentQuery.addObserver(this);\n if (shouldFetchOnMount(this.#currentQuery, this.options)) {\n this.#executeFetch();\n } else {\n this.updateResult();\n }\n this.#updateTimers();\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.destroy();\n }\n }\n shouldFetchOnReconnect() {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnReconnect\n );\n }\n shouldFetchOnWindowFocus() {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnWindowFocus\n );\n }\n destroy() {\n this.listeners = /* @__PURE__ */ new Set();\n this.#clearStaleTimeout();\n this.#clearRefetchInterval();\n this.#currentQuery.removeObserver(this);\n }\n setOptions(options, notifyOptions) {\n const prevOptions = this.options;\n const prevQuery = this.#currentQuery;\n this.options = this.#client.defaultQueryOptions(options);\n if (this.options.enabled !== void 0 && typeof this.options.enabled !== \"boolean\") {\n throw new Error(\"Expected enabled to be a boolean\");\n }\n this.#updateQuery();\n this.#currentQuery.setOptions(this.options);\n if (prevOptions._defaulted && !shallowEqualObjects(this.options, prevOptions)) {\n this.#client.getQueryCache().notify({\n type: \"observerOptionsUpdated\",\n query: this.#currentQuery,\n observer: this\n });\n }\n const mounted = this.hasListeners();\n if (mounted && shouldFetchOptionally(\n this.#currentQuery,\n prevQuery,\n this.options,\n prevOptions\n )) {\n this.#executeFetch();\n }\n this.updateResult(notifyOptions);\n if (mounted && (this.#currentQuery !== prevQuery || this.options.enabled !== prevOptions.enabled || this.options.staleTime !== prevOptions.staleTime)) {\n this.#updateStaleTimeout();\n }\n const nextRefetchInterval = this.#computeRefetchInterval();\n if (mounted && (this.#currentQuery !== prevQuery || this.options.enabled !== prevOptions.enabled || nextRefetchInterval !== this.#currentRefetchInterval)) {\n this.#updateRefetchInterval(nextRefetchInterval);\n }\n }\n getOptimisticResult(options) {\n const query = this.#client.getQueryCache().build(this.#client, options);\n const result = this.createResult(query, options);\n if (shouldAssignObserverCurrentProperties(this, result)) {\n this.#currentResult = result;\n this.#currentResultOptions = this.options;\n this.#currentResultState = this.#currentQuery.state;\n }\n return result;\n }\n getCurrentResult() {\n return this.#currentResult;\n }\n trackResult(result, onPropTracked) {\n const trackedResult = {};\n Object.keys(result).forEach((key) => {\n Object.defineProperty(trackedResult, key, {\n configurable: false,\n enumerable: true,\n get: () => {\n this.trackProp(key);\n onPropTracked?.(key);\n return result[key];\n }\n });\n });\n return trackedResult;\n }\n trackProp(key) {\n this.#trackedProps.add(key);\n }\n getCurrentQuery() {\n return this.#currentQuery;\n }\n refetch({ ...options } = {}) {\n return this.fetch({\n ...options\n });\n }\n fetchOptimistic(options) {\n const defaultedOptions = this.#client.defaultQueryOptions(options);\n const query = this.#client.getQueryCache().build(this.#client, defaultedOptions);\n query.isFetchingOptimistic = true;\n return query.fetch().then(() => this.createResult(query, defaultedOptions));\n }\n fetch(fetchOptions) {\n return this.#executeFetch({\n ...fetchOptions,\n cancelRefetch: fetchOptions.cancelRefetch ?? true\n }).then(() => {\n this.updateResult();\n return this.#currentResult;\n });\n }\n #executeFetch(fetchOptions) {\n this.#updateQuery();\n let promise = this.#currentQuery.fetch(\n this.options,\n fetchOptions\n );\n if (!fetchOptions?.throwOnError) {\n promise = promise.catch(noop);\n }\n return promise;\n }\n #updateStaleTimeout() {\n this.#clearStaleTimeout();\n if (isServer || this.#currentResult.isStale || !isValidTimeout(this.options.staleTime)) {\n return;\n }\n const time = timeUntilStale(\n this.#currentResult.dataUpdatedAt,\n this.options.staleTime\n );\n const timeout = time + 1;\n this.#staleTimeoutId = setTimeout(() => {\n if (!this.#currentResult.isStale) {\n this.updateResult();\n }\n }, timeout);\n }\n #computeRefetchInterval() {\n return (typeof this.options.refetchInterval === \"function\" ? this.options.refetchInterval(this.#currentQuery) : this.options.refetchInterval) ?? false;\n }\n #updateRefetchInterval(nextInterval) {\n this.#clearRefetchInterval();\n this.#currentRefetchInterval = nextInterval;\n if (isServer || this.options.enabled === false || !isValidTimeout(this.#currentRefetchInterval) || this.#currentRefetchInterval === 0) {\n return;\n }\n this.#refetchIntervalId = setInterval(() => {\n if (this.options.refetchIntervalInBackground || focusManager.isFocused()) {\n this.#executeFetch();\n }\n }, this.#currentRefetchInterval);\n }\n #updateTimers() {\n this.#updateStaleTimeout();\n this.#updateRefetchInterval(this.#computeRefetchInterval());\n }\n #clearStaleTimeout() {\n if (this.#staleTimeoutId) {\n clearTimeout(this.#staleTimeoutId);\n this.#staleTimeoutId = void 0;\n }\n }\n #clearRefetchInterval() {\n if (this.#refetchIntervalId) {\n clearInterval(this.#refetchIntervalId);\n this.#refetchIntervalId = void 0;\n }\n }\n createResult(query, options) {\n const prevQuery = this.#currentQuery;\n const prevOptions = this.options;\n const prevResult = this.#currentResult;\n const prevResultState = this.#currentResultState;\n const prevResultOptions = this.#currentResultOptions;\n const queryChange = query !== prevQuery;\n const queryInitialState = queryChange ? query.state : this.#currentQueryInitialState;\n const { state } = query;\n let newState = { ...state };\n let isPlaceholderData = false;\n let data;\n if (options._optimisticResults) {\n const mounted = this.hasListeners();\n const fetchOnMount = !mounted && shouldFetchOnMount(query, options);\n const fetchOptionally = mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions);\n if (fetchOnMount || fetchOptionally) {\n newState = {\n ...newState,\n ...fetchState(state.data, query.options)\n };\n }\n if (options._optimisticResults === \"isRestoring\") {\n newState.fetchStatus = \"idle\";\n }\n }\n let { error, errorUpdatedAt, status } = newState;\n if (options.select && newState.data !== void 0) {\n if (prevResult && newState.data === prevResultState?.data && options.select === this.#selectFn) {\n data = this.#selectResult;\n } else {\n try {\n this.#selectFn = options.select;\n data = options.select(newState.data);\n data = replaceData(prevResult?.data, data, options);\n this.#selectResult = data;\n this.#selectError = null;\n } catch (selectError) {\n this.#selectError = selectError;\n }\n }\n } else {\n data = newState.data;\n }\n if (options.placeholderData !== void 0 && data === void 0 && status === \"pending\") {\n let placeholderData;\n if (prevResult?.isPlaceholderData && options.placeholderData === prevResultOptions?.placeholderData) {\n placeholderData = prevResult.data;\n } else {\n placeholderData = typeof options.placeholderData === \"function\" ? options.placeholderData(\n this.#lastQueryWithDefinedData?.state.data,\n this.#lastQueryWithDefinedData\n ) : options.placeholderData;\n if (options.select && placeholderData !== void 0) {\n try {\n placeholderData = options.select(placeholderData);\n this.#selectError = null;\n } catch (selectError) {\n this.#selectError = selectError;\n }\n }\n }\n if (placeholderData !== void 0) {\n status = \"success\";\n data = replaceData(\n prevResult?.data,\n placeholderData,\n options\n );\n isPlaceholderData = true;\n }\n }\n if (this.#selectError) {\n error = this.#selectError;\n data = this.#selectResult;\n errorUpdatedAt = Date.now();\n status = \"error\";\n }\n const isFetching = newState.fetchStatus === \"fetching\";\n const isPending = status === \"pending\";\n const isError = status === \"error\";\n const isLoading = isPending && isFetching;\n const hasData = data !== void 0;\n const result = {\n status,\n fetchStatus: newState.fetchStatus,\n isPending,\n isSuccess: status === \"success\",\n isError,\n isInitialLoading: isLoading,\n isLoading,\n data,\n dataUpdatedAt: newState.dataUpdatedAt,\n error,\n errorUpdatedAt,\n failureCount: newState.fetchFailureCount,\n failureReason: newState.fetchFailureReason,\n errorUpdateCount: newState.errorUpdateCount,\n isFetched: newState.dataUpdateCount > 0 || newState.errorUpdateCount > 0,\n isFetchedAfterMount: newState.dataUpdateCount > queryInitialState.dataUpdateCount || newState.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching,\n isRefetching: isFetching && !isPending,\n isLoadingError: isError && !hasData,\n isPaused: newState.fetchStatus === \"paused\",\n isPlaceholderData,\n isRefetchError: isError && hasData,\n isStale: isStale(query, options),\n refetch: this.refetch\n };\n return result;\n }\n updateResult(notifyOptions) {\n const prevResult = this.#currentResult;\n const nextResult = this.createResult(this.#currentQuery, this.options);\n this.#currentResultState = this.#currentQuery.state;\n this.#currentResultOptions = this.options;\n if (this.#currentResultState.data !== void 0) {\n this.#lastQueryWithDefinedData = this.#currentQuery;\n }\n if (shallowEqualObjects(nextResult, prevResult)) {\n return;\n }\n this.#currentResult = nextResult;\n const defaultNotifyOptions = {};\n const shouldNotifyListeners = () => {\n if (!prevResult) {\n return true;\n }\n const { notifyOnChangeProps } = this.options;\n const notifyOnChangePropsValue = typeof notifyOnChangeProps === \"function\" ? notifyOnChangeProps() : notifyOnChangeProps;\n if (notifyOnChangePropsValue === \"all\" || !notifyOnChangePropsValue && !this.#trackedProps.size) {\n return true;\n }\n const includedProps = new Set(\n notifyOnChangePropsValue ?? this.#trackedProps\n );\n if (this.options.throwOnError) {\n includedProps.add(\"error\");\n }\n return Object.keys(this.#currentResult).some((key) => {\n const typedKey = key;\n const changed = this.#currentResult[typedKey] !== prevResult[typedKey];\n return changed && includedProps.has(typedKey);\n });\n };\n if (notifyOptions?.listeners !== false && shouldNotifyListeners()) {\n defaultNotifyOptions.listeners = true;\n }\n this.#notify({ ...defaultNotifyOptions, ...notifyOptions });\n }\n #updateQuery() {\n const query = this.#client.getQueryCache().build(this.#client, this.options);\n if (query === this.#currentQuery) {\n return;\n }\n const prevQuery = this.#currentQuery;\n this.#currentQuery = query;\n this.#currentQueryInitialState = query.state;\n if (this.hasListeners()) {\n prevQuery?.removeObserver(this);\n query.addObserver(this);\n }\n }\n onQueryUpdate() {\n this.updateResult();\n if (this.hasListeners()) {\n this.#updateTimers();\n }\n }\n #notify(notifyOptions) {\n notifyManager.batch(() => {\n if (notifyOptions.listeners) {\n this.listeners.forEach((listener) => {\n listener(this.#currentResult);\n });\n }\n this.#client.getQueryCache().notify({\n query: this.#currentQuery,\n type: \"observerResultsUpdated\"\n });\n });\n }\n};\nfunction shouldLoadOnMount(query, options) {\n return options.enabled !== false && query.state.data === void 0 && !(query.state.status === \"error\" && options.retryOnMount === false);\n}\nfunction shouldFetchOnMount(query, options) {\n return shouldLoadOnMount(query, options) || query.state.data !== void 0 && shouldFetchOn(query, options, options.refetchOnMount);\n}\nfunction shouldFetchOn(query, options, field) {\n if (options.enabled !== false) {\n const value = typeof field === \"function\" ? field(query) : field;\n return value === \"always\" || value !== false && isStale(query, options);\n }\n return false;\n}\nfunction shouldFetchOptionally(query, prevQuery, options, prevOptions) {\n return (query !== prevQuery || prevOptions.enabled === false) && (!options.suspense || query.state.status !== \"error\") && isStale(query, options);\n}\nfunction isStale(query, options) {\n return options.enabled !== false && query.isStaleByTime(options.staleTime);\n}\nfunction shouldAssignObserverCurrentProperties(observer, optimisticResult) {\n if (!shallowEqualObjects(observer.getCurrentResult(), optimisticResult)) {\n return true;\n }\n return false;\n}\nexport {\n QueryObserver\n};\n//# sourceMappingURL=queryObserver.js.map","\"use client\";\n\n// src/QueryClientProvider.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar QueryClientContext = React.createContext(\n void 0\n);\nvar useQueryClient = (queryClient) => {\n const client = React.useContext(QueryClientContext);\n if (queryClient) {\n return queryClient;\n }\n if (!client) {\n throw new Error(\"No QueryClient set, use QueryClientProvider to set one\");\n }\n return client;\n};\nvar QueryClientProvider = ({\n client,\n children\n}) => {\n React.useEffect(() => {\n client.mount();\n return () => {\n client.unmount();\n };\n }, [client]);\n return /* @__PURE__ */ jsx(QueryClientContext.Provider, { value: client, children });\n};\nexport {\n QueryClientContext,\n QueryClientProvider,\n useQueryClient\n};\n//# sourceMappingURL=QueryClientProvider.js.map","\"use client\";\n\n// src/isRestoring.ts\nimport * as React from \"react\";\nvar IsRestoringContext = React.createContext(false);\nvar useIsRestoring = () => React.useContext(IsRestoringContext);\nvar IsRestoringProvider = IsRestoringContext.Provider;\nexport {\n IsRestoringProvider,\n useIsRestoring\n};\n//# sourceMappingURL=isRestoring.js.map","\"use client\";\n\n// src/QueryErrorResetBoundary.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createValue() {\n let isReset = false;\n return {\n clearReset: () => {\n isReset = false;\n },\n reset: () => {\n isReset = true;\n },\n isReset: () => {\n return isReset;\n }\n };\n}\nvar QueryErrorResetBoundaryContext = React.createContext(createValue());\nvar useQueryErrorResetBoundary = () => React.useContext(QueryErrorResetBoundaryContext);\nvar QueryErrorResetBoundary = ({\n children\n}) => {\n const [value] = React.useState(() => createValue());\n return /* @__PURE__ */ jsx(QueryErrorResetBoundaryContext.Provider, { value, children: typeof children === \"function\" ? children(value) : children });\n};\nexport {\n QueryErrorResetBoundary,\n useQueryErrorResetBoundary\n};\n//# sourceMappingURL=QueryErrorResetBoundary.js.map","// src/utils.ts\nfunction shouldThrowError(throwError, params) {\n if (typeof throwError === \"function\") {\n return throwError(...params);\n }\n return !!throwError;\n}\nfunction noop() {\n}\nexport {\n noop,\n shouldThrowError\n};\n//# sourceMappingURL=utils.js.map","\"use client\";\n\n// src/errorBoundaryUtils.ts\nimport * as React from \"react\";\nimport { shouldThrowError } from \"./utils.js\";\nvar ensurePreventErrorBoundaryRetry = (options, errorResetBoundary) => {\n if (options.suspense || options.throwOnError) {\n if (!errorResetBoundary.isReset()) {\n options.retryOnMount = false;\n }\n }\n};\nvar useClearResetErrorBoundary = (errorResetBoundary) => {\n React.useEffect(() => {\n errorResetBoundary.clearReset();\n }, [errorResetBoundary]);\n};\nvar getHasError = ({\n result,\n errorResetBoundary,\n throwOnError,\n query\n}) => {\n return result.isError && !errorResetBoundary.isReset() && !result.isFetching && query && shouldThrowError(throwOnError, [result.error, query]);\n};\nexport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary\n};\n//# sourceMappingURL=errorBoundaryUtils.js.map","// src/suspense.ts\nvar defaultThrowOnError = (_error, query) => query.state.data === void 0;\nvar ensureStaleTime = (defaultedOptions) => {\n if (defaultedOptions.suspense) {\n if (typeof defaultedOptions.staleTime !== \"number\") {\n defaultedOptions.staleTime = 1e3;\n }\n }\n};\nvar willFetch = (result, isRestoring) => result.isLoading && result.isFetching && !isRestoring;\nvar shouldSuspend = (defaultedOptions, result) => defaultedOptions?.suspense && result.isPending;\nvar fetchOptimistic = (defaultedOptions, observer, errorResetBoundary) => observer.fetchOptimistic(defaultedOptions).catch(() => {\n errorResetBoundary.clearReset();\n});\nexport {\n defaultThrowOnError,\n ensureStaleTime,\n fetchOptimistic,\n shouldSuspend,\n willFetch\n};\n//# sourceMappingURL=suspense.js.map","\"use client\";\n\n// src/useBaseQuery.ts\nimport * as React from \"react\";\nimport { notifyManager } from \"@tanstack/query-core\";\nimport { useQueryErrorResetBoundary } from \"./QueryErrorResetBoundary.js\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nimport { useIsRestoring } from \"./isRestoring.js\";\nimport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary\n} from \"./errorBoundaryUtils.js\";\nimport { ensureStaleTime, fetchOptimistic, shouldSuspend } from \"./suspense.js\";\nfunction useBaseQuery(options, Observer, queryClient) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof options !== \"object\" || Array.isArray(options)) {\n throw new Error(\n 'Bad argument type. Starting with v5, only the \"Object\" form is allowed when calling query related functions. Please use the error stack to find the culprit call. More info here: https://tanstack.com/query/latest/docs/react/guides/migrating-to-v5#supports-a-single-signature-one-object'\n );\n }\n }\n const client = useQueryClient(queryClient);\n const isRestoring = useIsRestoring();\n const errorResetBoundary = useQueryErrorResetBoundary();\n const defaultedOptions = client.defaultQueryOptions(options);\n defaultedOptions._optimisticResults = isRestoring ? \"isRestoring\" : \"optimistic\";\n ensureStaleTime(defaultedOptions);\n ensurePreventErrorBoundaryRetry(defaultedOptions, errorResetBoundary);\n useClearResetErrorBoundary(errorResetBoundary);\n const [observer] = React.useState(\n () => new Observer(\n client,\n defaultedOptions\n )\n );\n const result = observer.getOptimisticResult(defaultedOptions);\n React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) => {\n const unsubscribe = isRestoring ? () => void 0 : observer.subscribe(notifyManager.batchCalls(onStoreChange));\n observer.updateResult();\n return unsubscribe;\n },\n [observer, isRestoring]\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult()\n );\n React.useEffect(() => {\n observer.setOptions(defaultedOptions, { listeners: false });\n }, [defaultedOptions, observer]);\n if (shouldSuspend(defaultedOptions, result)) {\n throw fetchOptimistic(defaultedOptions, observer, errorResetBoundary);\n }\n if (getHasError({\n result,\n errorResetBoundary,\n throwOnError: defaultedOptions.throwOnError,\n query: client.getQueryCache().get(defaultedOptions.queryHash)\n })) {\n throw result.error;\n }\n return !defaultedOptions.notifyOnChangeProps ? observer.trackResult(result) : result;\n}\nexport {\n useBaseQuery\n};\n//# sourceMappingURL=useBaseQuery.js.map","\"use client\";\n\n// src/useQuery.ts\nimport { QueryObserver } from \"@tanstack/query-core\";\nimport { useBaseQuery } from \"./useBaseQuery.js\";\nfunction useQuery(options, queryClient) {\n return useBaseQuery(options, QueryObserver, queryClient);\n}\nexport {\n useQuery\n};\n//# sourceMappingURL=useQuery.js.map","export const MANAGE_MEMBER_PERMISSIONS = [\n \"members.manage_members\",\n \"agents.manage_agents\",\n];\nexport const DEFAULT_PERMISSION = true; // Until we add permission prop to all neeto apps, this is the default permission.\n\nexport const BASE_URL = \"neeto_approvals\";\nexport const TEMPLATE_URL = `${BASE_URL}/templates`;\n","import axios from \"axios\";\n\nimport { BASE_URL } from \"common/constants\";\n\nconst fetch = (params, url) => axios.get(url, { params });\n\nconst update = ({ id, payload }) =>\n axios.put(`${BASE_URL}/requests/${id}`, { request: payload });\n\nconst requestsApi = { fetch, update };\n\nexport default requestsApi;\n","export const QUERY_KEYS = {\n APPROVERS: \"neeto-approvals-approvers\",\n TEMPLATES: \"neeto-approvals-templates\",\n REQUESTS: \"neeto-approvals-requests\",\n SHOW_TEMPLATE: \"neeto-approvals-show-template\",\n SHOW_PUBLIC_REQUEST: \"neeto-approvals-show-public-request\",\n VIEWS: \"neeto-approvals-views\",\n};\n","import { keepPreviousData, useQuery } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport requestsApi from \"apis/requests\";\nimport { QUERY_KEYS } from \"common/queryConstants\";\n\nconst useFetchRequests = ({ requestUrl, params = {}, options = {} }) =>\n useQuery({\n queryKey: [QUERY_KEYS.REQUESTS, params],\n queryFn: () => requestsApi.fetch(params, requestUrl),\n select: response => response.data || response,\n placeholderData: keepPreviousData,\n ...options,\n });\n\nconst useUpdateRequest = options =>\n useMutationWithInvalidation(requestsApi.update, {\n keysToInvalidate: [[QUERY_KEYS.REQUESTS], [QUERY_KEYS.VIEWS]],\n ...options,\n });\n\nexport { useFetchRequests, useUpdateRequest };\n","import { useState } from \"react\";\n\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\n\nconst usePaginate = () => {\n const [pageProperties, setPageProperties] = useState({\n page: DEFAULT_PAGE_INDEX,\n pageSize: DEFAULT_PAGE_SIZE,\n });\n\n const resetPageProperties = () =>\n setPageProperties({\n page: DEFAULT_PAGE_INDEX,\n pageSize: DEFAULT_PAGE_SIZE,\n });\n\n const handlePageChange = (page, pageSize) => {\n setPageProperties({ page, pageSize });\n };\n\n return { pageProperties, resetPageProperties, handlePageChange };\n};\n\nexport default usePaginate;\n","import { t } from \"i18next\";\nimport { isEditorEmpty } from \"neetoeditor\";\nimport * as yup from \"yup\";\n\nexport const DEFAULT_RADIX = 10;\n\nexport const DEFAULT_FILTER_VALUES = {\n searchTerm: \"\",\n sortBy: \"\",\n orderBy: \"\",\n};\n\nexport const SEARCH_DELAY = 750;\n\nexport const STATUSES = {\n approved: \"approved\",\n rejected: \"rejected\",\n pending: \"pending\",\n cancelled: \"cancelled\",\n};\n\nexport const STATUS_TAG_STYLE = {\n pending: \"primary\",\n approved: \"success\",\n rejected: \"danger\",\n cancelled: \"warning\",\n};\n\nexport const APPROVAL_REQUEST_FORM_INITIAL_VALUES = {\n message: \"\",\n approver: {},\n};\n\nexport const STATUS_UPDATED_BY = {\n rejected: t(\"neetoApprovals.common.rejectedBy\"),\n approved: t(\"neetoApprovals.common.approvedBy\"),\n cancelled: t(\"neetoApprovals.common.cancelledBy\"),\n};\n\nexport const DATA_CY_KEY = \"data-cy\";\n\nexport const SORT_ORDER = { ascend: \"asc\", descend: \"desc\" };\n\nexport const REQUEST_FORM_VALIDATION_SCHEMA = yup.object().shape({\n message: yup.string().test(\n \"message\",\n t(\"neetoApprovals.validations.required\", {\n what: t(\"neetoApprovals.inputs.labels.message\"),\n }),\n content => !isEditorEmpty(content)\n ),\n approver: yup.object().required(t(\"neetoApprovals.validations.approver\")),\n});\n","import React from \"react\";\n\nimport { t } from \"i18next\";\nimport { capitalize } from \"neetocist\";\nimport { Button, Tag } from \"neetoui\";\nimport DateFormat from \"neetomolecules/DateFormat\";\n\nimport { STATUS_TAG_STYLE } from \"../constants\";\n\nexport const HISTORY_TABLE_COLUMNS = [\n {\n dataIndex: \"approvalLabel\",\n key: \"approvalLabel\",\n sorter: true,\n width: \"25%\",\n title: t(\"neetoApprovals.common.id\"),\n render: (approvalLabel, { requestableUrl }) => {\n const url = new URL(requestableUrl || window.location.origin);\n\n return <Button label={approvalLabel} style=\"link\" to={url.pathname} />;\n },\n },\n {\n dataIndex: \"title\",\n key: \"title\",\n sorter: true,\n width: \"25%\",\n title: t(\"neetoApprovals.common.title\"),\n },\n {\n dataIndex: \"status\",\n key: \"status\",\n sorter: true,\n width: \"25%\",\n title: t(\"neetoApprovals.common.status\"),\n render: status => (\n <Tag label={capitalize(status)} style={STATUS_TAG_STYLE[status]} />\n ),\n },\n {\n dataIndex: \"createdAt\",\n key: \"createdAt\",\n sorter: true,\n width: \"25%\",\n title: t(\"neetoApprovals.common.created\"),\n render: createdAt => (\n <DateFormat.FromNow\n date={createdAt}\n typographyProps={{ style: \"body2\" }}\n />\n ),\n },\n];\n","import React from \"react\";\n\nimport { Button, Pane } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { STATUSES } from \"../constants\";\n\nconst Footer = ({\n isLoading,\n handleSubmit,\n isCurrentUserApprover,\n isCurrentUserRequester,\n}) => {\n const { t } = useTranslation();\n\n if (!isCurrentUserApprover && !isCurrentUserRequester) return null;\n\n if (isCurrentUserApprover) {\n return (\n <Pane.Footer className=\"flex gap-x-2\">\n <Button\n label={t(\"neetoApprovals.buttons.approve\")}\n loading={isLoading}\n type=\"submit\"\n onClick={() => handleSubmit(STATUSES.approved)}\n />\n <Button\n label={t(\"neetoApprovals.buttons.decline\")}\n loading={isLoading}\n style=\"text\"\n onClick={() => handleSubmit(STATUSES.rejected)}\n />\n </Pane.Footer>\n );\n }\n\n return (\n <Pane.Footer className=\"flex gap-x-2\">\n <Button\n label={t(\"neetoApprovals.buttons.cancelRequest\")}\n loading={isLoading}\n type=\"submit\"\n onClick={() => handleSubmit(STATUSES.cancelled)}\n />\n </Pane.Footer>\n );\n};\n\nexport default Footer;\n","import dayjs from \"dayjs\";\nimport timezone from \"dayjs/plugin/timezone\";\nimport utc from \"dayjs/plugin/utc\";\nimport { t } from \"i18next\";\nimport { findBy, isPresent } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport { globalProps } from \"neetocommons/initializers\";\n\ndayjs.extend(utc);\ndayjs.extend(timezone);\n\nexport const updateApprovalDetails = ({ requestsData, approvalDetails }) => {\n if (isPresent(requestsData?.requests) && isPresent(approvalDetails)) {\n const request =\n findBy({ id: approvalDetails.id }, requestsData.requests) || {};\n\n return request;\n }\n\n return {};\n};\n\nexport const timeInZone = time => {\n globalProps.user?.timeZone && dayjs.tz.setDefault(globalProps.user?.timeZone);\n\n return dayjs(time).tz();\n};\n\nexport const getApprovalFilter = () => ({\n PENDING: { label: t(\"neetoApprovals.common.pending\"), value: \"PENDING\" },\n TEMPLATES: {\n label: t(\"neetoApprovals.common.template\", PLURAL),\n value: \"TEMPLATES\",\n },\n HISTORY: { label: t(\"neetoApprovals.common.history\"), value: \"HISTORY\" },\n});\n","import React, { useEffect, useState } from \"react\";\n\nimport { capitalize } from \"neetocist\";\nimport { dateFormat, withEventTargetValue } from \"neetocommons/utils\";\nimport { EditorContent } from \"neetoeditor\";\nimport { Label, Pane, Tag, Textarea, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useUpdateRequest } from \"hooks/reactQuery/requests/useRequestsApi\";\n\nimport Footer from \"./Footer\";\n\nimport { STATUSES, STATUS_TAG_STYLE, STATUS_UPDATED_BY } from \"../constants\";\nimport { timeInZone } from \"../utils\";\n\nconst MemoizedEditorContent = React.memo(EditorContent);\n\nconst RequestDetailsPane = ({\n isOpen,\n onClose,\n approvalDetails,\n isPending = false,\n}) => {\n const { t } = useTranslation();\n\n const {\n title,\n status = \"\",\n message,\n createdAt,\n approverName,\n approverEmail,\n note: initialNote = \"\",\n requesterName,\n requesterEmail,\n } = approvalDetails;\n\n const [note, setNote] = useState(initialNote);\n\n const { mutate: updatePendingRequest, isPending: isUpdateRequestPending } =\n useUpdateRequest();\n\n useEffect(() => {\n setNote(initialNote);\n }, [initialNote]);\n\n const requesterOrApproverDetails =\n status === STATUSES.cancelled\n ? `${requesterName} (${requesterEmail})`\n : `${approverName} (${approverEmail})`;\n\n const isCurrentUserApprover =\n window.globalProps?.user?.email === approverEmail;\n\n const isCurrentUserRequester =\n window.globalProps?.user?.email === requesterEmail;\n\n const getStatusLabel = () => {\n if (isPending) {\n return t(\"neetoApprovals.common.waitingFor\");\n }\n\n return STATUS_UPDATED_BY[status];\n };\n\n const handleOnClose = () => {\n setNote(\"\");\n onClose();\n };\n\n const handleSubmit = status =>\n updatePendingRequest(\n {\n id: approvalDetails.id,\n payload: { status, note, [`${status}At`]: new Date() },\n },\n { onSuccess: handleOnClose }\n );\n\n return (\n <Pane {...{ isOpen }} size=\"large\" onClose={handleOnClose}>\n <Pane.Header className=\"space-y-2\">\n <Typography style=\"h2\">{title}</Typography>\n <Tag label={capitalize(status)} style={STATUS_TAG_STYLE[status]} />\n </Pane.Header>\n <Pane.Body className=\"space-y-6\">\n <div className=\"w-full divide-y border px-3\">\n <div className=\"flex space-x-3 p-2\">\n <Label className=\"font-normal\">{getStatusLabel()}</Label>\n <Typography style=\"body2\" weight=\"medium\">\n {requesterOrApproverDetails}\n </Typography>\n </div>\n <div className=\"flex space-x-3 p-2\">\n <Label className=\"font-normal\">\n {t(\"neetoApprovals.common.created\")}\n </Label>\n <Typography style=\"body2\" weight=\"medium\">\n {dateFormat.defaultWithTime(timeInZone(createdAt))}\n </Typography>\n </div>\n </div>\n <div className=\"w-full space-y-2\">\n <Label>{t(\"neetoApprovals.inputs.labels.message\")}</Label>\n <MemoizedEditorContent\n className=\"neeto-ui-bg-gray-100 p-4\"\n content={message}\n />\n </div>\n {isPending && isCurrentUserApprover && (\n <Textarea\n className=\"w-full\"\n disabled={!isPending}\n label={t(\"neetoApprovals.common.note\")}\n value={note}\n placeholder={t(\"neetoApprovals.inputs.placeholders.add_\", {\n what: t(\"neetoApprovals.common.note\"),\n })}\n onChange={withEventTargetValue(setNote)}\n />\n )}\n {!isPending && note && (\n <div className=\"w-full space-y-2\">\n <Label>{t(\"neetoApprovals.common.note\")}</Label>\n <div className=\"neeto-ui-bg-gray-100 p-4\">{note}</div>\n </div>\n )}\n </Pane.Body>\n {isPending && (\n <Footer\n {...{\n handleSubmit,\n isCurrentUserApprover,\n isCurrentUserRequester,\n }}\n isLoading={isUpdateRequestPending}\n />\n )}\n </Pane>\n );\n};\n\nexport default RequestDetailsPane;\n","import React, { useEffect, useState } from \"react\";\n\nimport { camelToSnakeCase, isPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_SIZE, PLURAL } from \"neetocommons/constants\";\nimport { useDebounce } from \"neetocommons/react-utils\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Table, NoData } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { handleEmptyPage } from \"common/utils\";\nimport { useFetchRequests } from \"hooks/reactQuery/requests/useRequestsApi\";\nimport usePaginate from \"hooks/usePaginate\";\n\nimport { HISTORY_TABLE_COLUMNS } from \"./constants\";\n\nimport {\n DEFAULT_FILTER_VALUES,\n SEARCH_DELAY,\n SORT_ORDER,\n STATUSES,\n} from \"../constants\";\nimport RequestDetailsPane from \"../RequestDetailsPane\";\nimport { updateApprovalDetails } from \"../utils\";\n\nconst History = ({ requestUrl }) => {\n const [filters, setFilters] = useState(DEFAULT_FILTER_VALUES);\n const debouncedSearchTerm = useDebounce(filters.searchTerm, SEARCH_DELAY);\n const { pageProperties, handlePageChange } = usePaginate();\n const [approvalDetails, setApprovalDetails] = useState({});\n const { t } = useTranslation();\n\n const { data } = useFetchRequests({\n params: {\n ...pageProperties,\n ...filters,\n searchTerm: debouncedSearchTerm.trim(),\n status: [STATUSES.approved, STATUSES.rejected, STATUSES.cancelled],\n },\n requestUrl,\n });\n\n const { requests: approvalHistories = {}, totalCount = 0 } = data || {};\n\n useEffect(() => {\n if (!data) return;\n handleEmptyPage(data?.requests, pageProperties, handlePageChange);\n setApprovalDetails(approvalDetails =>\n updateApprovalDetails({ requestsData: data?.requests, approvalDetails })\n );\n }, [data]);\n\n const handleTableChange = (_, __, sorter) => {\n setFilters({\n ...filters,\n sortBy: camelToSnakeCase(sorter.field || \"\"),\n orderBy: SORT_ORDER[sorter.order],\n });\n };\n\n return (\n <>\n {!isEmpty(approvalHistories) ? (\n <TableWrapper\n className=\"mt-6\"\n hasPagination={totalCount > pageProperties.pageSize}\n >\n <Table\n {...{ handlePageChange, totalCount }}\n allowRowClick\n fixedHeight\n columnData={HISTORY_TABLE_COLUMNS}\n currentPageNumber={pageProperties.page}\n defaultPageSize={pageProperties.pageSize}\n rowData={approvalHistories}\n paginationProps={{\n hideOnSinglePage:\n approvalHistories?.length < DEFAULT_PAGE_SIZE + 1,\n }}\n onChange={handleTableChange}\n onRowClick={(_, approvalDetails) =>\n setApprovalDetails(approvalDetails)\n }\n />\n </TableWrapper>\n ) : (\n <div className=\"flex h-full w-full flex-grow items-center justify-center\">\n <NoData\n title={t(\"neetoApprovals.common.notFound_\", {\n what: t(\"neetoApprovals.common.record\", PLURAL),\n })}\n />\n </div>\n )}\n <RequestDetailsPane\n {...{ approvalDetails }}\n isOpen={isPresent(approvalDetails)}\n onClose={() => setApprovalDetails({})}\n />\n </>\n );\n};\n\nexport default History;\n","import { removeBy } from \"neetocist\";\n\nimport { HISTORY_TABLE_COLUMNS } from \"../History/constants\";\n\nexport const PENDING_TABLE_COLUMNS = removeBy(\n { key: \"status\" },\n HISTORY_TABLE_COLUMNS\n);\n","import React, { useEffect, useState } from \"react\";\n\nimport { camelToSnakeCase, isPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_SIZE, PLURAL } from \"neetocommons/constants\";\nimport { useDebounce } from \"neetocommons/react-utils\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Table, NoData } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { handleEmptyPage } from \"common/utils\";\nimport { useFetchRequests } from \"hooks/reactQuery/requests/useRequestsApi\";\nimport usePaginate from \"hooks/usePaginate\";\n\nimport { PENDING_TABLE_COLUMNS } from \"./constants\";\n\nimport {\n DEFAULT_FILTER_VALUES,\n SEARCH_DELAY,\n SORT_ORDER,\n STATUSES,\n} from \"../constants\";\nimport RequestDetailsPane from \"../RequestDetailsPane\";\n\nconst PendingRequests = ({ requestUrl }) => {\n const [filters, setFilters] = useState(DEFAULT_FILTER_VALUES);\n const [approvalDetails, setApprovalDetails] = useState({});\n const debouncedSearchTerm = useDebounce(filters.searchTerm, SEARCH_DELAY);\n const { pageProperties, handlePageChange } = usePaginate();\n const { t } = useTranslation();\n\n const { data } = useFetchRequests({\n params: {\n ...pageProperties,\n ...filters,\n searchTerm: debouncedSearchTerm.trim(),\n status: [STATUSES.pending],\n },\n requestUrl,\n });\n\n const { requests: pendingRequests = {}, totalCount = 0 } = data || {};\n\n useEffect(() => {\n if (!data) return;\n handleEmptyPage(data?.requests, pageProperties, handlePageChange);\n }, [data]);\n\n const handleTableChange = (_, __, sorter) => {\n setFilters({\n ...filters,\n sortBy: camelToSnakeCase(sorter.field || \"\"),\n orderBy: SORT_ORDER[sorter.order],\n });\n };\n\n return (\n <>\n {!isEmpty(pendingRequests) ? (\n <TableWrapper\n className=\"mt-6\"\n hasPagination={totalCount > pageProperties.pageSize}\n >\n <Table\n {...{ handlePageChange, totalCount }}\n allowRowClick\n fixedHeight\n columnData={PENDING_TABLE_COLUMNS}\n currentPageNumber={pageProperties.page}\n defaultPageSize={pageProperties.pageSize}\n rowData={pendingRequests}\n paginationProps={{\n hideOnSinglePage: pendingRequests?.length < DEFAULT_PAGE_SIZE + 1,\n }}\n onChange={handleTableChange}\n onRowClick={(_, approvalDetails) =>\n setApprovalDetails(approvalDetails)\n }\n />\n </TableWrapper>\n ) : (\n <div className=\"flex h-full w-full flex-grow items-center justify-center\">\n <NoData\n title={t(\"neetoApprovals.common.notFound_\", {\n what: t(\"neetoApprovals.common.pendingApproval\", PLURAL),\n })}\n />\n </div>\n )}\n <RequestDetailsPane\n {...{ approvalDetails }}\n isPending\n isOpen={isPresent(approvalDetails)}\n onClose={() => setApprovalDetails({})}\n />\n </>\n );\n};\n\nexport default PendingRequests;\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}","import axios from \"axios\";\nimport { BASE_URL, TEMPLATE_URL } from \"common/constants\";\n\nconst fetch = params => axios.get(TEMPLATE_URL, { params });\n\nconst show = ({ id, params }) => axios.get(`${TEMPLATE_URL}/${id}`, { params });\n\nconst create = ({ url = TEMPLATE_URL, payload }) => axios.post(url, payload);\n\nconst update = ({ id, payload, url = BASE_URL }) =>\n axios.put(`${url}/${id}`, payload);\n\nconst destroy = ({ templateId }) =>\n axios.delete(`${TEMPLATE_URL}/${templateId}`);\n\nconst templatesApi = { create, fetch, update, destroy, show };\n\nexport default templatesApi;\n","import { keepPreviousData, useQuery } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport templatesApi from \"apis/templates\";\nimport { QUERY_KEYS } from \"common/queryConstants\";\n\nconst useFetchTemplates = (params = {}, options = {}) =>\n useQuery({\n queryKey: [QUERY_KEYS.TEMPLATES, params],\n queryFn: () => templatesApi.fetch(params),\n select: response => response.data || response,\n placeholderData: keepPreviousData,\n ...options,\n });\n\nconst useFetchTemplate = ({ id, params }) =>\n useQuery({\n queryKey: [QUERY_KEYS.SHOW_TEMPLATE, id, params],\n queryFn: () => templatesApi.show({ id, params }),\n enabled: !!id,\n });\n\nconst useCreateTemplate = options =>\n useMutationWithInvalidation(templatesApi.create, {\n keysToInvalidate: [[QUERY_KEYS.TEMPLATES], [QUERY_KEYS.VIEWS]],\n ...options,\n });\n\nconst useUpdateTemplate = options =>\n useMutationWithInvalidation(templatesApi.update, {\n keysToInvalidate: [\n [QUERY_KEYS.TEMPLATES],\n (_, { id }) => [QUERY_KEYS.SHOW_TEMPLATE, id],\n ],\n ...options,\n });\n\nconst useDeleteTemplate = options =>\n useMutationWithInvalidation(templatesApi.destroy, {\n keysToInvalidate: [[QUERY_KEYS.TEMPLATES], [QUERY_KEYS.VIEWS]],\n ...options,\n });\n\nexport {\n useCreateTemplate,\n useFetchTemplates,\n useUpdateTemplate,\n useDeleteTemplate,\n useFetchTemplate,\n};\n","import { t } from \"i18next\";\nimport { isEditorEmpty } from \"neetoeditor\";\nimport * as yup from \"yup\";\n\nexport const TEMPLATE_FORM_INITIAL_VALUES = {\n name: \"\",\n description: \"\",\n message: \"\",\n};\n\nexport const TEMPLATE_FORM_VALIDATION_SCHEMA = yup.object().shape({\n name: yup\n .string()\n .trim()\n .required(\n t(\"neetoApprovals.validations.required\", {\n what: t(\"neetoApprovals.common.name\"),\n })\n ),\n message: yup.string().test(\n \"message\",\n t(\"neetoApprovals.validations.required\", {\n what: t(\"neetoApprovals.inputs.labels.message\"),\n }),\n content => !isEditorEmpty(content)\n ),\n});\n","import React from \"react\";\n\nimport { withT } from \"neetocommons/react-utils\";\nimport { FormikEditor } from \"neetoeditor\";\n\nconst MessageEditor = withT(({ t, placeholders = [], initialValue = \"\" }) => (\n <FormikEditor\n {...{ initialValue }}\n required\n label={t(\"neetoApprovals.inputs.labels.message\")}\n name=\"message\"\n rows={3}\n variables={placeholders}\n placeholder={t(\"neetoApprovals.inputs.placeholders.enter_\", {\n what: t(\"neetoApprovals.inputs.labels.message\"),\n })}\n />\n));\n\nexport default MessageEditor;\n","import React from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport ToggleFeatureCard from \"neetomolecules/ToggleFeatureCard\";\nimport { Input, Textarea } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport MessageEditor from \"./MessageEditor\";\n\nconst TemplateForm = ({ placeholders, initialData }) => {\n const { t } = useTranslation();\n const { values, setFieldValue } = useFormikContext();\n\n const handleDescriptionToggle = ({ target: { checked } }) => {\n setFieldValue(\"descriptionEnabled\", checked);\n if (!checked) {\n setFieldValue(\"description\", \"\");\n }\n };\n\n return (\n <div className=\"flex w-full flex-col space-y-6\">\n <Input\n autoFocus\n required\n label={t(\"neetoApprovals.common.name\")}\n name=\"name\"\n placeholder={t(\"neetoApprovals.inputs.placeholders.name\")}\n />\n <ToggleFeatureCard\n switchName=\"descriptionEnabled\"\n title={t(\"neetoApprovals.inputs.labels.description\")}\n switchProps={{\n onChange: handleDescriptionToggle,\n tooltipProps: {\n enabledSwitchText: t(\n \"neetoApprovals.templates.descriptionToggle.enable\"\n ),\n disabledSwitchText: t(\n \"neetoApprovals.templates.descriptionToggle.disable\"\n ),\n },\n }}\n >\n {values.descriptionEnabled && (\n <Textarea\n className=\"w-full\"\n name=\"description\"\n placeholder={t(\"neetoApprovals.inputs.placeholders.description\")}\n />\n )}\n </ToggleFeatureCard>\n <MessageEditor {...{ placeholders }} initialValue={initialData.message} />\n </div>\n );\n};\n\nexport default TemplateForm;\n","import React, { useRef } from \"react\";\n\nimport { isPresent, noop } from \"neetocist\";\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { Pane, Typography } from \"neetoui\";\nimport { ActionBlock, Form as FormikForm } from \"neetoui/formik\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n TEMPLATE_FORM_INITIAL_VALUES,\n TEMPLATE_FORM_VALIDATION_SCHEMA,\n} from \"./constants\";\nimport TemplateForm from \"./TemplateForm\";\n\nconst Form = ({\n isOpen,\n onClose,\n initialData = {},\n onSubmit = noop,\n isLoading = false,\n placeholders,\n}) => {\n const inputReference = useRef(null);\n\n const { t } = useTranslation();\n\n const header = isEmpty(initialData)\n ? t(\"neetoApprovals.common.addNew_\", {\n what: t(\"neetoApprovals.common.template\", SINGULAR),\n })\n : t(\"neetoApprovals.common.edit_\", {\n what: t(\"neetoApprovals.common.template\", SINGULAR),\n });\n\n return (\n <Pane\n {...{ isOpen, onClose }}\n initialFocusRef={inputReference}\n size=\"large\"\n >\n <Pane.Header>\n <Typography style=\"h2\">{header}</Typography>\n </Pane.Header>\n <FormikForm\n formikProps={{\n enableReinitialize: true,\n initialValues: isPresent(initialData)\n ? initialData\n : TEMPLATE_FORM_INITIAL_VALUES,\n validationSchema: TEMPLATE_FORM_VALIDATION_SCHEMA,\n onSubmit,\n }}\n >\n <Pane.Body>\n <TemplateForm {...{ initialData, placeholders }} />\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n isSubmitting={isLoading}\n cancelButtonProps={{\n \"data-cy\": \"neeto-approvals-templates-close-template-form-btn\",\n onClick: onClose,\n }}\n submitButtonProps={{\n \"data-cy\": \"neeto-approvals-templates-save-template-btn\",\n }}\n />\n </Pane.Footer>\n </FormikForm>\n </Pane>\n );\n};\n\nexport default Form;\n","import React from \"react\";\n\nimport { useCreateTemplate } from \"hooks/reactQuery/templates/useTemplatesApi\";\n\nimport Form from \"./Form\";\n\nconst Create = ({ templateUrl, isOpen, onClose, templatePlaceholders }) => {\n const { mutate: createTemplate, isPending } = useCreateTemplate();\n\n const onSubmit = template => {\n const payload = { template };\n\n createTemplate({ url: templateUrl, payload }, { onSuccess: onClose });\n };\n\n return (\n <Form\n {...{ isOpen, onClose, onSubmit }}\n isLoading={isPending}\n placeholders={templatePlaceholders}\n />\n );\n};\n\nexport default Create;\n","import React from \"react\";\n\nimport { useUpdateTemplate } from \"hooks/reactQuery/templates/useTemplatesApi\";\n\nimport Form from \"./Form\";\n\nconst Edit = ({\n templateUrl,\n template,\n setTemplate,\n isOpen,\n onClose,\n templatePlaceholders,\n}) => {\n const { mutate: updateTemplate, isPending: isUpdating } = useUpdateTemplate({\n onSuccess: () => setTemplate({}),\n });\n\n const onSubmit = template => {\n const payload = { template };\n updateTemplate({ id: template.id, payload, url: templateUrl });\n };\n\n const initialData = {\n ...template,\n descriptionEnabled: !!template.description,\n };\n\n return (\n <Form\n {...{ initialData, isOpen, onClose, onSubmit }}\n isLoading={isUpdating}\n placeholders={templatePlaceholders}\n />\n );\n};\n\nexport default Edit;\n","import React from \"react\";\n\nimport { Label, Typography } from \"neetoui\";\n\nconst Field = ({ label, value }) => (\n <div className=\"flex flex-col items-start justify-center\">\n <Label className=\"mb-1 font-normal\">{label}</Label>\n <Typography style=\"body1\" weight=\"medium\">\n {value}\n </Typography>\n </div>\n);\n\nexport default React.memo(Field);\n","import React from \"react\";\n\nimport { EditorContent } from \"neetoeditor\";\nimport { Label, Pane, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Field from \"./Field\";\n\nconst MemoizedEditorContent = React.memo(EditorContent);\n\nconst TemplateDetails = ({ isOpen, onClose, template }) => {\n const { t } = useTranslation();\n const { name, description, message } = template;\n\n return (\n <Pane {...{ isOpen, onClose }}>\n <Pane.Header className=\"space-y-2\">\n <Typography style=\"h2\">\n {t(\"neetoApprovals.common.templateDetails\")}\n </Typography>\n </Pane.Header>\n <Pane.Body className=\"space-y-6\">\n <Field label={t(\"neetoApprovals.common.name\")} value={name} />\n <Field\n label={t(\"neetoApprovals.inputs.labels.description\")}\n value={description}\n />\n <div className=\"flex w-full flex-col space-y-4\">\n <Label className=\"mb-1 font-normal\">\n {t(\"neetoApprovals.inputs.labels.message\")}\n </Label>\n <MemoizedEditorContent\n className=\"neeto-ui-bg-gray-100 neeto-ui-rounded-lg p-3\"\n content={message}\n />\n </div>\n </Pane.Body>\n </Pane>\n );\n};\n\nexport default TemplateDetails;\n","import React from \"react\";\n\nimport { Trans } from \"react-i18next\";\nimport { Link } from \"react-router-dom\";\n\nexport const renderNoDataHelpText = ({ entity, url }) => (\n <Trans\n i18nKey=\"neetoApprovals.common.noDataHelpText\"\n values={{ entity }}\n components={{\n a: (\n <Link\n className=\"neeto-ui-text-primary-600 underline\"\n target=\"_blank\"\n to={{ pathname: url }}\n />\n ),\n }}\n />\n);\n","import React from \"react\";\n\nimport { DEFAULT_PAGE_SIZE, SINGULAR } from \"neetocommons/constants\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Table as NeetoUITable, NoData } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { renderNoDataHelpText } from \"utils\";\n\nimport { SORT_ORDER } from \"../constants\";\n\nconst Table = ({\n entity,\n columnData,\n rowData,\n totalCount,\n filters,\n setFilters,\n setIsPaneOpen,\n helpDocUrl,\n onEditClick,\n onDeleteClick,\n pageProperties,\n ...otherProps\n}) => {\n const { t } = useTranslation();\n\n const columns = columnData({ onEditClick, onDeleteClick });\n\n const handleTableChange = (_, __, sorter) => {\n setFilters({\n ...filters,\n sortBy: sorter.field,\n orderBy: SORT_ORDER[sorter.order],\n });\n };\n\n const noDataProps = {\n primaryButtonProps: {\n label: t(\"neetoApprovals.common.addNew_\", {\n what: t(\n \"neetoApprovals.common.template\",\n SINGULAR\n )?.toLocaleLowerCase(),\n }),\n onClick: () => setIsPaneOpen(true),\n },\n helpText: renderNoDataHelpText({ entity, url: helpDocUrl }),\n };\n\n if (isEmpty(rowData)) {\n return (\n <div className=\"flex h-full w-full flex-grow items-center justify-center\">\n <NoData\n title={t(\"neetoApprovals.common.notFound_\", { what: entity })}\n {...(!filters.searchTerm && noDataProps)}\n />\n </div>\n );\n }\n\n return (\n <TableWrapper\n className=\"mt-6\"\n hasPagination={totalCount > pageProperties.pageSize}\n >\n <NeetoUITable\n fixedHeight\n columnData={columns}\n currentPageNumber={pageProperties.page}\n defaultPageSize={pageProperties.pageSize}\n scroll={{ x: 0 }}\n tableLayout=\"fixed\"\n paginationProps={{\n hideOnSinglePage: rowData?.length < DEFAULT_PAGE_SIZE + 1,\n }}\n onChange={handleTableChange}\n {...{ rowData, totalCount, ...otherProps }}\n />\n </TableWrapper>\n );\n};\n\nexport default Table;\n","import React from \"react\";\n\nimport i18next from \"i18next\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Typography } from \"neetoui\";\n\nimport { DATA_CY_KEY } from \"components/Approvals/constants\";\n\nconst columnData = ({ onEditClick, onDeleteClick }) => [\n {\n dataIndex: \"name\",\n key: \"name\",\n sorter: true,\n title: i18next.t(\"neetoApprovals.common.name\"),\n ellipsis: true,\n render: (_, template) => (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Typography className=\"truncate\" style=\"body2\">\n {template.name}\n </Typography>\n <MoreDropdown\n dropdownProps={{\n strategy: \"fixed\",\n onClick: e => e.stopPropagation(),\n }}\n menuItems={[\n {\n key: \"edit\",\n label: i18next.t(\"neetoApprovals.common.edit\"),\n onClick: event => onEditClick(event, template),\n [DATA_CY_KEY]: \"neeto-approvals-templates-edit-template-btn\",\n },\n {\n key: \"delete\",\n label: i18next.t(\"neetoApprovals.common.delete\"),\n onClick: event => onDeleteClick(event, template),\n [DATA_CY_KEY]: \"neeto-approvals-templates-delete-template-btn\",\n },\n ]}\n />\n </div>\n ),\n },\n {\n dataIndex: \"description\",\n key: \"description\",\n title: i18next.t(\"neetoApprovals.inputs.labels.description\"),\n },\n];\n\nexport default columnData;\n","import React, { useEffect, useState } from \"react\";\n\nimport { SINGULAR, PLURAL } from \"neetocommons/constants\";\nimport { useDebounce } from \"neetocommons/react-utils\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport { Alert } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { handleEmptyPage } from \"common/utils\";\nimport {\n useDeleteTemplate,\n useFetchTemplates,\n} from \"hooks/reactQuery/templates/useTemplatesApi\";\nimport usePaginate from \"hooks/usePaginate\";\n\nimport Create from \"./Create\";\nimport Edit from \"./Edit\";\nimport TemplateDetails from \"./Show\";\nimport Table from \"./Table\";\nimport columnData from \"./utils/columnData\";\n\nimport { DEFAULT_FILTER_VALUES, SEARCH_DELAY } from \"../constants\";\n\nconst Templates = ({\n searchTerm,\n isNewTemplatePaneOpen,\n setIsNewTemplatePaneOpen,\n helpDocUrl,\n ...otherProps\n}) => {\n const [filters, setFilters] = useState(DEFAULT_FILTER_VALUES);\n const [selectedTemplate, setSelectedTemplate] = useState({});\n const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false);\n const [isEditPaneOpen, setIsEditPaneOpen] = useState(false);\n const [isShowPaneOpen, setIsShowPaneOpen] = useState(false);\n\n const { pageProperties, handlePageChange, resetPageProperties } =\n usePaginate();\n\n const { t } = useTranslation();\n\n const debouncedSearchTerm = useDebounce(searchTerm, SEARCH_DELAY);\n\n useEffect(() => {\n resetPageProperties();\n }, [searchTerm]);\n\n const { data, isLoading: isTemplateLoading } = useFetchTemplates({\n ...pageProperties,\n ...filters,\n searchTerm: debouncedSearchTerm.trim(),\n });\n\n const { templates = [], totalCount = 0 } = data || {};\n\n useEffect(() => {\n if (data) {\n handleEmptyPage(data?.templates, pageProperties, handlePageChange);\n }\n }, [data]);\n\n const { mutate: deleteTemplate, isPending: isDeleting } = useDeleteTemplate();\n\n useEffect(() => {\n if (!isEmpty(selectedTemplate)) return;\n setIsDeleteAlertOpen(false);\n setIsEditPaneOpen(false);\n setIsShowPaneOpen(false);\n }, [selectedTemplate]);\n\n const onEditClick = (event, template) => {\n event.stopPropagation();\n\n setSelectedTemplate(template);\n setIsEditPaneOpen(true);\n };\n\n const onRowClick = (_, templateDetails) => {\n setSelectedTemplate(templateDetails);\n setIsShowPaneOpen(true);\n };\n\n const onDeleteClick = (event, template) => {\n event.stopPropagation();\n\n setSelectedTemplate(template);\n setIsDeleteAlertOpen(true);\n };\n\n const handleDelete = templateId => {\n deleteTemplate({ templateId });\n setSelectedTemplate({});\n };\n\n const entity = t(\"neetoApprovals.common.template\", PLURAL);\n\n return (\n <>\n {isTemplateLoading ? (\n <PageLoader />\n ) : (\n <Table\n {...{\n columnData,\n entity,\n filters,\n handlePageChange,\n helpDocUrl,\n onDeleteClick,\n onEditClick,\n onRowClick,\n pageProperties,\n searchTerm,\n setFilters,\n totalCount,\n }}\n rowData={templates}\n setIsPaneOpen={setIsNewTemplatePaneOpen}\n />\n )}\n <Create\n isOpen={isNewTemplatePaneOpen}\n onClose={() => setIsNewTemplatePaneOpen(false)}\n {...otherProps}\n />\n <Edit\n isOpen={isEditPaneOpen}\n setTemplate={setSelectedTemplate}\n template={selectedTemplate}\n {...otherProps}\n onClose={() => setIsEditPaneOpen(false)}\n />\n <Alert\n isOpen={isDeleteAlertOpen}\n isSubmitting={isDeleting}\n submitButtonLabel={t(\"neetoApprovals.buttons.delete\")}\n message={\n <Trans\n i18nKey=\"neetoApprovals.alerts.deleting_\"\n values={{\n what: t(\"neetoApprovals.common.template\", SINGULAR),\n name: selectedTemplate?.name,\n }}\n />\n }\n title={t(\"neetoApprovals.common.delete_\", {\n what: t(\"neetoApprovals.common.template\", SINGULAR),\n })}\n onClose={() => setSelectedTemplate({})}\n onSubmit={() => handleDelete(selectedTemplate?.id)}\n />\n <TemplateDetails\n isOpen={isShowPaneOpen}\n template={selectedTemplate}\n onClose={() => setSelectedTemplate({})}\n />\n </>\n );\n};\n\nexport default Templates;\n","import React from \"react\";\n\nimport { t } from \"i18next\";\nimport { PLURAL, SINGULAR } from \"neetocommons/constants\";\nimport { Button } from \"neetoui\";\n\nimport { routes } from \"common/routes\";\n\nimport History from \"./History\";\nimport PendingRequests from \"./PendingRequests\";\nimport Templates from \"./Templates\";\n\nexport const createRoutes = ({\n config,\n isNewTemplatePaneOpen,\n searchTerm,\n setIsNewTemplatePaneOpen,\n}) => [\n {\n component: () => (\n <Templates\n {...{\n isNewTemplatePaneOpen,\n searchTerm,\n setIsNewTemplatePaneOpen,\n ...config,\n }}\n />\n ),\n path: `${config.approvalsPath}${routes.templates.index}`,\n actionBlock: () => (\n <Button\n data-cy=\"neeto-approvals-templates-add-new-button\"\n label={t(\"neetoApprovals.common.addNew_\", {\n what: t(\n \"neetoApprovals.common.template\",\n SINGULAR\n )?.toLocaleLowerCase(),\n })}\n onClick={() => setIsNewTemplatePaneOpen(true)}\n />\n ),\n searchPlaceholder: t(\"neetoApprovals.inputs.placeholders.search_\", {\n what: t(\"neetoApprovals.common.template\", PLURAL).toLocaleLowerCase(),\n }),\n },\n {\n component: () => <PendingRequests {...config} />,\n path: `${config.approvalsPath}${routes.pending}`,\n },\n {\n component: () => <History {...config} />,\n path: `${config.approvalsPath}${routes.history}`,\n },\n];\n","import React from \"react\";\n\nimport { findBy } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport NeetoHeader from \"neetomolecules/Header\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation } from \"react-router-dom\";\n\nconst Header = ({ appRoutes, breadcrumbs }) => {\n const { t } = useTranslation();\n\n const { pathname } = useLocation();\n\n const currentTab = findBy({ path: pathname }, appRoutes);\n\n return (\n <NeetoHeader\n actionBlock={currentTab?.actionBlock?.()}\n title={t(\"neetoApprovals.common.approval\", PLURAL)}\n searchProps={\n currentTab?.searchPlaceholder && {\n placeholder: currentTab?.searchPlaceholder,\n }\n }\n {...{ breadcrumbs }}\n />\n );\n};\n\nexport default Header;\n","import axios from \"axios\";\n\nimport { BASE_URL } from \"common/constants\";\n\nconst fetch = () => axios.get(`${BASE_URL}/views`);\n\nconst viewsApi = { fetch };\n\nexport default viewsApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport viewsApi from \"apis/views\";\nimport { QUERY_KEYS } from \"common/queryConstants\";\n\nconst useFetchViews = (options = {}) =>\n useQuery({\n queryKey: [QUERY_KEYS.VIEWS],\n queryFn: viewsApi.fetch,\n select: response => response.data || response,\n ...options,\n });\n\nexport { useFetchViews };\n","import React from \"react\";\n\nimport { Tab as NeetoUITab } from \"neetoui\";\nimport { keys } from \"ramda\";\nimport { useLocation, useHistory } from \"react-router-dom\";\n\nimport { routes } from \"common/routes\";\nimport { useFetchViews } from \"hooks/reactQuery/views/useViewsApi\";\n\nimport { getApprovalFilter } from \"./utils\";\n\nconst Tab = ({ approvalsPath }) => {\n const { pathname } = useLocation();\n\n const history = useHistory();\n\n const approvalFilter = getApprovalFilter();\n const approvalFilterKeys = keys(approvalFilter);\n const category = pathname.split(routes.approvals)[1]?.toLocaleUpperCase();\n\n const isActive = filter => category.includes(filter);\n\n const getRoute = filter => `${approvalsPath}${filter.toLowerCase()}`;\n\n const { data: { views = {} } = {} } = useFetchViews();\n\n return (\n <NeetoUITab>\n {approvalFilterKeys.map(filter => (\n <NeetoUITab.Item\n active={isActive(filter)}\n count={views[filter?.toLocaleLowerCase()]}\n key={filter}\n label={approvalFilter[filter].label}\n onClick={() => history.push(getRoute(filter))}\n >\n {approvalFilter[filter].label} (\n {views[filter?.toLocaleLowerCase()] || 0})\n </NeetoUITab.Item>\n ))}\n </NeetoUITab>\n );\n};\n\nexport default Tab;\n","import React, { useState } from \"react\";\n\nimport { routes } from \"common/routes\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport Container from \"neetomolecules/Container\";\nimport { Redirect, Route, Switch } from \"react-router-dom\";\n\nimport { createRoutes } from \"./createRoutes\";\nimport Header from \"./Header\";\nimport Tabs from \"./Tab\";\n\nconst Approvals = ({ config }) => {\n const { searchTerm = \"\" } = useQueryParams();\n const [isNewTemplatePaneOpen, setIsNewTemplatePaneOpen] = useState(false);\n\n const appRoutes = createRoutes({\n config,\n searchTerm,\n isNewTemplatePaneOpen,\n setIsNewTemplatePaneOpen,\n });\n\n return (\n <div className=\"w-full overflow-y-auto\">\n <Container>\n <Header {...{ appRoutes, ...config }} />\n <Tabs approvalsPath={config.approvalsPath} />\n <Switch>\n {appRoutes.map(({ path, component }) => (\n <Route exact {...{ component, path }} key={path} />\n ))}\n <Redirect\n exact\n from={config.approvalsPath}\n // eslint-disable-next-line @bigbinary/neeto/use-common-routes\n to={`${config.approvalsPath}${routes.pending}`}\n />\n </Switch>\n </Container>\n </div>\n );\n};\n\nexport default Approvals;\n","import axios from \"axios\";\n\nimport { BASE_URL } from \"common/constants\";\n\nconst fetch = params => axios.get(`${BASE_URL}/approvers`, { params });\n\nconst approversApi = { fetch };\n\nexport default approversApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport approversApi from \"apis/approvers\";\nimport { QUERY_KEYS } from \"common/queryConstants\";\n\nconst useFetchApprovers = (params = {}, options = {}) =>\n useQuery({\n queryKey: [QUERY_KEYS.APPROVERS, params],\n queryFn: () => approversApi.fetch(params),\n select: response => response.data || response,\n ...options,\n });\n\nexport { useFetchApprovers };\n","import React, { useEffect, useMemo, useRef, useState } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { FormikEditor } from \"neetoeditor\";\nimport { Select } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useFetchApprovers } from \"hooks/reactQuery/approvers/useApproversApi\";\nimport {\n useFetchTemplate,\n useFetchTemplates,\n} from \"hooks/reactQuery/templates/useTemplatesApi\";\n\nconst Form = ({\n requestableId = \"\",\n selectedTemplateData,\n setSelectedTemplateData,\n}) => {\n const { t } = useTranslation();\n\n const { setFieldValue } = useFormikContext();\n const inputRef = useRef(null);\n\n const [approverId, setApproverId] = useState(null);\n const [templateId, setTemplateId] = useState(null);\n\n const params = {\n requestableId,\n approverId,\n approvalRequestorId: globalProps.user?.id,\n };\n\n const { data: { templates = [] } = {} } = useFetchTemplates();\n const { data: { template = {} } = {} } = useFetchTemplate({\n id: templateId,\n params,\n });\n const { data: { approvers = [] } = {} } = useFetchApprovers();\n\n const approverOptions = useMemo(\n () =>\n approvers.map(approver => ({\n label: approver.name,\n value: approver.id,\n })),\n [approvers]\n );\n\n const templateOptions = templates.map(template => ({\n label: template.name,\n value: template.id,\n }));\n\n const updateMessage = () => {\n const message = template.parsedMessage || template.message;\n setFieldValue(\"message\", message);\n inputRef?.current?.editor?.commands?.setContent(message);\n };\n\n const handleTemplateChange = selectedTemplate => {\n setTemplateId(selectedTemplate.value);\n };\n\n const handleApproverChange = approver => {\n setApproverId(approver.value);\n setFieldValue(\"approver\", approver);\n };\n\n useEffect(() => {\n if (isEmpty(template)) return;\n setSelectedTemplateData(template);\n updateMessage();\n }, [template]);\n\n return (\n <div className=\"w-full space-y-6\">\n <Select\n label={t(\"neetoApprovals.select.approval\")}\n options={templateOptions}\n onChange={selectedTemplate => handleTemplateChange(selectedTemplate)}\n />\n {selectedTemplateData?.message && (\n <>\n <div className=\"flex space-x-6\">\n <Select\n required\n label={t(\"neetoApprovals.inputs.labels.approver\")}\n name=\"approver\"\n options={approverOptions}\n placeholder={t(\"neetoApprovals.inputs.placeholders.select_\", {\n what: t(\"neetoApprovals.common.approver\", SINGULAR),\n })}\n onChange={handleApproverChange}\n />\n </div>\n <div className=\"space-y-2\">\n <FormikEditor\n required\n label={t(\"neetoApprovals.inputs.labels.message\")}\n name=\"message\"\n ref={inputRef}\n rows={3}\n placeholder={t(\"neetoApprovals.inputs.placeholders.enter_\", {\n what: t(\"neetoApprovals.inputs.labels.message\"),\n })}\n />\n </div>\n </>\n )}\n </div>\n );\n};\n\nexport default Form;\n","import React, { useState } from \"react\";\n\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { Pane, Typography } from \"neetoui\";\nimport { ActionBlock, Form as FormikForm } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport ApprovalRequestForm from \"./ApprovalRequestForm\";\nimport {\n APPROVAL_REQUEST_FORM_INITIAL_VALUES,\n REQUEST_FORM_VALIDATION_SCHEMA,\n} from \"./constants\";\n\nconst Form = ({\n isOpen,\n setIsPaneOpen,\n onSubmit,\n isLoading,\n requestableId = \"\",\n}) => {\n const [selectedTemplateData, setSelectedTemplateData] = useState({});\n const { t } = useTranslation();\n\n const onClose = () => {\n setIsPaneOpen(false);\n setSelectedTemplateData({});\n };\n\n const handleSubmit = values => {\n onSubmit(\n { message: values.message, approverId: values.approver.value },\n selectedTemplateData,\n onClose\n );\n };\n\n return (\n <Pane {...{ isOpen, onClose }}>\n <Pane.Header>\n <Typography style=\"h2\">\n {t(\"neetoApprovals.common.add_\", {\n what: t(\"neetoApprovals.common.approval\", SINGULAR),\n })}\n </Typography>\n </Pane.Header>\n <FormikForm\n formikProps={{\n onSubmit: handleSubmit,\n initialValues: APPROVAL_REQUEST_FORM_INITIAL_VALUES,\n validationSchema: REQUEST_FORM_VALIDATION_SCHEMA,\n }}\n >\n <Pane.Body>\n <ApprovalRequestForm\n {...{\n requestableId,\n selectedTemplateData,\n setSelectedTemplateData,\n }}\n />\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onClose }}\n isSubmitting={isLoading}\n />\n </Pane.Footer>\n </FormikForm>\n </Pane>\n );\n};\n\nexport default Form;\n","import axios from \"axios\";\nimport { BASE_URL } from \"common/constants\";\n\nconst show = id => axios.get(`${BASE_URL}/public/requests/${id}`);\n\nconst accept = ({ id, note }) =>\n axios.patch(`${BASE_URL}/public/requests/${id}/accept`, { note });\n\nconst decline = ({ id, note }) =>\n axios.patch(`${BASE_URL}/public/requests/${id}/decline`, { note });\n\nconst publicRequestsApi = { show, accept, decline };\n\nexport default publicRequestsApi;\n","import { useMutationWithInvalidation } from \"neetocommons/react-utils\";\nimport { useQuery } from \"@tanstack/react-query\";\n\nimport publicRequestsApi from \"apis/public/requests\";\nimport { QUERY_KEYS } from \"common/queryConstants\";\n\nconst useFetchPublicRequest = ({ requestId }, options) =>\n useQuery({\n queryKey: [QUERY_KEYS.SHOW_PUBLIC_REQUEST, requestId],\n queryFn: () => publicRequestsApi.show(requestId),\n ...options,\n });\n\nconst useAcceptPendingRequest = options =>\n useMutationWithInvalidation(publicRequestsApi.accept, {\n keysToInvalidate: [\n [QUERY_KEYS.SHOW_PUBLIC_REQUEST],\n [QUERY_KEYS.REQUESTS],\n [QUERY_KEYS.VIEWS],\n ],\n ...options,\n });\n\nconst useDeclinePendingRequest = options =>\n useMutationWithInvalidation(publicRequestsApi.decline, {\n keysToInvalidate: [\n [QUERY_KEYS.SHOW_PUBLIC_REQUEST],\n [QUERY_KEYS.REQUESTS],\n [QUERY_KEYS.VIEWS],\n ],\n ...options,\n });\n\nexport {\n useFetchPublicRequest,\n useAcceptPendingRequest,\n useDeclinePendingRequest,\n};\n","import { PLURAL } from \"neetocommons/constants\";\nimport Header from \"neetomolecules/Header\";\nimport Container from \"neetomolecules/Container\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport { EditorContent } from \"neetoeditor\";\n\nimport { Button, Callout, Textarea, Typography } from \"neetoui\";\n\nimport {\n useFetchPublicRequest,\n useAcceptPendingRequest,\n useDeclinePendingRequest,\n} from \"hooks/reactQuery/public/requests/useApprovalRequest\";\nimport React, { useEffect, useState } from \"react\";\nimport { useParams } from \"react-router-dom\";\nimport { STATUSES } from \"../constants\";\nimport { Trans, useTranslation } from \"react-i18next\";\nimport { isEmpty } from \"ramda\";\nimport { withEventTargetValue } from \"neetocommons/utils\";\n\nconst Public = () => {\n const [note, setNote] = useState(\"\");\n\n const { id } = useParams();\n const { t } = useTranslation();\n\n const { data, isLoading } = useFetchPublicRequest({ requestId: id });\n\n const { approvalRequest = {} } = data || {};\n\n useEffect(() => {\n if (data?.approvalRequest?.note) {\n setNote(data.approvalRequest.note);\n }\n }, [data]);\n\n const { mutate: acceptPendingRequest, isPending: isAccepting } =\n useAcceptPendingRequest();\n const { mutate: declinePendingRequest, isPending: isDeclining } =\n useDeclinePendingRequest();\n\n const calloutStyle =\n approvalRequest.status === STATUSES.approved ? \"success\" : \"danger\";\n const hideTextArea =\n approvalRequest.status !== STATUSES.pending && isEmpty(note);\n\n if (isLoading) {\n return (\n <div className=\"h-screen items-center justify-center\">\n <PageLoader />\n </div>\n );\n }\n\n return (\n <Container>\n <Header title={t(\"neetoApprovals.common.approval\", PLURAL)} />\n <div className=\"flex h-screen w-full flex-col items-center\">\n <div className=\"neeto-ui-shadow-s w-2/5 rounded border p-6\">\n {approvalRequest ? (\n <div className=\"flex w-full flex-col space-y-6\">\n <Typography style=\"h2\">{approvalRequest.title}</Typography>\n <EditorContent content={approvalRequest.message} />\n {!hideTextArea && (\n <Textarea\n label={t(\"neetoApprovals.common.note\")}\n placeholder={t(\"neetoApprovals.inputs.placeholders.add_\", {\n what: t(\"neetoApprovals.common.note\")?.toLocaleLowerCase(),\n })}\n value={note}\n disabled={approvalRequest.status !== STATUSES.pending}\n onChange={withEventTargetValue(setNote)}\n />\n )}\n {approvalRequest.status === STATUSES.pending ? (\n <div className=\"mx-auto mt-8 flex space-x-6\">\n <Button\n label={t(\"neetoApprovals.buttons.approve\")}\n onClick={() =>\n acceptPendingRequest({\n id: approvalRequest.id,\n note,\n })\n }\n loading={isAccepting}\n />\n <Button\n label={t(\"neetoApprovals.buttons.decline\")}\n onClick={() =>\n declinePendingRequest({\n id: approvalRequest.id,\n note,\n })\n }\n style=\"secondary\"\n loading={isDeclining}\n />\n </div>\n ) : (\n <Callout style={calloutStyle}>\n <Typography style=\"body1\">\n <Trans\n i18nKey=\"neetoApprovals.typography.approvalRequest\"\n values={{\n status: approvalRequest.status,\n }}\n />\n </Typography>\n </Callout>\n )}\n </div>\n ) : (\n <Typography style=\"h4\" className=\"text-center\">\n {t(\"neetoApprovals.common.notFound\")}\n </Typography>\n )}\n </div>\n </div>\n </Container>\n );\n};\n\nexport default Public;\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":["toPrimitive","toPropertyKey","arrayLikeToArray","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","routes","home","approvals","pending","history","templates","index","edit","handleEmptyPage","data","pageProperties","handlePageChange","isEmpty","page","pageSize","React","BASE_URL","TEMPLATE_URL","concat","fetch","params","url","axios","get","update","_ref","id","payload","put","request","requestsApi","QUERY_KEYS","APPROVERS","TEMPLATES","REQUESTS","SHOW_TEMPLATE","SHOW_PUBLIC_REQUEST","VIEWS","useFetchRequests","requestUrl","_ref$params","_ref$options","options","useQuery","_objectSpread","queryKey","queryFn","select","response","placeholderData","keepPreviousData","useUpdateRequest","useMutationWithInvalidation","keysToInvalidate","usePaginate","_useState","useState","DEFAULT_PAGE_INDEX","DEFAULT_PAGE_SIZE","_useState2","_slicedToArray","setPageProperties","resetPageProperties","DEFAULT_FILTER_VALUES","searchTerm","sortBy","orderBy","SEARCH_DELAY","STATUSES","approved","rejected","cancelled","STATUS_TAG_STYLE","APPROVAL_REQUEST_FORM_INITIAL_VALUES","message","approver","STATUS_UPDATED_BY","t","DATA_CY_KEY","SORT_ORDER","ascend","descend","REQUEST_FORM_VALIDATION_SCHEMA","yup","object","shape","string","test","what","content","isEditorEmpty","required","HISTORY_TABLE_COLUMNS","dataIndex","key","sorter","width","title","render","approvalLabel","requestableUrl","URL","window","location","origin","_jsx","Button","label","style","to","pathname","status","Tag","capitalize","createdAt","DateFormat","FromNow","date","typographyProps","Footer","isLoading","handleSubmit","isCurrentUserApprover","isCurrentUserRequester","_useTranslation","useTranslation","_jsxs","Pane","className","children","loading","type","onClick","dayjs","extend","utc","timezone","updateApprovalDetails","requestsData","approvalDetails","isPresent","requests","findBy","timeInZone","time","_globalProps$user","_globalProps$user2","globalProps","user","timeZone","tz","setDefault","getApprovalFilter","PENDING","value","PLURAL","HISTORY","MemoizedEditorContent","memo","EditorContent","RequestDetailsPane","_window$globalProps","_window$globalProps2","isOpen","onClose","_ref$isPending","isPending","_approvalDetails$stat","approverName","approverEmail","_approvalDetails$note","note","initialNote","requesterName","requesterEmail","setNote","_useUpdateRequest","updatePendingRequest","mutate","isUpdateRequestPending","useEffect","requesterOrApproverDetails","email","getStatusLabel","handleOnClose","_defineProperty","Date","onSuccess","size","Header","Typography","Body","Label","weight","dateFormat","defaultWithTime","Textarea","disabled","placeholder","onChange","withEventTargetValue","History","filters","setFilters","debouncedSearchTerm","useDebounce","_usePaginate","_useState3","_useState4","setApprovalDetails","_useFetchRequests","trim","_ref2","_ref2$requests","approvalHistories","_ref2$totalCount","totalCount","handleTableChange","_","__","camelToSnakeCase","field","order","_Fragment","TableWrapper","hasPagination","Table","allowRowClick","fixedHeight","columnData","currentPageNumber","defaultPageSize","rowData","paginationProps","hideOnSinglePage","length","onRowClick","NoData","PENDING_TABLE_COLUMNS","removeBy","PendingRequests","pendingRequests","objectWithoutPropertiesLoose","show","create","_ref2$url","post","_ref3","_ref3$url","destroy","_ref4","templateId","templatesApi","useFetchTemplates","arguments","undefined","useFetchTemplate","enabled","useCreateTemplate","useUpdateTemplate","useDeleteTemplate","TEMPLATE_FORM_INITIAL_VALUES","name","description","TEMPLATE_FORM_VALIDATION_SCHEMA","MessageEditor","withT","_ref$placeholders","placeholders","_ref$initialValue","initialValue","FormikEditor","rows","variables","TemplateForm","initialData","_useFormikContext","useFormikContext","values","setFieldValue","handleDescriptionToggle","checked","target","Input","autoFocus","ToggleFeatureCard","switchName","switchProps","tooltipProps","enabledSwitchText","disabledSwitchText","descriptionEnabled","Form","_ref$initialData","_ref$onSubmit","onSubmit","noop","_ref$isLoading","inputReference","useRef","header","SINGULAR","initialFocusRef","FormikForm","formikProps","enableReinitialize","initialValues","validationSchema","ActionBlock","isSubmitting","cancelButtonProps","submitButtonProps","Create","templateUrl","templatePlaceholders","_useCreateTemplate","createTemplate","template","Edit","setTemplate","_useUpdateTemplate","updateTemplate","isUpdating","Field","TemplateDetails","renderNoDataHelpText","entity","Trans","i18nKey","components","a","Link","_t","setIsPaneOpen","helpDocUrl","onEditClick","onDeleteClick","otherProps","_objectWithoutProperties","_excluded","columns","noDataProps","primaryButtonProps","toLocaleLowerCase","helpText","NeetoUITable","scroll","x","tableLayout","i18next","ellipsis","MoreDropdown","dropdownProps","strategy","e","stopPropagation","menuItems","event","Templates","isNewTemplatePaneOpen","setIsNewTemplatePaneOpen","selectedTemplate","setSelectedTemplate","_useState5","_useState6","isDeleteAlertOpen","setIsDeleteAlertOpen","_useState7","_useState8","isEditPaneOpen","setIsEditPaneOpen","_useState9","_useState10","isShowPaneOpen","setIsShowPaneOpen","_useFetchTemplates","isTemplateLoading","_ref2$templates","_useDeleteTemplate","deleteTemplate","isDeleting","templateDetails","handleDelete","PageLoader","Alert","submitButtonLabel","createRoutes","config","component","path","approvalsPath","actionBlock","searchPlaceholder","_currentTab$actionBlo","appRoutes","breadcrumbs","_useLocation","useLocation","currentTab","NeetoHeader","call","searchProps","viewsApi","useFetchViews","Tab","_pathname$split$","useHistory","approvalFilter","approvalFilterKeys","keys","category","split","toLocaleUpperCase","isActive","filter","includes","getRoute","toLowerCase","_useFetchViews","_useFetchViews$data","_useFetchViews$data2","_useFetchViews$data2$","views","NeetoUITab","map","Item","active","count","push","Approvals","_useQueryParams","useQueryParams","_useQueryParams$searc","Container","Tabs","Switch","_createElement","Route","exact","Redirect","from","approversApi","useFetchApprovers","_ref$requestableId","requestableId","selectedTemplateData","setSelectedTemplateData","inputRef","approverId","setApproverId","setTemplateId","approvalRequestorId","_useFetchTemplates$da","_useFetchTemplates$da2","_useFetchTemplates$da3","_useFetchTemplate","_useFetchTemplate$dat","_useFetchTemplate$dat2","_useFetchTemplate$dat3","_useFetchApprovers","_useFetchApprovers$da","_useFetchApprovers$da2","_useFetchApprovers$da3","approvers","approverOptions","useMemo","templateOptions","updateMessage","_inputRef$current","parsedMessage","current","editor","commands","setContent","handleTemplateChange","handleApproverChange","Select","ref","ApprovalRequestForm","accept","patch","decline","publicRequestsApi","useFetchPublicRequest","requestId","useAcceptPendingRequest","useDeclinePendingRequest","Public","_useParams","useParams","_useFetchPublicReques","_ref$approvalRequest","approvalRequest","_data$approvalRequest","_useAcceptPendingRequ","acceptPendingRequest","isAccepting","_useDeclinePendingReq","declinePendingRequest","isDeclining","calloutStyle","hideTextArea","Callout"],"mappings":"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"}