{"version":3,"file":"index-legacy.1617a0a7.js","sources":["../../../../src/composables/tron/useResourceTypeText.ts","../../../../src/assets/imgs/activity-pc-ch.svg","../../../../src/assets/imgs/activity-pc-en.svg","../../../../src/assets/imgs/activity-imtoken.svg","../../../../src/components/activity/src/Desktop.vue","../../../../src/assets/imgs/arrow-s2.svg","../../../../src/assets/imgs/c2c-sell.png","../../../../src/pages-components/c2c/components/FastTrad.vue","../../../../src/composables/app/getC2cAmountCalculator.ts","../../../../src/pages-components/c2c/components/buy/hooks/useBuy.ts","../../../../src/pages-components/c2c/components/buy/machine/c2cBuyMachine.ts","../../../../src/pages-components/c2c/components/buy/machine/useC2cBuyMachine.ts","../../../../src/components/order-create/src/OrderCreate.vue","../../../../src/pages-components/c2c/components/buy/BuyTnfoConfirmation.vue","../../../../src/pages-components/c2c/components/buy/BuyPopupGather.vue","../../../../src/components/custom-input-number/src/CustomInputNumber.vue","../../../../src/components/check-box/CheckBox.vue","../../../../src/pages-components/c2c/components/buy/BuyPopup.vue","../../../../src/pages-components/c2c/hooks/useMultiSign.ts","../../../../src/pages-components/c2c/hooks/useSell.ts","../../../../src/pages-components/c2c/components/freeze/hooks/useFreeze.ts","../../../../src/pages-components/c2c/components/freeze/FreezePopup.vue","../../../../src/pages-components/c2c/components/sell/machine/c2cSellMachine.ts","../../../../src/pages-components/c2c/components/sell/machine/useC2cSellMachine.ts","../../../../src/pages-components/c2c/components/sell/SellPopup.vue","../../../../src/pages-components/c2c/components/sell/hooks/index.ts","../../../../src/assets/imgs/no-trade.png","../../../../src/pages-components/c2c/components/sell/SelfHelpOrder.vue","../../../../src/pages-components/c2c/components/VoteModal.vue","../../../../src/pages-components/c2c/components/current-order/RightExtra.vue","../../../../src/pages-components/c2c/components/current-order/CurrentOrder.vue","../../../../src/pages-components/c2c/components/history/LatestTable.vue","../../../../src/pages-components/c2c/components/history/RecycleResoure.vue","../../../../src/pages-components/c2c/components/history/AgentTable.vue","../../../../src/pages-components/c2c/components/history/Progress.vue","../../../../src/pages-components/c2c/components/history/MineOrderDetail.vue","../../../../src/pages-components/c2c/components/history/BuyTable.vue","../../../../src/pages-components/c2c/components/history/index.vue","../../../../src/pages-components/c2c/index.vue","../../../../src/pages/c2c/index.vue","../../../../src/composables/imtoken/useIsImtoken.ts"],"sourcesContent":["import { TronRes } from '~/utils/tron-v2'\r\n\r\nexport function useResourceTypeText(type: Ref) {\r\n return computed(() => {\r\n return type.value === TronRes.BANDWIDTH ? $t('IgN1EoVRFTDyCVLbFG-oT') : $t('YUG0RoDj9Kcw8PtVRPR9Y')\r\n })\r\n}\r\n","export default \"__VITE_ASSET__49cf4299__\"","export default \"__VITE_ASSET__b16bb195__\"","export default \"__VITE_ASSET__53e41bea__\"","\r\n\r\n\r\n\r\n\r\n","export default \"__VITE_ASSET__c796d0e8__\"","export default \"__VITE_ASSET__82b75fae__\"","\r\n\r\n\r\n\r\n\r\n","import { reactiveComputed } from '@vueuse/core/index'\r\nimport BigNumber, { default as bignumber } from 'bignumber.js';\r\n\r\ninterface ResourceParams {\r\n resourceType: number\r\n rentTimeUnit: 'h' | 'd'| 'm'\r\n rentDuration: number\r\n}\r\n\r\ninterface DiscountParams {\r\n rentTimeUnit: 'h' | 'd'| 'm'\r\n rentDuration: number\r\n resourceValue: number | null\r\n resourceType: number\r\n priceInSun: number\r\n\r\n}\r\n\r\n/**\r\n * 资源价格区间,用于输入框限制及输入判断\r\n * @param resourceType TronRes\r\n */\r\nexport function resourcePriceRange(resourceType: Ref) {\r\n const { config } = useAppState()\r\n return reactiveComputed(() => {\r\n const range = {\r\n c2cMinValue: 0,\r\n c2cMaxValue: 0,\r\n }\r\n if (!config.value?.order)\r\n return range\r\n const order = config.value?.order\r\n range.c2cMinValue = unref(resourceType)\r\n ? order.energy_c2c_min_value\r\n : order.bandwidth_c2c_min_value\r\n range.c2cMaxValue = unref(resourceType)\r\n ? order.energy_c2c_max_value\r\n : order.bandwidth_c2c_max_value\r\n\r\n return range\r\n })\r\n}\r\n\r\n/**\r\n * 单价区间\r\n * @param params\r\n */\r\nexport function resourceUnitPrice(params: T) {\r\n const { config } = useAppState()\r\n const resourceType = computed(() => params.resourceType ? 'energy' : 'bandwidth')\r\n return reactiveComputed(() => {\r\n const type = unref(resourceType)\r\n \r\n const range = {\r\n c2cMinSun: config.value?.price_c2c[type]!.sun ?? 90, // 最小值\r\n c2cMaxSun: 0,\r\n }\r\n\r\n const source = config.value?.price_c2c[type]\r\n\r\n if (!source)\r\n return range\r\n if (params.rentTimeUnit === 'm') {\r\n range.c2cMinSun = source.sun_m\r\n }\r\n if (params.rentTimeUnit === 'd') {\r\n if (params.rentDuration === 1)\r\n range.c2cMinSun = source.sun_1d || 0\r\n }\r\n else if (params.rentTimeUnit === 'h') {\r\n if (params.rentDuration === 1)\r\n range.c2cMinSun = source.sun_1h || 0\r\n else if (params.rentDuration === 6)\r\n range.c2cMinSun = source.sun_6h || 0\r\n else if (params.rentDuration === 3)\r\n range.c2cMinSun = source.sun_3h || 0\r\n }\r\n\r\n range.c2cMaxSun = source?.max_sun\r\n\r\n return range\r\n })\r\n}\r\n\r\n/**\r\n * 默认单价\r\n * @param params\r\n */\r\nexport function resourceDefaultPrice(params: T) {\r\n const { config } = useAppState()\r\n const resourceType = computed(() => params.resourceType ? 'energy' : 'bandwidth')\r\n return computed(() => {\r\n const type = resourceType.value.toLowerCase()\r\n // @ts-expect-error\r\n const source = config.value?.price_c2c[type]\r\n if (!source)\r\n return 0\r\n let defaultPriceInSun = source.default_sun\r\n\r\n if (params.rentTimeUnit === 'm') {\r\n defaultPriceInSun = source.default_sun_m\r\n }\r\n if (params.rentTimeUnit === 'd') {\r\n if (params.rentDuration === 1)\r\n defaultPriceInSun = source.default_sun_1d\r\n }\r\n else if (params.rentTimeUnit === 'h') {\r\n if (params.rentDuration === 1)\r\n defaultPriceInSun = source.default_sun_1h\r\n else if (params.rentDuration === 6)\r\n defaultPriceInSun = source.default_sun_6h\r\n else if (params.rentDuration === 3)\r\n defaultPriceInSun = source.default_sun_3h\r\n }\r\n return defaultPriceInSun\r\n })\r\n}\r\n\r\n/**\r\n * 计算折扣\r\n * @param params\r\n * todo 折扣类型返回有问题\r\n */\r\nexport function discountResult(params: T) {\r\n return reactiveComputed(() => {\r\n const { config } = useAppState()\r\n const info = {\r\n fee: bignumber(0),\r\n amount: bignumber(0),\r\n save: bignumber(0),\r\n discount: bignumber(0),\r\n needBurning: bignumber(0),\r\n }\r\n if (!params.priceInSun || !params.resourceValue)\r\n return info\r\n const day = params.rentTimeUnit === 'd' ? bignumber(params.rentDuration) : bignumber(1)\r\n \r\n const needBurning = params.resourceType\r\n ? bignumber(params.resourceValue).multipliedBy((config.value?.estimate.energy_price ?? 210)).dividedBy(1000000).multipliedBy(day)\r\n : bignumber(1000).dividedBy(1000000).multipliedBy(params.resourceValue).multipliedBy(day);\r\n\r\n info.needBurning = needBurning\r\n info.amount = calcAmount(params)\r\n \r\n // todo 此处将toFixed 改成 BigNumber.ROUND_DOWN 截断\r\n info.save = needBurning.minus(info.amount).isNegative()\r\n ? new BigNumber(0)\r\n : needBurning.minus(info.amount).decimalPlaces(2, BigNumber.ROUND_DOWN);\r\n \r\n const discountFormula = bignumber(100).multipliedBy(bignumber(1).minus(info.amount.dividedBy(needBurning)));\r\n info.discount = discountFormula.isNegative()\r\n ? bignumber(0)\r\n : discountFormula.decimalPlaces(0, BigNumber.ROUND_DOWN);\r\n \r\n\r\n return info\r\n })\r\n}\r\n\r\nfunction calcAmount(params: T) {\r\n let payAmount = bignumber(0)\r\n switch (params.rentTimeUnit) {\r\n case 'd':\r\n if (params.rentDuration < 1 || params.rentDuration > 30)\r\n break\r\n \r\n payAmount = bignumber((params.resourceValue ?? 0))\r\n .multipliedBy(params.priceInSun)\r\n .dividedBy(1000000)\r\n .multipliedBy(params.rentDuration)\r\n .decimalPlaces(6, BigNumber.ROUND_DOWN);\r\n break;\r\n // 默认:小时、分钟\r\n default:\r\n if (params.rentDuration < 1 || params.rentDuration > 23)\r\n break\r\n \r\n payAmount = bignumber((params.resourceValue ?? 0))\r\n .multipliedBy(params.priceInSun)\r\n .dividedBy(1000000)\r\n .multipliedBy(1)\r\n .decimalPlaces(6, BigNumber.ROUND_DOWN);\r\n break;\r\n \r\n }\r\n return payAmount\r\n}\r\n","import { createInjectionState, reactiveComputed, useEventBus } from '@vueuse/core'\r\nimport { TronRes, tron } from '~/utils/tron-v2'\r\nimport { EPaymentMethod } from '~/components/pay-type/src/PayType.vue'\r\nimport { imtoken } from '~/utils/imtoken'\r\nimport { useRentalTime } from '~/composables/useRentalTime'\r\nimport { discountResult, resourceDefaultPrice, resourcePriceRange, resourceUnitPrice } from '~/composables/app/getC2cAmountCalculator'\r\nimport { useUserInfo } from '~/composables/app'\r\n\r\ninterface IFormData {\r\n resourceType: number\r\n receiveAddress: string\r\n resourceValue: number | null\r\n priceInSun: number\r\n rentTimeSecond: number\r\n rentTimeUnit: 'h' | 'd' | 'm'\r\n rentDuration: number\r\n times: number\r\n waitSecond: number\r\n}\r\nexport const [useBuyProvider, useBuy] = createInjectionState(() => {\r\n const { config } = useAppState()\r\n const { shortcutTime } = useRentalTime('c2c')\r\n const { account, isConnected } = tronComp.useAccountCurrent()\r\n const formData = reactive({\r\n resourceType: TronRes.ENERGY,\r\n receiveAddress: '',\r\n resourceValue: null,\r\n priceInSun: 0,\r\n rentTimeSecond: 259200,\r\n rentTimeUnit: 'd',\r\n rentDuration: 3,\r\n times: 1, // 笔数\r\n waitSecond: 1800, // 笔数\r\n })\r\n const fromDataRefs = toRefs(formData)\r\n\r\n const unitPriceRange = resourcePriceRange(fromDataRefs.resourceType)\r\n const priceRange = resourceUnitPrice(formData)\r\n const defaultPriceInSun = resourceDefaultPrice(formData)\r\n const discount = discountResult(formData)\r\n\r\n const buyForm = useAntFormValidator({\r\n resourceType: {\r\n value: fromDataRefs.resourceType,\r\n },\r\n receiveAddress: {\r\n value: fromDataRefs.receiveAddress,\r\n validator(rule, value) {\r\n if (!value)\r\n return Promise.reject($t('koczkm929Fmicnja2sYs4'))\r\n\r\n if (isUnaddressDom.value) {\r\n if (!imtoken.isImToken() && !tron.isAddress(value))\r\n return Promise.reject($t('mbKTfi73xuZvYVdZnac7'))\r\n }\r\n return Promise.resolve()\r\n },\r\n },\r\n resourceValue: {\r\n value: fromDataRefs.resourceValue,\r\n validator(rule, value) {\r\n const type = resourceType.value === 'ENERGY' ? $t('Mqe_hlD_yGPsAMB9oaO1D') : $t('xo7kGD9R2fV50wOIihlhL')\r\n\r\n if (typeof value !== 'number')\r\n return Promise.reject($t('cO4MIzIlIHzj5eWyvgb16', { type }))\r\n\r\n if (!value || value <= 0)\r\n return Promise.reject($t('Z3dE8F8H0GPEYq_juWdf5'))\r\n\r\n if (value < unitPriceRange.c2cMinValue)\r\n return Promise.reject(`${$t('9Air0S8Iviz5hpGdRb9Za')} : ${unitPriceRange.c2cMinValue}`)\r\n\r\n if (value > unitPriceRange.c2cMaxValue)\r\n return Promise.reject(`${$t('onYvOfwpMf8GcNrAc5r4H')} ${unitPriceRange.c2cMaxValue}`)\r\n\r\n return Promise.resolve()\r\n },\r\n },\r\n priceInSun: {\r\n value: fromDataRefs.priceInSun,\r\n validator(rule, value) {\r\n if (typeof value !== 'number')\r\n return Promise.reject($t('cw6ImkkTup21CecCdWac'))\r\n\r\n return Promise.resolve()\r\n },\r\n },\r\n rentTimeSecond: {\r\n value: fromDataRefs.rentTimeSecond,\r\n validator(rule, value) {\r\n if (!value)\r\n return Promise.reject($t('dHgidzfd5qiruU6fTpsQ'))\r\n\r\n return Promise.resolve()\r\n },\r\n },\r\n waitSecond:{\r\n value : fromDataRefs.waitSecond\r\n }\r\n })\r\n\r\n const isPenNumber = ref(false)\r\n\r\n const otherMode = computed(() => !!tron.tronWeb && isConnected.value)\r\n\r\n const changeEnergyUnit = (e: boolean) => {\r\n isPenNumber.value = e\r\n }\r\n\r\n const resourceType = computed(() =>\r\n formData.resourceType ? 'ENERGY' : 'BANDWIDTH',\r\n )\r\n const shortcut = computed(() => resourceType.value === 'ENERGY' ? config.value?.order.energy_c2c_quick_options : config.value?.order.bandwidth_quick_options)\r\n\r\n const chooseRentDuration = (item?: number) => {\r\n item = item ?? formData.rentTimeSecond\r\n const data = shortcutTime?.find((i: any) => i.value === item)\r\n if (!data)\r\n return\r\n formData.rentTimeSecond = data.value\r\n formData.rentDuration = data.dur\r\n formData.rentTimeUnit = data.unit\r\n formData.priceInSun = defaultPriceInSun.value\r\n buyForm.$form.value?.clearValidate()\r\n }\r\n\r\n const isOpenTTPay = computed(() => config.value?.base.enable_ttpay)\r\n\r\n /** 是否下载有tron钱包插件 */\r\n const isUnaddressDom = computed(() => typeof window.tronWeb === 'object' || imtoken.isImToken())\r\n\r\n const onSubmit = async () => {}\r\n\r\n const onValidate = async () => {}\r\n\r\n const payType = ref(EPaymentMethod.DAPP)\r\n\r\n const paymentMethod = computed(() => {\r\n switch (payType.value) {\r\n case EPaymentMethod.DAPP:\r\n return 'dapp'\r\n case EPaymentMethod.TTPAY:\r\n return 'ttpay'\r\n case EPaymentMethod.BALANCE:\r\n return 'balance'\r\n default:\r\n return 'dapp'\r\n }\r\n })\r\n\r\n const togglePayType = (code: number) => {\r\n payType.value = code\r\n }\r\n const { trxMoney } = useUserInfo()\r\n /** 按钮组显示条件 */\r\n const buttonGroup = reactiveComputed(() => {\r\n return {\r\n walletConnection:\r\n !toValue(isOpenTTPay)\r\n && toValue(isUnaddressDom)\r\n && !toValue(isConnected),\r\n walletConnectionToPay:\r\n toValue(payType) === EPaymentMethod.DAPP\r\n && toValue(isUnaddressDom)\r\n && !toValue(isConnected),\r\n download:\r\n toValue(payType) === EPaymentMethod.DAPP && !toValue(isUnaddressDom),\r\n pay:\r\n toValue(payType) === EPaymentMethod.TTPAY\r\n // eslint-disable-next-line style/no-mixed-operators\r\n || toValue(payType) === EPaymentMethod.BALANCE && (unref(trxMoney) ?? 0) >= toDecimalPlaces(discount.amount, 6)\r\n || (toValue(payType) === EPaymentMethod.DAPP && toValue(isConnected)),\r\n balanceTip: toValue(payType) === EPaymentMethod.BALANCE && (unref(trxMoney) ?? 0) < toDecimalPlaces(discount.amount, 6),\r\n }\r\n })\r\n\r\n const isRentDays = computed(() => formData.rentTimeUnit === 'd' && formData?.rentDuration > 1)\r\n\r\n const paymentAddress = computed(\r\n () => config.value?.wallet?.payment_c2c_address,\r\n )\r\n\r\n const bus = useEventBus('SWITCH-WALLET')\r\n\r\n // 监听钱包切换\r\n bus.on(() => {\r\n formData.receiveAddress = account.address\r\n })\r\n\r\n watchEffect(() => {\r\n formData.priceInSun = defaultPriceInSun.value\r\n })\r\n\r\n watch(isConnected, () => {\r\n formData.receiveAddress = isConnected.value ? account.address : formData.receiveAddress\r\n }, { immediate: true })\r\n\r\n watch(\r\n () => formData.resourceType,\r\n () => {\r\n buyForm.$form.value?.clearValidate()\r\n formData.resourceValue = null\r\n },\r\n )\r\n\r\n return {\r\n shortcut,\r\n changeEnergyUnit,\r\n unitPriceRange,\r\n priceRange,\r\n shortcutTime,\r\n defaultPriceInSun,\r\n formData,\r\n buyForm,\r\n chooseRentDuration,\r\n discount,\r\n onSubmit,\r\n isOpenTTPay,\r\n isUnaddressDom,\r\n onValidate,\r\n togglePayType,\r\n payType,\r\n buttonGroup,\r\n paymentAddress,\r\n paymentMethod,\r\n isRentDays,\r\n isPenNumber,\r\n otherMode,\r\n }\r\n})\r\n\r\ninterface TDiscount {\r\n fee: number\r\n amount: number\r\n save: number\r\n discount: number\r\n}\r\nexport type { TDiscount }\r\n","import { createMachine } from 'xstate'\r\nimport type { TDiscount } from '../hooks/useBuy'\r\n\r\ninterface IContext {\r\n formData: any\r\n payType: number\r\n paymentAddress: string | undefined\r\n discountInfo: TDiscount\r\n toAddress: string\r\n paymentUrl: string\r\n}\r\n\r\nexport const machine = createMachine({\r\n id: 'c2cBuyMachine',\r\n initial: 'idle',\r\n states: {\r\n 'idle': {\r\n always: {\r\n target: 'confirm',\r\n cond: 'isPc',\r\n },\r\n on: {\r\n OPEN: {\r\n target: 'confirm',\r\n },\r\n },\r\n },\r\n 'confirm': {\r\n on: {\r\n CLOSE: {\r\n target: 'idle',\r\n },\r\n BUY: {\r\n target: 'info-confirm',\r\n actions: {\r\n type: 'setInfo',\r\n },\r\n },\r\n },\r\n },\r\n 'info-confirm': {\r\n on: {\r\n PAY: [\r\n {\r\n target: 'tronlink',\r\n cond: 'isTronlink',\r\n internal: false,\r\n },\r\n {\r\n target: 'TTpay',\r\n cond: 'isTtpay',\r\n internal: false,\r\n },\r\n {\r\n target: 'Balance',\r\n cond: 'isBalance',\r\n },\r\n ],\r\n CLOSE: {\r\n target: 'confirm',\r\n },\r\n },\r\n },\r\n 'tronlink': {\r\n entry: {\r\n type: 'setInfo',\r\n },\r\n initial: 'idle',\r\n states: {\r\n 'idle': {\r\n always: {\r\n target: 'tronlink-order-precreating',\r\n },\r\n },\r\n 'tronlink-order-precreating': {\r\n invoke: {\r\n src: 'precreateTronlinkOrder',\r\n id: 'precreateTronlinkOrder',\r\n onDone: [\r\n {\r\n target: 'tronlink-create-order',\r\n },\r\n ],\r\n onError: [\r\n {\r\n target: '#c2cBuyMachine.confirm',\r\n actions: {\r\n type: 'requestError',\r\n },\r\n },\r\n ],\r\n },\r\n tags: ['request', 'tronlink-request'],\r\n },\r\n 'tronlink-create-order': {\r\n invoke: {\r\n src: 'createTronlinkOrder',\r\n id: 'createTronlinkOrder',\r\n onDone: [\r\n {\r\n target: 'tronlink-query-order',\r\n },\r\n ],\r\n onError: [\r\n {\r\n target: '#c2cBuyMachine.confirm',\r\n actions: {\r\n type: 'requestError',\r\n },\r\n },\r\n ],\r\n },\r\n tags: ['request', 'tronlink-request'],\r\n },\r\n 'tronlink-query-order': {\r\n invoke: {\r\n src: 'queryTronlinkOrder',\r\n id: 'invoke-6coj5',\r\n },\r\n tags: ['request', 'tronlink-request', 'querying-tronlink'],\r\n on: {\r\n END: {\r\n target: 'order-results',\r\n },\r\n },\r\n },\r\n 'order-results': {\r\n on: {\r\n OK: {\r\n target: '#c2cBuyMachine.idle',\r\n },\r\n },\r\n },\r\n },\r\n },\r\n 'TTpay': {\r\n entry: {\r\n type: 'setInfo',\r\n },\r\n initial: 'idle',\r\n states: {\r\n 'idle': {\r\n always: {\r\n target: 'ttpay-create-order',\r\n },\r\n },\r\n 'ttpay-create-order': {\r\n invoke: {\r\n src: 'createTtpayOrder',\r\n id: 'createTtpayOrder',\r\n onDone: [\r\n {\r\n target: 'ttpay-query-order',\r\n actions: [\r\n {\r\n type: 'toPayment',\r\n },\r\n {\r\n type: 'setPayment',\r\n },\r\n ],\r\n },\r\n ],\r\n onError: [\r\n {\r\n target: '#c2cBuyMachine.confirm',\r\n actions: {\r\n type: 'requestError',\r\n },\r\n },\r\n ],\r\n },\r\n tags: ['request', 'ttpay-request'],\r\n },\r\n 'ttpay-query-order': {\r\n invoke: {\r\n src: 'queryTtpayOrder',\r\n id: 'invoke-5co6c',\r\n },\r\n tags: ['request', 'ttpay-request', 'querying-ttpay'],\r\n on: {\r\n END: {\r\n target: 'order-results',\r\n },\r\n STOP: {\r\n target: '#c2cBuyMachine.idle',\r\n },\r\n KEEP: {\r\n actions: {\r\n type: 'toPayment',\r\n },\r\n internal: true,\r\n },\r\n },\r\n },\r\n 'order-results': {\r\n on: {\r\n OK: {\r\n target: '#c2cBuyMachine.idle',\r\n },\r\n },\r\n },\r\n },\r\n },\r\n 'Balance': {\r\n initial: 'idle',\r\n states: {\r\n 'idle': {\r\n always: {\r\n target: 'balance-create-order',\r\n },\r\n },\r\n 'balance-create-order': {\r\n invoke: {\r\n src: 'createBalanceOrder',\r\n id: 'createBalanceOrder',\r\n onError: [\r\n {\r\n target: '#c2cBuyMachine.info-confirm',\r\n },\r\n ],\r\n onDone: [\r\n {\r\n target: 'order-results',\r\n },\r\n ],\r\n },\r\n tags: [\r\n 'request',\r\n 'balance-request',\r\n ],\r\n },\r\n 'order-results': {\r\n on: {\r\n OK: {\r\n target: '#c2cBuyMachine.idle',\r\n },\r\n },\r\n },\r\n },\r\n },\r\n },\r\n schema: {\r\n events: {} as\r\n | {\r\n type: 'PAY'\r\n formData: any\r\n paymentAddress: string\r\n discountInfo: any\r\n payType: number\r\n toAddress: string\r\n data: any\r\n paymentMethod: 'dapp' | 'ttpay' | 'balance'\r\n }\r\n | {\r\n type: 'OPEN'\r\n formData?: any\r\n paymentAddress?: string\r\n discountInfo?: any\r\n payType?: number\r\n toAddress?: string\r\n data?: any\r\n paymentMethod?: 'dapp' | 'ttpay' | 'balance'\r\n }\r\n | {\r\n type: 'CLOSE'\r\n formData?: any\r\n paymentAddress?: string\r\n discountInfo?: any\r\n payType?: number\r\n toAddress?: string\r\n data?: any\r\n paymentMethod?: 'dapp' | 'ttpay' | 'balance'\r\n } | {\r\n type: 'BUY'\r\n formData?: any\r\n paymentAddress?: string\r\n discountInfo?: any\r\n payType?: number\r\n toAddress?: string\r\n data?: any\r\n paymentMethod?: 'dapp' | 'ttpay' | 'balance'\r\n }\r\n | {\r\n type: 'END'\r\n formData?: any\r\n paymentAddress?: string\r\n discountInfo?: any\r\n payType?: number\r\n toAddress?: string\r\n data?: any\r\n paymentMethod?: 'dapp' | 'ttpay' | 'balance'\r\n }\r\n | {\r\n type: 'OK'\r\n formData?: any\r\n paymentAddress?: string\r\n discountInfo?: any\r\n payType?: number\r\n toAddress?: string\r\n data?: any\r\n paymentMethod?: 'dapp' | 'ttpay' | 'balance'\r\n }\r\n | {\r\n type: 'KEEP'\r\n formData?: any\r\n paymentAddress?: string\r\n discountInfo?: any\r\n payType?: number\r\n toAddress?: string\r\n data?: any\r\n paymentMethod?: 'dapp' | 'ttpay' | 'balance'\r\n } | {\r\n type: 'STOP'\r\n formData?: any\r\n paymentAddress?: string\r\n discountInfo?: any\r\n payType?: number\r\n toAddress?: string\r\n data?: any\r\n paymentMethod?: 'dapp' | 'ttpay' | 'balance'\r\n },\r\n },\r\n predictableActionArguments: true,\r\n preserveActionOrder: true,\r\n context: ({} as unknown) as IContext,\r\n tsTypes: {} as import('./c2cBuyMachine.typegen').Typegen0,\r\n})\r\n","import {\r\n createInjectionState,\r\n reactiveComputed,\r\n useTimeoutPoll,\r\n} from '@vueuse/core'\r\nimport { actions } from 'xstate'\r\nimport { useMachine } from '@xstate/vue'\r\nimport { snakeCase } from 'lodash'\r\nimport { useAppBreakpoints } from '@peng_kai/theme/vue/index'\r\nimport { machine as c2cBuylMachine } from './c2cBuyMachine'\r\nimport { tron } from '~/utils/tron-v2'\r\nimport { extractContentInBrackets, jumpCompatible } from '~/utils'\r\nimport { formatTronErrorMessage } from '~/utils/tron-v2/tronError'\r\n\r\nexport const [useC2cBuyMachineProvide, useC2cBuyMachine] = createInjectionState(\r\n () => {\r\n const queryTronlinkOrder = ref()\r\n const queryTtpayOrder = ref()\r\n const rentalInformation = ref()\r\n const bp = useAppBreakpoints()\r\n const { account } = tronComp.useAccountCurrent()\r\n\r\n const machine = useMachine(c2cBuylMachine, {\r\n actions: {\r\n // todo tron的提示和api请求的提示不应该放一起的,这里不走tronError 错误处理,后期需要统一\r\n requestError: (ctx, ev) => {\r\n if (ev.data instanceof Error) {\r\n if (ev.data.message.includes('balance is not sufficient') || ev.data.message.includes('Tapos check error') || ev.data.message.includes('Account resource insufficient error'))\r\n aMessage.error($t('tm41OUsNwS4B7IkB1jey'))\r\n else if (ev.data.message.includes('Confirmation declined by user') || ev.data.message.includes('cancel') || ev.data.message.includes('cancle') || ev.data.message.includes('取消') || ev.data.message.includes('拒绝'))\r\n aMessage.error($t('Hk5eWgjl88eEeU0VPuaRz'))\r\n else if (ev.data.message.includes('Validate TransferContract error, no OwnerAccount'))\r\n aMessage.error($t('fiNURjHwnMnPYh48lYi'))\r\n else if (ev.data.message.includes('does not exist'))\r\n aMessage.error(`${extractContentInBrackets(ev.data.message)} ${$t('AUdgXSOOMymyhIWK9Mg1A')}`)\r\n else\r\n aMessage.error(ev.data.message)\r\n }\r\n },\r\n\r\n toPayment: (ctx, ev) => {\r\n const { data } = ev as any\r\n if (ev.type === 'KEEP') {\r\n if (bp.ltLaptop)\r\n location.href = ctx.paymentUrl\r\n else\r\n window.open(ctx.paymentUrl, '_blank')\r\n }\r\n else if (ev.type === 'done.invoke.createTtpayOrder') {\r\n jumpCompatible($t('rVh4iCmGnClYuxNyVNn6', { url: data.payment_url, href: encodeURIComponent(window.location.href) }))\r\n }\r\n },\r\n\r\n setPayment: actions.assign((ctx, ev) => {\r\n const link\r\n = `${ev.data?.payment_url\r\n }&return_url=${\r\n encodeURIComponent(window.location.href)}`\r\n return {\r\n paymentUrl: link,\r\n }\r\n }),\r\n\r\n setInfo: actions.assign((ctx, ev) => {\r\n if (ev.type === 'BUY') {\r\n rentalInformation.value = ev\r\n return {\r\n formData: ev.formData,\r\n paymentAddress: ev.paymentAddress,\r\n discountInfo: ev.discountInfo,\r\n toAddress: ev.toAddress,\r\n }\r\n }\r\n\r\n if (ev.type === 'PAY') {\r\n return {\r\n toAddress: ev.toAddress,\r\n }\r\n }\r\n\r\n return {}\r\n }),\r\n },\r\n services: {\r\n /** dapp支付流程 开始 */\r\n precreateTronlinkOrder: async (ctx, ev) => {\r\n try {\r\n const params = {\r\n amount: toDecimalPlaces(ctx.discountInfo.amount, 6),\r\n toAddress: ctx.paymentAddress,\r\n fromAddress: ctx.toAddress,\r\n }\r\n const res = await tron.payTRXServerBroadcast(params)\r\n\r\n if (res)\r\n return res\r\n }\r\n catch (e) {\r\n // 兼容imtoken取消时不一样的返回信息\r\n const msg = formatTronErrorMessage(e)\r\n throw new Error(msg)\r\n }\r\n },\r\n createTronlinkOrder: async (ctx, ev) => {\r\n try {\r\n const data:\r\n | Api.GetParam['requestBody']\r\n | { [key: string]: string | number } = {}\r\n\r\n for (const key in ctx.formData)\r\n data[snakeCase(key)] = ctx.formData[key]\r\n\r\n data.signed_txn = ev.data\r\n data.resource_value = Number(data.resource_value)\r\n\r\n return await apis.orderCreateC2C({\r\n requestBody: data,\r\n }, { errorMessageMode: 'none' })\r\n }\r\n catch (e) {\r\n throw new Error(e.msg)\r\n }\r\n },\r\n queryTronlinkOrder: (ctx, ev) => async (callback) => {\r\n let second = 0\r\n while (second <= 15) {\r\n try {\r\n await sleep(2000)\r\n second++\r\n const res = await apis.orderQuery(\r\n {\r\n order_no: ev.data.order_no,\r\n trx_address: ev.data.pay_address,\r\n },\r\n { errorMessageMode: 'none' },\r\n )\r\n if (res) {\r\n queryTronlinkOrder.value = {\r\n code: res.status,\r\n status: 'success',\r\n }\r\n callback({ type: 'END' })\r\n break\r\n }\r\n }\r\n catch (e) {\r\n if (e.code !== 17019) {\r\n // 其他异常\r\n queryTronlinkOrder.value = {\r\n code: e.code,\r\n status: 'fail',\r\n }\r\n callback({ type: 'END' })\r\n throw new Error('')\r\n }\r\n }\r\n }\r\n },\r\n /** dapp支付流程 结束 */\r\n\r\n /** ttpay支付流程 开始 */\r\n createTtpayOrder: async (ctx, ev) => {\r\n const data:\r\n | Api.GetParam['requestBody']\r\n | { [key: string]: string | number } = {}\r\n\r\n data.pay_amount = toDecimalPlaces(ctx.discountInfo.amount, 6)\r\n\r\n for (const key in ctx.formData)\r\n data[snakeCase(key)] = ctx.formData[key]\r\n\r\n return await apis.ttpayOrderC2C({ requestBody: data }, { errorMessageMode: 'none' })\r\n },\r\n queryTtpayOrder: (ctx, ev) => (callback) => {\r\n const { out_trade_no } = ev.data as any\r\n const startTime = Date.now()\r\n const limtTime = 10 * 60 * 1000\r\n\r\n const { resume, pause } = useTimeoutPoll(async () => {\r\n if (Date.now() - startTime > limtTime) {\r\n pause()\r\n queryTtpayOrder.value = {\r\n code: 0,\r\n status: 'fail',\r\n }\r\n callback({ type: 'END' })\r\n return\r\n }\r\n\r\n // 接口请求和结果处理\r\n const res = await apis.orderQuery(\r\n { order_no: out_trade_no },\r\n {\r\n errorMessageMode: 'none',\r\n resultType: 'api',\r\n checkCode: false,\r\n },\r\n )\r\n if (res.code === 0) {\r\n queryTtpayOrder.value = {\r\n code: res.data?.status,\r\n status: 'success',\r\n }\r\n callback({ type: 'END' })\r\n }\r\n\r\n if (res.code !== 17019 && res.code !== 0) {\r\n queryTtpayOrder.value = {\r\n code: res.code,\r\n status: 'fail',\r\n }\r\n callback({ type: 'END' })\r\n }\r\n }, 2000)\r\n\r\n resume()\r\n return () => pause()\r\n },\r\n /** ttpay支付流程 结束 */\r\n\r\n /** 余额支付流程 开始 */\r\n createBalanceOrder: async (ctx) => {\r\n // 请求接口\r\n try {\r\n const data:\r\n | Api.GetParam['requestBody']\r\n | { [key: string]: string | number } = {}\r\n for (const key in ctx.formData)\r\n data[snakeCase(key)] = ctx.formData[key]\r\n\r\n return await apis.apiOrderCreateOrderByBalance({ requestBody: { ...data, order_type: 2, pay_amount: toDecimalPlaces(ctx.discountInfo.amount, 6) } })\r\n }\r\n catch (e) {\r\n throw new Error(e)\r\n }\r\n },\r\n /** 余额支付流程 结束 */\r\n\r\n },\r\n guards: {\r\n isTronlink: (ctx, ev) => {\r\n return ev.paymentMethod === 'dapp'\r\n },\r\n isTtpay: (context, ev) => {\r\n return ev.paymentMethod === 'ttpay'\r\n },\r\n isBalance: (context, ev) => {\r\n console.log('guards', ev.paymentMethod === 'balance')\r\n return ev.paymentMethod === 'balance'\r\n },\r\n isPc: (context, event) => {\r\n return bp.laptopl\r\n },\r\n },\r\n delays: {},\r\n })\r\n\r\n const states = reactiveComputed(() => {\r\n const s = machine.state.value\r\n\r\n const isConfirm = s.matches('confirm')\r\n const isInfoConfirm = s.matches('info-confirm')\r\n const isIdle = s.matches('idle')\r\n const isTronlinkOrderResults = s.matches('tronlink.order-results')\r\n const isTtpayOrderResults = s.matches('TTpay.order-results')\r\n const isBalanceResults = s.matches('Balance.order-results')\r\n const isTtpayQueryOrder = s.matches('TTpay.ttpay-query-order')\r\n const isRequest = s.hasTag('request')\r\n const isQueryingTtpay = s.hasTag('querying-ttpay')\r\n const isRefresh = s.event.type === 'OK'\r\n const requesting = s.hasTag('tronlink-request') || s.hasTag('ttpay-request') || s.hasTag('balance-request')\r\n\r\n return {\r\n isConfirm,\r\n isInfoConfirm,\r\n isTtpayQueryOrder,\r\n isIdle,\r\n isTronlinkOrderResults,\r\n isTtpayOrderResults,\r\n isRequest,\r\n isQueryingTtpay,\r\n isRefresh,\r\n isBalanceResults,\r\n requesting,\r\n }\r\n })\r\n\r\n return {\r\n machine,\r\n states,\r\n queryTronlinkOrder,\r\n rentalInformation,\r\n queryTtpayOrder,\r\n }\r\n },\r\n)\r\n","\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n {})\r\n \"\r\n />\r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
{{ formData.rentDuration }}
\r\n\r\n \r\n {{ timeSecondFilters(formData.rentTimeSecond) }}\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n
\r\n {{ $t(\"MdLWMNeCJsOrXnrrrWLgX\") }}\r\n \r\n {{ formatAmount(formData.resourceValue, 0) }}\r\n {{ $t(ResourceType[formData.resourceType].label) }}\r\n ,\r\n {{ timeFn(formData.rentDuration, formData.rentTimeUnit) }}\r\n \r\n
\r\n
\r\n {{ $t(\"5lDjHyMvhDv34o9QihLy\") }}\r\n \r\n \r\n {{ formatAmount(discountInfo.needBurning, 6) }} TRX\r\n \r\n\r\n {{ formatAmount(discountInfo.amount, 6) }} TRX\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n\r\n
\r\n \r\n {{ $t(\"hAns2WaHjEPbTgBxlqXn\") }}\r\n \r\n \r\n {{ $t(\"cT9bJuYfJKoIN0Skkp84T\") }}\r\n \r\n\r\n \r\n
\r\n\r\n \r\n \r\n\r\n\r\n\r\n","import { createInjectionState } from '@vueuse/core'\r\nimport { tron, tronErrors } from '~/utils/tron-v2'\r\n\r\nexport const [useMultiSignProvider, useMultiSign] = createInjectionState(() => {\r\n const info = reactive({ isOwnerPermission: false, permissionId: 0 })\r\n\r\n const addressMuktiSign = ref('')\r\n\r\n const { account: accountCurrent } = tronComp.useAccountCurrent()\r\n const { account: accountMultiSign } = tronComp.useAccount(\r\n addressMuktiSign,\r\n toRef(accountCurrent, 'chainId'),\r\n )\r\n\r\n /**\r\n * 验证多签是否有权限\r\n */\r\n const onValidatePower = (isMultiSign: boolean | Ref, id: number) => {\r\n if (!toValue(isMultiSign))\r\n return\r\n\r\n info.isOwnerPermission = false\r\n info.permissionId = 0\r\n const {\r\n owner_permission: ownerPermission,\r\n active_permission: activePermission,\r\n } = accountMultiSign\r\n\r\n if (!ownerPermission || !activePermission)\r\n info.isOwnerPermission = false\r\n\r\n ownerPermission?.keys.forEach((i:any) => {\r\n if (i.address === tron.tronWeb?.address.toHex(accountCurrent.address))\r\n info.isOwnerPermission = true\r\n })\r\n\r\n if (!info.isOwnerPermission) {\r\n activePermission?.forEach((i:any) => {\r\n if (\r\n i.keys.some(\r\n (obj: { address: string }) =>\r\n obj.address\r\n === tron.tronWeb?.address.toHex(accountCurrent.address),\r\n )\r\n ) {\r\n if (tron.getPermission(i.operations, id))\r\n info.permissionId = i.id\r\n }\r\n })\r\n\r\n if (!info.permissionId)\r\n throw tronErrors.MULTISIGN_ERROR()\r\n }\r\n }\r\n\r\n const setAddress = (address: string) => {\r\n if (!tron.isAddress(address))\r\n return\r\n addressMuktiSign.value = address\r\n }\r\n\r\n return {\r\n info,\r\n onValidatePower,\r\n setAddress,\r\n }\r\n})\r\n","import { createInjectionState } from '@vueuse/core'\r\n\r\nexport const [useSellProvider, useSell] = createInjectionState((is: Ref, address: Ref) => {\r\n const isMultiSign = ref(is)\r\n const multiSingAddress = ref(address)\r\n const muktiSignResources = reactive({\r\n energy: 0,\r\n bandwidth: 0,\r\n balance: 0,\r\n })\r\n\r\n const { account: accountCurrent } = tronComp.useAccountCurrent()\r\n const { account: accountMultiSign } = tronComp.useAccount(\r\n multiSingAddress,\r\n toRef(accountCurrent, 'chainId'),\r\n )\r\n\r\n const setMultiSingAddress = (address: string) => {\r\n multiSingAddress.value = address\r\n }\r\n\r\n const remaineResource = computed(() => {\r\n const info = {\r\n ENERGY: 0,\r\n BANDWIDTH: 0,\r\n };\r\n\r\n // 只判断当前钱包有没有钱会导致,当前钱包没钱而多签钱包有钱而那不到\r\n const { delegable } = accountCurrent;\r\n const { delegable: delegableMulti } = accountMultiSign;\r\n\r\n if (!delegable && !delegableMulti)\r\n return info;\r\n\r\n const energyUnitPrice = toValue(isMultiSign) ? accountMultiSign.resource.energyUnitPrice : accountCurrent.resource.energyUnitPrice;\r\n const netUnitPrice = toValue(isMultiSign) ? accountMultiSign.resource.netUnitPrice : accountCurrent.resource.netUnitPrice;\r\n\r\n const canDelegatedBalanceForEnergy = toValue(isMultiSign)\r\n ? toRef(muktiSignResources, 'energy')\r\n : toRef(delegable, 'energy');\r\n\r\n info.ENERGY = Math.floor(\r\n (canDelegatedBalanceForEnergy.value ?? 0)\r\n * 10 ** -6,\r\n )\r\n * energyUnitPrice;\r\n\r\n const canDelegatedBalanceForBandwidth = toValue(isMultiSign)\r\n ? toRef(muktiSignResources.bandwidth)\r\n : toRef(delegable, 'bandwidth');\r\n\r\n info.BANDWIDTH = Math.floor(\r\n (canDelegatedBalanceForBandwidth.value ?? 0)\r\n * 10 ** -6,\r\n )\r\n * netUnitPrice;\r\n\r\n info.ENERGY = Math.floor(info.ENERGY ?? 0);\r\n info.BANDWIDTH = Math.floor(info.BANDWIDTH ?? 0);\r\n\r\n return info;\r\n });\r\n\r\n const balance = computed(() => {\r\n return toValue(isMultiSign) ? muktiSignResources.balance : accountCurrent.balanceTrx\r\n })\r\n\r\n watchEffect(() => {\r\n if (accountMultiSign) {\r\n muktiSignResources.energy = accountMultiSign?.delegable?.energy ?? 0\r\n muktiSignResources.bandwidth = accountMultiSign?.delegable?.bandwidth ?? 0\r\n muktiSignResources.balance = accountMultiSign.balanceTrx ?? 0\r\n }\r\n })\r\n\r\n return {\r\n setMultiSingAddress,\r\n remaineResource,\r\n balance,\r\n }\r\n})\r\n","import type { IProps } from '../FreezePopup.vue'\r\nimport type { TronRes } from '~/utils/tron-v2'\r\nimport { tron } from '~/utils/tron-v2'\r\nimport { useResource } from '~/composables/tron'\r\nimport { useMultiSign } from '~/pages-components/c2c/hooks/useMultiSign'\r\nimport { useSellProvider } from '~/pages-components/c2c/hooks/useSell'\r\nimport { formatTronErrorMessage } from '~/utils/tron-v2/tronError'\r\n\r\nconst { resourceType: ResourceType } = useResource()\r\nexport function useFreeze(props: IProps) {\r\n const { orderDetail } = props.detail\r\n const isMultiSign = computed(() => !!props?.detail.multiAddress)\r\n const loading = useBoolean()\r\n const freezeResult = ref(false)\r\n const modalContent = ref('')\r\n const { onValidatePower, info } = useMultiSign()!\r\n const {\r\n remaineResource,\r\n balance,\r\n } = useSellProvider(isMultiSign, toRef(props.detail, 'multiAddress'))\r\n\r\n const { account: accountCurrent, refetch } = tronComp.useAccountCurrent()\r\n const { account: accountMulti, refetch: multiRefetch } = tronComp.useAccount(\r\n toRef(props.detail, 'multiAddress'),\r\n toRef(accountCurrent, 'chainId'),\r\n )\r\n\r\n const title = computed(() => {\r\n const map: { [kye: string]: string } = {\r\n '1_0': $t('RRvYluqPaPRe7eGmbayQY'),\r\n '1_1': $t('jEGkLIlIEyQ-oCW7UVmAB'),\r\n '0_0': $t('GBYT0K-9f4v2Bl8fZvbsB'),\r\n '0_1': $t('n5OmlOh-IeEaUjNkslgT2'),\r\n }\r\n const key = `${toValue(isMultiSign) ? 1 : 0}_${props?.detail.mode}`\r\n return map[key]\r\n })\r\n\r\n const maxTRX = computed(() => {\r\n const trx = ((balance.value ?? 0) / 1000000) - 1\r\n return trx > 0 ? trx : 0\r\n })\r\n\r\n const setMaxTrx = () => {\r\n if (!maxTRX.value)\r\n return\r\n formData.amount = Math.floor(maxTRX.value)\r\n onChange(formData.amount)\r\n }\r\n\r\n const resourceType = computed(() =>\r\n orderDetail?.resource_type ? 'ENERGY' : 'BANDWIDTH',\r\n )\r\n\r\n const freezeInfo = reactive({\r\n availableResource: 0,\r\n needResource: props.detail.sellAmount,\r\n })\r\n\r\n const formData = reactive({\r\n amount: undefined,\r\n resource: 'ENERGY' as 'BANDWIDTH' | 'ENERGY',\r\n })\r\n\r\n const needExchange = computed(() => {\r\n const remaine = toValue(remaineResource)[resourceType.value]\r\n const result\r\n = freezeInfo.needResource - remaine - freezeInfo.availableResource\r\n\r\n return result > 0 ? result : 0\r\n })\r\n\r\n const onChange = (e: any) => {\r\n const { resource } = accountCurrent\r\n const cost\r\n = resourceType.value === 'ENERGY'\r\n ? resource?.energyUnitPrice\r\n : resource?.netUnitPrice\r\n freezeInfo.availableResource = Math.floor(e * cost)\r\n }\r\n\r\n function validator() {\r\n return new Promise((resolve, reject) => {\r\n if (!formData.amount) {\r\n aMessage.info($t('APfc3MeEIDjqXLApadbAz'))\r\n reject()\r\n }\r\n\r\n if ((formData.amount ?? 0) > maxTRX.value) {\r\n aMessage.error(\r\n `${$t('38ytZ0y25yoOxKMOvq1o8')} ${formatAmount(maxTRX.value, 0)} TRX ${$t('OSICXBRWyZAISpFNxEdll')}`,\r\n )\r\n reject()\r\n }\r\n\r\n resolve(true)\r\n })\r\n }\r\n\r\n const onSubmit = async () => {\r\n try {\r\n await validator()\r\n\r\n onValidatePower(isMultiSign, 54)\r\n\r\n loading.setTrue()\r\n\r\n let params: any = {\r\n amount: (formData.amount ?? 0) * 10 ** 6,\r\n resourceType: toValue(resourceType),\r\n address: accountCurrent.address,\r\n }\r\n let res = null\r\n if (toValue(isMultiSign)) {\r\n params = {\r\n ...params,\r\n address: accountMulti.address,\r\n isOwnerPermission: info.isOwnerPermission,\r\n permissionId: info.permissionId,\r\n }\r\n res = await tron.freezeBalanceV2ByMultiSign(params)\r\n }\r\n else {\r\n res = await tron.freezeBalanceV2(params)\r\n }\r\n\r\n tron.fetchCanDelegatedMaxSize(accountCurrent.address, 0 as TronRes)\r\n tron.fetchCanDelegatedMaxSize(accountCurrent.address, 1 as TronRes)\r\n\r\n if (res) {\r\n await refetch()\r\n await multiRefetch()\r\n const typeTxt = params.resourceType === 'ENERGY' ? $t('Mqe_hlD_yGPsAMB9oaO1D') : $t('IgN1EoVRFTDyCVLbFG-oT')\r\n modalContent.value = `${$t('JVJZwWrDZaWCpXUvy7eYn', { amount: formatAmount(params.amount * 10 ** -6, 0) })}\r\n ${$t('NKsQg2au3bN_T6s8bA0tY', { typeTxt })}\r\n ${formatAmount(freezeInfo.availableResource, 0)}`\r\n freezeResult.value = true\r\n }\r\n else {\r\n aMessage.error($t('vXcbCo5Z9Xx0PhQvMopAR'))\r\n }\r\n loading.setFalse()\r\n }\r\n catch (e) {\r\n loading.setFalse()\r\n if (typeof e === 'string') {\r\n if (e.includes('Confirmation declined by user'))\r\n aMessage.error($t('Hk5eWgjl88eEeU0VPuaRz'))\r\n\r\n else if (e.includes('but it is not contained of permission'))\r\n aMessage.error($t('XaVJJSbJsBZJUCo6UjiOh'))\r\n\r\n else if (e.includes('frozenBalance must be more than 1TRX'))\r\n aMessage.error($t('xIc755xgV4BzHc55RSuf'))\r\n\r\n else if (e.includes('TRANSACTION_EXPIRATION_ERROR'))\r\n aMessage.error($t('iEe52eGjGSr0BiehkAtdb'))\r\n else\r\n aMessage.error(e)\r\n }\r\n\r\n if (e instanceof Error) {\r\n const msg = formatTronErrorMessage(e)\r\n aMessage.error(msg)\r\n }\r\n }\r\n }\r\n\r\n return {\r\n isMultiSign,\r\n title,\r\n maxTRX,\r\n setMaxTrx,\r\n freezeInfo,\r\n formData,\r\n needExchange,\r\n onChange,\r\n onSubmit,\r\n resourceType,\r\n loading,\r\n remaineResource,\r\n freezeResult,\r\n modalContent,\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { createMachine } from 'xstate'\r\n\r\ninterface ImultiSignIfo {\r\n isOwnerPermission: boolean\r\n permissionId: number\r\n}\r\n\r\ninterface IContext {\r\n orderDetail: Api.GetDataItem\r\n ownerAddress: string\r\n resourceValue: number\r\n settleAddress: string\r\n frozenBalance: number\r\n skipDuplicateCheck: number\r\n orderPreSubmitCode: number\r\n multiSignIfo: ImultiSignIfo\r\n isMultiSign: Ref | boolean\r\n resourceType: string\r\n lockPeriod: number\r\n}\r\n\r\nexport const machine = createMachine({\r\n id: 'C2cSellMachine',\r\n initial: 'idle',\r\n states: {\r\n idle: {\r\n entry: {\r\n type: 'init',\r\n },\r\n on: {\r\n OPEN: {\r\n target: 'confirm',\r\n },\r\n },\r\n },\r\n confirm: {\r\n tags: 'confirm',\r\n entry: {\r\n type: 'resetting',\r\n },\r\n on: {\r\n CLOSE: {\r\n target: 'idle',\r\n },\r\n SUBMIT: {\r\n target: 'FetchOrderPredelegete',\r\n actions: {\r\n type: 'setInfo',\r\n },\r\n },\r\n DOUBLECHEC: {\r\n target: 'FetchOrderPredelegete',\r\n actions: {\r\n type: 'setInfo',\r\n },\r\n },\r\n },\r\n },\r\n FetchOrderPredelegete: {\r\n invoke: {\r\n src: 'fetchOrderPredelegete',\r\n id: 'fetchOrderPredelegete',\r\n onDone: [\r\n {\r\n target: 'fetchDelegateResourceSign',\r\n cond: 'hasOrderRes',\r\n },\r\n {\r\n target: 'fetchdelegateResourceServerBroadcast',\r\n },\r\n ],\r\n onError: [\r\n {\r\n target: 'confirm',\r\n cond: 'isConflict',\r\n actions: [\r\n {\r\n type: 'preRequestError',\r\n },\r\n {\r\n type: 'showErrorMessage',\r\n },\r\n ],\r\n internal: false,\r\n },\r\n {\r\n target: 'conflict',\r\n },\r\n ],\r\n },\r\n tags: 'request',\r\n },\r\n fetchDelegateResourceSign: {\r\n invoke: {\r\n src: 'fetchDelegateResourceSign',\r\n id: 'fetchDelegateResourceSign',\r\n onDone: [\r\n {\r\n target: 'orderDelegateC2C',\r\n },\r\n ],\r\n onError: [\r\n {\r\n target: 'confirm',\r\n actions: {\r\n type: 'showErrorMessage',\r\n },\r\n },\r\n ],\r\n },\r\n tags: 'request',\r\n },\r\n fetchdelegateResourceServerBroadcast: {\r\n invoke: {\r\n src: 'fetchdelegateResourceServerBroadcast',\r\n id: 'fetchdelegateResourceServerBroadcast',\r\n onDone: [\r\n {\r\n target: 'orderDelegateC2C',\r\n },\r\n ],\r\n onError: [\r\n {\r\n target: 'confirm',\r\n actions: {\r\n type: 'showErrorMessage',\r\n },\r\n },\r\n ],\r\n },\r\n tags: 'request',\r\n },\r\n conflict: {\r\n on: {\r\n OK: {\r\n target: 'idle',\r\n },\r\n },\r\n },\r\n orderDelegateC2C: {\r\n invoke: {\r\n src: 'orderDelegateC2C',\r\n id: 'orderDelegateC2C',\r\n onDone: [\r\n {\r\n target: 'orderQuery',\r\n },\r\n ],\r\n onError: [\r\n {\r\n target: 'confirm',\r\n cond: 'isConflict',\r\n },\r\n {\r\n target: 'conflict',\r\n },\r\n ],\r\n },\r\n tags: 'request',\r\n },\r\n orderQuery: {\r\n invoke: {\r\n src: 'orderQuery',\r\n id: 'orderQuery',\r\n onDone: [\r\n {\r\n target: 'onShowSellSuccessModal',\r\n actions: {\r\n type: 'orderQuerySuccess',\r\n },\r\n },\r\n ],\r\n onError: [\r\n {\r\n target: 'onShowSellFailModal',\r\n },\r\n ],\r\n },\r\n tags: ['orderQuerying', 'request'],\r\n },\r\n onShowSellSuccessModal: {\r\n tags: ['sellSuccess', 'orderQueryResult'],\r\n on: {\r\n OK: {\r\n target: 'idle',\r\n },\r\n },\r\n },\r\n onShowSellFailModal: {\r\n tags: ['sellFail', 'orderQueryResult'],\r\n on: {\r\n OK: {\r\n target: 'idle',\r\n },\r\n },\r\n },\r\n },\r\n schema: {\r\n events: {} as\r\n | { type: 'OK' }\r\n | { type: 'OPEN' }\r\n | { type: 'CLOSE' }\r\n | { type: 'DOUBLECHEC', skipDuplicateCheck: number }\r\n | {\r\n type: 'SUBMIT'\r\n orderDetail: Api.GetDataItem\r\n ownerAddress: string\r\n resourceValue: number\r\n settleAddress: string\r\n frozenBalance: number\r\n skipDuplicateCheck: number\r\n multiSignIfo: ImultiSignIfo\r\n isMultiSign: boolean | Ref\r\n resourceType: string\r\n },\r\n },\r\n predictableActionArguments: true,\r\n preserveActionOrder: true,\r\n context: ({} as unknown) as IContext,\r\n tsTypes: {} as import('./c2cSellMachine.typegen').Typegen0,\r\n})\r\n","import { createInjectionState, reactiveComputed } from '@vueuse/core'\r\nimport { actions } from 'xstate'\r\nimport { useMachine } from '@xstate/vue'\r\nimport { machine as c2cSellMachine } from './c2cSellMachine'\r\nimport { TronRes, tron } from '~/utils/tron-v2'\r\n\r\nexport const [\r\n useC2cSellMachineProvide,\r\n useC2cSellMachine,\r\n] = createInjectionState(() => {\r\n const machine = useMachine(c2cSellMachine, {\r\n actions: {\r\n init: actions.assign((ctx, ev) => {\r\n return {\r\n orderPreSubmitCode: 0,\r\n }\r\n }),\r\n resetting: actions.assign((ctx, ev) => {\r\n if (ev.type === 'OPEN') {\r\n return {\r\n orderPreSubmitCode: 0,\r\n }\r\n }\r\n return {}\r\n }),\r\n\r\n showErrorMessage: (context, event: any) => {\r\n const { data } = event\r\n if (event.type === 'error.platform.fetchOrderPredelegete') {\r\n if (event.data.code === 12008 || event.data.code === 12001 || event.data.code === 12006)\r\n return;\r\n else\r\n aMessage.error(data.msg);\r\n }\r\n },\r\n\r\n preRequestError: actions.assign((context, event) => {\r\n return { orderPreSubmitCode: event?.data.code }\r\n }),\r\n\r\n orderQuerySuccess: actions.assign((ctx, ev) => {\r\n return {\r\n orderQueryRes: ev.data,\r\n }\r\n }),\r\n\r\n setInfo: actions.assign((ctx, ev) => {\r\n if (ev.type === 'SUBMIT') {\r\n let lockPeriod = 0\r\n if (ev.orderDetail.rent_time_unit === 'd')\r\n lockPeriod = (ev.orderDetail.rent_duration * 86400) / 3\r\n else if (ev.orderDetail.rent_time_unit === 'h')\r\n lockPeriod = (ev.orderDetail.rent_duration * 3600) / 3\r\n\r\n return {\r\n orderDetail: ev.orderDetail,\r\n ownerAddress: ev.ownerAddress,\r\n resourceValue: ev.resourceValue,\r\n settleAddress: ev.settleAddress,\r\n frozenBalance: ev.frozenBalance,\r\n skipDuplicateCheck: ev.skipDuplicateCheck,\r\n orderPreSubmitCode: 0,\r\n multiSignIfo: ev.multiSignIfo,\r\n isMultiSign: ev.isMultiSign,\r\n lockPeriod,\r\n resourceType: ev.resourceType,\r\n }\r\n }\r\n\r\n if (ev.type === 'DOUBLECHEC') {\r\n return {\r\n skipDuplicateCheck: ev.skipDuplicateCheck,\r\n }\r\n }\r\n\r\n return {}\r\n }),\r\n\r\n },\r\n services: {\r\n // 预下单\r\n fetchOrderPredelegete: async (ctx, ev) => {\r\n const res = await apis.orderPreDelegateC2C(\r\n {\r\n requestBody: {\r\n order_no: ctx.orderDetail.order_no,\r\n owner_address: ctx.ownerAddress,\r\n resource_type: ctx.orderDetail.resource_type,\r\n resource_value: ctx.resourceValue,\r\n frozen_balance: ctx.frozenBalance,\r\n permission_id: ctx.multiSignIfo.permissionId,\r\n skip_duplicate_check: ctx.skipDuplicateCheck,\r\n },\r\n },\r\n { errorMessageMode: 'none' },\r\n )\r\n return res\r\n },\r\n\r\n // 拉起签名\r\n fetchDelegateResourceSign: async (ctx, ev: any) => {\r\n const options = ctx.orderDetail.resource_type === TronRes.BANDWIDTH ? { estimatedBandwidth: String(ctx.resourceValue) } : { estimatedEnergy: String(ctx.resourceValue) }\r\n try {\r\n const sign = await tron.getDelegateResourceSign({\r\n c2CPreDelegateResp: { ...ev.data, __options: options },\r\n isMultiSign: toValue(ctx.isMultiSign),\r\n permissionId: ctx.multiSignIfo.permissionId,\r\n isOwnerPermission: ctx.multiSignIfo.isOwnerPermission,\r\n })\r\n sleep(100);\r\n return sign\r\n }\r\n catch (error) {\r\n if (error instanceof Error) {\r\n const msg = formatTronErrorMessage(error);\r\n aMessage.error(msg);\r\n }\r\n throw new Error('');\r\n }\r\n },\r\n\r\n fetchdelegateResourceServerBroadcast: async (ctx, ev) => {\r\n try {\r\n const params = {\r\n frozenBalance: ctx.frozenBalance * 10 ** 6,\r\n ownerAddress: ctx.ownerAddress,\r\n receiveAddress: ctx.orderDetail.receive_address,\r\n resourceType: ctx.resourceType,\r\n isMultiSign: ctx.isMultiSign,\r\n multiSignIfo: ctx.multiSignIfo,\r\n isLock: ctx.orderDetail.is_lock === 1,\r\n lockPeriod: ctx.orderDetail?.lock_period\r\n ? ctx.orderDetail?.lock_period\r\n : ctx.lockPeriod,\r\n }\r\n return await tron.delegateResourceServerBroadcast(params)\r\n }\r\n catch (error) {\r\n if (error instanceof Error) {\r\n const msg = formatTronErrorMessage(error);\r\n aMessage.error(msg);\r\n }\r\n throw new Error('');\r\n }\r\n },\r\n\r\n orderDelegateC2C: async (ctx, ev: any) => {\r\n return await apis.orderDelegateC2C({\r\n requestBody: {\r\n order_no: ctx.orderDetail.order_no,\r\n settle_address: ctx.settleAddress,\r\n resource_value: ctx.resourceValue,\r\n signed_txn: ev.data,\r\n resource_type: ctx.orderDetail.resource_type,\r\n },\r\n }, { errorMessageMode: 'none' })\r\n },\r\n\r\n orderQuery: async (ctx, ev) => {\r\n // 轮询订单\r\n let second = 0\r\n do {\r\n try {\r\n await sleep(2000)\r\n const res = await apis.orderQuery(\r\n {\r\n order_no: ctx.orderDetail.order_no,\r\n },\r\n { errorMessageMode: 'none' },\r\n )\r\n if (res)\r\n return res\r\n second++\r\n }\r\n catch (error: any) {\r\n if (ApiError.is(error)) {\r\n if (error.code === 12002)\r\n throw new Error(error.message)\r\n }\r\n else {\r\n throw new Error(error)\r\n }\r\n }\r\n } while (second <= 8)\r\n throw new Error('')\r\n },\r\n },\r\n guards: {\r\n hasOrderRes: (context, event: any) => {\r\n return !!event.data;\r\n },\r\n\r\n isConflict: (context, event: any) => {\r\n if (event.data.code === 12006)\r\n return false;\r\n\r\n return true;\r\n },\r\n },\r\n delays: {},\r\n })\r\n\r\n const states = reactiveComputed(() => {\r\n const s = machine.state.value;\r\n const isRequest = s.hasTag('request');\r\n const isSameAddress = s.context.orderPreSubmitCode === 12001;\r\n const isConfirm = s.hasTag('confirm') || s.hasTag('request');\r\n const isRefresh = s.matches('onShowSellSuccessModal');\r\n const isConflict = s.matches('conflict');\r\n const showSellRefPopup = s.hasTag('orderQueryResult');\r\n\r\n return {\r\n isRequest,\r\n isConfirm,\r\n isSameAddress,\r\n showSellRefPopup,\r\n isRefresh,\r\n isConflict,\r\n };\r\n });\r\n\r\n watch(machine.state, (state) => {\r\n })\r\n\r\n return {\r\n machine,\r\n states,\r\n }\r\n})\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import type { IProps } from '../SellPopup.vue'\r\nimport { EFreezeType } from '../../freeze/FreezePopup.vue'\r\nimport { tron } from '~/utils/tron-v2'\r\nimport { useMultiSignProvider } from '~/pages-components/c2c/hooks/useMultiSign'\r\nimport { useC2cSellMachine } from '~/pages-components/c2c/components/sell/machine/useC2cSellMachine'\r\n// import { SentryUtils } from '~/utils/sentry'\r\nimport { discountResult } from '~/composables/app/getC2cAmountCalculator'\r\n\r\nexport function useSell(props: IProps) {\r\n // const sellScope = new SentryUtils('c2c')\r\n const { account, refetch } = tronComp.useAccountCurrent()\r\n\r\n const multiAddress = ref(props.muitiSingAddress)\r\n const isMultiSign = useBoolean(false)\r\n const mode = ref(EFreezeType.Short)\r\n const visibleFreeze = useBoolean(false)\r\n const spinning = useBoolean(false)\r\n const { orderDetail } = props\r\n const { config } = useAppState()\r\n const formData = reactive({\r\n settleAddress: account?.address,\r\n sellAmount: orderDetail.min_amount,\r\n })\r\n\r\n const {\r\n onValidatePower,\r\n info: multiSignIfo,\r\n setAddress,\r\n } = useMultiSignProvider()\r\n const { machine, states } = useC2cSellMachine()!\r\n\r\n const sellForm = useAntFormValidator({\r\n payAddress: {\r\n value: multiAddress,\r\n validator(rule, value) {\r\n if (isMultiSign.is && !tron.isAddress(value))\r\n return Promise.reject($t('sHmcz_3thcjWOabRqDhT'))\r\n\r\n return Promise.resolve()\r\n },\r\n },\r\n settleAddress: {\r\n value: toRef(formData, 'settleAddress'),\r\n validator(rule, value) {\r\n if (!tron.isAddress(value))\r\n return Promise.reject($t('e8ik9k7EhmgdQfl0ZOlu'))\r\n\r\n return Promise.resolve()\r\n },\r\n },\r\n sellAmount: {\r\n value: toRef(formData, 'sellAmount'),\r\n validator(rule, value) {\r\n if (!value)\r\n return Promise.reject($t('n305EyjKQuab3Q0Ym5Msu'))\r\n\r\n for (const [s, e] of toValue(ranges)) {\r\n if (value < s && value > e) {\r\n return Promise.reject(\r\n $t('hB-Pdl_5hJSlPkso_yNMs') + formatAmount(energyMin.value, 0),\r\n )\r\n }\r\n }\r\n return Promise.resolve()\r\n },\r\n },\r\n })\r\n const onSubmit = async () => {\r\n try {\r\n const formState = (await sellForm.$form.value\r\n ?.validate()\r\n .catch(() => {})) as typeof sellForm.formState\r\n\r\n if (formState) {\r\n setAddress(toValue(multiAddress))\r\n\r\n onValidatePower(isMultiSign.is, 57)\r\n await validator()\r\n console.log('formState.sellAmount', formState.sellAmount)\r\n machine.send({\r\n type: 'SUBMIT',\r\n orderDetail,\r\n ownerAddress: getOwnerAddress(),\r\n resourceValue: formState.sellAmount,\r\n settleAddress: formState.settleAddress,\r\n frozenBalance: sellInfo.value.freezeTRX,\r\n skipDuplicateCheck: 0,\r\n multiSignIfo,\r\n isMultiSign: isMultiSign.is,\r\n resourceType: toValue(resourceType),\r\n })\r\n }\r\n }\r\n catch (e) {\r\n if (typeof e === 'object') {\r\n const msg = formatTronErrorMessage(e)\r\n aMessage.error(msg)\r\n return\r\n }\r\n\r\n if (e instanceof Error) {\r\n // sellScope.setTagPath('c2c', ['sell'])\r\n // sellScope.captureException(e)\r\n aMessage.error(e.message)\r\n }\r\n }\r\n }\r\n\r\n const getOwnerAddress = (): string => {\r\n return isMultiSign.is ? multiAddress.value : account.address\r\n }\r\n\r\n const validator = () => {\r\n return new Promise((resolve, reject) => {\r\n if (orderDetail.receive_address == getOwnerAddress()) {\r\n aMessage.error($t('DogFR2AdsY9AJ9A8dDB8y'))\r\n reject()\r\n }\r\n if (!sellInfo.value.freezeTRX && !formData.sellAmount) {\r\n aMessage.error($t('pVxWPz1WarabRXO2VSUyt'))\r\n reject()\r\n }\r\n resolve('')\r\n })\r\n }\r\n\r\n // 打开质押弹窗\r\n const openFreezeModal = (e: EFreezeType) => {\r\n mode.value = e\r\n setAddress(toValue(multiAddress))\r\n visibleFreeze.setTrue()\r\n }\r\n const closeFreeze = () => visibleFreeze.setFalse()\r\n\r\n const freezeModalDetail = computed(() => {\r\n const info = {\r\n orderDetail,\r\n sellAmount: formData.sellAmount ?? orderDetail.min_amount,\r\n mode: EFreezeType.Short,\r\n multiAddress: isMultiSign.is ? multiAddress.value : '',\r\n }\r\n info.mode = mode.value\r\n\r\n return info\r\n })\r\n\r\n const resourceType = computed(() =>\r\n orderDetail.resource_type === 1 ? 'ENERGY' : 'BANDWIDTH',\r\n )\r\n\r\n const energyMin = computed(() =>\r\n Math.min(\r\n config.value?.order.energy_min_value ?? 10000,\r\n config.value?.order.energy_c2c_min_value ?? 10000,\r\n ),\r\n )\r\n\r\n const ranges = computed(() => {\r\n return [\r\n [0, orderDetail.min_amount - toValue(energyMin)],\r\n [orderDetail.max_amount ?? 10000, orderDetail.max_amount ?? 10000],\r\n ]\r\n })\r\n\r\n const sellInfo = computed(() => {\r\n const { resource } = account\r\n const info = {\r\n freezeTRX: 0,\r\n amount: 0,\r\n }\r\n if (!resource)\r\n return info\r\n // 计算收入\r\n const params = {\r\n rentTimeUnit: orderDetail.rent_time_unit,\r\n rentDuration: orderDetail.rent_duration,\r\n resourceValue: formData.sellAmount,\r\n resourceType: orderDetail.resource_type,\r\n priceInSun: orderDetail.price_in_sun,\r\n\r\n }\r\n const { amount } = discountResult(params)\r\n info.amount = amount * 0.75\r\n\r\n info.freezeTRX = Math.ceil(\r\n formData.sellAmount / (resource.energyUnitPrice ?? 0),\r\n )\r\n if (orderDetail?.resource_type === 0) {\r\n info.freezeTRX = Math.ceil(\r\n formData.sellAmount / (resource.netUnitPrice ?? 0),\r\n ) // 按全网质押单价计算\r\n }\r\n return info\r\n })\r\n\r\n const showSellRang = computed(() => {\r\n return (\r\n (orderDetail.resource_split_value ?? 0) < (orderDetail.max_amount ?? 0)\r\n && orderDetail.max_amount > orderDetail.min_amount\r\n )\r\n })\r\n\r\n return {\r\n onSubmit,\r\n openFreezeModal,\r\n freezeModalDetail,\r\n resourceType,\r\n formData,\r\n ranges,\r\n energyMin,\r\n sellInfo,\r\n closeFreeze,\r\n multiAddress,\r\n accountAddress: account.address,\r\n visibleFreeze,\r\n isMultiSign,\r\n spinning,\r\n sellForm,\r\n showSellRang,\r\n }\r\n}\r\n","export default \"__VITE_ASSET__fb1b5870__\"","\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n","import { imtoken } from '~/utils/imtoken'\r\n\r\n// 改成 响应式的\r\nexport function useIsImtoken() {\r\n // 没有连接并且是imtoken\r\n if (imtoken.isImToken() && !(window as any).tronWeb)\r\n imtoken.showAccountSwitch()\r\n}\r\n\r\n// 判断是否是imtoken的环境Promise todo\r\nexport function hasImtoken() {\r\n new Promise((resolve, reject) => {\r\n if (imtoken.isImToken() && !(window as any).tronWeb)\r\n resolve()\r\n else\r\n reject()\r\n })\r\n}\r\n"],"names":["useResourceTypeText","type","computed","value","TronRes","BANDWIDTH","$t","_imports_0$1","URL","module","meta","url","href","_imports_1","_imports_2","locale","useSwichLocale","states","onReceive","onRule","receiveList","activityConfig","enabled","isLoading","useActivity","slidesToShow","length","_imports_0","sellImg","config","useAppState","tradRef","ref","useAnimation","animationData","discountResult","params","reactiveComputed","_config$value$estimat","_config$value6","info","fee","bignumber","amount","save","discount","needBurning","priceInSun","resourceValue","day","rentTimeUnit","rentDuration","resourceType","multipliedBy","estimate","energy_price","dividedBy","_params$resourceValue","_params$resourceValue2","payAmount","decimalPlaces","BigNumber","ROUND_DOWN","calcAmount","minus","isNegative","discountFormula","useBuyProvider","useBuy","createInjectionState","shortcutTime","useRentalTime","account","isConnected","tronComp","useAccountCurrent","formData","reactive","ENERGY","receiveAddress","rentTimeSecond","times","waitSecond","fromDataRefs","toRefs","unitPriceRange","_config$value","_config$value2","range","c2cMinValue","c2cMaxValue","order","unref","energy_c2c_min_value","bandwidth_c2c_min_value","energy_c2c_max_value","bandwidth_c2c_max_value","resourcePriceRange","priceRange","_config$value$price_c","_config$value3","_config$value4","c2cMinSun","price_c2c","sun","c2cMaxSun","source","sun_m","sun_1d","sun_1h","sun_6h","sun_3h","max_sun","resourceUnitPrice","defaultPriceInSun","_config$value5","toLowerCase","default_sun","default_sun_m","default_sun_1d","default_sun_1h","default_sun_6h","default_sun_3h","resourceDefaultPrice","buyForm","useAntFormValidator","validator","rule","isUnaddressDom","imtoken","isImToken","tron","isAddress","Promise","resolve","reject","isPenNumber","otherMode","tronWeb","shortcut","_config$value7","_config$value8","energy_c2c_quick_options","bandwidth_quick_options","isOpenTTPay","_config$value9","base","enable_ttpay","window","payType","EPaymentMethod","DAPP","paymentMethod","TTPAY","BALANCE","trxMoney","useUserInfo","buttonGroup","_unref5","_unref6","walletConnection","toValue","walletConnectionToPay","download","pay","toDecimalPlaces","balanceTip","isRentDays","paymentAddress","_config$value10","wallet","payment_c2c_address","useEventBus","on","address","watchEffect","watch","immediate","_buyForm$$form$value2","$form","clearValidate","changeEnergyUnit","e","chooseRentDuration","item","_item","_buyForm$$form$value","data","find","i","dur","unit","onSubmit","async","onValidate","togglePayType","code","machine","createMachine","id","initial","idle","always","target","cond","OPEN","confirm","CLOSE","BUY","actions","PAY","internal","tronlink","entry","invoke","src","onDone","onError","tags","END","OK","TTpay","STOP","KEEP","Balance","schema","events","predictableActionArguments","preserveActionOrder","context","tsTypes","useC2cBuyMachineProvide","useC2cBuyMachine","queryTronlinkOrder","queryTtpayOrder","rentalInformation","bp","useAppBreakpoints","useMachine","c2cBuylMachine","requestError","ctx","ev","Error","message","includes","aMessage","error","extractContentInBrackets","toPayment","ltLaptop","location","paymentUrl","open","jumpCompatible","payment_url","encodeURIComponent","setPayment","actions.assign","_ev$data","setInfo","discountInfo","toAddress","services","precreateTronlinkOrder","fromAddress","res","payTRXServerBroadcast","msg","formatTronErrorMessage","createTronlinkOrder","key","snakeCase","signed_txn","resource_value","Number","apis","orderCreateC2C","requestBody","errorMessageMode","second","sleep","orderQuery","order_no","trx_address","pay_address","status","callback","createTtpayOrder","pay_amount","ttpayOrderC2C","out_trade_no","startTime","Date","now","resume","pause","useTimeoutPoll","resultType","checkCode","_res$data","createBalanceOrder","apiOrderCreateOrderByBalance","order_type","guards","isTronlink","isTtpay","isBalance","console","log","isPc","event","laptopl","delays","s","state","isConfirm","matches","isInfoConfirm","isIdle","isTronlinkOrderResults","isTtpayOrderResults","isBalanceResults","isTtpayQueryOrder","isRequest","hasTag","isQueryingTtpay","isRefresh","requesting","_hoisted_2","_createElementVNode","class","_hoisted_3","_ctx","_cache","_openBlock","_createElementBlock","_hoisted_1","_toDisplayString","_info$value","_unref7","_unref8","refetch","userInfoQuerier","bus","dappTitle","title","subtitle","ttpayTitle","_queryTtpayOrder$valu","_queryTtpayOrder$valu2","_queryTtpayOrder$valu3","balancePaymentCallback","send","dappPaymentCallback","TRANSFER","props","__props","emits","__emit","max","min","useBoolean","cursorState","count","inc","dec","initiaValue","inc2","dec2","useNumber","useVModel","isAutoCancel","checking","useHideFormHelp","ResourceType","useResource","isNaN","isLessThanOrEqualTo","_window","_buyForm$$form$value3","showAccountSwitch","formState","validate","catch","setTrue","arr","name","useMultiSignProvider","useMultiSign","isOwnerPermission","permissionId","addressMuktiSign","accountCurrent","accountMultiSign","useAccount","toRef","onValidatePower","isMultiSign","owner_permission","ownerPermission","active_permission","activePermission","keys","forEach","_tron$tronWeb","toHex","some","obj","_tron$tronWeb2","getPermission","operations","tronErrors","MULTISIGN_ERROR","setAddress","useSellProvider","useSell","is","multiSingAddress","muktiSignResources","energy","bandwidth","balance","remaineResource","_canDelegatedBalanceF","_canDelegatedBalanceF2","_info$ENERGY","_info$BANDWIDTH","delegable","delegableMulti","energyUnitPrice","resource","netUnitPrice","canDelegatedBalanceForEnergy","Math","floor","canDelegatedBalanceForBandwidth","balanceTrx","_accountMultiSign$del","_accountMultiSign$del2","_accountMultiSign$del3","_accountMultiSign$del4","_accountMultiSign$bal","setMultiSingAddress","useFreeze","orderDetail","detail","multiAddress","loading","freezeResult","modalContent","accountMulti","multiRefetch","mode","maxTRX","_balance$value","trx","resource_type","freezeInfo","availableResource","needResource","sellAmount","needExchange","remaine","result","onChange","cost","setMaxTrx","_formData$amount2","_formData$amount","formatAmount","freezeBalanceV2ByMultiSign","freezeBalanceV2","fetchCanDelegatedMaxSize","typeTxt","setFalse","EFreezeType","EFreezeType2","resTypeText","SUBMIT","DOUBLECHEC","FetchOrderPredelegete","fetchDelegateResourceSign","fetchdelegateResourceServerBroadcast","conflict","orderDelegateC2C","onShowSellSuccessModal","onShowSellFailModal","useC2cSellMachineProvide","useC2cSellMachine","c2cSellMachine","init","orderPreSubmitCode","resetting","showErrorMessage","preRequestError","orderQuerySuccess","orderQueryRes","lockPeriod","rent_time_unit","rent_duration","ownerAddress","settleAddress","frozenBalance","skipDuplicateCheck","multiSignIfo","fetchOrderPredelegete","orderPreDelegateC2C","owner_address","frozen_balance","permission_id","skip_duplicate_check","options","estimatedBandwidth","String","estimatedEnergy","sign","getDelegateResourceSign","c2CPreDelegateResp","__options","_ctx$orderDetail","_ctx$orderDetail2","receive_address","isLock","is_lock","lock_period","delegateResourceServerBroadcast","settle_address","ApiError","hasOrderRes","isConflict","isSameAddress","showSellRefPopup","exports","openFreezeModal","freezeModalDetail","ranges","energyMin","sellInfo","closeFreeze","showSellRang","accountAddress","visibleFreeze","spinning","sellForm","muitiSingAddress","Short","min_amount","payAddress","getOwnerAddress","freezeTRX","_formData$sellAmount","_config$value$order$e","_config$value11","_config$value$order$e2","_config$value12","energy_min_value","_orderDetail$max_amou","_orderDetail$max_amou2","max_amount","_resource$energyUnitP","price_in_sun","_resource$netUnitPric","ceil","_orderDetail$resource","_orderDetail$max_amou3","resource_split_value","_sellForm$$form$value","onPayAddressChange","setTimeout","service","onTransition","emptyImg","SellPopupGather","defineAsyncComponent","import","dataList","pagination","sort","total","pageSize","page","useQuery","queryKey","orderTrades","refetchOnWindowFocus","refetchInterval","queryFn","page_size","_data$value$list","_data$value","list","_data$value$paginatio","_data$value2","useSelfHelpOrder","walletBus","SellPopupRef","tableColumns","dataIndex","align","responsive","width","paginationChange","val","record","_globalModal$ConnectW","globalModal","ConnectWallet","visible","prompt","voteList","votetInfo","useVoteData","querier","witnessApi","staleTime","_tronVoteData$tronPow","_tronVoteData$tronPow2","_tronVoteData","voteTotal","voteUsed","votableNumber","maxVoteNumber","voteUsedStic","tronPowerLimit","tronPowerUsed","_querier$data$value","map","onInputBlur","onSetALL","submiting","inputTotal","filterData","_voteList2$value","filter","hasOwnProperty","getInputTotal","_filterDataRes$map","filterDataRes","reduce","previousValue","currentValut","Object","fromEntries","onSetALL2","usableValue","JSON","stringify","vote","close","useVote","_voteList$value","__expose","VoteModalRef","onSelect","emit","toVote","_globalModal$ConnectW2","listData","orderLastTrades","_data$value3","_data$value4","useLatestTable","tronAccount","maxTrx","_formData$value","lockBalance","multiplyByTenToPower","estimatedResource","_formData$value2","print","unitPrinceTrx","customTrx","setAmount","onCconfirm","_formData$value3","_data$estimatedResour","_data$estimatedResour2","_formData$value4","_formData$value5","_formData$value6","receiverAddress","undelegateResource","recoveryResult","useRecycleResoure","onMounted","cancel","isFetching","fetchAgencyOrders","limit","start","_data$value5","_data$value$data$tota","_data$value6","useAgentTable","row","percent","current","_resourceType","queritr","subOrderListByAddress","_record$value2","order_parent_no","_queritr$data$value","_queritr$data$value2","_record$value","getProgressVal","frozen_resource_value","myPayOrder","_data$value7","_data$value8","useBuyTable","CencelOrderRef","MineOrderDetailRef","activeKey","showSellVip","useActivityProvider","BuyPopupRef","ltTabletl","i18nHead","useLocaleHead","addSeoAttributes","useHead","htmlAttrs","lang","link","property","content"],"mappings":"8sDAEO,SAASA,GAAoBC,GAClC,OAAOC,GAAS,IACPD,EAAKE,QAAUC,EAAQC,UAAYC,EAAG,yBAA2BA,EAAG,0BAE/E,CCNe,MAAAC,GAAA,GAAA,IAAAC,IAAA,8BAAAC,EAAAC,KAAAC,KAAAC,KCAAC,GAAA,GAAA,IAAAL,IAAA,8BAAAC,EAAAC,KAAAC,KAAAC,KCAAE,GAAA,GAAA,IAAAN,IAAA,gCAAAC,EAAAC,KAAAC,KAAAC,u+BCIT,MAAAG,OAAEA,GAAWC,MACbC,OAAEA,YAAQC,EAAWC,OAAAA,EAAAC,YAAQA,iBAAaC,EAAgBC,QAAAA,EAAAC,UAASA,GAAcC,KAEjFC,EAAevB,GAAS,KACtB,MAAAwB,EAASN,EAAYjB,MAAMuB,OAC1B,OAAAA,GAAU,EAAI,EAAIA,CAAA,8zDCTZC,GAAA,GAAA,IAAAnB,IAAA,wBAAAC,EAAAC,KAAAC,KAAAC,KCAAgB,GAAA,GAAA,IAAApB,IAAA,wBAAAC,EAAAC,KAAAC,KAAAC,mnuCCIT,MAAAiB,OAAEA,GAAWC,IACbC,EAAUC,EAAoB,aAEpCC,GAAaF,EAASG,kiCCoHf,SAASC,GAAyCC,GACvD,OAAOC,GAAiB,KAAM,IAAAC,EAAAC,EACtB,MAAAV,OAAEA,GAAWC,IACbU,EAAO,CACXC,IAAKC,EAAU,GACfC,OAAQD,EAAU,GAClBE,KAAMF,EAAU,GAChBG,SAAUH,EAAU,GACpBI,YAAaJ,EAAU,IAEzB,IAAKN,EAAOW,aAAeX,EAAOY,cACzB,OAAAR,EACH,MAAAS,EAA8B,MAAxBb,EAAOc,aAAuBR,EAAUN,EAAOe,cAAgBT,EAAU,GAE/EI,EAAcV,EAAOgB,aACvBV,EAAUN,EAAOY,eAAeK,qBAAAf,EAAqB,QAArBC,EAAcV,EAAO1B,aAAPoC,IAAOA,OAAPA,EAAAA,EAAce,SAASC,oBAAA,IAAAjB,EAAAA,EAAgB,KAAMkB,UAAU,KAASH,aAAaJ,GAC3HP,EAAU,KAAMc,UAAU,KAASH,aAAajB,EAAOY,eAAeK,aAAaJ,GAEvFT,EAAKM,YAAcA,EACdN,EAAAG,OAiBT,SAA8CP,GAAWqB,IAAAA,EAAAC,EACnD,IAAAC,EAAYjB,EAAU,GAC1B,OAAQN,EAAOc,cACb,IAAK,IACH,GAAId,EAAOe,aAAe,GAAKf,EAAOe,aAAe,GACnD,MAEFQ,EAAYjB,EAAkB,UAAPN,EAAOY,qBAAAS,IAAAA,EAAAA,EAAiB,GAC9CJ,aAAajB,EAAOW,YACpBS,UAAU,KACVH,aAAajB,EAAOe,cACpBS,cAAc,EAAGC,EAAUC,YAC5B,MAEF,QACE,GAAI1B,EAAOe,aAAe,GAAKf,EAAOe,aAAe,GACnD,MAEFQ,EAAYjB,EAAkBgB,UAAPtB,EAAOY,yBAAAU,EAAAA,EAAiB,GAC9CL,aAAajB,EAAOW,YACpBS,UAAU,KACVH,aAAa,GACbO,cAAc,EAAGC,EAAUC,YAIzB,OAAAH,CACT,CA5CkBI,CAAW3B,GAGpBI,EAAAI,KAAOE,EAAYkB,MAAMxB,EAAKG,QAAQsB,aACvC,IAAIJ,EAAU,GACdf,EAAYkB,MAAMxB,EAAKG,QAAQiB,cAAc,EAAIC,EAAUC,YAE/D,MAAMI,EAAkBxB,EAAU,KAAKW,aAAaX,EAAU,GAAGsB,MAAMxB,EAAKG,OAAOa,UAAUV,KAMtF,OALFN,EAAAK,SAAWqB,EAAgBD,aAC5BvB,EAAU,GACVwB,EAAgBN,cAAc,EAAGC,EAAUC,YAGxCtB,CAAA,GAEX,CC1IO,MAAO2B,GAAgBC,IAAUC,GAAqB,KACrD,MAAAxC,OAAEA,GAAWC,KACbwC,aAAEA,GAAiBC,GAAc,QACjCC,QAAEA,EAAAC,YAASA,GAAgBC,EAASC,oBACpCC,EAAWC,EAAoB,CACnCzB,aAAchD,EAAQ0E,OACtBC,eAAgB,GAChB/B,cAAe,KACfD,WAAY,EACZiC,eAAgB,OAChB9B,aAAc,IACdC,aAAc,EACd8B,MAAO,EACPC,WAAY,OAERC,EAAeC,EAAOR,GAEtBS,EDdD,SAA4BjC,GAC3B,MAAAvB,OAAEA,GAAWC,IACnB,OAAOO,GAAiB,KAAMiD,IAAAA,EAAAC,EAC5B,MAAMC,EAAQ,CACZC,YAAa,EACbC,YAAa,GAEX,GAAeJ,QAAfA,EAACzD,EAAO1B,iBAAOmF,IAAdA,EAAcK,MACV,OAAAH,EACH,MAAAG,EAAsBJ,QAAtBA,EAAQ1D,EAAO1B,iBAAOoF,SAAdA,EAAcI,MAQrB,OAPPH,EAAMC,YAAcG,EAAMxC,GACtBuC,EAAME,qBACNF,EAAMG,wBACVN,EAAME,YAAcE,EAAMxC,GACtBuC,EAAMI,qBACNJ,EAAMK,wBAEHR,CAAA,GAEX,CCLyBS,CAAmBd,EAAa/B,cACjD8C,EDUD,SAAqD9D,GACpD,MAAAP,OAAEA,GAAWC,IACbsB,EAAelD,GAAS,IAAMkC,EAAOgB,aAAe,SAAW,cACrE,OAAOf,GAAiB,KAAM8D,IAAAA,EAAAC,EAAAC,EACtB,MAAApG,EAAO2F,EAAMxC,GAEboC,EAAQ,CACZc,UAAiD,UAA/B,UAAPzE,EAAO1B,aAAA,IAAAiG,OAAA,EAAPA,EAAcG,UAAUtG,GAAOuG,WAAOL,IAAAA,EAAAA,EAAA,GACjDM,UAAW,GAGPC,EAAuB,QAAdL,EAAAxE,EAAO1B,aAAO,IAAAkG,OAAA,EAAdA,EAAcE,UAAUtG,GAEvC,OAAKyG,GAEuB,MAAxBtE,EAAOc,eACTsC,EAAMc,UAAYI,EAAOC,OAEC,MAAxBvE,EAAOc,aACmB,IAAxBd,EAAOe,eACHqC,EAAAc,UAAYI,EAAOE,QAAU,GAEN,MAAxBxE,EAAOc,eACc,IAAxBd,EAAOe,aACHqC,EAAAc,UAAYI,EAAOG,QAAU,EACJ,IAAxBzE,EAAOe,aACRqC,EAAAc,UAAYI,EAAOI,QAAU,EACJ,IAAxB1E,EAAOe,eACRqC,EAAAc,UAAYI,EAAOK,QAAU,IAGvCvB,EAAMiB,UAAYC,aAAQ,EAARA,EAAQM,QAEnBxB,GAnBEA,CAmBF,GAEX,CC7CqByB,CAAkBrC,GAC/BsC,EDkDD,SAAwD9E,GACvD,MAAAP,OAAEA,GAAWC,IACbsB,EAAelD,GAAS,IAAMkC,EAAOgB,aAAe,SAAW,cACrE,OAAOlD,GAAS,KAAM,IAAAiH,EACd,MAAAlH,EAAOmD,EAAajD,MAAMiH,cAE1BV,EAAuB,QAAdS,EAAAtF,EAAO1B,aAAPgH,IAAcA,OAAdA,EAAAA,EAAcZ,UAAUtG,GACvC,IAAKyG,EACI,OAAA,EACT,IAAIQ,EAAoBR,EAAOW,YAiBxB,MAfqB,MAAxBjF,EAAOc,eACTgE,EAAoBR,EAAOY,eAED,MAAxBlF,EAAOc,aACmB,IAAxBd,EAAOe,eACT+D,EAAoBR,EAAOa,gBAEE,MAAxBnF,EAAOc,eACc,IAAxBd,EAAOe,aACT+D,EAAoBR,EAAOc,eACI,IAAxBpF,EAAOe,aACd+D,EAAoBR,EAAOe,eACI,IAAxBrF,EAAOe,eACd+D,EAAoBR,EAAOgB,iBAExBR,CAAA,GAEX,CC9E4BS,CAAqB/C,GACzC/B,EAAWV,GAAeyC,GAE1BgD,EAAUC,GAAoB,CAClCzE,aAAc,CACZjD,MAAOgF,EAAa/B,cAEtB2B,eAAgB,CACd5E,MAAOgF,EAAaJ,eACpB+C,UAAAA,CAAUC,EAAM5H,IACTA,GAGD6H,EAAe7H,OACZ8H,EAAQC,aAAgBC,EAAKC,UAAUjI,GAGvCkI,QAAQC,UAFJD,QAAQE,OAAOjI,EAAG,yBAJpB+H,QAAQE,OAAOjI,EAAG,2BAS/B0C,cAAe,CACb7C,MAAOgF,EAAanC,cACpB8E,SAAAA,CAAUC,EAAM5H,GACR,MAAAF,EAA8B,WAAvBmD,EAAajD,MAAqBG,EAAG,yBAA2BA,EAAG,yBAEhF,MAAqB,iBAAVH,EACFkI,QAAQE,OAAOjI,EAAG,wBAAyB,CAAEL,WAEjDE,GAASA,GAAS,EACdkI,QAAQE,OAAOjI,EAAG,0BAEvBH,EAAQkF,EAAeI,YAClB4C,QAAQE,OAAU,GAAAjI,EAAG,8BAA8B+E,EAAeI,eAEvEtF,EAAQkF,EAAeK,YAClB2C,QAAQE,OAAU,GAAAjI,EAAG,4BAA4B+E,EAAeK,eAElE2C,QAAQC,SACjB,GAEFvF,WAAY,CACV5C,MAAOgF,EAAapC,WACpB+E,UAAAA,CAAUC,EAAM5H,IACO,iBAAVA,EACFkI,QAAQE,OAAOjI,EAAG,yBAEpB+H,QAAQC,WAGnBtD,eAAgB,CACd7E,MAAOgF,EAAaH,eACpB8C,UAAAA,CAAUC,EAAM5H,IACTA,EAGEkI,QAAQC,UAFND,QAAQE,OAAOjI,EAAG,0BAK/B4E,WAAW,CACT/E,MAASgF,EAAaD,cAIpBsD,EAAcxG,GAAI,GAElByG,EAAYvI,GAAS,MAAQiI,EAAKO,SAAWjE,EAAYtE,QAMzDiD,EAAelD,GAAS,IAC5B0E,EAASxB,aAAe,SAAW,cAE/BuF,EAAWzI,GAAS,SAAA0I,EAAAC,EAAA,MAA6B,WAAvBzF,EAAajD,MAA4ByI,QAAlBA,EAAW/G,EAAO1B,aAAPyI,IAAOA,OAAPA,EAAAA,EAAcjD,MAAMmD,yBAAkCD,QAAlCA,EAA2BhH,EAAO1B,aAAP0I,IAAOA,OAAPA,EAAAA,EAAclD,MAAMoD,uBAAuB,IActJC,EAAc9I,GAAS,KAAA,IAAA+I,EAAA,OAAaA,QAAbA,EAAMpH,EAAO1B,aAAP8I,IAAOA,OAAPA,EAAAA,EAAcC,KAAKC,YAAY,IAG5DnB,EAAiB9H,GAAS,IAAgC,iBAAnBkJ,OAAOV,SAAwBT,EAAQC,cAM9EmB,EAAUrH,EAAIsH,GAAeC,MAE7BC,EAAgBtJ,GAAS,KAC7B,OAAQmJ,EAAQlJ,OACd,KAAKmJ,GAAeC,KACX,MAAA,OACT,KAAKD,GAAeG,MACX,MAAA,QACT,KAAKH,GAAeI,QACX,MAAA,UACT,QACS,MAAA,OACX,KAMIC,SAAEA,GAAaC,IAEfC,EAAcxH,GAAiB,KAAM,IAAAyH,EAAAC,EAClC,MAAA,CACLC,kBACGC,EAAQjB,IACNiB,EAAQjC,KACPiC,EAAQxF,GACdyF,sBACED,EAAQZ,KAAaC,GAAeC,MACjCU,EAAQjC,KACPiC,EAAQxF,GACd0F,SACEF,EAAQZ,KAAaC,GAAeC,OAASU,EAAQjC,GACvDoC,IACEH,EAAQZ,KAAaC,GAAeG,OAEjCQ,EAAQZ,KAAaC,GAAeI,kBAAAI,EAAYlE,EAAM+D,kBAAa,IAAMU,EAAgBxH,EAASF,OAAQ,IACzGsH,EAAQZ,KAAaC,GAAeC,MAAQU,EAAQxF,GAC1D6F,WAAYL,EAAQZ,KAAaC,GAAeI,UAA+BK,QAA/BA,EAAYnE,EAAM+D,UAAaI,IAAAA,EAAAA,EAAA,GAAKM,EAAgBxH,EAASF,OAAQ,GACvH,IAGI4H,EAAarK,GAAS,IAAgC,MAA1B0E,EAAS1B,eAAwB0B,aAAA,EAAAA,EAAUzB,cAAe,IAEtFqH,EAAiBtK,GACrB,KAAA,IAAAuK,EAAA,OAAaA,QAAbA,EAAM5I,EAAO1B,iBAAAsK,GAAe,QAAfA,EAAPA,EAAcC,cAAdD,IAAsBA,OAAtBA,EAAAA,EAAsBE,mBAAA,IA0BvB,OAvBKC,EAAoB,iBAG5BC,IAAG,KACLjG,EAASG,eAAiBP,EAAQsG,OAAA,IAGpCC,GAAY,KACVnG,EAAS7B,WAAamE,EAAkB/G,KAAA,IAG1C6K,EAAMvG,GAAa,KACjBG,EAASG,eAAiBN,EAAYtE,MAAQqE,EAAQsG,QAAUlG,EAASG,cAAA,GACxE,CAAEkG,WAAW,IAEhBD,GACE,IAAMpG,EAASxB,eACf,KAAM,IAAA8H,UACIA,EAAAtD,EAAAuD,MAAMhL,aAAN+K,OAAAA,EAAaE,gBACrBxG,EAAS5B,cAAgB,IAAA,IAItB,CACL2F,WACA0C,iBAtGwBC,IACxB9C,EAAYrI,MAAQmL,CAAA,EAsGpBjG,iBACAa,aACA5B,eACA4C,oBACAtC,WACAgD,UACA2D,mBApG0BC,IAAkBC,IAAAA,EAAAC,EAC5CF,UAAAC,EAAOD,iBAAQ5G,EAASI,eACxB,MAAM2G,EAAOrH,aAAAA,EAAAA,EAAcsH,MAAMC,GAAWA,EAAE1L,QAAUqL,IACnDG,IAEL/G,EAASI,eAAiB2G,EAAKxL,MAC/ByE,EAASzB,aAAewI,EAAKG,IAC7BlH,EAAS1B,aAAeyI,EAAKI,KAC7BnH,EAAS7B,WAAamE,EAAkB/G,cAChCuL,EAAA9D,EAAAuD,MAAMhL,aAANuL,OAAAA,EAAaN,gBAAc,EA4FnCvI,WACAmJ,SArFeC,YAsFfjD,cACAhB,iBACAkE,WAtFiBD,YAuFjBE,cAtEqBC,IACrB/C,EAAQlJ,MAAQiM,CAAA,EAsEhB/C,UACAQ,cACAW,iBACAhB,gBACAe,aACA/B,cACAC,YACF,ICxNW4D,GAAUC,GAAc,CACnCC,GAAI,gBACJC,QAAS,OACTvL,OAAQ,CACNwL,KAAQ,CACNC,OAAQ,CACNC,OAAQ,UACRC,KAAM,QAER/B,GAAI,CACFgC,KAAM,CACJF,OAAQ,aAIdG,QAAW,CACTjC,GAAI,CACFkC,MAAO,CACLJ,OAAQ,QAEVK,IAAK,CACHL,OAAQ,eACRM,QAAS,CACPhN,KAAM,cAKd,eAAgB,CACd4K,GAAI,CACFqC,IAAK,CACH,CACEP,OAAQ,WACRC,KAAM,aACNO,UAAU,GAEZ,CACER,OAAQ,QACRC,KAAM,UACNO,UAAU,GAEZ,CACER,OAAQ,UACRC,KAAM,cAGVG,MAAO,CACLJ,OAAQ,aAIdS,SAAY,CACVC,MAAO,CACLpN,KAAM,WAERuM,QAAS,OACTvL,OAAQ,CACNwL,KAAQ,CACNC,OAAQ,CACNC,OAAQ,+BAGZ,6BAA8B,CAC5BW,OAAQ,CACNC,IAAK,yBACLhB,GAAI,yBACJiB,OAAQ,CACN,CACEb,OAAQ,0BAGZc,QAAS,CACP,CACEd,OAAQ,yBACRM,QAAS,CACPhN,KAAM,mBAKdyN,KAAM,CAAC,UAAW,qBAEpB,wBAAyB,CACvBJ,OAAQ,CACNC,IAAK,sBACLhB,GAAI,sBACJiB,OAAQ,CACN,CACEb,OAAQ,yBAGZc,QAAS,CACP,CACEd,OAAQ,yBACRM,QAAS,CACPhN,KAAM,mBAKdyN,KAAM,CAAC,UAAW,qBAEpB,uBAAwB,CACtBJ,OAAQ,CACNC,IAAK,qBACLhB,GAAI,gBAENmB,KAAM,CAAC,UAAW,mBAAoB,qBACtC7C,GAAI,CACF8C,IAAK,CACHhB,OAAQ,mBAId,gBAAiB,CACf9B,GAAI,CACF+C,GAAI,CACFjB,OAAQ,2BAMlBkB,MAAS,CACPR,MAAO,CACLpN,KAAM,WAERuM,QAAS,OACTvL,OAAQ,CACNwL,KAAQ,CACNC,OAAQ,CACNC,OAAQ,uBAGZ,qBAAsB,CACpBW,OAAQ,CACNC,IAAK,mBACLhB,GAAI,mBACJiB,OAAQ,CACN,CACEb,OAAQ,oBACRM,QAAS,CACP,CACEhN,KAAM,aAER,CACEA,KAAM,iBAKdwN,QAAS,CACP,CACEd,OAAQ,yBACRM,QAAS,CACPhN,KAAM,mBAKdyN,KAAM,CAAC,UAAW,kBAEpB,oBAAqB,CACnBJ,OAAQ,CACNC,IAAK,kBACLhB,GAAI,gBAENmB,KAAM,CAAC,UAAW,gBAAiB,kBACnC7C,GAAI,CACF8C,IAAK,CACHhB,OAAQ,iBAEVmB,KAAM,CACJnB,OAAQ,uBAEVoB,KAAM,CACJd,QAAS,CACPhN,KAAM,aAERkN,UAAU,KAIhB,gBAAiB,CACftC,GAAI,CACF+C,GAAI,CACFjB,OAAQ,2BAMlBqB,QAAW,CACTxB,QAAS,OACTvL,OAAQ,CACNwL,KAAQ,CACNC,OAAQ,CACNC,OAAQ,yBAGZ,uBAAwB,CACtBW,OAAQ,CACNC,IAAK,qBACLhB,GAAI,qBACJkB,QAAS,CACP,CACEd,OAAQ,gCAGZa,OAAQ,CACN,CACEb,OAAQ,mBAIde,KAAM,CACJ,UACA,oBAGJ,gBAAiB,CACf7C,GAAI,CACF+C,GAAI,CACFjB,OAAQ,4BAOpBsB,OAAQ,CACNC,OAAQ,CAAC,GAgFXC,4BAA4B,EAC5BC,qBAAqB,EACrBC,QAAU,CAAC,EACXC,QAAS,CAAC,KCxTEC,GAAyBC,IAAoBnK,GACzD,KACE,MAAMoK,EAAqBzM,IACrB0M,EAAkB1M,IAClB2M,EAAoB3M,IACpB4M,EAAKC,IACSnK,EAASC,oBAEvB,MAAA0H,EAAUyC,GAAWC,GAAgB,CACzC9B,QAAS,CAEP+B,aAAcA,CAACC,EAAKC,KACdA,EAAGvD,gBAAgBwD,QACjBD,EAAGvD,KAAKyD,QAAQC,SAAS,8BAAgCH,EAAGvD,KAAKyD,QAAQC,SAAS,sBAAwBH,EAAGvD,KAAKyD,QAAQC,SAAS,uCAC5HC,EAAAC,MAAMjP,EAAG,yBACX4O,EAAGvD,KAAKyD,QAAQC,SAAS,kCAAoCH,EAAGvD,KAAKyD,QAAQC,SAAS,WAAaH,EAAGvD,KAAKyD,QAAQC,SAAS,WAAaH,EAAGvD,KAAKyD,QAAQC,SAAS,OAASH,EAAGvD,KAAKyD,QAAQC,SAAS,MAClMC,EAAAC,MAAMjP,EAAG,0BACX4O,EAAGvD,KAAKyD,QAAQC,SAAS,oDACvBC,EAAAC,MAAMjP,EAAG,wBACX4O,EAAGvD,KAAKyD,QAAQC,SAAS,kBACvBC,EAAAC,MAAS,GAAAC,EAAyBN,EAAGvD,KAAKyD,aAAa9O,EAAG,4BAE1DgP,EAAAC,MAAML,EAAGvD,KAAKyD,SAC3B,EAGFK,UAAWA,CAACR,EAAKC,KACT,MAAAvD,KAAEA,GAASuD,EACD,SAAZA,EAAGjP,KACD2O,EAAGc,SACLC,SAAS/O,KAAOqO,EAAIW,WAEbxG,OAAAyG,KAAKZ,EAAIW,WAAY,UAEX,iCAAZV,EAAGjP,MACV6P,EAAexP,EAAG,uBAAwB,CAAEK,IAAKgL,EAAKoE,YAAanP,KAAMoP,mBAAmB5G,OAAOuG,SAAS/O,QAC9G,EAGFqP,WAAYC,IAAe,CAACjB,EAAKC,SAAOiB,EAK/B,MAAA,CACLP,WAJK,GAAS,QAATO,EAAAjB,EAAGvD,YAAM,IAAAwE,OAAA,EAATA,EAASJ,0BAEdC,mBAAmB5G,OAAOuG,SAAS/O,QAGrC,IAGFwP,QAASF,IAAe,CAACjB,EAAKC,IACZ,QAAZA,EAAGjP,MACL0O,EAAkBxO,MAAQ+O,EACnB,CACLtK,SAAUsK,EAAGtK,SACb4F,eAAgB0E,EAAG1E,eACnB6F,aAAcnB,EAAGmB,aACjBC,UAAWpB,EAAGoB,YAIF,QAAZpB,EAAGjP,KACE,CACLqQ,UAAWpB,EAAGoB,WAIX,MAGXC,SAAU,CAERC,uBAAwBvE,MAAOgD,EAAKC,KAC9B,IACF,MAAM9M,EAAS,CACbO,OAAQ0H,EAAgB4E,EAAIoB,aAAa1N,OAAQ,GACjD2N,UAAWrB,EAAIzE,eACfiG,YAAaxB,EAAIqB,WAEbI,QAAYvI,EAAKwI,sBAAsBvO,GAEzC,GAAAsO,EACK,OAAAA,QAEJpF,GAEC,MAAAsF,EAAMC,EAAuBvF,GAC7B,UAAI6D,MAAMyB,EAClB,GAEFE,oBAAqB7E,MAAOgD,EAAKC,KAC3B,IACF,MAAMvD,EAEiC,CAAA,EAEvC,IAAA,MAAWoF,KAAO9B,EAAIrK,SACpB+G,EAAKqF,aAAUD,IAAQ9B,EAAIrK,SAASmM,GAK/B,OAHPpF,EAAKsF,WAAa/B,EAAGvD,KAChBA,EAAAuF,eAAiBC,OAAOxF,EAAKuF,sBAErBE,EAAKC,eAAe,CAC/BC,YAAa3F,GACZ,CAAE4F,iBAAkB,eAElBjG,GACC,MAAI,IAAA6D,MAAM7D,EAAEsF,IACpB,GAEFnC,mBAAoBA,CAACQ,EAAKC,IAAOjD,UAC/B,IAAIuF,EAAS,EACb,KAAOA,GAAU,IACX,UACIC,EAAM,KACZD,IACM,MAAAd,QAAYU,EAAKM,WACrB,CACEC,SAAUzC,EAAGvD,KAAKgG,SAClBC,YAAa1C,EAAGvD,KAAKkG,aAEvB,CAAEN,iBAAkB,SAEtB,GAAIb,EAAK,CACPjC,EAAmBtO,MAAQ,CACzBiM,KAAMsE,EAAIoB,OACVA,OAAQ,WAEDC,EAAA,CAAE9R,KAAM,QACjB,KACF,QAEKqL,GACD,GAAW,QAAXA,EAAEc,KAOE,MALNqC,EAAmBtO,MAAQ,CACzBiM,KAAMd,EAAEc,KACR0F,OAAQ,QAEDC,EAAA,CAAE9R,KAAM,QACX,IAAIkP,MAAM,GAEpB,CACF,EAKF6C,iBAAkB/F,MAAOgD,EAAKC,KAC5B,MAAMvD,EAEiC,CAAA,EAEvCA,EAAKsG,WAAa5H,EAAgB4E,EAAIoB,aAAa1N,OAAQ,GAE3D,IAAA,MAAWoO,KAAO9B,EAAIrK,SACpB+G,EAAKqF,aAAUD,IAAQ9B,EAAIrK,SAASmM,GAE/B,aAAMK,EAAKc,cAAc,CAAEZ,YAAa3F,GAAQ,CAAE4F,iBAAkB,QAAQ,EAErF7C,gBAAiBA,CAACO,EAAKC,IAAQ6C,IACvB,MAAAI,aAAEA,GAAiBjD,EAAGvD,KACtByG,EAAYC,KAAKC,OAGjBC,OAAEA,EAAAC,MAAQA,GAAUC,GAAexG,UACvC,GAAIoG,KAAKC,MAAQF,EAHF,IAUb,OANMI,IACN9D,EAAgBvO,MAAQ,CACtBiM,KAAM,EACN0F,OAAQ,aAEDC,EAAA,CAAE9R,KAAM,QAKb,MAAAyQ,QAAYU,EAAKM,WACrB,CAAEC,SAAUQ,GACZ,CACEZ,iBAAkB,OAClBmB,WAAY,MACZC,WAAW,QAGKC,EAAH,IAAblC,EAAItE,OACNsC,EAAgBvO,MAAQ,CACtBiM,KAAgB,QAAhBwG,EAAMlC,EAAI/E,YAAJiH,IAAUA,OAAVA,EAAAA,EAAUd,OAChBA,OAAQ,WAEDC,EAAA,CAAE9R,KAAM,SAGF,QAAbyQ,EAAItE,MAA+B,IAAbsE,EAAItE,OAC5BsC,EAAgBvO,MAAQ,CACtBiM,KAAMsE,EAAItE,KACV0F,OAAQ,QAEDC,EAAA,CAAE9R,KAAM,QACnB,GACC,KAGH,OADOsS,IACA,IAAMC,GAAM,EAKrBK,mBAAoB5G,UAEd,IACF,MAAMN,EAEiC,CAAA,EACvC,IAAA,MAAWoF,KAAO9B,EAAIrK,SACpB+G,EAAKqF,aAAUD,IAAQ9B,EAAIrK,SAASmM,GAEtC,aAAaK,EAAK0B,6BAA6B,CAAExB,YAAa,IAAK3F,EAAMoH,WAAY,EAAGd,WAAY5H,EAAgB4E,EAAIoB,aAAa1N,OAAQ,YAExI2I,GACC,MAAI,IAAA6D,MAAM7D,EAClB,IAKJ0H,OAAQ,CACNC,WAAYA,CAAChE,EAAKC,IACY,SAArBA,EAAG1F,cAEZ0J,QAASA,CAAC7E,EAASa,IACW,UAArBA,EAAG1F,cAEZ2J,UAAWA,CAAC9E,EAASa,KACnBkE,QAAQC,IAAI,SAA+B,YAArBnE,EAAG1F,eACG,YAArB0F,EAAG1F,eAEZ8J,KAAMA,CAACjF,EAASkF,IACP3E,EAAG4E,SAGdC,OAAQ,CAAC,IAGLxS,EAASoB,GAAiB,KACxB,MAAAqR,EAAIrH,EAAQsH,MAAMxT,MAElByT,EAAYF,EAAEG,QAAQ,WACtBC,EAAgBJ,EAAEG,QAAQ,gBAC1BE,EAASL,EAAEG,QAAQ,QACnBG,EAAyBN,EAAEG,QAAQ,0BACnCI,EAAsBP,EAAEG,QAAQ,uBAChCK,EAAmBR,EAAEG,QAAQ,yBAO5B,MAAA,CACLD,YACAE,gBACAK,kBATwBT,EAAEG,QAAQ,2BAUlCE,SACAC,yBACAC,sBACAG,UAZgBV,EAAEW,OAAO,WAazBC,gBAZsBZ,EAAEW,OAAO,kBAa/BE,UAZiC,OAAjBb,EAAEH,MAAMtT,KAaxBiU,mBACAM,WAbiBd,EAAEW,OAAO,qBAAuBX,EAAEW,OAAO,kBAAoBX,EAAEW,OAAO,mBAczF,IAGK,MAAA,CACLhI,UACApL,SACAwN,qBACAE,oBACAD,kBACF,+DC9RG+F,GAA+CC,EAAA,IAAA,CAAAC,MAAA,qEAAA,MAAA,GAC/CC,GAAA,CAAAD,MAAM,6HALX,SAAAE,EAAAC,UAGIC,IAAAC,EAAA,MAAAC,GAAA,CACFR,GACAC,EAEI,IAFJE,GAEIM,GADC5U,OAAAA,EAAAA,EAAAA,GAAAA,EAAAA,IAAE,0BAAA,wwBCAX,MAAM+L,QAAEA,EAASpL,OAAAA,EAAQ0N,kBAAmBnM,GAASgM,MAC/ChK,QAAEA,EAAAC,YAASA,GAAgBC,EAASC,qBACpC0E,QACJA,EAAA8C,cACAA,EAAA3C,cACAA,EAAA3G,SACAA,EAAAmG,YACAA,EAAAhB,eACAA,GACE5D,MACEuF,SAAEA,GAAaC,IACfC,EAAcxH,GAAiB,SAAM8S,EAAAC,EAAAC,EACzC,MAAM1S,EAAS0H,EAA4B,QAAZ8K,EAAA3S,EAAKrC,aAAO,IAAAgV,WAAAA,EAAZA,EAAY9E,oBAAA,IAAA8E,OAAA,EAAZA,EAA0BxS,OAAQ,GAC1D,MAAA,CACLqH,kBACGC,EAAQjB,IAAgBiB,EAAQjC,KAAoBiC,EAAQxF,GAC/DyF,sBACED,EAAQZ,KAAaC,GAAeC,MACjCU,EAAQjC,KACPiC,EAAQxF,GACd0F,SACEF,EAAQZ,KAAaC,GAAeC,OAASU,EAAQjC,GACvDoC,IACEH,EAAQZ,KAAaC,GAAeG,OAChCQ,EAAQZ,KAAaC,GAAeI,UACpB0L,QADoBA,EAClCxP,EAAM+D,cAAQyL,EAAAA,EAAK,IAAMzS,GAC3BsH,EAAQZ,KAAaC,GAAeC,MAAQU,EAAQxF,GAC1D6F,WACEL,EAAQZ,KAAaC,GAAeI,UAClB,QAAd2L,EAAAzP,EAAM+D,UAAQ,IAAA0L,EAAAA,EAAK,GAAK1S,EAChC,ywGCtBI,MAAA0J,QACJA,EAAApL,OACAA,EAAAwN,mBACAA,EAAAC,gBACAA,GACEF,KAC6BpK,KACjC,MAAMkR,QAAEA,GAAY5Q,EAASC,qBACvB4Q,gBAAEA,GAAoB3L,IACtB4L,EAAM5K,EAAoB,iBAE1B6K,EAAYvV,GAAS,KACzB,MAAMsC,EAAO,CACXkT,MAAOpV,EAAG,yBACVqV,SAAU,IASL,MAPH,CAAC,EAAG,EAAG,EAAG,IAAItG,SAASZ,EAAmBtO,MAAMiM,QAC7C5J,EAAAkT,MAAQpV,EAAG,0BAEd,CAAC,GAAG+O,SAASZ,EAAmBtO,MAAMiM,QACnC5J,EAAAkT,MAAQpV,EAAG,yBACXkC,EAAAmT,SAAWrV,EAAG,0BAEdkC,CAAA,IAGHoT,EAAa1V,GAAS,SAAM2V,EAAAC,EAAAC,EAChC,MAAMvT,EAAO,CACXkT,MAAO,GACPC,SAAU,IAWL,MATH,CAAC,EAAG,EAAG,EAAG,GAAI,GAAGtG,SAAyB,QAAzBwG,EAASnH,EAAgBvO,aAAhB0V,IAAgBA,OAAhBA,EAAAA,EAAuBzJ,MAC9C5J,EAAAkT,MAAQpV,EAAG,yBACT,CAAC,MAAO,GAAG+O,iBAASyG,EAAApH,EAAgBvO,aAAhB2V,WAAAA,EAAAA,EAAuB1J,MAC7C5J,EAAAkT,MAAQpV,EAAG,yBACuB,iBAAhCyV,EAAArH,EAAgBvO,0BAAhB4V,EAAuB3J,MACzB5J,EAAAkT,MAAQpV,EAAG,yBAEXkC,EAAAkT,MAAQpV,EAAG,yBAEXkC,CAAA,IAwBTyJ,eAAe+J,IACb3J,EAAQ4J,KAAK,MACbV,EAAgBD,SAClB,CAEA,SAASY,IACCZ,IACRjJ,EAAQ4J,KAAK,KACf,QA1BU3V,EAAG,yBACHgJ,GAAeC,KACXjJ,EAAG,yBAIPA,EAAG,yBACHgJ,GAAe6M,SACX7V,EAAG,yBAIPA,EAAG,yBACHgJ,GAAeG,MACXnJ,EAAG,yBAejBkV,EAAI3K,IAAG,KACLwB,EAAQ4J,KAAK,QAAO,o5EC5FtB,MAAMG,EAAQC,EAMRC,EAAQC,EAERC,EAAMxU,EAAI,GACVyU,EAAMzU,EAAI,GACA0U,IAAW,GAE3B,MAAMC,EAAc3U,KAEd4U,MAAEA,EAAAC,IAAOA,EAAKC,IAAAA,GAQpB,WACQF,MAAAA,EAAQ5U,EAAIoU,EAAMW,aAwBjB,MAAA,CACLH,MAAAA,EACAC,IAxBUG,KACNJ,GAAAA,EAAMzW,OAASqW,EAAIrW,MAGrB,OAFAyW,EAAMzW,MAAQqW,EAAIrW,WAClBwW,EAAYxW,MAAQ,OAGtBwW,EAAYxW,MAAQ,GACpByW,EAAMzW,QACNmW,EAAM,qBAAsBM,EAAK,EAiBjCE,IAdUG,KACNL,GAAAA,EAAMzW,OAASsW,EAAItW,MAGrB,OAFAyW,EAAMzW,MAAQsW,EAAItW,WAClBwW,EAAYxW,MAAQ,OAGtBwW,EAAYxW,MAAQ,GACpByW,EAAMzW,QACNmW,EAAM,qBAAsBM,EAAK,EAQrC,CAtC4BM,UAE5BnM,GAAY,KACV6L,EAAMzW,MAAQiW,EAAMW,YACpBP,EAAIrW,MAAQiW,EAAMI,IAClBC,EAAItW,MAAQiW,EAAMK,GAAA,+hCChBpB,MAAML,EAAQC,EAORpW,EAAOkX,GAAUf,EAAO,OAHhBG,ywDCWd,MAAMlK,QAAEA,EAAApL,OAASA,GAAWuN,MACtBhK,QAAEA,EAAAC,YAASA,GAAgBC,EAASC,qBACpC9C,OAAEA,GAAWC,IACbsV,EAAepV,GAAI,IAEnB2G,SACJA,EAAA0C,iBACAA,EAAAhG,eACAA,EAAAa,WACAA,EAAA5B,aACAA,EAAAM,SACAA,EAAAgD,QACAA,EAAA2D,mBACAA,EACA1I,SAAUwN,EAAArI,eACVA,EAAAqB,QACAA,EAAAQ,YACAA,EAAAW,eACAA,EAAAhB,cACAA,EAAAhB,YACAA,GACErE,MAEEwI,OAAEA,EAAQ0K,SAAAA,GAAaC,GAAgB1P,EAAQuD,OAC1C0D,IAEX,MAAQzL,aAAcmU,GAAiBC,KAEvC,IAAIzS,EAAiB,GACrBkH,eAAeD,UAqCF,IAAA3D,SAAQ,CAACC,EAASC,KACtBiC,EAAerK,QACTmP,EAAAC,MAAMjP,EAAG,0BAClBiI,EAAO,KAEH,MAAA5F,EAASD,EAAU2N,EAAa1N,SAElCA,EAAO8U,SAAW9U,EAAO+U,oBAAoB,MACtCpI,EAAAC,MAAMjP,EAAG,0BAClBiI,EAAO,KAGTD,GAAQ,EAAI,IA/CR,MAAAwC,EAAU/F,GAAkBH,EAASG,eAC3CH,EAASM,WAAekS,EAAajX,MAASyE,EAASM,WAAa,EACpEmH,EAAQ4J,KAAK,CACXhW,KAAM,MACN2E,SAAU,IACLA,EACH5B,cAAemO,OAAOvM,EAAS5B,eAC/B+B,eAAgB+F,GAElBN,eAAgBA,EAAerK,MAC/BkQ,eACAC,UAAW9L,EAAQsG,UAEJ/F,EAAA,EACnB,CAEAkH,eAAeC,IAAa,IAAAyL,EAAAC,EAC1B,GAAI3P,EAAQC,sBAAeyP,EAAEvO,cAAAuO,QAAAA,EAAgBjP,SAE3C,YADAT,EAAQ4P,oBAIJ,MAAAC,gBAAaF,EAAMhQ,EAAQuD,MAAMhL,aAAdyX,WAAAA,EAAAA,EAAqBG,WAAWC,OAAM,KAC7DX,EAASY,SAAQ,KAGnBlT,EAAiBH,EAASG,eAEtB+S,IACFzO,EAAQlJ,MAAQmJ,GAAeC,KACtByC,IAEb,CAmBA,MAAMkM,EAAM,CACV,CAAE/X,MAAOC,EAAQ0E,OAAQqT,KAAM7X,EAAG,0BAClC,CAAEH,MAAOC,EAAQC,UAAW8X,KAAM7X,EAAG,yuLCpGzB8X,GAAsBC,IAAgBhU,GAAqB,KACvE,MAAM7B,EAAOqC,EAAS,CAAEyT,mBAAmB,EAAOC,aAAc,IAE1DC,EAAmBxW,EAAI,KAErBwC,QAASiU,GAAmB/T,EAASC,qBACrCH,QAASkU,GAAqBhU,EAASiU,WAC7CH,EACAI,GAAMH,EAAgB,YAkDjB,MAAA,CACLjW,OACAqW,gBA9CsBA,CAACC,EAAqCvM,KACxD,IAACtC,EAAQ6O,GACX,OAEFtW,EAAK8V,mBAAoB,EACzB9V,EAAK+V,aAAe,EACd,MACJQ,iBAAkBC,EAClBC,kBAAmBC,GACjBR,EAUA,GARCM,GAAoBE,IACvB1W,EAAK8V,mBAAoB,GAEVU,SAAAA,EAAAG,KAAKC,SAASvN,IAAUwN,IAAAA,EACnCxN,EAAEf,mBAAYuO,EAAAlR,EAAKO,4BAAL2Q,EAAcvO,QAAQwO,MAAMb,EAAe3N,YAC3DtI,EAAK8V,mBAAoB,EAAA,KAGxB9V,EAAK8V,oBACUY,SAAAA,EAAAE,SAASvN,IAEvBA,EAAEsN,KAAKI,MACFC,iBACDA,EAAI1O,WACc,QADd2O,EACAtR,EAAKO,eAAL+Q,IAAcA,OAAdA,EAAAA,EAAc3O,QAAQwO,MAAMb,EAAe3N,SAAO,KAGtD3C,EAAKuR,cAAc7N,EAAE8N,WAAYpN,KACnC/J,EAAK+V,aAAe1M,EAAEU,GAC1B,KAGG/J,EAAK+V,cACR,MAAMqB,GAAWC,iBACrB,EAYAC,WATkBhP,IACb3C,EAAKC,UAAU0C,KAEpB0N,EAAiBrY,MAAQ2K,EAAA,EAO3B,KC/DYiP,GAAiBC,IAAW3V,GAAqB,CAAC4V,EAAkBnP,KAC1E,MAAAgO,EAAc9W,EAAIiY,GAClBC,EAAmBlY,EAAI8I,GACvBqP,EAAqBtV,EAAS,CAClCuV,OAAQ,EACRC,UAAW,EACXC,QAAS,KAGH9V,QAASiU,GAAmB/T,EAASC,qBACrCH,QAASkU,GAAqBhU,EAASiU,WAC7CuB,EACAtB,GAAMH,EAAgB,YAOlB8B,EAAkBra,GAAS,KAAMsa,IAAAA,EAAAC,EAAAC,EAAAC,EACrC,MAAMnY,EAAO,CACXsC,OAAQ,EACRzE,UAAW,IAIPua,UAAEA,GAAcnC,GACdmC,UAAWC,GAAmBnC,EAElC,IAACkC,IAAcC,EACV,OAAArY,EAEH,MAAAsY,EAAkB7Q,EAAQ6O,GAAeJ,EAAiBqC,SAASD,gBAAkBrC,EAAesC,SAASD,gBAC7GE,EAAe/Q,EAAQ6O,GAAeJ,EAAiBqC,SAASC,aAAevC,EAAesC,SAASC,aAEvGC,EAA+BhR,EAAQ6O,GACzCF,GAAMuB,EAAoB,UAC1BvB,GAAMgC,EAAW,UAErBpY,EAAKsC,OAASoW,KAAKC,OACwBX,QAAtCA,EAAAS,EAA6B9a,iBAASqa,EAAAA,EAAA,GACrC,KAAM,GAERM,EAEE,MAAAM,EAAkCnR,EAAQ6O,GAC5CF,GAAMuB,EAAmBE,WACzBzB,GAAMgC,EAAW,aAWd,OATPpY,EAAKnC,UAAY6a,KAAKC,OACwB,QAAzCV,EAAAW,EAAgCjb,aAASsa,IAAAA,EAAAA,EAAA,GACxC,KAAM,GAERO,EAEJxY,EAAKsC,OAASoW,KAAKC,cAAMT,EAAAlY,EAAKsC,sBAAU,GACxCtC,EAAKnC,UAAY6a,KAAKC,cAAMR,EAAAnY,EAAKnC,yBAAa,GAEvCmC,CAAA,IAGH8X,EAAUpa,GAAS,IAChB+J,EAAQ6O,GAAeqB,EAAmBG,QAAU7B,EAAe4C,aAWrE,OARPtQ,GAAY,KACYuQ,IAAAA,EAAAC,EAAAC,EAAAC,EAAAC,EAAlBhD,IACiByB,EAAAC,OAAgD,QAAhDkB,EAAS5C,SAAkB6C,QAAAA,EAAlB7C,EAAkBkC,iBAAlBW,IAAkBA,OAAlBA,EAAAA,EAA6BnB,cAAU,IAAAkB,EAAAA,EAAA,EAChDnB,EAAAE,UAAsDmB,QAAtDA,EAAY9C,SAAkB+C,QAAAA,EAAlB/C,EAAkBkC,qBAAAa,SAAlBA,EAA6BpB,qBAAamB,EAAAA,EAAA,EACtDrB,EAAAG,QAAyC,QAAzCoB,EAAUhD,EAAiB2C,kBAAcK,IAAAA,EAAAA,EAAA,EAC9D,IAGK,CACLC,oBA3D2B7Q,IAC3BoP,EAAiB/Z,MAAQ2K,CAAAA,EA2DzByP,kBACAD,UACF,ICtEK,SAASsB,GAAUxF,GAClB,MAAAyF,YAAEA,GAAgBzF,EAAM0F,OACxBhD,EAAc5Y,GAAS,MAAQkW,UAAAA,EAAO0F,OAAOC,gBAC7CC,EAAUtF,KACVuF,EAAeja,GAAI,GACnBka,EAAela,EAAI,KACnB6W,gBAAEA,EAAArW,KAAiBA,GAAS6V,MAC5BkC,gBACJA,EAAAD,QACAA,GACEP,GAAgBjB,EAAaF,GAAMxC,EAAM0F,OAAQ,kBAE7CtX,QAASiU,EAAAnD,QAAgBA,GAAY5Q,EAASC,qBAC9CH,QAAS2X,EAAc7G,QAAS8G,GAAiB1X,EAASiU,WAChEC,GAAMxC,EAAM0F,OAAQ,gBACpBlD,GAAMH,EAAgB,YAGlB/C,EAAQxV,GAAS,KACkB,CACrC,MAAOI,EAAG,yBACV,MAAOA,EAAG,yBACV,MAAOA,EAAG,yBACV,MAAOA,EAAG,0BAEG,GAAA2J,EAAQ6O,GAAe,EAAI,KAAK1C,aAAAA,EAAAA,EAAO0F,OAAOO,WAIzDC,EAASpc,GAAS,SAAMqc,EAC5B,MAAMC,GAAyB,QAAjBD,EAAAjC,EAAQna,aAAS,IAAAoc,EAAAA,EAAA,GAAK,IAAW,EACxC,OAAAC,EAAM,EAAIA,EAAM,CAAA,IAUnBpZ,EAAelD,GAAS,IAC5B2b,SAAAA,EAAaY,cAAgB,SAAW,cAGpCC,EAAa7X,EAAS,CAC1B8X,kBAAmB,EACnBC,aAAcxG,EAAM0F,OAAOe,aAGvBjY,EAAWC,EAAS,CACxBlC,YAAQ,EACRoY,SAAU,WAGN+B,EAAe5c,GAAS,KAC5B,MAAM6c,EAAU9S,EAAQsQ,GAAiBnX,EAAajD,OAChD6c,EACFN,EAAWE,aAAeG,EAAUL,EAAWC,kBAE5C,OAAAK,EAAS,EAAIA,EAAS,CAAA,IAGzBC,EAAY3R,IACV,MAAAyP,SAAEA,GAAatC,EACfyE,EACqB,WAAvB9Z,EAAajD,MACX4a,aAAAA,EAAAA,EAAUD,gBACVC,eAAAA,EAAUC,aAChB0B,EAAWC,kBAAoBzB,KAAKC,MAAM7P,EAAI4R,EAAI,EA0F7C,MAAA,CACLpE,cACApD,QACA4G,SACAa,UAjIgBA,KACXb,EAAOnc,QAEZyE,EAASjC,OAASuY,KAAKC,MAAMmB,EAAOnc,OACpC8c,EAASrY,EAASjC,QAAM,EA8HxB+Z,aACA9X,WACAkY,eACAG,WACAjR,SA9EeC,UACX,IAAAmR,IAAAA,QAlBO,IAAA/U,SAAQ,CAACC,EAASC,SAAW8U,EACjCzY,EAASjC,SACH2M,EAAA9M,KAAKlC,EAAG,0BACViI,cAGT8U,EAAKzY,EAASjC,cAAA,IAAA0a,EAAAA,EAAU,GAAKf,EAAOnc,QACzBmP,EAAAC,MACJ,GAAAjP,EAAG,4BAA4Bgd,EAAahB,EAAOnc,MAAO,UAAUG,EAAG,4BAErEiI,KAGTD,GAAQ,EAAI,IAQZuQ,EAAgBC,EAAa,IAE7BkD,EAAQ/D,UAER,IAAI7V,EAAc,CAChBO,QAA4B,QAAnBya,EAAAxY,EAASjC,cAAUya,IAAAA,EAAAA,EAAA,GAAK,IAAM,EACvCha,aAAc6G,EAAQ7G,GACtB0H,QAAS2N,EAAe3N,SAEtB4F,EAAM,KAiBV,GAhBIzG,EAAQ6O,IACD1W,EAAA,IACJA,EACH0I,QAASqR,EAAarR,QACtBwN,kBAAmB9V,EAAK8V,kBACxBC,aAAc/V,EAAK+V,cAEf7H,QAAMvI,EAAKoV,2BAA2Bnb,IAGtCsO,QAAMvI,EAAKqV,gBAAgBpb,GAG9B+F,EAAAsV,yBAAyBhF,EAAe3N,QAAS,GACjD3C,EAAAsV,yBAAyBhF,EAAe3N,QAAS,GAElD4F,EAAK,OACD4E,UACA8G,IACA,MAAAsB,EAAkC,WAAxBtb,EAAOgB,aAA4B9C,EAAG,yBAA2BA,EAAG,yBACpF4b,EAAa/b,MAAQ,GAAGG,EAAG,wBAAyB,CAAEqC,OAAQ2a,EAAalb,EAAOO,OAAS,KAAM,EAAI,qBAC/FrC,EAAG,wBAAyB,CAAEod,4BAC9BJ,EAAaZ,EAAWC,kBAAmB,KACjDV,EAAa9b,OAAQ,CAAA,MAGZmP,EAAAC,MAAMjP,EAAG,0BAEpB0b,EAAQ2B,iBAEHrS,GAkBL,GAjBA0Q,EAAQ2B,WACS,iBAANrS,IACLA,EAAE+D,SAAS,iCACJC,EAAAC,MAAMjP,EAAG,0BAEXgL,EAAE+D,SAAS,yCACTC,EAAAC,MAAMjP,EAAG,0BAEXgL,EAAE+D,SAAS,wCACTC,EAAAC,MAAMjP,EAAG,yBAEXgL,EAAE+D,SAAS,gCACTC,EAAAC,MAAMjP,EAAG,0BAElBgP,EAASC,MAAMjE,IAGfA,aAAa6D,MAAO,CAChB,MAAAyB,EAAMC,EAAuBvF,GACnCgE,EAASC,MAAMqB,EACjB,CACF,GAaAxN,eACA4Y,UACAzB,kBACA0B,eACAC,eAEJ,CAhLuC1E,k6BCG3B,IAAAoG,IAAAA,IACVA,EAAAC,EAAA,MAAA,GAAA,QACAD,EAAAC,EAAA,OAAA,GAAA,SAFUD,IAAAA,IAAA,CAAA,uFAYZ,MAAMxH,EAAQC,GACRwF,YAAEA,GAAgBzF,EAAM0F,QACtB1Y,aAAcmU,GAAiBC,KACjCsG,EAAc9d,GAAoB4Y,IAAM,IAAMxC,EAAM0F,OAAOD,YAAYY,kBAEvE/G,MAEJA,EAAA4G,OACAA,EAAAa,UACAA,EAAAT,WACAA,EAAA9X,SACAA,EAAAkY,aACAA,EAAAG,SACAA,EAAAjR,SACAA,EAAA5I,aACAA,EAAA4Y,QACAA,EAAAzB,gBACAA,EAAA0B,aACAA,EAAAC,aACAA,GACEN,GAAUxF,iuFCtBD/J,GAAUC,GAAc,CACnCC,GAAI,iBACJC,QAAS,OACTvL,OAAQ,CACNwL,KAAM,CACJY,MAAO,CACLpN,KAAM,QAER4K,GAAI,CACFgC,KAAM,CACJF,OAAQ,aAIdG,QAAS,CACPY,KAAM,UACNL,MAAO,CACLpN,KAAM,aAER4K,GAAI,CACFkC,MAAO,CACLJ,OAAQ,QAEVoR,OAAQ,CACNpR,OAAQ,wBACRM,QAAS,CACPhN,KAAM,YAGV+d,WAAY,CACVrR,OAAQ,wBACRM,QAAS,CACPhN,KAAM,cAKdge,sBAAuB,CACrB3Q,OAAQ,CACNC,IAAK,wBACLhB,GAAI,wBACJiB,OAAQ,CACN,CACEb,OAAQ,4BACRC,KAAM,eAER,CACED,OAAQ,yCAGZc,QAAS,CACP,CACEd,OAAQ,UACRC,KAAM,aACNK,QAAS,CACP,CACEhN,KAAM,mBAER,CACEA,KAAM,qBAGVkN,UAAU,GAEZ,CACER,OAAQ,cAIde,KAAM,WAERwQ,0BAA2B,CACzB5Q,OAAQ,CACNC,IAAK,4BACLhB,GAAI,4BACJiB,OAAQ,CACN,CACEb,OAAQ,qBAGZc,QAAS,CACP,CACEd,OAAQ,UACRM,QAAS,CACPhN,KAAM,uBAKdyN,KAAM,WAERyQ,qCAAsC,CACpC7Q,OAAQ,CACNC,IAAK,uCACLhB,GAAI,uCACJiB,OAAQ,CACN,CACEb,OAAQ,qBAGZc,QAAS,CACP,CACEd,OAAQ,UACRM,QAAS,CACPhN,KAAM,uBAKdyN,KAAM,WAER0Q,SAAU,CACRvT,GAAI,CACF+C,GAAI,CACFjB,OAAQ,UAId0R,iBAAkB,CAChB/Q,OAAQ,CACNC,IAAK,mBACLhB,GAAI,mBACJiB,OAAQ,CACN,CACEb,OAAQ,eAGZc,QAAS,CACP,CACEd,OAAQ,UACRC,KAAM,cAER,CACED,OAAQ,cAIde,KAAM,WAERgE,WAAY,CACVpE,OAAQ,CACNC,IAAK,aACLhB,GAAI,aACJiB,OAAQ,CACN,CACEb,OAAQ,yBACRM,QAAS,CACPhN,KAAM,uBAIZwN,QAAS,CACP,CACEd,OAAQ,yBAIde,KAAM,CAAC,gBAAiB,YAE1B4Q,uBAAwB,CACtB5Q,KAAM,CAAC,cAAe,oBACtB7C,GAAI,CACF+C,GAAI,CACFjB,OAAQ,UAId4R,oBAAqB,CACnB7Q,KAAM,CAAC,WAAY,oBACnB7C,GAAI,CACF+C,GAAI,CACFjB,OAAQ,WAKhBsB,OAAQ,CACNC,OAAQ,CAAC,GAkBXC,4BAA4B,EAC5BC,qBAAqB,EACrBC,QAAU,CAAC,EACXC,QAAS,CAAC,KCpNVkQ,GACAC,IACEpa,GAAqB,KACjB,MAAAgI,EAAUyC,GAAW4P,GAAgB,CACzCzR,QAAS,CACP0R,KAAMzO,IAAe,CAACjB,EAAKC,KAClB,CACL0P,mBAAoB,MAGxBC,UAAW3O,IAAe,CAACjB,EAAKC,IACd,SAAZA,EAAGjP,KACE,CACL2e,mBAAoB,GAGjB,KAGTE,iBAAkBA,CAACzQ,EAASkF,KACpB,MAAA5H,KAAEA,GAAS4H,EACb,GAAe,yCAAfA,EAAMtT,KAAiD,CACrD,GAAoB,QAApBsT,EAAM5H,KAAKS,MAAsC,QAApBmH,EAAM5H,KAAKS,MAAsC,QAApBmH,EAAM5H,KAAKS,KACvE,OAESkD,EAAAC,MAAM5D,EAAKiF,IACxB,GAGFmO,gBAAiB7O,IAAe,CAAC7B,EAASkF,KACjC,CAAEqL,mBAAoBrL,aAAAA,EAAAA,EAAO5H,KAAKS,SAG3C4S,kBAAmB9O,IAAe,CAACjB,EAAKC,KAC/B,CACL+P,cAAe/P,EAAGvD,SAItByE,QAASF,IAAe,CAACjB,EAAKC,KACxB,GAAY,WAAZA,EAAGjP,KAAmB,CACxB,IAAIif,EAAa,EAMV,MAL+B,MAAlChQ,EAAG2M,YAAYsD,eACHD,EAA+B,MAA/BhQ,EAAG2M,YAAYuD,cAAyB,EACb,MAAlClQ,EAAG2M,YAAYsD,iBACRD,EAA+B,KAA/BhQ,EAAG2M,YAAYuD,cAAwB,GAEhD,CACLvD,YAAa3M,EAAG2M,YAChBwD,aAAcnQ,EAAGmQ,aACjBrc,cAAekM,EAAGlM,cAClBsc,cAAepQ,EAAGoQ,cAClBC,cAAerQ,EAAGqQ,cAClBC,mBAAoBtQ,EAAGsQ,mBACvBZ,mBAAoB,EACpBa,aAAcvQ,EAAGuQ,aACjB3G,YAAa5J,EAAG4J,YAChBoG,aACA9b,aAAc8L,EAAG9L,aAErB,CAEI,MAAY,eAAZ8L,EAAGjP,KACE,CACLuf,mBAAoBtQ,EAAGsQ,oBAIpB,EAAC,KAIZjP,SAAU,CAERmP,sBAAuBzT,MAAOgD,EAAKC,UACfkC,EAAKuO,oBACrB,CACErO,YAAa,CACXK,SAAU1C,EAAI4M,YAAYlK,SAC1BiO,cAAe3Q,EAAIoQ,aACnB5C,cAAexN,EAAI4M,YAAYY,cAC/BvL,eAAgBjC,EAAIjM,cACpB6c,eAAgB5Q,EAAIsQ,cACpBO,cAAe7Q,EAAIwQ,aAAalH,aAChCwH,qBAAsB9Q,EAAIuQ,qBAG9B,CAAEjO,iBAAkB,SAMxB2M,0BAA2BjS,MAAOgD,EAAKC,KACrC,MAAM8Q,EAAU/Q,EAAI4M,YAAYY,gBAAkBrc,EAAQC,UAAY,CAAE4f,mBAAoBC,OAAOjR,EAAIjM,gBAAmB,CAAEmd,gBAAiBD,OAAOjR,EAAIjM,gBACpJ,IACI,MAAAod,QAAajY,EAAKkY,wBAAwB,CAC9CC,mBAAoB,IAAKpR,EAAGvD,KAAM4U,UAAWP,GAC7ClH,YAAa7O,EAAQgF,EAAI6J,aACzBP,aAActJ,EAAIwQ,aAAalH,aAC/BD,kBAAmBrJ,EAAIwQ,aAAanH,oBAG/B,OADP7G,EAAM,KACC2O,QAEF7Q,GACL,GAAIA,aAAiBJ,MAAO,CACpB,MAAAyB,EAAMC,EAAuBtB,GACnCD,EAASC,MAAMqB,EACjB,CACM,MAAI,IAAAzB,MAAM,GAClB,GAGFgP,qCAAsClS,MAAOgD,EAAKC,KAC5C,IAAA,IAAAsR,EAAAC,EACF,MAAMre,EAAS,CACbmd,cAAetQ,EAAIsQ,cAAgB,IAAM,EACzCF,aAAcpQ,EAAIoQ,aAClBta,eAAgBkK,EAAI4M,YAAY6E,gBAChCtd,aAAc6L,EAAI7L,aAClB0V,YAAa7J,EAAI6J,YACjB2G,aAAcxQ,EAAIwQ,aAClBkB,OAAoC,IAA5B1R,EAAI4M,YAAY+E,QACxB1B,WAAgB,QAAJsB,EAAAvR,EAAI4M,mBAAA,IAAA2E,GAAJA,EAAiBK,YACrBJ,UAAJxR,EAAI4M,uBAAA4E,SAAJA,EAAiBI,YACjB5R,EAAIiQ,YAEH,aAAM/W,EAAK2Y,gCAAgC1e,SAE7CmN,GACL,GAAIA,aAAiBJ,MAAO,CACpB,MAAAyB,EAAMC,EAAuBtB,GACnCD,EAASC,MAAMqB,EACjB,CACM,MAAI,IAAAzB,MAAM,GAClB,GAGFkP,iBAAkBpS,MAAOgD,EAAKC,UACfkC,EAAKiN,iBAAiB,CACjC/M,YAAa,CACXK,SAAU1C,EAAI4M,YAAYlK,SAC1BoP,eAAgB9R,EAAIqQ,cACpBpO,eAAgBjC,EAAIjM,cACpBiO,WAAY/B,EAAGvD,KACf8Q,cAAexN,EAAI4M,YAAYY,gBAEhC,CAAElL,iBAAkB,SAGzBG,WAAYzF,MAAOgD,EAAKC,KAEtB,IAAIsC,EAAS,EACV,GACG,UACIC,EAAM,KACN,MAAAf,QAAYU,EAAKM,WACrB,CACEC,SAAU1C,EAAI4M,YAAYlK,UAE5B,CAAEJ,iBAAkB,SAElB,GAAAb,EACK,OAAAA,EACTc,UAEKjC,GACD,IAAAyR,GAAS/G,GAAG1K,GAKR,MAAI,IAAAJ,MAAMI,GAJhB,GAAmB,QAAfA,EAAMnD,KACF,MAAI,IAAA+C,MAAMI,EAAMH,QAK5B,QACOoC,GAAU,GACb,MAAI,IAAArC,MAAM,GAAE,GAGtB6D,OAAQ,CACNiO,YAAaA,CAAC5S,EAASkF,MACZA,EAAM5H,KAGjBuV,WAAYA,CAAC7S,EAASkF,IACI,QAApBA,EAAM5H,KAAKS,MAMnBqH,OAAQ,CAAC,IAGLxS,EAASoB,GAAiB,KACxB,MAAAqR,EAAIrH,EAAQsH,MAAMxT,MAClBiU,EAAYV,EAAEW,OAAO,WACrB8M,EAAiD,QAAjCzN,EAAErF,QAAQuQ,mBAC1BhL,EAAYF,EAAEW,OAAO,YAAcX,EAAEW,OAAO,WAC5CE,EAAYb,EAAEG,QAAQ,0BACtBqN,EAAaxN,EAAEG,QAAQ,YAGtB,MAAA,CACLO,YACAR,YACAuN,gBACAC,iBANuB1N,EAAEW,OAAO,oBAOhCE,YACA2M,aACF,IAMK,OAHDlW,EAAAqB,EAAQsH,OAAQA,QAGf,CAAAtH,QACLA,EACApL,SACF,IACDogB,EAAA,IAAA5C,0zBCrND,MAAMrI,EAAQC,EACRC,EAAQC,EACyBiB,KACjC,MAAA5S,SACJA,EAAA0c,gBACAA,EAAAtV,SACAA,EAAAuV,kBACAA,EAAAne,aACAA,EAAAoe,OACAA,EAAAC,UACAA,EAAAC,SACAA,EAAAC,YACAA,EAAAC,aACAA,EAAA7F,aACAA,EAAA8F,eACAA,EAAAC,cACAA,EAAAhJ,YACAA,EAAAiJ,SACAA,EAAAC,SACAA,GC1BK,SAAiB5L,GAEtB,MAAM5R,QAAEA,EAAA8Q,QAASA,GAAY5Q,EAASC,oBAEhCoX,EAAe/Z,EAAIoU,EAAM6L,kBACzBnJ,EAAcpC,IAAW,GACzB2F,EAAOra,EAAiB4b,GAAYsE,OACpCJ,EAAgBpL,IAAW,GAC3BqL,EAAWrL,IAAW,IACtBmF,YAAEA,GAAgBzF,GAClBvU,OAAEA,GAAWC,IACb8C,EAAWC,EAAS,CACxBya,cAAe9a,aAAS,EAATA,EAASsG,QACxB+R,WAAYhB,EAAYsG,cAGpBtJ,gBACJA,EACArW,KAAMid,EAAA3F,WACNA,GACE1B,MACE/L,QAAEA,EAAApL,OAASA,GAAWwd,KAEtBuD,EAAWna,GAAoB,CACnCua,WAAY,CACVjiB,MAAO4b,EACPjU,UAAAA,CAAUC,EAAM5H,IACV2Y,EAAYmB,KAAO9R,EAAKC,UAAUjI,GAC7BkI,QAAQE,OAAOjI,EAAG,yBAEpB+H,QAAQC,WAGnBgX,cAAe,CACbnf,MAAOyY,GAAMhU,EAAU,iBACvBkD,UAAAA,CAAUC,EAAM5H,IACTgI,EAAKC,UAAUjI,GAGbkI,QAAQC,UAFND,QAAQE,OAAOjI,EAAG,0BAK/Buc,WAAY,CACV1c,MAAOyY,GAAMhU,EAAU,cACvBkD,SAAAA,CAAUC,EAAM5H,GACd,IAAKA,EACH,OAAOkI,QAAQE,OAAOjI,EAAG,0BAE3B,IAAA,MAAYoT,EAAGpI,KAAMrB,EAAQuX,GACvB,GAAArhB,EAAQuT,GAAKvT,EAAQmL,EACvB,OAAOjD,QAAQE,OACbjI,EAAG,yBAA2Bgd,EAAamE,EAAUthB,MAAO,IAIlE,OAAOkI,QAAQC,SACjB,KA4CE+Z,EAAkBA,IACfvJ,EAAYmB,GAAK8B,EAAa5b,MAAQqE,EAAQsG,QAGjDhD,EAAYA,QACLO,SAAQ,CAACC,EAASC,KACvBsT,EAAY6E,iBAAmB2B,MACxB/S,EAAAC,MAAMjP,EAAG,0BACXiI,KAEJmZ,EAASvhB,MAAMmiB,WAAc1d,EAASiY,aAChCvN,EAAAC,MAAMjP,EAAG,0BACXiI,KAETD,EAAQ,GAAE,IAYRiZ,EAAoBrhB,GAAgC,KAAM,IAAAqiB,EAC9D,MAAM/f,EAAO,CACXqZ,cACAgB,WAAqB,QAArB0F,EAAY3d,EAASiY,kBAAA0F,IAAAA,EAAAA,EAAc1G,EAAYsG,WAC/C9F,KAAMuB,GAAYsE,MAClBnG,aAAcjD,EAAYmB,GAAK8B,EAAa5b,MAAQ,IAI/C,OAFPqC,EAAK6Z,KAAOA,EAAKlc,MAEVqC,CAAA,IAGHY,EAAelD,GAAS,IACE,IAA9B2b,EAAYY,cAAsB,SAAW,cAGzCgF,EAAYvhB,GAAS,KAAAsiB,IAAAA,EAAAC,EAAAC,EAAAC,SACzBzH,KAAKzE,IACqC,QADrC+L,EACWC,QADXA,EACH5gB,EAAO1B,iBAAOsiB,SAAdA,EAAc9c,MAAMid,wBAAoBJ,IAAAA,EAAAA,EAAA,IACI,QADJE,EAC1B,QAD0BC,EACxC9gB,EAAO1B,aAAO,IAAAwiB,OAAA,EAAdA,EAAchd,MAAME,4BAAwB6c,IAAAA,EAAAA,EAAA,IAC9C,IAGIlB,EAASthB,GAAS,KAAM2iB,IAAAA,EAAAC,EACrB,MAAA,CACL,CAAC,EAAGjH,EAAYsG,WAAalY,EAAQwX,IACrC,CAAaoB,QAAbA,EAAChH,EAAYkH,sBAAAF,EAAAA,EAAc,YAAOC,EAAAjH,EAAYkH,0BAAc,KAC9D,IAGIrB,EAAWxhB,GAAS,KAAM,IAAA8iB,EACxB,MAAAjI,SAAEA,GAAavW,EACfhC,EAAO,CACX8f,UAAW,EACX3f,OAAQ,GAEV,IAAKoY,EACI,OAAAvY,EAET,MAAMJ,EAAS,CACbc,aAAc2Y,EAAYsD,eAC1Bhc,aAAc0Y,EAAYuD,cAC1Bpc,cAAe4B,EAASiY,WACxBzZ,aAAcyY,EAAYY,cAC1B1Z,WAAY8Y,EAAYoH,eAGpBtgB,OAAEA,GAAWR,GAAeC,GAMI8gB,IAAAA,EAK/B,OAVP1gB,EAAKG,OAAkB,IAATA,EAEdH,EAAK8f,UAAYpH,KAAKiI,KACpBve,EAASiY,YAA0C,QAA5BmG,EAAAjI,EAASD,uBAAmBkI,IAAAA,EAAAA,EAAA,IAElB,KAA/BnH,aAAAA,EAAAA,EAAaY,iBACfja,EAAK8f,UAAYpH,KAAKiI,KACpBve,EAASiY,YAAuCqG,QAAzBA,EAAAnI,EAASC,oBAAgBkI,IAAAA,EAAAA,EAAA,KAG7C1gB,CAAA,IAGHof,EAAe1hB,GAAS,KAAMkjB,IAAAA,EAAAC,EAE/B,eAAAD,EAAAvH,EAAYyH,oCAAwB,YAAMD,EAAAxH,EAAYkH,0BAAc,IAClElH,EAAYkH,WAAalH,EAAYsG,UAAA,IAIrC,MAAA,CACLnW,SAxIeC,UACX,IAAA,IAAAsX,EACI,MAAAzL,gBAAayL,EAAMvB,EAAS7W,MAAMhL,0BAAfojB,EACrBxL,WACDC,OAAM,UAELF,IACSgC,EAAA7P,EAAQ8R,IAEHlD,EAAAC,EAAYmB,GAAI,UAC1BnS,IACEsL,QAAAC,IAAI,uBAAwByE,EAAU+E,YAC9CxQ,EAAQ4J,KAAK,CACXhW,KAAM,SACN4b,cACAwD,aAAcgD,IACdrf,cAAe8U,EAAU+E,WACzByC,cAAexH,EAAUwH,cACzBC,cAAemC,EAASvhB,MAAMmiB,UAC9B9C,mBAAoB,EACpBC,eACA3G,YAAaA,EAAYmB,GACzB7W,aAAc6G,EAAQ7G,YAIrBkI,GACD,GAAa,iBAANA,EAAgB,CACnB,MAAAsF,EAAMC,EAAuBvF,GAEnC,YADAgE,EAASC,MAAMqB,EAEjB,CAEItF,aAAa6D,OAGNG,EAAAC,MAAMjE,EAAE8D,QAErB,GAmGAkS,gBA7EuBhW,IACvB+Q,EAAKlc,MAAQmL,EACFwO,EAAA7P,EAAQ8R,IACnB+F,EAAc7J,SAAQ,EA2EtBsJ,oBACAne,eACAwB,WACA4c,SACAC,YACAC,WACAC,YA/EkBA,IAAMG,EAAcnE,WAgFtC5B,eACA8F,eAAgBrd,EAAQsG,QACxBgX,gBACAhJ,cACAiJ,WACAC,WACAJ,eAEJ,CDzLI5H,CAAQ5D,IACNmE,gBAAEA,EAAiBD,QAAAA,GAAYP,GACnCnB,GAAME,EAAa,MACnBiD,IAEI1P,QAAEA,EAAApL,OAASA,GAAWwd,KACtBX,EAAc9d,GAAoB4Y,IAAM,IAAMxC,EAAMyF,YAAYY,iBAEtE,SAAS+G,IACP,MAAMrjB,EAAQ4b,EAAa5b,MAEtBgI,EAAKC,UAAUjI,KAGpB4hB,EAAS9J,UAET3B,EAAM,0BAA2BnW,GAEjCsjB,YAAW,KACT1B,EAASpE,UAAS,GACjB,KACL,QAEA3S,EAAM8N,GAAa,KACjBiD,EAAa5b,MAAQ,EAAA,IAEfkM,EAAAqX,QAAQC,cAAchQ,IACa,QAArCA,EAAMtF,QAAQuQ,oBAChB0C,EAAgB,EAAC,giJE/DNsC,GAAA,GAAA,IAAApjB,IAAA,wBAAAC,EAAAC,KAAAC,KAAAC,+lCCSf,MAAMwV,EAAQC,EACRwN,EAAkBC,IACtB,YAAMrjB,EAAAsjB,OAAO,8CAAuB,EAAAtjB,eAGhCujB,SAAEA,YAAUziB,EAAW0iB,WAAAA,EAAAC,KAAYA,QAAMC,EAAO7O,QAAAA,GA4CtD,WACE,MAAM2O,EAAapf,EAAS,CAC1Buf,SAAU,EACVC,KAAM,IAEFH,EAAOliB,EAAI,GACXoB,EAAelD,GAAS,IAAMkW,EAAMhT,gBAEpCuI,KAAEA,EAAMpK,UAAAA,EAAW+T,QAAAA,GAAYgP,GAAS,CAC5CC,SAAU,CAACnT,EAAKoT,YAAYjY,GAAI0X,EAAYC,EAAM9gB,GAClDqhB,sBAAsB,EACtBC,gBAAiB,IACjBC,QAASA,IACPvT,EAAKoT,YAAY,CACfH,KAAMJ,EAAWI,KACjBO,UAAWX,EAAWG,SACtBF,KAAMA,EAAK/jB,MACXsc,cAAerZ,EAAajD,UAI5B6jB,EAAW9jB,GAAS,KAAA2kB,IAAAA,EAAAC,EAAAD,OAAkB,QAAlBA,EAAkB,QAAlBC,EAAMnZ,EAAKxL,aAAO,IAAA2kB,OAAA,EAAZA,EAAYC,YAAA,IAAAF,EAAAA,EAAQ,EAAE,IAChDV,EAAQjkB,GAAS,KAAA8kB,IAAAA,EAAAC,EAAAD,eAAAA,EAAkB,QAAlBC,EAAMtZ,EAAKxL,aAAO,IAAA8kB,OAAA,EAAZA,EAAYhB,WAAWE,qBAAS,CAAC,IAEvD,MAAA,CACLH,SAAAA,EACAC,WAAAA,EACA1iB,UAAAA,EACA4iB,MAAAA,EACAD,KAAAA,EACA5O,QAAAA,EAEJ,CA5EkE4P,GAC5D1P,EAAM5K,EAAoB,mBAC1Bua,EAAYva,EAAoB,iBAChCwa,EAAepjB,IACf6Z,EAAc7Z,IACdigB,EAAmBjgB,EAAI,KAEvByC,YAAEA,GAAgBC,EAASC,oBAC3B0gB,EAAenlB,GAAsB,IAClC,CACL,CACEwV,MAAOpV,EAAG,yBACVglB,UAAW,aACXC,MAAO,QAET,CACE7P,MAAOpV,EAAG,yBACVglB,UAAW,aACXC,MAAO,QAET,CACE7P,MAAOpV,EAAG,yBACVglB,UAAW,eACXC,MAAO,OACPC,WAAY,CAAC,OAEf,CACE9P,MAAOpV,EAAG,yBACVglB,UAAW,gBACXC,MAAO,OACPC,WAAY,CAAC,OAEf,CACE9P,MAAOpV,EAAG,yBACVglB,UAAW,UACXC,MAAO,SACPE,MAAO,WAKPC,EAAoBrB,GAAkBJ,EAAWI,KAAOA,GACxDhY,QAAEA,EAAApL,OAASA,GAAWud,YAiD5BxT,GACE,IAAM,CAAC/J,EAAOsT,UAAWtT,EAAOigB,cAC/ByE,IACKA,EAAIpM,MAAK1N,KAAOA,MACVyJ,IACsB,IAA1B0O,EAAS7jB,MAAMuB,QAAmC,GAAnBuiB,EAAWI,OAC5CJ,EAAWI,KAAO,GACtB,IAQJ7O,EAAI3K,IAJJ,SAAkBS,GACX4Y,EAAA/jB,MAAQgR,OAAO7F,GACpB2Y,EAAWI,KAAO,CACpB,IAGAc,EAAUta,IAAG,KACXwB,EAAQ4J,KAAK,QAAO,yjGA/BtBhK,eAA6B2Z,GAAa,IAAAC,EACnC5b,EAAQxF,kBACLohB,EAAAC,EAAYC,kCAAZF,EAA2BhW,QAE9B+V,GAKL/J,EAAY1b,MAAQylB,EACpBvZ,EAAQ4J,KAAK,SALF3G,EAAA9M,KAAKlC,EAAG,yBAMrB,gjDClGA,MAAM8V,EAAQC,EACR2P,EAAUtP,KACVuP,EAASjkB,GAAI,IACbwC,QAAEA,GAAYE,EAASC,qBACvBuhB,SAAEA,EAAA3kB,UAAUA,EAAW4kB,UAAAA,GAAcC,IAE3C,SAASA,IACP,MAAMC,EAAU/B,GAAS,CACvBC,SAAU,CAACnT,EAAKkV,WAAW/Z,IAC3Bga,UAAW,EACX5B,QAASA,IACPvT,EAAKkV,WACH,CAAE1U,YAAapN,EAAQsG,SACvB,CAAEyG,iBAAkB,WAKpB2U,EAAWlkB,IAEXmkB,EAAYjmB,GAAS,KAAM,IAAAsmB,EAAAC,EAC/B,MAAMC,EAAgBliB,EAAQuW,SACxBvY,EAAO,CACXmkB,UAAW,EACXC,SAAU,EACVC,cAAe,EACfC,cAAe,EACfC,aAAc,GAGhB,OAAKL,GAGAlkB,EAAAmkB,UAA0B,QAA1BH,EAAYE,EAAcM,sBAAAR,IAAAA,EAAAA,EAAkBhkB,EAAKmkB,UACjDnkB,EAAAukB,qBAAAN,EAAeC,EAAcO,qBAAA,IAAAR,EAAAA,EAAiBjkB,EAAKukB,aACxDvkB,EAAKokB,SAAW,EACXpkB,EAAAqkB,cAAgBrkB,EAAKmkB,UAAYnkB,EAAKukB,aACtCvkB,EAAAskB,cAAgBtkB,EAAKmkB,UAAYnkB,EAAKokB,SAEpCpkB,GAREA,CAQF,IAQF,OALPuI,GAAY,SAAMmc,EACZb,EAAQ1a,KAAKxL,QACf+lB,EAAS/lB,MAA4B,QAA5B+mB,EAAQb,EAAQ1a,KAAKxL,aAAb+mB,IAAoBA,OAApBA,EAAAA,EAAoBC,KAAUtb,IAAA,IAAKA,EAAG+K,MAAO,SAAO,IAGlE,CACLsP,SAAAA,EACA3kB,UAAW8kB,EAAQ9kB,UACnB4kB,UAAAA,EAEJ,CAEA,MAAMiB,YAAEA,EAAaC,SAAAA,EAAArb,SAAUA,YAAUsb,GAEzC,SAAiBpB,GACf,MAAQC,UAAAA,GAAcC,IAChBmB,EAAavlB,EAAI,GACjB4C,EAAW5C,IACXslB,EAAYtlB,GAAI,GAkFtB,SAASwlB,QAAaC,EACpB,OAAgBA,QAAhBA,EAAOvB,EAAS/lB,iBAAAsnB,SAATvB,EACHwB,QAAOlc,GAAQA,EAAKmc,eAAe,UAAYnc,EAAKoL,QACrDuQ,KAAK3b,IACA,GAAAA,EAAKoL,OAASuP,EAAUhmB,MAAM2mB,cAChC,MAAO,CAACtb,EAAKV,QAASqG,OAAO3F,EAAKoL,OAAM,GAEhD,CAEA,SAASgR,QAAgBC,EAEvB,MAAMC,EAAgBN,IAGlB,OAA0B,KAA1BM,eAAAA,EAAepmB,SACjB6lB,EAAWpnB,MAAQ,EACZ,KAGEonB,EAAApnB,MAAQ2nB,SAEfD,UAFeC,EACfX,KAAI3b,GAAQ2F,OAAO3F,EAAK,iBACxBqc,SAFeA,EAEfE,QACA,CAACC,EAAeC,IAAiBD,EAAgBC,IAE9CH,EACT,CAEO,MAAA,CACLV,YA7GmBrW,IACnB,GAAImV,EAAS/lB,MAAM4Q,GAAK6F,MAAQ,GAAM,EAEpC,YADAsP,EAAS/lB,MAAM4Q,GAAK6F,MAAQ,GAI9B,GAAIsP,EAAS/lB,MAAM4Q,GAAK6F,OAASsP,EAAS/lB,MAAM4Q,GAAK6F,MAAQuP,EAAUhmB,MAAM2mB,cAE3E,YADAZ,EAAS/lB,MAAM4Q,GAAK6F,MAAQ,GAK9B,MAAMkR,EAAgBF,IAEtB,GAAK1B,EAAS/lB,MAAM4Q,GAAK6F,MAAzB,CAKI,GAA0B,KAA1BkR,aAAA,EAAAA,EAAepmB,QAOjB,OALAwkB,EAAS/lB,MAAO4Q,GAAK6F,MAAQsE,KAAKzE,IAChCqR,EAAc,GAAG,GACjB3B,EAAUhmB,MAAM2mB,oBAElBliB,EAASzE,MAAQ+nB,OAAOC,YAAYX,MAItC,GAAID,EAAWpnB,MAAQgmB,EAAUhmB,MAAM2mB,cAAe,CAC9C,MAAAlQ,EAAQuP,EAAUhmB,MAAM2mB,eACzBS,EAAWpnB,MAAQ+lB,EAAS/lB,MAAM4Q,GAAK6F,OAC5CsP,EAAS/lB,MAAM4Q,GAAK6F,MAChBA,EAAQ,EAAI,EAAIA,CACtB,CACAhS,EAASzE,MAAQ+nB,OAAOC,YAAYX,IAlBpC,MAFW5iB,EAAAzE,MAAQ+nB,OAAOC,YAAYL,EAoBW,EA2EjDT,SAxEee,CAACrX,EAAalF,KACf+b,IACNxU,QAAAC,IAAI,mBAAoBkU,EAAWpnB,OAC3C,MAAMkoB,EAAclC,EAAUhmB,MAAM2mB,cAAgBS,EAAWpnB,MACvDiT,QAAAC,IAAI,cAAegV,GACvBA,GAAe,GAAKxc,EAAE+K,QAAUuP,EAAUhmB,MAAM2mB,cACzCxX,EAAAC,MAAMjP,EAAG,0BAINsnB,IACd1B,EAAS/lB,MAAM4Q,GAAK6F,MAAQyR,EAAcnC,EAAS/lB,MAAM4Q,GAAK6F,MAChDgR,IACdhjB,EAASzE,MAAQ+nB,OAAOC,YAAYX,KAAa,EA4DjDxb,SAzDeC,UACX,GAACrH,EAASzE,OAA4C,OAAnCmoB,KAAKC,UAAU3jB,EAASzE,OAA3C,CAKJmnB,EAAUnnB,OAAQ,EACd,UACIgI,EAAKqgB,KAAKhkB,EAAQsG,QAASlG,EAASzE,OAC1C8lB,EAAO9lB,OAAQ,QAEVmL,GACY,iBAANA,IACLA,EAAE+D,SAAS,6BACJC,EAAAC,MAAMjP,EAAG,0BACXgL,EAAE+D,SAAS,iCACTC,EAAAC,MAAMjP,EAAG,0BAElBgP,EAASC,MAAMjE,IAEfA,aAAa6D,OACNG,EAAAC,MAAMjE,EAAE8D,SAEnBkY,EAAUnnB,OAAQ,EAClBiW,EAAMqS,OACR,CArBA,MAFWnZ,EAAAC,MAAMjP,EAAG,wBAuBpB,EAiCAgnB,UAAAA,EAEJ,CAzHuDoB,CAAQxC,UA2H/Dnb,GAAY,KACO,IAAA4d,EAAZ3C,EAAQ/L,YACF0O,EAAAzC,EAAA/lB,aAAA,IAAAwoB,GAAAA,EAAOvP,SAASvN,IACvBA,EAAE+K,MAAQ,IAAA,GAEd,IAGWgS,EAAA,CACX/Y,KAAMmW,EAAQ/N,QACdwQ,MAAOzC,EAAQrI,+iEC1LjB,MAAMlZ,YAAEA,GAAgBC,EAASC,oBACL6J,KACtB,MAAAgH,EAAM5K,EAAoB,mBAC1Bua,EAAYva,EAAoB,iBAChCie,EAAe7mB,IAEfkiB,EAAOliB,EAAI,GACXgkB,EAAUtP,KAChB,SAASoS,EAAS3oB,GAChBqV,EAAIuT,KAAK5oB,EACX,CACA8L,eAAe+c,IAASC,IAAAA,EACjBrjB,EAAMnB,kBACHwkB,EAAAnD,EAAYC,kCAAZkD,EAA2BpZ,QAEnCmW,EAAQ/N,SACV,QAGAkN,EAAUta,IAAG,KACXmb,EAAQrI,UAAS,08CCtBb,MAAAva,EAAepB,EAAI,o0CCqEzB,MAAMknB,SAAEA,EAAA3nB,UAAUA,GA5BlB,WACQ,MAAA0iB,EAAa5hB,GAAiB,KAC3B,CACLgiB,KAAM,EACND,SAAU,QAGRzY,KAAEA,EAAApK,UAAMA,EAAW+T,QAAAA,GAAYgP,GAAS,CAC5CC,SAAU,CAACnT,EAAK+X,gBAAgB5c,GAAI0X,GACpCU,QAASA,IACPvT,EAAK+X,gBAAgB,CACnB9E,KAAMJ,EAAWI,KACjBO,UAAWX,EAAWG,aAGtB8E,EAAWhpB,GAAS,KAAAkpB,IAAAA,EAAAA,eAAAA,EAAMzd,EAAKxL,0BAALipB,EAAYrE,IAAI,IAC1CZ,EAAQjkB,GAAS,KAAAmpB,IAAAA,EAAAA,OAAWA,QAAXA,EAAM1d,EAAKxL,iBAAAkpB,SAALA,EAAYpF,WAAWE,KAAK,IAClD,MAAA,CACL+E,WACA3nB,YACA+T,UACA2O,aACAE,QAEJ,CAIgCmF,oKAlEvB,CACL,CACE5T,MAAOpV,EAAG,yBACVglB,UAAW,eACXG,MAAO,KAET,CACE/P,MAAOpV,EAAG,yBACVglB,UAAW,iBACXG,MAAO,KAET,CACE/P,MAAOpV,EAAG,yBACVglB,UAAW,SACXC,MAAO,OACPE,MAAO,KAET,CACE/P,MAAOpV,EAAG,yBACVglB,UAAW,gBACXC,MAAO,OACPE,MAAO,KAET,CACE/P,MAAOpV,EAAG,yBACVglB,UAAW,OACXC,MAAO,OACPE,MAAO,KAET,CACE/P,MAAOpV,EAAG,yBACVglB,UAAW,YACXC,MAAO,SACPE,MAAO,miFClCb,MAAMrP,EAAQC,EACRC,EAAQC,GACN/R,QAAS+kB,EAAAjU,QAAaA,GAAY5Q,EAASC,oBAC7CqX,EAAUtF,IAAW,IACnBtT,aAAcmU,GAAiBC,KACjC7L,EAiBN,WACQ,MAAA6d,EAAStpB,GAAS,KAAM,IAAAupB,EAC5B,MAAMC,YAAEA,EAAapP,QAAAA,WAAYmP,EAAA7kB,EAASzE,qBAAS,CAAA,EAC/C,OAAgB,IAAhBupB,GAAiC,IAAZpP,EAChB,EACMqP,GAAqBrP,EAAUoP,KAAiB,EACxDF,IAGHI,EAAoB1pB,GAAS,KAAM2pB,IAAAA,EACjC,MAAA9O,SAAEA,GAAawO,GACbxO,SAAU3X,WAAiBymB,EAAAjlB,EAASzE,qBAAS,CAAA,EACrD,IAAK4a,EACH,MAAO,GACT,MAAM+O,EACe,IAAjB1mB,EAAqB2X,eAAAA,EAAUD,gBAAkBC,eAAAA,EAAUC,aAExD,MAAA,CACL+O,cAAe7O,KAAKC,MAAMqO,EAAOrpB,OAAS2pB,QAAAA,EAAS,IACnDE,UAAW9O,KAAKC,MAAMxY,EAAOxC,OAAS2pB,QAAAA,EAAS,IACjD,IAmDF,OAAOjlB,EAAS,CACd2kB,SACAI,oBACAK,UAnDgBA,KACXT,EAAOrpB,QAEZwC,EAAOxC,MAAQqpB,EAAOrpB,MAAA,EAiDtB+pB,WA9CiBje,UAAYke,IAAAA,EAAAC,EAAAC,EAE7B,GADArO,EAAQ/D,WACHtV,EAAOxC,MACV,OAAOmP,EAAS9M,KAAKlC,EAAG,0BAC1B,MAAM0f,EAAuC,aAA7BmK,EAAAvlB,EAASzE,aAAO,IAAAgqB,OAAA,EAAhBA,EAAgBpP,UAAiB,CAAEoF,wBAAAiK,EAAiBze,EAAKie,yBAAA,IAAAQ,OAAA,EAALA,EAAwBJ,WAAc,CAAE/J,2BAAoBoK,EAAA1e,EAAKie,sCAALS,EAAwBL,WACpJ,IAAAM,IAAAA,EAAAC,EAAAC,EACF,MAAMpoB,EAAS,CACbO,OAAQiD,EAAMjD,GAAU,IAAM,EAC9B8nB,gBAAiC,QAAjCH,EAAiB1lB,EAASzE,aAATmqB,IAAgBA,OAAhBA,EAAAA,EAAgBG,gBACjC1P,SAAUxD,EAAsB,QAAtBgT,EAAa3lB,EAASzE,aAAToqB,IAASA,OAATA,EAAAA,EAAgBxP,UAAU9a,KACjD6K,QAAyB,QAAzB0f,EAAS5lB,EAASzE,aAATqqB,IAAgBA,OAAhBA,EAAAA,EAAgBnL,aACzBW,YAEIhD,OAAEA,SAAiB7U,EAAKuiB,mBAAmBtoB,GAEjD6jB,EAAO9lB,OAAQ,EACX6c,GACM1H,IACRgB,EAAM,WACNqU,EAAe1S,WAGf0S,EAAehN,iBAGZpO,GACDA,aAAiBJ,OACfI,aAAiB2Q,SACf3Q,EAAMF,SAAS,6BACRC,EAAAC,MAAMjP,EAAG,0BACXiP,EAAMF,SAAS,iCACbC,EAAAC,MAAMjP,EAAG,0BAElBgP,EAASC,MAAMA,GAErB,CAEF,QACEyM,EAAQ2B,UACV,IASJ,CA9FaiN,GAEPhmB,EAAW5C,EAAI,CACnB+Y,SAAU,IAENpY,EAASX,EAAI,GAEnB6oB,IAAU,KACRjmB,EAASzE,MAAQiW,EAAMxR,SACvB+G,EAAKse,WAAU,IAEX,MAAAhE,EAASjkB,GAAI,GACb2oB,EAAiBjU,IAAW,GAClC,SAASoU,IACP1U,EAAMqS,OACR,gmFCoDA,MAAMhkB,YAAEA,GAAgBC,EAASC,qBAC3BukB,SAAEA,EAAUjF,WAAAA,EAAAE,MAAYA,UAAO7O,EAAS/T,UAAAA,GArC9C,WACE,MAAMkD,YAAEA,EAAAD,QAAaA,GAAYE,EAASC,oBACpCsf,EAAa5hB,GAAiB,KAC3B,CACLgiB,KAAM,EACND,SAAU,QAGRzY,KAAEA,EAAM2J,QAAAA,EAAA/T,UAASA,EAAWwpB,WAAAA,GAAezG,GAAS,CACxDC,SAAU,CAAC,gBAAiBN,EAAY,IAAMzf,EAAQsG,SACtDxJ,QAASmD,EACTkgB,QAASA,IACAxc,EAAK6iB,kBAAkB,CAC5BlgB,QAAStG,EAAQsG,QACjBmgB,MAAOhH,EAAWG,SAClB8G,OAAQjH,EAAWI,KAAO,GAAKJ,EAAWG,SAC1CnkB,KAAM,MAKNipB,EAAWhpB,GAAS,KAAA,IAAAirB,EAAAA,OAAW,QAAXA,EAAMxf,EAAKxL,aAAA,IAAAgrB,OAAA,EAALA,EAAYxf,KAAKA,IAAI,IAC/CwY,EAAQjkB,GAAS,KAAA,IAAAkrB,EAAAC,EAAAD,eAAAA,EAAkB,QAAlBC,EAAM1f,EAAKxL,aAAO,IAAAkrB,OAAA,EAAZA,EAAY1f,KAAKwY,qBAAS,CAAC,IAClDnI,EAAU9b,GAAS,IAAMuE,EAAYtE,OAASoB,EAAUpB,OAAS4qB,EAAW5qB,QAE3E,MAAA,CACL+oB,WACA5T,UACA2O,aACAE,QACA5iB,UAAWya,EAEf,CAK4DsP,GACtDtF,EAAUtP,KACVkP,EAAS5jB,IAQf,SAAS6N,EAAK0b,GACZ3F,EAAOzlB,MAAQorB,EACfvF,EAAQ/N,SACV,QAVYrN,EAAoB,iBAG5BC,IAAG,KACLmb,EAAQrI,UAAS,IAQb3S,EAAAgb,GAAUA,IACTA,GACK1Q,GAAA,6KAvFH,CACL,CACEI,MAAOpV,EAAG,yBACVglB,UAAW,MAEb,CACE5P,MAAOpV,EAAG,yBACVglB,UAAW,QACXC,MAAO,QAET,CACE7P,MAAOpV,EAAG,yBACVglB,UAAW,UACXC,MAAO,QAET,CACE7P,MAAOpV,EAAG,yBACVglB,UAAW,aACXC,MAAO,QAET,CACE7P,MAAOpV,EAAG,yBACVglB,UAAW,gBACXC,MAAO,QAET,CACE7P,MAAOpV,EAAG,yBACVglB,UAAW,YACXC,MAAO,soHCnBb,MAAMnP,EAAQC,EAiBRmV,EAAUtrB,GAAS,KACvB,OAPkBurB,EAOArV,EAAMqV,QAPGtH,EAOM/N,EAAM+N,MANlCsH,GAAYtH,EAETsH,EAAUtH,EAAS,IADlB,EAFF,IAAWsH,EAAStH,CAOiB,0rCC/B9C,MAAM3f,QAAEA,GAAYE,EAASC,oBACvBqhB,EAAUtP,KAGVkP,EAAS5jB,IACT0pB,EAAgB1pB,EAAY,GAmC5B0jB,EAAoBrB,GAAkBJ,EAAWI,KAAOA,EAExDJ,EAAapf,EAAS,CAC1Bwf,KAAM,EACND,SAAU,IAGN9iB,EAAUpB,GACd,MAAQ0F,EAAMggB,MAAaA,EAAOzlB,MAAMwR,YAAcnN,EAAQsG,UAG1D6gB,EAAUrH,GAAS,CACvBC,SAAU,CAACnT,EAAKwa,sBAAsBrf,GAAI0X,EAAY2B,GACtDtkB,UACAmjB,sBAAsB,EACtB8B,UAAW,IACX5B,QAASA,KAAA,IAAAkH,EACP,OAAAza,EAAKwa,sBAAsB,CACzBha,YAAapN,EAAQsG,QACrBghB,gBAA+B,QAA/BD,EAAiBjG,EAAOzlB,aAAO,IAAA0rB,OAAA,EAAdA,EAAcla,SAC/B0S,KAAMJ,EAAWI,KACjBO,UAAWX,EAAWG,UACvB,IAGC8E,EAAWhpB,GAAS,KAAA6rB,IAAAA,SAAMJ,iBAASI,EAATJ,EAAShgB,KAAKxL,0BAAd4rB,EAAqBhH,IAAI,IACnDZ,EAAQjkB,GAAS,KAAA,IAAA8rB,EAAA,OAAML,SAAcK,UAAdL,EAAShgB,KAAKxL,iBAAA6rB,SAAdA,EAAqB/H,WAAWE,KAAK,WAErDyE,EAAA,CACX/Y,KA9DF,SAAcmQ,GACZ4F,EAAOzlB,MAAQ6f,EACf0L,EAAcvrB,MAAQ6f,EAAQvD,cAC9BuJ,EAAQ/N,SACV,EA2DEwQ,MAAOzC,EAAQrI,gpBAxDR,CACL,CACEjI,cAAOuW,EAAArG,EAAOzlB,aAAO,IAAA8rB,GAAdA,EAAcxP,cACjBnc,EAAG,yBACHA,EAAG,yBACPglB,UAAW,iBACXC,MAAO,QAET,CACE7P,MAAOpV,EAAG,yBACVglB,UAAW,cACXC,MAAO,QAET,CACE7P,MAAOpV,EAAG,yBACVglB,UAAW,cACXC,MAAO,QAET,CACE7P,MAAOpV,EAAG,yBACVglB,UAAW,YACXC,MAAO,+4BAtBb,IAAgC0G,8vBC4EhC,SAASC,EAAeX,GAChB,MAAAY,sBAAEA,EAAuBjb,eAAAA,GAAmBqa,EAC9C,OAACY,GAA0Bjb,EAEvBib,EAAwBjb,EAAkB,IADzC,CAEX,CAEA,MAAMzM,YAAEA,GAAgBC,EAASC,qBAC3BukB,SAAEA,YAAU3nB,EAAW0iB,WAAAA,EAAAE,MAAYA,UAAO7O,EAAS9P,MAAAA,GA9CzD,WACE,MAAQf,YAAAA,EAAAA,QAAaD,GAAYE,EAASC,oBAEpCsf,EAAa5hB,GAAiB,KAC3B,CACLgiB,KAAM,EACND,SAAU,OAIR5e,EAAQxD,EAAI,IAEZ2J,KAAEA,EAAMpK,UAAAA,EAAW+T,QAAAA,GAAYgP,GAAS,CAC5CC,SAAU,CAACnT,EAAKgb,WAAW7f,GAAI0X,EAAY,IAAMzf,EAAQsG,QAAStF,GAClElE,QAASmD,EACTkgB,QAASA,IACPvT,EAAKgb,WAAW,CACdxa,YAAapN,EAAQsG,QACrBuZ,KAAMJ,EAAWI,KACjBO,UAAWX,EAAWG,SACtB5e,MAAOA,EAAMrF,UAIb+oB,EAAWhpB,GAAS,KAAAmsB,IAAAA,EAAAA,eAAAA,EAAM1gB,EAAKxL,aAALksB,WAAAA,EAAAA,EAAYtH,IAAI,IAC1CZ,EAAQjkB,GAAS,KAAA,IAAAosB,EAAAA,OAAW,QAAXA,EAAM3gB,EAAKxL,aAAA,IAAAmsB,OAAA,EAALA,EAAYrI,WAAWE,KAAK,IACnDnI,EAAU9b,GAAS,IAAMuE,EAAYtE,OAASoB,EAAUpB,QAEvD,MAAA,CACL+oB,SAAAA,EACA5T,QAAAA,EACA2O,WAAAA,EACAE,MAAAA,EACA5iB,UAAWya,EACXxW,MAAAA,EAEJ,CAUmE+mB,GAE7DC,EAAiBxqB,IACjByqB,EAAqBzqB,IAChB6M,IACL,MAAAwN,EAAOnc,GAAS,IAAM,CAAC,CAAEC,MAAO,EAAGgY,KAAM7X,EAAG,yBAA2B,CAAEH,MAAO,EAAGgY,KAAM7X,EAAG,+hBA5FzF,CACL,CACEoV,MAAOpV,EAAG,yBACVglB,UAAW,OACXC,MAAO,QAET,CACE7P,MAAOpV,EAAG,yBACVglB,UAAW,iBACXC,MAAO,QAET,CACE7P,MAAOpV,EAAG,yBACVglB,UAAW,gBACXC,MAAO,QAET,CACE7P,MAAOpV,EAAG,yBACVglB,UAAW,aACXC,MAAO,QAET,CACE7P,MAAOpV,EAAG,wBACVglB,UAAW,aACXC,MAAO,SACPC,WAAY,CAAC,OAEf,CACE9P,MAAOpV,EAAG,yBACVglB,UAAW,WACXC,MAAO,SACPC,WAAY,CAAC,OAEf,CACE9P,MAAOpV,EAAG,yBACVglB,UAAW,YACXC,MAAO,y4KCtCP,MAAAmH,EAAY1qB,EAAI,quCCDtB,MAAM2qB,EAAcjW,MACdjS,YAAEA,GAAgBC,EAASC,qBAC3B0H,QAAEA,EAAApL,OAASA,GAAWsN,MACtBjN,QAAEA,GAAYsrB,KACdC,EAAc7qB,IACd4M,EAAKC,WAEL7D,GAAA,IAAM4D,EAAGke,YAAW,KACxBzgB,EAAQ4J,KAAK,QAAO,i4DChBtB,MAAM8W,EAAWC,GAAc,CAAEC,kBAAkB,WAC3CC,GAAA,CACNxX,MAAOA,IAAS,GAAApV,EAAG,8BAA8BA,EAAG,2BACpD6sB,UAAW,CACTC,KAAML,EAAS5sB,MAAMgtB,UAAWC,MAElCC,KAAM,IAAKN,EAAS5sB,MAAMktB,MAAQ,IAClC3sB,KAAM,IACAqsB,EAAS5sB,MAAMO,MAAQ,GAC5B,CACC4sB,SAAU,WACVC,QAASA,IAAMjtB,EAAG,6BCVhB2H,EAAQC,cAAiBkB,OAAeV,SAC1CT,EAAQ4P"}