bmc-common-resource 1.1.163 → 1.1.165

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/enums/solution-status.enum.ts","../src/enums/solution-item-audit-status.enum.ts","../src/enums/design-type.enum.ts","../src/enums/currency-unit.enum.ts","../src/enums/supply-mode.enum.ts","../src/enums/im_group_type.enum.ts","../src/enums/recommendation-type.enum.ts","../src/enums/pro_series_type.enum.ts","../src/enums/sales_end_app_tag.enum.ts","../src/enums/solution_price_type.enum.ts","../src/enums/spatial-category.enum.ts","../src/enums/house-status.enum.ts","../src/enums/house-type.enum.ts","../src/enums/price-flag.enum.ts","../src/enums/rounding-rule.enum.ts","../src/enums/business-scope.enum.ts","../src/enums/business-work-phase.enum.ts","../src/enums/contract-state.enum.ts","../src/enums/amount-decimal-value.enum.ts","../src/enums/amount-decimal-type.enum.ts","../src/enums/sign-style.enum.ts","../src/enums/mq-receipt-type-enum.ts","../src/enums/customer-classification.enum.ts","../src/enums/assign-business-type.enum.ts","../src/enums/index.ts","../src/constants/solution-status-options.constant.ts","../src/constants/design-type-options.constant.ts","../src/enums/order-status.enum.ts","../src/constants/order-status-options.constant.ts","../src/constants/currency-unit-options.constant.ts","../src/constants/supply-mode-options.constant.ts","../src/constants/im-group-type-options.constants.ts","../src/enums/dictionary-identify.enum.ts","../src/enums/customer-source.enum.ts","../src/constants/dictionary-customer-source-options.constant.ts","../src/enums/process-stage.enum.ts","../src/constants/dictionary-process-stage-options.constant.ts","../src/enums/customer-label.enum.ts","../src/constants/dictionary-customer-label-options.constant.ts","../src/constants/dictionary-business-scope-options.constant.ts","../src/constants/dictionary-business-work-phase-options.constant.ts","../src/constants/dictionary-customer-classification-options.constant.ts","../src/constants/dictionary-attribute-options.constant.ts","../src/constants/dictionary-identify-options.constant.ts","../src/constants/recommendation-type-options.constant.ts","../src/constants/pro_series_type_enum.constant.ts","../src/constants/spatial-category-options.constant.ts","../src/constants/house-status-options.constant.ts","../src/constants/house-type-options.constant.ts","../src/constants/price-flag-options.constant.ts","../src/constants/rounding-rule-options.constant.ts","../src/constants/assign-business-type-options.constant.ts","../src/constants/amount-decimal-value-constant.ts","../src/constants/contract-status-options.constant.ts","../src/constants/sign-style-options.constant.ts","../src/constants/sales-end-app-tag.constant.ts","../src/enums/product-unit-measure.enum.ts","../src/constants/product-unit-measure.constant.ts","../src/utils/solution.util.ts","../src/utils/common.util.ts","../src/modules/solution/productCategories.ts","../src/modules/solution/groupTypes.ts","../src/modules/solution/measure/utils/MeasureCalculator.js","../src/modules/solution/measure/index.js","../src/modules/solution/categoryFormMap.ts","../src/enums/privilege-status.enum.ts","../src/constants/privilege-status-options.constant.ts","../src/enums/contract-cancel-type.enum.ts","../src/enums/place-order-type.enum.ts","../src/enums/mq-consumer-group-enum.ts","../src/modules/solution/models/QuotationItem.ts","../src/constants/index.ts","../src/interfaces/index.ts","../src/modules/solution/dosage/index.ts","../src/modules/solution/classifyRoomGroupMap.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"/**\r\n * 产品单元计量计算工具\r\n * 用于根据产品尺寸(宽、高、深)和计量单位计算实际计量值\r\n */\r\nclass ItemUnitMeasureCalculator {\r\n /**\r\n * 计量单位枚举\r\n */\r\n static ProductUnitMeasureEnum = {\r\n // 计件类单位\r\n PC: {\r\n name: 'PC',\r\n label: '件',\r\n simpleLabel: '件',\r\n enName: 'Place',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n EA: {\r\n name: 'EA',\r\n label: '个',\r\n simpleLabel: '个',\r\n enName: 'Each',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n CELL: {\r\n name: 'CELL',\r\n label: '节',\r\n simpleLabel: '节',\r\n enName: 'cELL',\r\n dimension: 0,\r\n scale: 1,\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n SET: {\r\n name: 'SET',\r\n label: '套',\r\n simpleLabel: '套',\r\n enName: 'Set',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n BAN: {\r\n name: 'BAN',\r\n label: '把',\r\n simpleLabel: '把',\r\n enName: 'Ban',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n SAG: {\r\n name: 'SAG',\r\n label: '袋',\r\n simpleLabel: '袋',\r\n enName: 'Bag',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n VOL: {\r\n name: 'VOL',\r\n label: '本',\r\n simpleLabel: '本',\r\n enName: 'Volume',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n BOX: {\r\n name: 'BOX',\r\n label: '箱',\r\n simpleLabel: '箱',\r\n enName: 'Boxful',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n PAIL: {\r\n name: 'PAIL',\r\n label: '桶',\r\n simpleLabel: '桶',\r\n enName: 'Pail',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n CAN: {\r\n name: 'CAN',\r\n label: '罐',\r\n simpleLabel: '罐',\r\n enName: 'Can',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n TAI: {\r\n name: 'TAI',\r\n label: '台',\r\n simpleLabel: '台',\r\n enName: 'Tai',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n CAR: {\r\n name: 'CAR',\r\n label: '盒',\r\n simpleLabel: '盒',\r\n enName: 'Carton',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n PAK: {\r\n name: 'PAK',\r\n label: '包',\r\n simpleLabel: '包',\r\n enName: 'Package',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n STP: {\r\n name: 'STP',\r\n label: '条',\r\n simpleLabel: '条',\r\n enName: 'Strip',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n ZHI: {\r\n name: 'ZHI',\r\n label: '只',\r\n simpleLabel: '只',\r\n enName: 'Zhi',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n ZII: {\r\n name: 'ZII',\r\n label: '支',\r\n simpleLabel: '支',\r\n enName: 'Zii',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n SLC: {\r\n name: 'SLC',\r\n label: '片',\r\n simpleLabel: '片',\r\n enName: 'Slice',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n BLK: {\r\n name: 'BLK',\r\n label: '块',\r\n simpleLabel: '块',\r\n enName: 'Block',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n ZHG: {\r\n name: 'ZHG',\r\n label: '张',\r\n simpleLabel: '张',\r\n enName: 'Zhang',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n PAL: {\r\n name: 'PAL',\r\n label: '货盘',\r\n simpleLabel: '货盘',\r\n enName: 'Pallet',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n GEN: {\r\n name: 'GEN',\r\n label: '根',\r\n simpleLabel: '根',\r\n enName: 'Gen',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n FAN: {\r\n name: 'FAN',\r\n label: '扇',\r\n simpleLabel: '扇',\r\n enName: 'Fan',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n REEL: {\r\n name: 'REEL',\r\n label: '卷',\r\n simpleLabel: '卷',\r\n enName: 'Reel',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n PAIR: {\r\n name: 'PAIR',\r\n label: '副',\r\n simpleLabel: '副',\r\n enName: 'Pair',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n GROUP: {\r\n name: 'GROUP',\r\n label: '组',\r\n simpleLabel: '组',\r\n enName: 'Group',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n STEP: {\r\n name: 'STEP',\r\n label: '步',\r\n simpleLabel: '步',\r\n enName: 'Step',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n \r\n // 长度类单位\r\n M: {\r\n name: 'M',\r\n label: '米',\r\n simpleLabel: '米',\r\n enName: 'Metre',\r\n dimension: 1,\r\n scale: 1000,\r\n requiredDimensions: ['width'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width } = countParam;\r\n return width / 1000; // 毫米转米\r\n }\r\n })\r\n },\r\n LM: {\r\n name: 'LM',\r\n label: '延米',\r\n simpleLabel: '延米',\r\n enName: 'LinearMeter',\r\n dimension: 1,\r\n scale: 1000,\r\n requiredDimensions: ['width'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width } = countParam;\r\n return width / 1000; // 毫米转米\r\n }\r\n })\r\n },\r\n H2W1: {\r\n name: 'H2W1',\r\n label: '门套延米',\r\n simpleLabel: 'tm',\r\n enName: 'Tow',\r\n dimension: 1,\r\n scale: 1000,\r\n requiredDimensions: ['width', 'height'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width, height } = countParam;\r\n return (2 * height + width) / 1000; // 毫米转米\r\n }\r\n })\r\n },\r\n MM: {\r\n name: 'MM',\r\n label: '毫米',\r\n simpleLabel: '毫米',\r\n enName: 'MilliMetre',\r\n dimension: 1,\r\n scale: 10,\r\n requiredDimensions: ['width'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width } = countParam;\r\n return width; // 直接返回毫米值\r\n }\r\n })\r\n },\r\n INC: {\r\n name: 'INC',\r\n label: '英寸',\r\n simpleLabel: '英寸',\r\n enName: 'Inch',\r\n dimension: 1,\r\n scale: 304,\r\n requiredDimensions: ['width'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width } = countParam;\r\n return width / 25.4; // 毫米转英寸\r\n }\r\n })\r\n },\r\n \r\n // 面积类单位\r\n M2: {\r\n name: 'M2',\r\n label: '平米',\r\n simpleLabel: '㎡',\r\n enName: 'SquareMetre',\r\n dimension: 2,\r\n scale: 1000000,\r\n requiredDimensions: ['width', 'height'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width, height } = countParam;\r\n return (width * height) / 1000000; // 毫米²转平米\r\n }\r\n })\r\n },\r\n PM2: {\r\n name: 'PM2',\r\n label: '投影平米',\r\n simpleLabel: 'pm²',\r\n enName: 'ProjectionSquareMetre',\r\n dimension: 2,\r\n scale: 1000000,\r\n requiredDimensions: ['width', 'height'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width, height } = countParam;\r\n return (width * height) / 1000000; // 毫米²转平米\r\n }\r\n })\r\n },\r\n FM2: {\r\n name: 'FM2',\r\n label: '立面平米',\r\n simpleLabel: 'fm²',\r\n enName: 'FacadeSquareMetre',\r\n dimension: 2,\r\n scale: 1000000,\r\n requiredDimensions: ['width', 'height'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width, height } = countParam;\r\n return (width * height) / 1000000; // 毫米²转平米\r\n }\r\n })\r\n },\r\n \r\n // 体积类单位\r\n M3: {\r\n name: 'M3',\r\n label: '立方米',\r\n simpleLabel: 'm²',\r\n enName: 'CubicMetre',\r\n dimension: 3,\r\n scale: 1000000000,\r\n requiredDimensions: ['width', 'height', 'depth'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width, height, depth } = countParam;\r\n return (width * height * depth) / 1000000000; // 毫米³转立方米\r\n }\r\n })\r\n },\r\n L: {\r\n name: 'L',\r\n label: '公升',\r\n simpleLabel: '公升',\r\n enName: 'Liter',\r\n dimension: 3,\r\n scale: 1000000000,\r\n requiredDimensions: ['width', 'height', 'depth'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width, height, depth } = countParam;\r\n return (width * height * depth) / 1000000; // 毫米³转升(1升=1000cm³)\r\n }\r\n })\r\n },\r\n ML: {\r\n name: 'ML',\r\n label: '毫升',\r\n simpleLabel: '毫升',\r\n enName: 'MilliLiter',\r\n dimension: 3,\r\n scale: 1000000000,\r\n requiredDimensions: ['width', 'height', 'depth'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width, height, depth } = countParam;\r\n return (width * height * depth) / 1000; // 毫米³转毫升(1毫升=1cm³)\r\n }\r\n })\r\n },\r\n \r\n // 重量类单位\r\n KG: {\r\n name: 'KG',\r\n label: '千克',\r\n simpleLabel: 'kg',\r\n enName: 'Kilogram',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1 // 默认1kg\r\n })\r\n },\r\n TON: {\r\n name: 'TON',\r\n label: '吨',\r\n simpleLabel: 't',\r\n enName: 'Ton',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1 // 默认1吨\r\n })\r\n },\r\n \r\n // 其他类型\r\n WORKLOAD: {\r\n name: 'WORKLOAD',\r\n label: '工作量',\r\n simpleLabel: '工作量',\r\n enName: 'workload',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n \r\n // 根据名称获取枚举\r\n getByName: function(name) {\r\n if (!name) return null;\r\n for (const key in this) {\r\n if (this[key] && this[key].name === name) {\r\n return this[key];\r\n }\r\n }\r\n return null;\r\n }\r\n };\r\n\r\n /**\r\n * 计算规则操作类型枚举\r\n */\r\n static ProductAttrQuotaOperatorTypeEnum = {\r\n NORMAL: 'NORMAL', // 正常值(不做任何处理)\r\n ADD_MULTIPLE: 'ADD_MULTIPLE', // 先加后乘\r\n MULTIPLE_ADD: 'MULTIPLE_ADD' // 先乘后加\r\n };\r\n\r\n /**\r\n * 查找计量单位并计算\r\n * @param {Object} dto 计算参数对象\r\n * @param {string} dto.measureUnit 计量单位\r\n * @param {number} dto.width 宽度(mm)\r\n * @param {number} dto.height 高度(mm)\r\n * @param {number} dto.depth 深度(mm)\r\n * @param {string} [dto.calculationMethod] 计算方法\r\n * @param {number} [dto.customLength] 自定义长度,用于特殊计算\r\n * @returns {number} 计算结果\r\n */\r\n static findItemUnitMeasure(dto) {\r\n // 处理尺寸\r\n const { width, height, depth } = this.calculateSizeByConfig(dto);\r\n\r\n // 更新DTO中的尺寸\r\n dto.width = width;\r\n dto.height = height;\r\n dto.depth = depth;\r\n\r\n // 查找计量单位\r\n const unitCode = Object.keys(this.ProductUnitMeasureEnum)\r\n .filter(key => typeof this.ProductUnitMeasureEnum[key] === 'object' && key !== 'getByName')\r\n .find(unit => this.ProductUnitMeasureEnum[unit]?.label === dto.measureUnit);\r\n \r\n if (!unitCode) {\r\n console.warn(`未找到计量单位 ${dto.measureUnit} 的处理方法`);\r\n return 1; // 默认按件计算\r\n }\r\n\r\n const measureUnit = this.ProductUnitMeasureEnum[unitCode];\r\n \r\n // 执行计算\r\n try {\r\n // 根据计算方法确定使用哪种计算方式\r\n if (dto.calculationMethod) {\r\n // 如果指定了计算方法,根据方法计算\r\n switch (dto.calculationMethod) {\r\n case 'WIDTH_HEIGHT':\r\n return (width * height) / (measureUnit.scale || 1000000);\r\n case 'HEIGHT_DEPTH':\r\n return (height * depth) / (measureUnit.scale || 1000000);\r\n case 'WIDTH_DEPTH':\r\n return (width * depth) / (measureUnit.scale || 1000000);\r\n case 'PERIMETER':\r\n return 2 * (width + depth) / 1000;\r\n case 'WIDTH':\r\n return width / (measureUnit.dimension === 1 ? 1000 : 1);\r\n case 'HEIGHT':\r\n return height / (measureUnit.dimension === 1 ? 1000 : 1);\r\n case 'DEPTH':\r\n return depth / (measureUnit.dimension === 1 ? 1000 : 1);\r\n case 'CUSTOM_LENGTH':\r\n return (dto.customLength || width) / 1000;\r\n default:\r\n // 使用默认计算方法\r\n return this.calculateByUnitDefinition(measureUnit, width, height, depth, dto.customLength);\r\n }\r\n } else {\r\n // 使用默认计算方法\r\n return this.calculateByUnitDefinition(measureUnit, width, height, depth, dto.customLength);\r\n }\r\n } catch (error) {\r\n console.error('计算过程中出错:', error);\r\n return 1; // 出错时默认按件计算\r\n }\r\n }\r\n\r\n /**\r\n * 根据单位定义计算\r\n * @param {Object} measureUnit 计量单位对象\r\n * @param {number} width 宽度\r\n * @param {number} height 高度\r\n * @param {number} depth 深度\r\n * @param {number} customLength 自定义长度\r\n * @returns {number} 计算结果\r\n */\r\n static calculateByUnitDefinition(measureUnit, width, height, depth, customLength) {\r\n return measureUnit.getCount().apply({\r\n width,\r\n height,\r\n depth,\r\n customLength\r\n });\r\n }\r\n\r\n /**\r\n * 获取计量单位的信息,包括所需尺寸和可用计算方式\r\n * @param {string} measureUnit 计量单位名称\r\n * @returns {Object|null} 计量单位信息\r\n */\r\n static getMeasureUnitInfo(measureUnit) {\r\n // 查找计量单位\r\n const unitCode = Object.keys(this.ProductUnitMeasureEnum).find(unit => \r\n this.ProductUnitMeasureEnum[unit]?.label === measureUnit\r\n );\r\n \r\n if (!unitCode) {\r\n return null;\r\n }\r\n \r\n const unit = this.ProductUnitMeasureEnum[unitCode];\r\n \r\n // 确定可用的计算方法\r\n let methods = [];\r\n \r\n // 根据单位维度确定可用的计算方法\r\n if (unit.dimension === 2) {\r\n // 二维单位可以用width_height或width_depth或height_depth\r\n methods.push({\r\n key: 'WIDTH_HEIGHT',\r\n label: '宽度×高度',\r\n description: `${unit.label}宽×高计算方式`,\r\n requiredDimensions: ['width', 'height']\r\n });\r\n \r\n methods.push({\r\n key: 'WIDTH_DEPTH',\r\n label: '宽度×深度',\r\n description: `${unit.label}宽×深计算方式`,\r\n requiredDimensions: ['width', 'depth']\r\n });\r\n \r\n methods.push({\r\n key: 'HEIGHT_DEPTH',\r\n label: '高度×深度',\r\n description: `${unit.label}高×深计算方式`,\r\n requiredDimensions: ['height', 'depth']\r\n });\r\n } else if (unit.dimension === 1) {\r\n // 一维单位可以用width、height或depth\r\n methods.push({\r\n key: 'WIDTH',\r\n label: '宽度',\r\n description: `${unit.label}宽度计算方式`,\r\n requiredDimensions: ['width']\r\n });\r\n \r\n methods.push({\r\n key: 'HEIGHT',\r\n label: '高度',\r\n description: `${unit.label}高度计算方式`,\r\n requiredDimensions: ['height']\r\n });\r\n \r\n methods.push({\r\n key: 'DEPTH',\r\n label: '深度',\r\n description: `${unit.label}深度计算方式`,\r\n requiredDimensions: ['depth']\r\n });\r\n\r\n // 添加周长计算方法\r\n methods.push({\r\n key: 'PERIMETER',\r\n label: '周长',\r\n description: `${unit.label}周长计算方式`,\r\n requiredDimensions: ['width', 'depth']\r\n });\r\n }\r\n \r\n // 如果没有计算方法,添加默认计算方法\r\n if (methods.length === 0) {\r\n methods.push({\r\n key: 'DEFAULT',\r\n label: '标准计算',\r\n description: `标准${unit.label}计算方式`,\r\n requiredDimensions: unit.requiredDimensions\r\n });\r\n }\r\n \r\n // 确定默认计算方法\r\n let defaultMethod = 'DEFAULT';\r\n \r\n // 根据单位的维度确定默认方法\r\n if (unit.dimension === 2) {\r\n defaultMethod = 'WIDTH_HEIGHT';\r\n } else if (unit.dimension === 1) {\r\n defaultMethod = 'WIDTH';\r\n }\r\n \r\n return {\r\n name: unit.name,\r\n label: unit.label,\r\n simpleLabel: unit.simpleLabel,\r\n enName: unit.enName,\r\n dimension: unit.dimension,\r\n defaultMethod: defaultMethod,\r\n methods: methods,\r\n requiredDimensions: unit.requiredDimensions\r\n };\r\n }\r\n\r\n /**\r\n * 获取所有计量单位列表\r\n * @returns {Array} 计量单位列表\r\n */\r\n static getAllMeasureUnits() {\r\n return Object.entries(this.ProductUnitMeasureEnum)\r\n .filter(([key]) => typeof this.ProductUnitMeasureEnum[key] === 'object' && key !== 'getByName')\r\n .map(([code, unit]) => {\r\n // 获取单位信息\r\n const unitInfo = this.getMeasureUnitInfo(unit.label);\r\n \r\n return {\r\n name: unit.name,\r\n label: unit.label,\r\n enName: unit.enName,\r\n dimension: unit.dimension,\r\n defaultMethod: unitInfo?.defaultMethod || 'DEFAULT',\r\n methods: unitInfo?.methods || [{\r\n key: 'DEFAULT',\r\n label: '标准计算',\r\n description: `标准${unit.label}计算方式`,\r\n requiredDimensions: unit.requiredDimensions\r\n }],\r\n requiredDimensions: unit.requiredDimensions\r\n };\r\n });\r\n }\r\n\r\n /**\r\n * 根据配置计算尺寸\r\n * @param {Object} dto 计算参数对象\r\n * @returns {Object} 计算后的尺寸\r\n */\r\n static calculateSizeByConfig(dto) {\r\n // 创建一个尺寸对象,包含三个维度\r\n const size = {\r\n width: dto.width || 0,\r\n height: dto.height || 0,\r\n depth: dto.depth || 0\r\n };\r\n\r\n // 获取计算配额\r\n const quotaMap = this.getQuotaMapByDto(dto);\r\n\r\n // 分别计算三个维度\r\n if (quotaMap.WIDTH) {\r\n size.width = this.calculateValue(size.width, quotaMap.WIDTH);\r\n }\r\n\r\n if (quotaMap.HEIGHT) {\r\n size.height = this.calculateValue(size.height, quotaMap.HEIGHT);\r\n }\r\n\r\n if (quotaMap.DEPTH) {\r\n size.depth = this.calculateValue(size.depth, quotaMap.DEPTH);\r\n }\r\n\r\n return size;\r\n }\r\n\r\n /**\r\n * 获取计算规则配置\r\n * @param {Object} dto 计算参数对象\r\n * @returns {Object} 计算规则配置\r\n */\r\n static getQuotaMapByDto(dto) {\r\n // 返回默认规则\r\n return {\r\n 'WIDTH': { operatorType: 'NORMAL', addValue: 0, multipleValue: 1 },\r\n 'HEIGHT': { operatorType: 'NORMAL', addValue: 0, multipleValue: 1 },\r\n 'DEPTH': { operatorType: 'NORMAL', addValue: 0, multipleValue: 1 }\r\n };\r\n }\r\n\r\n /**\r\n * 根据计算规则处理值\r\n * @param {number} value 原始值\r\n * @param {Object} quota 计算规则\r\n * @returns {number} 计算后的值\r\n */\r\n static calculateValue(value, quota) {\r\n const { operatorType, addValue, multipleValue } = quota;\r\n let result = value;\r\n\r\n // 将字符串转换为数字\r\n const numAddValue = parseFloat(addValue || 0);\r\n const numMultipleValue = parseFloat(multipleValue || 1);\r\n\r\n // 根据操作类型进行计算\r\n switch (operatorType) {\r\n case this.ProductAttrQuotaOperatorTypeEnum.ADD_MULTIPLE:\r\n // 先加后乘\r\n result = (result + numAddValue) * numMultipleValue;\r\n break;\r\n case this.ProductAttrQuotaOperatorTypeEnum.MULTIPLE_ADD:\r\n // 先乘后加\r\n result = result * numMultipleValue + numAddValue;\r\n break;\r\n case this.ProductAttrQuotaOperatorTypeEnum.NORMAL:\r\n default:\r\n // 不做特殊处理\r\n break;\r\n }\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * 判断指定尺寸是否与计量单位计算相关\r\n * @param {string} measureUnit 计量单位名称\r\n * @param {string} dimension 尺寸名称 ('width'|'height'|'depth')\r\n * @param {string} [calculationMethod] 计算方法,如果指定则根据计算方法判断\r\n * @returns {boolean} 如果尺寸与计量相关则返回true,否则返回false\r\n */\r\n static isDimensionRequired(measureUnit, dimension, calculationMethod) {\r\n // 检查参数有效性\r\n if (!measureUnit || !dimension) {\r\n return false;\r\n }\r\n \r\n // 标准化尺寸名称\r\n const normalizedDimension = dimension.toLowerCase();\r\n if (!['width', 'height', 'depth'].includes(normalizedDimension)) {\r\n return false;\r\n }\r\n \r\n // 查找计量单位\r\n const unitCode = Object.keys(this.ProductUnitMeasureEnum)\r\n .filter(key => typeof this.ProductUnitMeasureEnum[key] === 'object' && key !== 'getByName')\r\n .find(unit => this.ProductUnitMeasureEnum[unit]?.label === measureUnit);\r\n \r\n if (!unitCode) {\r\n return false;\r\n }\r\n \r\n const unit = this.ProductUnitMeasureEnum[unitCode];\r\n \r\n // 如果指定了计算方法,根据计算方法判断\r\n if (calculationMethod) {\r\n switch (calculationMethod) {\r\n case 'WIDTH_HEIGHT':\r\n return normalizedDimension === 'width' || normalizedDimension === 'height';\r\n case 'WIDTH_DEPTH':\r\n return normalizedDimension === 'width' || normalizedDimension === 'depth';\r\n case 'HEIGHT_DEPTH':\r\n return normalizedDimension === 'height' || normalizedDimension === 'depth';\r\n case 'PERIMETER':\r\n return normalizedDimension === 'width' || normalizedDimension === 'depth';\r\n case 'WIDTH':\r\n return normalizedDimension === 'width';\r\n case 'HEIGHT':\r\n return normalizedDimension === 'height';\r\n case 'DEPTH':\r\n return normalizedDimension === 'depth';\r\n case 'CUSTOM_LENGTH':\r\n return normalizedDimension === 'width'; // 默认使用宽度作为自定义长度的备选\r\n default:\r\n // 使用单位定义的必需尺寸\r\n return unit.requiredDimensions.includes(normalizedDimension);\r\n }\r\n }\r\n \r\n // 如果没有指定计算方法,使用单位定义的必需尺寸\r\n return unit.requiredDimensions.includes(normalizedDimension);\r\n }\r\n\r\n /**\r\n * 判断计量单位是否与尺寸计算相关\r\n * @param {string} measureUnit 计量单位名称\r\n * @returns {boolean} 如果计量单位与尺寸计算相关则返回true,否则返回false\r\n */\r\n static isDimensionRelated(measureUnit) {\r\n // 检查参数有效性\r\n if (!measureUnit) {\r\n return false;\r\n }\r\n \r\n // 查找计量单位\r\n const unitCode = Object.keys(this.ProductUnitMeasureEnum)\r\n .filter(key => typeof this.ProductUnitMeasureEnum[key] === 'object' && key !== 'getByName')\r\n .find(unit => this.ProductUnitMeasureEnum[unit]?.label === measureUnit);\r\n \r\n if (!unitCode) {\r\n return false;\r\n }\r\n \r\n const unit = this.ProductUnitMeasureEnum[unitCode];\r\n \r\n // 如果单位维度大于0或者有必需尺寸,则与尺寸计算相关\r\n return unit.dimension > 0 || unit.requiredDimensions.length > 0;\r\n }\r\n}\r\n\r\nmodule.exports = ItemUnitMeasureCalculator; ","/**\r\n * 产品计量计算工具方法\r\n * 功能:根据产品尺寸(宽、高、深)和计量单位计算实际计量值\r\n */\r\n\r\nconst ItemUnitMeasureCalculator = require('./utils/MeasureCalculator')\r\nconst { formatDecimal } = require('../../../utils/common.util');\r\n\r\n/**\r\n * 参数验证函数\r\n * @param {Object} params - 请求参数\r\n * @throws {Error} 当参数验证失败时抛出\r\n */\r\nfunction validateParams(params) {\r\n const { measureUnit, width, height, depth } = params;\r\n const errors = [];\r\n\r\n // 验证计量单位\r\n if (!measureUnit) {\r\n errors.push('缺少必要参数:计量单位');\r\n } else if (typeof measureUnit !== 'string') {\r\n errors.push('计量单位必须是字符串');\r\n }\r\n\r\n // 验证宽度、高度、深度为数字或可转换为数字的值\r\n const dimensions = [\r\n { name: '宽度', value: width },\r\n { name: '高度', value: height },\r\n { name: '深度', value: depth }\r\n ];\r\n\r\n dimensions.forEach(dim => {\r\n if (dim.value !== null && dim.value !== undefined && dim.value !== '' && isNaN(Number(dim.value)) && !Array.isArray(dim.value)) {\r\n errors.push(`${dim.name}必须是数字或数组`);\r\n }\r\n \r\n if (Array.isArray(dim.value)) {\r\n const hasInvalidValue = dim.value.some(v => isNaN(Number(v)) || Number(v) < 0);\r\n if (hasInvalidValue) {\r\n errors.push(`${dim.name}数组中的值必须是大于等于0的数字`);\r\n }\r\n } else if (dim.value !== null && dim.value !== undefined && dim.value !== '' && Number(dim.value) < 0) {\r\n errors.push(`${dim.name}不能小于0`);\r\n }\r\n });\r\n\r\n if (errors.length > 0) {\r\n throw new Error(errors.join('; '));\r\n }\r\n}\r\n\r\n/**\r\n * 产品计量值计算工具函数\r\n * @param {Object} params - 计算参数对象\r\n * @param {string} params.measureUnit - 必填参数,计量单位\r\n * @param {number|Array|string} params.width - 宽度(mm)\r\n * @param {number|Array|string} params.height - 高度(mm)\r\n * @param {number|Array|string} params.depth - 深度(mm)\r\n * @param {string} [params.calculationMethod] - 计算方法,用于施工报价计量\r\n * @param {number} [params.customLength] - 自定义长度,用于特殊计算\r\n * @returns {Object} 返回计算结果\r\n * @throws {Error} 当参数验证失败或计算过程中出错时抛出\r\n */\r\nfunction calculateProductMeasure(params) {\r\n try {\r\n // 1. 参数验证\r\n if (!params.measureUnit) {\r\n return 0;\r\n }\r\n // 2. 执行计算\r\n const calculationResult = ItemUnitMeasureCalculator.findItemUnitMeasure({\r\n measureUnit: params.measureUnit,\r\n width: params.width || 0,\r\n height: params.height || 0,\r\n depth: params.depth || 0,\r\n calculationMethod: params.calculationMethod,\r\n customLength: params.customLength\r\n });\r\n\r\n // 3. 格式化结果\r\n const result = formatDecimal(calculationResult, 3) || 0;\r\n\r\n // 4. 返回计算计量值\r\n return result;\r\n } catch (error) {\r\n // 直接抛出错误,不再包装为特定响应结构\r\n throw error;\r\n }\r\n}\r\n\r\n/**\r\n * 获取计量单位的信息,包括所需尺寸和可用计算方式\r\n * @param {string} measureUnit - 计量单位名称\r\n * @returns {Object|null} 计量单位信息\r\n * @throws {Error} 当获取过程中出错时抛出\r\n */\r\nfunction getMeasureUnitInfo(measureUnit) {\r\n try {\r\n return ItemUnitMeasureCalculator.getMeasureUnitInfo(measureUnit);\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\n\r\n/**\r\n * 获取用量\r\n * @param {Object} params - 计算参数对象\r\n * @param {string} params.measureUnit - 必填参数,计量单位\r\n * @param {number|Array|string} params.width - 宽度(mm)\r\n * @param {number|Array|string} params.height - 高度(mm)\r\n * @param {number|Array|string} params.depth - 深度(mm)\r\n * @param {number} params.count - 数量\r\n * @param {string} [params.calculationMethod] - 计算方法,用于施工报价计量\r\n * @param {number} [params.customLength] - 自定义长度,用于特殊计算\r\n * @returns {Object} 返回计算结果\r\n * @throws {Error} 当参数验证失败或计算过程中出错时抛出\r\n */\r\nfunction getUsage(params) {\r\n try {\r\n const measure = formatDecimal(calculateProductMeasure(params) || '0', 6, true);\r\n return measure * params.count\r\n } catch (error) {\r\n throw error; \r\n }\r\n}\r\n\r\n/**\r\n * 获取所有计量单位列表\r\n * @returns {Array} 计量单位列表\r\n * @throws {Error} 当获取过程中出错时抛出\r\n */\r\nfunction getAllMeasureUnits() {\r\n try {\r\n return ItemUnitMeasureCalculator.getAllMeasureUnits();\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\n/**\r\n * 判断指定尺寸是否与计量单位计算相关\r\n * @param {string} measureUnit 计量单位名称\r\n * @param {string} dimension 尺寸名称 ('width'|'height'|'depth')\r\n * @param {string} [calculationMethod] 计算方法,如果指定则根据计算方法判断\r\n * @returns {boolean} 如果尺寸与计量相关则返回true,否则返回false\r\n * @throws {Error} 当判断过程中出错时抛出\r\n */\r\nfunction isDimensionRequired(measureUnit, dimension, calculationMethod) {\r\n try {\r\n return ItemUnitMeasureCalculator.isDimensionRequired(measureUnit, dimension, calculationMethod);\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\n/**\r\n * 判断计量单位是否与尺寸计算相关\r\n * @param {string} measureUnit 计量单位名称\r\n * @returns {boolean} 如果计量单位与尺寸计算相关则返回true,否则返回false\r\n * @throws {Error} 当判断过程中出错时抛出\r\n */\r\nfunction isDimensionRelated(measureUnit) {\r\n try {\r\n return ItemUnitMeasureCalculator.isDimensionRelated(measureUnit);\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\n/**\r\n * 获取产品计量单位枚举列表\r\n * @returns {Array} 返回格式为 [{ name: '件', code: 'PC' }] 的计量单位列表\r\n * @throws {Error} 当获取过程中出错时抛出\r\n */\r\nfunction getProductUnitMeasureEnum() {\r\n try {\r\n const enumObj = ItemUnitMeasureCalculator.ProductUnitMeasureEnum;\r\n const result = [];\r\n \r\n // 遍历枚举对象,过滤掉方法和非对象属性\r\n for (const key in enumObj) {\r\n if (typeof enumObj[key] === 'object' && enumObj[key] !== null && key !== 'getByName') {\r\n result.push({\r\n name: enumObj[key].label,\r\n code: enumObj[key].name\r\n });\r\n }\r\n }\r\n \r\n return result;\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\n// 导出工具函数\r\nmodule.exports = {\r\n getUsage,\r\n calculateProductMeasure,\r\n getMeasureUnitInfo,\r\n getAllMeasureUnits,\r\n isDimensionRequired,\r\n isDimensionRelated,\r\n getProductUnitMeasureEnum,\r\n ItemUnitMeasureCalculator\r\n}; ",null,null,null,null,null,null,null,null,null,null,null],"names":["solution_status","SOLUTION_ITEM_AUDIT_STATUS","design_type","CURRENCY_UNIT_ENUM","supply_mode","IM_GROUP_TYPE","RECOMMENDATION_TYPE_ENUM","pro_series_type_enum","sales_end_app_tag","solution_price_type","spatial_category","house_status","house_type","price_flag","rounding_rule","BUSINESS_SCOPE_ENUM","BUSINESS_WORK_PHASE_ENUM","CONTRACT_STATE_ENUM","AMOUNT_DECIMAL_VALUE_ENUM","AMOUNT_DECIMAL_TYPE_ENUM","SIGN_STYLE","MQ_RECEIPT_TYPE_ENUM","CUSTOMER_CLASSIFICATION_ENUM","assign_business_type","solution_status_options","name","value","DRAFT","ACTIVE","LOCKED","REVOKED","PRE_SIGNED","SIGNED","SIGNED_REVOKED","STAY_AUDIT","REJECTED","COMPLETED","design_type_options","BUDGET","MODEL_ROOM_EX","COMMUNITY_EX","ORDER","CONTRACT","SCALE","ABNORMAL_SOLUTION","order_status","order_status_options","NULLIFIED","OPEN","CURRENCY_UNIT_OPTIONS","CNY","USD","EUR","GBP","HKD","supply_mode_options","own_production","brand_agency","wholesale_procur","cross_border_pro","oem_contract","agency_purchase","behalf_purchase","IM_GROUP_TYPE_OPTION","INTERNAL","CUSTOMER","SHARE","DICTIONARY_IDENTIFY_ENUM","CUSTOMER_SOURCE_ENUM","DICTIONARY_CUSTOMER_SOURCE_OPTIONS","label","OTO_TOURIST_SOURCE","GROUP_OTO","TMALL","TENCENT_PLATFORM","DA_ZHONG_DIAN_PING","STORE_SALES","OFFICIAL_REGISTRATION","CITY_OTO","COMMUNITY_MARKETING_ACCOUNTS","MERCHANT_WE_MEDIA_REGISTRATION","PRIVATE_DOMAIN","CUSTOMER_RECOMMENDATION","ON_GOING_CUSTOMER_REFERRAL","OLD_CUSTOMER_REFERRAL","RECOMMENDED_BY_SEED_CUSTOMER","MALL_TRAFFIC_FLOW","NATURAL_TRAFFIC","EVENT_TRAFFIC","ADVERTISING_TRAFFIC","SOCIAL_COMMUNITY_CUSTOMER","SELF_BUILT_COMMUNITY","SELF_BUILT_EVENT_COMMUNITY","MALL_MARKETING_COMMUNITY","ALLIANCE_COOPERATION","INTERIOR_DESIGNER_COLLABORATION","FRACTURED_CUSTOMER_REFERRAL","HOME_IMPROVEMENT_COMPANY_COLLABORATION","MAIN_MATERIAL_MERCHANT_COLLABORATION","MAIN_MATERIAL_SALES_COLLABORATION","NON_INDUSTRY_ALLIANCE","DEVELOPER_COLLABORATION","PROPERTY_COLLABORATION","MALL_COLLABORATION","BANK_COOPERATION","EMPLOYEE_REFERRAL","BE_ON_THE_JOB_EMPLOYEE_REFERRAL","EARLY_EMPLOYEE_REFERRAL","OTHER_SOURCE","SCAN_EMPLOYEE_QR_CODE","PROCESS_STAGE_ENUM","DICTIONARY_PROCESS_STAGE_OPTIONS","INFORMATION","CUSTOMER_SOURCE","LINK_IN_TRANSIT","MEETING_IN_TRANSIT","INTENTION_IN_TRANSIT","ORDER_FORM","ASSIGN_DESIGNER","MEASURE_IN_TRANSIT","SOLUTION_QUOTATION","CONTRACT_IN_TRANSIT","COMPOUND_RULER","PURCHASE_IN_TRANSIT","PRODUCTION","LOGISTICS_IN_TRANSIT","STORAGE_IN_TRANSIT","INSTALL_IN_TRANSIT","DELIVER_IN_TRANSIT","OLD_CUSTOMER","CUSTOMER_LABEL_ENUM","DICTIONARY_CUSTOMER_LABEL_OPTIONS","UNGROUPED","DICTIONARY_BUSINESS_SCOPE_OPTIONS","SELF_OPERATED_PRODUCT","AGENCY_PURCHASE_SALES","INTERIOR_DESIGN","ENGINEERING_CONSTRUCTION","DICTIONARY_BUSINESS_WORK_PHASE_OPTIONS","MARKETING","SALES","DESIGN","INSTALLATION","AFTER_SALES","CONSTRUCTION","DICTIONARY_CUSTOMER_CLASSIFICATION_OPTIONS","PASSERBY","FRACTURED_CUSTOMER","OTO_ASSIGNMENT","ON_THE_WAY_CUSTOMER","KEY_FOCUS","DICTIONARY_ATTRIBUTE_OPTIONS_MAP","PROCESS_STAGE","CUSTOMER_LABEL","BUSINESS_SCOPE","BUSINESS_WORK_PHASE","CUSTOMER_CLASSIFICATION","DICTIONARY_IDENTIFY_OPTIONS","POSITION","BEDROOM","DELIVERY_TIME_OPTION","HOUSE_INFORMATION","HOUSE_SQUARE_METERS","PROJECT_CLASSIFICATION","PROJECT_TYPE","PROJECT_SOLUTION","PROJECT_TAG","PROJECT_TEMPLATE_LEVEL","PROJECT_WORK_ITEM","BUILDING_DEVELOPER","recommendation_type_options","DESIGN_ALLIANCE","DIFFERENT_DESIGN_ALLIANCE","EMPLOYEE_RECOMMENDATION","WECHAT_GROUPS","pro_series_type_options","SERIES","STYLE","spatial_category_options","KITCHEN","LIVING_ROOM","RESTAURANT","MASTER_BEDROOM","SECOND_BEDROOM","CLOAKROOM","YOUNGSTER_ROOM","STUDY","MASTER_BATHROOM","SECOND_BATHROOM","HALLWAY","BALCONY","STOREROOM","OTHER_SPACE","house_status_options","DELIVERED_HOUSE","UNDEVELOPED_HOUSE","UNCERTAIN_DELIVERY","house_type_options","LUXURY_HOUSE","BARE_SHELL_HOUSE","SECOND_HAND_HOUSE","UNDETERMINED","ListType","price_flag_options","stdConf","gift","present","package","positive","specialPrice","fixPrice","returnedPurchase","refund","sample","returning_inventory","backup_warehouse","sec_kill_product","activity_product","product_stock","PRICE_FLAG_LIST_TYPE_MAP","QUOTATION_SOLUTION","getPriceFlagOptionsByListType","listType","availableFlags","length","filter","option","includes","rounding_rule_options","SINGLE_ROUND","SINGLE_SET_EIGHT","SINGLE_SET_NINE","SINGLE_SET_TEN","SINGLE_PLUS_ONE","TEN_PLUS_ONE","SINGLE_TEN_PLUS_ONE","assign_business_type_options","ESTATE","AMOUNT_DECIMAL_VALUE_OPTIONS","AMOUNT_KEEP_1_DECIMAL_PLACE","AMOUNT_KEEP_2_DECIMAL_PLACE","AMOUNT_KEEP_3_DECIMAL_PLACE","AMOUNT_KEEP_4_DECIMAL_PLACE","CONTRACT_STATUS_OPTIONS","VOIDED","SIGN_STAY_FOR_ME","SIGN_STAY_CUSTOMER","STAY_REPORTED","UNDER_REVIEW","STAY_SCALE","STAY_SCALE_REPORTED","SCALE_UNDER_REVIEW","SCALE_REJECTED","SCALE_COMPLETED","SIGN_STYLE_OPTIONS","ONLINE_SIGN","PRINT_SIGN","SALES_END_APP_TAG_OPTIONS","STANDARD_RETAIL","ACTUAL_RETAIL","SETTLEMENT_PRICE","EXCLUSIVE_PACKAGE_PRICE","ProductUnitMeasure","ProductUnitMeasureCN","PRODUCT_UNIT_MEASURE","code","PC","english","EA","SET","BAN","SAG","VOL","BOX","PAIL","CAN","TAI","CAR","PAK","STP","ZHI","ZII","SLC","BLK","ZHG","PAL","GEN","FAN","REEL","PAIR","GROUP","STEP","M","LM","H2W1","MM","INC","M2","PM2","FM2","M3","L","ML","KG","TON","WORKLOAD","PRODUCT_UNIT_MEASURE_OPTIONS","map","item","formatDecimal","decimalPlaces","undefined","places","Math","max","floor","factor","pow","round","calcStandardPrice","children","totalChildrenPrice","forEach","childItem","calcActualPrice","count","measure","unitPrice","priceFlag","safeMeasure","safeCount","safePrice","safeCoefficient","productCoefficient","priceFlagEnum","standardAmount","result","itemDiscount","abs","calcTaxAmount","safeRate","taxRate","actualPrice","managementFeeAmount","managementFeeRate","generateUUID","replace","c","r","random","toString","generateRandomId","chars","i","formatNumberWithCommas","valueStr","trim","number","parseFloat","isNaN","parts","split","integerPart","decimalPart","formattedInteger","findOptionByValue","options","valueField","strictOrField","Array","isArray","strict","field","find","getFileExtension","filename","_a","pop","toLowerCase","formatChineseMobile","phone","digits","test","slice","decimals","parseNumber","num","Number","toFixed","applyAmountDecimal","decimalType","fixed","AMOUNT_DO_NOT_RETAIN_DECIMALS","PRODUCT_CATEGORIES","WALLBOARD","VENEER","FULL_LENGTH_MIRROR","STAY_WIRE","PASS","COSTS","GAS_PIPE","SOFT_BED","DCJGF","WAT","WAT_THERMAL_SOUND","parentKey","WAT_SUPPLY","WAT_DRAINAGE","DESIGN_COSTS","DECORATIVE_LIGHTS","CLOS_PLATE","SKELETON_ARRANGEMENT","ACCESSORIES","WATER_TREATMENT","GUIDAO","ELEC","CIRCULAR_TABLE","DECORATIVE_PARTS","RUBBER_STRIP","PLUG","DECORATIVE_COLUMN","COVER_PLATE","DECORATIVE_PLATE","OTHER_ACCESSORIES","LMLJGF","WAIST_LINE","BAR_CHAIR","STRUCTURE_PROFILES","REMOTE_CONTROL","WALLPAPER","COLUMN","LATEX_PAINT","GIFTS","SLATE","BAR_COUNTER","STORAGE","PLATFORM","SUSPENDED_CEILING","BACK_SEVERAL","WALL_PANEL_FRAME","RATE_COUPON","CEMENT_MORTAR","DECORATIVE_PART","HANGING_CODE","SKIRTING_BOARD","WINDOW_CURTAINS","SHAD_CLOTH","SOFT_COVER","DECORATIVE_STONE","MESA","FUNCTIONAL_PART","CORE_BOARD","TABLE","CREATE","CREATE_LIGHT_STEEL_JOIST_WALL","CREATE_WALL","INSTALL","LIGHT_FIX_INSTALL","STONE_INSTALL","DRILL_HOLE_INSTALL","SANITARY_WARE_INSTALL","CPL","INTELLIGENCE_ELECTRICAL","DISHWASHER","STERILIZER","AGITATOR","STOVE","PURIFIER","RADIANT_COOKER","DRYER","HEATER","DISINFECTION_CABINET","WASHING_MACHINE","INTELLIGENT_PLUG_IN","MICROWAVE_OVEN","SMOKE_MACHINE","ADDTIONAL","SMART_TRASH_CAN","SLAG_CRUSHER","WATER_PURIFIER","TRANSFORMER","INTELLIGENCE_ELECTRICAL_APPARATUS","ELECTRIC_OVEN","GAS_STOVE","ELECTRIC_STEAMER","PROXYELE","LAMPS_AND_LANTERNS","QIANXIAN","LOUNGE_CHAIR","JEWELRY_HANGER","DRESS_STOOL","CLOTH","SCJGF","WALL","WALL_WOOD_BASE","WALL_SUPPORT","WALL_DECORATE","WALL_TIL","DINGING_CHAIR","CASH_COUPON","OTHER","CABINET_PANEL","SPLIT_HALL_CABINET","SHOE_CABINET","CUSTOMIZED_UNIT","HANG_GRID","WOODINESS_CD","BOOKCASE","BOX_STRUCTURE","WINE_GRID","TIE_GRID","GEO_GRID","BATHROOM_CABINET","SIDE_CABINET","SEMI_HIGH_LATTICE","DRAWER_CABINET","CYLINDER_CABINET","HALF_HEIGHT_CABINET","DECORATIVE_CABINET","KEYBOARD_HOLDER","DISPLAY_CABINET","SLIDE_DOOR_CABINET","ELEVATED_CABINET","BALCONY_CABINET","CELLS","SHOE_HAT_CABINET","WALL_CABINET","SHIRT_PALLET","WARDROBE","GRIDBOARD","TV_CABINET","WALL_MOUNTED_WARDROBE","HALL_CABINET","BEDSIDE","CONSOLE_CABINET","BED_CABINET","BOARD","BOX_BOARD","BEAR_BOARD","SIDE_BOARD","VERTICAL_SUPPORT_BOARD","TOP_BOARD","INCLINED_LAYER_BOARD","CONNECTING_BOARD","BOTTOM_BOARD","SHELF_BOARD","T_FIXTURE_BOARD","L_FIXTURE_BOARD","MID_VERTICAL_BOARD","DIVIDING_INTI_GRIDS","CABINET_IN_CABINET","SHOE_BOX","FIXTURE","ISLAND_PLATFORM","CYLINDER_CABINET_HIGH_LATTICE","CABINET_STYLE_WARDROBE","MIRROR_CABINET","COLUMN_WARDROBE","STORAGE_CABINET","WATER_BASIN_CABINET","FLOOR_CABINET","INSERT_GRID","BASE_GRID","BACKGROUND_PLATE","INSERT_UNIT","WINE_CABINET","TABLEWARE","WINE_GRILLE_HOLDER","OPEN_LATTICE","CORNER_TABLE","SHOE_RACK","BOOKSHELF","ELE","ELE_WEAK_GALVANIZED","ELE_SPECIALIZED_FURNISH","ELE_PVC_PIPE","ELE_WEAK_WIRE","ELE_ASSISTANCE","ELE_WIRE","WAT_SLOTTING","ELE_GALVANIZED","ELE_WEAK_BOX","ELE_WEAK_PVC_PIPE","COMMODE","UNIT_CABINET_PANEL","LOCK_SET","YARN_MANTLE","SPECIAL","SIDE_TABLE","FUNCTIONAL_HARDWARE","COOKER","BOTTLE_OPENER","HANDLES","DRAWER","LIGHT_BELT","HANGER_ROD","DAMPER","OTHER_HARDWARE","COUPLE","CAN_OPENER","HARDWARE_ACCESSORIES","WATERPROOF_PARTS","FAUCET","SLIDE_DOOR_HARDWARE","STOP","SWITCH","COAT_HANGER","HINGE","COUPLING_HEAD","INTELLIGENCE_HARDWARE","SLIDE_RAIL","WATER_BASIN","PULL_BASKET","FLOODLIGHT","CLOTHES_RAIL","REBOUND_DEVICE","BRACE","DISC_EXTRACTOR","SLIDE_DOOR","SCREEN","BENCH","PARAPET_WALL_BOARD","OFFICE_CHAIR","QIANGGOU","RIBBON_CLOTH","SANITARY_WARE","TRAY","PROTECT","MATERIAL_HAND_PROTECT","GARBAGE_DISPOSAL_PROTECT","LONG_RANGE_PROTECT","LOFT_PROTECT","N_SPECIAL","LB","QIANPIAN","DRESSER","ACTIVITY","TEA_TABLE","DECORATIVE_LINE","CARPET","HALF_PASS","CHAIR","CERAMICTILE","ELECTRIC_MODULE","DOOR_BOARD","FITTED_SHEET","BED","Fabric","CURTAIN_CLOTH","SOFA","BASIN","BATHROOM_MIRROR","CUSHION","DECORATIVE_LACE_YARN_MANTLE","FOLDING_SCREEN","MATTRESS","DESK","TJX","REMOVE","REMOVE_GROUND","REMOVE_WALL","REMOVE_SUSPEND_CEIL","REMOVE_METOPE","REMOVE_NEW_WORK_ITEM","GROUND","GROUND_TIL","GROUND_WOOD","GROUND_POINT","GROUND_HANDLE","ADJUSTING_PLATE","CUSTOM_PARTS","CORNET","SOFA_ROLL","TECHNOLOGY","BUILD_WALLS","PAINT","LI_XIE_QI","MORTAR_MIX","DOOR_LINTEL","PLANT_TENDONS","PRE_ARRANGED_POSIT","AN_DI_LIANG","SPREAD","REINFORCEMENT_COMPONENTS","TOP","TOP_LINE","TUYERE","SUSPENDED_SUPPORT","PLATFOND_WATER_RESISTANCE","PLATFOND","PELMET","PULLEY","PENDANT","YANGPIN","BRICK","INNER_DOOR","DOOR_LOCK","DOOR_HEADER","DOOR_JAMB","DOOR_STOPPER","DOOR_LEAF","UPGRADE_COSTS","STRUCTURAL_COMPONENTS","ALUMINUM_WIRE_CONNECTOR","OUTRIGGER","ALLOY_CLIP","LAMINATE_SUPPORT","EXPANSION_SCREW","WALL_HANGING_SUPPORT","ALUMINUM_PROFILE_COMPONENTS","STRUCTURAL_ADHESIVE","GRILLE","CIVIL_ENGINEERING","CIVIL_ENGINEERING_CREATE","CIVIL_ENGINEERING_REMOVE","WATERPROOF_BOARD","BATHTUB","ALUMINUM_FRAME","PORCH","ACCESSORIES_YARN_MANTLE","BANDING","NON_SLIP_MAT","DRESS_UNIT","FLOOR","CUSTOMIZED_TABLE_RACK","FITT","getGroupTypeByKey","groupTypeKey","groupCategoryMap","findCategoryByKey","categoryKey","categories","key","category","childCategory","MeasureCalculator","static","simpleLabel","enName","dimension","scale","requiredDimensions","getCount","apply","countParam","CELL","width","height","depth","getByName","this","NORMAL","ADD_MULTIPLE","MULTIPLE_ADD","findItemUnitMeasure","dto","calculateSizeByConfig","unitCode","Object","keys","ProductUnitMeasureEnum","unit","measureUnit","console","warn","calculationMethod","calculateByUnitDefinition","customLength","error","getMeasureUnitInfo","methods","push","description","defaultMethod","getAllMeasureUnits","entries","unitInfo","size","quotaMap","getQuotaMapByDto","WIDTH","calculateValue","HEIGHT","DEPTH","operatorType","addValue","multipleValue","quota","numAddValue","numMultipleValue","ProductAttrQuotaOperatorTypeEnum","isDimensionRequired","normalizedDimension","isDimensionRelated","ItemUnitMeasureCalculator","require$$0","require$$1","calculateProductMeasure","params","calculationResult","getUsage","getProductUnitMeasureEnum","enumObj","CUSTOM_FURNITURE","editSections","order","categoryCode","skuAttriCode","expand","attributes","type","required","dependency","isMainProduct","baseAttribute","min","default","labelKey","TOTAL_CUPBOARD","FINISHED_CABINET","FINISHED_PRODUCT","viewSettingBuilder","setting","rest","log","viewSetting","JSON","stringify","index","replaceTemplate","repeat","replaceAll","parse","PRIVILEGE_STATE_ENUM","PRIVILEGE_STATUS_OPTIONS","TO_BE_REVIEW","APPROVED","CONTRACT_CANCEL_TYPE","PLACE_ORDER_TYPE_ENUM","CONSUMER_GROUP_ENUM","constructor","config","uuid","productId","supplyPrice","productPriceId","spuName","unitLabel","spuId","brandId","brandName","classifyId","classifyName","classifyCode","model","supplyMode","outlineDemension","categoryName","parentCategoryCode","parentCategoryName","styleId","styleName","roomName","roomCode","schemeName","groupName","groupCode","originWidth","originHeight","originDepth","skuAttributes","moveDirection","location","crimpRatio","openWidth","measureCalcParams","isExclusivePackage","standardPrice","taxFeePrice","dosage","remark","taxAmount","managementFee","picture","components","assign","itemId","enableTaxRate","enableManagementFeeRate","rowData","viewType","classifyRoomGroupMap","classifyInfo","icon","matchUnit","classifyType","productCategoryMap","roomOptions","classifyMap","roomGroups","roomGroup","room","parentCode","parentName","parentSort","roomSort","targetRoom","child","sort","groupsData","groups","groupInfo","productCategoriesData","productCategories","groupSort","productCategory","mainCategoryCode","availableGroups","Set","add","bestMatchGroupKey","mainCategoryMatchGroupKey","mainCategoryMatches","mcCode","mainCategory","some","toUpperCase","productCategoryMatches","groupTypesMap","actualProductCategory","groupType","mainCategoryObj","roomType","rg","categoryPriceUnit","priceUnit","excludeCategoryPriceUnit","excludePriceUnit","productCategoryKey","values","a","b","flag"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/enums/solution-status.enum.ts","../src/enums/solution-item-audit-status.enum.ts","../src/enums/design-type.enum.ts","../src/enums/currency-unit.enum.ts","../src/enums/supply-mode.enum.ts","../src/enums/im_group_type.enum.ts","../src/enums/recommendation-type.enum.ts","../src/enums/pro_series_type.enum.ts","../src/enums/sales_end_app_tag.enum.ts","../src/enums/solution_price_type.enum.ts","../src/enums/spatial-category.enum.ts","../src/enums/house-status.enum.ts","../src/enums/house-type.enum.ts","../src/enums/price-flag.enum.ts","../src/enums/rounding-rule.enum.ts","../src/enums/business-scope.enum.ts","../src/enums/business-work-phase.enum.ts","../src/enums/contract-state.enum.ts","../src/enums/amount-decimal-value.enum.ts","../src/enums/amount-decimal-type.enum.ts","../src/enums/sign-style.enum.ts","../src/enums/mq-receipt-type-enum.ts","../src/enums/customer-classification.enum.ts","../src/enums/assign-business-type.enum.ts","../src/enums/index.ts","../src/constants/solution-status-options.constant.ts","../src/constants/design-type-options.constant.ts","../src/enums/order-status.enum.ts","../src/constants/order-status-options.constant.ts","../src/constants/currency-unit-options.constant.ts","../src/constants/supply-mode-options.constant.ts","../src/constants/im-group-type-options.constants.ts","../src/enums/dictionary-identify.enum.ts","../src/enums/customer-source.enum.ts","../src/constants/dictionary-customer-source-options.constant.ts","../src/enums/process-stage.enum.ts","../src/constants/dictionary-process-stage-options.constant.ts","../src/enums/customer-label.enum.ts","../src/constants/dictionary-customer-label-options.constant.ts","../src/constants/dictionary-business-scope-options.constant.ts","../src/constants/dictionary-business-work-phase-options.constant.ts","../src/constants/dictionary-customer-classification-options.constant.ts","../src/constants/dictionary-media-channel-options.constant.ts","../src/constants/dictionary-attribute-options.constant.ts","../src/constants/dictionary-identify-options.constant.ts","../src/constants/recommendation-type-options.constant.ts","../src/constants/pro_series_type_enum.constant.ts","../src/constants/spatial-category-options.constant.ts","../src/constants/house-status-options.constant.ts","../src/constants/house-type-options.constant.ts","../src/constants/price-flag-options.constant.ts","../src/constants/rounding-rule-options.constant.ts","../src/constants/assign-business-type-options.constant.ts","../src/constants/amount-decimal-value-constant.ts","../src/constants/contract-status-options.constant.ts","../src/constants/sign-style-options.constant.ts","../src/constants/sales-end-app-tag.constant.ts","../src/enums/product-unit-measure.enum.ts","../src/constants/product-unit-measure.constant.ts","../src/utils/solution.util.ts","../src/utils/common.util.ts","../src/modules/solution/productCategories.ts","../src/modules/solution/groupTypes.ts","../src/modules/solution/measure/utils/MeasureCalculator.js","../src/modules/solution/measure/index.js","../src/modules/solution/categoryFormMap.ts","../src/enums/privilege-status.enum.ts","../src/constants/privilege-status-options.constant.ts","../src/enums/contract-cancel-type.enum.ts","../src/enums/place-order-type.enum.ts","../src/enums/mq-consumer-group-enum.ts","../src/modules/solution/models/QuotationItem.ts","../src/constants/index.ts","../src/interfaces/index.ts","../src/modules/solution/dosage/index.ts","../src/modules/solution/classifyRoomGroupMap.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"/**\r\n * 产品单元计量计算工具\r\n * 用于根据产品尺寸(宽、高、深)和计量单位计算实际计量值\r\n */\r\nclass ItemUnitMeasureCalculator {\r\n /**\r\n * 计量单位枚举\r\n */\r\n static ProductUnitMeasureEnum = {\r\n // 计件类单位\r\n PC: {\r\n name: 'PC',\r\n label: '件',\r\n simpleLabel: '件',\r\n enName: 'Place',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n EA: {\r\n name: 'EA',\r\n label: '个',\r\n simpleLabel: '个',\r\n enName: 'Each',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n CELL: {\r\n name: 'CELL',\r\n label: '节',\r\n simpleLabel: '节',\r\n enName: 'cELL',\r\n dimension: 0,\r\n scale: 1,\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n SET: {\r\n name: 'SET',\r\n label: '套',\r\n simpleLabel: '套',\r\n enName: 'Set',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n BAN: {\r\n name: 'BAN',\r\n label: '把',\r\n simpleLabel: '把',\r\n enName: 'Ban',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n SAG: {\r\n name: 'SAG',\r\n label: '袋',\r\n simpleLabel: '袋',\r\n enName: 'Bag',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n VOL: {\r\n name: 'VOL',\r\n label: '本',\r\n simpleLabel: '本',\r\n enName: 'Volume',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n BOX: {\r\n name: 'BOX',\r\n label: '箱',\r\n simpleLabel: '箱',\r\n enName: 'Boxful',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n PAIL: {\r\n name: 'PAIL',\r\n label: '桶',\r\n simpleLabel: '桶',\r\n enName: 'Pail',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n CAN: {\r\n name: 'CAN',\r\n label: '罐',\r\n simpleLabel: '罐',\r\n enName: 'Can',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n TAI: {\r\n name: 'TAI',\r\n label: '台',\r\n simpleLabel: '台',\r\n enName: 'Tai',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n CAR: {\r\n name: 'CAR',\r\n label: '盒',\r\n simpleLabel: '盒',\r\n enName: 'Carton',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n PAK: {\r\n name: 'PAK',\r\n label: '包',\r\n simpleLabel: '包',\r\n enName: 'Package',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n STP: {\r\n name: 'STP',\r\n label: '条',\r\n simpleLabel: '条',\r\n enName: 'Strip',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n ZHI: {\r\n name: 'ZHI',\r\n label: '只',\r\n simpleLabel: '只',\r\n enName: 'Zhi',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n ZII: {\r\n name: 'ZII',\r\n label: '支',\r\n simpleLabel: '支',\r\n enName: 'Zii',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n SLC: {\r\n name: 'SLC',\r\n label: '片',\r\n simpleLabel: '片',\r\n enName: 'Slice',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n BLK: {\r\n name: 'BLK',\r\n label: '块',\r\n simpleLabel: '块',\r\n enName: 'Block',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n ZHG: {\r\n name: 'ZHG',\r\n label: '张',\r\n simpleLabel: '张',\r\n enName: 'Zhang',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n PAL: {\r\n name: 'PAL',\r\n label: '货盘',\r\n simpleLabel: '货盘',\r\n enName: 'Pallet',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n GEN: {\r\n name: 'GEN',\r\n label: '根',\r\n simpleLabel: '根',\r\n enName: 'Gen',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n FAN: {\r\n name: 'FAN',\r\n label: '扇',\r\n simpleLabel: '扇',\r\n enName: 'Fan',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n REEL: {\r\n name: 'REEL',\r\n label: '卷',\r\n simpleLabel: '卷',\r\n enName: 'Reel',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n PAIR: {\r\n name: 'PAIR',\r\n label: '副',\r\n simpleLabel: '副',\r\n enName: 'Pair',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n GROUP: {\r\n name: 'GROUP',\r\n label: '组',\r\n simpleLabel: '组',\r\n enName: 'Group',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n STEP: {\r\n name: 'STEP',\r\n label: '步',\r\n simpleLabel: '步',\r\n enName: 'Step',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n \r\n // 长度类单位\r\n M: {\r\n name: 'M',\r\n label: '米',\r\n simpleLabel: '米',\r\n enName: 'Metre',\r\n dimension: 1,\r\n scale: 1000,\r\n requiredDimensions: ['width'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width } = countParam;\r\n return width / 1000; // 毫米转米\r\n }\r\n })\r\n },\r\n LM: {\r\n name: 'LM',\r\n label: '延米',\r\n simpleLabel: '延米',\r\n enName: 'LinearMeter',\r\n dimension: 1,\r\n scale: 1000,\r\n requiredDimensions: ['width'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width } = countParam;\r\n return width / 1000; // 毫米转米\r\n }\r\n })\r\n },\r\n H2W1: {\r\n name: 'H2W1',\r\n label: '门套延米',\r\n simpleLabel: 'tm',\r\n enName: 'Tow',\r\n dimension: 1,\r\n scale: 1000,\r\n requiredDimensions: ['width', 'height'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width, height } = countParam;\r\n return (2 * height + width) / 1000; // 毫米转米\r\n }\r\n })\r\n },\r\n MM: {\r\n name: 'MM',\r\n label: '毫米',\r\n simpleLabel: '毫米',\r\n enName: 'MilliMetre',\r\n dimension: 1,\r\n scale: 10,\r\n requiredDimensions: ['width'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width } = countParam;\r\n return width; // 直接返回毫米值\r\n }\r\n })\r\n },\r\n INC: {\r\n name: 'INC',\r\n label: '英寸',\r\n simpleLabel: '英寸',\r\n enName: 'Inch',\r\n dimension: 1,\r\n scale: 304,\r\n requiredDimensions: ['width'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width } = countParam;\r\n return width / 25.4; // 毫米转英寸\r\n }\r\n })\r\n },\r\n \r\n // 面积类单位\r\n M2: {\r\n name: 'M2',\r\n label: '平米',\r\n simpleLabel: '㎡',\r\n enName: 'SquareMetre',\r\n dimension: 2,\r\n scale: 1000000,\r\n requiredDimensions: ['width', 'height'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width, height } = countParam;\r\n return (width * height) / 1000000; // 毫米²转平米\r\n }\r\n })\r\n },\r\n PM2: {\r\n name: 'PM2',\r\n label: '投影平米',\r\n simpleLabel: 'pm²',\r\n enName: 'ProjectionSquareMetre',\r\n dimension: 2,\r\n scale: 1000000,\r\n requiredDimensions: ['width', 'height'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width, height } = countParam;\r\n return (width * height) / 1000000; // 毫米²转平米\r\n }\r\n })\r\n },\r\n FM2: {\r\n name: 'FM2',\r\n label: '立面平米',\r\n simpleLabel: 'fm²',\r\n enName: 'FacadeSquareMetre',\r\n dimension: 2,\r\n scale: 1000000,\r\n requiredDimensions: ['width', 'height'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width, height } = countParam;\r\n return (width * height) / 1000000; // 毫米²转平米\r\n }\r\n })\r\n },\r\n \r\n // 体积类单位\r\n M3: {\r\n name: 'M3',\r\n label: '立方米',\r\n simpleLabel: 'm²',\r\n enName: 'CubicMetre',\r\n dimension: 3,\r\n scale: 1000000000,\r\n requiredDimensions: ['width', 'height', 'depth'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width, height, depth } = countParam;\r\n return (width * height * depth) / 1000000000; // 毫米³转立方米\r\n }\r\n })\r\n },\r\n L: {\r\n name: 'L',\r\n label: '公升',\r\n simpleLabel: '公升',\r\n enName: 'Liter',\r\n dimension: 3,\r\n scale: 1000000000,\r\n requiredDimensions: ['width', 'height', 'depth'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width, height, depth } = countParam;\r\n return (width * height * depth) / 1000000; // 毫米³转升(1升=1000cm³)\r\n }\r\n })\r\n },\r\n ML: {\r\n name: 'ML',\r\n label: '毫升',\r\n simpleLabel: '毫升',\r\n enName: 'MilliLiter',\r\n dimension: 3,\r\n scale: 1000000000,\r\n requiredDimensions: ['width', 'height', 'depth'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width, height, depth } = countParam;\r\n return (width * height * depth) / 1000; // 毫米³转毫升(1毫升=1cm³)\r\n }\r\n })\r\n },\r\n \r\n // 重量类单位\r\n KG: {\r\n name: 'KG',\r\n label: '千克',\r\n simpleLabel: 'kg',\r\n enName: 'Kilogram',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1 // 默认1kg\r\n })\r\n },\r\n TON: {\r\n name: 'TON',\r\n label: '吨',\r\n simpleLabel: 't',\r\n enName: 'Ton',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1 // 默认1吨\r\n })\r\n },\r\n \r\n // 其他类型\r\n WORKLOAD: {\r\n name: 'WORKLOAD',\r\n label: '工作量',\r\n simpleLabel: '工作量',\r\n enName: 'workload',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n \r\n // 根据名称获取枚举\r\n getByName: function(name) {\r\n if (!name) return null;\r\n for (const key in this) {\r\n if (this[key] && this[key].name === name) {\r\n return this[key];\r\n }\r\n }\r\n return null;\r\n }\r\n };\r\n\r\n /**\r\n * 计算规则操作类型枚举\r\n */\r\n static ProductAttrQuotaOperatorTypeEnum = {\r\n NORMAL: 'NORMAL', // 正常值(不做任何处理)\r\n ADD_MULTIPLE: 'ADD_MULTIPLE', // 先加后乘\r\n MULTIPLE_ADD: 'MULTIPLE_ADD' // 先乘后加\r\n };\r\n\r\n /**\r\n * 查找计量单位并计算\r\n * @param {Object} dto 计算参数对象\r\n * @param {string} dto.measureUnit 计量单位\r\n * @param {number} dto.width 宽度(mm)\r\n * @param {number} dto.height 高度(mm)\r\n * @param {number} dto.depth 深度(mm)\r\n * @param {string} [dto.calculationMethod] 计算方法\r\n * @param {number} [dto.customLength] 自定义长度,用于特殊计算\r\n * @returns {number} 计算结果\r\n */\r\n static findItemUnitMeasure(dto) {\r\n // 处理尺寸\r\n const { width, height, depth } = this.calculateSizeByConfig(dto);\r\n\r\n // 更新DTO中的尺寸\r\n dto.width = width;\r\n dto.height = height;\r\n dto.depth = depth;\r\n\r\n // 查找计量单位\r\n const unitCode = Object.keys(this.ProductUnitMeasureEnum)\r\n .filter(key => typeof this.ProductUnitMeasureEnum[key] === 'object' && key !== 'getByName')\r\n .find(unit => this.ProductUnitMeasureEnum[unit]?.label === dto.measureUnit);\r\n \r\n if (!unitCode) {\r\n console.warn(`未找到计量单位 ${dto.measureUnit} 的处理方法`);\r\n return 1; // 默认按件计算\r\n }\r\n\r\n const measureUnit = this.ProductUnitMeasureEnum[unitCode];\r\n \r\n // 执行计算\r\n try {\r\n // 根据计算方法确定使用哪种计算方式\r\n if (dto.calculationMethod) {\r\n // 如果指定了计算方法,根据方法计算\r\n switch (dto.calculationMethod) {\r\n case 'WIDTH_HEIGHT':\r\n return (width * height) / (measureUnit.scale || 1000000);\r\n case 'HEIGHT_DEPTH':\r\n return (height * depth) / (measureUnit.scale || 1000000);\r\n case 'WIDTH_DEPTH':\r\n return (width * depth) / (measureUnit.scale || 1000000);\r\n case 'PERIMETER':\r\n return 2 * (width + depth) / 1000;\r\n case 'WIDTH':\r\n return width / (measureUnit.dimension === 1 ? 1000 : 1);\r\n case 'HEIGHT':\r\n return height / (measureUnit.dimension === 1 ? 1000 : 1);\r\n case 'DEPTH':\r\n return depth / (measureUnit.dimension === 1 ? 1000 : 1);\r\n case 'CUSTOM_LENGTH':\r\n return (dto.customLength || width) / 1000;\r\n default:\r\n // 使用默认计算方法\r\n return this.calculateByUnitDefinition(measureUnit, width, height, depth, dto.customLength);\r\n }\r\n } else {\r\n // 使用默认计算方法\r\n return this.calculateByUnitDefinition(measureUnit, width, height, depth, dto.customLength);\r\n }\r\n } catch (error) {\r\n console.error('计算过程中出错:', error);\r\n return 1; // 出错时默认按件计算\r\n }\r\n }\r\n\r\n /**\r\n * 根据单位定义计算\r\n * @param {Object} measureUnit 计量单位对象\r\n * @param {number} width 宽度\r\n * @param {number} height 高度\r\n * @param {number} depth 深度\r\n * @param {number} customLength 自定义长度\r\n * @returns {number} 计算结果\r\n */\r\n static calculateByUnitDefinition(measureUnit, width, height, depth, customLength) {\r\n return measureUnit.getCount().apply({\r\n width,\r\n height,\r\n depth,\r\n customLength\r\n });\r\n }\r\n\r\n /**\r\n * 获取计量单位的信息,包括所需尺寸和可用计算方式\r\n * @param {string} measureUnit 计量单位名称\r\n * @returns {Object|null} 计量单位信息\r\n */\r\n static getMeasureUnitInfo(measureUnit) {\r\n // 查找计量单位\r\n const unitCode = Object.keys(this.ProductUnitMeasureEnum).find(unit => \r\n this.ProductUnitMeasureEnum[unit]?.label === measureUnit\r\n );\r\n \r\n if (!unitCode) {\r\n return null;\r\n }\r\n \r\n const unit = this.ProductUnitMeasureEnum[unitCode];\r\n \r\n // 确定可用的计算方法\r\n let methods = [];\r\n \r\n // 根据单位维度确定可用的计算方法\r\n if (unit.dimension === 2) {\r\n // 二维单位可以用width_height或width_depth或height_depth\r\n methods.push({\r\n key: 'WIDTH_HEIGHT',\r\n label: '宽度×高度',\r\n description: `${unit.label}宽×高计算方式`,\r\n requiredDimensions: ['width', 'height']\r\n });\r\n \r\n methods.push({\r\n key: 'WIDTH_DEPTH',\r\n label: '宽度×深度',\r\n description: `${unit.label}宽×深计算方式`,\r\n requiredDimensions: ['width', 'depth']\r\n });\r\n \r\n methods.push({\r\n key: 'HEIGHT_DEPTH',\r\n label: '高度×深度',\r\n description: `${unit.label}高×深计算方式`,\r\n requiredDimensions: ['height', 'depth']\r\n });\r\n } else if (unit.dimension === 1) {\r\n // 一维单位可以用width、height或depth\r\n methods.push({\r\n key: 'WIDTH',\r\n label: '宽度',\r\n description: `${unit.label}宽度计算方式`,\r\n requiredDimensions: ['width']\r\n });\r\n \r\n methods.push({\r\n key: 'HEIGHT',\r\n label: '高度',\r\n description: `${unit.label}高度计算方式`,\r\n requiredDimensions: ['height']\r\n });\r\n \r\n methods.push({\r\n key: 'DEPTH',\r\n label: '深度',\r\n description: `${unit.label}深度计算方式`,\r\n requiredDimensions: ['depth']\r\n });\r\n\r\n // 添加周长计算方法\r\n methods.push({\r\n key: 'PERIMETER',\r\n label: '周长',\r\n description: `${unit.label}周长计算方式`,\r\n requiredDimensions: ['width', 'depth']\r\n });\r\n }\r\n \r\n // 如果没有计算方法,添加默认计算方法\r\n if (methods.length === 0) {\r\n methods.push({\r\n key: 'DEFAULT',\r\n label: '标准计算',\r\n description: `标准${unit.label}计算方式`,\r\n requiredDimensions: unit.requiredDimensions\r\n });\r\n }\r\n \r\n // 确定默认计算方法\r\n let defaultMethod = 'DEFAULT';\r\n \r\n // 根据单位的维度确定默认方法\r\n if (unit.dimension === 2) {\r\n defaultMethod = 'WIDTH_HEIGHT';\r\n } else if (unit.dimension === 1) {\r\n defaultMethod = 'WIDTH';\r\n }\r\n \r\n return {\r\n name: unit.name,\r\n label: unit.label,\r\n simpleLabel: unit.simpleLabel,\r\n enName: unit.enName,\r\n dimension: unit.dimension,\r\n defaultMethod: defaultMethod,\r\n methods: methods,\r\n requiredDimensions: unit.requiredDimensions\r\n };\r\n }\r\n\r\n /**\r\n * 获取所有计量单位列表\r\n * @returns {Array} 计量单位列表\r\n */\r\n static getAllMeasureUnits() {\r\n return Object.entries(this.ProductUnitMeasureEnum)\r\n .filter(([key]) => typeof this.ProductUnitMeasureEnum[key] === 'object' && key !== 'getByName')\r\n .map(([code, unit]) => {\r\n // 获取单位信息\r\n const unitInfo = this.getMeasureUnitInfo(unit.label);\r\n \r\n return {\r\n name: unit.name,\r\n label: unit.label,\r\n enName: unit.enName,\r\n dimension: unit.dimension,\r\n defaultMethod: unitInfo?.defaultMethod || 'DEFAULT',\r\n methods: unitInfo?.methods || [{\r\n key: 'DEFAULT',\r\n label: '标准计算',\r\n description: `标准${unit.label}计算方式`,\r\n requiredDimensions: unit.requiredDimensions\r\n }],\r\n requiredDimensions: unit.requiredDimensions\r\n };\r\n });\r\n }\r\n\r\n /**\r\n * 根据配置计算尺寸\r\n * @param {Object} dto 计算参数对象\r\n * @returns {Object} 计算后的尺寸\r\n */\r\n static calculateSizeByConfig(dto) {\r\n // 创建一个尺寸对象,包含三个维度\r\n const size = {\r\n width: dto.width || 0,\r\n height: dto.height || 0,\r\n depth: dto.depth || 0\r\n };\r\n\r\n // 获取计算配额\r\n const quotaMap = this.getQuotaMapByDto(dto);\r\n\r\n // 分别计算三个维度\r\n if (quotaMap.WIDTH) {\r\n size.width = this.calculateValue(size.width, quotaMap.WIDTH);\r\n }\r\n\r\n if (quotaMap.HEIGHT) {\r\n size.height = this.calculateValue(size.height, quotaMap.HEIGHT);\r\n }\r\n\r\n if (quotaMap.DEPTH) {\r\n size.depth = this.calculateValue(size.depth, quotaMap.DEPTH);\r\n }\r\n\r\n return size;\r\n }\r\n\r\n /**\r\n * 获取计算规则配置\r\n * @param {Object} dto 计算参数对象\r\n * @returns {Object} 计算规则配置\r\n */\r\n static getQuotaMapByDto(dto) {\r\n // 返回默认规则\r\n return {\r\n 'WIDTH': { operatorType: 'NORMAL', addValue: 0, multipleValue: 1 },\r\n 'HEIGHT': { operatorType: 'NORMAL', addValue: 0, multipleValue: 1 },\r\n 'DEPTH': { operatorType: 'NORMAL', addValue: 0, multipleValue: 1 }\r\n };\r\n }\r\n\r\n /**\r\n * 根据计算规则处理值\r\n * @param {number} value 原始值\r\n * @param {Object} quota 计算规则\r\n * @returns {number} 计算后的值\r\n */\r\n static calculateValue(value, quota) {\r\n const { operatorType, addValue, multipleValue } = quota;\r\n let result = value;\r\n\r\n // 将字符串转换为数字\r\n const numAddValue = parseFloat(addValue || 0);\r\n const numMultipleValue = parseFloat(multipleValue || 1);\r\n\r\n // 根据操作类型进行计算\r\n switch (operatorType) {\r\n case this.ProductAttrQuotaOperatorTypeEnum.ADD_MULTIPLE:\r\n // 先加后乘\r\n result = (result + numAddValue) * numMultipleValue;\r\n break;\r\n case this.ProductAttrQuotaOperatorTypeEnum.MULTIPLE_ADD:\r\n // 先乘后加\r\n result = result * numMultipleValue + numAddValue;\r\n break;\r\n case this.ProductAttrQuotaOperatorTypeEnum.NORMAL:\r\n default:\r\n // 不做特殊处理\r\n break;\r\n }\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * 判断指定尺寸是否与计量单位计算相关\r\n * @param {string} measureUnit 计量单位名称\r\n * @param {string} dimension 尺寸名称 ('width'|'height'|'depth')\r\n * @param {string} [calculationMethod] 计算方法,如果指定则根据计算方法判断\r\n * @returns {boolean} 如果尺寸与计量相关则返回true,否则返回false\r\n */\r\n static isDimensionRequired(measureUnit, dimension, calculationMethod) {\r\n // 检查参数有效性\r\n if (!measureUnit || !dimension) {\r\n return false;\r\n }\r\n \r\n // 标准化尺寸名称\r\n const normalizedDimension = dimension.toLowerCase();\r\n if (!['width', 'height', 'depth'].includes(normalizedDimension)) {\r\n return false;\r\n }\r\n \r\n // 查找计量单位\r\n const unitCode = Object.keys(this.ProductUnitMeasureEnum)\r\n .filter(key => typeof this.ProductUnitMeasureEnum[key] === 'object' && key !== 'getByName')\r\n .find(unit => this.ProductUnitMeasureEnum[unit]?.label === measureUnit);\r\n \r\n if (!unitCode) {\r\n return false;\r\n }\r\n \r\n const unit = this.ProductUnitMeasureEnum[unitCode];\r\n \r\n // 如果指定了计算方法,根据计算方法判断\r\n if (calculationMethod) {\r\n switch (calculationMethod) {\r\n case 'WIDTH_HEIGHT':\r\n return normalizedDimension === 'width' || normalizedDimension === 'height';\r\n case 'WIDTH_DEPTH':\r\n return normalizedDimension === 'width' || normalizedDimension === 'depth';\r\n case 'HEIGHT_DEPTH':\r\n return normalizedDimension === 'height' || normalizedDimension === 'depth';\r\n case 'PERIMETER':\r\n return normalizedDimension === 'width' || normalizedDimension === 'depth';\r\n case 'WIDTH':\r\n return normalizedDimension === 'width';\r\n case 'HEIGHT':\r\n return normalizedDimension === 'height';\r\n case 'DEPTH':\r\n return normalizedDimension === 'depth';\r\n case 'CUSTOM_LENGTH':\r\n return normalizedDimension === 'width'; // 默认使用宽度作为自定义长度的备选\r\n default:\r\n // 使用单位定义的必需尺寸\r\n return unit.requiredDimensions.includes(normalizedDimension);\r\n }\r\n }\r\n \r\n // 如果没有指定计算方法,使用单位定义的必需尺寸\r\n return unit.requiredDimensions.includes(normalizedDimension);\r\n }\r\n\r\n /**\r\n * 判断计量单位是否与尺寸计算相关\r\n * @param {string} measureUnit 计量单位名称\r\n * @returns {boolean} 如果计量单位与尺寸计算相关则返回true,否则返回false\r\n */\r\n static isDimensionRelated(measureUnit) {\r\n // 检查参数有效性\r\n if (!measureUnit) {\r\n return false;\r\n }\r\n \r\n // 查找计量单位\r\n const unitCode = Object.keys(this.ProductUnitMeasureEnum)\r\n .filter(key => typeof this.ProductUnitMeasureEnum[key] === 'object' && key !== 'getByName')\r\n .find(unit => this.ProductUnitMeasureEnum[unit]?.label === measureUnit);\r\n \r\n if (!unitCode) {\r\n return false;\r\n }\r\n \r\n const unit = this.ProductUnitMeasureEnum[unitCode];\r\n \r\n // 如果单位维度大于0或者有必需尺寸,则与尺寸计算相关\r\n return unit.dimension > 0 || unit.requiredDimensions.length > 0;\r\n }\r\n}\r\n\r\nmodule.exports = ItemUnitMeasureCalculator; ","/**\r\n * 产品计量计算工具方法\r\n * 功能:根据产品尺寸(宽、高、深)和计量单位计算实际计量值\r\n */\r\n\r\nconst ItemUnitMeasureCalculator = require('./utils/MeasureCalculator')\r\nconst { formatDecimal } = require('../../../utils/common.util');\r\n\r\n/**\r\n * 参数验证函数\r\n * @param {Object} params - 请求参数\r\n * @throws {Error} 当参数验证失败时抛出\r\n */\r\nfunction validateParams(params) {\r\n const { measureUnit, width, height, depth } = params;\r\n const errors = [];\r\n\r\n // 验证计量单位\r\n if (!measureUnit) {\r\n errors.push('缺少必要参数:计量单位');\r\n } else if (typeof measureUnit !== 'string') {\r\n errors.push('计量单位必须是字符串');\r\n }\r\n\r\n // 验证宽度、高度、深度为数字或可转换为数字的值\r\n const dimensions = [\r\n { name: '宽度', value: width },\r\n { name: '高度', value: height },\r\n { name: '深度', value: depth }\r\n ];\r\n\r\n dimensions.forEach(dim => {\r\n if (dim.value !== null && dim.value !== undefined && dim.value !== '' && isNaN(Number(dim.value)) && !Array.isArray(dim.value)) {\r\n errors.push(`${dim.name}必须是数字或数组`);\r\n }\r\n \r\n if (Array.isArray(dim.value)) {\r\n const hasInvalidValue = dim.value.some(v => isNaN(Number(v)) || Number(v) < 0);\r\n if (hasInvalidValue) {\r\n errors.push(`${dim.name}数组中的值必须是大于等于0的数字`);\r\n }\r\n } else if (dim.value !== null && dim.value !== undefined && dim.value !== '' && Number(dim.value) < 0) {\r\n errors.push(`${dim.name}不能小于0`);\r\n }\r\n });\r\n\r\n if (errors.length > 0) {\r\n throw new Error(errors.join('; '));\r\n }\r\n}\r\n\r\n/**\r\n * 产品计量值计算工具函数\r\n * @param {Object} params - 计算参数对象\r\n * @param {string} params.measureUnit - 必填参数,计量单位\r\n * @param {number|Array|string} params.width - 宽度(mm)\r\n * @param {number|Array|string} params.height - 高度(mm)\r\n * @param {number|Array|string} params.depth - 深度(mm)\r\n * @param {string} [params.calculationMethod] - 计算方法,用于施工报价计量\r\n * @param {number} [params.customLength] - 自定义长度,用于特殊计算\r\n * @returns {Object} 返回计算结果\r\n * @throws {Error} 当参数验证失败或计算过程中出错时抛出\r\n */\r\nfunction calculateProductMeasure(params) {\r\n try {\r\n // 1. 参数验证\r\n if (!params.measureUnit) {\r\n return 0;\r\n }\r\n // 2. 执行计算\r\n const calculationResult = ItemUnitMeasureCalculator.findItemUnitMeasure({\r\n measureUnit: params.measureUnit,\r\n width: params.width || 0,\r\n height: params.height || 0,\r\n depth: params.depth || 0,\r\n calculationMethod: params.calculationMethod,\r\n customLength: params.customLength\r\n });\r\n\r\n // 3. 格式化结果\r\n const result = formatDecimal(calculationResult, 3) || 0;\r\n\r\n // 4. 返回计算计量值\r\n return result;\r\n } catch (error) {\r\n // 直接抛出错误,不再包装为特定响应结构\r\n throw error;\r\n }\r\n}\r\n\r\n/**\r\n * 获取计量单位的信息,包括所需尺寸和可用计算方式\r\n * @param {string} measureUnit - 计量单位名称\r\n * @returns {Object|null} 计量单位信息\r\n * @throws {Error} 当获取过程中出错时抛出\r\n */\r\nfunction getMeasureUnitInfo(measureUnit) {\r\n try {\r\n return ItemUnitMeasureCalculator.getMeasureUnitInfo(measureUnit);\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\n\r\n/**\r\n * 获取用量\r\n * @param {Object} params - 计算参数对象\r\n * @param {string} params.measureUnit - 必填参数,计量单位\r\n * @param {number|Array|string} params.width - 宽度(mm)\r\n * @param {number|Array|string} params.height - 高度(mm)\r\n * @param {number|Array|string} params.depth - 深度(mm)\r\n * @param {number} params.count - 数量\r\n * @param {string} [params.calculationMethod] - 计算方法,用于施工报价计量\r\n * @param {number} [params.customLength] - 自定义长度,用于特殊计算\r\n * @returns {Object} 返回计算结果\r\n * @throws {Error} 当参数验证失败或计算过程中出错时抛出\r\n */\r\nfunction getUsage(params) {\r\n try {\r\n const measure = formatDecimal(calculateProductMeasure(params) || '0', 6, true);\r\n return measure * params.count\r\n } catch (error) {\r\n throw error; \r\n }\r\n}\r\n\r\n/**\r\n * 获取所有计量单位列表\r\n * @returns {Array} 计量单位列表\r\n * @throws {Error} 当获取过程中出错时抛出\r\n */\r\nfunction getAllMeasureUnits() {\r\n try {\r\n return ItemUnitMeasureCalculator.getAllMeasureUnits();\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\n/**\r\n * 判断指定尺寸是否与计量单位计算相关\r\n * @param {string} measureUnit 计量单位名称\r\n * @param {string} dimension 尺寸名称 ('width'|'height'|'depth')\r\n * @param {string} [calculationMethod] 计算方法,如果指定则根据计算方法判断\r\n * @returns {boolean} 如果尺寸与计量相关则返回true,否则返回false\r\n * @throws {Error} 当判断过程中出错时抛出\r\n */\r\nfunction isDimensionRequired(measureUnit, dimension, calculationMethod) {\r\n try {\r\n return ItemUnitMeasureCalculator.isDimensionRequired(measureUnit, dimension, calculationMethod);\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\n/**\r\n * 判断计量单位是否与尺寸计算相关\r\n * @param {string} measureUnit 计量单位名称\r\n * @returns {boolean} 如果计量单位与尺寸计算相关则返回true,否则返回false\r\n * @throws {Error} 当判断过程中出错时抛出\r\n */\r\nfunction isDimensionRelated(measureUnit) {\r\n try {\r\n return ItemUnitMeasureCalculator.isDimensionRelated(measureUnit);\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\n/**\r\n * 获取产品计量单位枚举列表\r\n * @returns {Array} 返回格式为 [{ name: '件', code: 'PC' }] 的计量单位列表\r\n * @throws {Error} 当获取过程中出错时抛出\r\n */\r\nfunction getProductUnitMeasureEnum() {\r\n try {\r\n const enumObj = ItemUnitMeasureCalculator.ProductUnitMeasureEnum;\r\n const result = [];\r\n \r\n // 遍历枚举对象,过滤掉方法和非对象属性\r\n for (const key in enumObj) {\r\n if (typeof enumObj[key] === 'object' && enumObj[key] !== null && key !== 'getByName') {\r\n result.push({\r\n name: enumObj[key].label,\r\n code: enumObj[key].name\r\n });\r\n }\r\n }\r\n \r\n return result;\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\n// 导出工具函数\r\nmodule.exports = {\r\n getUsage,\r\n calculateProductMeasure,\r\n getMeasureUnitInfo,\r\n getAllMeasureUnits,\r\n isDimensionRequired,\r\n isDimensionRelated,\r\n getProductUnitMeasureEnum,\r\n ItemUnitMeasureCalculator\r\n}; ",null,null,null,null,null,null,null,null,null,null,null],"names":["solution_status","SOLUTION_ITEM_AUDIT_STATUS","design_type","CURRENCY_UNIT_ENUM","supply_mode","IM_GROUP_TYPE","RECOMMENDATION_TYPE_ENUM","pro_series_type_enum","sales_end_app_tag","solution_price_type","spatial_category","house_status","house_type","price_flag","rounding_rule","BUSINESS_SCOPE_ENUM","BUSINESS_WORK_PHASE_ENUM","CONTRACT_STATE_ENUM","AMOUNT_DECIMAL_VALUE_ENUM","AMOUNT_DECIMAL_TYPE_ENUM","SIGN_STYLE","MQ_RECEIPT_TYPE_ENUM","CUSTOMER_CLASSIFICATION_ENUM","assign_business_type","solution_status_options","name","value","DRAFT","ACTIVE","LOCKED","REVOKED","PRE_SIGNED","SIGNED","SIGNED_REVOKED","STAY_AUDIT","REJECTED","COMPLETED","design_type_options","BUDGET","MODEL_ROOM_EX","COMMUNITY_EX","ORDER","CONTRACT","SCALE","ABNORMAL_SOLUTION","order_status","order_status_options","NULLIFIED","OPEN","CURRENCY_UNIT_OPTIONS","CNY","USD","EUR","GBP","HKD","supply_mode_options","own_production","brand_agency","wholesale_procur","cross_border_pro","oem_contract","agency_purchase","behalf_purchase","IM_GROUP_TYPE_OPTION","INTERNAL","CUSTOMER","SHARE","DICTIONARY_IDENTIFY_ENUM","CUSTOMER_SOURCE_ENUM","DICTIONARY_CUSTOMER_SOURCE_OPTIONS","label","OTO_TOURIST_SOURCE","GROUP_OTO","TMALL","TENCENT_PLATFORM","DA_ZHONG_DIAN_PING","STORE_SALES","OFFICIAL_REGISTRATION","CITY_OTO","COMMUNITY_MARKETING_ACCOUNTS","MERCHANT_WE_MEDIA_REGISTRATION","PRIVATE_DOMAIN","CUSTOMER_RECOMMENDATION","ON_GOING_CUSTOMER_REFERRAL","OLD_CUSTOMER_REFERRAL","RECOMMENDED_BY_SEED_CUSTOMER","MALL_TRAFFIC_FLOW","NATURAL_TRAFFIC","EVENT_TRAFFIC","ADVERTISING_TRAFFIC","SOCIAL_COMMUNITY_CUSTOMER","SELF_BUILT_COMMUNITY","SELF_BUILT_EVENT_COMMUNITY","MALL_MARKETING_COMMUNITY","ALLIANCE_COOPERATION","INTERIOR_DESIGNER_COLLABORATION","FRACTURED_CUSTOMER_REFERRAL","HOME_IMPROVEMENT_COMPANY_COLLABORATION","MAIN_MATERIAL_MERCHANT_COLLABORATION","MAIN_MATERIAL_SALES_COLLABORATION","NON_INDUSTRY_ALLIANCE","DEVELOPER_COLLABORATION","PROPERTY_COLLABORATION","MALL_COLLABORATION","BANK_COOPERATION","EMPLOYEE_REFERRAL","BE_ON_THE_JOB_EMPLOYEE_REFERRAL","EARLY_EMPLOYEE_REFERRAL","OTHER_SOURCE","SCAN_EMPLOYEE_QR_CODE","PROCESS_STAGE_ENUM","DICTIONARY_PROCESS_STAGE_OPTIONS","INFORMATION","CUSTOMER_SOURCE","LINK_IN_TRANSIT","MEETING_IN_TRANSIT","INTENTION_IN_TRANSIT","ORDER_FORM","ASSIGN_DESIGNER","MEASURE_IN_TRANSIT","SOLUTION_QUOTATION","CONTRACT_IN_TRANSIT","COMPOUND_RULER","PURCHASE_IN_TRANSIT","PRODUCTION","LOGISTICS_IN_TRANSIT","STORAGE_IN_TRANSIT","INSTALL_IN_TRANSIT","DELIVER_IN_TRANSIT","OLD_CUSTOMER","CUSTOMER_LABEL_ENUM","DICTIONARY_CUSTOMER_LABEL_OPTIONS","UNGROUPED","DICTIONARY_BUSINESS_SCOPE_OPTIONS","SELF_OPERATED_PRODUCT","AGENCY_PURCHASE_SALES","INTERIOR_DESIGN","ENGINEERING_CONSTRUCTION","DICTIONARY_BUSINESS_WORK_PHASE_OPTIONS","MARKETING","SALES","DESIGN","INSTALLATION","AFTER_SALES","CONSTRUCTION","DICTIONARY_CUSTOMER_CLASSIFICATION_OPTIONS","PASSERBY","FRACTURED_CUSTOMER","OTO_ASSIGNMENT","ON_THE_WAY_CUSTOMER","KEY_FOCUS","DICTIONARY_MEDIA_CHANNEL_OPTIONS","DICTIONARY_ATTRIBUTE_OPTIONS_MAP","MEDIA_CHANNEL","PROCESS_STAGE","CUSTOMER_LABEL","BUSINESS_SCOPE","BUSINESS_WORK_PHASE","CUSTOMER_CLASSIFICATION","DICTIONARY_IDENTIFY_OPTIONS","POSITION","BEDROOM","DELIVERY_TIME_OPTION","HOUSE_INFORMATION","HOUSE_SQUARE_METERS","PROJECT_CLASSIFICATION","PROJECT_TYPE","PROJECT_SOLUTION","PROJECT_TAG","PROJECT_TEMPLATE_LEVEL","PROJECT_WORK_ITEM","BUILDING_DEVELOPER","BUILDING_PROPERTY_COMPANY","BUILDING_CATEGORY_TAG","BUILDING_HOUSE_TYPE_TAG","recommendation_type_options","DESIGN_ALLIANCE","DIFFERENT_DESIGN_ALLIANCE","EMPLOYEE_RECOMMENDATION","WECHAT_GROUPS","pro_series_type_options","SERIES","STYLE","spatial_category_options","KITCHEN","LIVING_ROOM","RESTAURANT","MASTER_BEDROOM","SECOND_BEDROOM","CLOAKROOM","YOUNGSTER_ROOM","STUDY","MASTER_BATHROOM","SECOND_BATHROOM","HALLWAY","BALCONY","STOREROOM","OTHER_SPACE","house_status_options","DELIVERED_HOUSE","UNDEVELOPED_HOUSE","UNCERTAIN_DELIVERY","house_type_options","LUXURY_HOUSE","BARE_SHELL_HOUSE","SECOND_HAND_HOUSE","UNDETERMINED","ListType","price_flag_options","stdConf","gift","present","package","positive","specialPrice","fixPrice","returnedPurchase","refund","sample","returning_inventory","backup_warehouse","sec_kill_product","activity_product","product_stock","PRICE_FLAG_LIST_TYPE_MAP","QUOTATION_SOLUTION","getPriceFlagOptionsByListType","listType","availableFlags","length","filter","option","includes","rounding_rule_options","SINGLE_ROUND","SINGLE_SET_EIGHT","SINGLE_SET_NINE","SINGLE_SET_TEN","SINGLE_PLUS_ONE","TEN_PLUS_ONE","SINGLE_TEN_PLUS_ONE","assign_business_type_options","ESTATE","AMOUNT_DECIMAL_VALUE_OPTIONS","AMOUNT_KEEP_1_DECIMAL_PLACE","AMOUNT_KEEP_2_DECIMAL_PLACE","AMOUNT_KEEP_3_DECIMAL_PLACE","AMOUNT_KEEP_4_DECIMAL_PLACE","CONTRACT_STATUS_OPTIONS","VOIDED","SIGN_STAY_FOR_ME","SIGN_STAY_CUSTOMER","STAY_REPORTED","UNDER_REVIEW","STAY_SCALE","STAY_SCALE_REPORTED","SCALE_UNDER_REVIEW","SCALE_REJECTED","SCALE_COMPLETED","SIGN_STYLE_OPTIONS","ONLINE_SIGN","PRINT_SIGN","SALES_END_APP_TAG_OPTIONS","STANDARD_RETAIL","ACTUAL_RETAIL","SETTLEMENT_PRICE","EXCLUSIVE_PACKAGE_PRICE","ProductUnitMeasure","ProductUnitMeasureCN","PRODUCT_UNIT_MEASURE","code","PC","english","EA","SET","BAN","SAG","VOL","BOX","PAIL","CAN","TAI","CAR","PAK","STP","ZHI","ZII","SLC","BLK","ZHG","PAL","GEN","FAN","REEL","PAIR","GROUP","STEP","M","LM","H2W1","MM","INC","M2","PM2","FM2","M3","L","ML","KG","TON","WORKLOAD","PRODUCT_UNIT_MEASURE_OPTIONS","map","item","formatDecimal","decimalPlaces","undefined","places","Math","max","floor","factor","pow","round","calcStandardPrice","children","totalChildrenPrice","forEach","childItem","calcActualPrice","count","measure","unitPrice","priceFlag","safeMeasure","safeCount","safePrice","safeCoefficient","productCoefficient","priceFlagEnum","standardAmount","result","itemDiscount","abs","calcTaxAmount","safeRate","taxRate","actualPrice","managementFeeAmount","managementFeeRate","generateUUID","replace","c","r","random","toString","generateRandomId","chars","i","formatNumberWithCommas","valueStr","trim","number","parseFloat","isNaN","parts","split","integerPart","decimalPart","formattedInteger","findOptionByValue","options","valueField","strictOrField","Array","isArray","strict","field","find","getFileExtension","filename","_a","pop","toLowerCase","formatChineseMobile","phone","digits","test","slice","decimals","parseNumber","num","Number","toFixed","applyAmountDecimal","decimalType","fixed","AMOUNT_DO_NOT_RETAIN_DECIMALS","PRODUCT_CATEGORIES","WALLBOARD","VENEER","FULL_LENGTH_MIRROR","STAY_WIRE","PASS","COSTS","GAS_PIPE","SOFT_BED","DCJGF","WAT","WAT_THERMAL_SOUND","parentKey","WAT_SUPPLY","WAT_DRAINAGE","DESIGN_COSTS","DECORATIVE_LIGHTS","CLOS_PLATE","SKELETON_ARRANGEMENT","ACCESSORIES","WATER_TREATMENT","GUIDAO","ELEC","CIRCULAR_TABLE","DECORATIVE_PARTS","RUBBER_STRIP","PLUG","DECORATIVE_COLUMN","COVER_PLATE","DECORATIVE_PLATE","OTHER_ACCESSORIES","LMLJGF","WAIST_LINE","BAR_CHAIR","STRUCTURE_PROFILES","REMOTE_CONTROL","WALLPAPER","COLUMN","LATEX_PAINT","GIFTS","SLATE","BAR_COUNTER","STORAGE","PLATFORM","SUSPENDED_CEILING","BACK_SEVERAL","WALL_PANEL_FRAME","RATE_COUPON","CEMENT_MORTAR","DECORATIVE_PART","HANGING_CODE","SKIRTING_BOARD","WINDOW_CURTAINS","SHAD_CLOTH","SOFT_COVER","DECORATIVE_STONE","MESA","FUNCTIONAL_PART","CORE_BOARD","TABLE","CREATE","CREATE_LIGHT_STEEL_JOIST_WALL","CREATE_WALL","INSTALL","LIGHT_FIX_INSTALL","STONE_INSTALL","DRILL_HOLE_INSTALL","SANITARY_WARE_INSTALL","CPL","INTELLIGENCE_ELECTRICAL","DISHWASHER","STERILIZER","AGITATOR","STOVE","PURIFIER","RADIANT_COOKER","DRYER","HEATER","DISINFECTION_CABINET","WASHING_MACHINE","INTELLIGENT_PLUG_IN","MICROWAVE_OVEN","SMOKE_MACHINE","ADDTIONAL","SMART_TRASH_CAN","SLAG_CRUSHER","WATER_PURIFIER","TRANSFORMER","INTELLIGENCE_ELECTRICAL_APPARATUS","ELECTRIC_OVEN","GAS_STOVE","ELECTRIC_STEAMER","PROXYELE","LAMPS_AND_LANTERNS","QIANXIAN","LOUNGE_CHAIR","JEWELRY_HANGER","DRESS_STOOL","CLOTH","SCJGF","WALL","WALL_WOOD_BASE","WALL_SUPPORT","WALL_DECORATE","WALL_TIL","DINGING_CHAIR","CASH_COUPON","OTHER","CABINET_PANEL","SPLIT_HALL_CABINET","SHOE_CABINET","CUSTOMIZED_UNIT","HANG_GRID","WOODINESS_CD","BOOKCASE","BOX_STRUCTURE","WINE_GRID","TIE_GRID","GEO_GRID","BATHROOM_CABINET","SIDE_CABINET","SEMI_HIGH_LATTICE","DRAWER_CABINET","CYLINDER_CABINET","HALF_HEIGHT_CABINET","DECORATIVE_CABINET","KEYBOARD_HOLDER","DISPLAY_CABINET","SLIDE_DOOR_CABINET","ELEVATED_CABINET","BALCONY_CABINET","CELLS","SHOE_HAT_CABINET","WALL_CABINET","SHIRT_PALLET","WARDROBE","GRIDBOARD","TV_CABINET","WALL_MOUNTED_WARDROBE","HALL_CABINET","BEDSIDE","CONSOLE_CABINET","BED_CABINET","BOARD","BOX_BOARD","BEAR_BOARD","SIDE_BOARD","VERTICAL_SUPPORT_BOARD","TOP_BOARD","INCLINED_LAYER_BOARD","CONNECTING_BOARD","BOTTOM_BOARD","SHELF_BOARD","T_FIXTURE_BOARD","L_FIXTURE_BOARD","MID_VERTICAL_BOARD","DIVIDING_INTI_GRIDS","CABINET_IN_CABINET","SHOE_BOX","FIXTURE","ISLAND_PLATFORM","CYLINDER_CABINET_HIGH_LATTICE","CABINET_STYLE_WARDROBE","MIRROR_CABINET","COLUMN_WARDROBE","STORAGE_CABINET","WATER_BASIN_CABINET","FLOOR_CABINET","INSERT_GRID","BASE_GRID","BACKGROUND_PLATE","INSERT_UNIT","WINE_CABINET","TABLEWARE","WINE_GRILLE_HOLDER","OPEN_LATTICE","CORNER_TABLE","SHOE_RACK","BOOKSHELF","ELE","ELE_WEAK_GALVANIZED","ELE_SPECIALIZED_FURNISH","ELE_PVC_PIPE","ELE_WEAK_WIRE","ELE_ASSISTANCE","ELE_WIRE","WAT_SLOTTING","ELE_GALVANIZED","ELE_WEAK_BOX","ELE_WEAK_PVC_PIPE","COMMODE","UNIT_CABINET_PANEL","LOCK_SET","YARN_MANTLE","SPECIAL","SIDE_TABLE","FUNCTIONAL_HARDWARE","COOKER","BOTTLE_OPENER","HANDLES","DRAWER","LIGHT_BELT","HANGER_ROD","DAMPER","OTHER_HARDWARE","COUPLE","CAN_OPENER","HARDWARE_ACCESSORIES","WATERPROOF_PARTS","FAUCET","SLIDE_DOOR_HARDWARE","STOP","SWITCH","COAT_HANGER","HINGE","COUPLING_HEAD","INTELLIGENCE_HARDWARE","SLIDE_RAIL","WATER_BASIN","PULL_BASKET","FLOODLIGHT","CLOTHES_RAIL","REBOUND_DEVICE","BRACE","DISC_EXTRACTOR","SLIDE_DOOR","SCREEN","BENCH","PARAPET_WALL_BOARD","OFFICE_CHAIR","QIANGGOU","RIBBON_CLOTH","SANITARY_WARE","TRAY","PROTECT","MATERIAL_HAND_PROTECT","GARBAGE_DISPOSAL_PROTECT","LONG_RANGE_PROTECT","LOFT_PROTECT","N_SPECIAL","LB","QIANPIAN","DRESSER","ACTIVITY","TEA_TABLE","DECORATIVE_LINE","CARPET","HALF_PASS","CHAIR","CERAMICTILE","ELECTRIC_MODULE","DOOR_BOARD","FITTED_SHEET","BED","Fabric","CURTAIN_CLOTH","SOFA","BASIN","BATHROOM_MIRROR","CUSHION","DECORATIVE_LACE_YARN_MANTLE","FOLDING_SCREEN","MATTRESS","DESK","TJX","REMOVE","REMOVE_GROUND","REMOVE_WALL","REMOVE_SUSPEND_CEIL","REMOVE_METOPE","REMOVE_NEW_WORK_ITEM","GROUND","GROUND_TIL","GROUND_WOOD","GROUND_POINT","GROUND_HANDLE","ADJUSTING_PLATE","CUSTOM_PARTS","CORNET","SOFA_ROLL","TECHNOLOGY","BUILD_WALLS","PAINT","LI_XIE_QI","MORTAR_MIX","DOOR_LINTEL","PLANT_TENDONS","PRE_ARRANGED_POSIT","AN_DI_LIANG","SPREAD","REINFORCEMENT_COMPONENTS","TOP","TOP_LINE","TUYERE","SUSPENDED_SUPPORT","PLATFOND_WATER_RESISTANCE","PLATFOND","PELMET","PULLEY","PENDANT","YANGPIN","BRICK","INNER_DOOR","DOOR_LOCK","DOOR_HEADER","DOOR_JAMB","DOOR_STOPPER","DOOR_LEAF","UPGRADE_COSTS","STRUCTURAL_COMPONENTS","ALUMINUM_WIRE_CONNECTOR","OUTRIGGER","ALLOY_CLIP","LAMINATE_SUPPORT","EXPANSION_SCREW","WALL_HANGING_SUPPORT","ALUMINUM_PROFILE_COMPONENTS","STRUCTURAL_ADHESIVE","GRILLE","CIVIL_ENGINEERING","CIVIL_ENGINEERING_CREATE","CIVIL_ENGINEERING_REMOVE","WATERPROOF_BOARD","BATHTUB","ALUMINUM_FRAME","PORCH","ACCESSORIES_YARN_MANTLE","BANDING","NON_SLIP_MAT","DRESS_UNIT","FLOOR","CUSTOMIZED_TABLE_RACK","FITT","getGroupTypeByKey","groupTypeKey","groupCategoryMap","findCategoryByKey","categoryKey","categories","key","category","childCategory","MeasureCalculator","static","simpleLabel","enName","dimension","scale","requiredDimensions","getCount","apply","countParam","CELL","width","height","depth","getByName","this","NORMAL","ADD_MULTIPLE","MULTIPLE_ADD","findItemUnitMeasure","dto","calculateSizeByConfig","unitCode","Object","keys","ProductUnitMeasureEnum","unit","measureUnit","console","warn","calculationMethod","calculateByUnitDefinition","customLength","error","getMeasureUnitInfo","methods","push","description","defaultMethod","getAllMeasureUnits","entries","unitInfo","size","quotaMap","getQuotaMapByDto","WIDTH","calculateValue","HEIGHT","DEPTH","operatorType","addValue","multipleValue","quota","numAddValue","numMultipleValue","ProductAttrQuotaOperatorTypeEnum","isDimensionRequired","normalizedDimension","isDimensionRelated","ItemUnitMeasureCalculator","require$$0","require$$1","calculateProductMeasure","params","calculationResult","getUsage","getProductUnitMeasureEnum","enumObj","CUSTOM_FURNITURE","editSections","order","categoryCode","skuAttriCode","expand","attributes","type","required","dependency","isMainProduct","baseAttribute","min","default","labelKey","TOTAL_CUPBOARD","FINISHED_CABINET","FINISHED_PRODUCT","viewSettingBuilder","setting","rest","log","viewSetting","JSON","stringify","index","replaceTemplate","repeat","replaceAll","parse","PRIVILEGE_STATE_ENUM","PRIVILEGE_STATUS_OPTIONS","TO_BE_REVIEW","APPROVED","CONTRACT_CANCEL_TYPE","PLACE_ORDER_TYPE_ENUM","CONSUMER_GROUP_ENUM","constructor","config","uuid","productId","supplyPrice","productPriceId","spuName","unitLabel","spuId","brandId","brandName","classifyId","classifyName","classifyCode","model","supplyMode","outlineDemension","categoryName","parentCategoryCode","parentCategoryName","styleId","styleName","roomName","roomCode","schemeName","groupName","groupCode","originWidth","originHeight","originDepth","skuAttributes","moveDirection","location","crimpRatio","openWidth","measureCalcParams","isExclusivePackage","standardPrice","taxFeePrice","dosage","remark","taxAmount","managementFee","picture","components","assign","itemId","enableTaxRate","enableManagementFeeRate","rowData","viewType","classifyRoomGroupMap","classifyInfo","icon","matchUnit","classifyType","productCategoryMap","roomOptions","classifyMap","roomGroups","roomGroup","room","parentCode","parentName","parentSort","roomSort","targetRoom","child","sort","groupsData","groups","groupInfo","productCategoriesData","productCategories","groupSort","productCategory","mainCategoryCode","availableGroups","Set","add","bestMatchGroupKey","mainCategoryMatchGroupKey","mainCategoryMatches","mcCode","mainCategory","some","toUpperCase","productCategoryMatches","groupTypesMap","actualProductCategory","groupType","mainCategoryObj","roomType","rg","categoryPriceUnit","priceUnit","excludeCategoryPriceUnit","excludePriceUnit","productCategoryKey","values","a","b","flag"],"mappings":"aAGA,IAAYA,ECAAC,ECAAC,ECAAC,ECAAC,ECAAC,ECAAC,ECAAC,ECAAC,ECAAC,ECAAC,ECAAC,ECAAC,ECAAC,ECAAC,ECAAC,ECAAC,ECAAC,ECAAC,ECAAC,ECAAC,ECAAC,ECAAC,yDtBAAtB,QA8BXA,qBAAA,GA9BWA,EAAAA,QAAeA,kBAAfA,wBA8BX,CAAA,IA5BC,MAAA,QAGAA,EAAA,OAAA,SAGAA,EAAA,WAAA,aAGAA,EAAA,SAAA,WAGAA,EAAA,UAAA,YAGAA,EAAA,OAAA,SAGAA,EAAA,QAAA,UAGAA,EAAA,WAAA,aAGAA,EAAA,OAAA,SAGAA,EAAA,eAAA,iBC7BUC,QAkBXA,gCAAA,GAlBWA,EAAAA,QAA0BA,6BAA1BA,mCAkBX,CAAA,IAhBC,SAAA,WAGAA,EAAA,SAAA,WAGAA,EAAA,OAAA,SAGAA,EAAA,IAAA,MAGAA,EAAA,KAAA,OAGAA,EAAA,OAAA,SCjBUC,QAqBTA,iBAAA,GArBSA,EAAAA,QAAWA,cAAXA,oBAqBT,CAAA,IAnBC,OAAA,SAGAA,EAAA,cAAA,gBAGAA,EAAA,aAAA,eAGAA,EAAA,MAAA,QAGAA,EAAA,SAAA,WAGAA,EAAA,MAAA,QAGAA,EAAA,kBAAA,oBCpBQC,QAeXA,wBAAA,GAfWA,EAAAA,QAAkBA,qBAAlBA,2BAeX,CAAA,IAbC,IAAA,MAGAA,EAAA,IAAA,MAGAA,EAAA,IAAA,MAGAA,EAAA,IAAA,MAGAA,EAAA,IAAA,MCdUC,QAqBXA,iBAAA,GArBWA,EAAAA,QAAWA,cAAXA,oBAqBX,CAAA,IAnBC,eAAA,iBAGAA,EAAA,aAAA,eAGAA,EAAA,iBAAA,mBAGAA,EAAA,iBAAA,mBAGAA,EAAA,aAAA,eAGAA,EAAA,gBAAA,kBAGAA,EAAA,gBAAA,kBCpBUC,QASXA,mBAAA,GATWA,EAAAA,QAAaA,gBAAbA,sBASX,CAAA,IAPC,SAAA,WAGAA,EAAA,SAAA,WAGAA,EAAA,MAAA,QCRUC,QAeXA,8BAAA,GAfWA,EAAAA,QAAwBA,2BAAxBA,iCAeX,CAAA,IAbG,wBAAA,0BAGAA,EAAA,gBAAA,kBAGAA,EAAA,0BAAA,4BAGAA,EAAA,wBAAA,0BAGAA,EAAA,cAAA,gBCdQC,QAMTA,0BAAA,GANSA,EAAAA,QAAoBA,uBAApBA,6BAMT,CAAA,IAJC,OAAA,SAGAA,EAAA,MAAA,QCLQC,QAYXA,uBAAA,GAZWA,EAAAA,QAAiBA,oBAAjBA,0BAYX,CAAA,IAVC,gBAAA,kBAGAA,EAAA,cAAA,gBAGAA,EAAA,iBAAA,mBAGAA,EAAA,wBAAA,0BCXUC,QASXA,yBAAA,GATWA,EAAAA,QAAmBA,sBAAnBA,4BASX,CAAA,IAPC,SAAA,WAGAA,EAAA,kBAAA,oBAGAA,EAAA,mBAAA,qBCRUC,QA0CXA,sBAAA,GA1CWA,EAAAA,QAAgBA,mBAAhBA,yBA0CX,CAAA,IAxCC,QAAA,UAGAA,EAAA,YAAA,cAGAA,EAAA,WAAA,aAGAA,EAAA,eAAA,iBAGAA,EAAA,eAAA,iBAGAA,EAAA,UAAA,YAGAA,EAAA,eAAA,iBAGAA,EAAA,MAAA,QAGAA,EAAA,gBAAA,kBAGAA,EAAA,gBAAA,kBAGAA,EAAA,QAAA,UAGAA,EAAA,QAAA,UAGAA,EAAA,UAAA,YAGAA,EAAA,YAAA,cCzCUC,QASXA,kBAAA,GATWA,EAAAA,QAAYA,eAAZA,qBASX,CAAA,IAPC,gBAAA,kBAGAA,EAAA,kBAAA,oBAGAA,EAAA,mBAAA,qBCRUC,QAYXA,gBAAA,GAZWA,EAAAA,QAAUA,aAAVA,mBAYX,CAAA,IAVC,aAAA,eAGAA,EAAA,iBAAA,mBAGAA,EAAA,kBAAA,oBAGAA,EAAA,aAAA,eCXUC,QA6CXA,gBAAA,GA7CWA,EAAAA,QAAUA,aAAVA,mBA6CX,CAAA,IA3CC,QAAA,UAGAA,EAAA,KAAA,OAGAA,EAAA,QAAA,UAGAA,EAAA,QAAA,UAGAA,EAAA,SAAA,WAGAA,EAAA,aAAA,eAGAA,EAAA,SAAA,WAGAA,EAAA,iBAAA,mBAGAA,EAAA,OAAA,SAGAA,EAAA,OAAA,SAGAA,EAAA,oBAAA,sBAGAA,EAAA,iBAAA,mBAGAA,EAAA,iBAAA,mBAGAA,EAAA,iBAAA,mBAGAA,EAAA,cAAA,gBC5CUC,QAqBXA,mBAAA,GArBWA,EAAAA,QAAaA,gBAAbA,sBAqBX,CAAA,IAnBC,aAAA,eAGAA,EAAA,iBAAA,mBAGAA,EAAA,gBAAA,kBAGAA,EAAA,eAAA,iBAGAA,EAAA,gBAAA,kBAGAA,EAAA,aAAA,eAGAA,EAAA,oBAAA,sBSpBUS,QAITA,0BAAA,GAJSA,QAAoBA,uBAApBA,6BAIT,CAAA,IAFC,OAAA,SRFQR,QAYXA,yBAAA,GAZWA,EAAAA,QAAmBA,sBAAnBA,4BAYX,CAAA,IAVG,sBAAA,wBAGAA,EAAA,sBAAA,wBAGAA,EAAA,gBAAA,kBAGAA,EAAA,yBAAA,2BCXQC,QAkBXA,8BAAA,GAlBWA,EAAAA,QAAwBA,2BAAxBA,iCAkBX,CAAA,IAhBC,UAAA,YAGAA,EAAA,MAAA,QAGAA,EAAA,OAAA,SAGAA,EAAA,aAAA,eAGAA,EAAA,YAAA,cAGAA,EAAA,aAAA,eCjBUC,QA6BXA,yBAAA,GA7BWA,EAAAA,QAAmBA,sBAAnBA,4BA6BX,CAAA,IA3BC,MAAA,QAEAA,EAAA,iBAAA,mBAEAA,EAAA,mBAAA,qBAEAA,EAAA,cAAA,gBAEAA,EAAA,WAAA,aAEAA,EAAA,aAAA,eAEAA,EAAA,SAAA,WAEAA,EAAA,UAAA,YAEAA,EAAA,WAAA,aAEAA,EAAA,oBAAA,sBAEAA,EAAA,mBAAA,qBAEAA,EAAA,eAAA,iBAEAA,EAAA,gBAAA,kBAEAA,EAAA,OAAA,SC5BUC,QAWXA,+BAAA,GAXWA,EAAAA,QAAyBA,4BAAzBA,kCAWX,CAAA,IATC,4BAAA,8BAEAA,EAAA,4BAAA,8BAEAA,EAAA,4BAAA,8BAEAA,EAAA,4BAAA,8BAEAA,EAAA,8BAAA,gCCVUC,QAWXA,8BAAA,GAXWA,EAAAA,QAAwBA,2BAAxBA,iCAWX,CAAA,IATC,YAAA,cAEAA,EAAA,aAAA,eAEAA,EAAA,YAAA,cAEAA,EAAA,aAAA,eAEAA,EAAA,MAAA,QCVUC,QAMXA,gBAAA,GANWA,EAAAA,QAAUA,aAAVA,mBAMX,CAAA,IAJC,YAAA,cAGAA,EAAA,WAAA,aCLUC,QAkMXA,0BAAA,GAlMWA,EAAAA,QAAoBA,uBAApBA,6BAkMX,CAAA,IA/LG,eAAA,iBAEAA,EAAA,gBAAA,kBAEAA,EAAA,aAAA,eAEAA,EAAA,gBAAA,kBAEAA,EAAA,sBAAA,wBAEAA,EAAA,qBAAA,uBAEAA,EAAA,gBAAA,kBAEAA,EAAA,eAAA,iBAEAA,EAAA,sBAAA,wBAEAA,EAAA,qBAAA,uBAEAA,EAAA,wBAAA,0BAEAA,EAAA,oBAAA,sBAEAA,EAAA,iBAAA,mBAEAA,EAAA,qCAAA,uCAIAA,EAAA,eAAA,iBAEAA,EAAA,WAAA,aAEAA,EAAA,iBAAA,mBAEAA,EAAA,gBAAA,kBAEAA,EAAA,gBAAA,kBAEAA,EAAA,WAAA,aAIAA,EAAA,mBAAA,qBAEAA,EAAA,cAAA,gBAEAA,EAAA,uBAAA,yBAEAA,EAAA,8BAAA,gCAIAA,EAAA,sBAAA,wBAEAA,EAAA,eAAA,iBAEAA,EAAA,0BAAA,4BAEAA,EAAA,oBAAA,sBAEAA,EAAA,aAAA,eAEAA,EAAA,eAAA,iBAEAA,EAAA,iBAAA,mBAEAA,EAAA,sBAAA,wBAIAA,EAAA,eAAA,iBAEAA,EAAA,kBAAA,oBAEAA,EAAA,cAAA,gBAEAA,EAAA,YAAA,cAEAA,EAAA,aAAA,eAEAA,EAAA,oBAAA,sBAEAA,EAAA,eAAA,iBAEAA,EAAA,kBAAA,oBAEAA,EAAA,WAAA,aAEAA,EAAA,wBAAA,0BAIAA,EAAA,YAAA,cAEAA,EAAA,eAAA,iBAEAA,EAAA,UAAA,YAEAA,EAAA,WAAA,aAEAA,EAAA,aAAA,eAEAA,EAAA,cAAA,gBAEAA,EAAA,eAAA,iBAEAA,EAAA,2BAAA,6BAEAA,EAAA,qBAAA,uBAEAA,EAAA,2BAAA,6BAEAA,EAAA,kBAAA,oBAEAA,EAAA,iBAAA,mBAEAA,EAAA,eAAA,iBAEAA,EAAA,cAAA,gBAEAA,EAAA,cAAA,gBAEAA,EAAA,wCAAA,0CAEAA,EAAA,eAAA,iBAEAA,EAAA,kBAAA,oBAEAA,EAAA,qBAAA,uBAEAA,EAAA,oBAAA,sBAEAA,EAAA,iBAAA,mBAEAA,EAAA,iBAAA,mBAEAA,EAAA,kBAAA,oBAIAA,EAAA,UAAA,YAIAA,EAAA,2BAAA,6BAEAA,EAAA,sBAAA,wBAEAA,EAAA,oBAAA,sBAIAA,EAAA,sBAAA,wBAEAA,EAAA,4BAAA,8BAEAA,EAAA,eAAA,iBAEAA,EAAA,sBAAA,wBAIAA,EAAA,cAAA,gBAEAA,EAAA,iBAAA,mBAEAA,EAAA,mBAAA,qBAEAA,EAAA,iBAAA,mBAEAA,EAAA,aAAA,eAEAA,EAAA,YAAA,cAEAA,EAAA,cAAA,gBAEAA,EAAA,kBAAA,oBAEAA,EAAA,aAAA,eAEAA,EAAA,sBAAA,wBAEAA,EAAA,oBAAA,sBAIAA,EAAA,8BAAA,gCAEAA,EAAA,mBAAA,qBCjMQC,QAaXA,kCAAA,GAbWA,EAAAA,QAA4BA,+BAA5BA,qCAaX,CAAA,IAXG,SAAA,WAEAA,EAAA,mBAAA,qBAEAA,EAAA,eAAA,iBAEAA,EAAA,oBAAA,sBAEAA,EAAA,UAAA,YAEAA,EAAA,aAAA,eEVG,MCWME,EAA0C,CACrD,CAAEC,KAAM,KAAMC,MAAO1B,QAAAA,gBAAgB2B,OACrC,CAAEF,KAAM,KAAMC,MAAO1B,QAAAA,gBAAgB4B,QACrC,CAAEH,KAAM,KAAMC,MAAO1B,QAAAA,gBAAgB6B,QACrC,CAAEJ,KAAM,MAAOC,MAAO1B,QAAAA,gBAAgB8B,SACtC,CAAEL,KAAM,KAAMC,MAAO1B,QAAAA,gBAAgB+B,YACrC,CAAEN,KAAM,KAAMC,MAAO1B,QAAAA,gBAAgBgC,QACrC,CAAEP,KAAM,OAAQC,MAAO1B,QAAAA,gBAAgBiC,gBACvC,CAAER,KAAM,MAAOC,MAAO1B,QAAAA,gBAAgBkC,YACtC,CAAET,KAAM,MAAOC,MAAO1B,QAAAA,gBAAgBmC,UACtC,CAAEV,KAAM,MAAOC,MAAO1B,QAAAA,gBAAgBoC,YCV3BC,EAA0C,CACrD,CAAEZ,KAAM,OAAQC,MAAOxB,QAAAA,YAAYoC,QACnC,CAAEb,KAAM,UAAWC,MAAOxB,QAAAA,YAAYqC,eACtC,CAAEd,KAAM,SAAUC,MAAOxB,QAAAA,YAAYsC,cACrC,CAAEf,KAAM,OAAQC,MAAOxB,QAAAA,YAAYuC,OACnC,CAAEhB,KAAM,OAAQC,MAAOxB,QAAAA,YAAYwC,UACnC,CAAEjB,KAAM,OAAQC,MAAOxB,QAAAA,YAAYyC,OACnC,CAAElB,KAAM,OAAQC,MAAOxB,QAAAA,YAAY0C,oBCpBrC,IAAYC,EAAAA,QASTA,kBAAA,GATSA,EAAAA,QAAYA,eAAZA,qBAST,CAAA,IAPC,UAAA,YAGAA,EAAA,OAAA,SAGAA,EAAA,KAAA,OCKS,MAAAC,EAA4C,CACvD,CAAErB,KAAM,KAAMC,MAAOmB,QAAAA,aAAaE,WAClC,CAAEtB,KAAM,KAAMC,MAAOmB,QAAAA,aAAahB,QAClC,CAAEJ,KAAM,KAAMC,MAAOmB,QAAAA,aAAaG,OCHvBC,EAA0C,CACrD,CAAExB,KAAM,MAAOC,MAAOvB,QAAAA,mBAAmB+C,KACzC,CAAEzB,KAAM,KAAMC,MAAOvB,QAAAA,mBAAmBgD,KACxC,CAAE1B,KAAM,KAAMC,MAAOvB,QAAAA,mBAAmBiD,KACxC,CAAE3B,KAAM,KAAMC,MAAOvB,QAAAA,mBAAmBkD,KACxC,CAAE5B,KAAM,KAAMC,MAAOvB,QAAAA,mBAAmBmD,MCL7BC,EAA0C,CACrD,CAAE9B,KAAM,OAAQC,MAAOtB,QAAAA,YAAYoD,gBACnC,CAAE/B,KAAM,OAAQC,MAAOtB,QAAAA,YAAYqD,cACnC,CAAEhC,KAAM,OAAQC,MAAOtB,QAAAA,YAAYsD,kBACnC,CAAEjC,KAAM,OAAQC,MAAOtB,QAAAA,YAAYuD,kBACnC,CAAElC,KAAM,QAASC,MAAOtB,QAAAA,YAAYwD,cACpC,CAAEnC,KAAM,KAAMC,MAAOtB,QAAAA,YAAYyD,iBACjC,CAAEpC,KAAM,KAAMC,MAAOtB,QAAAA,YAAY0D,kBCPtBC,EAA+C,CAC1D,CAAEtC,KAAM,OAAQC,MAAOrB,QAAAA,cAAc2D,UACrC,CAAEvC,KAAM,OAAQC,MAAOrB,QAAAA,cAAc4D,UACrC,CAAExC,KAAM,OAAQC,MAAOrB,QAAAA,cAAc6D,QChBvC,IAAYC,ECAAC,EDAAD,QAkFXA,8BAAA,GAlFWA,EAAAA,QAAwBA,2BAAxBA,iCAkFX,CAAA,IAhFC,gBAAA,kBAGAA,EAAA,cAAA,gBAGAA,EAAA,cAAA,gBAGAA,EAAA,SAAA,WAGAA,EAAA,eAAA,iBAGAA,EAAA,QAAA,UAGAA,EAAA,qBAAA,uBAGAA,EAAA,kBAAA,oBAGAA,EAAA,oBAAA,sBAGAA,EAAA,eAAA,iBAGAA,EAAA,oBAAA,sBAGAA,EAAA,uBAAA,yBAGAA,EAAA,aAAA,eAGAA,EAAA,iBAAA,mBAIAA,EAAA,YAAA,cAMAA,EAAA,uBAAA,yBAKAA,EAAA,kBAAA,oBAKAA,EAAA,wBAAA,0BAKAA,EAAA,mBAAA,qBAKAA,EAAA,0BAAA,4BAKAA,EAAA,sBAAA,wBAKAA,EAAA,wBAAA,0BCjFUC,QA+EXA,0BAAA,GA/EWA,EAAAA,QAAoBA,uBAApBA,6BA+EX,CAAA,IA7EG,mBAAA,qBAEAA,EAAA,UAAA,YAEAA,EAAA,MAAA,QAEAA,EAAA,iBAAA,mBAEAA,EAAA,mBAAA,qBAEAA,EAAA,YAAA,cAEAA,EAAA,sBAAA,wBAEAA,EAAA,SAAA,WAEAA,EAAA,6BAAA,+BAEAA,EAAA,+BAAA,iCAEAA,EAAA,eAAA,iBAEAA,EAAA,wBAAA,0BAEAA,EAAA,2BAAA,6BAEAA,EAAA,sBAAA,wBAEAA,EAAA,6BAAA,+BAEAA,EAAA,kBAAA,oBAEAA,EAAA,gBAAA,kBAEAA,EAAA,cAAA,gBAEAA,EAAA,oBAAA,sBAEAA,EAAA,0BAAA,4BAEAA,EAAA,qBAAA,uBAEAA,EAAA,2BAAA,6BAEAA,EAAA,yBAAA,2BAEAA,EAAA,qBAAA,uBAEAA,EAAA,gCAAA,kCAEAA,EAAA,4BAAA,8BAEAA,EAAA,uCAAA,yCAEAA,EAAA,qCAAA,uCAEAA,EAAA,kCAAA,oCAEAA,EAAA,sBAAA,wBAEAA,EAAA,wBAAA,0BAEAA,EAAA,uBAAA,yBAEAA,EAAA,mBAAA,qBAEAA,EAAA,iBAAA,mBAEAA,EAAA,kBAAA,oBAEAA,EAAA,gCAAA,kCAEAA,EAAA,wBAAA,0BAEAA,EAAA,aAAA,eAEAA,EAAA,sBAAA,wBC1ES,MAAAC,EAA6D,CACtE,CACIC,MAAO,QACP5C,MAAO0C,QAAoBA,qBAACG,oBAEhC,CACID,MAAO,QACP5C,MAAO0C,QAAoBA,qBAACI,WAEhC,CACIF,MAAO,OACP5C,MAAO0C,QAAoBA,qBAACK,OAEhC,CACIH,MAAO,OACP5C,MAAO0C,QAAoBA,qBAACM,kBAEhC,CACIJ,MAAO,OACP5C,MAAO0C,QAAoBA,qBAACO,oBAEhC,CACIL,MAAO,OACP5C,MAAO0C,QAAoBA,qBAACQ,aAEhC,CACIN,MAAO,OACP5C,MAAO0C,QAAoBA,qBAACS,uBAEhC,CACIP,MAAO,QACP5C,MAAO0C,QAAoBA,qBAACU,UAEhC,CACIR,MAAO,UACP5C,MAAO0C,QAAoBA,qBAACW,8BAEhC,CACIT,MAAO,UACP5C,MAAO0C,QAAoBA,qBAACY,gCAEhC,CACIV,MAAO,QACP5C,MAAO0C,QAAoBA,qBAACa,gBAEhC,CACIX,MAAO,OACP5C,MAAO0C,QAAoBA,qBAACc,yBAEhC,CACIZ,MAAO,SACP5C,MAAO0C,QAAoBA,qBAACe,4BAEhC,CACIb,MAAO,QACP5C,MAAO0C,QAAoBA,qBAACgB,uBAEhC,CACId,MAAO,SACP5C,MAAO0C,QAAoBA,qBAACiB,8BAEhC,CACIf,MAAO,OACP5C,MAAO0C,QAAoBA,qBAACkB,mBAEhC,CACIhB,MAAO,OACP5C,MAAO0C,QAAoBA,qBAACmB,iBAEhC,CACIjB,MAAO,OACP5C,MAAO0C,QAAoBA,qBAACoB,eAEhC,CACIlB,MAAO,OACP5C,MAAO0C,QAAoBA,qBAACqB,qBAEhC,CACInB,MAAO,OACP5C,MAAO0C,QAAoBA,qBAACsB,2BAEhC,CACIpB,MAAO,SACP5C,MAAO0C,QAAoBA,qBAACuB,sBAEhC,CACIrB,MAAO,SACP5C,MAAO0C,QAAoBA,qBAACwB,4BAEhC,CACItB,MAAO,SACP5C,MAAO0C,QAAoBA,qBAACyB,0BAEhC,CACIvB,MAAO,SACP5C,MAAO0C,QAAoBA,qBAAC0B,sBAEhC,CACIxB,MAAO,UACP5C,MAAO0C,QAAoBA,qBAAC2B,iCAEhC,CACIzB,MAAO,SACP5C,MAAO0C,QAAoBA,qBAAC4B,6BAEhC,CACI1B,MAAO,SACP5C,MAAO0C,QAAoBA,qBAAC6B,wCAEhC,CACI3B,MAAO,SACP5C,MAAO0C,QAAoBA,qBAAC8B,sCAEhC,CACI5B,MAAO,SACP5C,MAAO0C,QAAoBA,qBAAC+B,mCAEhC,CACI7B,MAAO,SACP5C,MAAO0C,QAAoBA,qBAACgC,uBAEhC,CACI9B,MAAO,QACP5C,MAAO0C,QAAoBA,qBAACiC,yBAEhC,CACI/B,MAAO,OACP5C,MAAO0C,QAAoBA,qBAACkC,wBAEhC,CACIhC,MAAO,OACP5C,MAAO0C,QAAoBA,qBAACmC,oBAEhC,CACIjC,MAAO,OACP5C,MAAO0C,QAAoBA,qBAACoC,kBAEhC,CACIlC,MAAO,OACP5C,MAAO0C,QAAoBA,qBAACqC,mBAEhC,CACInC,MAAO,SACP5C,MAAO0C,QAAoBA,qBAACsC,iCAEhC,CACIpC,MAAO,SACP5C,MAAO0C,QAAoBA,qBAACuC,yBAEhC,CACIrC,MAAO,OACP5C,MAAO0C,QAAoBA,qBAACwC,cAEhC,CACItC,MAAO,QACP5C,MAAO0C,QAAoBA,qBAACyC,wBC9JpC,IAAYC,EAAAA,QAqCXA,wBAAA,GArCWA,EAAAA,QAAkBA,qBAAlBA,2BAqCX,CAAA,IAnCG,YAAA,yBAEAA,EAAA,gBAAA,6BAEAA,EAAA,gBAAA,kBAEAA,EAAA,mBAAA,qBAEAA,EAAA,qBAAA,uBAEAA,EAAA,WAAA,wBAEAA,EAAA,gBAAA,kBAEAA,EAAA,mBAAA,qBAEAA,EAAA,mBAAA,gCAEAA,EAAA,oBAAA,sBAEAA,EAAA,eAAA,4BAEAA,EAAA,oBAAA,sBAEAA,EAAA,WAAA,wBAEAA,EAAA,qBAAA,uBAEAA,EAAA,mBAAA,qBAEAA,EAAA,mBAAA,qBAEAA,EAAA,mBAAA,qBAEAA,EAAA,aAAA,0BCjCS,MAAAC,EAAyD,CAClE,CACIzC,MAAO,KACP5C,MAAOoF,QAAkBA,mBAACE,aAE9B,CACI1C,MAAO,KACP5C,MAAOoF,QAAkBA,mBAACG,iBAE9B,CACI3C,MAAO,KACP5C,MAAOoF,QAAkBA,mBAACI,iBAE9B,CACI5C,MAAO,KACP5C,MAAOoF,QAAkBA,mBAACK,oBAE9B,CACI7C,MAAO,KACP5C,MAAOoF,QAAkBA,mBAACM,sBAE9B,CACI9C,MAAO,KACP5C,MAAOoF,QAAkBA,mBAACO,YAE9B,CACI/C,MAAO,KACP5C,MAAOoF,QAAkBA,mBAACQ,iBAE9B,CACIhD,MAAO,KACP5C,MAAOoF,QAAkBA,mBAACS,oBAE9B,CACIjD,MAAO,KACP5C,MAAOoF,QAAkBA,mBAACU,oBAE9B,CACIlD,MAAO,KACP5C,MAAOoF,QAAkBA,mBAACW,qBAE9B,CACInD,MAAO,KACP5C,MAAOoF,QAAkBA,mBAACY,gBAE9B,CACIpD,MAAO,KACP5C,MAAOoF,QAAkBA,mBAACa,qBAE9B,CACIrD,MAAO,KACP5C,MAAOoF,QAAkBA,mBAACc,YAE9B,CACItD,MAAO,KACP5C,MAAOoF,QAAkBA,mBAACe,sBAE9B,CACIvD,MAAO,KACP5C,MAAOoF,QAAkBA,mBAACgB,oBAE9B,CACIxD,MAAO,KACP5C,MAAOoF,QAAkBA,mBAACiB,oBAE9B,CACIzD,MAAO,QACP5C,MAAOoF,QAAkBA,mBAACkB,oBAE9B,CACI1D,MAAO,MACP5C,MAAOoF,QAAkBA,mBAACmB,eC3EtBC,QAGXA,yBAAA,GAHWA,QAAmBA,sBAAnBA,4BAGX,CAAA,IADG,UAAA,YCCS,MAAAC,EAA6E,CACtF,CACI7D,MAAO,MACP5C,MAAOwG,QAAmBA,oBAACE,YCFtBC,EAA6E,CACtF,CACI/D,MAAO,OACP5C,MAAOX,QAAmBA,oBAACuH,uBAE/B,CACIhE,MAAO,OACP5C,MAAOX,QAAmBA,oBAACwH,uBAE/B,CACIjE,MAAO,OACP5C,MAAOX,QAAmBA,oBAACyH,iBAE/B,CACIlE,MAAO,OACP5C,MAAOX,QAAmBA,oBAAC0H,2BCftBC,EACX,CACE,CACEpE,MAAO,KACP5C,MAAOV,QAAwBA,yBAAC2H,WAElC,CACErE,MAAO,KACP5C,MAAOV,QAAwBA,yBAAC4H,OAElC,CACEtE,MAAO,KACP5C,MAAOV,QAAwBA,yBAAC6H,QAElC,CACEvE,MAAO,KACP5C,MAAOV,QAAwBA,yBAAC8H,cAElC,CACExE,MAAO,KACP5C,MAAOV,QAAwBA,yBAAC+H,aAElC,CACEzE,MAAO,KACP5C,MAAOV,QAAwBA,yBAACgI,eCzBzBC,EAA6E,CACtF,CACI3E,MAAO,KACP5C,MAAOJ,QAA4BA,6BAAC4H,UAExC,CACI5E,MAAO,OACP5C,MAAOJ,QAA4BA,6BAAC6H,oBAExC,CACI7E,MAAO,QACP5C,MAAOJ,QAA4BA,6BAAC8H,gBAExC,CACI9E,MAAO,OACP5C,MAAOJ,QAA4BA,6BAAC+H,qBAExC,CACI/E,MAAO,OACP5C,MAAOJ,QAA4BA,6BAACgI,WAExC,CACIhF,MAAO,MACP5C,MAAOJ,QAA4BA,6BAAC2G,eCtB/BsB,EAA2D,CACtE,CACEjF,MAAO,OACP5C,MAAO0C,QAAoBA,qBAACK,OAE9B,CACEH,MAAO,OACP5C,MAAO0C,QAAoBA,qBAACM,kBAE9B,CACEJ,MAAO,OACP5C,MAAO0C,QAAoBA,qBAACO,oBAE9B,CACEL,MAAO,OACP5C,MAAO0C,QAAoBA,qBAACQ,aAE9B,CACEN,MAAO,OACP5C,MAAO0C,QAAoBA,qBAACS,wBCZnB2E,EAAyD,CACpE,CAACrF,QAAAA,yBAAyB8C,iBAAkB5C,EAC5C,CAACF,QAAAA,yBAAyBsF,eAAgBF,EAC1C,CAACpF,QAAAA,yBAAyBuF,eAAgB3C,EAC1C,CAAC5C,QAAAA,yBAAyBwF,gBAAiBxB,EAC3C,CAAChE,QAAAA,yBAAyByF,gBAAiBvB,EAC3C,CAAClE,QAAAA,yBAAyB0F,qBAAsBnB,EAChD,CAACvE,QAAAA,yBAAyB2F,yBAA0Bb,GCVzCc,EACX,CACE,CACEzF,MAAO,OACP5C,MAAOyC,QAAwBA,yBAAC8C,iBAElC,CACE3C,MAAO,OACP5C,MAAOyC,QAAwBA,yBAACsF,eAElC,CACEnF,MAAO,OACP5C,MAAOyC,QAAwBA,yBAACuF,eAElC,CACEpF,MAAO,OACP5C,MAAOyC,QAAwBA,yBAAC6F,UAElC,CACE1F,MAAO,OACP5C,MAAOyC,QAAwBA,yBAACwF,gBAElC,CACErF,MAAO,OACP5C,MAAOyC,QAAwBA,yBAAC8F,SAElC,CACE3F,MAAO,OACP5C,MAAOyC,QAAwBA,yBAAC+F,sBAElC,CACE5F,MAAO,OACP5C,MAAOyC,QAAwBA,yBAACgG,mBAElC,CACE7F,MAAO,OACP5C,MAAOyC,QAAwBA,yBAACiG,qBAElC,CACE9F,MAAO,SACP5C,MAAOyC,QAAwBA,yBAACyF,gBAElC,CACEtF,MAAO,OACP5C,MAAOyC,QAAwBA,yBAAC0F,qBAElC,CACEvF,MAAO,OACP5C,MAAOyC,QAAwBA,yBAACkG,wBAElC,CACE/F,MAAO,OACP5C,MAAOyC,QAAwBA,yBAACmG,cAElC,CACEhG,MAAO,OACP5C,MAAOyC,QAAwBA,yBAACoG,kBAElC,CACEjG,MAAO,OACP5C,MAAOyC,QAAwBA,yBAACqG,aAElC,CACElG,MAAO,SACP5C,MAAOyC,QAAwBA,yBAACsG,wBAElC,CACEnG,MAAO,SACP5C,MAAOyC,QAAwBA,yBAACuG,mBAElC,CACEpG,MAAO,OACP5C,MAAOyC,QAAwBA,yBAAC2F,yBAElC,CACExF,MAAO,QACP5C,MAAOyC,QAAwBA,yBAACwG,oBAElC,CACErG,MAAO,SACP5C,MAAOyC,QAAwBA,yBAACyG,2BAElC,CACEtG,MAAO,SACP5C,MAAOyC,QAAwBA,yBAAC0G,uBAElC,CACEvG,MAAO,SACP5C,MAAOyC,QAAwBA,yBAAC2G,0BCnFzBC,EAA0D,CACrE,CAAEtJ,KAAM,OAAQC,MAAOpB,QAAAA,yBAAyB4E,yBAChD,CAAEzD,KAAM,SAAUC,MAAOpB,QAAAA,yBAAyB0K,iBAClD,CAAEvJ,KAAM,SAAUC,MAAOpB,QAAAA,yBAAyB2K,2BAClD,CAAExJ,KAAM,OAAQC,MAAOpB,QAAAA,yBAAyB4K,yBAChD,CAAEzJ,KAAM,MAAOC,MAAOpB,QAAAA,yBAAyB6K,gBCLpCC,EAA8C,CACzD,CAAE3J,KAAM,KAAMC,MAAOnB,QAAAA,qBAAqB8K,QAC1C,CAAE5J,KAAM,KAAMC,MAAOnB,QAAAA,qBAAqB+K,QCF/BC,EAAoD,CAC/D,CAAE9J,KAAM,KAAMC,MAAOhB,QAAAA,iBAAiB8K,SACtC,CAAE/J,KAAM,KAAMC,MAAOhB,QAAAA,iBAAiB+K,aACtC,CAAEhK,KAAM,KAAMC,MAAOhB,QAAAA,iBAAiBgL,YACtC,CAAEjK,KAAM,KAAMC,MAAOhB,QAAAA,iBAAiBiL,gBACtC,CAAElK,KAAM,KAAMC,MAAOhB,QAAAA,iBAAiBkL,gBACtC,CAAEnK,KAAM,MAAOC,MAAOhB,QAAAA,iBAAiBmL,WACvC,CAAEpK,KAAM,OAAQC,MAAOhB,QAAAA,iBAAiBoL,gBACxC,CAAErK,KAAM,KAAMC,MAAOhB,QAAAA,iBAAiBqL,OACtC,CAAEtK,KAAM,KAAMC,MAAOhB,QAAAA,iBAAiBsL,iBACtC,CAAEvK,KAAM,KAAMC,MAAOhB,QAAAA,iBAAiBuL,iBACtC,CAAExK,KAAM,KAAMC,MAAOhB,QAAAA,iBAAiBwL,SACtC,CAAEzK,KAAM,KAAMC,MAAOhB,QAAAA,iBAAiByL,SACtC,CAAE1K,KAAM,MAAOC,MAAOhB,QAAAA,iBAAiB0L,WACvC,CAAE3K,KAAM,OAAQC,MAAOhB,QAAAA,iBAAiB2L,cCd7BC,EAA4C,CACvD,CAAE7K,KAAM,MAAOC,MAAOf,QAAAA,aAAa4L,iBACnC,CAAE9K,KAAM,MAAOC,MAAOf,QAAAA,aAAa6L,mBACnC,CAAE/K,KAAM,QAASC,MAAOf,QAAAA,aAAa8L,qBCH1BC,EAAwC,CACnD,CAAEjL,KAAM,MAAOC,MAAOd,QAAAA,WAAW+L,cACjC,CAAElL,KAAM,MAAOC,MAAOd,QAAAA,WAAWgM,kBACjC,CAAEnL,KAAM,MAAOC,MAAOd,QAAAA,WAAWiM,mBACjC,CAAEpL,KAAM,KAAMC,MAAOd,QAAAA,WAAWkM,eCHtBC,QAGXA,cAAA,GAHWA,mBAAAA,QAAAA,SAGX,CAAA,IADC,mBAAA,qBAMW,MAAAC,EAAwC,CACnD,CAAEvL,KAAM,KAAMC,MAAOb,QAAAA,WAAWoM,SAChC,CAAExL,KAAM,KAAMC,MAAOb,QAAAA,WAAWqM,MAChC,CAAEzL,KAAM,KAAMC,MAAOb,QAAAA,WAAWsM,SAChC,CAAE1L,KAAM,KAAMC,MAAOb,QAAAA,WAAWuM,SAChC,CAAE3L,KAAM,KAAMC,MAAOb,QAAAA,WAAWwM,UAChC,CAAE5L,KAAM,KAAMC,MAAOb,QAAAA,WAAWyM,cAChC,CAAE7L,KAAM,KAAMC,MAAOb,QAAAA,WAAW0M,UAChC,CAAE9L,KAAM,KAAMC,MAAOb,QAAAA,WAAW2M,kBAChC,CAAE/L,KAAM,KAAMC,MAAOb,QAAAA,WAAW4M,QAChC,CAAEhM,KAAM,KAAMC,MAAOb,QAAAA,WAAW6M,QAChC,CAAEjM,KAAM,KAAMC,MAAOb,QAAAA,WAAW8M,qBAChC,CAAElM,KAAM,KAAMC,MAAOb,QAAAA,WAAW+M,kBAChC,CAAEnM,KAAM,MAAOC,MAAOb,QAAAA,WAAWgN,kBACjC,CAAEpM,KAAM,OAAQC,MAAOb,QAAAA,WAAWiN,kBAClC,CAAErM,KAAM,OAAQC,MAAOb,QAAAA,WAAWkN,gBAOvBC,EAA2D,CACtE,CAACjB,QAAAA,SAASkB,oBAAqB,CAC7BpN,QAAAA,WAAWoM,QACXpM,QAAAA,WAAWqM,KACXrM,QAAAA,WAAWsM,QACXtM,QAAAA,WAAWwM,SACXxM,QAAAA,WAAWyM,aACXzM,QAAAA,WAAW0M,SACX1M,QAAAA,WAAW8M,sBAST,SAAUO,EAA8BC,GAE5C,MAAMC,EAAiBJ,EAAyBG,IAAa,GAG7D,OAA8B,IAA1BC,EAAeC,OACVrB,EAIFA,EAAmBsB,QAAOC,GAC/BH,EAAeI,SAASD,EAAO7M,QAEnC,CC7Da,MAAA+M,EAA8C,CACzD,CAAEhN,KAAM,SAAUC,MAAOZ,QAAAA,cAAc4N,cACvC,CAAEjN,KAAM,SAAUC,MAAOZ,QAAAA,cAAc6N,kBACvC,CAAElN,KAAM,SAAUC,MAAOZ,QAAAA,cAAc8N,iBACvC,CAAEnN,KAAM,OAAQC,MAAOZ,QAAAA,cAAc+N,gBACrC,CAAEpN,KAAM,uBAAwBC,MAAOZ,QAAAA,cAAcgO,iBACrD,CAAErN,KAAM,uBAAwBC,MAAOZ,QAAAA,cAAciO,cACrD,CAAEtN,KAAM,0BAA2BC,MAAOZ,QAAAA,cAAckO,sBCX7CC,EAA2D,CACtE,CAAExN,KAAM,KAAMC,MAAOH,QAAAA,qBAAqB2N,SCG/BC,EAA4D,CACvE,CAAE1N,KAAM,SAAUC,MAAOR,QAAAA,0BAA0BkO,6BACnD,CAAE3N,KAAM,SAAUC,MAAOR,QAAAA,0BAA0BmO,6BACnD,CAAE5N,KAAM,SAAUC,MAAOR,QAAAA,0BAA0BoO,6BACnD,CAAE7N,KAAM,SAAUC,MAAOR,QAAAA,0BAA0BqO,8BCJxCC,EAAkD,CAC7D,CAAE/N,KAAM,MAAOC,MAAOT,QAAAA,oBAAoBwO,QAC1C,CAAEhO,KAAM,KAAMC,MAAOT,QAAAA,oBAAoBU,OACzC,CAAEF,KAAM,MAAOC,MAAOT,QAAAA,oBAAoByO,kBAC1C,CAAEjO,KAAM,MAAOC,MAAOT,QAAAA,oBAAoB0O,oBAC1C,CAAElO,KAAM,MAAOC,MAAOT,QAAAA,oBAAoB2O,eAC1C,CAAEnO,KAAM,MAAOC,MAAOT,QAAAA,oBAAoBkB,UAC1C,CAAEV,KAAM,MAAOC,MAAOT,QAAAA,oBAAoB4O,cAC1C,CAAEpO,KAAM,MAAOC,MAAOT,QAAAA,oBAAoBiB,YAC1C,CAAET,KAAM,MAAOC,MAAOT,QAAAA,oBAAoBmB,WAC1C,CAAEX,KAAM,MAAOC,MAAOT,QAAAA,oBAAoB6O,YAC1C,CAAErO,KAAM,QAASC,MAAOT,QAAAA,oBAAoB8O,qBAC5C,CAAEtO,KAAM,OAAQC,MAAOT,QAAAA,oBAAoB+O,oBAC3C,CAAEvO,KAAM,OAAQC,MAAOT,QAAAA,oBAAoBgP,gBAC3C,CAAExO,KAAM,OAAQC,MAAOT,QAAAA,oBAAoBiP,kBCdhCC,GAAwC,CACnD,CAAE1O,KAAM,OAAQC,MAAON,QAAAA,WAAWgP,aAClC,CAAE3O,KAAM,SAAUC,MAAON,QAAAA,WAAWiP,aCFzBC,GAAoD,CAC/D,CAAE7O,KAAM,QAASC,MAAOlB,QAAAA,kBAAkB+P,iBAC1C,CAAE9O,KAAM,QAASC,MAAOlB,QAAAA,kBAAkBgQ,eAC1C,CAAE/O,KAAM,MAAOC,MAAOlB,QAAAA,kBAAkBiQ,kBACxC,CAAEhP,KAAM,QAASC,MAAOlB,QAAAA,kBAAkBkQ,0BCjB5C,IAAYC,GAoEAC,GApEAD,QA+DXA,wBAAA,GA/DWA,GAAAA,6BAAAA,QAAAA,mBA+DX,CAAA,IA3DC,GAAA,KACAA,GAAA,GAAA,KACAA,GAAA,IAAA,MACAA,GAAA,IAAA,MACAA,GAAA,IAAA,MACAA,GAAA,IAAA,MACAA,GAAA,IAAA,MACAA,GAAA,KAAA,OACAA,GAAA,IAAA,MACAA,GAAA,IAAA,MACAA,GAAA,IAAA,MACAA,GAAA,IAAA,MACAA,GAAA,IAAA,MACAA,GAAA,IAAA,MACAA,GAAA,IAAA,MACAA,GAAA,IAAA,MACAA,GAAA,IAAA,MACAA,GAAA,IAAA,MACAA,GAAA,IAAA,MACAA,GAAA,IAAA,MACAA,GAAA,IAAA,MACAA,GAAA,KAAA,OACAA,GAAA,KAAA,OACAA,GAAA,MAAA,QACAA,GAAA,KAAA,OAKAA,GAAA,EAAA,IACAA,GAAA,GAAA,KACAA,GAAA,KAAA,OACAA,GAAA,GAAA,KACAA,GAAA,IAAA,MAKAA,GAAA,GAAA,KACAA,GAAA,IAAA,MACAA,GAAA,IAAA,MAKAA,GAAA,GAAA,KACAA,GAAA,EAAA,IACAA,GAAA,GAAA,KAKAA,GAAA,GAAA,KACAA,GAAA,IAAA,MAKAA,GAAA,SAAA,WAMUC,QA+DXA,0BAAA,GA/DWA,GAAAA,QAAoBA,uBAApBA,6BA+DX,CAAA,IA3DC,GAAA,IACAA,GAAA,GAAA,IACAA,GAAA,IAAA,IACAA,GAAA,IAAA,IACAA,GAAA,IAAA,IACAA,GAAA,IAAA,IACAA,GAAA,IAAA,IACAA,GAAA,KAAA,IACAA,GAAA,IAAA,IACAA,GAAA,IAAA,IACAA,GAAA,IAAA,IACAA,GAAA,IAAA,IACAA,GAAA,IAAA,IACAA,GAAA,IAAA,IACAA,GAAA,IAAA,IACAA,GAAA,IAAA,IACAA,GAAA,IAAA,IACAA,GAAA,IAAA,IACAA,GAAA,IAAA,KACAA,GAAA,IAAA,IACAA,GAAA,IAAA,IACAA,GAAA,KAAA,IACAA,GAAA,KAAA,IACAA,GAAA,MAAA,IACAA,GAAA,KAAA,IAKAA,GAAA,EAAA,IACAA,GAAA,GAAA,KACAA,GAAA,KAAA,OACAA,GAAA,GAAA,KACAA,GAAA,IAAA,KAKAA,GAAA,GAAA,KACAA,GAAA,IAAA,OACAA,GAAA,IAAA,OAKAA,GAAA,GAAA,MACAA,GAAA,EAAA,KACAA,GAAA,GAAA,KAKAA,GAAA,GAAA,KACAA,GAAA,IAAA,IAKAA,GAAA,SAAA,MChIW,MAAAC,GAAuB,CAIlC,CAAEC,KAAMH,QAAAA,mBAAmBI,GAAItP,KAAM,IAAKuP,QAAS,SACnD,CAAEF,KAAMH,QAAAA,mBAAmBM,GAAIxP,KAAM,IAAKuP,QAAS,QACnD,CAAEF,KAAMH,QAAAA,mBAAmBO,IAAKzP,KAAM,IAAKuP,QAAS,OACpD,CAAEF,KAAMH,QAAAA,mBAAmBQ,IAAK1P,KAAM,IAAKuP,QAAS,OACpD,CAAEF,KAAMH,QAAAA,mBAAmBS,IAAK3P,KAAM,IAAKuP,QAAS,OACpD,CAAEF,KAAMH,QAAAA,mBAAmBU,IAAK5P,KAAM,IAAKuP,QAAS,UACpD,CAAEF,KAAMH,QAAAA,mBAAmBW,IAAK7P,KAAM,IAAKuP,QAAS,UACpD,CAAEF,KAAMH,QAAAA,mBAAmBY,KAAM9P,KAAM,IAAKuP,QAAS,QACrD,CAAEF,KAAMH,QAAAA,mBAAmBa,IAAK/P,KAAM,IAAKuP,QAAS,OACpD,CAAEF,KAAMH,QAAAA,mBAAmBc,IAAKhQ,KAAM,IAAKuP,QAAS,OACpD,CAAEF,KAAMH,QAAAA,mBAAmBe,IAAKjQ,KAAM,IAAKuP,QAAS,UACpD,CAAEF,KAAMH,QAAAA,mBAAmBgB,IAAKlQ,KAAM,IAAKuP,QAAS,WACpD,CAAEF,KAAMH,QAAAA,mBAAmBiB,IAAKnQ,KAAM,IAAKuP,QAAS,SACpD,CAAEF,KAAMH,QAAAA,mBAAmBkB,IAAKpQ,KAAM,IAAKuP,QAAS,OACpD,CAAEF,KAAMH,QAAAA,mBAAmBmB,IAAKrQ,KAAM,IAAKuP,QAAS,OACpD,CAAEF,KAAMH,QAAAA,mBAAmBoB,IAAKtQ,KAAM,IAAKuP,QAAS,SACpD,CAAEF,KAAMH,QAAAA,mBAAmBqB,IAAKvQ,KAAM,IAAKuP,QAAS,SACpD,CAAEF,KAAMH,QAAAA,mBAAmBsB,IAAKxQ,KAAM,IAAKuP,QAAS,SACpD,CAAEF,KAAMH,QAAAA,mBAAmBuB,IAAKzQ,KAAM,KAAMuP,QAAS,UACrD,CAAEF,KAAMH,QAAAA,mBAAmBwB,IAAK1Q,KAAM,IAAKuP,QAAS,OACpD,CAAEF,KAAMH,QAAAA,mBAAmByB,IAAK3Q,KAAM,IAAKuP,QAAS,OACpD,CAAEF,KAAMH,QAAAA,mBAAmB0B,KAAM5Q,KAAM,IAAKuP,QAAS,QACrD,CAAEF,KAAMH,QAAAA,mBAAmB2B,KAAM7Q,KAAM,IAAKuP,QAAS,QACrD,CAAEF,KAAMH,QAAAA,mBAAmB4B,MAAO9Q,KAAM,IAAKuP,QAAS,SACtD,CAAEF,KAAMH,QAAAA,mBAAmB6B,KAAM/Q,KAAM,IAAKuP,QAAS,QAKrD,CAAEF,KAAMH,QAAAA,mBAAmB8B,EAAGhR,KAAM,IAAKuP,QAAS,SAClD,CAAEF,KAAMH,QAAAA,mBAAmB+B,GAAIjR,KAAM,KAAMuP,QAAS,eACpD,CAAEF,KAAMH,QAAAA,mBAAmBgC,KAAMlR,KAAM,OAAQuP,QAAS,OACxD,CAAEF,KAAMH,QAAAA,mBAAmBiC,GAAInR,KAAM,KAAMuP,QAAS,cACpD,CAAEF,KAAMH,QAAAA,mBAAmBkC,IAAKpR,KAAM,KAAMuP,QAAS,QAKrD,CAAEF,KAAMH,QAAAA,mBAAmBmC,GAAIrR,KAAM,KAAMuP,QAAS,eACpD,CACEF,KAAMH,QAAkBA,mBAACoC,IACzBtR,KAAM,OACNuP,QAAS,yBAEX,CACEF,KAAMH,QAAkBA,mBAACqC,IACzBvR,KAAM,OACNuP,QAAS,qBAMX,CAAEF,KAAMH,QAAAA,mBAAmBsC,GAAIxR,KAAM,MAAOuP,QAAS,cACrD,CAAEF,KAAMH,QAAAA,mBAAmBuC,EAAGzR,KAAM,KAAMuP,QAAS,SACnD,CAAEF,KAAMH,QAAAA,mBAAmBwC,GAAI1R,KAAM,KAAMuP,QAAS,cAKpD,CAAEF,KAAMH,QAAAA,mBAAmByC,GAAI3R,KAAM,KAAMuP,QAAS,YACpD,CAAEF,KAAMH,QAAAA,mBAAmB0C,IAAK5R,KAAM,IAAKuP,QAAS,OAKpD,CAAEF,KAAMH,QAAAA,mBAAmB2C,SAAU7R,KAAM,MAAOuP,QAAS,aAMhDuC,GAA+B1C,GAAqB2C,KAC9DC,IAAU,CACT/R,MAAO+R,EAAK3C,KACZxM,MAAOmP,EAAKhS,KACZuP,QAASyC,EAAKzC,YC3EZ0C,GAAgB,CAAChS,EAAeiS,EAPd,KAQtB,QAAsBC,IAAlBD,EAA6B,CAE/B,MAAME,EAASC,KAAKC,IAAI,EAAGD,KAAKE,MAAML,IAChCM,EAASH,KAAKI,IAAI,GAAIL,GAC5B,OAAOC,KAAKK,MAAMzS,EAAQuS,GAAUA,CACrC,CACD,OAAOvS,CAAK,EASD0S,GAAoB,CAC/BX,EACAE,EAzBsB,KA4BtB,GAAIF,EAAKY,UAAYZ,EAAKY,SAAShG,OAAS,EAAG,CAE7C,IAAIiG,EAAqB,EAOzB,OALAb,EAAKY,SAASE,SAASC,IAErBF,GAAsBG,GAAgBD,EAAWb,EAAc,IAG1DD,GAAcY,EAAqBb,EAAKiB,MAAOf,EACvD,CAED,MAAMgB,EAAUlB,EAAKkB,QACfD,EAAQjB,EAAKiB,MACbE,EAAYnB,EAAKmB,UAELnB,EAAKoB,WAClBhU,QAAkBA,WAAC4S,EAAKoB,WAI7B,MAAMC,EAAchB,KAAKC,IAAI,EAAGY,GAAW,GACrCI,EAAYjB,KAAKC,IAAI,EAAGW,GAAS,GACjCM,EAAYlB,KAAKC,IAAI,EAAGa,GAAa,GAGrCK,EAAkBnB,KAAKC,IAAI,EAAGN,EAAKyB,oBAAsB,GAmC/D,OAAOxB,GAhCMoB,EAAcC,EAAYC,EAAYC,EAgCtBtB,EAAc,EAahCc,GAAkB,CAC7BhB,EACAE,EAxGsB,KA2GtB,GAAIF,EAAKY,UAAYZ,EAAKY,SAAShG,OAAS,EAAG,CAE7C,IAAIiG,EAAqB,EAOzB,OALAb,EAAKY,SAASE,SAAQC,IAEpBF,GAAsBG,GAAgBD,EAAWb,EAAc,IAG1DD,GAAcD,EAAKiB,MAAQJ,EAAoBX,EACvD,CAGD,MAAMwB,EAAgB1B,EAAKoB,UACtBhU,QAAkBA,WAAC4S,EAAKoB,gBACzBjB,EAGJ,GACEuB,IAAkBtU,QAAAA,WAAWoM,SAC7BkI,IAAkBtU,QAAUA,WAACqM,KAE7B,OAAO,EAIT,MAAMkI,EAAiBhB,GAAkBX,EAAME,GAM/C,IAAI0B,EAASD,GAHQtB,KAAKC,IAAI,EAAGN,EAAK6B,cAAgB,KAAO,KAU7D,OAJIF,EAAiB,IACnBC,GAAUvB,KAAKyB,IAAIF,IAGd3B,GAAc2B,EAAQ1B,EAAc,EAgDhC6B,GAAgB,CAAC/B,EAAqBE,EAlM3B,KAmMtB,MAAM8B,EAAW3B,KAAKC,IAAI,EAAGN,EAAKiC,SAAW,GAAK,IAC5CC,EAAclB,GAAgBhB,EAAME,GAC1C,OAAOD,GAAciC,EAAcF,EAAU9B,EAAc,EAShDiC,GAAsB,CAACnC,EAAqBE,EA9MjC,KA+MtB,MAAM8B,EAAW3B,KAAKC,IAAI,EAAGN,EAAKoC,mBAAqB,GAAK,IACtDF,EAAclB,GAAgBhB,EAAME,GAC1C,OAAOD,GAAciC,EAAcF,EAAU9B,EAAc,WC7M7CmC,KAEd,MAAO,uCAAuCC,QAAQ,SAAUC,IAC9D,MAAMC,EAAqB,GAAhBnC,KAAKoC,SAAiB,EAEjC,OADgB,MAANF,EAAYC,EAAS,EAAJA,EAAW,GAC7BE,SAAS,GAAG,GAEzB,CAOgB,SAAAC,GAAiB/H,EAAS,IACxC,MAAMgI,EAAQ,mEACd,IAAIhB,EAAS,GACb,IAAK,IAAIiB,EAAI,EAAGA,EAAIjI,EAAQiI,IAAK,CAE/BjB,GAAUgB,EADUvC,KAAKE,MAAsBqC,GAAhBvC,KAAKoC,UAErC,CACD,OAAOb,CACT,CAqBM,SAAUkB,GAAuB7U,GAErC,GAAIA,SAAmD,KAAVA,EAC3C,MAAO,IAIT,MAAM8U,EAAW9U,EAAMyU,WAAWM,OAG5BC,EAASC,WAAWH,GAC1B,GAAII,MAAMF,GACR,MAAO,IAIT,MAAMG,EAAQL,EAASM,MAAM,KACvBC,EAAcF,EAAM,GACpBG,EAAcH,EAAM,GAIpBI,EAAmBF,EAAYhB,QAAQ,wBAAyB,KAGtE,YAAuBnC,IAAhBoD,EAA4B,GAAGC,KAAoBD,IAAgBC,CAC5E,CAmCM,SAAUC,GACdxV,EACAyV,EACAC,EAAqB,QACrBC,GAAkC,GAElC,IAAKC,MAAMC,QAAQJ,GACjB,OAIF,IAAIK,GAAS,EACTC,EAAQ,QAUZ,MAR6B,kBAAlBJ,GACTG,EAASH,EACTI,EAAQL,GAC0B,iBAAlBC,IAChBI,EAAQJ,EACRG,EAA+B,kBAAfJ,GAA2BA,GAGtCD,EAAQO,MAAKnJ,MACbA,GAA4B,iBAAXA,KAKhBkJ,KAASlJ,IAKRiJ,EAASjJ,EAAOkJ,KAAW/V,EAAQ6M,EAAOkJ,IAAU/V,KAE/D,CAQM,SAAUiW,GAAiBC,SAC/B,GAAwB,iBAAbA,EAAuB,MAAO,GACzC,MAAMf,EAAQe,EAASd,MAAM,KAC7B,OAAOD,EAAMxI,OAAS,IAAiB,QAAbwJ,EAAAhB,EAAMiB,aAAO,IAAAD,OAAA,EAAAA,EAAAE,gBAAsB,EAC/D,CAOM,SAAUC,GAAoBC,GAClC,IAAKA,EAAO,OAAOA,EAGnB,MAAMC,EAASD,EAAMlC,QAAQ,SAAU,IAGvC,MAAI,gBAAgBoC,KAAKD,GAChB,GAAGA,EAAOE,MAAM,EAAG,MAAMF,EAAOE,MAAM,EAAG,MAAMF,EAAOE,MAAM,KAI9DH,CACT,CAUM,SAAUvE,GAAchS,EAAY2W,EAAW,EAAGC,GAAc,GACpE,MAAMC,EAAM5B,WAAWjV,GAGvB,OAAIkV,MAAM2B,IAA4B,iBAAbF,GAAyBA,EAAW,EACpDG,QAAO,GAAIC,QAAQJ,IAEvBC,EACEE,OAAOD,EAAIE,QAAQJ,IADDE,EAAIE,QAAQJ,EAEvC,CAUM,SAAUK,GAAmBhX,EAAYiX,EAAyCL,GAAc,GACpG,IAAIM,EAAQ,EACZ,OAAQD,GACN,KAAKzX,QAAyBA,0BAACkO,4BAC7BwJ,EAAQ,EACR,MACF,KAAK1X,QAAyBA,0BAACmO,4BAC7BuJ,EAAQ,EACR,MACF,KAAK1X,QAAyBA,0BAACoO,4BAC7BsJ,EAAQ,EACR,MACF,KAAK1X,QAAyBA,0BAACqO,4BAC7BqJ,EAAQ,EACR,MACF,KAAK1X,QAAyBA,0BAAC2X,8BAC7BD,EAAQ,EAGZ,OAAOlF,GAAchS,EAAOkX,EAAON,EACrC,6MCzNA,MAAMQ,GAAsD,CAC1DC,UAAa,CACXtX,KAAQ,KACRqP,KAAQ,aAEVkI,OAAU,CACRvX,KAAQ,KACRqP,KAAQ,UAEVmI,mBAAsB,CACpBxX,KAAQ,MACRqP,KAAQ,sBAEVoI,UAAa,CACXzX,KAAQ,KACRqP,KAAQ,aAEVqI,KAAQ,CACN1X,KAAQ,KACRqP,KAAQ,QAEVsI,MAAS,CACP3X,KAAQ,KACRqP,KAAQ,SAEVuI,SAAY,CACV5X,KAAQ,MACRqP,KAAQ,YAEVwI,SAAY,CACV7X,KAAQ,KACRqP,KAAQ,YAEVyI,MAAS,CACP9X,KAAQ,QACRqP,KAAQ,SAEV0I,IAAO,CACL/X,KAAQ,KACRqP,KAAQ,MACRuD,SAAY,CACVoF,kBAAqB,CACnBhY,KAAQ,OACRqP,KAAQ,oBACR4I,UAAa,OAEfC,WAAc,CACZlY,KAAQ,KACRqP,KAAQ,aACR4I,UAAa,OAEfE,aAAgB,CACdnY,KAAQ,KACRqP,KAAQ,eACR4I,UAAa,SAInBG,aAAgB,CACdpY,KAAQ,OACRqP,KAAQ,gBAEVgJ,kBAAqB,CACnBrY,KAAQ,MACRqP,KAAQ,qBAEViJ,WAAc,CACZtY,KAAQ,MACRqP,KAAQ,cAEVkJ,qBAAwB,CACtBvY,KAAQ,MACRqP,KAAQ,wBAEVmJ,YAAe,CACbxY,KAAQ,MACRqP,KAAQ,eAEVoJ,gBAAmB,CACjBzY,KAAQ,MACRqP,KAAQ,mBAEVqJ,OAAU,CACR1Y,KAAQ,KACRqP,KAAQ,UAEVsJ,KAAQ,CACN3Y,KAAQ,OACRqP,KAAQ,QAEVuJ,eAAkB,CAChB5Y,KAAQ,KACRqP,KAAQ,kBAEVwJ,iBAAoB,CAClB7Y,KAAQ,OACRqP,KAAQ,mBACRuD,SAAY,CACVkG,aAAgB,CACd9Y,KAAQ,KACRqP,KAAQ,eACR4I,UAAa,oBAEfc,KAAQ,CACN/Y,KAAQ,KACRqP,KAAQ,OACR4I,UAAa,oBAEfe,kBAAqB,CACnBhZ,KAAQ,MACRqP,KAAQ,oBACR4I,UAAa,oBAEfgB,YAAe,CACbjZ,KAAQ,KACRqP,KAAQ,cACR4I,UAAa,oBAEfiB,iBAAoB,CAClBlZ,KAAQ,MACRqP,KAAQ,mBACR4I,UAAa,sBAInBkB,kBAAqB,CACnBnZ,KAAQ,OACRqP,KAAQ,qBAEV+J,OAAU,CACRpZ,KAAQ,SACRqP,KAAQ,UAEVgK,WAAc,CACZrZ,KAAQ,KACRqP,KAAQ,cAEViK,UAAa,CACXtZ,KAAQ,KACRqP,KAAQ,aAEVkK,mBAAsB,CACpBvZ,KAAQ,OACRqP,KAAQ,sBAEVmK,eAAkB,CAChBxZ,KAAQ,MACRqP,KAAQ,kBAEVoK,UAAa,CACXzZ,KAAQ,KACRqP,KAAQ,aAEVqK,OAAU,CACR1Z,KAAQ,KACRqP,KAAQ,UAEVsK,YAAe,CACb3Z,KAAQ,MACRqP,KAAQ,eAEVuK,MAAS,CACP5Z,KAAQ,KACRqP,KAAQ,SAEVwK,MAAS,CACP7Z,KAAQ,KACRqP,KAAQ,SAEVyK,YAAe,CACb9Z,KAAQ,KACRqP,KAAQ,eAEV0K,QAAW,CACT/Z,KAAQ,OACRqP,KAAQ,WAEV2K,SAAY,CACVha,KAAQ,KACRqP,KAAQ,YAEV4K,kBAAqB,CACnBja,KAAQ,KACRqP,KAAQ,qBAEV6K,aAAgB,CACdla,KAAQ,KACRqP,KAAQ,gBAEV8K,iBAAoB,CAClBna,KAAQ,OACRqP,KAAQ,oBAEV+K,YAAe,CACbpa,KAAQ,MACRqP,KAAQ,eAEVgL,cAAiB,CACfra,KAAQ,OACRqP,KAAQ,iBAEViL,gBAAmB,CACjBta,KAAQ,OACRqP,KAAQ,mBAEVkL,aAAgB,CACdva,KAAQ,KACRqP,KAAQ,gBAEVmL,eAAkB,CAChBxa,KAAQ,MACRqP,KAAQ,kBAEVoL,gBAAmB,CACjBza,KAAQ,KACRqP,KAAQ,mBAEVqL,WAAc,CACZ1a,KAAQ,MACRqP,KAAQ,cAEVsL,WAAc,CACZ3a,KAAQ,MACRqP,KAAQ,cAEVuL,iBAAoB,CAClB5a,KAAQ,OACRqP,KAAQ,oBAEVwL,KAAQ,CACN7a,KAAQ,KACRqP,KAAQ,QAEVyL,gBAAmB,CACjB9a,KAAQ,OACRqP,KAAQ,mBAEV0L,WAAc,CACZ/a,KAAQ,KACRqP,KAAQ,cAEV2L,MAAS,CACPhb,KAAQ,KACRqP,KAAQ,SAEV4L,OAAU,CACRjb,KAAQ,KACRqP,KAAQ,SACRuD,SAAY,CACVsI,8BAAiC,CAC/Blb,KAAQ,UACRqP,KAAQ,gCACR4I,UAAa,UAEfkD,YAAe,CACbnb,KAAQ,OACRqP,KAAQ,cACR4I,UAAa,YAInBmD,QAAW,CACTpb,KAAQ,KACRqP,KAAQ,UACRuD,SAAY,CACVyI,kBAAqB,CACnBrb,KAAQ,OACRqP,KAAQ,oBACR4I,UAAa,WAEfqD,cAAiB,CACftb,KAAQ,OACRqP,KAAQ,gBACR4I,UAAa,WAEfsD,mBAAsB,CACpBvb,KAAQ,KACRqP,KAAQ,qBACR4I,UAAa,WAEfuD,sBAAyB,CACvBxb,KAAQ,OACRqP,KAAQ,wBACR4I,UAAa,aAInBwD,IAAO,CACLzb,KAAQ,MACRqP,KAAQ,OAEVqM,wBAA2B,CACzB1b,KAAQ,KACRqP,KAAQ,0BACRuD,SAAY,CACV+I,WAAc,CACZ3b,KAAQ,MACRqP,KAAQ,aACR4I,UAAa,2BAEf2D,WAAc,CACZ5b,KAAQ,MACRqP,KAAQ,aACR4I,UAAa,2BAEf4D,SAAY,CACV7b,KAAQ,MACRqP,KAAQ,WACR4I,UAAa,2BAEf6D,MAAS,CACP9b,KAAQ,IACRqP,KAAQ,QACR4I,UAAa,2BAEf8D,SAAY,CACV/b,KAAQ,MACRqP,KAAQ,WACR4I,UAAa,2BAEf+D,eAAkB,CAChBhc,KAAQ,MACRqP,KAAQ,iBACR4I,UAAa,2BAEfgE,MAAS,CACPjc,KAAQ,MACRqP,KAAQ,QACR4I,UAAa,2BAEfiE,OAAU,CACRlc,KAAQ,MACRqP,KAAQ,SACR4I,UAAa,2BAEfkE,qBAAwB,CACtBnc,KAAQ,MACRqP,KAAQ,uBACR4I,UAAa,2BAEfmE,gBAAmB,CACjBpc,KAAQ,MACRqP,KAAQ,kBACR4I,UAAa,2BAEfoE,oBAAuB,CACrBrc,KAAQ,OACRqP,KAAQ,sBACR4I,UAAa,2BAEfqE,eAAkB,CAChBtc,KAAQ,MACRqP,KAAQ,iBACR4I,UAAa,2BAEfsE,cAAiB,CACfvc,KAAQ,KACRqP,KAAQ,gBACR4I,UAAa,2BAEfuE,UAAa,CACXxc,KAAQ,OACRqP,KAAQ,YACR4I,UAAa,2BAEfwE,gBAAmB,CACjBzc,KAAQ,QACRqP,KAAQ,kBACR4I,UAAa,2BAEfyE,aAAgB,CACd1c,KAAQ,MACRqP,KAAQ,eACR4I,UAAa,2BAEf0E,eAAkB,CAChB3c,KAAQ,MACRqP,KAAQ,iBACR4I,UAAa,2BAEf2E,YAAe,CACb5c,KAAQ,MACRqP,KAAQ,cACR4I,UAAa,2BAEf4E,kCAAqC,CACnC7c,KAAQ,OACRqP,KAAQ,oCACR4I,UAAa,2BAEf6E,cAAiB,CACf9c,KAAQ,MACRqP,KAAQ,gBACR4I,UAAa,2BAEf8E,UAAa,CACX/c,KAAQ,MACRqP,KAAQ,YACR4I,UAAa,2BAEf+E,iBAAoB,CAClBhd,KAAQ,MACRqP,KAAQ,mBACR4I,UAAa,2BAEfgF,SAAY,CACVjd,KAAQ,OACRqP,KAAQ,WACR4I,UAAa,2BAEfiF,mBAAsB,CACpBld,KAAQ,KACRqP,KAAQ,qBACR4I,UAAa,6BAInBkF,SAAY,CACVnd,KAAQ,KACRqP,KAAQ,YAEV+N,aAAgB,CACdpd,KAAQ,MACRqP,KAAQ,gBAEVgO,eAAkB,CAChBrd,KAAQ,OACRqP,KAAQ,kBAEViO,YAAe,CACbtd,KAAQ,MACRqP,KAAQ,eAEVkO,MAAS,CACPvd,KAAQ,IACRqP,KAAQ,SAEVmO,MAAS,CACPxd,KAAQ,QACRqP,KAAQ,SAEVoO,KAAQ,CACNzd,KAAQ,KACRqP,KAAQ,OACRuD,SAAY,CACV8K,eAAkB,CAChB1d,KAAQ,QACRqP,KAAQ,iBACR4I,UAAa,QAEf0F,aAAgB,CACd3d,KAAQ,OACRqP,KAAQ,eACR4I,UAAa,QAEf2F,cAAiB,CACf5d,KAAQ,UACRqP,KAAQ,gBACR4I,UAAa,QAEf4F,SAAY,CACV7d,KAAQ,OACRqP,KAAQ,WACR4I,UAAa,UAInB6F,cAAiB,CACf9d,KAAQ,KACRqP,KAAQ,iBAEV0O,YAAe,CACb/d,KAAQ,MACRqP,KAAQ,eAEV2O,MAAS,CACPhe,KAAQ,KACRqP,KAAQ,SAEV4O,cAAiB,CACfje,KAAQ,KACRqP,KAAQ,gBACRuD,SAAY,CACVsL,mBAAsB,CACpBle,KAAQ,QACRqP,KAAQ,qBACR4I,UAAa,iBAEfkG,aAAgB,CACdne,KAAQ,KACRqP,KAAQ,eACR4I,UAAa,iBAEfmG,gBAAmB,CACjBpe,KAAQ,OACRqP,KAAQ,kBACR4I,UAAa,iBAEfoG,UAAa,CACXre,KAAQ,KACRqP,KAAQ,YACR4I,UAAa,iBAEfqG,aAAgB,CACdte,KAAQ,QACRqP,KAAQ,eACR4I,UAAa,iBAEfsG,SAAY,CACVve,KAAQ,KACRqP,KAAQ,WACR4I,UAAa,iBAEfuG,cAAiB,CACfxe,KAAQ,KACRqP,KAAQ,gBACR4I,UAAa,iBAEfwG,UAAa,CACXze,KAAQ,KACRqP,KAAQ,YACR4I,UAAa,iBAEfyG,SAAY,CACV1e,KAAQ,MACRqP,KAAQ,WACR4I,UAAa,iBAEf0G,SAAY,CACV3e,KAAQ,KACRqP,KAAQ,WACR4I,UAAa,iBAEf2G,iBAAoB,CAClB5e,KAAQ,MACRqP,KAAQ,mBACR4I,UAAa,iBAEf4G,aAAgB,CACd7e,KAAQ,KACRqP,KAAQ,eACR4I,UAAa,iBAEf6G,kBAAqB,CACnB9e,KAAQ,MACRqP,KAAQ,oBACR4I,UAAa,iBAEf8G,eAAkB,CAChB/e,KAAQ,MACRqP,KAAQ,iBACR4I,UAAa,iBAEf+G,iBAAoB,CAClBhf,KAAQ,KACRqP,KAAQ,mBACR4I,UAAa,iBAEfgH,oBAAuB,CACrBjf,KAAQ,MACRqP,KAAQ,sBACR4I,UAAa,iBAEfiH,mBAAsB,CACpBlf,KAAQ,MACRqP,KAAQ,qBACR4I,UAAa,iBAEfkH,gBAAmB,CACjBnf,KAAQ,MACRqP,KAAQ,kBACR4I,UAAa,iBAEfmH,gBAAmB,CACjBpf,KAAQ,MACRqP,KAAQ,kBACR4I,UAAa,iBAEfoH,mBAAsB,CACpBrf,KAAQ,MACRqP,KAAQ,qBACR4I,UAAa,iBAEfqH,iBAAoB,CAClBtf,KAAQ,MACRqP,KAAQ,mBACR4I,UAAa,iBAEfsH,gBAAmB,CACjBvf,KAAQ,MACRqP,KAAQ,kBACR4I,UAAa,iBAEfuH,MAAS,CACPxf,KAAQ,MACRqP,KAAQ,QACR4I,UAAa,iBAEfwH,iBAAoB,CAClBzf,KAAQ,MACRqP,KAAQ,mBACR4I,UAAa,iBAEfyH,aAAgB,CACd1f,KAAQ,KACRqP,KAAQ,eACR4I,UAAa,iBAEf0H,aAAgB,CACd3f,KAAQ,OACRqP,KAAQ,eACR4I,UAAa,iBAEf2H,SAAY,CACV5f,KAAQ,KACRqP,KAAQ,WACR4I,UAAa,iBAEf4H,UAAa,CACX7f,KAAQ,KACRqP,KAAQ,YACR4I,UAAa,iBAEf6H,WAAc,CACZ9f,KAAQ,MACRqP,KAAQ,aACR4I,UAAa,iBAEf8H,sBAAyB,CACvB/f,KAAQ,OACRqP,KAAQ,wBACR4I,UAAa,iBAEf+H,aAAgB,CACdhgB,KAAQ,KACRqP,KAAQ,eACR4I,UAAa,iBAEfgI,QAAW,CACTjgB,KAAQ,MACRqP,KAAQ,UACR4I,UAAa,iBAEfiI,gBAAmB,CACjBlgB,KAAQ,MACRqP,KAAQ,kBACR4I,UAAa,iBAEfkI,YAAe,CACbngB,KAAQ,KACRqP,KAAQ,cACR4I,UAAa,iBAEfmI,MAAS,CACPpgB,KAAQ,KACRqP,KAAQ,QACR4I,UAAa,gBACbrF,SAAY,CACVyN,UAAa,CACXrgB,KAAQ,MACRqP,KAAQ,YACR4I,UAAa,SAEfqI,WAAc,CACZtgB,KAAQ,KACRqP,KAAQ,aACR4I,UAAa,SAEfsI,WAAc,CACZvgB,KAAQ,KACRqP,KAAQ,aACR4I,UAAa,SAEfuI,uBAA0B,CACxBxgB,KAAQ,MACRqP,KAAQ,yBACR4I,UAAa,SAEfwI,UAAa,CACXzgB,KAAQ,KACRqP,KAAQ,YACR4I,UAAa,SAEfyI,qBAAwB,CACtB1gB,KAAQ,MACRqP,KAAQ,uBACR4I,UAAa,SAEf0I,iBAAoB,CAClB3gB,KAAQ,MACRqP,KAAQ,mBACR4I,UAAa,SAEf2I,aAAgB,CACd5gB,KAAQ,KACRqP,KAAQ,eACR4I,UAAa,SAEf4I,YAAe,CACb7gB,KAAQ,KACRqP,KAAQ,cACR4I,UAAa,SAEf6I,gBAAmB,CACjB9gB,KAAQ,MACRqP,KAAQ,kBACR4I,UAAa,SAEf8I,gBAAmB,CACjB/gB,KAAQ,MACRqP,KAAQ,kBACR4I,UAAa,SAEf+I,mBAAsB,CACpBhhB,KAAQ,MACRqP,KAAQ,qBACR4I,UAAa,WAInBgJ,oBAAuB,CACrBjhB,KAAQ,KACRqP,KAAQ,sBACR4I,UAAa,iBAEfiJ,mBAAsB,CACpBlhB,KAAQ,MACRqP,KAAQ,qBACR4I,UAAa,iBAEfkJ,SAAY,CACVnhB,KAAQ,KACRqP,KAAQ,WACR4I,UAAa,iBAEfmJ,QAAW,CACTphB,KAAQ,KACRqP,KAAQ,UACR4I,UAAa,iBAEfoJ,gBAAmB,CACjBrhB,KAAQ,KACRqP,KAAQ,kBACR4I,UAAa,iBAEfqJ,8BAAiC,CAC/BthB,KAAQ,QACRqP,KAAQ,gCACR4I,UAAa,iBAEfsJ,uBAA0B,CACxBvhB,KAAQ,OACRqP,KAAQ,yBACR4I,UAAa,iBAEfuJ,eAAkB,CAChBxhB,KAAQ,KACRqP,KAAQ,iBACR4I,UAAa,iBAEfwJ,gBAAmB,CACjBzhB,KAAQ,OACRqP,KAAQ,kBACR4I,UAAa,iBAEfyJ,gBAAmB,CACjB1hB,KAAQ,MACRqP,KAAQ,kBACR4I,UAAa,iBAEf0J,oBAAuB,CACrB3hB,KAAQ,MACRqP,KAAQ,sBACR4I,UAAa,iBAEf2J,cAAiB,CACf5hB,KAAQ,KACRqP,KAAQ,gBACR4I,UAAa,iBAEf4J,YAAe,CACb7hB,KAAQ,MACRqP,KAAQ,cACR4I,UAAa,iBAEf6J,UAAa,CACX9hB,KAAQ,MACRqP,KAAQ,YACR4I,UAAa,iBAEf8J,iBAAoB,CAClB/hB,KAAQ,MACRqP,KAAQ,mBACR4I,UAAa,iBAEf+J,YAAe,CACbhiB,KAAQ,OACRqP,KAAQ,cACR4I,UAAa,iBAEfgK,aAAgB,CACdjiB,KAAQ,KACRqP,KAAQ,eACR4I,UAAa,iBAEfiK,UAAa,CACXliB,KAAQ,MACRqP,KAAQ,YACR4I,UAAa,iBAEfkK,mBAAsB,CACpBniB,KAAQ,MACRqP,KAAQ,qBACR4I,UAAa,iBAEfmK,aAAgB,CACdpiB,KAAQ,MACRqP,KAAQ,eACR4I,UAAa,mBAInBoK,aAAgB,CACdriB,KAAQ,KACRqP,KAAQ,gBAEViT,UAAa,CACXtiB,KAAQ,KACRqP,KAAQ,aAEVkT,UAAa,CACXviB,KAAQ,KACRqP,KAAQ,aAEVmT,IAAO,CACLxiB,KAAQ,KACRqP,KAAQ,MACRuD,SAAY,CACV6P,oBAAuB,CACrBziB,KAAQ,QACRqP,KAAQ,sBACR4I,UAAa,OAEfyK,wBAA2B,CACzB1iB,KAAQ,OACRqP,KAAQ,0BACR4I,UAAa,OAEf0K,aAAgB,CACd3iB,KAAQ,SACRqP,KAAQ,eACR4I,UAAa,OAEf2K,cAAiB,CACf5iB,KAAQ,MACRqP,KAAQ,gBACR4I,UAAa,OAEf4K,eAAkB,CAChB7iB,KAAQ,OACRqP,KAAQ,iBACR4I,UAAa,OAEf6K,SAAY,CACV9iB,KAAQ,MACRqP,KAAQ,WACR4I,UAAa,OAEf8K,aAAgB,CACd/iB,KAAQ,KACRqP,KAAQ,eACR4I,UAAa,OAEf+K,eAAkB,CAChBhjB,KAAQ,QACRqP,KAAQ,iBACR4I,UAAa,OAEfgL,aAAgB,CACdjjB,KAAQ,OACRqP,KAAQ,eACR4I,UAAa,OAEfiL,kBAAqB,CACnBljB,KAAQ,SACRqP,KAAQ,oBACR4I,UAAa,SAInBkL,QAAW,CACTnjB,KAAQ,KACRqP,KAAQ,WAEV+T,mBAAsB,CACpBpjB,KAAQ,OACRqP,KAAQ,sBAEVgU,SAAY,CACVrjB,KAAQ,KACRqP,KAAQ,YAEViU,YAAe,CACbtjB,KAAQ,OACRqP,KAAQ,eAEVkU,QAAW,CACTvjB,KAAQ,OACRqP,KAAQ,WAEVmU,WAAc,CACZxjB,KAAQ,KACRqP,KAAQ,cAEVoU,oBAAuB,CACrBzjB,KAAQ,OACRqP,KAAQ,sBACRuD,SAAY,CACV8Q,OAAU,CACR1jB,KAAQ,KACRqP,KAAQ,SACR4I,UAAa,uBAEf0L,cAAiB,CACf3jB,KAAQ,MACRqP,KAAQ,gBACR4I,UAAa,uBAEf2L,QAAW,CACT5jB,KAAQ,KACRqP,KAAQ,UACR4I,UAAa,uBAEf4L,OAAU,CACR7jB,KAAQ,KACRqP,KAAQ,SACR4I,UAAa,uBAEf6L,WAAc,CACZ9jB,KAAQ,KACRqP,KAAQ,aACR4I,UAAa,uBAEf8L,WAAc,CACZ/jB,KAAQ,KACRqP,KAAQ,aACR4I,UAAa,uBAEf+L,OAAU,CACRhkB,KAAQ,MACRqP,KAAQ,SACR4I,UAAa,uBAEfgM,eAAkB,CAChBjkB,KAAQ,OACRqP,KAAQ,iBACR4I,UAAa,uBAEfiM,OAAU,CACRlkB,KAAQ,KACRqP,KAAQ,SACR4I,UAAa,uBAEfkM,WAAc,CACZnkB,KAAQ,MACRqP,KAAQ,aACR4I,UAAa,uBAEfmM,qBAAwB,CACtBpkB,KAAQ,OACRqP,KAAQ,uBACR4I,UAAa,uBAEfoM,iBAAoB,CAClBrkB,KAAQ,OACRqP,KAAQ,mBACR4I,UAAa,uBAEfqM,OAAU,CACRtkB,KAAQ,KACRqP,KAAQ,SACR4I,UAAa,uBAEfsM,oBAAuB,CACrBvkB,KAAQ,OACRqP,KAAQ,sBACR4I,UAAa,uBAEfuM,KAAQ,CACNxkB,KAAQ,MACRqP,KAAQ,OACR4I,UAAa,uBAEfwM,OAAU,CACRzkB,KAAQ,KACRqP,KAAQ,SACR4I,UAAa,uBAEfyM,YAAe,CACb1kB,KAAQ,KACRqP,KAAQ,cACR4I,UAAa,uBAEf0M,MAAS,CACP3kB,KAAQ,KACRqP,KAAQ,QACR4I,UAAa,uBAEf2M,cAAiB,CACf5kB,KAAQ,KACRqP,KAAQ,gBACR4I,UAAa,uBAEf4M,sBAAyB,CACvB7kB,KAAQ,OACRqP,KAAQ,wBACR4I,UAAa,uBAEf6M,WAAc,CACZ9kB,KAAQ,KACRqP,KAAQ,aACR4I,UAAa,uBAEf8M,YAAe,CACb/kB,KAAQ,KACRqP,KAAQ,cACR4I,UAAa,uBAEf+M,YAAe,CACbhlB,KAAQ,KACRqP,KAAQ,cACR4I,UAAa,uBAEfgN,WAAc,CACZjlB,KAAQ,MACRqP,KAAQ,aACR4I,UAAa,uBAEfiN,aAAgB,CACdllB,KAAQ,MACRqP,KAAQ,eACR4I,UAAa,uBAEfkN,eAAkB,CAChBnlB,KAAQ,MACRqP,KAAQ,iBACR4I,UAAa,uBAEfmN,MAAS,CACPplB,KAAQ,KACRqP,KAAQ,QACR4I,UAAa,uBAEfoN,eAAkB,CAChBrlB,KAAQ,MACRqP,KAAQ,iBACR4I,UAAa,yBAInBqN,WAAc,CACZtlB,KAAQ,KACRqP,KAAQ,cAEVkW,OAAU,CACRvlB,KAAQ,KACRqP,KAAQ,UAEVmW,MAAS,CACPxlB,KAAQ,MACRqP,KAAQ,SAEVoW,mBAAsB,CACpBzlB,KAAQ,MACRqP,KAAQ,sBAEVqW,aAAgB,CACd1lB,KAAQ,MACRqP,KAAQ,gBAEVsW,SAAY,CACV3lB,KAAQ,KACRqP,KAAQ,YAEVuW,aAAgB,CACd5lB,KAAQ,MACRqP,KAAQ,gBAEVwW,cAAiB,CACf7lB,KAAQ,KACRqP,KAAQ,iBAEVQ,IAAO,CACL7P,KAAQ,SACRqP,KAAQ,OAEVyW,KAAQ,CACN9lB,KAAQ,KACRqP,KAAQ,QAEV0W,QAAW,CACT/lB,KAAQ,KACRqP,KAAQ,UACRuD,SAAY,CACVoT,sBAAyB,CACvBhmB,KAAQ,OACRqP,KAAQ,wBACR4I,UAAa,WAEfgO,yBAA4B,CAC1BjmB,KAAQ,OACRqP,KAAQ,2BACR4I,UAAa,WAEfiO,mBAAsB,CACpBlmB,KAAQ,KACRqP,KAAQ,qBACR4I,UAAa,WAEfkO,aAAgB,CACdnmB,KAAQ,KACRqP,KAAQ,eACR4I,UAAa,aAInBmO,UAAa,CACXpmB,KAAQ,QACRqP,KAAQ,aAEVgX,GAAM,CACJrmB,KAAQ,KACRqP,KAAQ,MAEViX,SAAY,CACVtmB,KAAQ,KACRqP,KAAQ,YAEVkX,QAAW,CACTvmB,KAAQ,MACRqP,KAAQ,WAEVmX,SAAY,CACVxmB,KAAQ,KACRqP,KAAQ,YAEVoX,UAAa,CACXzmB,KAAQ,KACRqP,KAAQ,aAEVqX,gBAAmB,CACjB1mB,KAAQ,MACRqP,KAAQ,mBAEVsX,OAAU,CACR3mB,KAAQ,KACRqP,KAAQ,UAEVuX,UAAa,CACX5mB,KAAQ,MACRqP,KAAQ,aAEVwX,MAAS,CACP7mB,KAAQ,KACRqP,KAAQ,SAEVyX,YAAe,CACb9mB,KAAQ,KACRqP,KAAQ,eAEV0X,gBAAmB,CACjB/mB,KAAQ,OACRqP,KAAQ,mBAEV2X,WAAc,CACZhnB,KAAQ,KACRqP,KAAQ,cAEV4X,aAAgB,CACdjnB,KAAQ,KACRqP,KAAQ,gBAEV6X,IAAO,CACLlnB,KAAQ,IACRqP,KAAQ,OAEV8X,OAAU,CACRnnB,KAAQ,KACRqP,KAAQ,UAEV+X,cAAiB,CACfpnB,KAAQ,MACRqP,KAAQ,iBAEVgY,KAAQ,CACNrnB,KAAQ,KACRqP,KAAQ,QAEViY,MAAS,CACPtnB,KAAQ,KACRqP,KAAQ,SAEVkY,gBAAmB,CACjBvnB,KAAQ,MACRqP,KAAQ,mBAEVmY,QAAW,CACTxnB,KAAQ,KACRqP,KAAQ,WAEVoY,4BAA+B,CAC7BznB,KAAQ,OACRqP,KAAQ,+BAEVqY,eAAkB,CAChB1nB,KAAQ,KACRqP,KAAQ,kBAEVsY,SAAY,CACV3nB,KAAQ,KACRqP,KAAQ,YAEVuY,KAAQ,CACN5nB,KAAQ,KACRqP,KAAQ,QAEVwY,IAAO,CACL7nB,KAAQ,MACRqP,KAAQ,OAEVyY,OAAU,CACR9nB,KAAQ,KACRqP,KAAQ,SACRuD,SAAY,CACVmV,cAAiB,CACf/nB,KAAQ,OACRqP,KAAQ,gBACR4I,UAAa,UAEf+P,YAAe,CACbhoB,KAAQ,OACRqP,KAAQ,cACR4I,UAAa,UAEfgQ,oBAAuB,CACrBjoB,KAAQ,OACRqP,KAAQ,sBACR4I,UAAa,UAEfiQ,cAAiB,CACfloB,KAAQ,OACRqP,KAAQ,gBACR4I,UAAa,UAEfkQ,qBAAwB,CACtBnoB,KAAQ,OACRqP,KAAQ,uBACR4I,UAAa,YAInBmQ,OAAU,CACRpoB,KAAQ,KACRqP,KAAQ,SACRuD,SAAY,CACVyV,WAAc,CACZroB,KAAQ,OACRqP,KAAQ,aACR4I,UAAa,UAEfqQ,YAAe,CACbtoB,KAAQ,OACRqP,KAAQ,cACR4I,UAAa,UAEfsQ,aAAgB,CACdvoB,KAAQ,KACRqP,KAAQ,eACR4I,UAAa,UAEfuQ,cAAiB,CACfxoB,KAAQ,OACRqP,KAAQ,gBACR4I,UAAa,YAInBwQ,gBAAmB,CACjBzoB,KAAQ,MACRqP,KAAQ,mBAEVqZ,aAAgB,CACd1oB,KAAQ,OACRqP,KAAQ,eACRuD,SAAY,CACV+V,OAAU,CACR3oB,KAAQ,KACRqP,KAAQ,SACR4I,UAAa,kBAInB2Q,UAAa,CACX5oB,KAAQ,KACRqP,KAAQ,aAEVwZ,WAAc,CACZ7oB,KAAQ,OACRqP,KAAQ,aACRuD,SAAY,CACVkW,YAAe,CACb9oB,KAAQ,KACRqP,KAAQ,cACR4I,UAAa,cAEf8Q,MAAS,CACP/oB,KAAQ,KACRqP,KAAQ,QACR4I,UAAa,cAEf+Q,UAAa,CACXhpB,KAAQ,OACRqP,KAAQ,YACR4I,UAAa,cAEfgR,WAAc,CACZjpB,KAAQ,OACRqP,KAAQ,aACR4I,UAAa,cAEfiR,YAAe,CACblpB,KAAQ,OACRqP,KAAQ,cACR4I,UAAa,cAEfkR,cAAiB,CACfnpB,KAAQ,KACRqP,KAAQ,gBACR4I,UAAa,cAEfmR,mBAAsB,CACpBppB,KAAQ,OACRqP,KAAQ,qBACR4I,UAAa,cAEfoR,YAAe,CACbrpB,KAAQ,OACRqP,KAAQ,cACR4I,UAAa,cAEfqR,OAAU,CACRtpB,KAAQ,KACRqP,KAAQ,SACR4I,UAAa,gBAInBsR,yBAA4B,CAC1BvpB,KAAQ,OACRqP,KAAQ,4BAEVma,IAAO,CACLxpB,KAAQ,KACRqP,KAAQ,MACRuD,SAAY,CACV6W,SAAY,CACVzpB,KAAQ,KACRqP,KAAQ,WACR4I,UAAa,OAEfyR,OAAU,CACR1pB,KAAQ,OACRqP,KAAQ,SACR4I,UAAa,OAEf0R,kBAAqB,CACnB3pB,KAAQ,OACRqP,KAAQ,oBACR4I,UAAa,OAEf2R,0BAA6B,CAC3B5pB,KAAQ,OACRqP,KAAQ,4BACR4I,UAAa,OAEf4R,SAAY,CACV7pB,KAAQ,OACRqP,KAAQ,WACR4I,UAAa,OAEf6R,OAAU,CACR9pB,KAAQ,WACRqP,KAAQ,SACR4I,UAAa,SAInB8R,OAAU,CACR/pB,KAAQ,KACRqP,KAAQ,UAEV2a,QAAW,CACThqB,KAAQ,KACRqP,KAAQ,WAEV4a,QAAW,CACTjqB,KAAQ,OACRqP,KAAQ,WAEV6a,MAAS,CACPlqB,KAAQ,KACRqP,KAAQ,SAEV8a,WAAc,CACZnqB,KAAQ,KACRqP,KAAQ,aACRuD,SAAY,CACVwX,UAAa,CACXpqB,KAAQ,KACRqP,KAAQ,YACR4I,UAAa,cAEfoS,YAAe,CACbrqB,KAAQ,KACRqP,KAAQ,cACR4I,UAAa,cAEfqS,UAAa,CACXtqB,KAAQ,KACRqP,KAAQ,YACR4I,UAAa,cAEfsS,aAAgB,CACdvqB,KAAQ,KACRqP,KAAQ,eACR4I,UAAa,cAEfuS,UAAa,CACXxqB,KAAQ,KACRqP,KAAQ,YACR4I,UAAa,gBAInBwS,cAAiB,CACfzqB,KAAQ,OACRqP,KAAQ,iBAEVqb,sBAAyB,CACvB1qB,KAAQ,OACRqP,KAAQ,wBACRuD,SAAY,CACV+X,wBAA2B,CACzB3qB,KAAQ,QACRqP,KAAQ,0BACR4I,UAAa,yBAEf2S,UAAa,CACX5qB,KAAQ,KACRqP,KAAQ,YACR4I,UAAa,yBAEf4S,WAAc,CACZ7qB,KAAQ,OACRqP,KAAQ,aACR4I,UAAa,yBAEf6S,iBAAoB,CAClB9qB,KAAQ,OACRqP,KAAQ,mBACR4I,UAAa,yBAEf8S,gBAAmB,CACjB/qB,KAAQ,OACRqP,KAAQ,kBACR4I,UAAa,yBAEf+S,qBAAwB,CACtBhrB,KAAQ,OACRqP,KAAQ,uBACR4I,UAAa,yBAEfgT,4BAA+B,CAC7BjrB,KAAQ,QACRqP,KAAQ,8BACR4I,UAAa,yBAEfiT,oBAAuB,CACrBlrB,KAAQ,MACRqP,KAAQ,sBACR4I,UAAa,2BAInBkT,OAAU,CACRnrB,KAAQ,KACRqP,KAAQ,UAEV+b,kBAAqB,CACnBprB,KAAQ,KACRqP,KAAQ,oBACRuD,SAAY,CACVyY,yBAA4B,CAC1BrrB,KAAQ,OACRqP,KAAQ,2BACR4I,UAAa,qBAEfqT,yBAA4B,CAC1BtrB,KAAQ,OACRqP,KAAQ,2BACR4I,UAAa,uBAInBsT,iBAAoB,CAClBvrB,KAAQ,MACRqP,KAAQ,oBAEVmc,QAAW,CACTxrB,KAAQ,KACRqP,KAAQ,WAEVoc,eAAkB,CAChBzrB,KAAQ,KACRqP,KAAQ,kBAEVqc,MAAS,CACP1rB,KAAQ,KACRqP,KAAQ,SAEVsc,wBAA2B,CACzB3rB,KAAQ,KACRqP,KAAQ,2BAEVuc,QAAW,CACT5rB,KAAQ,OACRqP,KAAQ,WAEVwc,aAAgB,CACd7rB,KAAQ,MACRqP,KAAQ,gBAEVyc,WAAc,CACZ9rB,KAAQ,OACRqP,KAAQ,cAEV0c,MAAS,CACP/rB,KAAQ,KACRqP,KAAQ,SAEV2c,sBAAyB,CACvBhsB,KAAQ,OACRqP,KAAQ,yBAEV4c,KAAQ,CACNjsB,KAAQ,OACRqP,KAAQ,SCxgDI,SAAA6c,GAAkBC,EAAsBC,GAEvD,OAAOA,EAAiBD,IAAiB,IAC1C,CAyEA,SAASE,GAAkBC,EAAqBC,GAE/C,GAAIA,EAAWD,GACd,OAAOC,EAAWD,GAInB,IAAK,MAAME,KAAOD,EAAY,CAC7B,MAAME,EAAWF,EAAWC,GAG5B,GAAIC,EAAS7Z,SAAU,CAEtB,MAAM8Z,EAAgBL,GAAkBC,EAAaG,EAAS7Z,UAC9D,GAAI8Z,EACH,OAAOA,CAER,CACD,CAIF,uWCozBA,IAAAC,GAx6BA,MAIEC,8BAAgC,CAE9Btd,GAAI,CACFtP,KAAM,KACN6C,MAAO,IACPgqB,YAAa,IACbC,OAAQ,QACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3B5d,GAAI,CACFxP,KAAM,KACN6C,MAAO,IACPgqB,YAAa,IACbC,OAAQ,OACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3BC,KAAM,CACJrtB,KAAM,OACN6C,MAAO,IACPgqB,YAAa,IACbC,OAAQ,OACRC,UAAW,EACXC,MAAO,EACPE,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3B3d,IAAK,CACHzP,KAAM,MACN6C,MAAO,IACPgqB,YAAa,IACbC,OAAQ,MACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3B1d,IAAK,CACH1P,KAAM,MACN6C,MAAO,IACPgqB,YAAa,IACbC,OAAQ,MACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3Bzd,IAAK,CACH3P,KAAM,MACN6C,MAAO,IACPgqB,YAAa,IACbC,OAAQ,MACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3Bxd,IAAK,CACH5P,KAAM,MACN6C,MAAO,IACPgqB,YAAa,IACbC,OAAQ,SACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3Bvd,IAAK,CACH7P,KAAM,MACN6C,MAAO,IACPgqB,YAAa,IACbC,OAAQ,SACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3Btd,KAAM,CACJ9P,KAAM,OACN6C,MAAO,IACPgqB,YAAa,IACbC,OAAQ,OACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3Brd,IAAK,CACH/P,KAAM,MACN6C,MAAO,IACPgqB,YAAa,IACbC,OAAQ,MACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3Bpd,IAAK,CACHhQ,KAAM,MACN6C,MAAO,IACPgqB,YAAa,IACbC,OAAQ,MACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3Bnd,IAAK,CACHjQ,KAAM,MACN6C,MAAO,IACPgqB,YAAa,IACbC,OAAQ,SACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3Bld,IAAK,CACHlQ,KAAM,MACN6C,MAAO,IACPgqB,YAAa,IACbC,OAAQ,UACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3Bjd,IAAK,CACHnQ,KAAM,MACN6C,MAAO,IACPgqB,YAAa,IACbC,OAAQ,QACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3Bhd,IAAK,CACHpQ,KAAM,MACN6C,MAAO,IACPgqB,YAAa,IACbC,OAAQ,MACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3B/c,IAAK,CACHrQ,KAAM,MACN6C,MAAO,IACPgqB,YAAa,IACbC,OAAQ,MACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3B9c,IAAK,CACHtQ,KAAM,MACN6C,MAAO,IACPgqB,YAAa,IACbC,OAAQ,QACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3B7c,IAAK,CACHvQ,KAAM,MACN6C,MAAO,IACPgqB,YAAa,IACbC,OAAQ,QACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3B5c,IAAK,CACHxQ,KAAM,MACN6C,MAAO,IACPgqB,YAAa,IACbC,OAAQ,QACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3B3c,IAAK,CACHzQ,KAAM,MACN6C,MAAO,KACPgqB,YAAa,KACbC,OAAQ,SACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3B1c,IAAK,CACH1Q,KAAM,MACN6C,MAAO,IACPgqB,YAAa,IACbC,OAAQ,MACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3Bzc,IAAK,CACH3Q,KAAM,MACN6C,MAAO,IACPgqB,YAAa,IACbC,OAAQ,MACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3Bxc,KAAM,CACJ5Q,KAAM,OACN6C,MAAO,IACPgqB,YAAa,IACbC,OAAQ,OACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3Bvc,KAAM,CACJ7Q,KAAM,OACN6C,MAAO,IACPgqB,YAAa,IACbC,OAAQ,OACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3Btc,MAAO,CACL9Q,KAAM,QACN6C,MAAO,IACPgqB,YAAa,IACbC,OAAQ,QACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3Brc,KAAM,CACJ/Q,KAAM,OACN6C,MAAO,IACPgqB,YAAa,IACbC,OAAQ,OACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAK3Bpc,EAAG,CACDhR,KAAM,IACN6C,MAAO,IACPgqB,YAAa,IACbC,OAAQ,QACRC,UAAW,EACXC,MAAO,IACPC,mBAAoB,CAAC,SACrBC,SAAU,KAAO,CACfC,MAAQC,IACN,MAAME,MAAEA,GAAUF,EAClB,OAAOE,EAAQ,GAAI,KAIzBrc,GAAI,CACFjR,KAAM,KACN6C,MAAO,KACPgqB,YAAa,KACbC,OAAQ,cACRC,UAAW,EACXC,MAAO,IACPC,mBAAoB,CAAC,SACrBC,SAAU,KAAO,CACfC,MAAQC,IACN,MAAME,MAAEA,GAAUF,EAClB,OAAOE,EAAQ,GAAI,KAIzBpc,KAAM,CACJlR,KAAM,OACN6C,MAAO,OACPgqB,YAAa,KACbC,OAAQ,MACRC,UAAW,EACXC,MAAO,IACPC,mBAAoB,CAAC,QAAS,UAC9BC,SAAU,KAAO,CACfC,MAAQC,IACN,MAAME,MAAEA,EAAKC,OAAEA,GAAWH,EAC1B,OAAQ,EAAIG,EAASD,GAAS,GAAI,KAIxCnc,GAAI,CACFnR,KAAM,KACN6C,MAAO,KACPgqB,YAAa,KACbC,OAAQ,aACRC,UAAW,EACXC,MAAO,GACPC,mBAAoB,CAAC,SACrBC,SAAU,KAAO,CACfC,MAAQC,IACN,MAAME,MAAEA,GAAUF,EAClB,OAAOE,CAAK,KAIlBlc,IAAK,CACHpR,KAAM,MACN6C,MAAO,KACPgqB,YAAa,KACbC,OAAQ,OACRC,UAAW,EACXC,MAAO,IACPC,mBAAoB,CAAC,SACrBC,SAAU,KAAO,CACfC,MAAQC,IACN,MAAME,MAAEA,GAAUF,EAClB,OAAOE,EAAQ,IAAI,KAMzBjc,GAAI,CACFrR,KAAM,KACN6C,MAAO,KACPgqB,YAAa,IACbC,OAAQ,cACRC,UAAW,EACXC,MAAO,IACPC,mBAAoB,CAAC,QAAS,UAC9BC,SAAU,KAAO,CACfC,MAAQC,IACN,MAAME,MAAEA,EAAKC,OAAEA,GAAWH,EAC1B,OAAQE,EAAQC,EAAU,GAAO,KAIvCjc,IAAK,CACHtR,KAAM,MACN6C,MAAO,OACPgqB,YAAa,MACbC,OAAQ,wBACRC,UAAW,EACXC,MAAO,IACPC,mBAAoB,CAAC,QAAS,UAC9BC,SAAU,KAAO,CACfC,MAAQC,IACN,MAAME,MAAEA,EAAKC,OAAEA,GAAWH,EAC1B,OAAQE,EAAQC,EAAU,GAAO,KAIvChc,IAAK,CACHvR,KAAM,MACN6C,MAAO,OACPgqB,YAAa,MACbC,OAAQ,oBACRC,UAAW,EACXC,MAAO,IACPC,mBAAoB,CAAC,QAAS,UAC9BC,SAAU,KAAO,CACfC,MAAQC,IACN,MAAME,MAAEA,EAAKC,OAAEA,GAAWH,EAC1B,OAAQE,EAAQC,EAAU,GAAO,KAMvC/b,GAAI,CACFxR,KAAM,KACN6C,MAAO,MACPgqB,YAAa,KACbC,OAAQ,aACRC,UAAW,EACXC,MAAO,IACPC,mBAAoB,CAAC,QAAS,SAAU,SACxCC,SAAU,KAAO,CACfC,MAAQC,IACN,MAAME,MAAEA,EAAKC,OAAEA,EAAMC,MAAEA,GAAUJ,EACjC,OAAQE,EAAQC,EAASC,EAAS,GAAU,KAIlD/b,EAAG,CACDzR,KAAM,IACN6C,MAAO,KACPgqB,YAAa,KACbC,OAAQ,QACRC,UAAW,EACXC,MAAO,IACPC,mBAAoB,CAAC,QAAS,SAAU,SACxCC,SAAU,KAAO,CACfC,MAAQC,IACN,MAAME,MAAEA,EAAKC,OAAEA,EAAMC,MAAEA,GAAUJ,EACjC,OAAQE,EAAQC,EAASC,EAAS,GAAO,KAI/C9b,GAAI,CACF1R,KAAM,KACN6C,MAAO,KACPgqB,YAAa,KACbC,OAAQ,aACRC,UAAW,EACXC,MAAO,IACPC,mBAAoB,CAAC,QAAS,SAAU,SACxCC,SAAU,KAAO,CACfC,MAAQC,IACN,MAAME,MAAEA,EAAKC,OAAEA,EAAMC,MAAEA,GAAUJ,EACjC,OAAQE,EAAQC,EAASC,EAAS,GAAI,KAM5C7b,GAAI,CACF3R,KAAM,KACN6C,MAAO,KACPgqB,YAAa,KACbC,OAAQ,WACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3Bxb,IAAK,CACH5R,KAAM,MACN6C,MAAO,IACPgqB,YAAa,IACbC,OAAQ,MACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAK3Bvb,SAAU,CACR7R,KAAM,WACN6C,MAAO,MACPgqB,YAAa,MACbC,OAAQ,WACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAK3BK,UAAW,SAASztB,GAClB,IAAKA,EAAM,OAAO,KAClB,IAAK,MAAMwsB,KAAOkB,KAChB,GAAIA,KAAKlB,IAAQkB,KAAKlB,GAAKxsB,OAASA,EAClC,OAAO0tB,KAAKlB,GAGhB,OAAO,IACR,GAMHI,wCAA0C,CACxCe,OAAQ,SACRC,aAAc,eACdC,aAAc,gBAchB,0BAAOC,CAAoBC,GAEzB,MAAMT,MAAEA,EAAKC,OAAEA,EAAMC,MAAEA,GAAUE,KAAKM,sBAAsBD,GAG5DA,EAAIT,MAAQA,EACZS,EAAIR,OAASA,EACbQ,EAAIP,MAAQA,EAGZ,MAAMS,EAAWC,OAAOC,KAAKT,KAAKU,wBAC/BvhB,QAAO2f,GAAmD,iBAArCkB,KAAKU,uBAAuB5B,IAA6B,cAARA,IACtEvW,MAAKoY,GAAQX,KAAKU,uBAAuBC,IAAOxrB,QAAUkrB,EAAIO,cAEjE,IAAKL,EAEH,OADAM,QAAQC,KAAK,WAAWT,EAAIO,qBACrB,EAGT,MAAMA,EAAcZ,KAAKU,uBAAuBH,GAGhD,IAEE,IAAIF,EAAIU,kBAyBN,OAAOf,KAAKgB,0BAA0BJ,EAAahB,EAAOC,EAAQC,EAAOO,EAAIY,cAvB7E,OAAQZ,EAAIU,mBACV,IAAK,eACH,OAAQnB,EAAQC,GAAWe,EAAYtB,OAAS,KAClD,IAAK,eACH,OAAQO,EAASC,GAAUc,EAAYtB,OAAS,KAClD,IAAK,cACH,OAAQM,EAAQE,GAAUc,EAAYtB,OAAS,KACjD,IAAK,YACH,OAAO,GAAKM,EAAQE,GAAS,IAC/B,IAAK,QACH,OAAOF,GAAmC,IAA1BgB,EAAYvB,UAAkB,IAAO,GACvD,IAAK,SACH,OAAOQ,GAAoC,IAA1Be,EAAYvB,UAAkB,IAAO,GACxD,IAAK,QACH,OAAOS,GAAmC,IAA1Bc,EAAYvB,UAAkB,IAAO,GACvD,IAAK,gBACH,OAAQgB,EAAIY,cAAgBrB,GAAS,IACvC,QAEE,OAAOI,KAAKgB,0BAA0BJ,EAAahB,EAAOC,EAAQC,EAAOO,EAAIY,cAMpF,CAAC,MAAOC,GAEP,OADAL,QAAQK,MAAM,WAAYA,GACnB,CACR,CACF,CAWD,gCAAOF,CAA0BJ,EAAahB,EAAOC,EAAQC,EAAOmB,GAClE,OAAOL,EAAYpB,WAAWC,MAAM,CAClCG,QACAC,SACAC,QACAmB,gBAEH,CAOD,yBAAOE,CAAmBP,GAExB,MAAML,EAAWC,OAAOC,KAAKT,KAAKU,wBAAwBnY,MAAKoY,GAC7DX,KAAKU,uBAAuBC,IAAOxrB,QAAUyrB,IAG/C,IAAKL,EACH,OAAO,KAGT,MAAMI,EAAOX,KAAKU,uBAAuBH,GAGzC,IAAIa,EAAU,GAGS,IAAnBT,EAAKtB,WAEP+B,EAAQC,KAAK,CACXvC,IAAK,eACL3pB,MAAO,QACPmsB,YAAa,GAAGX,EAAKxrB,eACrBoqB,mBAAoB,CAAC,QAAS,YAGhC6B,EAAQC,KAAK,CACXvC,IAAK,cACL3pB,MAAO,QACPmsB,YAAa,GAAGX,EAAKxrB,eACrBoqB,mBAAoB,CAAC,QAAS,WAGhC6B,EAAQC,KAAK,CACXvC,IAAK,eACL3pB,MAAO,QACPmsB,YAAa,GAAGX,EAAKxrB,eACrBoqB,mBAAoB,CAAC,SAAU,YAEL,IAAnBoB,EAAKtB,YAEd+B,EAAQC,KAAK,CACXvC,IAAK,QACL3pB,MAAO,KACPmsB,YAAa,GAAGX,EAAKxrB,cACrBoqB,mBAAoB,CAAC,WAGvB6B,EAAQC,KAAK,CACXvC,IAAK,SACL3pB,MAAO,KACPmsB,YAAa,GAAGX,EAAKxrB,cACrBoqB,mBAAoB,CAAC,YAGvB6B,EAAQC,KAAK,CACXvC,IAAK,QACL3pB,MAAO,KACPmsB,YAAa,GAAGX,EAAKxrB,cACrBoqB,mBAAoB,CAAC,WAIvB6B,EAAQC,KAAK,CACXvC,IAAK,YACL3pB,MAAO,KACPmsB,YAAa,GAAGX,EAAKxrB,cACrBoqB,mBAAoB,CAAC,QAAS,YAKX,IAAnB6B,EAAQliB,QACVkiB,EAAQC,KAAK,CACXvC,IAAK,UACL3pB,MAAO,OACPmsB,YAAa,KAAKX,EAAKxrB,YACvBoqB,mBAAoBoB,EAAKpB,qBAK7B,IAAIgC,EAAgB,UASpB,OANuB,IAAnBZ,EAAKtB,UACPkC,EAAgB,eACY,IAAnBZ,EAAKtB,YACdkC,EAAgB,SAGX,CACLjvB,KAAMquB,EAAKruB,KACX6C,MAAOwrB,EAAKxrB,MACZgqB,YAAawB,EAAKxB,YAClBC,OAAQuB,EAAKvB,OACbC,UAAWsB,EAAKtB,UAChBkC,cAAeA,EACfH,QAASA,EACT7B,mBAAoBoB,EAAKpB,mBAE5B,CAMD,yBAAOiC,GACL,OAAOhB,OAAOiB,QAAQzB,KAAKU,wBACxBvhB,QAAO,EAAE2f,KAAqD,iBAArCkB,KAAKU,uBAAuB5B,IAA6B,cAARA,IAC1Eza,KAAI,EAAE1C,EAAMgf,MAEX,MAAMe,EAAW1B,KAAKmB,mBAAmBR,EAAKxrB,OAE9C,MAAO,CACL7C,KAAMquB,EAAKruB,KACX6C,MAAOwrB,EAAKxrB,MACZiqB,OAAQuB,EAAKvB,OACbC,UAAWsB,EAAKtB,UAChBkC,cAAeG,GAAUH,eAAiB,UAC1CH,QAASM,GAAUN,SAAW,CAAC,CAC7BtC,IAAK,UACL3pB,MAAO,OACPmsB,YAAa,KAAKX,EAAKxrB,YACvBoqB,mBAAoBoB,EAAKpB,qBAE3BA,mBAAoBoB,EAAKpB,mBAC1B,GAEN,CAOD,4BAAOe,CAAsBD,GAE3B,MAAMsB,EAAO,CACX/B,MAAOS,EAAIT,OAAS,EACpBC,OAAQQ,EAAIR,QAAU,EACtBC,MAAOO,EAAIP,OAAS,GAIhB8B,EAAW5B,KAAK6B,iBAAiBxB,GAevC,OAZIuB,EAASE,QACXH,EAAK/B,MAAQI,KAAK+B,eAAeJ,EAAK/B,MAAOgC,EAASE,QAGpDF,EAASI,SACXL,EAAK9B,OAASG,KAAK+B,eAAeJ,EAAK9B,OAAQ+B,EAASI,SAGtDJ,EAASK,QACXN,EAAK7B,MAAQE,KAAK+B,eAAeJ,EAAK7B,MAAO8B,EAASK,QAGjDN,CACR,CAOD,uBAAOE,CAAiBxB,GAEtB,MAAO,CACLyB,MAAS,CAAEI,aAAc,SAAUC,SAAU,EAAGC,cAAe,GAC/DJ,OAAU,CAAEE,aAAc,SAAUC,SAAU,EAAGC,cAAe,GAChEH,MAAS,CAAEC,aAAc,SAAUC,SAAU,EAAGC,cAAe,GAElE,CAQD,qBAAOL,CAAexvB,EAAO8vB,GAC3B,MAAMH,aAAEA,EAAYC,SAAEA,EAAQC,cAAEA,GAAkBC,EAClD,IAAInc,EAAS3T,EAGb,MAAM+vB,EAAc9a,WAAW2a,GAAY,GACrCI,EAAmB/a,WAAW4a,GAAiB,GAGrD,OAAQF,GACN,KAAKlC,KAAKwC,iCAAiCtC,aAEzCha,GAAUA,EAASoc,GAAeC,EAClC,MACF,KAAKvC,KAAKwC,iCAAiCrC,aAEzCja,EAASA,EAASqc,EAAmBD,EAEvC,KAAKtC,KAAKwC,iCAAiCvC,QAM7C,OAAO/Z,CACR,CASD,0BAAOuc,CAAoB7B,EAAavB,EAAW0B,GAEjD,IAAKH,IAAgBvB,EACnB,OAAO,EAIT,MAAMqD,EAAsBrD,EAAUzW,cACtC,IAAK,CAAC,QAAS,SAAU,SAASvJ,SAASqjB,GACzC,OAAO,EAIT,MAAMnC,EAAWC,OAAOC,KAAKT,KAAKU,wBAC/BvhB,QAAO2f,GAAmD,iBAArCkB,KAAKU,uBAAuB5B,IAA6B,cAARA,IACtEvW,MAAKoY,GAAQX,KAAKU,uBAAuBC,IAAOxrB,QAAUyrB,IAE7D,IAAKL,EACH,OAAO,EAGT,MAAMI,EAAOX,KAAKU,uBAAuBH,GAGzC,GAAIQ,EACF,OAAQA,GACN,IAAK,eACH,MAA+B,UAAxB2B,GAA2D,WAAxBA,EAC5C,IAAK,cAIL,IAAK,YACH,MAA+B,UAAxBA,GAA2D,UAAxBA,EAH5C,IAAK,eACH,MAA+B,WAAxBA,GAA4D,UAAxBA,EAG7C,IAAK,QAML,IAAK,gBACH,MAA+B,UAAxBA,EALT,IAAK,SACH,MAA+B,WAAxBA,EACT,IAAK,QACH,MAA+B,UAAxBA,EAGT,QAEE,OAAO/B,EAAKpB,mBAAmBlgB,SAASqjB,GAK9C,OAAO/B,EAAKpB,mBAAmBlgB,SAASqjB,EACzC,CAOD,yBAAOC,CAAmB/B,GAExB,IAAKA,EACH,OAAO,EAIT,MAAML,EAAWC,OAAOC,KAAKT,KAAKU,wBAC/BvhB,QAAO2f,GAAmD,iBAArCkB,KAAKU,uBAAuB5B,IAA6B,cAARA,IACtEvW,MAAKoY,GAAQX,KAAKU,uBAAuBC,IAAOxrB,QAAUyrB,IAE7D,IAAKL,EACH,OAAO,EAGT,MAAMI,EAAOX,KAAKU,uBAAuBH,GAGzC,OAAOI,EAAKtB,UAAY,GAAKsB,EAAKpB,mBAAmBrgB,OAAS,CAC/D,aCp6BH,MAAM0jB,GAA4BC,IAC5Bte,cAAEA,IAAkBue,GAyD1B,SAASC,GAAwBC,GAC/B,IAEE,IAAKA,EAAOpC,YACV,OAAO,EAGT,MAAMqC,EAAoBL,GAA0BxC,oBAAoB,CACtEQ,YAAaoC,EAAOpC,YACpBhB,MAAOoD,EAAOpD,OAAS,EACvBC,OAAQmD,EAAOnD,QAAU,EACzBC,MAAOkD,EAAOlD,OAAS,EACvBiB,kBAAmBiC,EAAOjC,kBAC1BE,aAAc+B,EAAO/B,eAOvB,OAHgB1c,GAAc0e,EAAmB,IAAM,CAIxD,CAAC,MAAO/B,GAEP,MAAMA,CACP,CACH,CA6GA,IAAA1b,GAAiB,CACf0d,SAhFF,SAAkBF,GAChB,IAEE,OADgBze,GAAcwe,GAAwBC,IAAW,IAAK,GAAG,GACxDA,EAAOzd,KACzB,CAAC,MAAO2b,GACP,MAAMA,CACP,CACH,EA0EE6B,2BACA5B,mBAxGF,SAA4BP,GAC1B,IACE,OAAOgC,GAA0BzB,mBAAmBP,EACrD,CAAC,MAAOM,GACP,MAAMA,CACP,CACH,EAmGEM,mBArEF,WACE,IACE,OAAOoB,GAA0BpB,oBAClC,CAAC,MAAON,GACP,MAAMA,CACP,CACH,EAgEEuB,oBAtDF,SAA6B7B,EAAavB,EAAW0B,GACnD,IACE,OAAO6B,GAA0BH,oBAAoB7B,EAAavB,EAAW0B,EAC9E,CAAC,MAAOG,GACP,MAAMA,CACP,CACH,EAiDEyB,mBAzCF,SAA4B/B,GAC1B,IACE,OAAOgC,GAA0BD,mBAAmB/B,EACrD,CAAC,MAAOM,GACP,MAAMA,CACP,CACH,EAoCEiC,0BA7BF,WACE,IACE,MAAMC,EAAUR,GAA0BlC,uBACpCxa,EAAS,GAGf,IAAK,MAAM4Y,KAAOsE,EACY,iBAAjBA,EAAQtE,IAAsC,OAAjBsE,EAAQtE,IAAyB,cAARA,GAC/D5Y,EAAOmb,KAAK,CACV/uB,KAAM8wB,EAAQtE,GAAK3pB,MACnBwM,KAAMyhB,EAAQtE,GAAKxsB,OAKzB,OAAO4T,CACR,CAAC,MAAOgb,GACP,MAAMA,CACP,CACH,EAWE0B,8BCjEU7jB,EAA8BnB,QAAQA,SAACkB,oBAMnD,MAAMukB,GAAgC,CACrCC,aAAc,CAAC,CACbhxB,KAAM,MACNixB,MAAO,EACPC,aAAc,aACdC,aAAc,gBACdC,QAAQ,EACRC,WAAY,CAAC,CACXrxB,KAAM,QACNsxB,KAAM,eACNtb,MAAO,QACPub,UAAU,EACV7b,QAAS,IAEV,CACC1V,KAAM,QACNsxB,KAAM,eACNtb,MAAO,QACPub,UAAU,EACVC,WAAY,WACZ9b,QAAS,IAEV,CACC1V,KAAM,QACNsxB,KAAM,kBACNtb,MAAO,WACPub,UAAU,EACVC,WAAY,QACZ9b,QAAS,IAEV,CACC1V,KAAM,QACNsxB,KAAM,iBACNtb,MAAO,UACPub,UAAU,EACVC,WAAY,WACZ9b,QAAS,MAIZ,CACC1V,KAAM,OACNixB,MAAO,EACPC,aAAc,iBACdC,aAAc,gBACdM,eAAe,EACfL,QAAQ,EACRC,WAAY,CAAC,CACXrxB,KAAM,SACNsxB,KAAM,eACNtb,MAAO,QACPub,UAAU,EACV7b,QAAS,IAEV,CACC1V,KAAM,SACNsxB,KAAM,eACNtb,MAAO,QACPub,UAAU,EACVC,WAAY,WACZ9b,QAAS,IAEV,CACC1V,KAAM,SACNsxB,KAAM,kBACNtb,MAAO,WACPub,UAAU,EACVC,WAAY,QACZ9b,QAAS,IAEV,CACC1V,KAAM,SACNsxB,KAAM,iBACNtb,MAAO,UACPub,UAAU,EACVC,WAAY,WACZ9b,QAAS,OAKbgc,cAAe,CAAC,CACd1xB,KAAM,KACNsxB,KAAM,kBACNtb,MAAO,WACP2b,IAAK,EACLrf,IAAK,GACLsf,QAAS,EACTlc,QAAS,IAEV,CACC1V,KAAM,KACNsxB,KAAM,eACNtb,MAAO,qBACP2b,IAAK,EACLrf,IAAK,GACLsf,QAAS,EACTlc,QAAS,IAEV,CACC1V,KAAM,KACNsxB,KAAM,SACNO,SAAU,OACV7b,MAAO,YACP4b,QAAS,KACTlc,QAASjJ,EAA8BnB,QAAQA,SAACkB,uBAM7CslB,GAA8B,CACnCd,aAAc,CAAC,CACbhxB,KAAM,MACNixB,MAAO,EACPQ,eAAe,EACfP,aAAc,iBACdC,aAAc,gBACdC,QAAQ,EACRC,WAAY,CAAC,CACXrxB,KAAM,QACNsxB,KAAM,eACNtb,MAAO,QACPub,UAAU,EACV7b,QAAS,IAEV,CACC1V,KAAM,QACNsxB,KAAM,eACNtb,MAAO,QACPub,UAAU,EACVC,WAAY,WACZ9b,QAAS,IAEV,CACC1V,KAAM,QACNsxB,KAAM,kBACNtb,MAAO,WACPub,UAAU,EACVC,WAAY,QACZ9b,QAAS,IAEV,CACC1V,KAAM,QACNsxB,KAAM,iBACNtb,MAAO,UACPub,UAAU,EACVC,WAAY,WACZ9b,QAAS,MAIZ,CACC1V,KAAM,OACNixB,MAAO,EACPC,aAAc,aACdC,aAAc,gBACdC,QAAQ,EACRC,WAAY,CACX,CACCrxB,KAAM,SACNsxB,KAAM,eACNtb,MAAO,QACPub,UAAU,EACVC,WAAY,WACZ9b,QAAS,OAKbgc,cAAe,CAAC,CACd1xB,KAAM,KACNsxB,KAAM,kBACNtb,MAAO,WACP2b,IAAK,EACLrf,IAAK,GACLsf,QAAS,EACTlc,QAAS,IAEV,CACC1V,KAAM,KACNsxB,KAAM,eACNtb,MAAO,qBACP2b,IAAK,EACLrf,IAAK,GACLsf,QAAS,EACTlc,QAAS,IAEV,CACC1V,KAAM,KACNsxB,KAAM,SACNO,SAAU,OACV7b,MAAO,YACP4b,QAAS,KACTlc,QAASjJ,EAA8BnB,QAAQA,SAACkB,uBAM7CulB,GAAgC,CACrCf,aAAc,CAAC,CACbhxB,KAAM,MACNixB,MAAO,EACPQ,eAAe,EACfP,aAAc,iBACdC,aAAc,gBACdC,QAAQ,EACRC,WAAY,CAAC,CACXrxB,KAAM,QACNsxB,KAAM,eACNtb,MAAO,QACPub,UAAU,EACV7b,QAAS,IAEV,CACC1V,KAAM,QACNsxB,KAAM,eACNtb,MAAO,QACPub,UAAU,EACVC,WAAY,WACZ9b,QAAS,IAEV,CACC1V,KAAM,QACNsxB,KAAM,kBACNtb,MAAO,WACPub,UAAU,EACVC,WAAY,QACZ9b,QAAS,IAEV,CACC1V,KAAM,QACNsxB,KAAM,iBACNtb,MAAO,UACPub,UAAU,EACVC,WAAY,WACZ9b,QAAS,MAIZ,CACC1V,KAAM,OACNixB,MAAO,EACPC,aAAc,aACdC,aAAc,gBACdC,QAAQ,EACRC,WAAY,CACX,CACCrxB,KAAM,SACNsxB,KAAM,eACNtb,MAAO,QACPub,UAAU,EACVC,WAAY,WACZ9b,QAAS,OAKbgc,cAAe,CAAC,CACd1xB,KAAM,KACNsxB,KAAM,kBACNtb,MAAO,WACP2b,IAAK,EACLrf,IAAK,GACLsf,QAAS,EACTlc,QAAS,IAEV,CACC1V,KAAM,KACNsxB,KAAM,eACNtb,MAAO,qBACP2b,IAAK,EACLrf,IAAK,GACLsf,QAAS,EACTlc,QAAS,IAEV,CACC1V,KAAM,KACNsxB,KAAM,SACNO,SAAU,OACV7b,MAAO,YACP4b,QAAS,KACTlc,QAASjJ,EAA8BnB,QAAQA,SAACkB,uBAO7CwlB,GAAgC,CACrChB,aAAc,CAAC,CACdhxB,KAAM,MACNixB,MAAO,EACPC,aAAc,iBACdC,aAAc,gBACdC,QAAQ,EACRK,eAAe,EACfJ,WAAY,CAAC,CACXrxB,KAAM,QACNsxB,KAAM,eACNtb,MAAO,QACPub,UAAU,EACV7b,QAAS,IAEV,CACC1V,KAAM,QACNsxB,KAAM,eACNtb,MAAO,QACPub,UAAU,EACVC,WAAY,WACZ9b,QAAS,IAEV,CACC1V,KAAM,QACNsxB,KAAM,kBACNtb,MAAO,WACPub,UAAU,EACVC,WAAY,QACZ9b,QAAS,IAEV,CACC1V,KAAM,QACNsxB,KAAM,iBACNtb,MAAO,UACPub,UAAU,EACVC,WAAY,WACZ9b,QAAS,OAIZgc,cAAe,CAAC,CACf1xB,KAAM,KACNsxB,KAAM,kBACNtb,MAAO,WACP2b,IAAK,EACLrf,IAAK,GACLsf,QAAS,EACTlc,QAAS,IAEV,CACC1V,KAAM,KACNsxB,KAAM,eACNtb,MAAO,qBACP2b,IAAK,EACLrf,IAAK,GACLsf,QAAS,EACTlc,QAAS,IAEV,CACC1V,KAAM,KACNsxB,KAAM,SACNO,SAAU,OACV7b,MAAO,YACP4b,QAAS,KACTlc,QAASjJ,EAA8BnB,QAAQA,SAACkB,uBAY5CylB,GAAqB,CAACC,EAAsBhB,KAAyBiB,KAC1E5D,QAAQ6D,IAAI,OAAQlB,EAAciB,GAClC,IAAIE,EAAcC,KAAKC,UAAUL,GAcjC,OAZIC,EAAKvlB,OAAS,GACjBulB,EAAKrf,SAAQ,CAACjQ,EAAO2vB,KACpB,GAAI3vB,EAAO,CACV,IAAI4vB,EAAkB,IAAM,IAAIC,OAAOF,EAAQ,GAAK,IACpDH,EAAcA,EAAYM,WAAWF,EAAiB5vB,EACtD,KAGCquB,IACHmB,EAAcA,EAAYM,WAAW,iBAAkBzB,IAExD3C,QAAQ6D,IAAI,QAASE,KAAKM,MAAMP,IACzBC,KAAKM,MAAMP,EAAY,EC9gB/B,IAAYQ,GAAAA,QAaXA,0BAAA,GAbWA,GAAAA,QAAoBA,uBAApBA,6BAaX,CAAA,IAXC,MAAA,QAEAA,GAAA,aAAA,eAEAA,GAAA,SAAA,WAEAA,GAAA,SAAA,WAEAA,GAAA,aAAA,eAEAA,GAAA,UAAA,YCCW,MAAAC,GAAoD,CAC/D,CAAE9yB,KAAM,MAAOC,MAAO4yB,QAAAA,qBAAqB3yB,OAC3C,CAAEF,KAAM,MAAOC,MAAO4yB,QAAAA,qBAAqBE,cAC3C,CAAE/yB,KAAM,MAAOC,MAAO4yB,QAAAA,qBAAqBnyB,UAC3C,CAAEV,KAAM,MAAOC,MAAO4yB,QAAAA,qBAAqBG,UAC3C,CAAEhzB,KAAM,MAAOC,MAAO4yB,QAAAA,qBAAqBzkB,cAC3C,CAAEpO,KAAM,MAAOC,MAAO4yB,QAAAA,qBAAqBlyB,YCnB7C,IAAYsyB,GCAAC,GDAAD,QAMTA,0BAAA,GANSA,GAAAA,QAAoBA,uBAApBA,6BAMT,CAAA,IAJC,sBAAA,uBAGAA,GAAA,aAAA,eELQE,QAIXA,yBAAA,GAJWA,QAAmBA,sBAAnBA,4BAIX,CAAA,IADE,4BAAA,8BDHSD,QAMXA,2BAAA,GANWA,GAAAA,QAAqBA,wBAArBA,8BAMX,CAAA,IAJC,eAAA,iBAGAA,GAAA,aAAA,2yBEFY,MAkVb,WAAAE,CAAYC,GA9UZ3F,KAAI4F,KAAW,GAKf5F,KAAS6F,UAAW,GAMpB7F,KAASva,UAAW,EAKpBua,KAAW8F,YAAW,EAKtB9F,KAAc+F,eAAW,GAOzB/F,KAAOgG,QAAW,GAKlBhG,KAASiG,UAAW,GAKpBjG,KAAKkG,MAAW,GAKhBlG,KAAOmG,QAAW,GAIlBnG,KAASoG,UAAW,GAKpBpG,KAAUqG,WAAW,GAIrBrG,KAAYsG,aAAW,GAIvBtG,KAAYuG,aAAW,GAKvBvG,KAAKwG,MAAW,GAKhBxG,KAAUyG,WAAW,GAKrBzG,KAAgB0G,iBAAW,GAM3B1G,KAAYwD,aAAW,GAKvBxD,KAAY2G,aAAW,GAMvB3G,KAAkB4G,mBAAW,GAK7B5G,KAAkB6G,mBAAW,GAK7B7G,KAAO8G,QAAW,GAMlB9G,KAAS+G,UAAW,GAOpB/G,KAAQgH,SAAW,GAOnBhH,KAAQiH,SAAW,GAOnBjH,KAAUkH,WAAW,MAMrBlH,KAASmH,UAAW,GAMpBnH,KAASoH,UAAW,GAMpBpH,KAAKJ,MAAkB,KAKvBI,KAAMH,OAAkB,KAKxBG,KAAKF,MAAkB,KAMvBE,KAAWqH,YAAkB,KAK7BrH,KAAYsH,aAAkB,KAK9BtH,KAAWuH,YAAkB,KAK7BvH,KAAawH,cAAoB,GAMjCxH,KAAayH,cAAW,GAMxBzH,KAAQ0H,SAAW,GAKnB1H,KAAU2H,WAAW,EAKrB3H,KAAS4H,UAAmB,KAO5B5H,KAAWY,YAAW,GAMtBZ,KAAOxa,QAAW,EAKlBwa,KAAiB6H,kBAAa,GAK9B7H,KAAkB8H,oBAAY,EAK9B9H,KAASta,UAAW,GAKpBsa,KAAa+H,cAAW,EAKxB/H,KAAWxZ,YAAW,EAKtBwZ,KAAWgI,YAAW,EAMtBhI,KAAKza,MAAW,EAMhBya,KAAMiI,OAAW,EAMjBjI,KAAMkI,OAAW,GAQjBlI,KAAkBja,mBAAW,EAS7Bia,KAAY7Z,aAAW,IAQvB6Z,KAAOzZ,QAAW,EAKlByZ,KAASmI,UAAW,EAQpBnI,KAAiBtZ,kBAAW,EAM5BsZ,KAAaoI,cAAW,EAUxBpI,KAAOqI,QAAa,GAOpBrI,KAAQ9a,SAAoB,GAM5B8a,KAAUsI,WAAoB,GAOzB3C,GAEHnF,OAAO+H,OAAOvI,KAAM2F,EAErB,qGCxVoC,CAAA,6BhDAJ,CAAA,kCiDAK,CAAA,4Hd2JN,CAC/BrhB,EACAE,EA/JsB,KAkKtB,IAAKF,EAAKY,UAAqC,IAAzBZ,EAAKY,SAAShG,OAAc,CAChD,MAAMuG,EAAYnB,EAAKmB,WAAa,EACpC,OAAOlB,GAAckB,EAAWjB,EACjC,CAGD,IAAIW,EAAqB,EACzBb,EAAKY,SAASE,SAASC,IAErBF,GAAsBG,GAAgBD,EAAWb,EAAc,IAIjE,MAAMmB,EAAcrB,EAAKkB,SAAW,EACpC,GAAIG,GAAe,EAKjB,OAJAkb,QAAQC,KAAK,yCAA0C,CACrD0H,OAAQlkB,EAAKshB,KACbpgB,QAASlB,EAAKkB,UAETjB,GAAcY,EAAoBX,GAI3C,OAAOD,GADQY,EAAqBQ,EACPnB,EAAc,gFAmCd,CAACF,EAAqBmkB,EAAwBC,EAAkClkB,EA5NvF,KA6NtB,MAAM2jB,EAAYM,EAAgBpiB,GAAc/B,EAAME,GAAiB,EACjE4jB,EAAgBM,EAA0BjiB,GAAoBnC,EAAME,GAAiB,EACrFgC,EAAclB,GAAgBhB,EAAME,GAC1C,OAAOD,GAAciC,EAAc2hB,EAAYC,EAAe5jB,EAAc,iCe7N9E,SAAgCmkB,GAC5B,MAAMnjB,QAAEA,EAAOD,MAAEA,GAAUojB,EAC3B,OAAiB,IAAVnjB,EAAiBD,EAAQ,GACpC,kWbuiDE,OAAOib,OAAOiB,QAAQ9X,IAAoBtF,KAAI,EAAE1C,EAAMod,MAAe,CACnEpd,OACArP,KAAMysB,EAASzsB,QAEnB,iCIxhCsC,CAACs2B,EAAkBpF,KAAyBiB,KAEjF,OADA5D,QAAQ6D,IAAI,qBAAsBkE,EAAUpF,EAAciB,GAClDmE,GAEP,IAAK,mBACJ,OAAOrE,GAAmBlB,GAAkBG,KAAiBiB,GAE9D,IAAK,iBACL,IAAK,mBACJ,OAAOF,GAAmBH,GAAgBZ,KAAiBiB,GAE5D,IAAK,mBACJ,OAAOF,GAAmBF,GAAkBb,KAAiBiB,GAE9D,IAAK,aACL,IAAK,YAEJ,OADA5D,QAAQ6D,IAAI,UACLH,GAAmBD,GAAkBd,KAAiBiB,GAC9D,QACC,OAAOpB,GACR,8BU1Zc,SAAoBkD,EAAsBsC,GAQzD,IAAKtC,EACJ,OAAO,KAIR,MAAMuC,EAAeD,EAAqBtC,GAC1C,OAAKuC,EAKE,CACNnnB,KAAM4kB,EACNj0B,KAAMw2B,EAAax2B,KACnBy2B,KAAMD,EAAaC,KACnBxF,MAAOuF,EAAavF,MACpByF,UAAWF,EAAaE,WATjB,IAWT,oCAhKM,SACLC,EACAJ,EACAK,EACAxK,EACAyK,GAEA,MAAMC,EAAcP,EAAqBI,GACzC,OAAKG,EAKEA,EAAYC,WAAWhlB,KAAKilB,IAElC,MAAMrC,EAAWqC,EAAUC,KAC3B,IAAIvC,EAAmB,GACjBwC,EAAqB,GACrBC,EAAqB,GACvBC,EAAqB,EACrBC,EAAmB,EACvBR,EAAY/jB,SAASd,IACpB,GAAIA,EAAKY,UAAYZ,EAAKY,SAAShG,OAAS,EAAG,CAC9C,MAAM0qB,EAAatlB,EAAKY,SAASqD,MAC/BshB,GAAeA,EAAMloB,OAASslB,IAE5B2C,IACH5C,EAAW4C,EAAWt3B,KACtBq3B,EAAWC,EAAWE,KACtBN,EAAallB,EAAK3C,KAClB8nB,EAAanlB,EAAKhS,KAClBo3B,EAAaplB,EAAKwlB,KAEnB,KAIF,MAAMC,EAAaT,EAAUU,OAAO3lB,KAAK+iB,IAExC,MAAM6C,EAAYvL,EAAiB0I,GAGnC,IAAI8C,EAA0E,GAa9E,OAXID,GAAaA,EAAUE,oBAE1BD,EAAwBD,EAAUE,kBAAkB9lB,KAAKmf,IACxD,MAAMzE,EAAWmK,EAAmB1F,GACpC,MAAO,CACNmD,aAAc5H,EAAWA,EAASzsB,KAAOkxB,EACzCA,aAAcA,EACd,KAII,CACN2D,UAAW8C,EAAYA,EAAU33B,KAAO80B,EACxCA,UAAWA,EACX+C,kBAAmBD,EACnB,IAGF,MAAO,CACNlD,SAAUA,EACPC,SAAUA,EACb0C,SAAUA,EACPH,WAAYA,EACZC,WAAYA,EACfW,UAAWV,EACRM,OAAQD,EACX,IA7DM,EA+DT,iGAoGgB,SACfM,EACAC,EACArB,EACAJ,EACAnK,EACAwK,GAGA,IAAKmB,EACJ,OAAO,KAaR,GATAA,EAAkBA,EAAgB/iB,OAC9BgjB,IACHA,EAAmBA,EAAiBhjB,QAEjC2hB,IACHA,EAAeA,EAAa3hB,QAIzB2hB,GAAgBJ,GAAwBnK,EAC3C,IAEC,MAAMoK,EAAeD,EAAqBI,GAC1C,GAAIH,GAAgBA,EAAaO,WAAY,CAE5C,MAAMkB,EAAkB,IAAIC,IAC5B1B,EAAaO,WAAWjkB,SAASkkB,IAC5BA,EAAUU,QAAUV,EAAUU,OAAO9qB,OAAS,GACjDoqB,EAAUU,OAAO5kB,SAASgiB,GAAsBmD,EAAgBE,IAAIrD,IACpE,IAGF,IAAIsD,EAAmC,KACnCC,EAA2C,KAG/C,IAAK,MAAMvD,KAAamD,EAAiB,CACxC,MAAMN,EAAYvL,EAAiB0I,GACnC,IAAK6C,EAAW,SAGhB,IAAIW,GAAsB,EAC1B,GAAIN,EAAkB,CACrB,MAAMO,EAASP,EACfM,EAAsBX,EAAUa,cAC/Bb,EAAUa,aAAaC,MAAMhM,GAC5BA,EAASiM,gBAAkBH,EAAOG,eACpC,CAGD,MAAMC,EAAyBhB,EAAUE,mBACxCF,EAAUE,kBAAkBY,MAAMhM,GACjCA,EAASiM,gBAAkBX,EAAgBW,gBAG7C,GAAIJ,GAAuBK,EAAwB,CAClDP,EAAoBtD,EACpB,KACA,CAGGwD,IAAwBD,IAC3BA,EAA4BvD,EAE7B,CAGD,GAAIsD,EACH,OAAOA,EAIR,GAAIC,EACH,OAAOA,CAER,CACD,CAAC,MAAOzJ,GACRL,QAAQK,MAAM,yCAA0CA,EACxD,CAKF,MAAMgK,EAAgBxM,GAAoBA,EAG1C,IAAKwM,EACJ,OAAO,KAIR,IAAIC,EAAwBd,EAC5B,GAAIC,GAAoBpB,EAAmBoB,IAAqBpB,EAAmBoB,GAAkBplB,SAAU,CAE9G,MAAM4lB,EAAe5B,EAAmBoB,GAEpCQ,EAAa5lB,UAAY4lB,EAAa5lB,SAASmlB,KAClDc,EAAwBd,EAEzB,CAGD,IAAK,MAAO5L,EAAc2M,KAAc5K,OAAOiB,QAAQyJ,GAAgB,CACtE,MAAMjB,EAAYmB,EAGlB,GAAId,EAAkB,CACrB,MAAMO,EAASP,EAOf,KAL0BL,EAAUa,cACnCb,EAAUa,aAAaC,MAAMhM,GAC5BA,EAASiM,gBAAkBH,EAAOG,iBAInC,SAKD,GAAIG,EAAsBH,gBAAkBH,EAAOG,cAClD,OAAOvM,EAIR,IAAKwL,EAAUE,mBAA4D,IAAvCF,EAAUE,kBAAkBjrB,OAC/D,OAAOuf,EAOR,GAH6BwL,EAAUE,kBAAkBY,MAAMhM,GAC9DA,EAASiM,gBAAkBG,EAAsBH,gBAGjD,OAAOvM,CAER,KAAM,CAIN,GAAIwL,EAAUa,cAAgBb,EAAUa,aAAaC,MAAMhM,GAC1DA,EAASiM,gBAAkBG,EAAsBH,gBACjD,OAAOvM,EAIR,GAAIwL,EAAUE,mBAAqBF,EAAUE,kBAAkBY,MAAMhM,GACpEA,EAASiM,gBAAkBG,EAAsBH,gBACjD,OAAOvM,EAIR,IAAK,MAAMqM,KAAiBb,EAAUa,cAAgB,GAAK,CAC1D,MAAMO,EAAkBnC,EAAmB4B,GAC3C,GAAIO,GAAmBA,EAAgBnmB,UAAYmmB,EAAgBnmB,SAASimB,GAC3E,OAAO1M,CAER,CACD,CACD,CAGD,OAAO,IACR,qCAjQM,SAAqCwK,EAAsBqC,EAAkBzC,EAA2BnK,EAAuBwK,GACpI,MAAME,EAAcP,EAAqBI,GACzC,IAAKG,EACJ,MAAO,GAGR,MAAME,EAAYF,EAAYC,WAAW9gB,MAAMgjB,GAEvCA,EAAGhC,OAAS+B,IAEpB,OAAKhC,EAKEA,EAAUU,OAAO3lB,KAAK+iB,IAE5B,MAAM6C,EAAYvL,EAAiB0I,GAEnC,IAAK6C,EACJ,MAAO,CACN9C,UAAWC,EACXA,UAAWA,EACX+C,kBAAmB,GACnBlB,gBAKF,MAAMiB,GAAyBD,EAAUE,mBAAqB,IAAI9lB,KAAKmf,IACtE,MAAMzE,EAAWmK,EAAmB1F,GACpC,MAAO,CACNmD,aAAc5H,EAAWA,EAASzsB,KAAOkxB,EACzCA,aAAcA,EACd,IAGF,MAAO,CACN2D,UAAW8C,EAAU33B,KACrB80B,UAAWA,EACX+C,kBAAmBD,EACnBjB,eACA,IA/BM,EAiCT,sIbb0CxK,EAAsBC,EAAuB8E,GAKtF,MAAM4H,EAAY5M,GAAkBC,EAAcC,GAElD,IAAK0M,EACJ,MAAO,GAGR,MAAMllB,EAAgE,CAAA,EAmBtE,OAhBIsd,GAAgB4H,EAAUI,mBAAqBJ,EAAUI,kBAAkBhI,GAC9Etd,EAAOulB,UAAYL,EAAUI,kBAAkBhI,GAGvC4H,EAAUK,WAAatjB,MAAMC,QAAQgjB,EAAUK,aACvDvlB,EAAOulB,UAAYL,EAAUK,WAI1BjI,GAAgB4H,EAAUM,0BAA4BN,EAAUM,yBAAyBlI,GAC5Ftd,EAAOylB,iBAAmBP,EAAUM,yBAAyBlI,GAErD4H,EAAUO,kBAAoBxjB,MAAMC,QAAQgjB,EAAUO,oBAC9DzlB,EAAOylB,iBAAmBP,EAAUO,kBAG9BzlB,CACR,mDA9HgDuY,EAAsBC,EAAuBwK,GAE5F,MAAMkC,EAAY5M,GAAkBC,EAAcC,GAElD,IAAK0M,IAAeA,EAAUN,eAAiBM,EAAUjB,kBACxD,MAAO,GAIR,MAAMA,EAA2C,GA8CjD,OA3CIiB,EAAUN,cACbM,EAAUN,aAAa1lB,SAASwZ,IAC/B,MAAMG,EAAWJ,GAAkBC,EAAasK,GAGhD,GAAInK,IAAaA,EAAS7Z,SACzBilB,EAAkB9I,KAAK,CACtBsF,aAAc5H,EAASzsB,KACvBkxB,aAAc5E,SAIX,GAAIG,GAAYA,EAAS7Z,SAAU,CACAkmB,EAAUjB,mBAChDiB,EAAUjB,kBAAkBY,MAAMa,GAE1BpL,OAAOC,KAAK1B,EAAS7Z,UAAU7F,SAASusB,MAKhDzB,EAAkB9I,KAAK,CACtBsF,aAAc5H,EAASzsB,KACvBkxB,aAAc5E,GAGhB,KAKCwM,EAAUjB,mBACbiB,EAAUjB,kBAAkB/kB,SAASwZ,IAEpC,MAAMG,EAAWJ,GAAkBC,EAAasK,GAEhDiB,EAAkB9I,KAAK,CACtBsF,aAAc5H,EAAWA,EAASzsB,KAAOssB,EACzC4E,aAAc5E,GACb,IAIGuL,CACR,kCD68CM,SAAkCvL,GACtC,OAAOjV,GAAmBiV,IAAgB,IAC5C,sCH78C4Cjd,GACnCD,GAAqB6G,MAAMjE,GAASA,EAAK3C,OAASA,wCAMfrP,GACnCoP,GAAqB6G,MAAMjE,GAASA,EAAKhS,OAASA,+FIxFrD,SAA8BosB,GACnC,OAAO8B,OAAOqL,OAAOnN,GAAkBoL,MAAK,CAACgC,EAAQC,IAAWD,EAAEvI,MAAQwI,EAAExI,OAC7E,mOZuEgB,SAA4ByI,EAAkBhtB,GAE5D,OADuBH,EAAyBG,IAAa,IACvCK,SAAS2sB,EACjC"}