File manager - Edit - /home/web/vm-3fadc827.na4u.ru/www/bitrix/modules/catalog/install/js/catalog/product-form/dist/product-form.bundle.js.map
Back
{"version":3,"file":"product-form.bundle.js","sources":["../src/types/form-element-position.js","../src/models/product-list.js","../src/config.js","../src/types/form-input-code.js","../src/types/form-error-code.js","../src/types/form-mode.js","../src/templates/fields/quantity.js","../src/templates/fields/price.js","../src/templates/fields/discount.js","../src/templates/fields/tax.js","../src/templates/fields/inline-selector.js","../src/templates/fields/brand.js","../src/templates/fields/result-sum.js","../src/templates/row.js","../src/types/form-compilation-type.js","../src/types/form-helpdesk-code.js","../src/templates/elements/panel-compilation.js","../src/templates/elements/panel-buttons.js","../src/templates/form.js","../src/product-form.js"],"sourcesContent":["export class FormElementPosition\n{\n\tstatic TOP: string = 'TOP';\n\tstatic BOTTOM: string = 'BOTTOM';\n}","import {Vue} from 'ui.vue';\nimport {Text, Type} from 'main.core';\nimport {VuexBuilderModel} from 'ui.vue.vuex';\nimport {DiscountType} from \"catalog.product-calculator\";\nimport {FormElementPosition} from \"../types/form-element-position\";\nimport {CurrencyCore} from \"currency.currency-core\";\nimport type {FormScheme} from \"../types/form-scheme\";\nimport type {BasketItem} from \"../types/basket-item\";\n\nexport class ProductList extends VuexBuilderModel\n{\n\t/**\n\t * @inheritDoc\n\t */\n\tgetName(): string\n\t{\n\t\treturn 'productList';\n\t}\n\n\tgetState(): FormScheme\n\t{\n\t\treturn {\n\t\t\tcurrency: '',\n\t\t\ttaxIncluded: 'N',\n\t\t\tbasket: [],\n\t\t\ttotal: {\n\t\t\t\tsum: 0,\n\t\t\t\tdiscount: 0,\n\t\t\t\ttaxSum: 0,\n\t\t\t\tresult: 0,\n\t\t\t},\n\t\t}\n\t}\n\n\tstatic getBaseProduct(): BasketItem\n\t{\n\t\tconst random = Text.getRandom();\n\t\treturn {\n\t\t\tofferId: null,\n\t\t\tselectorId: random,\n\t\t\tfields: {\n\t\t\t\tinnerId: random,\n\t\t\t\tproductId: null,\n\t\t\t\tskuId: null,\n\t\t\t\tcode: null,\n\t\t\t\tmodule: null,\n\t\t\t\tsort: 0,\n\t\t\t\tprice: null,\n\t\t\t\tbasePrice: null,\n\t\t\t\tpriceExclusive: null,\n\t\t\t\tquantity: 1,\n\t\t\t\tname: '',\n\t\t\t\tdiscount: 0,\n\t\t\t\tdiscountRate: 0,\n\t\t\t\tdiscountInfos: [],\n\t\t\t\tdiscountType: DiscountType.PERCENTAGE,\n\t\t\t\ttax: 0,\n\t\t\t\ttaxSum: 0,\n\t\t\t\ttaxIncluded: 'N',\n\t\t\t\tmeasureCode: 0,\n\t\t\t\tmeasureName: '',\n\t\t\t\tmeasureRatio: 1,\n\t\t\t\tisCustomPrice: 'N',\n\t\t\t\tadditionalFields: [],\n\t\t\t\tproperties: [],\n\t\t\t\tbrands: [],\n\t\t\t},\n\t\t\tcalculatedFields: [],\n\t\t\tcatalogFields: {},\n\t\t\tshowDiscount: 'N',\n\t\t\tshowTax: 'N',\n\t\t\tskuTree: [],\n\t\t\timage: null,\n\t\t\tsum: 0,\n\t\t\tcatalogPrice: null,\n\t\t\tdiscountSum: 0,\n\t\t\tdetailUrl: '',\n\t\t\tencodedFields: null,\n\t\t\terrors: [],\n\t\t};\n\t}\n\n\tgetActions()\n\t{\n\t\treturn {\n\t\t\tresetBasket ({commit})\n\t\t\t{\n\t\t\t\tcommit('clearBasket');\n\t\t\t\tcommit('addItem', {});\n\t\t\t},\n\t\t\tremoveItem({dispatch, commit, state}, payload)\n\t\t\t{\n\t\t\t\tcommit('deleteItem', payload);\n\t\t\t\tif (state.basket.length === 0)\n\t\t\t\t{\n\t\t\t\t\tcommit('addItem', {});\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tstate.basket.forEach((item, i) => {\n\t\t\t\t\t\tcommit('updateItem', {\n\t\t\t\t\t\t\tindex: i,\n\t\t\t\t\t\t\tfields: {sort: i}\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tdispatch('calculateTotal');\n\t\t\t},\n\t\t\tchangeItem: ({dispatch, commit}, payload) =>\n\t\t\t{\n\t\t\t\tcommit('updateItem', payload);\n\t\t\t\tdispatch('calculateTotal');\n\t\t\t},\n\t\t\tsetCurrency: ({commit}, payload) =>\n\t\t\t{\n\t\t\t\tconst currency = payload || '';\n\t\t\t\tcommit('setCurrency', currency);\n\t\t\t},\n\t\t\taddItem: ({dispatch, commit}, payload) =>\n\t\t\t{\n\t\t\t\tconst item = payload.item || {fields: {}};\n\t\t\t\tcommit('addItem', {\n\t\t\t\t\titem,\n\t\t\t\t\tposition: payload.position || FormElementPosition.TOP\n\t\t\t\t});\n\t\t\t\tdispatch('calculateTotal');\n\t\t\t},\n\t\t\tcalculateTotal: ({commit, state}) =>\n\t\t\t{\n\t\t\t\tconst total = {\n\t\t\t\t\tsum: 0,\n\t\t\t\t\ttaxSum: 0,\n\t\t\t\t\tdiscount: 0,\n\t\t\t\t\tresult: 0,\n\t\t\t\t};\n\n\t\t\t\tstate.basket.forEach((item) => {\n\t\t\t\t\tconst basePrice = Text.toNumber(item.fields.basePrice || 0);\n\t\t\t\t\tconst quantity = Text.toNumber(item.fields.quantity || 0);\n\t\t\t\t\tconst discount = Text.toNumber(item.fields.discount || 0);\n\t\t\t\t\tconst taxSum = Text.toNumber(item.fields.taxSum || 0);\n\t\t\t\t\ttotal.sum += basePrice * quantity;\n\t\t\t\t\ttotal.result += Text.toNumber(item.sum);\n\t\t\t\t\ttotal.discount += discount * quantity;\n\t\t\t\t\ttotal.taxSum += taxSum * quantity;\n\t\t\t\t});\n\n\t\t\t\ttotal.discount = (total.discount > total.sum) ? total.sum : total.discount;\n\n\t\t\t\tcommit('setTotal', total)\n\t\t\t}\n\t\t}\n\t}\n\n\tgetGetters()\n\t{\n\t\treturn {\n\t\t\tgetBasket: state => (): Array<BasketItem> =>\n\t\t\t{\n\t\t\t\treturn state.basket;\n\t\t\t},\n\t\t\tgetBaseProduct: () => (): BasketItem =>\n\t\t\t{\n\t\t\t\treturn ProductList.getBaseProduct();\n\t\t\t},\n\t\t}\n\t}\n\n\tgetMutations()\n\t{\n\t\treturn {\n\t\t\taddItem: (state, payload) =>\n\t\t\t{\n\t\t\t\tlet item = ProductList.getBaseProduct();\n\n\t\t\t\titem = Object.assign(item, payload.item);\n\t\t\t\tif (payload.position === FormElementPosition.BOTTOM)\n\t\t\t\t{\n\t\t\t\t\tstate.basket.push(item);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tstate.basket.unshift(item);\n\t\t\t\t}\n\n\t\t\t\tstate.basket.forEach((item, index) => {\n\t\t\t\t\titem.fields.sort = index;\n\t\t\t\t});\n\t\t\t},\n\t\t\tupdateItem: (state, payload) =>\n\t\t\t{\n\t\t\t\tif (Type.isNil(state.basket[payload.index]))\n\t\t\t\t{\n\t\t\t\t\tVue.set(state.basket, payload.index, ProductList.getBaseProduct());\n\t\t\t\t}\n\n\t\t\t\tstate.basket[payload.index] = Object.assign(\n\t\t\t\t\tstate.basket[payload.index],\n\t\t\t\t\tpayload.product\n\t\t\t\t);\n\t\t\t},\n\t\t\tclearBasket: (state) =>\n\t\t\t{\n\t\t\t\tstate.basket = [];\n\t\t\t},\n\t\t\tdeleteItem: (state, payload) =>\n\t\t\t{\n\t\t\t\tstate.basket.splice(payload.index, 1);\n\t\t\t\tstate.basket.forEach((item, index) => {\n\t\t\t\t\titem.fields.sort = index;\n\t\t\t\t});\n\t\t\t},\n\t\t\tsetErrors: (state, payload) =>\n\t\t\t{\n\t\t\t\tstate.errors = payload;\n\t\t\t},\n\t\t\tclearErrors: (state) =>\n\t\t\t{\n\t\t\t\tstate.errors = [];\n\t\t\t},\n\t\t\tsetCurrency: (state, payload) =>\n\t\t\t{\n\t\t\t\tstate.currency = payload;\n\t\t\t},\n\t\t\tsetTotal: (state, payload) =>\n\t\t\t{\n\t\t\t\tconst formattedTotal = payload;\n\t\t\t\tif (Type.isStringFilled(state.currency))\n\t\t\t\t{\n\t\t\t\t\tfor (const key in payload)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (payload.hasOwnProperty(key))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tformattedTotal[key] = CurrencyCore.currencyFormat(payload[key], state.currency)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tstate.total = Object.assign(\n\t\t\t\t\tstate.total,\n\t\t\t\t\tformattedTotal\n\t\t\t\t);\n\t\t\t},\n\t\t}\n\t}\n}","export const config = Object.freeze({\n\tdatabaseConfig: {\n\t\tname: 'catalog.product-form',\n\t},\n\ttemplateName: 'bx-form',\n\ttemplatePanelButtons: 'bx-panel-buttons',\n\ttemplatePanelCompilation: 'bx-panel-compilation',\n\ttemplateRowName: 'bx-form-row',\n\ttemplateFieldInlineSelector: 'bx-field-inline-selector',\n\ttemplateFieldPrice: 'bx-field-price',\n\ttemplateFieldResultSum: 'bx-field-result-sum',\n\ttemplateFieldQuantity: 'bx-field-quantity',\n\ttemplateFieldDiscount: 'bx-field-discount',\n\ttemplateFieldTax: 'bx-field-tax',\n\ttemplateFieldBrand: 'bx-field-brand',\n\tmoduleId: 'catalog',\n});","export class FormInputCode\n{\n\tstatic PRODUCT_SELECTOR = 'product-selector';\n\tstatic IMAGE_EDITOR = 'image-editor';\n\tstatic QUANTITY = 'quantity';\n\tstatic PRICE = 'price';\n\tstatic RESULT = 'result';\n\tstatic DISCOUNT = 'discount';\n\tstatic TAX = 'tax';\n\tstatic BRAND = 'brand';\n\tstatic MEASURE = 'measure';\n}","export class FormErrorCode\n{\n\tstatic EMPTY_PRODUCT_SELECTOR = 0;\n\tstatic EMPTY_IMAGE = 1;\n\tstatic EMPTY_QUANTITY = 2;\n\tstatic EMPTY_PRICE = 3;\n\tstatic EMPTY_BRAND = 4;\n\tstatic IS_NULLABLE_PRICE = 5;\n}","export class FormMode\n{\n\tstatic REGULAR: string = 'REGULAR';\n\tstatic READ_ONLY: string = 'READ_ONLY';\n\tstatic COMPILATION: string = 'COMPILATION';\n}","import {Menu, MenuItem} from 'main.popup';\nimport {Runtime, Type, Text} from 'main.core';\nimport {Vue} from \"ui.vue\";\nimport {config} from \"../../config\";\nimport type {BaseEvent} from \"main.core.events\";\n\nVue.component(config.templateFieldQuantity,\n{\n\t/**\n\t * @emits 'onChangeQuantity' {quantity: number}\n\t * @emits 'onSelectMeasure' {quantity: number, }\n\t */\n\n\tprops: {\n\t\tmeasureCode: Number,\n\t\tmeasureRatio: Number,\n\t\tmeasureName: String,\n\t\tquantity: Number,\n\t\teditable: Boolean,\n\t\tsaveableMeasure: Boolean,\n\t\thasError: Boolean,\n\t\toptions: Object,\n\t},\n\tcreated()\n\t{\n\t\tthis.onInputQuantityHandler = Runtime.debounce(this.onInputQuantity, 500, this);\n\t},\n\tmethods:\n\t{\n\t\tonInputQuantity(event: BaseEvent): void\n\t\t{\n\t\t\tif (!this.editable)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tevent.target.value = event.target.value.replace(/[^.\\d]/g,'.');\n\t\t\tconst newQuantity = Text.toNumber(event.target.value);\n\t\t\tconst lastSymbol = event.target.value.substr(-1);\n\n\t\t\tif (lastSymbol === '.')\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.changeQuantity(newQuantity);\n\t\t},\n\t\tcalculateCorrectionFactor(quantity, measureRatio)\n\t\t{\n\t\t\tlet factoredQuantity = quantity;\n\t\t\tlet factoredRatio = measureRatio;\n\t\t\tlet correctionFactor = 1;\n\n\t\t\twhile (!(Number.isInteger(factoredQuantity) && Number.isInteger(factoredRatio)))\n\t\t\t{\n\t\t\t\tcorrectionFactor *= 10;\n\t\t\t\tfactoredQuantity = quantity * correctionFactor;\n\t\t\t\tfactoredRatio = measureRatio * correctionFactor;\n\t\t\t}\n\n\t\t\treturn correctionFactor;\n\t\t},\n\t\tincrementValue()\n\t\t{\n\t\t\tif (!this.editable)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst correctionFactor = this.calculateCorrectionFactor(this.quantity, this.measureRatio);\n\t\t\tconst quantity = (this.quantity * correctionFactor + this.measureRatio * correctionFactor) / correctionFactor;\n\t\t\tthis.changeQuantity(quantity);\n\t\t},\n\t\tdecrementValue()\n\t\t{\n\t\t\tif (this.quantity > this.measureRatio && this.editable)\n\t\t\t{\n\t\t\t\tconst correctionFactor = this.calculateCorrectionFactor(this.quantity, this.measureRatio);\n\t\t\t\tconst quantity = (this.quantity * correctionFactor - this.measureRatio * correctionFactor) / correctionFactor;\n\t\t\t\tthis.changeQuantity(quantity);\n\t\t\t}\n\t\t},\n\t\tchangeQuantity(value: number)\n\t\t{\n\t\t\tthis.$emit('onChangeQuantity', value);\n\t\t},\n\t\tshowPopupMenu(target: HTMLElement)\n\t\t{\n\t\t\tif (!this.editable || !Type.isArray(this.options.measures))\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst menuItems = [];\n\t\t\tthis.options.measures.forEach((item) => {\n\t\t\t\tmenuItems.push({\n\t\t\t\t\ttext: item.SYMBOL,\n\t\t\t\t\titem: item,\n\t\t\t\t\tonclick: this.selectMeasure,\n\t\t\t\t})\n\t\t\t});\n\n\n\t\t\tif (menuItems.length > 0)\n\t\t\t{\n\t\t\t\tthis.popupMenu = new Menu({\n\t\t\t\t\tbindElement: target,\n\t\t\t\t\titems: menuItems\n\t\t\t\t});\n\n\t\t\t\tthis.popupMenu.show();\n\t\t\t}\n\t\t},\n\t\tselectMeasure(event: BaseEvent, params: MenuItem)\n\t\t{\n\t\t\tthis.$emit('onSelectMeasure', {\n\t\t\t\tcode: params.options?.item.CODE,\n\t\t\t\tname: params.options?.item.SYMBOL,\n\t\t\t});\n\n\t\t\tif (this.popupMenu)\n\t\t\t{\n\t\t\t\tthis.popupMenu.close();\n\t\t\t}\n\t\t},\n\t},\n\t// language=Vue\n\ttemplate: `\n\t\t<div class=\"catalog-pf-product-input-wrapper\" v-bind:class=\"{ 'ui-ctl-danger': hasError }\">\n\t\t\t<input \t\n\t\t\t\ttype=\"text\" class=\"catalog-pf-product-input\"\n\t\t\t\tv-bind:class=\"{ 'catalog-pf-product-input--disabled': !editable }\"\n\t\t\t\t:value=\"quantity\"\n\t\t\t\t@input=\"onInputQuantityHandler\"\n\t\t\t\t:disabled=\"!editable\"\n\t\t\t>\n\t\t\t<div \n\t\t\t\tclass=\"catalog-pf-product-input-info catalog-pf-product-input-info--action\" \n\t\t\t\t@click=\"showPopupMenu($event.target)\"\n\t\t\t>\n\t\t\t\t<span>{{ measureName }}</span>\n\t\t\t</div>\n\t\t</div>\n\t`\n});","import {Runtime, Text} from 'main.core';\nimport {Vue} from \"ui.vue\";\nimport {config} from \"../../config\";\nimport type {BaseEvent} from \"main.core.events\";\n\nVue.component(config.templateFieldPrice,\n{\n\t/**\n\t * @emits 'onChangePrice' {price: number}\n\t * @emits 'saveCatalogField' {}\n\t */\n\n\tprops: {\n\t\tselectorId: String,\n\t\tprice: Number,\n\t\teditable: Boolean,\n\t\thasError: Boolean,\n\t\toptions: Object,\n\t},\n\tcreated()\n\t{\n\t\tthis.onInputPriceHandler = Runtime.debounce(this.onInputPrice, 500, this);\n\t},\n\tmethods:\n\t{\n\t\tonInputPrice(event: BaseEvent): void\n\t\t{\n\t\t\tif (!this.editable)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tevent.target.value = event.target.value.replace(/[^.,\\d]/g,'');\n\t\t\tif (event.target.value === '')\n\t\t\t{\n\t\t\t\tevent.target.value = 0;\n\t\t\t}\n\t\t\tconst lastSymbol = event.target.value.substr(-1);\n\t\t\tif (lastSymbol === ',')\n\t\t\t{\n\t\t\t\tevent.target.value = event.target.value.replace(',', \".\");\n\t\t\t}\n\n\t\t\tlet newPrice = Text.toNumber(event.target.value);\n\t\t\tif (lastSymbol === '.' || lastSymbol === ',')\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (newPrice < 0)\n\t\t\t{\n\t\t\t\tnewPrice *= -1;\n\t\t\t}\n\n\t\t\tthis.$emit('onChangePrice', newPrice);\n\t\t},\n\t},\n\tcomputed:\n\t{\n\t\tlocalize()\n\t\t{\n\t\t\treturn Vue.getFilteredPhrases('CATALOG_');\n\t\t},\n\t\tcurrencySymbol()\n\t\t{\n\t\t\treturn this.options.currencySymbol || '';\n\t\t},\n\t},\n\t// language=Vue\n\ttemplate: `\n\t\t<div class=\"catalog-pf-product-input-wrapper\" v-bind:class=\"{ 'ui-ctl-danger': hasError }\">\n\t\t\t<input \ttype=\"text\" class=\"catalog-pf-product-input catalog-pf-product-input--align-right\"\n\t\t\t\t\tv-bind:class=\"{ 'catalog-pf-product-input--disabled': !editable }\"\n\t\t\t\t\tv-model.lazy=\"price\"\n\t\t\t\t\t@input=\"onInputPriceHandler\"\n\t\t\t\t\t:disabled=\"!editable\"\n\t\t\t>\n\t\t\t<div class=\"catalog-pf-product-input-info\" v-html=\"currencySymbol\"></div>\n\t\t</div>\n\t`\n});","import {Menu} from 'main.popup';\nimport { Runtime, Text, Type} from 'main.core';\nimport {Vue} from \"ui.vue\";\nimport {config} from \"../../config\";\nimport {DiscountType} from \"catalog.product-calculator\";\n\nVue.component(config.templateFieldDiscount,\n{\n\t/**\n\t * @emits 'changeDiscountType' {type: Y|N}\n\t * @emits 'changeDiscount' {discountValue: number}\n\t */\n\n\tprops: {\n\t\teditable: Boolean,\n\t\toptions: Object,\n\t\tdiscount: Number,\n\t\tdiscountType: Number,\n\t\tdiscountRate: Number,\n\t},\n\tcreated()\n\t{\n\t\tthis.onInputDiscount = Runtime.debounce(this.onChangeDiscount, 500, this);\n\t\tthis.currencySymbol = this.options.currencySymbol;\n\t},\n\tmethods:\n\t{\n\t\tonChangeType(event, params)\n\t\t{\n\t\t\tif (!this.editable)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst type = (Text.toNumber(params?.options?.type) === DiscountType.MONETARY) ? DiscountType.MONETARY : DiscountType.PERCENTAGE;\n\t\t\tthis.$emit('changeDiscountType', type);\n\n\t\t\tif (this.popupMenu)\n\t\t\t{\n\t\t\t\tthis.popupMenu.close();\n\t\t\t}\n\t\t},\n\t\tonChangeDiscount(event)\n\t\t{\n\t\t\tconst discountValue = Text.toNumber(event.target.value) || 0;\n\t\t\tif (discountValue === Text.toNumber(this.discount) || !this.editable)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.$emit('changeDiscount', discountValue);\n\t\t},\n\t\tshowPopupMenu(target)\n\t\t{\n\t\t\tif (!this.editable || !Type.isArray(this.options.allowedDiscountTypes))\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst menuItems = [];\n\t\t\tif (this.options.allowedDiscountTypes.includes(DiscountType.PERCENTAGE))\n\t\t\t{\n\t\t\t\tmenuItems.push({\n\t\t\t\t\ttext: '%',\n\t\t\t\t\tonclick: this.onChangeType,\n\t\t\t\t\ttype: DiscountType.PERCENTAGE,\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tif (this.options.allowedDiscountTypes.includes(DiscountType.MONETARY))\n\t\t\t{\n\t\t\t\tmenuItems.push({\n\t\t\t\t\ttext: this.currencySymbol,\n\t\t\t\t\tonclick: this.onChangeType,\n\t\t\t\t\ttype: DiscountType.MONETARY,\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tif (menuItems.length > 0)\n\t\t\t{\n\t\t\t\tthis.popupMenu = new Menu({\n\t\t\t\t\tbindElement: target,\n\t\t\t\t\titems: menuItems\n\t\t\t\t});\n\n\t\t\t\tthis.popupMenu.show();\n\t\t\t}\n\t\t},\n\t},\n\tcomputed: {\n\t\tgetDiscountInputValue()\n\t\t{\n\t\t\tif (Text.toNumber(this.discountType) === DiscountType.PERCENTAGE)\n\t\t\t{\n\t\t\t\treturn Text.toNumber(this.discountRate);\n\t\t\t}\n\t\t\treturn Text.toNumber(this.discount);\n\t\t},\n\t\tgetDiscountSymbol()\n\t\t{\n\t\t\treturn Text.toNumber(this.discountType) === DiscountType.PERCENTAGE ? '%' : this.currencySymbol;\n\t\t},\n\t},\n\t// language=Vue\n\ttemplate: `\n\t\t<div class=\"catalog-pf-product-input-wrapper catalog-pf-product-input-wrapper--left\">\n\t\t\t<input class=\"catalog-pf-product-input catalog-pf-product-input--align-right catalog-pf-product-input--right\"\n\t\t\t\t\tv-bind:class=\"{ 'catalog-pf-product-input--disabled': !editable }\"\n\t\t\t\t\tref=\"discountInput\" \n\t\t\t\t\t:value=\"getDiscountInputValue\"\n\t\t\t\t\t:v-model=\"discountRate\"\n\t\t\t\t\t@input=\"onInputDiscount\"\n\t\t\t\t\tplaceholder=\"0\"\n\t\t\t\t\t:disabled=\"!editable\">\n\t\t\t<div class=\"catalog-pf-product-input-info catalog-pf-product-input-info--action\" \n\t\t\t\t@click=\"showPopupMenu\">\n\t\t\t\t<span v-html=\"getDiscountSymbol\"></span>\n\t\t\t</div>\n\t\t</div>\n\t`\n});","import {Menu} from 'main.popup';\nimport {Text, Type} from 'main.core';\nimport {Vue} from \"ui.vue\";\nimport {config} from \"../../config\";\n\nVue.component(config.templateFieldTax,\n{\n\t/**\n\t * @emits 'changeTax' {taxValue: number}\n\t */\n\n\tprops: {\n\t\ttaxId: Number,\n\t\teditable: Boolean,\n\t\toptions: Object,\n\t},\n\tdata()\n\t{\n\t\treturn {\n\t\t\ttaxValue: this.getTaxList()[this.taxId] || 0\n\t\t};\n\t},\n\tmethods:\n\t{\n\t\tonChangeValue(event, params)\n\t\t{\n\t\t\tconst taxValue = Text.toNumber(params?.options?.item);\n\t\t\tif (taxValue === Text.toNumber(this.taxValue) || !this.editable)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.$emit('changeTax', {\n\t\t\t\ttaxValue,\n\t\t\t\ttaxId: params?.options?.id\n\t\t\t});\n\n\t\t\tif (this.popupMenu)\n\t\t\t{\n\t\t\t\tthis.popupMenu.close();\n\t\t\t}\n\t\t},\n\t\tgetTaxList()\n\t\t{\n\t\t\treturn Type.isArray(this.options.taxList) ? this.options.taxList : [];\n\t\t},\n\t\tshowPopupMenu(target)\n\t\t{\n\t\t\tif (!this.editable || !Type.isArray(this.options.taxList))\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst menuItems = [];\n\t\t\tthis.options.taxList.forEach((item, id) => {\n\t\t\t\tmenuItems.push({\n\t\t\t\t\tid,\n\t\t\t\t\ttext: item + '%',\n\t\t\t\t\titem: item,\n\t\t\t\t\tonclick: this.onChangeValue,\n\t\t\t\t})\n\t\t\t});\n\n\n\t\t\tif (menuItems.length > 0)\n\t\t\t{\n\t\t\t\tthis.popupMenu = new Menu({\n\t\t\t\t\tbindElement: target,\n\t\t\t\t\titems: menuItems\n\t\t\t\t});\n\n\t\t\t\tthis.popupMenu.show();\n\t\t\t}\n\t\t},\n\t},\n\t// language=Vue\n\ttemplate: `\n\t\t<div class=\"catalog-pf-product-input-wrapper catalog-pf-product-input-wrapper--right\" @click=\"showPopupMenu\">\n\t\t\t<div class=\"catalog-pf-product-input\">{{this.taxValue}}%</div>\n\t\t\t<div class=\"catalog-pf-product-input-info catalog-pf-product-input-info--dropdown\"></div>\n\t\t</div>\n\t`\n});","import {Type} from 'main.core';\nimport {Vue} from \"ui.vue\";\nimport {config} from \"../../config\";\nimport {FormInputCode} from \"../../types/form-input-code\";\nimport {ProductSelector} from \"catalog.product-selector\";\nimport {EventEmitter} from \"main.core.events\";\nimport type {BaseEvent} from \"main.core.events\";\n\nVue.component(config.templateFieldInlineSelector,\n{\n\t/**\n\t * @emits 'onProductChange' {fields: object}\n\t */\n\n\tprops: {\n\t\teditable: Boolean,\n\t\tbasketLength: Number,\n\t\toptions: Object,\n\t\tbasketItem: Object,\n\t\tmodel: Object,\n\t},\n\tdata()\n\t{\n\t\treturn {\n\t\t\tcurrencySymbol: null,\n\t\t\tproductSelector: null,\n\t\t\timageControlId: null,\n\t\t\tselectorId: this.basketItem.selectorId,\n\t\t};\n\t},\n\tcreated()\n\t{\n\t\tEventEmitter.subscribe('BX.Catalog.ProductSelector:onChange', this.onProductChange.bind(this));\n\t\tEventEmitter.subscribe('BX.Catalog.ProductSelector:onClear', this.onProductClear.bind(this))\n\t},\n\tmounted()\n\t{\n\t\tthis.productSelector = new ProductSelector(this.selectorId, this.prepareSelectorParams());\n\t\tthis.productSelector.renderTo(this.$refs.selectorWrapper);\n\t},\n\tmethods:\n\t{\n\t\tprepareSelectorParams(): Object\n\t\t{\n\t\t\tconst fields = {\n\t\t\t\tNAME: this.getField('name') || '',\n\t\t\t};\n\n\t\t\tif (!Type.isNil(this.getField('basePrice')))\n\t\t\t{\n\t\t\t\tfields.PRICE = this.getField('basePrice');\n\t\t\t\tfields.CURRENCY = this.options.currency;\n\t\t\t}\n\n\t\t\tconst selectorOptions = {\n\t\t\t\tiblockId: this.options.iblockId,\n\t\t\t\tbasePriceId: this.options.basePriceId,\n\t\t\t\tcurrency: this.options.currency,\n\t\t\t\tskuTree: this.getDefaultSkuTree(),\n\t\t\t\tfileInputId: '',\n\t\t\t\tmorePhotoValues: [],\n\t\t\t\tfileInput: '',\n\t\t\t\tmodel: this.model,\n\t\t\t\tconfig: {\n\t\t\t\t\tDETAIL_PATH: this.basketItem.detailUrl || '',\n\t\t\t\t\tENABLE_SEARCH: true,\n\t\t\t\t\tENABLE_INPUT_DETAIL_LINK: true,\n\t\t\t\t\tENABLE_IMAGE_CHANGE_SAVING: true,\n\t\t\t\t\tENABLE_EMPTY_PRODUCT_ERROR: this.options.enableEmptyProductError || this.isRequiredField(FormInputCode.PRODUCT_SELECTOR),\n\t\t\t\t\tENABLE_EMPTY_IMAGES_ERROR: this.isRequiredField(FormInputCode.IMAGE_EDITOR),\n\t\t\t\t\tROW_ID: this.selectorId,\n\t\t\t\t\tENABLE_SKU_SELECTION: this.editable,\n\t\t\t\t\tHIDE_UNSELECTED_ITEMS: this.options.hideUnselectedProperties,\n\t\t\t\t\tURL_BUILDER_CONTEXT: this.options.urlBuilderContext\n\t\t\t\t},\n\t\t\t\tmode: this.editable ? ProductSelector.MODE_EDIT : ProductSelector.MODE_VIEW,\n\t\t\t\tfields,\n\t\t\t};\n\n\t\t\tconst formImage = this.basketItem.image;\n\t\t\tif (Type.isObject(formImage))\n\t\t\t{\n\t\t\t\tselectorOptions.fileView = formImage.preview;\n\t\t\t\tselectorOptions.fileInput = formImage.input;\n\t\t\t\tselectorOptions.fileInputId = formImage.id;\n\t\t\t\tselectorOptions.morePhotoValues = formImage.values;\n\t\t\t}\n\n\t\t\treturn selectorOptions;\n\t\t},\n\t\tisEnabledSaving(): boolean\n\t\t{\n\t\t\treturn this.options.enableCatalogSaving && this.basketItem.hasEditRights;\n\t\t},\n\t\tisRequiredField(code: string): boolean\n\t\t{\n\t\t\treturn Type.isArray(this.options.requiredFields) && this.options.requiredFields.includes(code);\n\t\t},\n\t\tgetDefaultSkuTree(): Object\n\t\t{\n\t\t\tlet skuTree = this.basketItem.skuTree || {};\n\t\t\tif (Type.isStringFilled(skuTree))\n\t\t\t{\n\t\t\t\tskuTree = JSON.parse(skuTree);\n\t\t\t}\n\n\t\t\treturn skuTree;\n\t\t},\n\t\tgetField(name, defaultValue = null): any\n\t\t{\n\t\t\treturn this.basketItem.fields[name] || defaultValue;\n\t\t},\n\t\tonProductChange(event: BaseEvent): void\n\t\t{\n\t\t\tconst data = event.getData();\n\t\t\tif (Type.isStringFilled(data.selectorId) && data.selectorId === this.productSelector.getId())\n\t\t\t{\n\t\t\t\tconst basePrice = data.fields.BASE_PRICE\n\n\t\t\t\tconst fields = {\n\t\t\t\t\tBASE_PRICE: basePrice,\n\t\t\t\t\tMODULE: 'catalog',\n\t\t\t\t\tNAME: data.fields.NAME,\n\t\t\t\t\tID: data.fields.ID,\n\t\t\t\t\tPRODUCT_ID: data.fields.PRODUCT_ID,\n\t\t\t\t\tSKU_ID: data.fields.SKU_ID,\n\t\t\t\t\tPROPERTIES: data.fields.PROPERTIES,\n\t\t\t\t\tURL_BUILDER_CONTEXT: this.options.urlBuilderContext,\n\t\t\t\t\tCUSTOMIZED: (Type.isNil(data.fields.PRICE) || data.fields.CUSTOMIZED === 'Y') ? 'Y' : 'N',\n\t\t\t\t\tMEASURE_CODE: data.fields.MEASURE_CODE,\n\t\t\t\t\tMEASURE_NAME: data.fields.MEASURE_NAME,\n\t\t\t\t\tIS_NEW: data.isNew,\n\t\t\t\t};\n\n\t\t\t\tthis.$emit('onProductChange', fields);\n\t\t\t}\n\t\t},\n\t\tonProductClear(event: BaseEvent)\n\t\t{\n\t\t\tconst data = event.getData();\n\n\t\t\tif (Type.isStringFilled(data.selectorId) && data.selectorId === this.productSelector.getId())\n\t\t\t{\n\t\t\t\tthis.$emit('onProductClear');\n\t\t\t}\n\t\t},\n\t},\n\t// language=Vue\n\ttemplate: `\n\t\t<div class=\"catalog-pf-product-item-section\" :id=\"selectorId\" ref=\"selectorWrapper\"></div>\n\t`\n});\n","import {ajax, Cache, Tag, Type} from 'main.core';\nimport {Vue} from \"ui.vue\";\nimport {config} from \"../../config\";\nimport type {BaseEvent} from \"main.core.events\";\nimport {Dialog, TagSelector} from \"ui.entity-selector\";\n\nVue.component(config.templateFieldBrand,\n{\n\t/**\n\t * @emits 'changeBrand' {values: Array<any>}\n\t */\n\n\tprops: {\n\t\tbrands: [Array, String],\n\t\toptions: Object,\n\t\teditable: Boolean,\n\t\thasError: Boolean,\n\t\tselectorId: String,\n\t},\n\tdata()\n\t{\n\t\treturn {\n\t\t\tcache: new Cache.MemoryCache(),\n\t\t}\n\t},\n\tcreated()\n\t{\n\t\tthis.selector = new TagSelector({\n\t\t\tid: this.selectorId,\n\t\t\tdialogOptions: {\n\t\t\t\tid: this.selectorId,\n\t\t\t\tcontext: 'CATALOG_BRANDS',\n\t\t\t\t// enableSearch: true,\n\t\t\t\tpreselectedItems: this.getPreselectedBrands(),\n\t\t\t\tevents: {\n\t\t\t\t\t'Item:onSelect': this.onBrandChange.bind(this),\n\t\t\t\t\t'Item:onDeselect': this.onBrandChange.bind(this),\n\t\t\t\t\t'Search:onItemCreateAsync': this.createBrand.bind(this)\n\t\t\t\t},\n\t\t\t\tsearchTabOptions: {\n\t\t\t\t\tstub: true,\n\t\t\t\t\tstubOptions: {\n\t\t\t\t\t\ttitle: Tag.message`${'CATALOG_FORM_BRAND_SELECTOR_IS_EMPTY_TITLE'}`,\n\t\t\t\t\t\tsubtitle: Tag.message`${'CATALOG_FORM_BRAND_SELECTOR_IS_EMPTY_SUBTITLE'}`,\n\t\t\t\t\t\tarrow: true\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tsearchOptions: {\n\t\t\t\t\tallowCreateItem: true\n\t\t\t\t},\n\t\t\t\tentities: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'brand',\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tiblockId: this.options.iblockId,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdynamicSearch: true,\n\t\t\t\t\t\tdynamicLoad: true\n\t\t\t\t\t},\n\t\t\t\t]\n\t\t\t},\n\t\t});\n\t},\n\tmounted()\n\t{\n\t\tthis.selector.renderTo(this.$refs.brandSelectorWrapper);\n\t},\n\tmethods:\n\t{\n\t\tgetPreselectedBrands()\n\t\t{\n\t\t\tif (!Type.isArray(this.brands) || this.brands.length === 0)\n\t\t\t{\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\treturn this.brands.map((item) => {\n\t\t\t\treturn ['brand', item]\n\t\t\t});\n\t\t},\n\t\tonBrandChange(event: BaseEvent)\n\t\t{\n\t\t\tconst items = event.getTarget().getSelectedItems();\n\t\t\tconst resultValues = [];\n\t\t\tif (Type.isArray(items))\n\t\t\t{\n\t\t\t\titems.forEach((item) => {\n\t\t\t\t\tresultValues.push(item.getId());\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tthis.$emit('changeBrand', resultValues);\n\t\t},\n\t\tcreateBrand(event): Promise\n\t\t{\n\t\t\tconst {searchQuery} = event.getData();\n\t\t\tconst iblockId = this.options.iblockId;\n\n\t\t\treturn new Promise(\n\t\t\t\t(resolve, reject) => {\n\t\t\t\t\tconst dialog: Dialog = event.getTarget();\n\t\t\t\t\tconst fields = {\n\t\t\t\t\t\tname: searchQuery.getQuery(),\n\t\t\t\t\t\tiblockId,\n\t\t\t\t\t};\n\n\t\t\t\t\tdialog.showLoader();\n\t\t\t\t\tajax.runAction(\n\t\t\t\t\t\t'catalog.productForm.createBrand',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\tfields\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t)\n\t\t\t\t\t\t.then(response => {\n\t\t\t\t\t\t\tdialog.hideLoader();\n\t\t\t\t\t\t\tconst item = dialog.addItem({\n\t\t\t\t\t\t\t\tid: response.data.id,\n\t\t\t\t\t\t\t\tentityId: 'brand',\n\t\t\t\t\t\t\t\ttitle: searchQuery.getQuery(),\n\t\t\t\t\t\t\t\ttabs: dialog.getRecentTab().getId(),\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\tif (item)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\titem.select();\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tdialog.hide();\n\t\t\t\t\t\t\tresolve();\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch(() => reject());\n\t\t\t\t});\n\t\t},\n\t},\n\tcomputed:\n\t{\n\t\tlocalize()\n\t\t{\n\t\t\treturn Vue.getFilteredPhrases('CATALOG_');\n\t\t},\n\t},\n\t// language=Vue\n\ttemplate: `\n\t\t<div class=\"catalog-pf-product-control ui-ctl-w100\" v-bind:class=\"{ 'ui-ctl-danger': hasError }\">\n\t\t\t<div class=\"catalog-pf-product-input-wrapper\" ref=\"brandSelectorWrapper\" :id=\"selectorId\"></div>\n\t\t</div>\n\t`\n});","import {Runtime, Text} from 'main.core';\nimport {Vue} from \"ui.vue\";\nimport {config} from \"../../config\";\nimport type {BaseEvent} from \"main.core.events\";\n\nVue.component(config.templateFieldResultSum,\n{\n\t/**\n\t * @emits 'onChangeSum' {sum: number}\n\t */\n\n\tprops: {\n\t\tsum: Number,\n\t\teditable: Boolean,\n\t\toptions: Object,\n\t},\n\tcreated()\n\t{\n\t\tthis.onInputSumHandler = Runtime.debounce(this.onInputSum, 500, this);\n\t},\n\tmethods:\n\t{\n\t\tonInputSum(event: BaseEvent): void\n\t\t{\n\t\t\tif (!this.editable)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tevent.target.value = event.target.value.replace(/[^.,\\d]/g,'');\n\t\t\tif (event.target.value === '')\n\t\t\t{\n\t\t\t\tevent.target.value = 0;\n\t\t\t}\n\t\t\tlet lastSymbol = event.target.value.substr(-1);\n\t\t\tif (lastSymbol === ',')\n\t\t\t{\n\t\t\t\tevent.target.value = event.target.value.replace(',', \".\");\n\t\t\t}\n\t\t\tlet newSum = Text.toNumber(event.target.value);\n\t\t\tif (lastSymbol === '.' || lastSymbol === ',')\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (newSum < 0)\n\t\t\t{\n\t\t\t\tnewSum *= -1;\n\t\t\t}\n\n\t\t\tthis.$emit('onChangeSum', newSum);\n\t\t},\n\t},\n\tcomputed:\n\t{\n\t\tlocalize()\n\t\t{\n\t\t\treturn Vue.getFilteredPhrases('CATALOG_');\n\t\t},\n\t\tcurrencySymbol()\n\t\t{\n\t\t\treturn this.options.currencySymbol || '';\n\t\t},\n\t},\n\t// language=Vue\n\ttemplate: `\n\t\t<div class=\"catalog-pf-product-input-wrapper\">\n\t\t\t<input \ttype=\"text\" \n\t\t\t\t\tclass=\"catalog-pf-product-input catalog-pf-product-input--align-right\"\n\t\t\t\t\t:class=\"{ 'catalog-pf-product-input--disabled': !editable }\"\n\t\t\t\t\t:value=\"sum\"\n\t\t\t\t\t@input=\"onInputSumHandler\"\n\t\t\t\t\t:disabled=\"!editable\"\n\t\t\t>\n\t\t\t<div class=\"catalog-pf-product-input-info\"\n\t\t\t\t :class=\"{ 'catalog-pf-product-input--disabled': !editable }\"\n\t\t\t\t v-html=\"currencySymbol\"\n\t\t\t></div>\n\t\t</div>\n\t`\n});","import {config} from \"../config\";\nimport {Vue} from \"ui.vue\";\nimport {Text, Type, Tag, Loc, Event} from \"main.core\";\nimport {EventEmitter} from \"main.core.events\";\n\nimport \"catalog.product-selector\";\nimport \"ui.common\";\nimport \"ui.alerts\";\nimport \"ui.notification\";\nimport {ProductCalculator, DiscountType} from \"catalog.product-calculator\";\nimport {FormInputCode} from \"../types/form-input-code\";\nimport {FormErrorCode} from \"../types/form-error-code\";\nimport {FormMode} from \"../types/form-mode\";\nimport \"./fields/quantity\";\nimport \"./fields/price\";\nimport \"./fields/discount\";\nimport \"./fields/tax\";\nimport \"./fields/inline-selector\";\nimport \"./fields/brand\";\nimport \"./fields/result-sum\";\nimport {ProductModel} from \"catalog.product-model\";\nimport type {FieldScheme} from \"catalog.product-calculator\";\n\n\nVue.component(config.templateRowName,\n\t{\n\t\t/**\n\t\t * @emits 'changeProduct' {index: number, fields: object}\n\t\t * @emits 'changeRowData' {index: number, fields: object}\n\t\t * @emits 'emitErrorsChange' {index: number, errors: object}\n\t\t * @emits 'refreshBasket'\n\t\t * @emits 'removeItem' {index: number}\n\t\t */\n\n\t\tprops: {\n\t\t\tbasketItem: Object,\n\t\t\tbasketItemIndex: Number,\n\t\t\tbasketLength: Number,\n\t\t\tcountItems: Number,\n\t\t\toptions: Object,\n\t\t\tmode: String,\n\t\t},\n\n\t\tdata()\n\t\t{\n\t\t\treturn {\n\t\t\t\tmodel: null,\n\t\t\t\tcurrencySymbol: null,\n\t\t\t\tproductSelector: null,\n\t\t\t\timageControlId: null,\n\t\t\t\tselectorId: this.basketItem.selectorId,\n\t\t\t\tdefaultMeasure: {\n\t\t\t\t\tname: '',\n\t\t\t\t\tid: null,\n\t\t\t\t},\n\t\t\t\tblocks: {\n\t\t\t\t\tproductSelector: FormInputCode.PRODUCT_SELECTOR,\n\t\t\t\t\tquantity: FormInputCode.QUANTITY,\n\t\t\t\t\tprice: FormInputCode.PRICE,\n\t\t\t\t\tresult: FormInputCode.RESULT,\n\t\t\t\t\tdiscount: FormInputCode.DISCOUNT,\n\t\t\t\t\ttax: FormInputCode.TAX,\n\t\t\t\t\tbrand: FormInputCode.BRAND,\n\t\t\t\t\tmeasure: FormInputCode.MEASURE,\n\t\t\t\t},\n\t\t\t\terrorCodes: {\n\t\t\t\t\temptyProductSelector: FormErrorCode.EMPTY_PRODUCT_SELECTOR,\n\t\t\t\t\temptyImage: FormErrorCode.EMPTY_IMAGE,\n\t\t\t\t\temptyQuantity: FormErrorCode.EMPTY_QUANTITY,\n\t\t\t\t\temptyPrice: FormErrorCode.EMPTY_PRICE,\n\t\t\t\t\temptyBrand: FormErrorCode.EMPTY_BRAND,\n\t\t\t\t}\n\t\t\t};\n\t\t},\n\t\tcreated()\n\t\t{\n\t\t\tthis.currencySymbol = this.options.currencySymbol;\n\n\t\t\tthis.model = this.initModel();\n\t\t\tif (Type.isArray(this.options.measures))\n\t\t\t{\n\t\t\t\tthis.options.measures.map((measure) => {\n\t\t\t\t\tif (measure['IS_DEFAULT'] === 'Y')\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.defaultMeasure.name = measure.SYMBOL;\n\t\t\t\t\t\tthis.defaultMeasure.code = measure.CODE;\n\n\t\t\t\t\t\tif (!this.basketItem.fields.measureName && !this.basketItem.fields.measureCode)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthis.changeProductFields({\n\t\t\t\t\t\t\t\tmeasureCode: this.defaultMeasure.code,\n\t\t\t\t\t\t\t\tmeasureName: this.defaultMeasure.name\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tmethods:\n\t\t\t{\n\t\t\t\tprepareModelFields(): {}\n\t\t\t\t{\n\t\t\t\t\tconst defaultFields = this.basketItem.fields;\n\t\t\t\t\tconst defaultPrice = Text.toNumber(defaultFields.price);\n\t\t\t\t\tlet basePrice = defaultFields.basePrice ? defaultFields.basePrice : defaultFields.price;\n\t\t\t\t\tif (!Type.isNil(basePrice))\n\t\t\t\t\t{\n\t\t\t\t\t\tbasePrice = Text.toNumber(basePrice);\n\t\t\t\t\t}\n\t\t\t\t\treturn {\n\t\t\t\t\t\tNAME: this.basketItem.fields?.name || '',\n\t\t\t\t\t\tMODULE: this.basketItem.fields?.module || '',\n\t\t\t\t\t\tPROPERTIES: this.basketItem.fields?.properties || {},\n\t\t\t\t\t\tBRAND: this.basketItem.fields?.brand || {},\n\t\t\t\t\t\tPRODUCT_ID: this.basketItem.fields?.productId,\n\t\t\t\t\t\tID: this.basketItem.fields?.skuId || this.basketItem.fields?.productId,\n\t\t\t\t\t\tSKU_ID: this.basketItem.fields?.skuId,\n\t\t\t\t\t\tQUANTITY: Text.toNumber(defaultFields.quantity),\n\t\t\t\t\t\tBASE_PRICE: basePrice,\n\t\t\t\t\t\tPRICE: defaultPrice,\n\t\t\t\t\t\tPRICE_NETTO: basePrice,\n\t\t\t\t\t\tPRICE_BRUTTO: defaultPrice,\n\t\t\t\t\t\tPRICE_EXCLUSIVE: this.basketItem.fields.priceExclusive || defaultPrice,\n\t\t\t\t\t\tDISCOUNT_TYPE_ID: Text.toNumber(defaultFields.discountType) || DiscountType.PERCENTAGE,\n\t\t\t\t\t\tDISCOUNT_RATE: Text.toNumber(defaultFields.discountRate),\n\t\t\t\t\t\tDISCOUNT_SUM: Text.toNumber(defaultFields.discount),\n\t\t\t\t\t\tTAX_INCLUDED: defaultFields.taxIncluded || this.options.taxIncluded,\n\t\t\t\t\t\tTAX_RATE: defaultFields.tax || 0,\n\t\t\t\t\t\tCUSTOMIZED: defaultFields.isCustomPrice || 'N',\n\t\t\t\t\t\tMEASURE_CODE: defaultFields.measureCode || this.defaultMeasure.code,\n\t\t\t\t\t\tMEASURE_NAME: defaultFields.measureName || this.defaultMeasure.name,\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tinitModel(): ProductModel\n\t\t\t\t{\n\t\t\t\t\tconst productId = Text.toNumber(this.basketItem.fields?.productId);\n\t\t\t\t\tconst skuId = Text.toNumber(this.basketItem.fields?.skuId);\n\t\t\t\t\tconst model = new ProductModel(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tiblockId: Text.toNumber(this.options.iblockId),\n\t\t\t\t\t\t\tbasePriceId: Text.toNumber(this.options.basePriceId),\n\t\t\t\t\t\t\tcurrency: this.options.currency,\n\t\t\t\t\t\t\tisSimpleModel: (\n\t\t\t\t\t\t\t\tType.isStringFilled(this.basketItem.fields?.name)\n\t\t\t\t\t\t\t\t&& productId <= 0\n\t\t\t\t\t\t\t\t&& skuId <= 0\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tfields: this.prepareModelFields(),\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\n\t\t\t\t\tEventEmitter.subscribe(model, 'onErrorsChange', this.onErrorsChange);\n\n\t\t\t\t\treturn model;\n\t\t\t\t},\n\t\t\t\tonErrorsChange()\n\t\t\t\t{\n\t\t\t\t\tconst errors = Object.values(this.model.getErrorCollection().getErrors());\n\t\t\t\t\tthis.changeRowData({errors});\n\t\t\t\t\tthis.$emit('emitErrorsChange', {\n\t\t\t\t\t\tindex: this.basketItemIndex,\n\t\t\t\t\t\terrors,\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\tsetCalculatedFields(fields: {}): void\n\t\t\t\t{\n\t\t\t\t\tthis.model.getCalculator().setFields(fields);\n\t\t\t\t\tconst map = {calculatedFields: fields};\n\t\t\t\t\tif (Text.toNumber(fields.SUM) >= 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tmap.sum = Text.toNumber(fields.SUM);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!Type.isNil(fields.ID))\n\t\t\t\t\t{\n\t\t\t\t\t\tmap.offerId = Text.toNumber(fields.ID);\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.changeRowData(map);\n\t\t\t\t},\n\t\t\t\tgetProductFieldsFromModel()\n\t\t\t\t{\n\t\t\t\t\tconst modelFields = this.model.getFields();\n\t\t\t\t\treturn {\n\t\t\t\t\t\tproductId: modelFields.PRODUCT_ID,\n\t\t\t\t\t\tskuId: modelFields.SKU_ID,\n\t\t\t\t\t\tname: modelFields.NAME,\n\t\t\t\t\t\tmodule: modelFields.MODULE,\n\t\t\t\t\t\tbasePrice: modelFields.BASE_PRICE,\n\t\t\t\t\t\tprice: modelFields.PRICE,\n\t\t\t\t\t\tpriceExclusive: modelFields.PRICE_EXCLUSIVE,\n\t\t\t\t\t\tquantity: modelFields.QUANTITY,\n\t\t\t\t\t\tdiscountRate: modelFields.DISCOUNT_RATE,\n\t\t\t\t\t\tdiscount: modelFields.DISCOUNT_SUM,\n\t\t\t\t\t\tdiscountType: modelFields.DISCOUNT_TYPE_ID,\n\t\t\t\t\t\tisCustomPrice: modelFields.CUSTOMIZED || 'N',\n\t\t\t\t\t\tmeasureCode: modelFields.MEASURE_CODE || '',\n\t\t\t\t\t\tmeasureName: modelFields.MEASURE_NAME || '',\n\t\t\t\t\t\tproperties: modelFields.PROPERTIES || {},\n\t\t\t\t\t\tbrands: modelFields.BRANDS || {},\n\t\t\t\t\t\ttaxId: modelFields.TAX_ID,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\tchangeRowData(product: {}): void\n\t\t\t\t{\n\t\t\t\t\tthis.$emit('changeRowData', {\n\t\t\t\t\t\tindex: this.basketItemIndex,\n\t\t\t\t\t\tproduct\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\tchangeProductFields(fields: {}): void\n\t\t\t\t{\n\t\t\t\t\tfields = Object.assign(this.basketItem.fields, fields);\n\t\t\t\t\tthis.$emit('changeProduct', {\n\t\t\t\t\t\tindex: this.basketItemIndex,\n\t\t\t\t\t\tproduct: {fields},\n\t\t\t\t\t\tskipFieldChecking: this.model.isSimple() && this.basketLength === 1,\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\tsaveCatalogField(changedFields: []): ?Promise\n\t\t\t\t{\n\t\t\t\t\treturn this.model.save(changedFields);\n\t\t\t\t},\n\t\t\t\tonProductChange(fields: {})\n\t\t\t\t{\n\t\t\t\t\tfields = Object.assign(\n\t\t\t\t\t\tthis.model.getCalculator().calculateBasePrice(fields.BASE_PRICE),\n\t\t\t\t\t\tfields\n\t\t\t\t\t);\n\n\t\t\t\t\tthis.changeRowData(\n\t\t\t\t\t\t{catalogPrice: fields.BASE_PRICE}\n\t\t\t\t\t);\n\t\t\t\t\tthis.processFields(fields);\n\t\t\t\t\tthis.setCalculatedFields(fields);\n\t\t\t\t},\n\t\t\t\tonProductClear()\n\t\t\t\t{\n\t\t\t\t\tconst fields = this.model.getCalculator().calculatePrice(0);\n\n\t\t\t\t\tfields.BASE_PRICE = 0;\n\t\t\t\t\tfields.NAME = '';\n\t\t\t\t\tfields.ID = 0;\n\t\t\t\t\tfields.PRODUCT_ID = 0;\n\t\t\t\t\tfields.SKU_ID = 0;\n\t\t\t\t\tfields.MODULE = '';\n\n\t\t\t\t\tthis.setCalculatedFields(fields);\n\t\t\t\t},\n\t\t\t\tonChangeSum(sum: number)\n\t\t\t\t{\n\t\t\t\t\tconst price = (sum / Text.toNumber(this.basketItem.fields.quantity)) + Text.toNumber(this.basketItem.fields.discount);\n\t\t\t\t\tthis.onChangePrice(price);\n\t\t\t\t},\n\t\t\t\tonChangePrice(newPrice)\n\t\t\t\t{\n\t\t\t\t\tif (!this.options.isCatalogPriceSaveEnabled)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.changeBasePrice(newPrice);\n\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.model.showSaveNotifier(\n\t\t\t\t\t\t'priceChanger_' + this.selectorId,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttitle: Loc.getMessage('CATALOG_PRODUCT_MODEL_SAVING_NOTIFICATION_PRICE_CHANGED_QUERY'),\n\t\t\t\t\t\t\tevents: {\n\t\t\t\t\t\t\t\tonCancel: () => {\n\t\t\t\t\t\t\t\t\tconst calculatorFields = this.changePrice(newPrice);\n\t\t\t\t\t\t\t\t\tif (calculatorFields.DISCOUNT_SUM > 0)\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tthis.toggleDiscount('Y');\n\t\t\t\t\t\t\t\t\t\tthis.$root.$app.changeFormOption('showDiscountBlock', 'Y');\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tonSave: () => {\n\t\t\t\t\t\t\t\t\tthis.changeBasePrice(newPrice);\n\t\t\t\t\t\t\t\t\tthis.saveCatalogField(['BASE_PRICE']).then(()=>{\n\t\t\t\t\t\t\t\t\t\tthis.changeRowData(\n\t\t\t\t\t\t\t\t\t\t\t{catalogPrice: newPrice}\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tonSelectMeasure(measure: {})\n\t\t\t\t{\n\t\t\t\t\tthis.changeMeasure(measure);\n\t\t\t\t\tthis.model.showSaveNotifier(\n\t\t\t\t\t\t'measureChanger_' + this.selectorId,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttitle: Loc.getMessage('CATALOG_PRODUCT_MODEL_SAVING_NOTIFICATION_MEASURE_CHANGED_QUERY'),\n\t\t\t\t\t\t\tevents: {\n\t\t\t\t\t\t\t\tonSave: () => {\n\t\t\t\t\t\t\t\t\tthis.saveCatalogField(['MEASURE_CODE', 'MEASURE_NAME']);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\ttoggleDiscount(value: string): void\n\t\t\t\t{\n\t\t\t\t\tif (this.isReadOnly)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.changeRowData(\n\t\t\t\t\t\t{showDiscount: value}\n\t\t\t\t\t);\n\n\t\t\t\t\tif (value === 'Y')\n\t\t\t\t\t{\n\t\t\t\t\t\tsetTimeout(\n\t\t\t\t\t\t\t() => this.$refs?.discountWrapper?.$refs?.discountInput?.focus()\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ttoggleTax(value: string): void\n\t\t\t\t{\n\t\t\t\t\tthis.changeRowData(\n\t\t\t\t\t\t{showTax: value}\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tprocessFields(fields: {}): void\n\t\t\t\t{\n\t\t\t\t\tthis.model.getCalculator().setFields(fields);\n\t\t\t\t\tthis.model.setFields(fields);\n\t\t\t\t\tthis.changeProductFields({...this.basketItem.fields, ...this.getProductFieldsFromModel()});\n\n\t\t\t\t\tif (!Type.isNil(fields.SUM))\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.changeRowData({sum: fields.SUM});\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tchangeBrand(values): void\n\t\t\t\t{\n\t\t\t\t\tconst brands = Type.isArray(values) ? values : [];\n\t\t\t\t\tthis.processFields({ BRANDS: brands });\n\t\t\t\t},\n\t\t\t\tonChangeQuantity(quantity: number): void\n\t\t\t\t{\n\t\t\t\t\tthis.model.getCalculator().setFields();\n\t\t\t\t\tthis.processFields(\n\t\t\t\t\t\tthis.model.getCalculator().calculateQuantity(quantity)\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tchangeMeasure(measure: {}): void\n\t\t\t\t{\n\t\t\t\t\tconst productFields = this.basketItem.fields;\n\t\t\t\t\tproductFields['measureCode'] = measure.code;\n\t\t\t\t\tproductFields['measureName'] = measure.name;\n\t\t\t\t\tthis.processFields({\n\t\t\t\t\t\tMEASURE_CODE: measure.code,\n\t\t\t\t\t\tMEASURE_NAME: measure.name,\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\tchangeBasePrice(price: number): void\n\t\t\t\t{\n\t\t\t\t\tthis.model.setField('BASE_PRICE', price);\n\t\t\t\t\tthis.processFields(\n\t\t\t\t\t\tthis.model.getCalculator().calculateBasePrice(price)\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tchangePrice(price: number): FieldScheme\n\t\t\t\t{\n\t\t\t\t\tthis.model.getCalculator().setFields(\n\t\t\t\t\t\tthis.model.getCalculator().calculateBasePrice(this.basketItem.catalogPrice)\n\t\t\t\t\t);\n\t\t\t\t\tconst calculatedFields = this.model.getCalculator().calculatePrice(price);\n\t\t\t\t\tthis.processFields(calculatedFields);\n\t\t\t\t\treturn calculatedFields;\n\t\t\t\t},\n\t\t\t\tchangeDiscountType(discountType: string): FieldScheme\n\t\t\t\t{\n\t\t\t\t\tconst type = (Text.toNumber(discountType) === DiscountType.MONETARY) ? DiscountType.MONETARY : DiscountType.PERCENTAGE;\n\t\t\t\t\tconst calculatedFields = this.model.getCalculator().calculateDiscountType(type);\n\t\t\t\t\tthis.processFields(calculatedFields);\n\t\t\t\t\treturn calculatedFields;\n\t\t\t\t},\n\t\t\t\tchangeDiscount(discount: number): FieldScheme\n\t\t\t\t{\n\t\t\t\t\tconst calculatedFields = this.model.getCalculator().calculateDiscount(discount);\n\t\t\t\t\tthis.processFields(calculatedFields);\n\t\t\t\t\treturn calculatedFields;\n\t\t\t\t},\n\t\t\t\tchangeTax(fields)\n\t\t\t\t{\n\t\t\t\t\tconst calculatedFields = this.model.getCalculator().calculateTax(fields.taxValue);\n\t\t\t\t\tcalculatedFields.TAX_ID = fields.taxId;\n\t\t\t\t\tthis.processFields(calculatedFields)\n\t\t\t\t\treturn calculatedFields;\n\t\t\t\t},\n\t\t\t\tchangeTaxIncluded(taxIncluded)\n\t\t\t\t{\n\t\t\t\t\tif (taxIncluded === this.basketItem.taxIncluded || !this.isEditableField(this.blocks.tax))\n\t\t\t\t\t{\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst calculatedFields = this.model.getCalculator().calculateTaxIncluded(taxIncluded);\n\t\t\t\t\tthis.processFields(calculatedFields)\n\t\t\t\t\treturn calculatedFields;\n\t\t\t\t},\n\t\t\t\tremoveItem()\n\t\t\t\t{\n\t\t\t\t\tthis.$emit('removeItem', {\n\t\t\t\t\t\tindex: this.basketItemIndex\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\tisRequiredField(code: string): boolean\n\t\t\t\t{\n\t\t\t\t\treturn Type.isArray(this.options.requiredFields) && this.options.requiredFields.includes(code);\n\t\t\t\t},\n\t\t\t\tisVisibleBlock(code): boolean\n\t\t\t\t{\n\t\t\t\t\treturn Type.isArray(this.options.visibleBlocks) && this.options.visibleBlocks.includes(code)\n\t\t\t\t},\n\t\t\t\thasError(code): boolean\n\t\t\t\t{\n\t\t\t\t\tif (this.basketItem.errors.length === 0 || (this.model.isEmpty() && !this.model.isChanged()))\n\t\t\t\t\t{\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst filteredErrors = this.basketItem.errors.filter((error) => {\n\t\t\t\t\t\treturn error.code === code\n\t\t\t\t\t});\n\n\t\t\t\t\treturn filteredErrors.length > 0;\n\t\t\t\t},\n\t\t\t\tisEditablePrice(): boolean\n\t\t\t\t{\n\t\t\t\t\treturn this.options?.editableFields.includes(FormInputCode.PRICE)\n\t\t\t\t\t\t&& (\n\t\t\t\t\t\t\tthis.model.isNew()\n\t\t\t\t\t\t\t|| !this.model.isCatalogExisted()\n\t\t\t\t\t\t\t|| this.options?.isCatalogPriceEditEnabled\n\t\t\t\t\t\t)\n\t\t\t\t\t;\n\t\t\t\t},\n\t\t\t\tisEditableField(code): boolean\n\t\t\t\t{\n\t\t\t\t\tif (code === FormInputCode.PRICE && !this.options?.isCatalogPriceEditEnabled)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn this.isEditablePrice();\n\t\t\t\t\t}\n\n\t\t\t\t\treturn this.options?.editableFields.includes(code);\n\t\t\t\t},\n\t\t\t\tgetHint(code): ?{}\n\t\t\t\t{\n\t\t\t\t\treturn this.options?.fieldHints[code];\n\t\t\t\t},\n\t\t\t\thasHint(code): boolean\n\t\t\t\t{\n\t\t\t\t\tif (code === FormInputCode.PRICE && !this.options?.isCatalogPriceEditEnabled)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn !this.isEditablePrice();\n\t\t\t\t\t}\n\n\t\t\t\t\treturn false;\n\t\t\t\t},\n\t\t\t\tshowPriceNotify()\n\t\t\t\t{\n\t\t\t\t\tconst hint = this.getHint(this.blocks.price);\n\t\t\t\t\tif (Text.toNumber(hint?.ARTICLE_CODE) > 0)\n\t\t\t\t\t{\n\t\t\t\t\t\ttop.BX.Helper.show(\"redirect=detail&code=\" + Text.toNumber(hint?.ARTICLE_CODE));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\twatch:\n\t\t\t{\n\t\t\t\ttaxIncluded(value, oldValue){\n\t\t\t\t\tif (value !== oldValue)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.changeTaxIncluded(value);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\tcomputed:\n\t\t\t{\n\t\t\t\tlocalize()\n\t\t\t\t{\n\t\t\t\t\treturn Vue.getFilteredPhrases('CATALOG_FORM_');\n\t\t\t\t},\n\t\t\t\tshowDiscount(): boolean\n\t\t\t\t{\n\t\t\t\t\treturn this.showDiscountBlock && this.basketItem.showDiscount === 'Y';\n\t\t\t\t},\n\t\t\t\tgetBrandsSelectorId(): string\n\t\t\t\t{\n\t\t\t\t\treturn this.basketItem.selectorId + '_brands';\n\t\t\t\t},\n\t\t\t\tgetPriceExclusive(): ?number\n\t\t\t\t{\n\t\t\t\t\treturn this.basketItem.fields.priceExclusive || this.basketItem.fields.price\n\t\t\t\t},\n\t\t\t\tshowDiscountBlock(): boolean\n\t\t\t\t{\n\t\t\t\t\treturn this.options.showDiscountBlock === 'Y'\n\t\t\t\t\t\t&& this.isVisibleBlock(this.blocks.discount)\n\t\t\t\t\t\t&& !this.isReadOnly\n\t\t\t\t\t;\n\t\t\t\t},\n\t\t\t\tshowTaxBlock(): boolean\n\t\t\t\t{\n\t\t\t\t\treturn this.options.showTaxBlock === 'Y'\n\t\t\t\t\t\t&& this.getTaxList.length > 0\n\t\t\t\t\t\t&& this.isVisibleBlock(this.blocks.tax)\n\t\t\t\t\t\t&& !this.isReadOnly\n\t\t\t\t\t;\n\t\t\t\t},\n\t\t\t\tshowRemoveIcon(): boolean\n\t\t\t\t{\n\t\t\t\t\tif (this.isReadOnly)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (this.countItems > 1)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn !Type.isNil(this.basketItem.offerId);\n\t\t\t\t},\n\t\t\t\tshowTaxSelector(): boolean\n\t\t\t\t{\n\t\t\t\t\treturn this.basketItem.showTax === 'Y';\n\t\t\t\t},\n\t\t\t\tshowBasePrice(): boolean\n\t\t\t\t{\n\t\t\t\t\treturn this.basketItem.fields.discount > 0\n\t\t\t\t\t\t|| (Text.toNumber(this.basketItem.fields.price) !== Text.toNumber(this.basketItem.fields.basePrice))\n\t\t\t\t\t;\n\t\t\t\t},\n\t\t\t\tgetMeasureName(): string\n\t\t\t\t{\n\t\t\t\t\treturn this.basketItem.fields.measureName || this.defaultMeasure.name;\n\t\t\t\t},\n\t\t\t\tgetMeasureCode(): string\n\t\t\t\t{\n\t\t\t\t\treturn this.basketItem.fields.measureCode || this.defaultMeasure.code;\n\t\t\t\t},\n\t\t\t\tgetTaxList(): []\n\t\t\t\t{\n\t\t\t\t\treturn Type.isArray(this.options.taxList) ? this.options.taxList : [];\n\t\t\t\t},\n\t\t\t\ttaxIncluded(): string\n\t\t\t\t{\n\t\t\t\t\treturn this.basketItem.fields.taxIncluded;\n\t\t\t\t},\n\t\t\t\tisTaxIncluded(): boolean\n\t\t\t\t{\n\t\t\t\t\treturn this.taxIncluded === 'Y';\n\t\t\t\t},\n\t\t\t\tisReadOnly(): boolean\n\t\t\t\t{\n\t\t\t\t\treturn this.mode === FormMode.READ_ONLY\n\t\t\t\t},\n\t\t\t},\n\t\t// language=Vue\n\t\ttemplate: `\n\t\t<div class=\"catalog-pf-product-item\" v-bind:class=\"{ 'catalog-pf-product-item--borderless': !isReadOnly && basketItemIndex === 0 }\">\n\t\t\t<div class=\"catalog-pf-product-item--remove\" @click=\"removeItem\" v-if=\"showRemoveIcon\"></div>\n\t\t\t<div class=\"catalog-pf-product-item--num\">\n\t\t\t\t<div class=\"catalog-pf-product-index\">{{basketItemIndex + 1}}</div>\n\t\t\t</div>\n\t\t\t<div class=\"catalog-pf-product-item--left\">\n\t\t\t\t<div v-if=\"isVisibleBlock(blocks.productSelector)\">\n\t\t\t\t\t<div class=\"catalog-pf-product-item-section\">\n\t\t\t\t\t\t<div class=\"catalog-pf-product-label\">{{localize.CATALOG_FORM_NAME}}</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<${config.templateFieldInlineSelector}\n\t\t\t\t\t\t:basketItem=\"basketItem\"\n\t\t\t\t\t\t:basketLength=\"basketLength\"\n\t\t\t\t\t\t:options=\"options\"\n\t\t\t\t\t\t:model=\"model\"\n\t\t\t\t\t\t:editable=\"isEditableField(blocks.productSelector)\"\n\t\t\t\t\t\t@onProductChange=\"onProductChange\"\n\t\t\t\t\t\t@saveCatalogField=\"saveCatalogField\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div v-if=\"isVisibleBlock(blocks.brand)\" class=\"catalog-pf-product-input-brand-wrapper\">\n\t\t\t\t\t<div class=\"catalog-pf-product-item-section\">\n\t\t\t\t\t\t<div class=\"catalog-pf-product-label\">{{localize.CATALOG_FORM_BRAND_TITLE}}</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<${config.templateFieldBrand}\n\t\t\t\t\t\t:brands=\"basketItem.fields.brands\"\n\t\t\t\t\t\t:selectorId=\"getBrandsSelectorId\"\n\t\t\t\t\t\t:hasError=\"hasError(errorCodes.emptyBrand)\"\n\t\t\t\t\t\t:options=\"options\"\n\t\t\t\t\t\t:editable=\"isEditableField(blocks.brand)\"\n\t\t\t\t\t\t@changeBrand=\"changeBrand\"\n\t\t\t\t\t\t@saveCatalogField=\"saveCatalogField\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\n\t\t\t</div>\n\t\t\t<div class=\"catalog-pf-product-item--right\">\n\t\t\t\t<div class=\"catalog-pf-product-item-section\">\n\t\t\t\t\t<div v-if=\"isVisibleBlock(blocks.price)\" class=\"catalog-pf-product-label\" style=\"width: 94px\">\n\t\t\t\t\t\t{{localize.CATALOG_FORM_PRICE}}\n\t\t\t\t\t\t<span v-if=\"hasHint(blocks.price)\" class=\"ui-hint-icon\" @click=\"showPriceNotify\"></span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-if=\"isVisibleBlock(blocks.quantity)\" class=\"catalog-pf-product-label\" style=\"width: 72px\">\n\t\t\t\t\t\t{{localize.CATALOG_FORM_QUANTITY}}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-if=\"isVisibleBlock(blocks.result)\" class=\"catalog-pf-product-label\" style=\"width: 94px\">\n\t\t\t\t\t\t{{localize.CATALOG_FORM_RESULT}}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"catalog-pf-product-item-section\">\n\n\t\t\t\t\t<div v-if=\"isVisibleBlock(blocks.price)\" class=\"catalog-pf-product-control\" style=\"width: 94px\">\n\t\t\t\t\t\t<${config.templateFieldPrice}\n\t\t\t\t\t\t\t:selectorId=\"basketItem.selectorId\"\n\t\t\t\t\t\t\t:price=\"basketItem.fields.basePrice\"\n\t\t\t\t\t\t\t:options=\"options\"\n\t\t\t\t\t\t\t:editable=\"isEditableField(blocks.price)\"\n\t\t\t\t\t\t\t:hasError=\"hasError(errorCodes.emptyPrice)\"\n\t\t\t\t\t\t\t@onChangePrice=\"onChangePrice\"\n\t\t\t\t\t\t\t@saveCatalogField=\"saveCatalogField\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div v-if=\"isVisibleBlock(blocks.quantity)\" class=\"catalog-pf-product-control\" style=\"width: 72px\">\n\t\t\t\t\t\t<${config.templateFieldQuantity}\n\t\t\t\t\t\t\t:quantity=\"basketItem.fields.quantity\"\n\t\t\t\t\t\t\t:measureCode=\"getMeasureCode\"\n\t\t\t\t\t\t\t:measureRatio=\"basketItem.fields.measureRatio\"\n\t\t\t\t\t\t\t:measureName=\"getMeasureName\"\n\t\t\t\t\t\t\t:hasError=\"hasError(errorCodes.emptyQuantity)\"\n\t\t\t\t\t\t\t:options=\"options\"\n\t\t\t\t\t\t\t:editable=\"isEditableField(blocks.quantity)\"\n\t\t\t\t\t\t\t@onChangeQuantity=\"onChangeQuantity\"\n\t\t\t\t\t\t\t@onSelectMeasure=\"onSelectMeasure\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div v-if=\"isVisibleBlock(blocks.result)\" class=\"catalog-pf-product-control\" style=\"width: 94px\">\n\t\t\t\t\t\t<${config.templateFieldResultSum}\n\t\t\t\t\t\t\t\t:sum=\"basketItem.sum\"\n\t\t\t\t\t\t\t\t:options=\"options\"\n\t\t\t\t\t\t\t\t:editable=\"isEditableField(blocks.result)\"\n\t\t\t\t\t\t\t\t@onChangeSum=\"onChangeSum\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div v-if=\"hasError(errorCodes.emptyQuantity)\" class=\"catalog-pf-product-item-section\">\n\t\t\t\t\t<div class=\"catalog-product-error\">{{localize.CATALOG_FORM_ERROR_EMPTY_QUANTITY}}</div>\n\t\t\t\t</div>\n\t\t\t\t<div v-if=\"hasError(errorCodes.emptyPrice)\" class=\"catalog-pf-product-item-section\">\n\t\t\t\t\t<div class=\"catalog-product-error\">{{localize.CATALOG_FORM_ERROR_EMPTY_PRICE}}</div>\n\t\t\t\t</div>\n\t\t\t\t<div v-if=\"showDiscountBlock\" class=\"catalog-pf-product-item-section\">\n\t\t\t\t\t<div v-if=\"showDiscount\" class=\"catalog-pf-product-link-toggler catalog-pf-product-link-toggler--hide\" @click=\"toggleDiscount('N')\">{{localize.CATALOG_FORM_DISCOUNT_TITLE}}</div>\n\t\t\t\t\t<div v-else class=\"catalog-pf-product-link-toggler catalog-pf-product-link-toggler--show\" @click=\"toggleDiscount('Y')\">{{localize.CATALOG_FORM_DISCOUNT_TITLE}}</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div v-if=\"showDiscount\" class=\"catalog-pf-product-item-section\">\n\t\t\t\t\t<${config.templateFieldDiscount}\n\t\t\t\t\t\t:discount=\"basketItem.fields.discount\"\n\t\t\t\t\t\t:discountType=\"basketItem.fields.discountType\"\n\t\t\t\t\t\t:discountRate=\"basketItem.fields.discountRate\"\n\t\t\t\t\t\t:options=\"options\"\n\t\t\t\t\t\t:editable=\"isEditableField(blocks.discount)\"\n\t\t\t\t\t\tref=\"discountWrapper\"\n\t\t\t\t\t\t@changeDiscount=\"changeDiscount\"\n\t\t\t\t\t\t@changeDiscountType=\"changeDiscountType\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\n\t\t\t\t<div v-if=\"showTaxBlock\" class=\"catalog-pf-product-item-section catalog-pf-product-item-section--dashed\">\n\t\t\t\t\t<div v-if=\"showTaxSelector\" class=\"catalog-pf-product-link-toggler catalog-pf-product-link-toggler--hide\" @click=\"toggleTax('N')\">{{localize.CATALOG_FORM_TAX_TITLE}}</div>\n\t\t\t\t\t<div v-else class=\"catalog-pf-product-link-toggler catalog-pf-product-link-toggler--show\" @click=\"toggleTax('Y')\">{{localize.CATALOG_FORM_TAX_TITLE}}</div>\n\t\t\t\t</div>\n\t\t\t\t<div v-if=\"showTaxSelector && showTaxBlock\" class=\"catalog-pf-product-item-section\">\n\t\t\t\t\t<${config.templateFieldTax}\n\t\t\t\t\t\t:taxId=\"basketItem.fields.taxId\"\n\t\t\t\t\t\t:options=\"options\"\n\t\t\t\t\t\t:editable=\"isEditableField(blocks.tax)\"\n\t\t\t\t\t\t@changeProduct=\"changeProduct\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"catalog-pf-product-item-section catalog-pf-product-item-section--dashed\"></div>\n\t\t\t</div>\n\t\t</div>\n\t`\n\t});\n","export class FormCompilationType\n{\n\tstatic REGULAR: string = 'REGULAR';\n\tstatic FACEBOOK: string = 'FACEBOOK';\n}","export class FormHelpdeskCode\n{\n\tstatic COMPILATION_FACEBOOK: number = 13856526;\n\tstatic COMMON_COMPILATION: number = 13841876;\n}","import {Vuex} from 'ui.vue.vuex';\nimport {Vue} from 'ui.vue';\nimport {config} from '../../config';\nimport {BaseEvent, EventEmitter} from 'main.core.events';\nimport {Popup} from 'main.popup';\nimport {FormMode} from '../../types/form-mode';\nimport {FormCompilationType} from '../../types/form-compilation-type';\nimport {FormHelpdeskCode} from '../../types/form-helpdesk-code';\nimport {ajax, Event, Tag, Dom, Loc, Type} from 'main.core';\nimport {Loader} from 'main.loader';\nimport {Label, LabelColor} from 'ui.label';\nimport {MessageCard} from 'ui.messagecard';\nimport 'ui.vue.components.hint';\nimport 'ui.notification';\nimport 'ui.info-helper';\nimport 'main.qrcode';\nimport 'clipboard';\nimport 'helper';\n\nVue.component(config.templatePanelCompilation,\n{\n\tprops: {\n\t\tcompilationOptions: Object,\n\t\tmode: String,\n\t},\n\tcreated()\n\t{\n\t\tEventEmitter.subscribe('BX.Catalog.ProductSelector:onChange', this.destroyPopup.bind(this));\n\t\tEventEmitter.subscribe('BX.Catalog.ProductSelector:onClear', this.destroyPopup.bind(this));\n\t\tthis.newLabel = new Label({\n\t\t\ttext: this.localize.CATALOG_FORM_COMPILATION_PRODUCT_NEW_LABEL,\n\t\t\tcolor: LabelColor.PRIMARY,\n\t\t\tfill: true\n\t\t});\n\n\t\tconst moreMessageButton = Tag.render`\n\t\t\t<a class=\"ui-btn ui-btn-primary\">${this.localize.CATALOG_FORM_COMPILATION_INFO_BUTTON_MORE}</a>\n\t\t`;\n\n\t\tEvent.bind(moreMessageButton, 'click', this.openHelpDesk);\n\n\t\tlet header = '';\n\t\tlet description = '';\n\t\tif (this.isFacebookForm())\n\t\t{\n\t\t\theader = this.localize.CATALOG_FORM_COMPILATION_INFO_MESSAGE_TITLE_FACEBOOK;\n\t\t\tdescription = Tag.render`\n\t\t\t\t<p>${this.localize.CATALOG_FORM_COMPILATION_INFO_MESSAGE_BODY_FACEBOOK_FIRST_BLOCK}</p>\n\t\t\t\t<p>${this.localize.CATALOG_FORM_COMPILATION_INFO_MESSAGE_BODY_FACEBOOK_SECOND_BLOCK}</p>\n\t\t\t`;\n\t\t}\n\t\telse\n\t\t{\n\t\t\theader = this.localize.CATALOG_FORM_COMPILATION_INFO_MESSAGE_TITLE;\n\t\t\tdescription = this.localize.CATALOG_FORM_COMPILATION_INFO_MESSAGE_BODY_MARKETING;\n\t\t}\n\n\t\tthis.message = new MessageCard({\n\t\t\tid: 'compilationInfo',\n\t\t\theader,\n\t\t\tdescription,\n\t\t\tangle: false,\n\t\t\thidden: true,\n\t\t\tactionElements: [moreMessageButton]\n\t\t});\n\n\t\tEventEmitter.subscribe(this.message, 'onClose', this.hideMessage);\n\t},\n\tmounted()\n\t{\n\t\tthis.$refs.label.appendChild(this.newLabel.render());\n\t\tthis.$refs.message.appendChild(this.message.getLayout());\n\t\tif (!this.compilationOptions.hiddenInfoMessage)\n\t\t{\n\t\t\tthis.showMessage();\n\t\t}\n\t},\n\tdata()\n\t{\n\t\treturn {\n\t\t\tcompilationLink: null,\n\t\t}\n\t},\n\tmethods:\n\t{\n\t\tisFacebookForm()\n\t\t{\n\t\t\treturn this.compilationOptions.type === FormCompilationType.FACEBOOK;\n\t\t},\n\t\topenHelpDesk()\n\t\t{\n\t\t\tthis.helpdeskCode =\n\t\t\t\tthis.isFacebookForm()\n\t\t\t\t\t? FormHelpdeskCode.COMPILATION_FACEBOOK\n\t\t\t\t\t: FormHelpdeskCode.COMMON_COMPILATION\n\t\t\t;\n\n\t\t\ttop.BX.Helper.show('redirect=detail&code=' + this.helpdeskCode);\n\t\t},\n\t\tshowPopup(event: BaseEvent): void\n\t\t{\n\t\t\tif (this.compilationOptions.disabledSwitcher)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (this.isFacebookForm())\n\t\t\t{\n\t\t\t\tthis.openHelpDesk();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (this.popup instanceof Popup)\n\t\t\t{\n\t\t\t\tthis.popup.setBindElement(this.$refs.qrLink);\n\t\t\t\tthis.popup.show();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst basket = this.$store.getters['productList/getBasket']();\n\t\t\tconst productIds = basket.map((basketItem) => {\n\t\t\t\treturn basketItem?.fields?.skuId\n\t\t\t});\n\n\t\t\treturn new Promise(\n\t\t\t\t(resolve, reject) => {\n\t\t\t\t\tajax.runAction(\n\t\t\t\t\t\t'salescenter.api.store.getLinkToProductCollection',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tjson: {\n\t\t\t\t\t\t\t\tproductIds\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t)\n\t\t\t\t\t\t.then(response => {\n\t\t\t\t\t\t\tthis.compilationLink = response.data.link\n\t\t\t\t\t\t\tthis.popup = new Popup({\n\t\t\t\t\t\t\t\tbindElement: event.target,\n\t\t\t\t\t\t\t\tcontent: this.getQRPopupContent(),\n\t\t\t\t\t\t\t\twidth: 375,\n\t\t\t\t\t\t\t\tcloseIcon: { top: '5px', right: '5px' },\n\t\t\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t\t\t\tcloseByEsc: true,\n\t\t\t\t\t\t\t\tautoHide: true,\n\t\t\t\t\t\t\t\tcacheable: true,\n\t\t\t\t\t\t\t\tanimation: 'fading-slide',\n\t\t\t\t\t\t\t\tangle: { offset: 30 }\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\tthis.popup.show();\n\t\t\t\t\t\t\tresolve();\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch(() => reject());\n\t\t\t\t});\n\t\t},\n\t\tdestroyPopup(): void\n\t\t{\n\t\t\tif (this.popup instanceof Popup)\n\t\t\t{\n\t\t\t\tthis.popup.destroy();\n\t\t\t\tthis.popup = null;\n\t\t\t}\n\t\t},\n\t\tgetQRPopupContent(): HTMLElement\n\t\t{\n\t\t\tif (!this.compilationLink)\n\t\t\t{\n\t\t\t\treturn '';\n\t\t\t}\n\n\t\t\tconst buttonCopy = Tag.render`\n\t\t\t\t<div class=\"catalog-pf-product-qr-popup-copy\">${this.localize.CATALOG_FORM_COMPILATION_QR_COPY}</div>\n\t\t\t`;\n\n\t\t\tEvent.bind(buttonCopy, 'click', () => {\n\t\t\t\tBX.clipboard.copy(this.compilationLink);\n\t\t\t\tBX.UI.Notification.Center.notify({\n\t\t\t\t\tcontent: this.localize.CATALOG_FORM_COMPILATION_QR_COPY_NOTIFY_MESSAGE,\n\t\t\t\t\tautoHideDelay: 2000,\n\t\t\t\t});\n\t\t\t});\n\n\t\t\tconst qrWrapper = Tag.render`<div class=\"catalog-pf-product-qr-popup-image\"></div>`;\n\n\t\t\tconst content = Tag.render`\n\t\t\t\t\t<div class=\"catalog-pf-product-qr-popup\">\n\t\t\t\t\t\t<div class=\"catalog-pf-product-qr-popup-content\">\n\t\t\t\t\t\t\t<div class=\"catalog-pf-product-qr-popup-text\">${this.localize.CATALOG_FORM_COMPILATION_QR_POPUP_TITLE}</div>\n\t\t\t\t\t\t\t${qrWrapper}\n\t\t\t\t\t\t\t<div class=\"catalog-pf-product-qr-popup-buttons\">\n\t\t\t\t\t\t\t\t<a href=\"${this.compilationLink}\" target=\"_blank\" class=\"ui-btn ui-btn-light-border ui-btn-round\">${this.localize.CATALOG_FORM_COMPILATION_QR_POPUP_INPUT_TITLE}</a>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"catalog-pf-product-qr-popup-bottom\">\n\t\t\t\t\t\t\t<a href=\"${this.compilationLink}\" target=\"_blank\" class=\"catalog-pf-product-qr-popup--url\">${this.compilationLink}</a>\n\t\t\t\t\t\t\t${buttonCopy}\n\t\t\t\t\t\t</div>\t\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t`;\n\n\t\t\tnew QRCode(qrWrapper, {\n\t\t\t\ttext: this.compilationLink,\n\t\t\t\twidth: 250,\n\t\t\t\theight: 250\n\t\t\t});\n\n\t\t\treturn content;\n\t\t},\n\t\tsetSetting(event)\n\t\t{\n\t\t\tconst value = event.target.checked ? 'Y' : 'N';\n\t\t\tif (!this.compilationOptions.hasStore)\n\t\t\t{\n\t\t\t\tthis.compilationOptions.disabledSwitcher = true;\n\t\t\t\tconst creationStorePopup = new Popup({\n\t\t\t\t\tbindElement: event.target,\n\t\t\t\t\tclassName: 'catalog-product-form-popup--creating-shop',\n\t\t\t\t\tcontent: this.getOnBeforeCreationStorePopupContent(),\n\t\t\t\t\twidth: 310,\n\t\t\t\t\toverlay: true,\n\t\t\t\t\tpadding: 17,\n\t\t\t\t\tanimation: 'fading-slide',\n\t\t\t\t\tangle: false,\n\t\t\t\t});\n\n\t\t\t\tcreationStorePopup.show();\n\t\t\t\tajax.runAction('salescenter.api.store.getStoreInfo', {\n\t\t\t\t\tjson: {}}\n\t\t\t\t)\n\t\t\t\t\t.then((response) => {\n\t\t\t\t\t\tif (Type.isStringFilled(response.data?.deactivatedStore?.TITLE))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconst title = Loc.getMessage(\n\t\t\t\t\t\t\t\t'CATALOG_FORM_COMPILATION_UNPUBLISHED_STORE',\n\t\t\t\t\t\t\t\t{'#STORE_TITLE#': Tag.safe`${response.data?.deactivatedStore?.TITLE}`}\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\tBX.UI.Notification.Center.notify({\n\t\t\t\t\t\t\t\tcontent: Tag.render`\n\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t<span>${title}</span>\n\t\t\t\t\t\t\t\t\t\t<a href=\"/shop/stores/\" target=\"_blank\">\n\t\t\t\t\t\t\t\t\t\t\t${Loc.getMessage('CATALOG_FORM_COMPILATION_UNPUBLISHED_STORE_LINK')}\n\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcreationStorePopup.setContent(\n\t\t\t\t\t\t\tthis.getOnAfterCreationStorePopupContent()\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tcreationStorePopup.setClosingByEsc(true);\n\t\t\t\t\t\tcreationStorePopup.setAutoHide(true);\n\n\t\t\t\t\t\tcreationStorePopup.show();\n\t\t\t\t\t\tthis.$root.$app.changeFormOption('isCompilationMode', value);\n\t\t\t\t\t\tthis.compilationOptions.disabledSwitcher = this.compilationOptions.isLimitedStore;\n\t\t\t\t\t\tthis.compilationOptions.hasStore = true;\n\t\t\t\t\t});\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.$root.$app.changeFormOption('isCompilationMode', value);\n\t\t\t}\n\t\t},\n\t\tgetOnBeforeCreationStorePopupContent()\n\t\t{\n\t\t\tconst loaderContent = Tag.render`\n\t\t\t\t<div class=\"catalog-product-form-popup--loader-block\"></div>\n\t\t\t`;\n\n\t\t\tconst node = Tag.render`\n\t\t\t\t<div class=\"catalog-product-form-popup--container\">\n\t\t\t\t\t<div class=\"catalog-product-form-popup--title\">${Loc.getMessage('CATALOG_FORM_POPUP_BEFORE_MARKET_CREATING')}</div>\n\t\t\t\t\t${loaderContent}\n\t\t\t\t\t<div class=\"catalog-product-form-popup--text\">${Loc.getMessage('CATALOG_FORM_POPUP_BEFORE_MARKET_CREATING_INFO')}</div>\n\t\t\t\t</div>\n\t\t\t`;\n\n\t\t\tconst loader = new Loader({\n\t\t\t\tcolor: \"#2fc6f6\",\n\t\t\t\ttarget: loaderContent,\n\t\t\t\tsize: 40,\n\t\t\t});\n\n\t\t\tloader.show();\n\n\t\t\treturn node;\n\t\t},\n\t\tgetOnAfterCreationStorePopupContent()\n\t\t{\n\t\t\treturn Tag.render`\n\t\t\t\t<div class=\"catalog-product-form-popup--container\">\n\t\t\t\t\t<div class=\"catalog-product-form-popup--title\">${Loc.getMessage('CATALOG_FORM_POPUP_AFTER_MARKET_CREATING')}</div>\n\t\t\t\t\t<div class=\"catalog-product-form-popup--loader-block catalog-product-form-popup--done\"></div>\n\t\t\t\t\t<div class=\"catalog-product-form-popup--text\">${Loc.getMessage('CATALOG_FORM_POPUP_AFTER_MARKET_CREATING_INFO')}</div>\n\t\t\t\t</div>\n\t\t\t`;\n\t\t},\n\t\tonLabelClick()\n\t\t{\n\t\t\tif (this.compilationOptions.isLimitedStore)\n\t\t\t{\n\t\t\t\tBX.UI.InfoHelper.show('limit_sites_number');\n\t\t\t}\n\t\t},\n\t\tonClickHint(event: BaseEvent)\n\t\t{\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopImmediatePropagation();\n\t\t\tif (!this.message)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (this.message.isShown())\n\t\t\t{\n\t\t\t\tthis.hideMessage()\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.showMessage();\n\t\t\t}\n\t\t},\n\t\tshowMessage()\n\t\t{\n\t\t\tif (this.message)\n\t\t\t{\n\t\t\t\tDom.addClass(this.$refs.hintIcon, 'catalog-pf-product-panel-message-arrow-target');\n\t\t\t\tthis.message.show();\n\t\t\t}\n\t\t},\n\t\thideMessage()\n\t\t{\n\t\t\tif (this.message)\n\t\t\t{\n\t\t\t\tDom.removeClass(this.$refs.hintIcon, 'catalog-pf-product-panel-message-arrow-target');\n\t\t\t}\n\t\t\tthis.message.hide();\n\t\t\tthis.$root.$app.changeFormOption('hiddenCompilationInfoMessage', 'Y');\n\t\t}\n\t},\n\tcomputed:\n\t{\n\t\tlocalize()\n\t\t{\n\t\t\treturn Vue.getFilteredPhrases('CATALOG_');\n\t\t},\n\n\t\tshowQrLink()\n\t\t{\n\t\t\treturn this.mode === FormMode.COMPILATION;\n\t\t},\n\n\t\t...Vuex.mapState({\n\t\t\tproductList: state => state.productList,\n\t\t})\n\t},\n\t// language=Vue\n\ttemplate: `\n\t\t<div>\n\t\t\t<div class=\"catalog-pf-product-panel-compilation\">\n\t\t\t\t<div class=\"catalog-pf-product-panel-compilation-wrapper\">\n\t\t\t\t\t<label class=\"ui-ctl ui-ctl-checkbox\" @click=\"onLabelClick\">\n\t\t\t\t\t\t<input \n\t\t\t\t\t\t\ttype=\"checkbox\" \n\t\t\t\t\t\t\t:disabled=\"compilationOptions.disabledSwitcher\"\n\t\t\t\t\t\t\tclass=\"ui-ctl-element\" \n\t\t\t\t\t\t\t@change=\"setSetting\" \n\t\t\t\t\t\t\tdata-setting-id=\"isCompilationMode\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"ui-ctl-label-text\">{{localize.CATALOG_FORM_COMPILATION_PRODUCT_SWITCHER}}</div>\n\t\t\t\t\t\t<div ref=\"hintIcon\">\n\t\t\t\t\t\t\t<div data-hint-init=\"vue\" class=\"ui-hint\" @click=\"onClickHint\">\n\t\t\t\t\t\t\t\t<span class=\"ui-hint-icon\"></span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div ref=\"label\"></div>\n\t\t\t\t\t\t<div class=\"tariff-lock\" v-if=\"compilationOptions.isLimitedStore\"></div>\n\t\t\t\t\t</label>\n\t\t\t\t</div>\n\t\t\t\t<div \t\t\t\t\n\t\t\t\t\tv-if=\"showQrLink\"\n\t\t\t\t\tclass=\"catalog-pf-product-panel-compilation-link --icon-qr\"\n\t\t\t\t\t@click=\"showPopup\"\n\t\t\t\t\tref=\"qrLink\"\n\t\t\t\t>\n\t\t\t\t\t{{localize.CATALOG_FORM_COMPILATION_QR_LINK}}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"catalog-pf-product-panel-compilation-message\" ref=\"message\"></div>\n\t\t</div>\n\t`\n});","import {Vuex} from 'ui.vue.vuex';\nimport {Popup} from 'main.popup';\nimport {ajax, Event, Loc, Tag, Text, Type} from 'main.core';\nimport {Vue} from \"ui.vue\";\nimport {config} from \"../../config\";\nimport \"./panel-compilation\";\nimport {DialogDisable, Slider, EventType} from 'catalog.store-use'\nimport {EventEmitter} from \"main.core.events\";\n\nVue.component(config.templatePanelButtons,\n{\n\t/**\n\t * @emits 'changeRowData' {index: number, fields: object}\n\t * @emits 'refreshBasket'\n\t * @emits 'addItem'\n\t */\n\n\tprops: {\n\t\toptions: Object,\n\t\tmode: String,\n\t},\n\tdata()\n\t{\n\t\treturn {\n\t\t\tsettings: []\n\t\t};\n\t},\n\tmethods:\n\t{\n\t\trefreshBasket()\n\t\t{\n\t\t\tthis.$emit('refreshBasket');\n\t\t},\n\t\tchangeBasketItem(item)\n\t\t{\n\t\t\tthis.$emit('changeRowData', item);\n\t\t},\n\t\taddBasketItemForm()\n\t\t{\n\t\t\tthis.$emit('addItem');\n\t\t},\n\t\tgetInternalIndexByProductId(skuId)\n\t\t{\n\t\t\tconst basket = this.$store.getters['productList/getBasket']();\n\t\t\treturn Object\n\t\t\t\t.keys(basket)\n\t\t\t\t.findIndex((inx) =>{\n\t\t\t\t\treturn parseInt(basket[inx].skuId) === parseInt(skuId)\n\t\t\t\t});\n\t\t},\n\t\thandleAddItem(id, params)\n\t\t{\n\t\t\tconst skuType = 4;\n\t\t\tif (Text.toNumber(params.type) === skuType)\n\t\t\t{\n\t\t\t\tajax.runAction(\n\t\t\t\t\t'catalog.productSelector.getSelectedSku',\n\t\t\t\t\t{\n\t\t\t\t\t\tjson: {\n\t\t\t\t\t\t\tvariationId: id,\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\tpriceId: this.options.basePriceId,\n\t\t\t\t\t\t\t\turlBuilder: this.options.urlBuilder,\n\t\t\t\t\t\t\t\tcurrency: this.options.currency,\n\t\t\t\t\t\t\t\tresetSku: true\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t).then(response => this.processResponse(response, params.isAddAnyway));\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tajax.runAction(\n\t\t\t\t\t'catalog.productSelector.getProduct',\n\t\t\t\t\t{\n\t\t\t\t\t\tjson: {\n\t\t\t\t\t\t\tproductId: id,\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\tpriceId: this.options.basePriceId,\n\t\t\t\t\t\t\t\turlBuilder: this.options.urlBuilder,\n\t\t\t\t\t\t\t\tcurrency: this.options.currency,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t).then(response => this.processResponse(response, params.isAddAnyway));\n\t\t\t}\n\t\t},\n\t\tprocessResponse(response, isAddAnyway)\n\t\t{\n\t\t\tconst index = isAddAnyway ? -1 : this.getInternalIndexByProductId(response.data.skuId);\n\t\t\tif (index < 0)\n\t\t\t{\n\t\t\t\tconst productData = response.data;\n\t\t\t\tconst basePrice = Text.toNumber(productData.fields.BASE_PRICE);\n\t\t\t\tproductData.fields = productData.fields || {};\n\t\t\t\tlet newItem = this.$store.getters['productList/getBaseProduct']();\n\t\t\t\tnewItem.fields = Object.assign(newItem.fields, {\n\t\t\t\t\tprice: basePrice,\n\t\t\t\t\tpriceExclusive: basePrice,\n\t\t\t\t\tbasePrice,\n\t\t\t\t\tname: productData.fields.NAME || '',\n\t\t\t\t\tproductId: productData.productId,\n\t\t\t\t\tskuId: productData.skuId,\n\t\t\t\t\tmeasureCode: productData.fields.MEASURE_CODE,\n\t\t\t\t\tmeasureName: productData.fields.MEASURE_NAME,\n\t\t\t\t\tmeasureRatio: productData.fields.MEASURE_RATIO,\n\t\t\t\t\tproperties: productData.fields.PROPERTIES,\n\t\t\t\t\tofferId: productData.skuId > 0 ? productData.skuId : productData.productId,\n\t\t\t\t\tmodule: 'catalog',\n\t\t\t\t\tisCustomPrice: Type.isNil(productData.fields.PRICE) ? 'Y' : 'N',\n\t\t\t\t\tdiscountType: this.options.defaultDiscountType,\n\t\t\t\t});\n\n\t\t\t\tdelete(productData.fields);\n\t\t\t\tnewItem = Object.assign(newItem, productData);\n\t\t\t\tnewItem.sum = basePrice;\n\n\t\t\t\tthis.$root.$app.addProduct(newItem);\n\t\t\t}\n\t\t},\n\t\tonUpdateBasketItem(inx, item)\n\t\t{\n\t\t\tthis.$store.dispatch('productList/changeRowData', {\n\t\t\t\tindex : inx,\n\t\t\t\tfields : item\n\t\t\t});\n\t\t\tthis.$store.dispatch('productList/changeProduct', {\n\t\t\t\tindex : inx,\n\t\t\t\tfields : item.fields\n\t\t\t});\n\t\t},\n\t\t/*\n\t\t* By default, basket collection contains a fake|empty item,\n\t\t* that is deleted when you select items from the catalog.\n\t\t* Also, products can be added to the form and become an empty string,\n\t\t* while stay a item of basket collection\n\t\t* */\n\t\tremoveEmptyItems()\n\t\t{\n\t\t\tconst basket = this.$store.getters['productList/getBasket']();\n\t\t\tbasket.forEach((item, i)=>{\n\t\t\t\tif(\n\t\t\t\t\tbasket[i].name === ''\n\t\t\t\t\t&& basket[i].price < 1e-10\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\tthis.$store.commit('productList/deleteItem', {\n\t\t\t\t\t\tindex: i\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tmodifyBasketItem(params)\n\t\t{\n\t\t\tconst skuId = parseInt(params.id);\n\t\t\tif(skuId > 0)\n\t\t\t{\n\t\t\t\tconst index = this.getInternalIndexByProductId(skuId);\n\t\t\t\tif(index >= 0)\n\t\t\t\t{\n\t\t\t\t\tthis.showDialogProductExists(params);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tthis.removeEmptyItems();\n\t\t\t\t\tthis.handleAddItem(skuId, params);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tshowDialogProductExists(params)\n\t\t{\n\t\t\tthis.popup = new Popup(null, null, {\n\t\t\t\tevents: {\n\t\t\t\t\tonPopupClose: () => {this.popup.destroy()}\n\t\t\t\t},\n\t\t\t\tzIndex: 4000,\n\t\t\t\tautoHide: true,\n\t\t\t\tcloseByEsc: true,\n\t\t\t\tcloseIcon: true,\n\t\t\t\ttitleBar: Loc.getMessage('CATALOG_FORM_BLOCK_PROD_EXIST_DLG_TITLE'),\n\t\t\t\tdraggable: true,\n\t\t\t\tresizable: false,\n\t\t\t\tlightShadow: true,\n\t\t\t\tcacheable: false,\n\t\t\t\toverlay: true,\n\t\t\t\tcontent: Loc.getMessage('CATALOG_FORM_BLOCK_PROD_EXIST_DLG_TEXT_FOR_DOUBLE').replace('#NAME#', params.name),\n\t\t\t\tbuttons: this.getButtons(params),\n\t\t\t});\n\n\t\t\tthis.popup.show();\n\t\t},\n\t\tgetButtons(product)\n\t\t{\n\t\t\tconst buttons = [];\n\t\t\tconst params = product;\n\t\t\tbuttons.push(\n\t\t\t\tnew BX.UI.SaveButton(\n\t\t\t\t\t{\n\t\t\t\t\t\ttext : Loc.getMessage('CATALOG_FORM_BLOCK_PROD_EXIST_DLG_OK'),\n\t\t\t\t\t\tonclick: () => {\n\t\t\t\t\t\t\tconst productId = parseInt(params.id);\n\t\t\t\t\t\t\tconst index = this.getInternalIndexByProductId(productId);\n\t\t\t\t\t\t\tif(index >= 0)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tthis.handleAddItem(productId, {\n\t\t\t\t\t\t\t\t\t...params,\n\t\t\t\t\t\t\t\t\tisAddAnyway: true,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tthis.popup.destroy();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t);\n\n\t\t\tbuttons.push(\n\t\t\t\tnew BX.UI.CancelButton(\n\t\t\t\t\t{\n\t\t\t\t\t\ttext : Loc.getMessage('CATALOG_FORM_BLOCK_PROD_EXIST_DLG_NO'),\n\t\t\t\t\t\tonclick: () => {this.popup.destroy()}\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t);\n\t\t\treturn buttons;\n\t\t},\n\t\tshowDialogProductSearch()\n\t\t{\n\t\t\tconst funcName = 'addBasketItemFromDialogProductSearch';\n\t\t\twindow[funcName] = params => this.modifyBasketItem(params);\n\n\t\t\tconst popup = new BX.CDialog({\n\t\t\t\tcontent_url: '/bitrix/tools/sale/product_search_dialog.php?'+\n\t\t\t\t\t//todo: 'lang='+this._settings.languageId+\n\t\t\t\t\t//todo: '&LID='+this._settings.siteId+\n\t\t\t\t\t'&caller=order_edit'+\n\t\t\t\t\t'&func_name='+funcName+\n\t\t\t\t\t'&STORE_FROM_ID=0'+\n\t\t\t\t\t'&public_mode=Y',\n\t\t\t\theight: Math.max(500, window.innerHeight-400),\n\t\t\t\twidth: Math.max(800, window.innerWidth-400),\n\t\t\t\tdraggable: true,\n\t\t\t\tresizable: true,\n\t\t\t\tmin_height: 500,\n\t\t\t\tmin_width: 800,\n\t\t\t\tzIndex: 3100\n\t\t\t});\n\n\t\t\tpopup.Show();\n\t\t},\n\t\tsetSetting(event)\n\t\t{\n\t\t\tif (event.target.dataset.settingId === 'taxIncludedOption')\n\t\t\t{\n\t\t\t\tconst value = event.target.checked ? 'Y' : 'N';\n\t\t\t\tthis.$root.$app.changeFormOption('taxIncluded', value);\n\t\t\t}\n\t\t\telse if (event.target.dataset.settingId === 'showDiscountInputOption')\n\t\t\t{\n\t\t\t\tconst value = event.target.checked ? 'Y' : 'N';\n\t\t\t\tthis.$root.$app.changeFormOption('showDiscountBlock', value);\n\t\t\t}\n\t\t\telse if (event.target.dataset.settingId === 'showTaxInputOption')\n\t\t\t{\n\t\t\t\tconst value = event.target.checked ? 'Y' : 'N';\n\t\t\t\tthis.$root.$app.changeFormOption('showTaxBlock', value);\n\t\t\t}\n\t\t\telse if (event.target.dataset.settingId === 'warehouseOption')\n\t\t\t{\n\t\t\t\tconst value = event.target.checked ? 'Y' : 'N';\n\n\t\t\t\tif(value === 'Y')\n\t\t\t\t{\n\t\t\t\t\tthis.popupMenu.close();\n\t\t\t\t\tnew Slider().open('/bitrix/components/bitrix/catalog.warehouse.master.clear/slider.php',{})\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tajax.runAction(\n\t\t\t\t\t\t\t'catalog.config.isUsedInventoryManagement',\n\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t).then(response => {\n\n\t\t\t\t\t\t\tconst index = this.getSettingItems().findIndex((item) =>\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\treturn item.id === event.target.dataset.settingId;\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\tthis.settings[index].checked = response.data === true;\n\t\t\t\t\t\t});\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tnew DialogDisable().popup()\n\n\t\t\t\t\tEventEmitter.subscribe(EventType.popup.disable, () => {\n\t\t\t\t\t\tajax.runAction(\n\t\t\t\t\t\t\t'catalog.config.InventoryManagementN',\n\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t).then(response => {\n\t\t\t\t\t\t\tconst index = this.getSettingItems().findIndex((item) =>\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\treturn item.id === event.target.dataset.settingId;\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\tBX.UI.Notification.Center.notify({\n\t\t\t\t\t\t\t\tcontent: Loc.getMessage('CATALOG_FORM_ADD_WAREHOUSE_DISABLED'),\n\t\t\t\t\t\t\t\twidth: 'auto',\n\t\t\t\t\t\t\t\tautoHideDelay: 3000\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\tthis.settings[index].checked = !response.data;\n\t\t\t\t\t\t});\n\t\t\t\t\t})\n\n\t\t\t\t\tEventEmitter.subscribe(EventType.popup.disableCancel, () =>\n\t\t\t\t\t{\n\t\t\t\t\t\tconst index = this.getSettingItems().findIndex((item) =>\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treturn item.id === event.target.dataset.settingId;\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tthis.settings[index].checked = true\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tgetSettingItem(item): HTMLElement\n\t\t{\n\t\t\tconst input = Tag.render`\n\t\t\t\t\t<input type=\"checkbox\" class=\"ui-ctl-element\">\n\t\t\t\t`;\n\t\t\tinput.checked = item.checked;\n\t\t\tinput.dataset.settingId = item.id;\n\n\t\t\tconst setting = Tag.render`\n\t\t\t\t<label class=\"ui-ctl ui-ctl-checkbox ui-ctl-w100\">\n\t\t\t\t\t${input}\n\t\t\t\t\t<div class=\"ui-ctl-label-text\">${item.title}</div>\n\t\t\t\t</label>\n\t\t\t`;\n\n\t\t\tEvent.bind(setting, 'change', this.setSetting.bind(this));\n\n\t\t\treturn setting;\n\t\t},\n\t\tgetSettingItems()\n\t\t{\n\t\t\treturn [\n\t\t\t\t// {\n\t\t\t\t// \tid: 'taxIncludedOption',\n\t\t\t\t// \tchecked: (this.options.taxIncluded === 'Y'),\n\t\t\t\t// \ttitle: this.localize.CATALOG_FORM_ADD_TAX_INCLUDED,\n\t\t\t\t// },\n\t\t\t\t{\n\t\t\t\t\tid: 'showDiscountInputOption',\n\t\t\t\t\tchecked: (this.options.showDiscountBlock !== 'N'),\n\t\t\t\t\ttitle: this.localize.CATALOG_FORM_ADD_SHOW_DISCOUNTS_OPTION,\n\t\t\t\t},\n\t\t\t\t// {\n\t\t\t\t// \tid: 'showTaxInputOption',\n\t\t\t\t// \tchecked: (this.options.showTaxBlock !== 'N'),\n\t\t\t\t// \ttitle: this.localize.CATALOG_FORM_ADD_SHOW_TAXES_OPTION,\n\t\t\t\t// },\n\t\t\t\t{\n\t\t\t\t\tid: 'warehouseOption',\n\t\t\t\t\tchecked: (this.options.warehouseOption),\n\t\t\t\t\ttitle: this.localize.CATALOG_FORM_ADD_SHOW_WAREHOUSE_OPTION,\n\t\t\t\t},\n\t\t\t];\n\t\t},\n\n\t\tprepareSettingsContent(): HTMLElement\n\t\t{\n\t\t\tconst content = Tag.render`\n\t\t\t\t\t<div class='catalog-pf-product-config-popup'></div>\n\t\t\t\t`;\n\n\t\t\tthis.settings.forEach(item => {\n\t\t\t\tcontent.append(this.getSettingItem(item));\n\t\t\t});\n\n\t\t\treturn content;\n\t\t},\n\t\tshowConfigPopup(event)\n\t\t{\n\t\t\t// if (!this.popupMenu)\n\t\t\t// {\n\t\t\t\tthis.popupMenu = new Popup(null, event.target,\n\t\t\t\t\t{\n\t\t\t\t\t\tautoHide: true,\n\t\t\t\t\t\tdraggable: false,\n\t\t\t\t\t\toffsetLeft: 0,\n\t\t\t\t\t\toffsetTop: 0,\n\t\t\t\t\t\tnoAllPaddings: true,\n\t\t\t\t\t\tbindOptions: {forceBindPosition: true},\n\t\t\t\t\t\tcloseByEsc: true,\n\t\t\t\t\t\tcontent: this.prepareSettingsContent()\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t// }\n\n\t\t\tthis.popupMenu.show();\n\t\t},\n\t\topenSlider(url, options)\n\t\t{\n\t\t\tif(!Type.isPlainObject(options))\n\t\t\t{\n\t\t\t\toptions = {};\n\t\t\t}\n\t\t\toptions = {...{cacheable: false, allowChangeHistory: false, events: {}}, ...options};\n\t\t\treturn new Promise((resolve) =>\n\t\t\t\t{\n\t\t\t\t\tif(Type.isString(url) && url.length > 1)\n\t\t\t\t\t{\n\t\t\t\t\t\toptions.events.onClose = function(event)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tresolve(event.getSlider());\n\t\t\t\t\t};\n\t\t\t\t\tBX.SidePanel.Instance.open(url, options);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tresolve();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\tcomputed:\n\t{\n\t\tlocalize()\n\t\t{\n\t\t\treturn Vue.getFilteredPhrases('CATALOG_');\n\t\t},\n\t\tcountItems()\n\t\t{\n\t\t\treturn this.order.basket.length;\n\t\t},\n\t\t...Vuex.mapState({\n\t\t\tproductList: state => state.productList,\n\t\t})\n\t},\n\tmounted()\n\t{\n\t\tthis.settings = this.getSettingItems();\n\t},\n\t// language=Vue\n\ttemplate: `\n\t\t<div>\n\t\t\t<div class=\"catalog-pf-product-add\">\n\t\t\t\t<div class=\"catalog-pf-product-add-wrapper\">\n\t\t\t\t\t<span class=\"catalog-pf-product-add-link\" @click=\"addBasketItemForm\">{{localize.CATALOG_FORM_ADD_PRODUCT}}</span>\n\t\t\t\t\t<span class=\"catalog-pf-product-add-link catalog-pf-product-add-link--gray\" @click=\"showDialogProductSearch\">{{localize.CATALOG_FORM_ADD_PRODUCT_FROM_CATALOG}}</span>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"catalog-pf-product-configure-link\" @click=\"showConfigPopup\">{{localize.CATALOG_FORM_DISCOUNT_EDIT_PAGE_URL_TITLE}}</div>\n\t\t\t</div>\n\t\t</div>\n\t`\n});","import {config} from '../config';\n\nimport {Vue} from 'ui.vue';\nimport {Vuex} from 'ui.vue.vuex';\nimport \"currency\";\nimport \"ui.layout-form\";\nimport \"ui.forms\";\nimport \"ui.buttons\";\n\nimport \"./row\";\nimport \"./elements/panel-buttons\";\nimport {FormElementPosition} from \"../types/form-element-position\";\nimport {FormMode} from \"../types/form-mode\";\n\nVue.component(config.templateName,\n{\n\tprops: {\n\t\toptions: Object,\n\t\tmode: String,\n\t},\n\tcreated()\n\t{\n\t\tBX.ajax.runAction(\n\t\t\t\"catalog.productSelector.getFileInput\",\n\t\t\t{ json: { iblockId: this.options.iblockId } }\n\t\t);\n\t},\n\tmethods:\n\t{\n\t\trefreshBasket()\n\t\t{\n\t\t\tthis.$store.dispatch('productList/refreshBasket');\n\t\t},\n\n\t\tchangeProduct(item)\n\t\t{\n\t\t\tthis.$root.$app.changeProduct(item);\n\t\t},\n\n\t\temitErrorsChange()\n\t\t{\n\t\t\tthis.$root.$app.emitErrorsChange();\n\t\t},\n\n\t\tchangeRowData(item)\n\t\t{\n\t\t\tdelete(item.product.fields);\n\t\t\tthis.$store.commit('productList/updateItem', item);\n\t\t},\n\n\t\tremoveItem(item)\n\t\t{\n\t\t\tthis.$root.$app.removeProduct(item);\n\t\t},\n\n\t\taddItem()\n\t\t{\n\t\t\tthis.$root.$app.addProduct();\n\t\t},\n\t},\n\tcomputed:\n\t{\n\t\tlocalize()\n\t\t{\n\t\t\treturn Vue.getFilteredPhrases('CATALOG_');\n\t\t},\n\n\t\tshowTaxResult()\n\t\t{\n\t\t\treturn this.options.showTaxBlock !== 'N';\n\t\t},\n\n\t\tshowResults()\n\t\t{\n\t\t\treturn this.options.showResults !== false;\n\t\t},\n\n\t\tshowButtonsTop()\n\t\t{\n\t\t\treturn this.options.singleProductMode !== true\n\t\t\t\t&& this.mode !== FormMode.READ_ONLY\n\t\t\t\t&& this.options.buttonsPosition !== FormElementPosition.BOTTOM\n\t\t\t;\n\t\t},\n\n\t\tshowButtonsBottom()\n\t\t{\n\t\t\treturn this.options.singleProductMode !== true\n\t\t\t\t&& this.mode !== FormMode.READ_ONLY\n\t\t\t\t&& this.options.buttonsPosition === FormElementPosition.BOTTOM\n\t\t\t;\n\t\t},\n\n\t\tshowResultBlock()\n\t\t{\n\t\t\treturn this.showResults || this.enableAddButtons;\n\t\t},\n\n\t\tcountItems()\n\t\t{\n\t\t\treturn this.productList.basket.length;\n\t\t},\n\n\t\ttotalResultLabel()\n\t\t{\n\t\t\treturn this.options.hasOwnProperty('totalResultLabel') && this.options.totalResultLabel\n\t\t\t\t? this.options.totalResultLabel\n\t\t\t\t: this.localize.CATALOG_FORM_TOTAL_RESULT;\n\t\t},\n\n\t\t...Vuex.mapState({\n\t\t\tproductList: state => state.productList,\n\t\t})\n\t},\n\t// language=Vue\n\ttemplate: `\n\t<div class=\"catalog-product-form-container\">\n\t\t<${config.templatePanelButtons}\n\t\t\t:options=\"options\"\n\t\t\t:mode=\"mode\"\n\t\t\t@refreshBasket=\"refreshBasket\"\n\t\t\t@addItem=\"addItem\"\n\t\t\t@changeRowData=\"changeRowData\"\n\t\t\t@changeProduct=\"changeProduct\"\n\t\t\tv-if=\"showButtonsTop\"\n\t\t/>\n\t\t<div v-for=\"(item, index) in productList.basket\" :key=\"item.selectorId\">\n\t\t\t<${config.templateRowName}\n\t\t\t\t:basketItem=\"item\"\n\t\t\t\t:basketItemIndex=\"index\"\n\t\t\t\t:basketLength=\"productList.basket.length\"\n\t\t\t\t:countItems=\"countItems\"\n\t\t\t\t:options=\"options\"\n\t\t\t\t:mode=\"mode\"\n\t\t\t\t@changeProduct=\"changeProduct\"\n\t\t\t\t@changeRowData=\"changeRowData\"\n\t\t\t\t@removeItem=\"removeItem\"\n\t\t\t\t@refreshBasket=\"refreshBasket\"\n\t\t\t\t@emitErrorsChange=\"emitErrorsChange\"\n\t\t\t/>\n\t\t</div>\n\t\t<${config.templatePanelButtons}\n\t\t\t:options=\"options\"\n\t\t\t:mode=\"mode\"\n\t\t\t@refreshBasket=\"refreshBasket\"\n\t\t\t@addItem=\"addItem\"\n\t\t\t@changeRowData=\"changeRowData\"\n\t\t\t@changeProduct=\"changeProduct\"\n\t\t\tv-if=\"showButtonsBottom\"\n\t\t/>\n\t\t<${config.templatePanelCompilation}\n\t\t\tv-if=\"options.showCompilationModeSwitcher\"\n\t\t\t:compilationOptions=\"options.compilationFormOption\"\n\t\t\t:mode=\"mode\"\n\t\t/>\n\t\t<div class=\"catalog-pf-result-line\"></div>\n\t\t<div class=\"catalog-pf-result-wrapper\" v-if=\"showResultBlock\">\n\t\t\t<table class=\"catalog-pf-result\" v-if=\"showResultBlock\">\n\t\t\t\t<tr v-if=\"showResults\">\n\t\t\t\t\t<td>\n\t\t\t\t\t\t<span class=\"catalog-pf-text\">{{localize.CATALOG_FORM_PRODUCTS_PRICE}}:</span>\n\t\t\t\t\t</td>\n\t\t\t\t\t<td>\n\t\t\t\t\t\t<span v-html=\"productList.total.sum\"\n\t\t\t\t\t\t\t:class=\"productList.total.result !== productList.total.sum ? 'catalog-pf-text catalog-pf-text--line-through' : 'catalog-pf-text'\"\n\t\t\t\t\t\t></span>\n\t\t\t\t\t\t<span class=\"catalog-pf-symbol\" v-html=\"options.currencySymbol\"></span>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr v-if=\"showResults\">\n\t\t\t\t\t<td class=\"catalog-pf-result-padding-bottom\">\n\t\t\t\t\t\t<span class=\"catalog-pf-text catalog-pf-text--discount\">{{localize.CATALOG_FORM_TOTAL_DISCOUNT}}:</span>\n\t\t\t\t\t</td>\n\t\t\t\t\t<td class=\"catalog-pf-result-padding-bottom\">\n\t\t\t\t\t\t<span class=\"catalog-pf-text catalog-pf-text--discount\" v-html=\"productList.total.discount\"></span>\n\t\t\t\t\t\t<span class=\"catalog-pf-symbol\" v-html=\"options.currencySymbol\"></span>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr v-if=\"showResults && showTaxResult\">\n\t\t\t\t\t<td class=\"catalog-pf-tax\">\n\t\t\t\t\t\t<span class=\"catalog-pf-text catalog-pf-text--tax\">{{localize.CATALOG_FORM_TAX_TITLE}}:</span>\n\t\t\t\t\t</td>\n\t\t\t\t\t<td class=\"catalog-pf-tax\">\n\t\t\t\t\t\t<span class=\"catalog-pf-text catalog-pf-text--tax\" v-html=\"productList.total.taxSum\"></span>\n\t\t\t\t\t\t<span class=\"catalog-pf-symbol\" v-html=\"options.currencySymbol\"></span>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr v-if=\"showResults\">\n\t\t\t\t\t<td class=\"catalog-pf-result-padding\">\n\t\t\t\t\t\t<span class=\"catalog-pf-text catalog-pf-text--total catalog-pf-text--border\">{{totalResultLabel}}:</span>\n\t\t\t\t\t</td>\n\t\t\t\t\t<td class=\"catalog-pf-result-padding\">\n\t\t\t\t\t\t<span class=\"catalog-pf-text catalog-pf-text--total\" v-html=\"productList.total.result\"></span>\n\t\t\t\t\t\t<span class=\"catalog-pf-symbol catalog-pf-symbol--total\" v-html=\"options.currencySymbol\"></span>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</table>\n\t\t</div>\n\t</div>\n`,\n});\n","import {BitrixVue} from 'ui.vue';\nimport {VuexBuilder} from 'ui.vue.vuex';\nimport {Loc, Type, Text, Tag, ajax, Extension} from 'main.core';\nimport 'ui.notification';\nimport {ProductList} from './models/product-list';\nimport {config} from \"./config\";\nimport './templates/form';\nimport './component.css';\nimport {EventEmitter} from \"main.core.events\";\nimport {CurrencyCore} from \"currency.currency-core\";\nimport type {FormOption} from \"./types/form-option\";\nimport {FormElementPosition} from \"./types/form-element-position\";\nimport {DiscountType} from \"catalog.product-calculator\";\nimport {FormInputCode} from \"./types/form-input-code\";\nimport type {BasketItemScheme} from \"./types/basket-item-scheme\";\nimport {FormErrorCode} from \"./types/form-error-code\";\nimport {FormMode} from \"./types/form-mode\";\nimport {FormCompilationType} from \"./types/form-compilation-type\";\n\nexport class ProductForm\n{\n\tconstructor(options: FormOption = {})\n\t{\n\t\tthis.options = this.prepareOptions(options);\n\t\tthis.defaultOptions = Object.assign({}, this.options);\n\n\t\tthis.editable = true;\n\t\tthis.#setMode(FormMode.REGULAR);\n\n\t\tthis.wrapper = Tag.render`<div class=\"\"></div>`;\n\n\t\tif (Text.toNumber(options.iblockId) <= 0)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tProductForm.initStore()\n\t\t\t.then((result) => this.initTemplate(result))\n\t\t\t.catch((error) => ProductForm.showError(error))\n\t\t;\n\t}\n\n\tstatic initStore(): VuexBuilder\n\t{\n\t\tconst builder = new VuexBuilder();\n\n\t\treturn builder\n\t\t\t.addModel(ProductList.create())\n\t\t\t.build();\n\t}\n\n\tprepareOptions(options: FormOption = {}): FormOption\n\t{\n\t\tconst settingsCollection = Extension.getSettings('catalog.product-form');\n\t\tconst defaultOptions: FormOption = {\n\t\t\tbasket: [],\n\t\t\tmeasures: [],\n\t\t\tiblockId: null,\n\t\t\tbasePriceId: settingsCollection.get('basePriceId'),\n\t\t\ttaxList: [],\n\t\t\tsingleProductMode: false,\n\t\t\tshowResults: true,\n\t\t\tshowCompilationModeSwitcher: false,\n\t\t\tenableEmptyProductError: true,\n\t\t\tpricePrecision: 2,\n\t\t\tcurrency: settingsCollection.get('currency'),\n\t\t\tcurrencySymbol: settingsCollection.get('currencySymbol'),\n\t\t\ttaxIncluded: settingsCollection.get('taxIncluded'),\n\t\t\twarehouseOption: settingsCollection.get('warehouseOption'),\n\t\t\tshowDiscountBlock: settingsCollection.get('showDiscountBlock'),\n\t\t\tshowTaxBlock: settingsCollection.get('showTaxBlock'),\n\t\t\tallowedDiscountTypes: [DiscountType.PERCENTAGE, DiscountType.MONETARY],\n\t\t\tvisibleBlocks: [\n\t\t\t\tFormInputCode.PRODUCT_SELECTOR, FormInputCode.PRICE,\n\t\t\t\tFormInputCode.QUANTITY, FormInputCode.RESULT,\n\t\t\t\tFormInputCode.DISCOUNT,\n\t\t\t],\n\t\t\trequiredFields: [],\n\t\t\teditableFields: [],\n\t\t\tnewItemPosition: FormElementPosition.TOP,\n\t\t\tbuttonsPosition: FormElementPosition.TOP,\n\t\t\turlBuilderContext: 'SHOP',\n\t\t\thideUnselectedProperties: false,\n\t\t\tisCatalogPriceEditEnabled: settingsCollection.get('isCatalogPriceEditEnabled'),\n\t\t\tisCatalogPriceSaveEnabled: settingsCollection.get('isCatalogPriceSaveEnabled'),\n\t\t\tfieldHints: settingsCollection.get('fieldHints'),\n\t\t\tcompilationFormType: FormCompilationType.REGULAR,\n\t\t\tcompilationFormOption: {},\n\t\t};\n\n\t\tif (options.visibleBlocks && !Type.isArray(options.visibleBlocks))\n\t\t{\n\t\t\tdelete(options.visibleBlocks);\n\t\t}\n\n\t\tif (options.requiredFields && !Type.isArray(options.requiredFields))\n\t\t{\n\t\t\tdelete(options.requiredFields);\n\t\t}\n\n\t\toptions = {...defaultOptions, ...options};\n\t\toptions.showTaxBlock = 'N';\n\n\t\tif (settingsCollection.get('isEnabledLanding'))\n\t\t{\n\t\t\toptions.compilationFormOption = {\n\t\t\t\ttype: options.compilationFormType,\n\t\t\t\thasStore: settingsCollection.get('hasLandingStore'),\n\t\t\t\tisLimitedStore: settingsCollection.get('isLimitedLandingStore'),\n\t\t\t\tdisabledSwitcher: settingsCollection.get('isLimitedLandingStore'),\n\t\t\t\thiddenInfoMessage: settingsCollection.get('hiddenCompilationInfoMessage'),\n\t\t\t};\n\t\t}\n\t\telse\n\t\t{\n\t\t\toptions.showCompilationModeSwitcher = false;\n\t\t}\n\n\t\toptions.defaultDiscountType = '';\n\t\tif (Type.isArray(options.allowedDiscountTypes))\n\t\t{\n\t\t\tif (options.allowedDiscountTypes.includes(DiscountType.PERCENTAGE))\n\t\t\t{\n\t\t\t\toptions.defaultDiscountType = DiscountType.PERCENTAGE;\n\t\t\t}\n\t\t\telse if (options.allowedDiscountTypes.includes(DiscountType.MONETARY))\n\t\t\t{\n\t\t\t\toptions.defaultDiscountType = DiscountType.MONETARY;\n\t\t\t}\n\t\t}\n\n\t\treturn options;\n\t}\n\n\tlayout(): HTMLElement\n\t{\n\t\treturn this.wrapper;\n\t}\n\n\tinitTemplate(result): Promise\n\t{\n\t\treturn new Promise((resolve) =>\n\t\t{\n\t\t\tconst context = this;\n\t\t\tthis.store = result.store;\n\n\t\t\tthis.templateEngine = BitrixVue.createApp({\n\t\t\t\tel: this.wrapper,\n\t\t\t\tstore: this.store,\n\t\t\t\tdata: {\n\t\t\t\t\toptions: this.options,\n\t\t\t\t\tmode: this.mode,\n\t\t\t\t},\n\t\t\t\tcreated()\n\t\t\t\t{\n\t\t\t\t\tthis.$app = context;\n\t\t\t\t},\n\t\t\t\tmounted()\n\t\t\t\t{\n\t\t\t\t\tresolve();\n\t\t\t\t},\n\t\t\t\ttemplate: `<${config.templateName} :options=\"options\" :mode=\"mode\"/>`,\n\t\t\t});\n\n\t\t\tif (Type.isStringFilled(this.options.currency))\n\t\t\t{\n\t\t\t\tthis.setData({\n\t\t\t\t\tcurrency: this.options.currency\n\t\t\t\t});\n\t\t\t\tCurrencyCore.loadCurrencyFormat(this.options.currency);\n\t\t\t}\n\n\t\t\tif (this.options.basket.length > 0)\n\t\t\t{\n\t\t\t\tthis.setData(\n\t\t\t\t\t{basket: this.options.basket,},\n\t\t\t\t\t{newItemPosition: FormElementPosition.BOTTOM}\n\t\t\t\t);\n\n\t\t\t\tif (Type.isObject(this.options.totals))\n\t\t\t\t{\n\t\t\t\t\tthis.store.commit('productList/setTotal', this.options.totals);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tthis.store.dispatch('productList/calculateTotal');\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tconst newItem = this.store.getters['productList/getBaseProduct']();\n\t\t\t\tnewItem.fields.discountType = this.options.defaultDiscountType;\n\t\t\t\tthis.addProduct(newItem);\n\t\t\t}\n\n\t\t\tEventEmitter.emit(this, 'onAfterInit');\n\t\t});\n\t}\n\n\taddProduct(item = {}): void\n\t{\n\t\tthis.store.dispatch('productList/addItem', {\n\t\t\titem,\n\t\t\tposition: this.options.newItemPosition\n\t\t})\n\t\t\t.then(() => {\n\t\t\t\tthis.#onBasketChange();\n\t\t\t});\n\t}\n\n\t#onBasketChange(): void\n\t{\n\t\tEventEmitter.emit(this, 'ProductForm:onBasketChange', {\n\t\t\tbasket: this.store.getters['productList/getBasket']()\n\t\t});\n\t}\n\n\temitErrorsChange(): void\n\t{\n\t\tEventEmitter.emit(this, 'ProductForm:onErrorsChange');\n\t}\n\n\tchangeProduct(item): void\n\t{\n\t\tconst product = item.product;\n\t\tproduct.errors = [];\n\t\tif (item.skipFieldChecking !== true)\n\t\t{\n\t\t\tconst result = this.#checkRequiredFields(product.fields);\n\t\t\tproduct.errors = result?.errors || [];\n\t\t}\n\n\t\tthis.store.dispatch('productList/changeItem', {\n\t\t\tindex: item.index,\n\t\t\tproduct\n\t\t}).then(() => {\n\t\t\tthis.#onBasketChange();\n\t\t});\n\t}\n\n\t#checkRequiredFields(fields: BasketItemScheme): {}\n\t{\n\t\tconst result = {};\n\t\tif (!Type.isArray(this.options.requiredFields) || this.options.requiredFields.length === 0)\n\t\t{\n\t\t\treturn result;\n\t\t}\n\n\t\tresult.errors = [];\n\t\tthis.options.requiredFields.forEach((code) => {\n\t\t\tswitch (code)\n\t\t\t{\n\t\t\t\tcase FormInputCode.PRICE:\n\t\t\t\t\tif (fields.price <= 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tresult.errors.push({\n\t\t\t\t\t\t\tcode: FormErrorCode.EMPTY_PRICE,\n\t\t\t\t\t\t\tmessage: Loc.getMessage('CATALOG_FORM_ERROR_EMPTY_PRICE'),\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase FormInputCode.QUANTITY:\n\t\t\t\t\tif (fields.quantity <= 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tresult.errors.push({\n\t\t\t\t\t\t\tcode: FormErrorCode.EMPTY_QUANTITY,\n\t\t\t\t\t\t\tmessage: Loc.getMessage('CATALOG_FORM_ERROR_EMPTY_QUANTITY'),\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase FormInputCode.BRAND:\n\t\t\t\t\tif (!Type.isArray(fields.brands) || fields.brands.length === 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tresult.errors.push({\n\t\t\t\t\t\t\tcode: FormErrorCode.EMPTY_BRAND,\n\t\t\t\t\t\t\tmessage: Loc.getMessage('CATALOG_FORM_ERROR_EMPTY_BRAND'),\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t});\n\n\t\treturn result;\n\t}\n\n\tremoveProduct(product): void\n\t{\n\t\tthis.store.dispatch('productList/removeItem', {\n\t\t\tindex: product.index\n\t\t}).then(() => {\n\t\t\tthis.#onBasketChange();\n\t\t});\n\t}\n\n\tsetData(data, option = {}): void\n\t{\n\t\tif (Type.isObject(data.basket))\n\t\t{\n\t\t\tconst formBasket = this.store.getters['productList/getBasket']();\n\t\t\tdata.basket.forEach((fields) => {\n\t\t\t\tif (!Type.isObject(fields))\n\t\t\t\t{\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst itemPosition = option.newItemPosition || this.options.newItemPosition;\n\n\t\t\t\tconst innerId = fields.selectorId;\n\t\t\t\tif (Type.isNil(innerId))\n\t\t\t\t{\n\t\t\t\t\tthis.store.dispatch('productList/addItem', {\n\t\t\t\t\t\titem: fields,\n\t\t\t\t\t\tposition: itemPosition\n\t\t\t\t\t});\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst basketIndex = formBasket.findIndex(item => item.selectorId === innerId);\n\t\t\t\tif (basketIndex === -1)\n\t\t\t\t{\n\t\t\t\t\tthis.store.dispatch('productList/addItem', {\n\t\t\t\t\t\titem: fields,\n\t\t\t\t\t\tposition: itemPosition\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tthis.store.dispatch('productList/changeItem', {basketIndex, fields});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tif (Type.isStringFilled(data.currency))\n\t\t{\n\t\t\tthis.store.dispatch('productList/setCurrency', data.currency);\n\t\t}\n\n\t\tif (Type.isObject(data.total))\n\t\t{\n\t\t\tthis.store.commit('productList/setTotal', {\n\t\t\t\tsum: data.total.sum,\n\t\t\t\ttaxSum: data.total.taxSum,\n\t\t\t\tdiscount: data.total.discount,\n\t\t\t\tresult: data.total.result,\n\t\t\t})\n\t\t}\n\n\t\tif (Type.isObject(data.errors))\n\t\t{\n\t\t\tthis.store.commit('productList/setErrors', data.errors);\n\t\t}\n\t}\n\n\tchangeFormOption(optionName, value): void\n\t{\n\t\tvalue = (value === 'Y') ? 'Y' : 'N';\n\n\t\tif (optionName === 'isCompilationMode')\n\t\t{\n\t\t\tif (!this.options.showCompilationModeSwitcher)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst mode = (value === 'Y') ? FormMode.COMPILATION : FormMode.REGULAR;\n\t\t\tthis.#changeCompilationModeSetting(mode);\n\n\t\t\treturn;\n\t\t}\n\n\t\tthis.options[optionName] = value;\n\t\tif (optionName !== 'hiddenCompilationInfoMessage')\n\t\t{\n\t\t\tconst basket = this.store.getters['productList/getBasket']();\n\t\t\tbasket.forEach((item, index) => {\n\t\t\t\tif (optionName === 'showDiscountBlock')\n\t\t\t\t{\n\t\t\t\t\titem.showDiscountBlock = value;\n\t\t\t\t}\n\t\t\t\telse if (optionName === 'showTaxBlock')\n\t\t\t\t{\n\t\t\t\t\titem.showTaxBlock = value;\n\t\t\t\t}\n\t\t\t\telse if (optionName === 'taxIncluded')\n\t\t\t\t{\n\t\t\t\t\titem.fields.taxIncluded = value;\n\t\t\t\t}\n\n\t\t\t\tthis.store.dispatch('productList/changeItem', {\n\t\t\t\t\tindex,\n\t\t\t\t\tfields: item\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\tajax.runAction(\n\t\t\t'catalog.productForm.setConfig',\n\t\t\t{\n\t\t\t\tdata: {\n\t\t\t\t\tconfigName: optionName,\n\t\t\t\t\tvalue: value\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n\n\t#changeCompilationModeSetting(mode: FormMode)\n\t{\n\t\tthis.options.requiredFields = [];\n\t\tif (mode === FormMode.COMPILATION)\n\t\t{\n\t\t\tconst compilationRequiredFields = [\n\t\t\t\tFormInputCode.PRODUCT_SELECTOR, FormInputCode.PRICE, FormInputCode.BRAND,\n\t\t\t];\n\t\t\tthis.options.requiredFields = this.options.visibleBlocks.filter(\n\t\t\t\titem => compilationRequiredFields.includes(item)\n\t\t\t);\n\t\t}\n\n\t\tthis.#setMode(mode)\n\n\t\tconst basket = this.store.getters['productList/getBasket']();\n\n\t\tbasket.forEach((item, index) => this.changeProduct({\n\t\t\t\tindex,\n\t\t\t\tproduct: item\t,\n\t\t\t\tskipFieldChecking: (basket.length === 1 && index === 0 && item.offerId === null)\n\t\t\t})\n\t\t);\n\t}\n\n\tgetTotal(): void\n\t{\n\t\tthis.store.dispatch('productList/getTotal');\n\t}\n\n\tsetEditable(value): void\n\t{\n\t\tthis.editable = value;\n\t\tif (!value)\n\t\t{\n\t\t\tthis.#setMode(FormMode.READ_ONLY);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.#setMode(FormMode.REGULAR);\n\t\t}\n\t}\n\n\t#setMode(mode: FormMode): void\n\t{\n\t\tthis.mode = mode;\n\t\tif (mode === FormMode.READ_ONLY)\n\t\t{\n\t\t\tthis.options.editableFields = [];\n\t\t}\n\t\telse if (mode === FormMode.COMPILATION)\n\t\t{\n\t\t\tthis.options.editableFields = [\n\t\t\t\tFormInputCode.PRODUCT_SELECTOR, FormInputCode.PRICE, FormInputCode.BRAND,\n\t\t\t];\n\n\t\t\tthis.options.visibleBlocks = this.defaultOptions.visibleBlocks;\n\n\t\t\tif (this.options.compilationFormType === FormCompilationType.FACEBOOK)\n\t\t\t{\n\t\t\t\tthis.options.visibleBlocks.push(FormInputCode.BRAND);\n\t\t\t}\n\n\t\t\tthis.options.showResults = false;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tmode = FormMode.REGULAR;\n\t\t\tthis.options.visibleBlocks = this.defaultOptions.visibleBlocks;\n\t\t\tthis.options.showResults = this.defaultOptions.showResults;\n\t\t\tthis.options.editableFields = this.defaultOptions.visibleBlocks;\n\t\t}\n\n\t\tif (this.templateEngine)\n\t\t{\n\t\t\tthis.templateEngine.mode = mode;\n\t\t}\n\n\t\tEventEmitter.emit(this, 'ProductForm:onModeChange', { mode });\n\t}\n\n\thasErrors()\n\t{\n\t\tif (!this.store)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tconst basket = this.store.getters['productList/getBasket']();\n\t\tconst errorItems = basket.filter(\n\t\t\titem => item.errors.length > 0\n\t\t);\n\n\t\treturn errorItems.length > 0;\n\t}\n\n\tstatic showError(error): void\n\t{\n\t\tconsole.error(error);\n\t}\n}\n"],"names":["FormElementPosition","TOP","BOTTOM","ProductList","VuexBuilderModel","getName","getState","currency","taxIncluded","basket","total","sum","discount","taxSum","result","getBaseProduct","random","Text","getRandom","offerId","selectorId","fields","innerId","productId","skuId","code","module","sort","price","basePrice","priceExclusive","quantity","name","discountRate","discountInfos","discountType","DiscountType","PERCENTAGE","tax","measureCode","measureName","measureRatio","isCustomPrice","additionalFields","properties","brands","calculatedFields","catalogFields","showDiscount","showTax","skuTree","image","catalogPrice","discountSum","detailUrl","encodedFields","errors","getActions","resetBasket","commit","removeItem","dispatch","state","payload","length","forEach","item","i","index","changeItem","setCurrency","addItem","position","calculateTotal","toNumber","getGetters","getBasket","getMutations","Object","assign","push","unshift","updateItem","Type","isNil","Vue","set","product","clearBasket","deleteItem","splice","setErrors","clearErrors","setTotal","formattedTotal","isStringFilled","key","hasOwnProperty","CurrencyCore","currencyFormat","config","freeze","databaseConfig","templateName","templatePanelButtons","templatePanelCompilation","templateRowName","templateFieldInlineSelector","templateFieldPrice","templateFieldResultSum","templateFieldQuantity","templateFieldDiscount","templateFieldTax","templateFieldBrand","moduleId","FormInputCode","PRODUCT_SELECTOR","IMAGE_EDITOR","QUANTITY","PRICE","RESULT","DISCOUNT","TAX","BRAND","MEASURE","FormErrorCode","EMPTY_PRODUCT_SELECTOR","EMPTY_IMAGE","EMPTY_QUANTITY","EMPTY_PRICE","EMPTY_BRAND","IS_NULLABLE_PRICE","FormMode","REGULAR","READ_ONLY","COMPILATION","component","props","Number","String","editable","Boolean","saveableMeasure","hasError","options","created","onInputQuantityHandler","Runtime","debounce","onInputQuantity","methods","event","target","value","replace","newQuantity","lastSymbol","substr","changeQuantity","calculateCorrectionFactor","factoredQuantity","factoredRatio","correctionFactor","isInteger","incrementValue","decrementValue","$emit","showPopupMenu","isArray","measures","menuItems","text","SYMBOL","onclick","selectMeasure","popupMenu","Menu","bindElement","items","show","params","CODE","close","template","onInputPriceHandler","onInputPrice","newPrice","computed","localize","getFilteredPhrases","currencySymbol","onInputDiscount","onChangeDiscount","onChangeType","type","MONETARY","discountValue","allowedDiscountTypes","includes","getDiscountInputValue","getDiscountSymbol","taxId","data","taxValue","getTaxList","onChangeValue","id","taxList","basketLength","basketItem","model","productSelector","imageControlId","EventEmitter","subscribe","onProductChange","bind","onProductClear","mounted","ProductSelector","prepareSelectorParams","renderTo","$refs","selectorWrapper","NAME","getField","CURRENCY","selectorOptions","iblockId","basePriceId","getDefaultSkuTree","fileInputId","morePhotoValues","fileInput","DETAIL_PATH","ENABLE_SEARCH","ENABLE_INPUT_DETAIL_LINK","ENABLE_IMAGE_CHANGE_SAVING","ENABLE_EMPTY_PRODUCT_ERROR","enableEmptyProductError","isRequiredField","ENABLE_EMPTY_IMAGES_ERROR","ROW_ID","ENABLE_SKU_SELECTION","HIDE_UNSELECTED_ITEMS","hideUnselectedProperties","URL_BUILDER_CONTEXT","urlBuilderContext","mode","MODE_EDIT","MODE_VIEW","formImage","isObject","fileView","preview","input","values","isEnabledSaving","enableCatalogSaving","hasEditRights","requiredFields","JSON","parse","defaultValue","getData","getId","BASE_PRICE","MODULE","ID","PRODUCT_ID","SKU_ID","PROPERTIES","CUSTOMIZED","MEASURE_CODE","MEASURE_NAME","IS_NEW","isNew","Array","cache","Cache","MemoryCache","selector","TagSelector","dialogOptions","context","preselectedItems","getPreselectedBrands","events","onBrandChange","createBrand","searchTabOptions","stub","stubOptions","title","Tag","message","subtitle","arrow","searchOptions","allowCreateItem","entities","dynamicSearch","dynamicLoad","brandSelectorWrapper","map","getTarget","getSelectedItems","resultValues","searchQuery","Promise","resolve","reject","dialog","getQuery","showLoader","ajax","runAction","then","response","hideLoader","entityId","tabs","getRecentTab","select","hide","catch","onInputSumHandler","onInputSum","newSum","basketItemIndex","countItems","defaultMeasure","blocks","brand","measure","errorCodes","emptyProductSelector","emptyImage","emptyQuantity","emptyPrice","emptyBrand","initModel","changeProductFields","prepareModelFields","defaultFields","defaultPrice","PRICE_NETTO","PRICE_BRUTTO","PRICE_EXCLUSIVE","DISCOUNT_TYPE_ID","DISCOUNT_RATE","DISCOUNT_SUM","TAX_INCLUDED","TAX_RATE","ProductModel","isSimpleModel","onErrorsChange","getErrorCollection","getErrors","changeRowData","setCalculatedFields","getCalculator","setFields","SUM","getProductFieldsFromModel","modelFields","getFields","BRANDS","TAX_ID","skipFieldChecking","isSimple","saveCatalogField","changedFields","save","calculateBasePrice","processFields","calculatePrice","onChangeSum","onChangePrice","isCatalogPriceSaveEnabled","changeBasePrice","showSaveNotifier","Loc","getMessage","onCancel","calculatorFields","changePrice","toggleDiscount","$root","$app","changeFormOption","onSave","onSelectMeasure","changeMeasure","isReadOnly","setTimeout","discountWrapper","discountInput","focus","toggleTax","changeBrand","onChangeQuantity","calculateQuantity","productFields","setField","changeDiscountType","calculateDiscountType","changeDiscount","calculateDiscount","changeTax","calculateTax","changeTaxIncluded","isEditableField","calculateTaxIncluded","isVisibleBlock","visibleBlocks","isEmpty","isChanged","filteredErrors","filter","error","isEditablePrice","editableFields","isCatalogExisted","isCatalogPriceEditEnabled","getHint","fieldHints","hasHint","showPriceNotify","hint","ARTICLE_CODE","top","BX","Helper","watch","oldValue","showDiscountBlock","getBrandsSelectorId","getPriceExclusive","showTaxBlock","showRemoveIcon","showTaxSelector","showBasePrice","getMeasureName","getMeasureCode","isTaxIncluded","FormCompilationType","FACEBOOK","FormHelpdeskCode","COMPILATION_FACEBOOK","COMMON_COMPILATION","compilationOptions","destroyPopup","newLabel","Label","CATALOG_FORM_COMPILATION_PRODUCT_NEW_LABEL","color","LabelColor","PRIMARY","fill","moreMessageButton","render","CATALOG_FORM_COMPILATION_INFO_BUTTON_MORE","Event","openHelpDesk","header","description","isFacebookForm","CATALOG_FORM_COMPILATION_INFO_MESSAGE_TITLE_FACEBOOK","CATALOG_FORM_COMPILATION_INFO_MESSAGE_BODY_FACEBOOK_FIRST_BLOCK","CATALOG_FORM_COMPILATION_INFO_MESSAGE_BODY_FACEBOOK_SECOND_BLOCK","CATALOG_FORM_COMPILATION_INFO_MESSAGE_TITLE","CATALOG_FORM_COMPILATION_INFO_MESSAGE_BODY_MARKETING","MessageCard","angle","hidden","actionElements","hideMessage","label","appendChild","getLayout","hiddenInfoMessage","showMessage","compilationLink","helpdeskCode","showPopup","disabledSwitcher","popup","Popup","setBindElement","qrLink","$store","getters","productIds","json","link","content","getQRPopupContent","width","closeIcon","right","padding","closeByEsc","autoHide","cacheable","animation","offset","destroy","buttonCopy","CATALOG_FORM_COMPILATION_QR_COPY","clipboard","copy","UI","Notification","Center","notify","CATALOG_FORM_COMPILATION_QR_COPY_NOTIFY_MESSAGE","autoHideDelay","qrWrapper","CATALOG_FORM_COMPILATION_QR_POPUP_TITLE","CATALOG_FORM_COMPILATION_QR_POPUP_INPUT_TITLE","QRCode","height","setSetting","checked","hasStore","creationStorePopup","className","getOnBeforeCreationStorePopupContent","overlay","deactivatedStore","TITLE","safe","setContent","getOnAfterCreationStorePopupContent","setClosingByEsc","setAutoHide","isLimitedStore","loaderContent","node","loader","Loader","size","onLabelClick","InfoHelper","onClickHint","preventDefault","stopImmediatePropagation","isShown","Dom","addClass","hintIcon","removeClass","showQrLink","Vuex","mapState","productList","settings","refreshBasket","changeBasketItem","addBasketItemForm","getInternalIndexByProductId","keys","findIndex","inx","parseInt","handleAddItem","skuType","variationId","priceId","urlBuilder","resetSku","processResponse","isAddAnyway","productData","newItem","MEASURE_RATIO","defaultDiscountType","addProduct","onUpdateBasketItem","removeEmptyItems","modifyBasketItem","showDialogProductExists","onPopupClose","zIndex","titleBar","draggable","resizable","lightShadow","buttons","getButtons","SaveButton","CancelButton","showDialogProductSearch","funcName","window","CDialog","content_url","Math","max","innerHeight","innerWidth","min_height","min_width","Show","dataset","settingId","Slider","open","getSettingItems","DialogDisable","EventType","disable","disableCancel","getSettingItem","setting","CATALOG_FORM_ADD_SHOW_DISCOUNTS_OPTION","warehouseOption","CATALOG_FORM_ADD_SHOW_WAREHOUSE_OPTION","prepareSettingsContent","append","showConfigPopup","offsetLeft","offsetTop","noAllPaddings","bindOptions","forceBindPosition","openSlider","url","isPlainObject","allowChangeHistory","isString","onClose","getSlider","SidePanel","Instance","order","changeProduct","emitErrorsChange","removeProduct","showTaxResult","showResults","showButtonsTop","singleProductMode","buttonsPosition","showButtonsBottom","showResultBlock","enableAddButtons","totalResultLabel","CATALOG_FORM_TOTAL_RESULT","ProductForm","constructor","prepareOptions","defaultOptions","wrapper","initStore","initTemplate","showError","builder","VuexBuilder","addModel","create","build","settingsCollection","Extension","getSettings","get","showCompilationModeSwitcher","pricePrecision","newItemPosition","compilationFormType","compilationFormOption","layout","store","templateEngine","BitrixVue","createApp","el","setData","loadCurrencyFormat","totals","emit","option","formBasket","itemPosition","basketIndex","optionName","configName","getTotal","setEditable","hasErrors","errorItems","console","compilationRequiredFields"],"mappings":";;;;CAAO,MAAMA,mBAAN,CACP;CADaA,oBAELC,MAAc;CAFTD,oBAGLE,SAAiB;;CCMlB,MAAMC,WAAN,SAA0BC,4BAA1B,CACP;CACC;CACD;CACA;CACCC,EAAAA,OAAO,GACP;CACC,WAAO,aAAP;CACA;;CAEDC,EAAAA,QAAQ,GACR;CACC,WAAO;CACNC,MAAAA,QAAQ,EAAE,EADJ;CAENC,MAAAA,WAAW,EAAE,GAFP;CAGNC,MAAAA,MAAM,EAAE,EAHF;CAINC,MAAAA,KAAK,EAAE;CACNC,QAAAA,GAAG,EAAE,CADC;CAENC,QAAAA,QAAQ,EAAE,CAFJ;CAGNC,QAAAA,MAAM,EAAE,CAHF;CAINC,QAAAA,MAAM,EAAE;CAJF;CAJD,KAAP;CAWA;;CAEoB,SAAdC,cAAc,GACrB;CACC,UAAMC,MAAM,GAAGC,cAAI,CAACC,SAAL,EAAf;CACA,WAAO;CACNC,MAAAA,OAAO,EAAE,IADH;CAENC,MAAAA,UAAU,EAAEJ,MAFN;CAGNK,MAAAA,MAAM,EAAE;CACPC,QAAAA,OAAO,EAAEN,MADF;CAEPO,QAAAA,SAAS,EAAE,IAFJ;CAGPC,QAAAA,KAAK,EAAE,IAHA;CAIPC,QAAAA,IAAI,EAAE,IAJC;CAKPC,QAAAA,MAAM,EAAE,IALD;CAMPC,QAAAA,IAAI,EAAE,CANC;CAOPC,QAAAA,KAAK,EAAE,IAPA;CAQPC,QAAAA,SAAS,EAAE,IARJ;CASPC,QAAAA,cAAc,EAAE,IATT;CAUPC,QAAAA,QAAQ,EAAE,CAVH;CAWPC,QAAAA,IAAI,EAAE,EAXC;CAYPpB,QAAAA,QAAQ,EAAE,CAZH;CAaPqB,QAAAA,YAAY,EAAE,CAbP;CAcPC,QAAAA,aAAa,EAAE,EAdR;CAePC,QAAAA,YAAY,EAAEC,sCAAY,CAACC,UAfpB;CAgBPC,QAAAA,GAAG,EAAE,CAhBE;CAiBPzB,QAAAA,MAAM,EAAE,CAjBD;CAkBPL,QAAAA,WAAW,EAAE,GAlBN;CAmBP+B,QAAAA,WAAW,EAAE,CAnBN;CAoBPC,QAAAA,WAAW,EAAE,EApBN;CAqBPC,QAAAA,YAAY,EAAE,CArBP;CAsBPC,QAAAA,aAAa,EAAE,GAtBR;CAuBPC,QAAAA,gBAAgB,EAAE,EAvBX;CAwBPC,QAAAA,UAAU,EAAE,EAxBL;CAyBPC,QAAAA,MAAM,EAAE;CAzBD,OAHF;CA8BNC,MAAAA,gBAAgB,EAAE,EA9BZ;CA+BNC,MAAAA,aAAa,EAAE,EA/BT;CAgCNC,MAAAA,YAAY,EAAE,GAhCR;CAiCNC,MAAAA,OAAO,EAAE,GAjCH;CAkCNC,MAAAA,OAAO,EAAE,EAlCH;CAmCNC,MAAAA,KAAK,EAAE,IAnCD;CAoCNxC,MAAAA,GAAG,EAAE,CApCC;CAqCNyC,MAAAA,YAAY,EAAE,IArCR;CAsCNC,MAAAA,WAAW,EAAE,CAtCP;CAuCNC,MAAAA,SAAS,EAAE,EAvCL;CAwCNC,MAAAA,aAAa,EAAE,IAxCT;CAyCNC,MAAAA,MAAM,EAAE;CAzCF,KAAP;CA2CA;;CAEDC,EAAAA,UAAU,GACV;CACC,WAAO;CACNC,MAAAA,WAAW,CAAE;CAACC,QAAAA;CAAD,OAAF,EACX;CACCA,QAAAA,MAAM,CAAC,aAAD,CAAN;CACAA,QAAAA,MAAM,CAAC,SAAD,EAAY,EAAZ,CAAN;CACA,OALK;;CAMNC,MAAAA,UAAU,CAAC;CAACC,QAAAA,QAAD;CAAWF,QAAAA,MAAX;CAAmBG,QAAAA;CAAnB,OAAD,EAA4BC,OAA5B,EACV;CACCJ,QAAAA,MAAM,CAAC,YAAD,EAAeI,OAAf,CAAN;;CACA,YAAID,KAAK,CAACrD,MAAN,CAAauD,MAAb,KAAwB,CAA5B,EACA;CACCL,UAAAA,MAAM,CAAC,SAAD,EAAY,EAAZ,CAAN;CACA,SAHD,MAKA;CACCG,UAAAA,KAAK,CAACrD,MAAN,CAAawD,OAAb,CAAqB,CAACC,IAAD,EAAOC,CAAP,KAAa;CACjCR,YAAAA,MAAM,CAAC,YAAD,EAAe;CACpBS,cAAAA,KAAK,EAAED,CADa;CAEpB9C,cAAAA,MAAM,EAAE;CAACM,gBAAAA,IAAI,EAAEwC;CAAP;CAFY,aAAf,CAAN;CAIA,WALD;CAMA;;CACDN,QAAAA,QAAQ,CAAC,gBAAD,CAAR;CACA,OAvBK;;CAwBNQ,MAAAA,UAAU,EAAE,CAAC;CAACR,QAAAA,QAAD;CAAWF,QAAAA;CAAX,OAAD,EAAqBI,OAArB,KACZ;CACCJ,QAAAA,MAAM,CAAC,YAAD,EAAeI,OAAf,CAAN;CACAF,QAAAA,QAAQ,CAAC,gBAAD,CAAR;CACA,OA5BK;CA6BNS,MAAAA,WAAW,EAAE,CAAC;CAACX,QAAAA;CAAD,OAAD,EAAWI,OAAX,KACb;CACC,cAAMxD,WAAQ,GAAGwD,OAAO,IAAI,EAA5B;CACAJ,QAAAA,MAAM,CAAC,aAAD,EAAgBpD,WAAhB,CAAN;CACA,OAjCK;CAkCNgE,MAAAA,OAAO,EAAE,CAAC;CAACV,QAAAA,QAAD;CAAWF,QAAAA;CAAX,OAAD,EAAqBI,OAArB,KACT;CACC,cAAMG,IAAI,GAAGH,OAAO,CAACG,IAAR,IAAgB;CAAC7C,UAAAA,MAAM,EAAE;CAAT,SAA7B;CACAsC,QAAAA,MAAM,CAAC,SAAD,EAAY;CACjBO,UAAAA,IADiB;CAEjBM,UAAAA,QAAQ,EAAET,OAAO,CAACS,QAAR,IAAoBxE,mBAAmB,CAACC;CAFjC,SAAZ,CAAN;CAIA4D,QAAAA,QAAQ,CAAC,gBAAD,CAAR;CACA,OA1CK;CA2CNY,MAAAA,cAAc,EAAE,CAAC;CAACd,QAAAA,MAAD;CAASG,QAAAA;CAAT,OAAD,KAChB;CACC,cAAMpD,KAAK,GAAG;CACbC,UAAAA,GAAG,EAAE,CADQ;CAEbE,UAAAA,MAAM,EAAE,CAFK;CAGbD,UAAAA,QAAQ,EAAE,CAHG;CAIbE,UAAAA,MAAM,EAAE;CAJK,SAAd;CAOAgD,QAAAA,KAAK,CAACrD,MAAN,CAAawD,OAAb,CAAsBC,IAAD,IAAU;CAC9B,gBAAMrC,SAAS,GAAGZ,cAAI,CAACyD,QAAL,CAAcR,IAAI,CAAC7C,MAAL,CAAYQ,SAAZ,IAAyB,CAAvC,CAAlB;CACA,gBAAME,QAAQ,GAAGd,cAAI,CAACyD,QAAL,CAAcR,IAAI,CAAC7C,MAAL,CAAYU,QAAZ,IAAwB,CAAtC,CAAjB;CACA,gBAAMnB,QAAQ,GAAGK,cAAI,CAACyD,QAAL,CAAcR,IAAI,CAAC7C,MAAL,CAAYT,QAAZ,IAAwB,CAAtC,CAAjB;CACA,gBAAMC,MAAM,GAAGI,cAAI,CAACyD,QAAL,CAAcR,IAAI,CAAC7C,MAAL,CAAYR,MAAZ,IAAsB,CAApC,CAAf;CACAH,UAAAA,KAAK,CAACC,GAAN,IAAakB,SAAS,GAAGE,QAAzB;CACArB,UAAAA,KAAK,CAACI,MAAN,IAAgBG,cAAI,CAACyD,QAAL,CAAcR,IAAI,CAACvD,GAAnB,CAAhB;CACAD,UAAAA,KAAK,CAACE,QAAN,IAAkBA,QAAQ,GAAGmB,QAA7B;CACArB,UAAAA,KAAK,CAACG,MAAN,IAAgBA,MAAM,GAAGkB,QAAzB;CACA,SATD;CAWArB,QAAAA,KAAK,CAACE,QAAN,GAAkBF,KAAK,CAACE,QAAN,GAAiBF,KAAK,CAACC,GAAxB,GAA+BD,KAAK,CAACC,GAArC,GAA2CD,KAAK,CAACE,QAAlE;CAEA+C,QAAAA,MAAM,CAAC,UAAD,EAAajD,KAAb,CAAN;CACA;CAlEK,KAAP;CAoEA;;CAEDiE,EAAAA,UAAU,GACV;CACC,WAAO;CACNC,MAAAA,SAAS,EAAEd,KAAK,IAAI,MACpB;CACC,eAAOA,KAAK,CAACrD,MAAb;CACA,OAJK;CAKNM,MAAAA,cAAc,EAAE,MAAM,MACtB;CACC,eAAOZ,WAAW,CAACY,cAAZ,EAAP;CACA;CARK,KAAP;CAUA;;CAED8D,EAAAA,YAAY,GACZ;CACC,WAAO;CACNN,MAAAA,OAAO,EAAE,CAACT,KAAD,EAAQC,OAAR,KACT;CACC,YAAIG,IAAI,GAAG/D,WAAW,CAACY,cAAZ,EAAX;CAEAmD,QAAAA,IAAI,GAAGY,MAAM,CAACC,MAAP,CAAcb,IAAd,EAAoBH,OAAO,CAACG,IAA5B,CAAP;;CACA,YAAIH,OAAO,CAACS,QAAR,KAAqBxE,mBAAmB,CAACE,MAA7C,EACA;CACC4D,UAAAA,KAAK,CAACrD,MAAN,CAAauE,IAAb,CAAkBd,IAAlB;CACA,SAHD,MAKA;CACCJ,UAAAA,KAAK,CAACrD,MAAN,CAAawE,OAAb,CAAqBf,IAArB;CACA;;CAEDJ,QAAAA,KAAK,CAACrD,MAAN,CAAawD,OAAb,CAAqB,CAACC,IAAD,EAAOE,KAAP,KAAiB;CACrCF,UAAAA,IAAI,CAAC7C,MAAL,CAAYM,IAAZ,GAAmByC,KAAnB;CACA,SAFD;CAGA,OAlBK;CAmBNc,MAAAA,UAAU,EAAE,CAACpB,KAAD,EAAQC,OAAR,KACZ;CACC,YAAIoB,cAAI,CAACC,KAAL,CAAWtB,KAAK,CAACrD,MAAN,CAAasD,OAAO,CAACK,KAArB,CAAX,CAAJ,EACA;CACCiB,UAAAA,UAAG,CAACC,GAAJ,CAAQxB,KAAK,CAACrD,MAAd,EAAsBsD,OAAO,CAACK,KAA9B,EAAqCjE,WAAW,CAACY,cAAZ,EAArC;CACA;;CAED+C,QAAAA,KAAK,CAACrD,MAAN,CAAasD,OAAO,CAACK,KAArB,IAA8BU,MAAM,CAACC,MAAP,CAC7BjB,KAAK,CAACrD,MAAN,CAAasD,OAAO,CAACK,KAArB,CAD6B,EAE7BL,OAAO,CAACwB,OAFqB,CAA9B;CAIA,OA9BK;CA+BNC,MAAAA,WAAW,EAAG1B,KAAD,IACb;CACCA,QAAAA,KAAK,CAACrD,MAAN,GAAe,EAAf;CACA,OAlCK;CAmCNgF,MAAAA,UAAU,EAAE,CAAC3B,KAAD,EAAQC,OAAR,KACZ;CACCD,QAAAA,KAAK,CAACrD,MAAN,CAAaiF,MAAb,CAAoB3B,OAAO,CAACK,KAA5B,EAAmC,CAAnC;CACAN,QAAAA,KAAK,CAACrD,MAAN,CAAawD,OAAb,CAAqB,CAACC,IAAD,EAAOE,KAAP,KAAiB;CACrCF,UAAAA,IAAI,CAAC7C,MAAL,CAAYM,IAAZ,GAAmByC,KAAnB;CACA,SAFD;CAGA,OAzCK;CA0CNuB,MAAAA,SAAS,EAAE,CAAC7B,KAAD,EAAQC,OAAR,KACX;CACCD,QAAAA,KAAK,CAACN,MAAN,GAAeO,OAAf;CACA,OA7CK;CA8CN6B,MAAAA,WAAW,EAAG9B,KAAD,IACb;CACCA,QAAAA,KAAK,CAACN,MAAN,GAAe,EAAf;CACA,OAjDK;CAkDNc,MAAAA,WAAW,EAAE,CAACR,KAAD,EAAQC,OAAR,KACb;CACCD,QAAAA,KAAK,CAACvD,QAAN,GAAiBwD,OAAjB;CACA,OArDK;CAsDN8B,MAAAA,QAAQ,EAAE,CAAC/B,KAAD,EAAQC,OAAR,KACV;CACC,cAAM+B,cAAc,GAAG/B,OAAvB;;CACA,YAAIoB,cAAI,CAACY,cAAL,CAAoBjC,KAAK,CAACvD,QAA1B,CAAJ,EACA;CACC,eAAK,MAAMyF,GAAX,IAAkBjC,OAAlB,EACA;CACC,gBAAIA,OAAO,CAACkC,cAAR,CAAuBD,GAAvB,CAAJ,EACA;CACCF,cAAAA,cAAc,CAACE,GAAD,CAAd,GAAsBE,kCAAY,CAACC,cAAb,CAA4BpC,OAAO,CAACiC,GAAD,CAAnC,EAA0ClC,KAAK,CAACvD,QAAhD,CAAtB;CACA;CACD;CACD;;CAEDuD,QAAAA,KAAK,CAACpD,KAAN,GAAcoE,MAAM,CAACC,MAAP,CACbjB,KAAK,CAACpD,KADO,EAEboF,cAFa,CAAd;CAIA;CAxEK,KAAP;CA0EA;;CA1OF;;CCVO,MAAMM,MAAM,GAAGtB,MAAM,CAACuB,MAAP,CAAc;CACnCC,EAAAA,cAAc,EAAE;CACftE,IAAAA,IAAI,EAAE;CADS,GADmB;CAInCuE,EAAAA,YAAY,EAAE,SAJqB;CAKnCC,EAAAA,oBAAoB,EAAE,kBALa;CAMnCC,EAAAA,wBAAwB,EAAE,sBANS;CAOnCC,EAAAA,eAAe,EAAE,aAPkB;CAQnCC,EAAAA,2BAA2B,EAAE,0BARM;CASnCC,EAAAA,kBAAkB,EAAE,gBATe;CAUnCC,EAAAA,sBAAsB,EAAE,qBAVW;CAWnCC,EAAAA,qBAAqB,EAAE,mBAXY;CAYnCC,EAAAA,qBAAqB,EAAE,mBAZY;CAanCC,EAAAA,gBAAgB,EAAE,cAbiB;CAcnCC,EAAAA,kBAAkB,EAAE,gBAde;CAenCC,EAAAA,QAAQ,EAAE;CAfyB,CAAd,CAAf;;CCAA,MAAMC,aAAN,CACP;CADaA,cAELC,mBAAmB;CAFdD,cAGLE,eAAe;CAHVF,cAILG,WAAW;CAJNH,cAKLI,QAAQ;CALHJ,cAMLK,SAAS;CANJL,cAOLM,WAAW;CAPNN,cAQLO,MAAM;CARDP,cASLQ,QAAQ;CATHR,cAULS,UAAU;;CCVX,MAAMC,aAAN,CACP;CADaA,cAELC,yBAAyB;CAFpBD,cAGLE,cAAc;CAHTF,cAILG,iBAAiB;CAJZH,cAKLI,cAAc;CALTJ,cAMLK,cAAc;CANTL,cAOLM,oBAAoB;;CCPrB,MAAMC,QAAN,CACP;CADaA,SAELC,UAAkB;CAFbD,SAGLE,YAAoB;CAHfF,SAILG,cAAsB;;ACE9BlD,WAAG,CAACmD,SAAJ,CAAcpC,MAAM,CAACU,qBAArB,EACA;CACC;CACD;CACA;CACA;CAEC2B,EAAAA,KAAK,EAAE;CACNlG,IAAAA,WAAW,EAAEmG,MADP;CAENjG,IAAAA,YAAY,EAAEiG,MAFR;CAGNlG,IAAAA,WAAW,EAAEmG,MAHP;CAIN5G,IAAAA,QAAQ,EAAE2G,MAJJ;CAKNE,IAAAA,QAAQ,EAAEC,OALJ;CAMNC,IAAAA,eAAe,EAAED,OANX;CAONE,IAAAA,QAAQ,EAAEF,OAPJ;CAQNG,IAAAA,OAAO,EAAElE;CARH,GANR;;CAgBCmE,EAAAA,OAAO,GACP;CACC,SAAKC,sBAAL,GAA8BC,iBAAO,CAACC,QAAR,CAAiB,KAAKC,eAAtB,EAAuC,GAAvC,EAA4C,IAA5C,CAA9B;CACA,GAnBF;;CAoBCC,EAAAA,OAAO,EACP;CACCD,IAAAA,eAAe,CAACE,KAAD,EACf;CACC,UAAI,CAAC,KAAKX,QAAV,EACA;CACC;CACA;;CAEDW,MAAAA,KAAK,CAACC,MAAN,CAAaC,KAAb,GAAqBF,KAAK,CAACC,MAAN,CAAaC,KAAb,CAAmBC,OAAnB,CAA2B,SAA3B,EAAqC,GAArC,CAArB;CACA,YAAMC,WAAW,GAAG1I,cAAI,CAACyD,QAAL,CAAc6E,KAAK,CAACC,MAAN,CAAaC,KAA3B,CAApB;CACA,YAAMG,UAAU,GAAGL,KAAK,CAACC,MAAN,CAAaC,KAAb,CAAmBI,MAAnB,CAA0B,CAAC,CAA3B,CAAnB;;CAEA,UAAID,UAAU,KAAK,GAAnB,EACA;CACC;CACA;;CAED,WAAKE,cAAL,CAAoBH,WAApB;CACA,KAlBF;;CAmBCI,IAAAA,yBAAyB,CAAChI,QAAD,EAAWU,YAAX,EACzB;CACC,UAAIuH,gBAAgB,GAAGjI,QAAvB;CACA,UAAIkI,aAAa,GAAGxH,YAApB;CACA,UAAIyH,gBAAgB,GAAG,CAAvB;;CAEA,aAAO,EAAExB,MAAM,CAACyB,SAAP,CAAiBH,gBAAjB,KAAsCtB,MAAM,CAACyB,SAAP,CAAiBF,aAAjB,CAAxC,CAAP,EACA;CACCC,QAAAA,gBAAgB,IAAI,EAApB;CACAF,QAAAA,gBAAgB,GAAGjI,QAAQ,GAAGmI,gBAA9B;CACAD,QAAAA,aAAa,GAAGxH,YAAY,GAAGyH,gBAA/B;CACA;;CAED,aAAOA,gBAAP;CACA,KAjCF;;CAkCCE,IAAAA,cAAc,GACd;CACC,UAAI,CAAC,KAAKxB,QAAV,EACA;CACC;CACA;;CAED,YAAMsB,gBAAgB,GAAG,KAAKH,yBAAL,CAA+B,KAAKhI,QAApC,EAA8C,KAAKU,YAAnD,CAAzB;CACA,YAAMV,QAAQ,GAAG,CAAC,KAAKA,QAAL,GAAgBmI,gBAAhB,GAAmC,KAAKzH,YAAL,GAAoByH,gBAAxD,IAA4EA,gBAA7F;CACA,WAAKJ,cAAL,CAAoB/H,QAApB;CACA,KA5CF;;CA6CCsI,IAAAA,cAAc,GACd;CACC,UAAI,KAAKtI,QAAL,GAAgB,KAAKU,YAArB,IAAqC,KAAKmG,QAA9C,EACA;CACC,cAAMsB,gBAAgB,GAAG,KAAKH,yBAAL,CAA+B,KAAKhI,QAApC,EAA8C,KAAKU,YAAnD,CAAzB;CACA,cAAMV,QAAQ,GAAG,CAAC,KAAKA,QAAL,GAAgBmI,gBAAhB,GAAmC,KAAKzH,YAAL,GAAoByH,gBAAxD,IAA4EA,gBAA7F;CACA,aAAKJ,cAAL,CAAoB/H,QAApB;CACA;CACD,KArDF;;CAsDC+H,IAAAA,cAAc,CAACL,KAAD,EACd;CACC,WAAKa,KAAL,CAAW,kBAAX,EAA+Bb,KAA/B;CACA,KAzDF;;CA0DCc,IAAAA,aAAa,CAACf,MAAD,EACb;CACC,UAAI,CAAC,KAAKZ,QAAN,IAAkB,CAACzD,cAAI,CAACqF,OAAL,CAAa,KAAKxB,OAAL,CAAayB,QAA1B,CAAvB,EACA;CACC;CACA;;CAED,YAAMC,SAAS,GAAG,EAAlB;CACA,WAAK1B,OAAL,CAAayB,QAAb,CAAsBxG,OAAtB,CAA+BC,IAAD,IAAU;CACvCwG,QAAAA,SAAS,CAAC1F,IAAV,CAAe;CACd2F,UAAAA,IAAI,EAAEzG,IAAI,CAAC0G,MADG;CAEd1G,UAAAA,IAAI,EAAEA,IAFQ;CAGd2G,UAAAA,OAAO,EAAE,KAAKC;CAHA,SAAf;CAKA,OAND;;CASA,UAAIJ,SAAS,CAAC1G,MAAV,GAAmB,CAAvB,EACA;CACC,aAAK+G,SAAL,GAAiB,IAAIC,eAAJ,CAAS;CACzBC,UAAAA,WAAW,EAAEzB,MADY;CAEzB0B,UAAAA,KAAK,EAAER;CAFkB,SAAT,CAAjB;CAKA,aAAKK,SAAL,CAAeI,IAAf;CACA;CACD,KApFF;;CAqFCL,IAAAA,aAAa,CAACvB,KAAD,EAAmB6B,MAAnB,EACb;CAAA;;CACC,WAAKd,KAAL,CAAW,iBAAX,EAA8B;CAC7B7I,QAAAA,IAAI,qBAAE2J,MAAM,CAACpC,OAAT,qBAAE,gBAAgB9E,IAAhB,CAAqBmH,IADE;CAE7BrJ,QAAAA,IAAI,sBAAEoJ,MAAM,CAACpC,OAAT,qBAAE,iBAAgB9E,IAAhB,CAAqB0G;CAFE,OAA9B;;CAKA,UAAI,KAAKG,SAAT,EACA;CACC,aAAKA,SAAL,CAAeO,KAAf;CACA;CACD;;CAhGF,GArBD;CAuHC;CACAC,EAAAA,QAAQ,EAAG;;;;;;;;;;;;;;;;;CAxHZ,CADA;;ACDAlG,WAAG,CAACmD,SAAJ,CAAcpC,MAAM,CAACQ,kBAArB,EACA;CACC;CACD;CACA;CACA;CAEC6B,EAAAA,KAAK,EAAE;CACNrH,IAAAA,UAAU,EAAEuH,MADN;CAEN/G,IAAAA,KAAK,EAAE8G,MAFD;CAGNE,IAAAA,QAAQ,EAAEC,OAHJ;CAINE,IAAAA,QAAQ,EAAEF,OAJJ;CAKNG,IAAAA,OAAO,EAAElE;CALH,GANR;;CAaCmE,EAAAA,OAAO,GACP;CACC,SAAKuC,mBAAL,GAA2BrC,iBAAO,CAACC,QAAR,CAAiB,KAAKqC,YAAtB,EAAoC,GAApC,EAAyC,IAAzC,CAA3B;CACA,GAhBF;;CAiBCnC,EAAAA,OAAO,EACP;CACCmC,IAAAA,YAAY,CAAClC,KAAD,EACZ;CACC,UAAI,CAAC,KAAKX,QAAV,EACA;CACC;CACA;;CAEDW,MAAAA,KAAK,CAACC,MAAN,CAAaC,KAAb,GAAqBF,KAAK,CAACC,MAAN,CAAaC,KAAb,CAAmBC,OAAnB,CAA2B,UAA3B,EAAsC,EAAtC,CAArB;;CACA,UAAIH,KAAK,CAACC,MAAN,CAAaC,KAAb,KAAuB,EAA3B,EACA;CACCF,QAAAA,KAAK,CAACC,MAAN,CAAaC,KAAb,GAAqB,CAArB;CACA;;CACD,YAAMG,UAAU,GAAGL,KAAK,CAACC,MAAN,CAAaC,KAAb,CAAmBI,MAAnB,CAA0B,CAAC,CAA3B,CAAnB;;CACA,UAAID,UAAU,KAAK,GAAnB,EACA;CACCL,QAAAA,KAAK,CAACC,MAAN,CAAaC,KAAb,GAAqBF,KAAK,CAACC,MAAN,CAAaC,KAAb,CAAmBC,OAAnB,CAA2B,GAA3B,EAAgC,GAAhC,CAArB;CACA;;CAED,UAAIgC,QAAQ,GAAGzK,cAAI,CAACyD,QAAL,CAAc6E,KAAK,CAACC,MAAN,CAAaC,KAA3B,CAAf;;CACA,UAAIG,UAAU,KAAK,GAAf,IAAsBA,UAAU,KAAK,GAAzC,EACA;CACC;CACA;;CAED,UAAI8B,QAAQ,GAAG,CAAf,EACA;CACCA,QAAAA,QAAQ,IAAI,CAAC,CAAb;CACA;;CAED,WAAKpB,KAAL,CAAW,eAAX,EAA4BoB,QAA5B;CACA;;CA/BF,GAlBD;CAmDCC,EAAAA,QAAQ,EACR;CACCC,IAAAA,QAAQ,GACR;CACC,aAAOvG,UAAG,CAACwG,kBAAJ,CAAuB,UAAvB,CAAP;CACA,KAJF;;CAKCC,IAAAA,cAAc,GACd;CACC,aAAO,KAAK9C,OAAL,CAAa8C,cAAb,IAA+B,EAAtC;CACA;;CARF,GApDD;CA8DC;CACAP,EAAAA,QAAQ,EAAG;;;;;;;;;;;CA/DZ,CADA;;ACCAlG,WAAG,CAACmD,SAAJ,CAAcpC,MAAM,CAACW,qBAArB,EACA;CACC;CACD;CACA;CACA;CAEC0B,EAAAA,KAAK,EAAE;CACNG,IAAAA,QAAQ,EAAEC,OADJ;CAENG,IAAAA,OAAO,EAAElE,MAFH;CAGNlE,IAAAA,QAAQ,EAAE8H,MAHJ;CAINvG,IAAAA,YAAY,EAAEuG,MAJR;CAKNzG,IAAAA,YAAY,EAAEyG;CALR,GANR;;CAaCO,EAAAA,OAAO,GACP;CACC,SAAK8C,eAAL,GAAuB5C,iBAAO,CAACC,QAAR,CAAiB,KAAK4C,gBAAtB,EAAwC,GAAxC,EAA6C,IAA7C,CAAvB;CACA,SAAKF,cAAL,GAAsB,KAAK9C,OAAL,CAAa8C,cAAnC;CACA,GAjBF;;CAkBCxC,EAAAA,OAAO,EACP;CACC2C,IAAAA,YAAY,CAAC1C,KAAD,EAAQ6B,MAAR,EACZ;CAAA;;CACC,UAAI,CAAC,KAAKxC,QAAV,EACA;CACC;CACA;;CAED,YAAMsD,IAAI,GAAIjL,cAAI,CAACyD,QAAL,CAAc0G,MAAd,uCAAcA,MAAM,CAAEpC,OAAtB,qBAAc,gBAAiBkD,IAA/B,MAAyC9J,sCAAY,CAAC+J,QAAvD,GAAoE/J,sCAAY,CAAC+J,QAAjF,GAA4F/J,sCAAY,CAACC,UAAtH;CACA,WAAKiI,KAAL,CAAW,oBAAX,EAAiC4B,IAAjC;;CAEA,UAAI,KAAKnB,SAAT,EACA;CACC,aAAKA,SAAL,CAAeO,KAAf;CACA;CACD,KAfF;;CAgBCU,IAAAA,gBAAgB,CAACzC,KAAD,EAChB;CACC,YAAM6C,aAAa,GAAGnL,cAAI,CAACyD,QAAL,CAAc6E,KAAK,CAACC,MAAN,CAAaC,KAA3B,KAAqC,CAA3D;;CACA,UAAI2C,aAAa,KAAKnL,cAAI,CAACyD,QAAL,CAAc,KAAK9D,QAAnB,CAAlB,IAAkD,CAAC,KAAKgI,QAA5D,EACA;CACC;CACA;;CAED,WAAK0B,KAAL,CAAW,gBAAX,EAA6B8B,aAA7B;CACA,KAzBF;;CA0BC7B,IAAAA,aAAa,CAACf,MAAD,EACb;CACC,UAAI,CAAC,KAAKZ,QAAN,IAAkB,CAACzD,cAAI,CAACqF,OAAL,CAAa,KAAKxB,OAAL,CAAaqD,oBAA1B,CAAvB,EACA;CACC;CACA;;CAED,YAAM3B,SAAS,GAAG,EAAlB;;CACA,UAAI,KAAK1B,OAAL,CAAaqD,oBAAb,CAAkCC,QAAlC,CAA2ClK,sCAAY,CAACC,UAAxD,CAAJ,EACA;CACCqI,QAAAA,SAAS,CAAC1F,IAAV,CAAe;CACd2F,UAAAA,IAAI,EAAE,GADQ;CAEdE,UAAAA,OAAO,EAAE,KAAKoB,YAFA;CAGdC,UAAAA,IAAI,EAAE9J,sCAAY,CAACC;CAHL,SAAf;CAKA;;CAED,UAAI,KAAK2G,OAAL,CAAaqD,oBAAb,CAAkCC,QAAlC,CAA2ClK,sCAAY,CAAC+J,QAAxD,CAAJ,EACA;CACCzB,QAAAA,SAAS,CAAC1F,IAAV,CAAe;CACd2F,UAAAA,IAAI,EAAE,KAAKmB,cADG;CAEdjB,UAAAA,OAAO,EAAE,KAAKoB,YAFA;CAGdC,UAAAA,IAAI,EAAE9J,sCAAY,CAAC+J;CAHL,SAAf;CAKA;;CAED,UAAIzB,SAAS,CAAC1G,MAAV,GAAmB,CAAvB,EACA;CACC,aAAK+G,SAAL,GAAiB,IAAIC,eAAJ,CAAS;CACzBC,UAAAA,WAAW,EAAEzB,MADY;CAEzB0B,UAAAA,KAAK,EAAER;CAFkB,SAAT,CAAjB;CAKA,aAAKK,SAAL,CAAeI,IAAf;CACA;CACD;;CA7DF,GAnBD;CAkFCQ,EAAAA,QAAQ,EAAE;CACTY,IAAAA,qBAAqB,GACrB;CACC,UAAItL,cAAI,CAACyD,QAAL,CAAc,KAAKvC,YAAnB,MAAqCC,sCAAY,CAACC,UAAtD,EACA;CACC,eAAOpB,cAAI,CAACyD,QAAL,CAAc,KAAKzC,YAAnB,CAAP;CACA;;CACD,aAAOhB,cAAI,CAACyD,QAAL,CAAc,KAAK9D,QAAnB,CAAP;CACA,KARQ;;CAST4L,IAAAA,iBAAiB,GACjB;CACC,aAAOvL,cAAI,CAACyD,QAAL,CAAc,KAAKvC,YAAnB,MAAqCC,sCAAY,CAACC,UAAlD,GAA+D,GAA/D,GAAqE,KAAKyJ,cAAjF;CACA;;CAZQ,GAlFX;CAgGC;CACAP,EAAAA,QAAQ,EAAG;;;;;;;;;;;;;;;;CAjGZ,CADA;;ACDAlG,WAAG,CAACmD,SAAJ,CAAcpC,MAAM,CAACY,gBAArB,EACA;CACC;CACD;CACA;CAECyB,EAAAA,KAAK,EAAE;CACNgE,IAAAA,KAAK,EAAE/D,MADD;CAENE,IAAAA,QAAQ,EAAEC,OAFJ;CAGNG,IAAAA,OAAO,EAAElE;CAHH,GALR;;CAUC4H,EAAAA,IAAI,GACJ;CACC,WAAO;CACNC,MAAAA,QAAQ,EAAE,KAAKC,UAAL,GAAkB,KAAKH,KAAvB,KAAiC;CADrC,KAAP;CAGA,GAfF;;CAgBCnD,EAAAA,OAAO,EACP;CACCuD,IAAAA,aAAa,CAACtD,KAAD,EAAQ6B,MAAR,EACb;CAAA;;CACC,YAAMuB,QAAQ,GAAG1L,cAAI,CAACyD,QAAL,CAAc0G,MAAd,uCAAcA,MAAM,CAAEpC,OAAtB,qBAAc,gBAAiB9E,IAA/B,CAAjB;;CACA,UAAIyI,QAAQ,KAAK1L,cAAI,CAACyD,QAAL,CAAc,KAAKiI,QAAnB,CAAb,IAA6C,CAAC,KAAK/D,QAAvD,EACA;CACC;CACA;;CAED,WAAK0B,KAAL,CAAW,WAAX,EAAwB;CACvBqC,QAAAA,QADuB;CAEvBF,QAAAA,KAAK,EAAErB,MAAF,wCAAEA,MAAM,CAAEpC,OAAV,qBAAE,iBAAiB8D;CAFD,OAAxB;;CAKA,UAAI,KAAK/B,SAAT,EACA;CACC,aAAKA,SAAL,CAAeO,KAAf;CACA;CACD,KAlBF;;CAmBCsB,IAAAA,UAAU,GACV;CACC,aAAOzH,cAAI,CAACqF,OAAL,CAAa,KAAKxB,OAAL,CAAa+D,OAA1B,IAAqC,KAAK/D,OAAL,CAAa+D,OAAlD,GAA4D,EAAnE;CACA,KAtBF;;CAuBCxC,IAAAA,aAAa,CAACf,MAAD,EACb;CACC,UAAI,CAAC,KAAKZ,QAAN,IAAkB,CAACzD,cAAI,CAACqF,OAAL,CAAa,KAAKxB,OAAL,CAAa+D,OAA1B,CAAvB,EACA;CACC;CACA;;CACD,YAAMrC,SAAS,GAAG,EAAlB;CACA,WAAK1B,OAAL,CAAa+D,OAAb,CAAqB9I,OAArB,CAA6B,CAACC,IAAD,EAAO4I,EAAP,KAAc;CAC1CpC,QAAAA,SAAS,CAAC1F,IAAV,CAAe;CACd8H,UAAAA,EADc;CAEdnC,UAAAA,IAAI,EAAEzG,IAAI,GAAG,GAFC;CAGdA,UAAAA,IAAI,EAAEA,IAHQ;CAId2G,UAAAA,OAAO,EAAE,KAAKgC;CAJA,SAAf;CAMA,OAPD;;CAUA,UAAInC,SAAS,CAAC1G,MAAV,GAAmB,CAAvB,EACA;CACC,aAAK+G,SAAL,GAAiB,IAAIC,eAAJ,CAAS;CACzBC,UAAAA,WAAW,EAAEzB,MADY;CAEzB0B,UAAAA,KAAK,EAAER;CAFkB,SAAT,CAAjB;CAKA,aAAKK,SAAL,CAAeI,IAAf;CACA;CACD;;CAjDF,GAjBD;CAoEC;CACAI,EAAAA,QAAQ,EAAG;;;;;;CArEZ,CADA;;ACGAlG,WAAG,CAACmD,SAAJ,CAAcpC,MAAM,CAACO,2BAArB,EACA;CACC;CACD;CACA;CAEC8B,EAAAA,KAAK,EAAE;CACNG,IAAAA,QAAQ,EAAEC,OADJ;CAENmE,IAAAA,YAAY,EAAEtE,MAFR;CAGNM,IAAAA,OAAO,EAAElE,MAHH;CAINmI,IAAAA,UAAU,EAAEnI,MAJN;CAKNoI,IAAAA,KAAK,EAAEpI;CALD,GALR;;CAYC4H,EAAAA,IAAI,GACJ;CACC,WAAO;CACNZ,MAAAA,cAAc,EAAE,IADV;CAENqB,MAAAA,eAAe,EAAE,IAFX;CAGNC,MAAAA,cAAc,EAAE,IAHV;CAINhM,MAAAA,UAAU,EAAE,KAAK6L,UAAL,CAAgB7L;CAJtB,KAAP;CAMA,GApBF;;CAqBC6H,EAAAA,OAAO,GACP;CACCoE,IAAAA,6BAAY,CAACC,SAAb,CAAuB,qCAAvB,EAA8D,KAAKC,eAAL,CAAqBC,IAArB,CAA0B,IAA1B,CAA9D;CACAH,IAAAA,6BAAY,CAACC,SAAb,CAAuB,oCAAvB,EAA6D,KAAKG,cAAL,CAAoBD,IAApB,CAAyB,IAAzB,CAA7D;CACA,GAzBF;;CA0BCE,EAAAA,OAAO,GACP;CACC,SAAKP,eAAL,GAAuB,IAAIQ,uCAAJ,CAAoB,KAAKvM,UAAzB,EAAqC,KAAKwM,qBAAL,EAArC,CAAvB;CACA,SAAKT,eAAL,CAAqBU,QAArB,CAA8B,KAAKC,KAAL,CAAWC,eAAzC;CACA,GA9BF;;CA+BCzE,EAAAA,OAAO,EACP;CACCsE,IAAAA,qBAAqB,GACrB;CACC,YAAMvM,MAAM,GAAG;CACd2M,QAAAA,IAAI,EAAE,KAAKC,QAAL,CAAc,MAAd,KAAyB;CADjB,OAAf;;CAIA,UAAI,CAAC9I,cAAI,CAACC,KAAL,CAAW,KAAK6I,QAAL,CAAc,WAAd,CAAX,CAAL,EACA;CACC5M,QAAAA,MAAM,CAACkG,KAAP,GAAe,KAAK0G,QAAL,CAAc,WAAd,CAAf;CACA5M,QAAAA,MAAM,CAAC6M,QAAP,GAAkB,KAAKlF,OAAL,CAAazI,QAA/B;CACA;;CAED,YAAM4N,eAAe,GAAG;CACvBC,QAAAA,QAAQ,EAAE,KAAKpF,OAAL,CAAaoF,QADA;CAEvBC,QAAAA,WAAW,EAAE,KAAKrF,OAAL,CAAaqF,WAFH;CAGvB9N,QAAAA,QAAQ,EAAE,KAAKyI,OAAL,CAAazI,QAHA;CAIvB2C,QAAAA,OAAO,EAAE,KAAKoL,iBAAL,EAJc;CAKvBC,QAAAA,WAAW,EAAE,EALU;CAMvBC,QAAAA,eAAe,EAAE,EANM;CAOvBC,QAAAA,SAAS,EAAE,EAPY;CAQvBvB,QAAAA,KAAK,EAAE,KAAKA,KARW;CASvB9G,QAAAA,MAAM,EAAE;CACPsI,UAAAA,WAAW,EAAE,KAAKzB,UAAL,CAAgB3J,SAAhB,IAA6B,EADnC;CAEPqL,UAAAA,aAAa,EAAE,IAFR;CAGPC,UAAAA,wBAAwB,EAAE,IAHnB;CAIPC,UAAAA,0BAA0B,EAAE,IAJrB;CAKPC,UAAAA,0BAA0B,EAAE,KAAK9F,OAAL,CAAa+F,uBAAb,IAAwC,KAAKC,eAAL,CAAqB7H,aAAa,CAACC,gBAAnC,CAL7D;CAMP6H,UAAAA,yBAAyB,EAAE,KAAKD,eAAL,CAAqB7H,aAAa,CAACE,YAAnC,CANpB;CAOP6H,UAAAA,MAAM,EAAE,KAAK9N,UAPN;CAQP+N,UAAAA,oBAAoB,EAAE,KAAKvG,QARpB;CASPwG,UAAAA,qBAAqB,EAAE,KAAKpG,OAAL,CAAaqG,wBAT7B;CAUPC,UAAAA,mBAAmB,EAAE,KAAKtG,OAAL,CAAauG;CAV3B,SATe;CAqBvBC,QAAAA,IAAI,EAAE,KAAK5G,QAAL,GAAgB+E,uCAAe,CAAC8B,SAAhC,GAA4C9B,uCAAe,CAAC+B,SArB3C;CAsBvBrO,QAAAA;CAtBuB,OAAxB;CAyBA,YAAMsO,SAAS,GAAG,KAAK1C,UAAL,CAAgB9J,KAAlC;;CACA,UAAIgC,cAAI,CAACyK,QAAL,CAAcD,SAAd,CAAJ,EACA;CACCxB,QAAAA,eAAe,CAAC0B,QAAhB,GAA2BF,SAAS,CAACG,OAArC;CACA3B,QAAAA,eAAe,CAACM,SAAhB,GAA4BkB,SAAS,CAACI,KAAtC;CACA5B,QAAAA,eAAe,CAACI,WAAhB,GAA8BoB,SAAS,CAAC7C,EAAxC;CACAqB,QAAAA,eAAe,CAACK,eAAhB,GAAkCmB,SAAS,CAACK,MAA5C;CACA;;CAED,aAAO7B,eAAP;CACA,KAhDF;;CAiDC8B,IAAAA,eAAe,GACf;CACC,aAAO,KAAKjH,OAAL,CAAakH,mBAAb,IAAoC,KAAKjD,UAAL,CAAgBkD,aAA3D;CACA,KApDF;;CAqDCnB,IAAAA,eAAe,CAACvN,IAAD,EACf;CACC,aAAO0D,cAAI,CAACqF,OAAL,CAAa,KAAKxB,OAAL,CAAaoH,cAA1B,KAA6C,KAAKpH,OAAL,CAAaoH,cAAb,CAA4B9D,QAA5B,CAAqC7K,IAArC,CAApD;CACA,KAxDF;;CAyDC6M,IAAAA,iBAAiB,GACjB;CACC,UAAIpL,OAAO,GAAG,KAAK+J,UAAL,CAAgB/J,OAAhB,IAA2B,EAAzC;;CACA,UAAIiC,cAAI,CAACY,cAAL,CAAoB7C,OAApB,CAAJ,EACA;CACCA,QAAAA,OAAO,GAAGmN,IAAI,CAACC,KAAL,CAAWpN,OAAX,CAAV;CACA;;CAED,aAAOA,OAAP;CACA,KAlEF;;CAmEC+K,IAAAA,QAAQ,CAACjM,IAAD,EAAOuO,YAAY,GAAG,IAAtB,EACR;CACC,aAAO,KAAKtD,UAAL,CAAgB5L,MAAhB,CAAuBW,IAAvB,KAAgCuO,YAAvC;CACA,KAtEF;;CAuEChD,IAAAA,eAAe,CAAChE,KAAD,EACf;CACC,YAAMmD,IAAI,GAAGnD,KAAK,CAACiH,OAAN,EAAb;;CACA,UAAIrL,cAAI,CAACY,cAAL,CAAoB2G,IAAI,CAACtL,UAAzB,KAAwCsL,IAAI,CAACtL,UAAL,KAAoB,KAAK+L,eAAL,CAAqBsD,KAArB,EAAhE,EACA;CACC,cAAM5O,SAAS,GAAG6K,IAAI,CAACrL,MAAL,CAAYqP,UAA9B;CAEA,cAAMrP,MAAM,GAAG;CACdqP,UAAAA,UAAU,EAAE7O,SADE;CAEd8O,UAAAA,MAAM,EAAE,SAFM;CAGd3C,UAAAA,IAAI,EAAEtB,IAAI,CAACrL,MAAL,CAAY2M,IAHJ;CAId4C,UAAAA,EAAE,EAAElE,IAAI,CAACrL,MAAL,CAAYuP,EAJF;CAKdC,UAAAA,UAAU,EAAEnE,IAAI,CAACrL,MAAL,CAAYwP,UALV;CAMdC,UAAAA,MAAM,EAAEpE,IAAI,CAACrL,MAAL,CAAYyP,MANN;CAOdC,UAAAA,UAAU,EAAErE,IAAI,CAACrL,MAAL,CAAY0P,UAPV;CAQdzB,UAAAA,mBAAmB,EAAE,KAAKtG,OAAL,CAAauG,iBARpB;CASdyB,UAAAA,UAAU,EAAG7L,cAAI,CAACC,KAAL,CAAWsH,IAAI,CAACrL,MAAL,CAAYkG,KAAvB,KAAiCmF,IAAI,CAACrL,MAAL,CAAY2P,UAAZ,KAA2B,GAA7D,GAAoE,GAApE,GAA0E,GATxE;CAUdC,UAAAA,YAAY,EAAEvE,IAAI,CAACrL,MAAL,CAAY4P,YAVZ;CAWdC,UAAAA,YAAY,EAAExE,IAAI,CAACrL,MAAL,CAAY6P,YAXZ;CAYdC,UAAAA,MAAM,EAAEzE,IAAI,CAAC0E;CAZC,SAAf;CAeA,aAAK9G,KAAL,CAAW,iBAAX,EAA8BjJ,MAA9B;CACA;CACD,KA/FF;;CAgGCoM,IAAAA,cAAc,CAAClE,KAAD,EACd;CACC,YAAMmD,IAAI,GAAGnD,KAAK,CAACiH,OAAN,EAAb;;CAEA,UAAIrL,cAAI,CAACY,cAAL,CAAoB2G,IAAI,CAACtL,UAAzB,KAAwCsL,IAAI,CAACtL,UAAL,KAAoB,KAAK+L,eAAL,CAAqBsD,KAArB,EAAhE,EACA;CACC,aAAKnG,KAAL,CAAW,gBAAX;CACA;CACD;;CAxGF,GAhCD;CA0IC;CACAiB,EAAAA,QAAQ,EAAG;;;CA3IZ,CADA;;;;;ACFAlG,WAAG,CAACmD,SAAJ,CAAcpC,MAAM,CAACa,kBAArB,EACA;CACC;CACD;CACA;CAECwB,EAAAA,KAAK,EAAE;CACN5F,IAAAA,MAAM,EAAE,CAACwO,KAAD,EAAQ1I,MAAR,CADF;CAENK,IAAAA,OAAO,EAAElE,MAFH;CAGN8D,IAAAA,QAAQ,EAAEC,OAHJ;CAINE,IAAAA,QAAQ,EAAEF,OAJJ;CAKNzH,IAAAA,UAAU,EAAEuH;CALN,GALR;;CAYC+D,EAAAA,IAAI,GACJ;CACC,WAAO;CACN4E,MAAAA,KAAK,EAAE,IAAIC,eAAK,CAACC,WAAV;CADD,KAAP;CAGA,GAjBF;;CAkBCvI,EAAAA,OAAO,GACP;CACC,SAAKwI,QAAL,GAAgB,IAAIC,6BAAJ,CAAgB;CAC/B5E,MAAAA,EAAE,EAAE,KAAK1L,UADsB;CAE/BuQ,MAAAA,aAAa,EAAE;CACd7E,QAAAA,EAAE,EAAE,KAAK1L,UADK;CAEdwQ,QAAAA,OAAO,EAAE,gBAFK;CAGd;CACAC,QAAAA,gBAAgB,EAAE,KAAKC,oBAAL,EAJJ;CAKdC,QAAAA,MAAM,EAAE;CACP,2BAAiB,KAAKC,aAAL,CAAmBxE,IAAnB,CAAwB,IAAxB,CADV;CAEP,6BAAmB,KAAKwE,aAAL,CAAmBxE,IAAnB,CAAwB,IAAxB,CAFZ;CAGP,sCAA4B,KAAKyE,WAAL,CAAiBzE,IAAjB,CAAsB,IAAtB;CAHrB,SALM;CAUd0E,QAAAA,gBAAgB,EAAE;CACjBC,UAAAA,IAAI,EAAE,IADW;CAEjBC,UAAAA,WAAW,EAAE;CACZC,YAAAA,KAAK,EAAEC,aAAG,CAACC,OAAN,cAAc,GAAd,CAA6D,EAA7D,GAAgB,4CAAhB,CADO;CAEZC,YAAAA,QAAQ,EAAEF,aAAG,CAACC,OAAN,gBAAc,GAAd,CAAgE,EAAhE,GAAgB,+CAAhB,CAFI;CAGZE,YAAAA,KAAK,EAAE;CAHK;CAFI,SAVJ;CAkBdC,QAAAA,aAAa,EAAE;CACdC,UAAAA,eAAe,EAAE;CADH,SAlBD;CAqBdC,QAAAA,QAAQ,EAAE,CACT;CACC9F,UAAAA,EAAE,EAAE,OADL;CAEC9D,UAAAA,OAAO,EAAE;CACRoF,YAAAA,QAAQ,EAAE,KAAKpF,OAAL,CAAaoF;CADf,WAFV;CAKCyE,UAAAA,aAAa,EAAE,IALhB;CAMCC,UAAAA,WAAW,EAAE;CANd,SADS;CArBI;CAFgB,KAAhB,CAAhB;CAmCA,GAvDF;;CAwDCpF,EAAAA,OAAO,GACP;CACC,SAAK+D,QAAL,CAAc5D,QAAd,CAAuB,KAAKC,KAAL,CAAWiF,oBAAlC;CACA,GA3DF;;CA4DCzJ,EAAAA,OAAO,EACP;CACCwI,IAAAA,oBAAoB,GACpB;CACC,UAAI,CAAC3M,cAAI,CAACqF,OAAL,CAAa,KAAK3H,MAAlB,CAAD,IAA8B,KAAKA,MAAL,CAAYmB,MAAZ,KAAuB,CAAzD,EACA;CACC,eAAO,EAAP;CACA;;CAED,aAAO,KAAKnB,MAAL,CAAYmQ,GAAZ,CAAiB9O,IAAD,IAAU;CAChC,eAAO,CAAC,OAAD,EAAUA,IAAV,CAAP;CACA,OAFM,CAAP;CAGA,KAXF;;CAYC8N,IAAAA,aAAa,CAACzI,KAAD,EACb;CACC,YAAM2B,KAAK,GAAG3B,KAAK,CAAC0J,SAAN,GAAkBC,gBAAlB,EAAd;CACA,YAAMC,YAAY,GAAG,EAArB;;CACA,UAAIhO,cAAI,CAACqF,OAAL,CAAaU,KAAb,CAAJ,EACA;CACCA,QAAAA,KAAK,CAACjH,OAAN,CAAeC,IAAD,IAAU;CACvBiP,UAAAA,YAAY,CAACnO,IAAb,CAAkBd,IAAI,CAACuM,KAAL,EAAlB;CACA,SAFD;CAGA;;CAED,WAAKnG,KAAL,CAAW,aAAX,EAA0B6I,YAA1B;CACA,KAxBF;;CAyBClB,IAAAA,WAAW,CAAC1I,KAAD,EACX;CACC,YAAM;CAAC6J,QAAAA;CAAD,UAAgB7J,KAAK,CAACiH,OAAN,EAAtB;CACA,YAAMpC,QAAQ,GAAG,KAAKpF,OAAL,CAAaoF,QAA9B;CAEA,aAAO,IAAIiF,OAAJ,CACN,CAACC,OAAD,EAAUC,MAAV,KAAqB;CACpB,cAAMC,MAAc,GAAGjK,KAAK,CAAC0J,SAAN,EAAvB;CACA,cAAM5R,MAAM,GAAG;CACdW,UAAAA,IAAI,EAAEoR,WAAW,CAACK,QAAZ,EADQ;CAEdrF,UAAAA;CAFc,SAAf;CAKAoF,QAAAA,MAAM,CAACE,UAAP;CACAC,QAAAA,cAAI,CAACC,SAAL,CACC,iCADD,EAEC;CACClH,UAAAA,IAAI,EAAE;CACLrL,YAAAA;CADK;CADP,SAFD,EAQEwS,IARF,CAQOC,QAAQ,IAAI;CACjBN,UAAAA,MAAM,CAACO,UAAP;CACA,gBAAM7P,IAAI,GAAGsP,MAAM,CAACjP,OAAP,CAAe;CAC3BuI,YAAAA,EAAE,EAAEgH,QAAQ,CAACpH,IAAT,CAAcI,EADS;CAE3BkH,YAAAA,QAAQ,EAAE,OAFiB;CAG3B3B,YAAAA,KAAK,EAAEe,WAAW,CAACK,QAAZ,EAHoB;CAI3BQ,YAAAA,IAAI,EAAET,MAAM,CAACU,YAAP,GAAsBzD,KAAtB;CAJqB,WAAf,CAAb;;CAOA,cAAIvM,IAAJ,EACA;CACCA,YAAAA,IAAI,CAACiQ,MAAL;CACA;;CAEDX,UAAAA,MAAM,CAACY,IAAP;CACAd,UAAAA,OAAO;CACP,SAxBF,EAyBEe,KAzBF,CAyBQ,MAAMd,MAAM,EAzBpB;CA0BA,OAnCK,CAAP;CAoCA;;CAlEF,GA7DD;CAiIC5H,EAAAA,QAAQ,EACR;CACCC,IAAAA,QAAQ,GACR;CACC,aAAOvG,UAAG,CAACwG,kBAAJ,CAAuB,UAAvB,CAAP;CACA;;CAJF,GAlID;CAwIC;CACAN,EAAAA,QAAQ,EAAG;;;;;CAzIZ,CADA;;ACDAlG,WAAG,CAACmD,SAAJ,CAAcpC,MAAM,CAACS,sBAArB,EACA;CACC;CACD;CACA;CAEC4B,EAAAA,KAAK,EAAE;CACN9H,IAAAA,GAAG,EAAE+H,MADC;CAENE,IAAAA,QAAQ,EAAEC,OAFJ;CAGNG,IAAAA,OAAO,EAAElE;CAHH,GALR;;CAUCmE,EAAAA,OAAO,GACP;CACC,SAAKqL,iBAAL,GAAyBnL,iBAAO,CAACC,QAAR,CAAiB,KAAKmL,UAAtB,EAAkC,GAAlC,EAAuC,IAAvC,CAAzB;CACA,GAbF;;CAcCjL,EAAAA,OAAO,EACP;CACCiL,IAAAA,UAAU,CAAChL,KAAD,EACV;CACC,UAAI,CAAC,KAAKX,QAAV,EACA;CACC;CACA;;CAEDW,MAAAA,KAAK,CAACC,MAAN,CAAaC,KAAb,GAAqBF,KAAK,CAACC,MAAN,CAAaC,KAAb,CAAmBC,OAAnB,CAA2B,UAA3B,EAAsC,EAAtC,CAArB;;CACA,UAAIH,KAAK,CAACC,MAAN,CAAaC,KAAb,KAAuB,EAA3B,EACA;CACCF,QAAAA,KAAK,CAACC,MAAN,CAAaC,KAAb,GAAqB,CAArB;CACA;;CACD,UAAIG,UAAU,GAAGL,KAAK,CAACC,MAAN,CAAaC,KAAb,CAAmBI,MAAnB,CAA0B,CAAC,CAA3B,CAAjB;;CACA,UAAID,UAAU,KAAK,GAAnB,EACA;CACCL,QAAAA,KAAK,CAACC,MAAN,CAAaC,KAAb,GAAqBF,KAAK,CAACC,MAAN,CAAaC,KAAb,CAAmBC,OAAnB,CAA2B,GAA3B,EAAgC,GAAhC,CAArB;CACA;;CACD,UAAI8K,MAAM,GAAGvT,cAAI,CAACyD,QAAL,CAAc6E,KAAK,CAACC,MAAN,CAAaC,KAA3B,CAAb;;CACA,UAAIG,UAAU,KAAK,GAAf,IAAsBA,UAAU,KAAK,GAAzC,EACA;CACC;CACA;;CAED,UAAI4K,MAAM,GAAG,CAAb,EACA;CACCA,QAAAA,MAAM,IAAI,CAAC,CAAX;CACA;;CAED,WAAKlK,KAAL,CAAW,aAAX,EAA0BkK,MAA1B;CACA;;CA9BF,GAfD;CA+CC7I,EAAAA,QAAQ,EACR;CACCC,IAAAA,QAAQ,GACR;CACC,aAAOvG,UAAG,CAACwG,kBAAJ,CAAuB,UAAvB,CAAP;CACA,KAJF;;CAKCC,IAAAA,cAAc,GACd;CACC,aAAO,KAAK9C,OAAL,CAAa8C,cAAb,IAA+B,EAAtC;CACA;;CARF,GAhDD;CA0DC;CACAP,EAAAA,QAAQ,EAAG;;;;;;;;;;;;;;;CA3DZ,CADA;;ACmBAlG,WAAG,CAACmD,SAAJ,CAAcpC,MAAM,CAACM,eAArB,EACC;CACC;CACF;CACA;CACA;CACA;CACA;CACA;CAEE+B,EAAAA,KAAK,EAAE;CACNwE,IAAAA,UAAU,EAAEnI,MADN;CAEN2P,IAAAA,eAAe,EAAE/L,MAFX;CAGNsE,IAAAA,YAAY,EAAEtE,MAHR;CAINgM,IAAAA,UAAU,EAAEhM,MAJN;CAKNM,IAAAA,OAAO,EAAElE,MALH;CAMN0K,IAAAA,IAAI,EAAE7G;CANA,GATR;;CAkBC+D,EAAAA,IAAI,GACJ;CACC,WAAO;CACNQ,MAAAA,KAAK,EAAE,IADD;CAENpB,MAAAA,cAAc,EAAE,IAFV;CAGNqB,MAAAA,eAAe,EAAE,IAHX;CAINC,MAAAA,cAAc,EAAE,IAJV;CAKNhM,MAAAA,UAAU,EAAE,KAAK6L,UAAL,CAAgB7L,UALtB;CAMNuT,MAAAA,cAAc,EAAE;CACf3S,QAAAA,IAAI,EAAE,EADS;CAEf8K,QAAAA,EAAE,EAAE;CAFW,OANV;CAUN8H,MAAAA,MAAM,EAAE;CACPzH,QAAAA,eAAe,EAAEhG,aAAa,CAACC,gBADxB;CAEPrF,QAAAA,QAAQ,EAAEoF,aAAa,CAACG,QAFjB;CAGP1F,QAAAA,KAAK,EAAEuF,aAAa,CAACI,KAHd;CAIPzG,QAAAA,MAAM,EAAEqG,aAAa,CAACK,MAJf;CAKP5G,QAAAA,QAAQ,EAAEuG,aAAa,CAACM,QALjB;CAMPnF,QAAAA,GAAG,EAAE6E,aAAa,CAACO,GANZ;CAOPmN,QAAAA,KAAK,EAAE1N,aAAa,CAACQ,KAPd;CAQPmN,QAAAA,OAAO,EAAE3N,aAAa,CAACS;CARhB,OAVF;CAoBNmN,MAAAA,UAAU,EAAE;CACXC,QAAAA,oBAAoB,EAAEnN,aAAa,CAACC,sBADzB;CAEXmN,QAAAA,UAAU,EAAEpN,aAAa,CAACE,WAFf;CAGXmN,QAAAA,aAAa,EAAErN,aAAa,CAACG,cAHlB;CAIXmN,QAAAA,UAAU,EAAEtN,aAAa,CAACI,WAJf;CAKXmN,QAAAA,UAAU,EAAEvN,aAAa,CAACK;CALf;CApBN,KAAP;CA4BA,GAhDF;;CAiDCe,EAAAA,OAAO,GACP;CACC,SAAK6C,cAAL,GAAsB,KAAK9C,OAAL,CAAa8C,cAAnC;CAEA,SAAKoB,KAAL,GAAa,KAAKmI,SAAL,EAAb;;CACA,QAAIlQ,cAAI,CAACqF,OAAL,CAAa,KAAKxB,OAAL,CAAayB,QAA1B,CAAJ,EACA;CACC,WAAKzB,OAAL,CAAayB,QAAb,CAAsBuI,GAAtB,CAA2B8B,OAAD,IAAa;CACtC,YAAIA,OAAO,CAAC,YAAD,CAAP,KAA0B,GAA9B,EACA;CACC,eAAKH,cAAL,CAAoB3S,IAApB,GAA2B8S,OAAO,CAAClK,MAAnC;CACA,eAAK+J,cAAL,CAAoBlT,IAApB,GAA2BqT,OAAO,CAACzJ,IAAnC;;CAEA,cAAI,CAAC,KAAK4B,UAAL,CAAgB5L,MAAhB,CAAuBmB,WAAxB,IAAuC,CAAC,KAAKyK,UAAL,CAAgB5L,MAAhB,CAAuBkB,WAAnE,EACA;CACC,iBAAK+S,mBAAL,CAAyB;CACxB/S,cAAAA,WAAW,EAAE,KAAKoS,cAAL,CAAoBlT,IADT;CAExBe,cAAAA,WAAW,EAAE,KAAKmS,cAAL,CAAoB3S;CAFT,aAAzB;CAIA;CACD;CACD,OAdD;CAeA;CACD,GAxEF;;CAyECsH,EAAAA,OAAO,EACN;CACCiM,IAAAA,kBAAkB,GAClB;CAAA;;CACC,YAAMC,aAAa,GAAG,KAAKvI,UAAL,CAAgB5L,MAAtC;CACA,YAAMoU,YAAY,GAAGxU,cAAI,CAACyD,QAAL,CAAc8Q,aAAa,CAAC5T,KAA5B,CAArB;CACA,UAAIC,SAAS,GAAG2T,aAAa,CAAC3T,SAAd,GAA0B2T,aAAa,CAAC3T,SAAxC,GAAoD2T,aAAa,CAAC5T,KAAlF;;CACA,UAAI,CAACuD,cAAI,CAACC,KAAL,CAAWvD,SAAX,CAAL,EACA;CACCA,QAAAA,SAAS,GAAGZ,cAAI,CAACyD,QAAL,CAAc7C,SAAd,CAAZ;CACA;;CACD,aAAO;CACNmM,QAAAA,IAAI,EAAE,+BAAKf,UAAL,CAAgB5L,MAAhB,2CAAwBW,IAAxB,KAAgC,EADhC;CAEN2O,QAAAA,MAAM,EAAE,gCAAK1D,UAAL,CAAgB5L,MAAhB,4CAAwBK,MAAxB,KAAkC,EAFpC;CAGNqP,QAAAA,UAAU,EAAE,gCAAK9D,UAAL,CAAgB5L,MAAhB,4CAAwBuB,UAAxB,KAAsC,EAH5C;CAIN+E,QAAAA,KAAK,EAAE,gCAAKsF,UAAL,CAAgB5L,MAAhB,4CAAwBwT,KAAxB,KAAiC,EAJlC;CAKNhE,QAAAA,UAAU,4BAAE,KAAK5D,UAAL,CAAgB5L,MAAlB,qBAAE,uBAAwBE,SAL9B;CAMNqP,QAAAA,EAAE,EAAE,gCAAK3D,UAAL,CAAgB5L,MAAhB,4CAAwBG,KAAxB,gCAAiC,KAAKyL,UAAL,CAAgB5L,MAAjD,qBAAiC,uBAAwBE,SAAzD,CANE;CAONuP,QAAAA,MAAM,4BAAE,KAAK7D,UAAL,CAAgB5L,MAAlB,qBAAE,uBAAwBG,KAP1B;CAQN8F,QAAAA,QAAQ,EAAErG,cAAI,CAACyD,QAAL,CAAc8Q,aAAa,CAACzT,QAA5B,CARJ;CASN2O,QAAAA,UAAU,EAAE7O,SATN;CAUN0F,QAAAA,KAAK,EAAEkO,YAVD;CAWNC,QAAAA,WAAW,EAAE7T,SAXP;CAYN8T,QAAAA,YAAY,EAAEF,YAZR;CAaNG,QAAAA,eAAe,EAAE,KAAK3I,UAAL,CAAgB5L,MAAhB,CAAuBS,cAAvB,IAAyC2T,YAbpD;CAcNI,QAAAA,gBAAgB,EAAE5U,cAAI,CAACyD,QAAL,CAAc8Q,aAAa,CAACrT,YAA5B,KAA6CC,sCAAY,CAACC,UAdtE;CAeNyT,QAAAA,aAAa,EAAE7U,cAAI,CAACyD,QAAL,CAAc8Q,aAAa,CAACvT,YAA5B,CAfT;CAgBN8T,QAAAA,YAAY,EAAE9U,cAAI,CAACyD,QAAL,CAAc8Q,aAAa,CAAC5U,QAA5B,CAhBR;CAiBNoV,QAAAA,YAAY,EAAER,aAAa,CAAChV,WAAd,IAA6B,KAAKwI,OAAL,CAAaxI,WAjBlD;CAkBNyV,QAAAA,QAAQ,EAAET,aAAa,CAAClT,GAAd,IAAqB,CAlBzB;CAmBN0O,QAAAA,UAAU,EAAEwE,aAAa,CAAC9S,aAAd,IAA+B,GAnBrC;CAoBNuO,QAAAA,YAAY,EAAEuE,aAAa,CAACjT,WAAd,IAA6B,KAAKoS,cAAL,CAAoBlT,IApBzD;CAqBNyP,QAAAA,YAAY,EAAEsE,aAAa,CAAChT,WAAd,IAA6B,KAAKmS,cAAL,CAAoB3S;CArBzD,OAAP;CAuBA,KAjCF;;CAkCCqT,IAAAA,SAAS,GACT;CAAA;;CACC,YAAM9T,SAAS,GAAGN,cAAI,CAACyD,QAAL,2BAAc,KAAKuI,UAAL,CAAgB5L,MAA9B,qBAAc,uBAAwBE,SAAtC,CAAlB;CACA,YAAMC,KAAK,GAAGP,cAAI,CAACyD,QAAL,4BAAc,KAAKuI,UAAL,CAAgB5L,MAA9B,qBAAc,wBAAwBG,KAAtC,CAAd;CACA,YAAM0L,KAAK,GAAG,IAAIgJ,iCAAJ,CACb;CACC9H,QAAAA,QAAQ,EAAEnN,cAAI,CAACyD,QAAL,CAAc,KAAKsE,OAAL,CAAaoF,QAA3B,CADX;CAECC,QAAAA,WAAW,EAAEpN,cAAI,CAACyD,QAAL,CAAc,KAAKsE,OAAL,CAAaqF,WAA3B,CAFd;CAGC9N,QAAAA,QAAQ,EAAE,KAAKyI,OAAL,CAAazI,QAHxB;CAIC4V,QAAAA,aAAa,EACZhR,cAAI,CAACY,cAAL,4BAAoB,KAAKkH,UAAL,CAAgB5L,MAApC,qBAAoB,wBAAwBW,IAA5C,KACGT,SAAS,IAAI,CADhB,IAEGC,KAAK,IAAI,CAPd;CASCH,QAAAA,MAAM,EAAE,KAAKkU,kBAAL;CATT,OADa,CAAd;CAcAlI,MAAAA,6BAAY,CAACC,SAAb,CAAuBJ,KAAvB,EAA8B,gBAA9B,EAAgD,KAAKkJ,cAArD;CAEA,aAAOlJ,KAAP;CACA,KAvDF;;CAwDCkJ,IAAAA,cAAc,GACd;CACC,YAAM5S,MAAM,GAAGsB,MAAM,CAACkL,MAAP,CAAc,KAAK9C,KAAL,CAAWmJ,kBAAX,GAAgCC,SAAhC,EAAd,CAAf;CACA,WAAKC,aAAL,CAAmB;CAAC/S,QAAAA;CAAD,OAAnB;CACA,WAAK8G,KAAL,CAAW,kBAAX,EAA+B;CAC9BlG,QAAAA,KAAK,EAAE,KAAKqQ,eADkB;CAE9BjR,QAAAA;CAF8B,OAA/B;CAIA,KAhEF;;CAiECgT,IAAAA,mBAAmB,CAACnV,MAAD,EACnB;CACC,WAAK6L,KAAL,CAAWuJ,aAAX,GAA2BC,SAA3B,CAAqCrV,MAArC;CACA,YAAM2R,GAAG,GAAG;CAAClQ,QAAAA,gBAAgB,EAAEzB;CAAnB,OAAZ;;CACA,UAAIJ,cAAI,CAACyD,QAAL,CAAcrD,MAAM,CAACsV,GAArB,KAA6B,CAAjC,EACA;CACC3D,QAAAA,GAAG,CAACrS,GAAJ,GAAUM,cAAI,CAACyD,QAAL,CAAcrD,MAAM,CAACsV,GAArB,CAAV;CACA;;CAED,UAAI,CAACxR,cAAI,CAACC,KAAL,CAAW/D,MAAM,CAACuP,EAAlB,CAAL,EACA;CACCoC,QAAAA,GAAG,CAAC7R,OAAJ,GAAcF,cAAI,CAACyD,QAAL,CAAcrD,MAAM,CAACuP,EAArB,CAAd;CACA;;CAED,WAAK2F,aAAL,CAAmBvD,GAAnB;CACA,KAhFF;;CAiFC4D,IAAAA,yBAAyB,GACzB;CACC,YAAMC,WAAW,GAAG,KAAK3J,KAAL,CAAW4J,SAAX,EAApB;CACA,aAAO;CACNvV,QAAAA,SAAS,EAAEsV,WAAW,CAAChG,UADjB;CAENrP,QAAAA,KAAK,EAAEqV,WAAW,CAAC/F,MAFb;CAGN9O,QAAAA,IAAI,EAAE6U,WAAW,CAAC7I,IAHZ;CAINtM,QAAAA,MAAM,EAAEmV,WAAW,CAAClG,MAJd;CAKN9O,QAAAA,SAAS,EAAEgV,WAAW,CAACnG,UALjB;CAMN9O,QAAAA,KAAK,EAAEiV,WAAW,CAACtP,KANb;CAONzF,QAAAA,cAAc,EAAE+U,WAAW,CAACjB,eAPtB;CAQN7T,QAAAA,QAAQ,EAAE8U,WAAW,CAACvP,QARhB;CASNrF,QAAAA,YAAY,EAAE4U,WAAW,CAACf,aATpB;CAUNlV,QAAAA,QAAQ,EAAEiW,WAAW,CAACd,YAVhB;CAWN5T,QAAAA,YAAY,EAAE0U,WAAW,CAAChB,gBAXpB;CAYNnT,QAAAA,aAAa,EAAEmU,WAAW,CAAC7F,UAAZ,IAA0B,GAZnC;CAaNzO,QAAAA,WAAW,EAAEsU,WAAW,CAAC5F,YAAZ,IAA4B,EAbnC;CAcNzO,QAAAA,WAAW,EAAEqU,WAAW,CAAC3F,YAAZ,IAA4B,EAdnC;CAeNtO,QAAAA,UAAU,EAAEiU,WAAW,CAAC9F,UAAZ,IAA0B,EAfhC;CAgBNlO,QAAAA,MAAM,EAAEgU,WAAW,CAACE,MAAZ,IAAsB,EAhBxB;CAiBNtK,QAAAA,KAAK,EAAEoK,WAAW,CAACG;CAjBb,OAAP;CAmBA,KAvGF;;CAwGCT,IAAAA,aAAa,CAAChR,OAAD,EACb;CACC,WAAK+E,KAAL,CAAW,eAAX,EAA4B;CAC3BlG,QAAAA,KAAK,EAAE,KAAKqQ,eADe;CAE3BlP,QAAAA;CAF2B,OAA5B;CAIA,KA9GF;;CA+GC+P,IAAAA,mBAAmB,CAACjU,MAAD,EACnB;CACCA,MAAAA,MAAM,GAAGyD,MAAM,CAACC,MAAP,CAAc,KAAKkI,UAAL,CAAgB5L,MAA9B,EAAsCA,MAAtC,CAAT;CACA,WAAKiJ,KAAL,CAAW,eAAX,EAA4B;CAC3BlG,QAAAA,KAAK,EAAE,KAAKqQ,eADe;CAE3BlP,QAAAA,OAAO,EAAE;CAAClE,UAAAA;CAAD,SAFkB;CAG3B4V,QAAAA,iBAAiB,EAAE,KAAK/J,KAAL,CAAWgK,QAAX,MAAyB,KAAKlK,YAAL,KAAsB;CAHvC,OAA5B;CAKA,KAvHF;;CAwHCmK,IAAAA,gBAAgB,CAACC,aAAD,EAChB;CACC,aAAO,KAAKlK,KAAL,CAAWmK,IAAX,CAAgBD,aAAhB,CAAP;CACA,KA3HF;;CA4HC7J,IAAAA,eAAe,CAAClM,MAAD,EACf;CACCA,MAAAA,MAAM,GAAGyD,MAAM,CAACC,MAAP,CACR,KAAKmI,KAAL,CAAWuJ,aAAX,GAA2Ba,kBAA3B,CAA8CjW,MAAM,CAACqP,UAArD,CADQ,EAERrP,MAFQ,CAAT;CAKA,WAAKkV,aAAL,CACC;CAACnT,QAAAA,YAAY,EAAE/B,MAAM,CAACqP;CAAtB,OADD;CAGA,WAAK6G,aAAL,CAAmBlW,MAAnB;CACA,WAAKmV,mBAAL,CAAyBnV,MAAzB;CACA,KAxIF;;CAyICoM,IAAAA,cAAc,GACd;CACC,YAAMpM,MAAM,GAAG,KAAK6L,KAAL,CAAWuJ,aAAX,GAA2Be,cAA3B,CAA0C,CAA1C,CAAf;CAEAnW,MAAAA,MAAM,CAACqP,UAAP,GAAoB,CAApB;CACArP,MAAAA,MAAM,CAAC2M,IAAP,GAAc,EAAd;CACA3M,MAAAA,MAAM,CAACuP,EAAP,GAAY,CAAZ;CACAvP,MAAAA,MAAM,CAACwP,UAAP,GAAoB,CAApB;CACAxP,MAAAA,MAAM,CAACyP,MAAP,GAAgB,CAAhB;CACAzP,MAAAA,MAAM,CAACsP,MAAP,GAAgB,EAAhB;CAEA,WAAK6F,mBAAL,CAAyBnV,MAAzB;CACA,KArJF;;CAsJCoW,IAAAA,WAAW,CAAC9W,GAAD,EACX;CACC,YAAMiB,KAAK,GAAIjB,GAAG,GAAGM,cAAI,CAACyD,QAAL,CAAc,KAAKuI,UAAL,CAAgB5L,MAAhB,CAAuBU,QAArC,CAAP,GAAyDd,cAAI,CAACyD,QAAL,CAAc,KAAKuI,UAAL,CAAgB5L,MAAhB,CAAuBT,QAArC,CAAvE;CACA,WAAK8W,aAAL,CAAmB9V,KAAnB;CACA,KA1JF;;CA2JC8V,IAAAA,aAAa,CAAChM,QAAD,EACb;CACC,UAAI,CAAC,KAAK1C,OAAL,CAAa2O,yBAAlB,EACA;CACC,aAAKC,eAAL,CAAqBlM,QAArB;CAEA;CACA;;CAED,WAAKwB,KAAL,CAAW2K,gBAAX,CACC,kBAAkB,KAAKzW,UADxB,EAEC;CACCiR,QAAAA,KAAK,EAAEyF,aAAG,CAACC,UAAJ,CAAe,+DAAf,CADR;CAEChG,QAAAA,MAAM,EAAE;CACPiG,UAAAA,QAAQ,EAAE,MAAM;CACf,kBAAMC,gBAAgB,GAAG,KAAKC,WAAL,CAAiBxM,QAAjB,CAAzB;;CACA,gBAAIuM,gBAAgB,CAAClC,YAAjB,GAAgC,CAApC,EACA;CACC,mBAAKoC,cAAL,CAAoB,GAApB;CACA,mBAAKC,KAAL,CAAWC,IAAX,CAAgBC,gBAAhB,CAAiC,mBAAjC,EAAsD,GAAtD;CACA;CACD,WARM;CASPC,UAAAA,MAAM,EAAE,MAAM;CACb,iBAAKX,eAAL,CAAqBlM,QAArB;CACA,iBAAKyL,gBAAL,CAAsB,CAAC,YAAD,CAAtB,EAAsCtD,IAAtC,CAA2C,MAAI;CAC9C,mBAAK0C,aAAL,CACC;CAACnT,gBAAAA,YAAY,EAAEsI;CAAf,eADD;CAGA,aAJD;CAKA;CAhBM;CAFT,OAFD;CAwBA,KA5LF;;CA6LC8M,IAAAA,eAAe,CAAC1D,OAAD,EACf;CACC,WAAK2D,aAAL,CAAmB3D,OAAnB;CACA,WAAK5H,KAAL,CAAW2K,gBAAX,CACC,oBAAoB,KAAKzW,UAD1B,EAEC;CACCiR,QAAAA,KAAK,EAAEyF,aAAG,CAACC,UAAJ,CAAe,iEAAf,CADR;CAEChG,QAAAA,MAAM,EAAE;CACPwG,UAAAA,MAAM,EAAE,MAAM;CACb,iBAAKpB,gBAAL,CAAsB,CAAC,cAAD,EAAiB,cAAjB,CAAtB;CACA;CAHM;CAFT,OAFD;CAWA,KA3MF;;CA4MCgB,IAAAA,cAAc,CAAC1O,KAAD,EACd;CACC,UAAI,KAAKiP,UAAT,EACA;CACC;CACA;;CAED,WAAKnC,aAAL,CACC;CAACvT,QAAAA,YAAY,EAAEyG;CAAf,OADD;;CAIA,UAAIA,KAAK,KAAK,GAAd,EACA;CACCkP,QAAAA,UAAU,CACT;CAAA;;CAAA,gCAAM,KAAK7K,KAAX,8CAAM,YAAY8K,eAAlB,+CAAM,sBAA6B9K,KAAnC,+CAAM,uBAAoC+K,aAA1C,qBAAM,uBAAmDC,KAAnD,EAAN;CAAA,SADS,CAAV;CAGA;CACD,KA7NF;;CA8NCC,IAAAA,SAAS,CAACtP,KAAD,EACT;CACC,WAAK8M,aAAL,CACC;CAACtT,QAAAA,OAAO,EAAEwG;CAAV,OADD;CAGA,KAnOF;;CAoOC8N,IAAAA,aAAa,CAAClW,MAAD,EACb;CACC,WAAK6L,KAAL,CAAWuJ,aAAX,GAA2BC,SAA3B,CAAqCrV,MAArC;CACA,WAAK6L,KAAL,CAAWwJ,SAAX,CAAqBrV,MAArB;CACA,WAAKiU,mBAAL,CAAyB,EAAC,GAAG,KAAKrI,UAAL,CAAgB5L,MAApB;CAA4B,WAAG,KAAKuV,yBAAL;CAA/B,OAAzB;;CAEA,UAAI,CAACzR,cAAI,CAACC,KAAL,CAAW/D,MAAM,CAACsV,GAAlB,CAAL,EACA;CACC,aAAKJ,aAAL,CAAmB;CAAC5V,UAAAA,GAAG,EAAEU,MAAM,CAACsV;CAAb,SAAnB;CACA;CACD,KA9OF;;CA+OCqC,IAAAA,WAAW,CAAChJ,MAAD,EACX;CACC,YAAMnN,MAAM,GAAGsC,cAAI,CAACqF,OAAL,CAAawF,MAAb,IAAuBA,MAAvB,GAAgC,EAA/C;CACA,WAAKuH,aAAL,CAAmB;CAAER,QAAAA,MAAM,EAAElU;CAAV,OAAnB;CACA,KAnPF;;CAoPCoW,IAAAA,gBAAgB,CAAClX,QAAD,EAChB;CACC,WAAKmL,KAAL,CAAWuJ,aAAX,GAA2BC,SAA3B;CACA,WAAKa,aAAL,CACC,KAAKrK,KAAL,CAAWuJ,aAAX,GAA2ByC,iBAA3B,CAA6CnX,QAA7C,CADD;CAGA,KA1PF;;CA2PC0W,IAAAA,aAAa,CAAC3D,OAAD,EACb;CACC,YAAMqE,aAAa,GAAG,KAAKlM,UAAL,CAAgB5L,MAAtC;CACA8X,MAAAA,aAAa,CAAC,aAAD,CAAb,GAA+BrE,OAAO,CAACrT,IAAvC;CACA0X,MAAAA,aAAa,CAAC,aAAD,CAAb,GAA+BrE,OAAO,CAAC9S,IAAvC;CACA,WAAKuV,aAAL,CAAmB;CAClBtG,QAAAA,YAAY,EAAE6D,OAAO,CAACrT,IADJ;CAElByP,QAAAA,YAAY,EAAE4D,OAAO,CAAC9S;CAFJ,OAAnB;CAIA,KApQF;;CAqQC4V,IAAAA,eAAe,CAAChW,KAAD,EACf;CACC,WAAKsL,KAAL,CAAWkM,QAAX,CAAoB,YAApB,EAAkCxX,KAAlC;CACA,WAAK2V,aAAL,CACC,KAAKrK,KAAL,CAAWuJ,aAAX,GAA2Ba,kBAA3B,CAA8C1V,KAA9C,CADD;CAGA,KA3QF;;CA4QCsW,IAAAA,WAAW,CAACtW,KAAD,EACX;CACC,WAAKsL,KAAL,CAAWuJ,aAAX,GAA2BC,SAA3B,CACC,KAAKxJ,KAAL,CAAWuJ,aAAX,GAA2Ba,kBAA3B,CAA8C,KAAKrK,UAAL,CAAgB7J,YAA9D,CADD;CAGA,YAAMN,gBAAgB,GAAG,KAAKoK,KAAL,CAAWuJ,aAAX,GAA2Be,cAA3B,CAA0C5V,KAA1C,CAAzB;CACA,WAAK2V,aAAL,CAAmBzU,gBAAnB;CACA,aAAOA,gBAAP;CACA,KApRF;;CAqRCuW,IAAAA,kBAAkB,CAAClX,YAAD,EAClB;CACC,YAAM+J,IAAI,GAAIjL,cAAI,CAACyD,QAAL,CAAcvC,YAAd,MAAgCC,sCAAY,CAAC+J,QAA9C,GAA2D/J,sCAAY,CAAC+J,QAAxE,GAAmF/J,sCAAY,CAACC,UAA7G;CACA,YAAMS,gBAAgB,GAAG,KAAKoK,KAAL,CAAWuJ,aAAX,GAA2B6C,qBAA3B,CAAiDpN,IAAjD,CAAzB;CACA,WAAKqL,aAAL,CAAmBzU,gBAAnB;CACA,aAAOA,gBAAP;CACA,KA3RF;;CA4RCyW,IAAAA,cAAc,CAAC3Y,QAAD,EACd;CACC,YAAMkC,gBAAgB,GAAG,KAAKoK,KAAL,CAAWuJ,aAAX,GAA2B+C,iBAA3B,CAA6C5Y,QAA7C,CAAzB;CACA,WAAK2W,aAAL,CAAmBzU,gBAAnB;CACA,aAAQA,gBAAR;CACA,KAjSF;;CAkSC2W,IAAAA,SAAS,CAACpY,MAAD,EACT;CACC,YAAMyB,gBAAgB,GAAG,KAAKoK,KAAL,CAAWuJ,aAAX,GAA2BiD,YAA3B,CAAwCrY,MAAM,CAACsL,QAA/C,CAAzB;CACA7J,MAAAA,gBAAgB,CAACkU,MAAjB,GAA0B3V,MAAM,CAACoL,KAAjC;CACA,WAAK8K,aAAL,CAAmBzU,gBAAnB;CACA,aAAQA,gBAAR;CACA,KAxSF;;CAySC6W,IAAAA,iBAAiB,CAACnZ,WAAD,EACjB;CACC,UAAIA,WAAW,KAAK,KAAKyM,UAAL,CAAgBzM,WAAhC,IAA+C,CAAC,KAAKoZ,eAAL,CAAqB,KAAKhF,MAAL,CAAYtS,GAAjC,CAApD,EACA;CACC;CACA;;CAED,YAAMQ,gBAAgB,GAAG,KAAKoK,KAAL,CAAWuJ,aAAX,GAA2BoD,oBAA3B,CAAgDrZ,WAAhD,CAAzB;CACA,WAAK+W,aAAL,CAAmBzU,gBAAnB;CACA,aAAQA,gBAAR;CACA,KAnTF;;CAoTCc,IAAAA,UAAU,GACV;CACC,WAAK0G,KAAL,CAAW,YAAX,EAAyB;CACxBlG,QAAAA,KAAK,EAAE,KAAKqQ;CADY,OAAzB;CAGA,KAzTF;;CA0TCzF,IAAAA,eAAe,CAACvN,IAAD,EACf;CACC,aAAO0D,cAAI,CAACqF,OAAL,CAAa,KAAKxB,OAAL,CAAaoH,cAA1B,KAA6C,KAAKpH,OAAL,CAAaoH,cAAb,CAA4B9D,QAA5B,CAAqC7K,IAArC,CAApD;CACA,KA7TF;;CA8TCqY,IAAAA,cAAc,CAACrY,IAAD,EACd;CACC,aAAO0D,cAAI,CAACqF,OAAL,CAAa,KAAKxB,OAAL,CAAa+Q,aAA1B,KAA4C,KAAK/Q,OAAL,CAAa+Q,aAAb,CAA2BzN,QAA3B,CAAoC7K,IAApC,CAAnD;CACA,KAjUF;;CAkUCsH,IAAAA,QAAQ,CAACtH,IAAD,EACR;CACC,UAAI,KAAKwL,UAAL,CAAgBzJ,MAAhB,CAAuBQ,MAAvB,KAAkC,CAAlC,IAAwC,KAAKkJ,KAAL,CAAW8M,OAAX,MAAwB,CAAC,KAAK9M,KAAL,CAAW+M,SAAX,EAArE,EACA;CACC,eAAO,KAAP;CACA;;CAED,YAAMC,cAAc,GAAG,KAAKjN,UAAL,CAAgBzJ,MAAhB,CAAuB2W,MAAvB,CAA+BC,KAAD,IAAW;CAC/D,eAAOA,KAAK,CAAC3Y,IAAN,KAAeA,IAAtB;CACA,OAFsB,CAAvB;CAIA,aAAOyY,cAAc,CAAClW,MAAf,GAAwB,CAA/B;CACA,KA9UF;;CA+UCqW,IAAAA,eAAe,GACf;CAAA;;CACC,aAAO,uBAAKrR,OAAL,mCAAcsR,cAAd,CAA6BhO,QAA7B,CAAsCnF,aAAa,CAACI,KAApD,OAEL,KAAK2F,KAAL,CAAWkE,KAAX,MACG,CAAC,KAAKlE,KAAL,CAAWqN,gBAAX,EADJ,uBAEG,KAAKvR,OAFR,qBAEG,eAAcwR,yBAFjB,CAFK,CAAP;CAOA,KAxVF;;CAyVCZ,IAAAA,eAAe,CAACnY,IAAD,EACf;CAAA;;CACC,UAAIA,IAAI,KAAK0F,aAAa,CAACI,KAAvB,IAAgC,oBAAC,KAAKyB,OAAN,aAAC,eAAcwR,yBAAf,CAApC,EACA;CACC,eAAO,KAAKH,eAAL,EAAP;CACA;;CAED,+BAAO,KAAKrR,OAAZ,qBAAO,eAAcsR,cAAd,CAA6BhO,QAA7B,CAAsC7K,IAAtC,CAAP;CACA,KAjWF;;CAkWCgZ,IAAAA,OAAO,CAAChZ,IAAD,EACP;CAAA;;CACC,+BAAO,KAAKuH,OAAZ,qBAAO,eAAc0R,UAAd,CAAyBjZ,IAAzB,CAAP;CACA,KArWF;;CAsWCkZ,IAAAA,OAAO,CAAClZ,IAAD,EACP;CAAA;;CACC,UAAIA,IAAI,KAAK0F,aAAa,CAACI,KAAvB,IAAgC,oBAAC,KAAKyB,OAAN,aAAC,eAAcwR,yBAAf,CAApC,EACA;CACC,eAAO,CAAC,KAAKH,eAAL,EAAR;CACA;;CAED,aAAO,KAAP;CACA,KA9WF;;CA+WCO,IAAAA,eAAe,GACf;CACC,YAAMC,IAAI,GAAG,KAAKJ,OAAL,CAAa,KAAK7F,MAAL,CAAYhT,KAAzB,CAAb;;CACA,UAAIX,cAAI,CAACyD,QAAL,CAAcmW,IAAd,oBAAcA,IAAI,CAAEC,YAApB,IAAoC,CAAxC,EACA;CACCC,QAAAA,GAAG,CAACC,EAAJ,CAAOC,MAAP,CAAc9P,IAAd,CAAmB,0BAA0BlK,cAAI,CAACyD,QAAL,CAAcmW,IAAd,oBAAcA,IAAI,CAAEC,YAApB,CAA7C;CACA;CACD;;CAtXF,GA1EF;CAkcCI,EAAAA,KAAK,EACJ;CACC1a,IAAAA,WAAW,CAACiJ,KAAD,EAAQ0R,QAAR,EAAiB;CAC3B,UAAI1R,KAAK,KAAK0R,QAAd,EACA;CACC,aAAKxB,iBAAL,CAAuBlQ,KAAvB;CACA;CACD;;CANF,GAncF;CA2cCkC,EAAAA,QAAQ,EACP;CACCC,IAAAA,QAAQ,GACR;CACC,aAAOvG,UAAG,CAACwG,kBAAJ,CAAuB,eAAvB,CAAP;CACA,KAJF;;CAKC7I,IAAAA,YAAY,GACZ;CACC,aAAO,KAAKoY,iBAAL,IAA0B,KAAKnO,UAAL,CAAgBjK,YAAhB,KAAiC,GAAlE;CACA,KARF;;CASCqY,IAAAA,mBAAmB,GACnB;CACC,aAAO,KAAKpO,UAAL,CAAgB7L,UAAhB,GAA6B,SAApC;CACA,KAZF;;CAaCka,IAAAA,iBAAiB,GACjB;CACC,aAAO,KAAKrO,UAAL,CAAgB5L,MAAhB,CAAuBS,cAAvB,IAAyC,KAAKmL,UAAL,CAAgB5L,MAAhB,CAAuBO,KAAvE;CACA,KAhBF;;CAiBCwZ,IAAAA,iBAAiB,GACjB;CACC,aAAO,KAAKpS,OAAL,CAAaoS,iBAAb,KAAmC,GAAnC,IACH,KAAKtB,cAAL,CAAoB,KAAKlF,MAAL,CAAYhU,QAAhC,CADG,IAEH,CAAC,KAAK8X,UAFV;CAIA,KAvBF;;CAwBC6C,IAAAA,YAAY,GACZ;CACC,aAAO,KAAKvS,OAAL,CAAauS,YAAb,KAA8B,GAA9B,IACH,KAAK3O,UAAL,CAAgB5I,MAAhB,GAAyB,CADtB,IAEH,KAAK8V,cAAL,CAAoB,KAAKlF,MAAL,CAAYtS,GAAhC,CAFG,IAGH,CAAC,KAAKoW,UAHV;CAKA,KA/BF;;CAgCC8C,IAAAA,cAAc,GACd;CACC,UAAI,KAAK9C,UAAT,EACA;CACC,eAAO,KAAP;CACA;;CAED,UAAI,KAAKhE,UAAL,GAAkB,CAAtB,EACA;CACC,eAAO,IAAP;CACA;;CAED,aAAO,CAACvP,cAAI,CAACC,KAAL,CAAW,KAAK6H,UAAL,CAAgB9L,OAA3B,CAAR;CACA,KA7CF;;CA8CCsa,IAAAA,eAAe,GACf;CACC,aAAO,KAAKxO,UAAL,CAAgBhK,OAAhB,KAA4B,GAAnC;CACA,KAjDF;;CAkDCyY,IAAAA,aAAa,GACb;CACC,aAAO,KAAKzO,UAAL,CAAgB5L,MAAhB,CAAuBT,QAAvB,GAAkC,CAAlC,IACFK,cAAI,CAACyD,QAAL,CAAc,KAAKuI,UAAL,CAAgB5L,MAAhB,CAAuBO,KAArC,MAAgDX,cAAI,CAACyD,QAAL,CAAc,KAAKuI,UAAL,CAAgB5L,MAAhB,CAAuBQ,SAArC,CADrD;CAGA,KAvDF;;CAwDC8Z,IAAAA,cAAc,GACd;CACC,aAAO,KAAK1O,UAAL,CAAgB5L,MAAhB,CAAuBmB,WAAvB,IAAsC,KAAKmS,cAAL,CAAoB3S,IAAjE;CACA,KA3DF;;CA4DC4Z,IAAAA,cAAc,GACd;CACC,aAAO,KAAK3O,UAAL,CAAgB5L,MAAhB,CAAuBkB,WAAvB,IAAsC,KAAKoS,cAAL,CAAoBlT,IAAjE;CACA,KA/DF;;CAgECmL,IAAAA,UAAU,GACV;CACC,aAAOzH,cAAI,CAACqF,OAAL,CAAa,KAAKxB,OAAL,CAAa+D,OAA1B,IAAqC,KAAK/D,OAAL,CAAa+D,OAAlD,GAA4D,EAAnE;CACA,KAnEF;;CAoECvM,IAAAA,WAAW,GACX;CACC,aAAO,KAAKyM,UAAL,CAAgB5L,MAAhB,CAAuBb,WAA9B;CACA,KAvEF;;CAwECqb,IAAAA,aAAa,GACb;CACC,aAAO,KAAKrb,WAAL,KAAqB,GAA5B;CACA,KA3EF;;CA4ECkY,IAAAA,UAAU,GACV;CACC,aAAO,KAAKlJ,IAAL,KAAcpH,QAAQ,CAACE,SAA9B;CACA;;CA/EF,GA5cF;CA6hBC;CACAiD,EAAAA,QAAQ,EAAG;;;;;;;;;;;QAWLnF,MAAM,CAACO,2BAA4B;;;;;;;;;;;;;;QAcnCP,MAAM,CAACa,kBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA4BzBb,MAAM,CAACQ,kBAAmB;;;;;;;;;;;;SAY1BR,MAAM,CAACU,qBAAsB;;;;;;;;;;;;;;SAc7BV,MAAM,CAACS,sBAAuB;;;;;;;;;;;;;;;;;;;;QAoB/BT,MAAM,CAACW,qBAAsB;;;;;;;;;;;;;;;;;QAiB7BX,MAAM,CAACY,gBAAiB;;;;;;;;;;;CAlpB/B,CADD;;CCxBO,MAAM8U,mBAAN,CACP;CADaA,oBAELzT,UAAkB;CAFbyT,oBAGLC,WAAmB;;CCHpB,MAAMC,gBAAN,CACP;CADaA,iBAELC,uBAA+B;CAF1BD,iBAGLE,qBAA6B;;;;;;;;;;;;;ACgBrC7W,WAAG,CAACmD,SAAJ,CAAcpC,MAAM,CAACK,wBAArB,EACA;CACCgC,EAAAA,KAAK,EAAE;CACN0T,IAAAA,kBAAkB,EAAErX,MADd;CAEN0K,IAAAA,IAAI,EAAE7G;CAFA,GADR;;CAKCM,EAAAA,OAAO,GACP;CACCoE,IAAAA,6BAAY,CAACC,SAAb,CAAuB,qCAAvB,EAA8D,KAAK8O,YAAL,CAAkB5O,IAAlB,CAAuB,IAAvB,CAA9D;CACAH,IAAAA,6BAAY,CAACC,SAAb,CAAuB,oCAAvB,EAA6D,KAAK8O,YAAL,CAAkB5O,IAAlB,CAAuB,IAAvB,CAA7D;CACA,SAAK6O,QAAL,GAAgB,IAAIC,cAAJ,CAAU;CACzB3R,MAAAA,IAAI,EAAE,KAAKiB,QAAL,CAAc2Q,0CADK;CAEzBC,MAAAA,KAAK,EAAEC,mBAAU,CAACC,OAFO;CAGzBC,MAAAA,IAAI,EAAE;CAHmB,KAAV,CAAhB;CAMA,UAAMC,iBAAiB,GAAGtK,aAAG,CAACuK,MAAP,oBAAc;sCAAd,CACqE;GADrE,GACa,KAAKjR,QAAL,CAAckR,yCAD3B,CAAvB;CAIAC,IAAAA,eAAK,CAACvP,IAAN,CAAWoP,iBAAX,EAA8B,OAA9B,EAAuC,KAAKI,YAA5C;CAEA,QAAIC,MAAM,GAAG,EAAb;CACA,QAAIC,WAAW,GAAG,EAAlB;;CACA,QAAI,KAAKC,cAAL,EAAJ,EACA;CACCF,MAAAA,MAAM,GAAG,KAAKrR,QAAL,CAAcwR,oDAAvB;CACAF,MAAAA,WAAW,GAAG5K,aAAG,CAACuK,MAAP,sBAAc;SAAd,CACyE;SADzE,CAE0E;IAF1E,GACL,KAAKjR,QAAL,CAAcyR,+DADT,EAEL,KAAKzR,QAAL,CAAc0R,gEAFT,CAAX;CAIA,KAPD,MASA;CACCL,MAAAA,MAAM,GAAG,KAAKrR,QAAL,CAAc2R,2CAAvB;CACAL,MAAAA,WAAW,GAAG,KAAKtR,QAAL,CAAc4R,oDAA5B;CACA;;CAED,SAAKjL,OAAL,GAAe,IAAIkL,0BAAJ,CAAgB;CAC9B3Q,MAAAA,EAAE,EAAE,iBAD0B;CAE9BmQ,MAAAA,MAF8B;CAG9BC,MAAAA,WAH8B;CAI9BQ,MAAAA,KAAK,EAAE,KAJuB;CAK9BC,MAAAA,MAAM,EAAE,IALsB;CAM9BC,MAAAA,cAAc,EAAE,CAAChB,iBAAD;CANc,KAAhB,CAAf;CASAvP,IAAAA,6BAAY,CAACC,SAAb,CAAuB,KAAKiF,OAA5B,EAAqC,SAArC,EAAgD,KAAKsL,WAArD;CACA,GA/CF;;CAgDCnQ,EAAAA,OAAO,GACP;CACC,SAAKI,KAAL,CAAWgQ,KAAX,CAAiBC,WAAjB,CAA6B,KAAK1B,QAAL,CAAcQ,MAAd,EAA7B;CACA,SAAK/O,KAAL,CAAWyE,OAAX,CAAmBwL,WAAnB,CAA+B,KAAKxL,OAAL,CAAayL,SAAb,EAA/B;;CACA,QAAI,CAAC,KAAK7B,kBAAL,CAAwB8B,iBAA7B,EACA;CACC,WAAKC,WAAL;CACA;CACD,GAxDF;;CAyDCxR,EAAAA,IAAI,GACJ;CACC,WAAO;CACNyR,MAAAA,eAAe,EAAE;CADX,KAAP;CAGA,GA9DF;;CA+DC7U,EAAAA,OAAO,EACP;CACC6T,IAAAA,cAAc,GACd;CACC,aAAO,KAAKhB,kBAAL,CAAwBjQ,IAAxB,KAAiC4P,mBAAmB,CAACC,QAA5D;CACA,KAJF;;CAKCiB,IAAAA,YAAY,GACZ;CACC,WAAKoB,YAAL,GACC,KAAKjB,cAAL,KACGnB,gBAAgB,CAACC,oBADpB,GAEGD,gBAAgB,CAACE,kBAHrB;CAMAnB,MAAAA,GAAG,CAACC,EAAJ,CAAOC,MAAP,CAAc9P,IAAd,CAAmB,0BAA0B,KAAKiT,YAAlD;CACA,KAdF;;CAeCC,IAAAA,SAAS,CAAC9U,KAAD,EACT;CACC,UAAI,KAAK4S,kBAAL,CAAwBmC,gBAA5B,EACA;CACC;CACA;;CAED,UAAI,KAAKnB,cAAL,EAAJ,EACA;CACC,aAAKH,YAAL;CACA;CACA;;CAED,UAAI,KAAKuB,KAAL,YAAsBC,gBAA1B,EACA;CACC,aAAKD,KAAL,CAAWE,cAAX,CAA0B,KAAK3Q,KAAL,CAAW4Q,MAArC;CACA,aAAKH,KAAL,CAAWpT,IAAX;CACA;CACA;;CACD,YAAM1K,MAAM,GAAG,KAAKke,MAAL,CAAYC,OAAZ,CAAoB,uBAApB,GAAf;CACA,YAAMC,UAAU,GAAGpe,MAAM,CAACuS,GAAP,CAAY/F,UAAD,IAAgB;CAAA;;CAC7C,eAAOA,UAAP,0CAAOA,UAAU,CAAE5L,MAAnB,qBAAO,mBAAoBG,KAA3B;CACA,OAFkB,CAAnB;CAIA,aAAO,IAAI6R,OAAJ,CACN,CAACC,OAAD,EAAUC,MAAV,KAAqB;CACpBI,QAAAA,cAAI,CAACC,SAAL,CACC,kDADD,EAEC;CACCkL,UAAAA,IAAI,EAAE;CACLD,YAAAA;CADK;CADP,SAFD,EAQEhL,IARF,CAQOC,QAAQ,IAAI;CACjB,eAAKqK,eAAL,GAAuBrK,QAAQ,CAACpH,IAAT,CAAcqS,IAArC;CACA,eAAKR,KAAL,GAAa,IAAIC,gBAAJ,CAAU;CACtBvT,YAAAA,WAAW,EAAE1B,KAAK,CAACC,MADG;CAEtBwV,YAAAA,OAAO,EAAE,KAAKC,iBAAL,EAFa;CAGtBC,YAAAA,KAAK,EAAE,GAHe;CAItBC,YAAAA,SAAS,EAAE;CAAEpE,cAAAA,GAAG,EAAE,KAAP;CAAcqE,cAAAA,KAAK,EAAE;CAArB,aAJW;CAKtBC,YAAAA,OAAO,EAAE,CALa;CAMtBC,YAAAA,UAAU,EAAE,IANU;CAOtBC,YAAAA,QAAQ,EAAE,IAPY;CAQtBC,YAAAA,SAAS,EAAE,IARW;CAStBC,YAAAA,SAAS,EAAE,cATW;CAUtB/B,YAAAA,KAAK,EAAE;CAAEgC,cAAAA,MAAM,EAAE;CAAV;CAVe,WAAV,CAAb;CAaA,eAAKnB,KAAL,CAAWpT,IAAX;CACAmI,UAAAA,OAAO;CACP,SAzBF,EA0BEe,KA1BF,CA0BQ,MAAMd,MAAM,EA1BpB;CA2BA,OA7BK,CAAP;CA8BA,KArEF;;CAsEC6I,IAAAA,YAAY,GACZ;CACC,UAAI,KAAKmC,KAAL,YAAsBC,gBAA1B,EACA;CACC,aAAKD,KAAL,CAAWoB,OAAX;CACA,aAAKpB,KAAL,GAAa,IAAb;CACA;CACD,KA7EF;;CA8ECU,IAAAA,iBAAiB,GACjB;CACC,UAAI,CAAC,KAAKd,eAAV,EACA;CACC,eAAO,EAAP;CACA;;CAED,YAAMyB,UAAU,GAAGtN,aAAG,CAACuK,MAAP,kBAAc;oDAAd,CACgF;IADhF,GACiC,KAAKjR,QAAL,CAAciU,gCAD/C,CAAhB;CAIA9C,MAAAA,eAAK,CAACvP,IAAN,CAAWoS,UAAX,EAAuB,OAAvB,EAAgC,MAAM;CACrC5E,QAAAA,EAAE,CAAC8E,SAAH,CAAaC,IAAb,CAAkB,KAAK5B,eAAvB;CACAnD,QAAAA,EAAE,CAACgF,EAAH,CAAMC,YAAN,CAAmBC,MAAnB,CAA0BC,MAA1B,CAAiC;CAChCnB,UAAAA,OAAO,EAAE,KAAKpT,QAAL,CAAcwU,+CADS;CAEhCC,UAAAA,aAAa,EAAE;CAFiB,SAAjC;CAIA,OAND;CAQA,YAAMC,SAAS,GAAGhO,aAAG,CAACuK,MAAP,kBAAc,uDAAd,EAAf;CAEA,YAAMmC,OAAO,GAAG1M,aAAG,CAACuK,MAAP,kBAAc;;;uDAAd,CAG6F;SAH7F,CAIG;;mBAJH,CAMwB,qEANxB,CAMwJ;;;;kBANxJ,CAUuB,8DAVvB,CAUyG;SAVzG,CAWI;;;KAXJ,GAGuC,KAAKjR,QAAL,CAAc2U,uCAHrD,EAIPD,SAJO,EAMG,KAAKnC,eANR,EAM4F,KAAKvS,QAAL,CAAc4U,6CAN1G,EAUE,KAAKrC,eAVP,EAUoF,KAAKA,eAVzF,EAWPyB,UAXO,CAAb;CAgBA,UAAIa,MAAJ,CAAWH,SAAX,EAAsB;CACrB3V,QAAAA,IAAI,EAAE,KAAKwT,eADU;CAErBe,QAAAA,KAAK,EAAE,GAFc;CAGrBwB,QAAAA,MAAM,EAAE;CAHa,OAAtB;CAMA,aAAO1B,OAAP;CACA,KA1HF;;CA2HC2B,IAAAA,UAAU,CAACpX,KAAD,EACV;CACC,YAAME,KAAK,GAAGF,KAAK,CAACC,MAAN,CAAaoX,OAAb,GAAuB,GAAvB,GAA6B,GAA3C;;CACA,UAAI,CAAC,KAAKzE,kBAAL,CAAwB0E,QAA7B,EACA;CACC,aAAK1E,kBAAL,CAAwBmC,gBAAxB,GAA2C,IAA3C;CACA,cAAMwC,kBAAkB,GAAG,IAAItC,gBAAJ,CAAU;CACpCvT,UAAAA,WAAW,EAAE1B,KAAK,CAACC,MADiB;CAEpCuX,UAAAA,SAAS,EAAE,2CAFyB;CAGpC/B,UAAAA,OAAO,EAAE,KAAKgC,oCAAL,EAH2B;CAIpC9B,UAAAA,KAAK,EAAE,GAJ6B;CAKpC+B,UAAAA,OAAO,EAAE,IAL2B;CAMpC5B,UAAAA,OAAO,EAAE,EAN2B;CAOpCI,UAAAA,SAAS,EAAE,cAPyB;CAQpC/B,UAAAA,KAAK,EAAE;CAR6B,SAAV,CAA3B;CAWAoD,QAAAA,kBAAkB,CAAC3V,IAAnB;CACAwI,QAAAA,cAAI,CAACC,SAAL,CAAe,oCAAf,EAAqD;CACpDkL,UAAAA,IAAI,EAAE;CAD8C,SAArD,EAGEjL,IAHF,CAGQC,QAAD,IAAc;CAAA;;CACnB,cAAI3O,cAAI,CAACY,cAAL,mBAAoB+N,QAAQ,CAACpH,IAA7B,8CAAoB,eAAewU,gBAAnC,qBAAoB,sBAAiCC,KAArD,CAAJ,EACA;CAAA;;CACC,kBAAM9O,KAAK,GAAGyF,aAAG,CAACC,UAAJ,CACb,4CADa,EAEb;CAAC,+BAAiBzF,aAAG,CAAC8O,IAArB,kBAA0B,GAA1B,CAAmE,EAAnE,sBAA4BtN,QAAQ,CAACpH,IAArC,8CAA4B,gBAAewU,gBAA3C,qBAA4B,sBAAiCC,KAA7D;CAAD,aAFa,CAAd;CAKAnG,YAAAA,EAAE,CAACgF,EAAH,CAAMC,YAAN,CAAmBC,MAAnB,CAA0BC,MAA1B,CAAiC;CAChCnB,cAAAA,OAAO,EAAE1M,aAAG,CAACuK,MAAN,kBAAa;;kBAAb,CAES;;aAFT,CAIgE;;;SAJhE,GAEGxK,KAFH,EAIFyF,aAAG,CAACC,UAAJ,CAAe,iDAAf,CAJE;CADyB,aAAjC;CAUA;;CACD+I,UAAAA,kBAAkB,CAACO,UAAnB,CACC,KAAKC,mCAAL,EADD;CAIAR,UAAAA,kBAAkB,CAACS,eAAnB,CAAmC,IAAnC;CACAT,UAAAA,kBAAkB,CAACU,WAAnB,CAA+B,IAA/B;CAEAV,UAAAA,kBAAkB,CAAC3V,IAAnB;CACA,eAAKiN,KAAL,CAAWC,IAAX,CAAgBC,gBAAhB,CAAiC,mBAAjC,EAAsD7O,KAAtD;CACA,eAAK0S,kBAAL,CAAwBmC,gBAAxB,GAA2C,KAAKnC,kBAAL,CAAwBsF,cAAnE;CACA,eAAKtF,kBAAL,CAAwB0E,QAAxB,GAAmC,IAAnC;CACA,SAjCF;CAkCA,OAjDD,MAmDA;CACC,aAAKzI,KAAL,CAAWC,IAAX,CAAgBC,gBAAhB,CAAiC,mBAAjC,EAAsD7O,KAAtD;CACA;CACD,KApLF;;CAqLCuX,IAAAA,oCAAoC,GACpC;CACC,YAAMU,aAAa,GAAGpP,aAAG,CAACuK,MAAP,kBAAc;;IAAd,EAAnB;CAIA,YAAM8E,IAAI,GAAGrP,aAAG,CAACuK,MAAP,kBAAc;;sDAAd,CAEqG;OAFrG,CAGQ;qDAHR,CAIyG;;IAJzG,GAEyC/E,aAAG,CAACC,UAAJ,CAAe,2CAAf,CAFzC,EAGN2J,aAHM,EAIwC5J,aAAG,CAACC,UAAJ,CAAe,gDAAf,CAJxC,CAAV;CAQA,YAAM6J,MAAM,GAAG,IAAIC,kBAAJ,CAAW;CACzBrF,QAAAA,KAAK,EAAE,SADkB;CAEzBhT,QAAAA,MAAM,EAAEkY,aAFiB;CAGzBI,QAAAA,IAAI,EAAE;CAHmB,OAAX,CAAf;CAMAF,MAAAA,MAAM,CAACzW,IAAP;CAEA,aAAOwW,IAAP;CACA,KA5MF;;CA6MCL,IAAAA,mCAAmC,GACnC;CACC,aAAOhP,aAAG,CAACuK,MAAX,oBAAkB;;sDAAlB,CAE8G;;qDAF9G,CAIkH;;IAJlH,GAEmD/E,aAAG,CAACC,UAAJ,CAAe,0CAAf,CAFnD,EAIkDD,aAAG,CAACC,UAAJ,CAAe,+CAAf,CAJlD;CAOA,KAtNF;;CAuNCgK,IAAAA,YAAY,GACZ;CACC,UAAI,KAAK5F,kBAAL,CAAwBsF,cAA5B,EACA;CACCzG,QAAAA,EAAE,CAACgF,EAAH,CAAMgC,UAAN,CAAiB7W,IAAjB,CAAsB,oBAAtB;CACA;CACD,KA7NF;;CA8NC8W,IAAAA,WAAW,CAAC1Y,KAAD,EACX;CACCA,MAAAA,KAAK,CAAC2Y,cAAN;CACA3Y,MAAAA,KAAK,CAAC4Y,wBAAN;;CACA,UAAI,CAAC,KAAK5P,OAAV,EACA;CACC;CACA;;CACD,UAAI,KAAKA,OAAL,CAAa6P,OAAb,EAAJ,EACA;CACC,aAAKvE,WAAL;CACA,OAHD,MAKA;CACC,aAAKK,WAAL;CACA;CACD,KA9OF;;CA+OCA,IAAAA,WAAW,GACX;CACC,UAAI,KAAK3L,OAAT,EACA;CACC8P,QAAAA,aAAG,CAACC,QAAJ,CAAa,KAAKxU,KAAL,CAAWyU,QAAxB,EAAkC,+CAAlC;CACA,aAAKhQ,OAAL,CAAapH,IAAb;CACA;CACD,KAtPF;;CAuPC0S,IAAAA,WAAW,GACX;CACC,UAAI,KAAKtL,OAAT,EACA;CACC8P,QAAAA,aAAG,CAACG,WAAJ,CAAgB,KAAK1U,KAAL,CAAWyU,QAA3B,EAAqC,+CAArC;CACA;;CACD,WAAKhQ,OAAL,CAAa6B,IAAb;CACA,WAAKgE,KAAL,CAAWC,IAAX,CAAgBC,gBAAhB,CAAiC,8BAAjC,EAAiE,GAAjE;CACA;;CA/PF,GAhED;CAiUC3M,EAAAA,QAAQ,EACR;CACCC,IAAAA,QAAQ,GACR;CACC,aAAOvG,UAAG,CAACwG,kBAAJ,CAAuB,UAAvB,CAAP;CACA,KAJF;;CAMC4W,IAAAA,UAAU,GACV;CACC,aAAO,KAAKjT,IAAL,KAAcpH,QAAQ,CAACG,WAA9B;CACA,KATF;;CAWC,OAAGma,gBAAI,CAACC,QAAL,CAAc;CAChBC,MAAAA,WAAW,EAAE9e,KAAK,IAAIA,KAAK,CAAC8e;CADZ,KAAd;CAXJ,GAlUD;CAiVC;CACArX,EAAAA,QAAQ,EAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAlVZ,CADA;;;;;;ACVAlG,WAAG,CAACmD,SAAJ,CAAcpC,MAAM,CAACI,oBAArB,EACA;CACC;CACD;CACA;CACA;CACA;CAECiC,EAAAA,KAAK,EAAE;CACNO,IAAAA,OAAO,EAAElE,MADH;CAEN0K,IAAAA,IAAI,EAAE7G;CAFA,GAPR;;CAWC+D,EAAAA,IAAI,GACJ;CACC,WAAO;CACNmW,MAAAA,QAAQ,EAAE;CADJ,KAAP;CAGA,GAhBF;;CAiBCvZ,EAAAA,OAAO,EACP;CACCwZ,IAAAA,aAAa,GACb;CACC,WAAKxY,KAAL,CAAW,eAAX;CACA,KAJF;;CAKCyY,IAAAA,gBAAgB,CAAC7e,IAAD,EAChB;CACC,WAAKoG,KAAL,CAAW,eAAX,EAA4BpG,IAA5B;CACA,KARF;;CASC8e,IAAAA,iBAAiB,GACjB;CACC,WAAK1Y,KAAL,CAAW,SAAX;CACA,KAZF;;CAaC2Y,IAAAA,2BAA2B,CAACzhB,KAAD,EAC3B;CACC,YAAMf,MAAM,GAAG,KAAKke,MAAL,CAAYC,OAAZ,CAAoB,uBAApB,GAAf;CACA,aAAO9Z,MAAM,CACXoe,IADK,CACAziB,MADA,EAEL0iB,SAFK,CAEMC,GAAD,IAAQ;CAClB,eAAOC,QAAQ,CAAC5iB,MAAM,CAAC2iB,GAAD,CAAN,CAAY5hB,KAAb,CAAR,KAAgC6hB,QAAQ,CAAC7hB,KAAD,CAA/C;CACA,OAJK,CAAP;CAKA,KArBF;;CAsBC8hB,IAAAA,aAAa,CAACxW,EAAD,EAAK1B,MAAL,EACb;CACC,YAAMmY,OAAO,GAAG,CAAhB;;CACA,UAAItiB,cAAI,CAACyD,QAAL,CAAc0G,MAAM,CAACc,IAArB,MAA+BqX,OAAnC,EACA;CACC5P,QAAAA,cAAI,CAACC,SAAL,CACC,wCADD,EAEC;CACCkL,UAAAA,IAAI,EAAE;CACL0E,YAAAA,WAAW,EAAE1W,EADR;CAEL9D,YAAAA,OAAO,EAAE;CACRya,cAAAA,OAAO,EAAE,KAAKza,OAAL,CAAaqF,WADd;CAERqV,cAAAA,UAAU,EAAE,KAAK1a,OAAL,CAAa0a,UAFjB;CAGRnjB,cAAAA,QAAQ,EAAE,KAAKyI,OAAL,CAAazI,QAHf;CAIRojB,cAAAA,QAAQ,EAAE;CAJF;CAFJ;CADP,SAFD,EAaE9P,IAbF,CAaOC,QAAQ,IAAI,KAAK8P,eAAL,CAAqB9P,QAArB,EAA+B1I,MAAM,CAACyY,WAAtC,CAbnB;CAcA,OAhBD,MAkBA;CACClQ,QAAAA,cAAI,CAACC,SAAL,CACC,oCADD,EAEC;CACCkL,UAAAA,IAAI,EAAE;CACLvd,YAAAA,SAAS,EAAEuL,EADN;CAEL9D,YAAAA,OAAO,EAAE;CACRya,cAAAA,OAAO,EAAE,KAAKza,OAAL,CAAaqF,WADd;CAERqV,cAAAA,UAAU,EAAE,KAAK1a,OAAL,CAAa0a,UAFjB;CAGRnjB,cAAAA,QAAQ,EAAE,KAAKyI,OAAL,CAAazI;CAHf;CAFJ;CADP,SAFD,EAYEsT,IAZF,CAYOC,QAAQ,IAAI,KAAK8P,eAAL,CAAqB9P,QAArB,EAA+B1I,MAAM,CAACyY,WAAtC,CAZnB;CAaA;CACD,KA1DF;;CA2DCD,IAAAA,eAAe,CAAC9P,QAAD,EAAW+P,WAAX,EACf;CACC,YAAMzf,KAAK,GAAGyf,WAAW,GAAG,CAAC,CAAJ,GAAQ,KAAKZ,2BAAL,CAAiCnP,QAAQ,CAACpH,IAAT,CAAclL,KAA/C,CAAjC;;CACA,UAAI4C,KAAK,GAAG,CAAZ,EACA;CACC,cAAM0f,WAAW,GAAGhQ,QAAQ,CAACpH,IAA7B;CACA,cAAM7K,SAAS,GAAGZ,cAAI,CAACyD,QAAL,CAAcof,WAAW,CAACziB,MAAZ,CAAmBqP,UAAjC,CAAlB;CACAoT,QAAAA,WAAW,CAACziB,MAAZ,GAAqByiB,WAAW,CAACziB,MAAZ,IAAsB,EAA3C;CACA,YAAI0iB,OAAO,GAAG,KAAKpF,MAAL,CAAYC,OAAZ,CAAoB,4BAApB,GAAd;CACAmF,QAAAA,OAAO,CAAC1iB,MAAR,GAAiByD,MAAM,CAACC,MAAP,CAAcgf,OAAO,CAAC1iB,MAAtB,EAA8B;CAC9CO,UAAAA,KAAK,EAAEC,SADuC;CAE9CC,UAAAA,cAAc,EAAED,SAF8B;CAG9CA,UAAAA,SAH8C;CAI9CG,UAAAA,IAAI,EAAE8hB,WAAW,CAACziB,MAAZ,CAAmB2M,IAAnB,IAA2B,EAJa;CAK9CzM,UAAAA,SAAS,EAAEuiB,WAAW,CAACviB,SALuB;CAM9CC,UAAAA,KAAK,EAAEsiB,WAAW,CAACtiB,KAN2B;CAO9Ce,UAAAA,WAAW,EAAEuhB,WAAW,CAACziB,MAAZ,CAAmB4P,YAPc;CAQ9CzO,UAAAA,WAAW,EAAEshB,WAAW,CAACziB,MAAZ,CAAmB6P,YARc;CAS9CzO,UAAAA,YAAY,EAAEqhB,WAAW,CAACziB,MAAZ,CAAmB2iB,aATa;CAU9CphB,UAAAA,UAAU,EAAEkhB,WAAW,CAACziB,MAAZ,CAAmB0P,UAVe;CAW9C5P,UAAAA,OAAO,EAAE2iB,WAAW,CAACtiB,KAAZ,GAAoB,CAApB,GAAwBsiB,WAAW,CAACtiB,KAApC,GAA4CsiB,WAAW,CAACviB,SAXnB;CAY9CG,UAAAA,MAAM,EAAE,SAZsC;CAa9CgB,UAAAA,aAAa,EAAEyC,cAAI,CAACC,KAAL,CAAW0e,WAAW,CAACziB,MAAZ,CAAmBkG,KAA9B,IAAuC,GAAvC,GAA6C,GAbd;CAc9CpF,UAAAA,YAAY,EAAE,KAAK6G,OAAL,CAAaib;CAdmB,SAA9B,CAAjB;CAiBA,eAAOH,WAAW,CAACziB,MAAnB;CACA0iB,QAAAA,OAAO,GAAGjf,MAAM,CAACC,MAAP,CAAcgf,OAAd,EAAuBD,WAAvB,CAAV;CACAC,QAAAA,OAAO,CAACpjB,GAAR,GAAckB,SAAd;CAEA,aAAKuW,KAAL,CAAWC,IAAX,CAAgB6L,UAAhB,CAA2BH,OAA3B;CACA;CACD,KA3FF;;CA4FCI,IAAAA,kBAAkB,CAACf,GAAD,EAAMlf,IAAN,EAClB;CACC,WAAKya,MAAL,CAAY9a,QAAZ,CAAqB,2BAArB,EAAkD;CACjDO,QAAAA,KAAK,EAAGgf,GADyC;CAEjD/hB,QAAAA,MAAM,EAAG6C;CAFwC,OAAlD;CAIA,WAAKya,MAAL,CAAY9a,QAAZ,CAAqB,2BAArB,EAAkD;CACjDO,QAAAA,KAAK,EAAGgf,GADyC;CAEjD/hB,QAAAA,MAAM,EAAG6C,IAAI,CAAC7C;CAFmC,OAAlD;CAIA,KAtGF;;CAuGC;CACF;CACA;CACA;CACA;CACA;CACE+iB,IAAAA,gBAAgB,GAChB;CACC,YAAM3jB,MAAM,GAAG,KAAKke,MAAL,CAAYC,OAAZ,CAAoB,uBAApB,GAAf;CACAne,MAAAA,MAAM,CAACwD,OAAP,CAAe,CAACC,IAAD,EAAOC,CAAP,KAAW;CACzB,YACC1D,MAAM,CAAC0D,CAAD,CAAN,CAAUnC,IAAV,KAAmB,EAAnB,IACGvB,MAAM,CAAC0D,CAAD,CAAN,CAAUvC,KAAV,GAAkB,KAFtB,EAIA;CACC,eAAK+c,MAAL,CAAYhb,MAAZ,CAAmB,wBAAnB,EAA6C;CAC5CS,YAAAA,KAAK,EAAED;CADqC,WAA7C;CAGA;CACD,OAVD;CAWA,KA3HF;;CA4HCkgB,IAAAA,gBAAgB,CAACjZ,MAAD,EAChB;CACC,YAAM5J,KAAK,GAAG6hB,QAAQ,CAACjY,MAAM,CAAC0B,EAAR,CAAtB;;CACA,UAAGtL,KAAK,GAAG,CAAX,EACA;CACC,cAAM4C,KAAK,GAAG,KAAK6e,2BAAL,CAAiCzhB,KAAjC,CAAd;;CACA,YAAG4C,KAAK,IAAI,CAAZ,EACA;CACC,eAAKkgB,uBAAL,CAA6BlZ,MAA7B;CACA,SAHD,MAKA;CACC,eAAKgZ,gBAAL;CACA,eAAKd,aAAL,CAAmB9hB,KAAnB,EAA0B4J,MAA1B;CACA;CACD;CACD,KA5IF;;CA6ICkZ,IAAAA,uBAAuB,CAAClZ,MAAD,EACvB;CACC,WAAKmT,KAAL,GAAa,IAAIC,gBAAJ,CAAU,IAAV,EAAgB,IAAhB,EAAsB;CAClCzM,QAAAA,MAAM,EAAE;CACPwS,UAAAA,YAAY,EAAE,MAAM;CAAC,iBAAKhG,KAAL,CAAWoB,OAAX;CAAqB;CADnC,SAD0B;CAIlC6E,QAAAA,MAAM,EAAE,IAJ0B;CAKlCjF,QAAAA,QAAQ,EAAE,IALwB;CAMlCD,QAAAA,UAAU,EAAE,IANsB;CAOlCH,QAAAA,SAAS,EAAE,IAPuB;CAQlCsF,QAAAA,QAAQ,EAAE3M,aAAG,CAACC,UAAJ,CAAe,yCAAf,CARwB;CASlC2M,QAAAA,SAAS,EAAE,IATuB;CAUlCC,QAAAA,SAAS,EAAE,KAVuB;CAWlCC,QAAAA,WAAW,EAAE,IAXqB;CAYlCpF,QAAAA,SAAS,EAAE,KAZuB;CAalCyB,QAAAA,OAAO,EAAE,IAbyB;CAclCjC,QAAAA,OAAO,EAAElH,aAAG,CAACC,UAAJ,CAAe,wCAAf,EAAyDrO,OAAzD,CAAiE,QAAjE,EAA2E0B,MAAM,CAACpJ,IAAlF,CAdyB;CAelC6iB,QAAAA,OAAO,EAAE,KAAKC,UAAL,CAAgB1Z,MAAhB;CAfyB,OAAtB,CAAb;CAkBA,WAAKmT,KAAL,CAAWpT,IAAX;CACA,KAlKF;;CAmKC2Z,IAAAA,UAAU,CAACvf,OAAD,EACV;CACC,YAAMsf,OAAO,GAAG,EAAhB;CACA,YAAMzZ,MAAM,GAAG7F,OAAf;CACAsf,MAAAA,OAAO,CAAC7f,IAAR,CACC,IAAIgW,EAAE,CAACgF,EAAH,CAAM+E,UAAV,CACC;CACCpa,QAAAA,IAAI,EAAGmN,aAAG,CAACC,UAAJ,CAAe,sCAAf,CADR;CAEClN,QAAAA,OAAO,EAAE,MAAM;CACd,gBAAMtJ,SAAS,GAAG8hB,QAAQ,CAACjY,MAAM,CAAC0B,EAAR,CAA1B;CACA,gBAAM1I,KAAK,GAAG,KAAK6e,2BAAL,CAAiC1hB,SAAjC,CAAd;;CACA,cAAG6C,KAAK,IAAI,CAAZ,EACA;CACC,iBAAKkf,aAAL,CAAmB/hB,SAAnB,EAA8B,EAC7B,GAAG6J,MAD0B;CAE7ByY,cAAAA,WAAW,EAAE;CAFgB,aAA9B;CAIA;;CACD,eAAKtF,KAAL,CAAWoB,OAAX;CACA;CAbF,OADD,CADD;CAoBAkF,MAAAA,OAAO,CAAC7f,IAAR,CACC,IAAIgW,EAAE,CAACgF,EAAH,CAAMgF,YAAV,CACC;CACCra,QAAAA,IAAI,EAAGmN,aAAG,CAACC,UAAJ,CAAe,sCAAf,CADR;CAEClN,QAAAA,OAAO,EAAE,MAAM;CAAC,eAAK0T,KAAL,CAAWoB,OAAX;CAAqB;CAFtC,OADD,CADD;CAQA,aAAOkF,OAAP;CACA,KApMF;;CAqMCI,IAAAA,uBAAuB,GACvB;CACC,YAAMC,QAAQ,GAAG,sCAAjB;;CACAC,MAAAA,MAAM,CAACD,QAAD,CAAN,GAAmB9Z,MAAM,IAAI,KAAKiZ,gBAAL,CAAsBjZ,MAAtB,CAA7B;;CAEA,YAAMmT,KAAK,GAAG,IAAIvD,EAAE,CAACoK,OAAP,CAAe;CAC5BC,QAAAA,WAAW,EAAE;CAEZ;CACA,4BAHY,GAIZ,aAJY,GAIEH,QAJF,GAKZ,kBALY,GAMZ,gBAP2B;CAQ5BxE,QAAAA,MAAM,EAAE4E,IAAI,CAACC,GAAL,CAAS,GAAT,EAAcJ,MAAM,CAACK,WAAP,GAAmB,GAAjC,CARoB;CAS5BtG,QAAAA,KAAK,EAAEoG,IAAI,CAACC,GAAL,CAAS,GAAT,EAAcJ,MAAM,CAACM,UAAP,GAAkB,GAAhC,CATqB;CAU5Bf,QAAAA,SAAS,EAAE,IAViB;CAW5BC,QAAAA,SAAS,EAAE,IAXiB;CAY5Be,QAAAA,UAAU,EAAE,GAZgB;CAa5BC,QAAAA,SAAS,EAAE,GAbiB;CAc5BnB,QAAAA,MAAM,EAAE;CAdoB,OAAf,CAAd;CAiBAjG,MAAAA,KAAK,CAACqH,IAAN;CACA,KA5NF;;CA6NCjF,IAAAA,UAAU,CAACpX,KAAD,EACV;CACC,UAAIA,KAAK,CAACC,MAAN,CAAaqc,OAAb,CAAqBC,SAArB,KAAmC,mBAAvC,EACA;CACC,cAAMrc,KAAK,GAAGF,KAAK,CAACC,MAAN,CAAaoX,OAAb,GAAuB,GAAvB,GAA6B,GAA3C;CACA,aAAKxI,KAAL,CAAWC,IAAX,CAAgBC,gBAAhB,CAAiC,aAAjC,EAAgD7O,KAAhD;CACA,OAJD,MAKK,IAAIF,KAAK,CAACC,MAAN,CAAaqc,OAAb,CAAqBC,SAArB,KAAmC,yBAAvC,EACL;CACC,cAAMrc,KAAK,GAAGF,KAAK,CAACC,MAAN,CAAaoX,OAAb,GAAuB,GAAvB,GAA6B,GAA3C;CACA,aAAKxI,KAAL,CAAWC,IAAX,CAAgBC,gBAAhB,CAAiC,mBAAjC,EAAsD7O,KAAtD;CACA,OAJI,MAKA,IAAIF,KAAK,CAACC,MAAN,CAAaqc,OAAb,CAAqBC,SAArB,KAAmC,oBAAvC,EACL;CACC,cAAMrc,KAAK,GAAGF,KAAK,CAACC,MAAN,CAAaoX,OAAb,GAAuB,GAAvB,GAA6B,GAA3C;CACA,aAAKxI,KAAL,CAAWC,IAAX,CAAgBC,gBAAhB,CAAiC,cAAjC,EAAiD7O,KAAjD;CACA,OAJI,MAKA,IAAIF,KAAK,CAACC,MAAN,CAAaqc,OAAb,CAAqBC,SAArB,KAAmC,iBAAvC,EACL;CACC,cAAMrc,KAAK,GAAGF,KAAK,CAACC,MAAN,CAAaoX,OAAb,GAAuB,GAAvB,GAA6B,GAA3C;;CAEA,YAAGnX,KAAK,KAAK,GAAb,EACA;CACC,eAAKsB,SAAL,CAAeO,KAAf;CACA,cAAIya,uBAAJ,GAAaC,IAAb,CAAkB,qEAAlB,EAAwF,EAAxF,EACCnS,IADD,CACM,MAAM;CACXF,YAAAA,cAAI,CAACC,SAAL,CACC,0CADD,EAEC,EAFD,EAGEC,IAHF,CAGOC,QAAQ,IAAI;CAElB,oBAAM1P,KAAK,GAAG,KAAK6hB,eAAL,GAAuB9C,SAAvB,CAAkCjf,IAAD,IAC/C;CACC,uBAAOA,IAAI,CAAC4I,EAAL,KAAYvD,KAAK,CAACC,MAAN,CAAaqc,OAAb,CAAqBC,SAAxC;CACA,eAHa,CAAd;CAKA,mBAAKjD,QAAL,CAAcze,KAAd,EAAqBwc,OAArB,GAA+B9M,QAAQ,CAACpH,IAAT,KAAkB,IAAjD;CACA,aAXD;CAYA,WAdD;CAeA,SAlBD,MAoBA;CACC,cAAIwZ,8BAAJ,GAAoB3H,KAApB;CAEAlR,UAAAA,6BAAY,CAACC,SAAb,CAAuB6Y,0BAAS,CAAC5H,KAAV,CAAgB6H,OAAvC,EAAgD,MAAM;CACrDzS,YAAAA,cAAI,CAACC,SAAL,CACC,qCADD,EAEC,EAFD,EAGEC,IAHF,CAGOC,QAAQ,IAAI;CAClB,oBAAM1P,KAAK,GAAG,KAAK6hB,eAAL,GAAuB9C,SAAvB,CAAkCjf,IAAD,IAC/C;CACC,uBAAOA,IAAI,CAAC4I,EAAL,KAAYvD,KAAK,CAACC,MAAN,CAAaqc,OAAb,CAAqBC,SAAxC;CACA,eAHa,CAAd;CAKA9K,cAAAA,EAAE,CAACgF,EAAH,CAAMC,YAAN,CAAmBC,MAAnB,CAA0BC,MAA1B,CAAiC;CAChCnB,gBAAAA,OAAO,EAAElH,aAAG,CAACC,UAAJ,CAAe,qCAAf,CADuB;CAEhCmH,gBAAAA,KAAK,EAAE,MAFyB;CAGhCmB,gBAAAA,aAAa,EAAE;CAHiB,eAAjC;CAMA,mBAAKwC,QAAL,CAAcze,KAAd,EAAqBwc,OAArB,GAA+B,CAAC9M,QAAQ,CAACpH,IAAzC;CACA,aAhBD;CAiBA,WAlBD;CAoBAW,UAAAA,6BAAY,CAACC,SAAb,CAAuB6Y,0BAAS,CAAC5H,KAAV,CAAgB8H,aAAvC,EAAsD,MACtD;CACC,kBAAMjiB,KAAK,GAAG,KAAK6hB,eAAL,GAAuB9C,SAAvB,CAAkCjf,IAAD,IAC/C;CACC,qBAAOA,IAAI,CAAC4I,EAAL,KAAYvD,KAAK,CAACC,MAAN,CAAaqc,OAAb,CAAqBC,SAAxC;CACA,aAHa,CAAd;CAKA,iBAAKjD,QAAL,CAAcze,KAAd,EAAqBwc,OAArB,GAA+B,IAA/B;CACA,WARD;CASA;CACD;CACD,KAxSF;;CAySC0F,IAAAA,cAAc,CAACpiB,IAAD,EACd;CACC,YAAM6L,KAAK,GAAGuC,aAAG,CAACuK,MAAP,oBAAc;;KAAd,EAAX;CAGA9M,MAAAA,KAAK,CAAC6Q,OAAN,GAAgB1c,IAAI,CAAC0c,OAArB;CACA7Q,MAAAA,KAAK,CAAC8V,OAAN,CAAcC,SAAd,GAA0B5hB,IAAI,CAAC4I,EAA/B;CAEA,YAAMyZ,OAAO,GAAGjU,aAAG,CAACuK,MAAP,sBAAc;;OAAd,CAEH;sCAFG,CAGiC;;IAHjC,GAET9M,KAFS,EAGsB7L,IAAI,CAACmO,KAH3B,CAAb;CAOA0K,MAAAA,eAAK,CAACvP,IAAN,CAAW+Y,OAAX,EAAoB,QAApB,EAA8B,KAAK5F,UAAL,CAAgBnT,IAAhB,CAAqB,IAArB,CAA9B;CAEA,aAAO+Y,OAAP;CACA,KA3TF;;CA4TCN,IAAAA,eAAe,GACf;CACC,aAAO;CAEN;CACA;CACA;CACA;CACA;CACCnZ,QAAAA,EAAE,EAAE,yBADL;CAEC8T,QAAAA,OAAO,EAAG,KAAK5X,OAAL,CAAaoS,iBAAb,KAAmC,GAF9C;CAGC/I,QAAAA,KAAK,EAAE,KAAKzG,QAAL,CAAc4a;CAHtB,OANM;CAYN;CACA;CACA;CACA;CACA;CACC1Z,QAAAA,EAAE,EAAE,iBADL;CAEC8T,QAAAA,OAAO,EAAG,KAAK5X,OAAL,CAAayd,eAFxB;CAGCpU,QAAAA,KAAK,EAAE,KAAKzG,QAAL,CAAc8a;CAHtB,OAhBM,CAAP;CAsBA,KApVF;;CAsVCC,IAAAA,sBAAsB,GACtB;CACC,YAAM3H,OAAO,GAAG1M,aAAG,CAACuK,MAAP,sBAAc;;KAAd,EAAb;CAIA,WAAKgG,QAAL,CAAc5e,OAAd,CAAsBC,IAAI,IAAI;CAC7B8a,QAAAA,OAAO,CAAC4H,MAAR,CAAe,KAAKN,cAAL,CAAoBpiB,IAApB,CAAf;CACA,OAFD;CAIA,aAAO8a,OAAP;CACA,KAjWF;;CAkWC6H,IAAAA,eAAe,CAACtd,KAAD,EACf;CACC;CACA;CACC,WAAKwB,SAAL,GAAiB,IAAIyT,gBAAJ,CAAU,IAAV,EAAgBjV,KAAK,CAACC,MAAtB,EAChB;CACC+V,QAAAA,QAAQ,EAAE,IADX;CAECmF,QAAAA,SAAS,EAAE,KAFZ;CAGCoC,QAAAA,UAAU,EAAE,CAHb;CAICC,QAAAA,SAAS,EAAE,CAJZ;CAKCC,QAAAA,aAAa,EAAE,IALhB;CAMCC,QAAAA,WAAW,EAAE;CAACC,UAAAA,iBAAiB,EAAE;CAApB,SANd;CAOC5H,QAAAA,UAAU,EAAE,IAPb;CAQCN,QAAAA,OAAO,EAAE,KAAK2H,sBAAL;CARV,OADgB,CAAjB,CAHF;;CAiBC,WAAK5b,SAAL,CAAeI,IAAf;CACA,KArXF;;CAsXCgc,IAAAA,UAAU,CAACC,GAAD,EAAMpe,OAAN,EACV;CACC,UAAG,CAAC7D,cAAI,CAACkiB,aAAL,CAAmBre,OAAnB,CAAJ,EACA;CACCA,QAAAA,OAAO,GAAG,EAAV;CACA;;CACDA,MAAAA,OAAO,GAAG,EAAC,GAAG;CAACwW,UAAAA,SAAS,EAAE,KAAZ;CAAmB8H,UAAAA,kBAAkB,EAAE,KAAvC;CAA8CvV,UAAAA,MAAM,EAAE;CAAtD,SAAJ;CAA+D,WAAG/I;CAAlE,OAAV;CACA,aAAO,IAAIqK,OAAJ,CAAaC,OAAD,IAClB;CACC,YAAGnO,cAAI,CAACoiB,QAAL,CAAcH,GAAd,KAAsBA,GAAG,CAACpjB,MAAJ,GAAa,CAAtC,EACA;CACCgF,UAAAA,OAAO,CAAC+I,MAAR,CAAeyV,OAAf,GAAyB,UAASje,KAAT,EACxB;CACC+J,YAAAA,OAAO,CAAC/J,KAAK,CAACke,SAAN,EAAD,CAAP;CACF,WAHA;;CAIDzM,UAAAA,EAAE,CAAC0M,SAAH,CAAaC,QAAb,CAAsB3B,IAAtB,CAA2BoB,GAA3B,EAAgCpe,OAAhC;CACA,SAPA,MASD;CACCsK,UAAAA,OAAO;CACP;CACD,OAdM,CAAP;CAeA;;CA5YF,GAlBD;CAgaC3H,EAAAA,QAAQ,EACR;CACCC,IAAAA,QAAQ,GACR;CACC,aAAOvG,UAAG,CAACwG,kBAAJ,CAAuB,UAAvB,CAAP;CACA,KAJF;;CAKC6I,IAAAA,UAAU,GACV;CACC,aAAO,KAAKkT,KAAL,CAAWnnB,MAAX,CAAkBuD,MAAzB;CACA,KARF;;CASC,OAAG0e,gBAAI,CAACC,QAAL,CAAc;CAChBC,MAAAA,WAAW,EAAE9e,KAAK,IAAIA,KAAK,CAAC8e;CADZ,KAAd;CATJ,GAjaD;;CA8aClV,EAAAA,OAAO,GACP;CACC,SAAKmV,QAAL,GAAgB,KAAKoD,eAAL,EAAhB;CACA,GAjbF;;CAkbC;CACA1a,EAAAA,QAAQ,EAAG;;;;;;;;;;;CAnbZ,CADA;;ACKAlG,WAAG,CAACmD,SAAJ,CAAcpC,MAAM,CAACG,YAArB,EACA;CACCkC,EAAAA,KAAK,EAAE;CACNO,IAAAA,OAAO,EAAElE,MADH;CAEN0K,IAAAA,IAAI,EAAE7G;CAFA,GADR;;CAKCM,EAAAA,OAAO,GACP;CACC+R,IAAAA,EAAE,CAACrH,IAAH,CAAQC,SAAR,CACC,sCADD,EAEC;CAAEkL,MAAAA,IAAI,EAAE;CAAE1Q,QAAAA,QAAQ,EAAE,KAAKpF,OAAL,CAAaoF;CAAzB;CAAR,KAFD;CAIA,GAXF;;CAYC9E,EAAAA,OAAO,EACP;CACCwZ,IAAAA,aAAa,GACb;CACC,WAAKnE,MAAL,CAAY9a,QAAZ,CAAqB,2BAArB;CACA,KAJF;;CAMCgkB,IAAAA,aAAa,CAAC3jB,IAAD,EACb;CACC,WAAKkU,KAAL,CAAWC,IAAX,CAAgBwP,aAAhB,CAA8B3jB,IAA9B;CACA,KATF;;CAWC4jB,IAAAA,gBAAgB,GAChB;CACC,WAAK1P,KAAL,CAAWC,IAAX,CAAgByP,gBAAhB;CACA,KAdF;;CAgBCvR,IAAAA,aAAa,CAACrS,IAAD,EACb;CACC,aAAOA,IAAI,CAACqB,OAAL,CAAalE,MAApB;CACA,WAAKsd,MAAL,CAAYhb,MAAZ,CAAmB,wBAAnB,EAA6CO,IAA7C;CACA,KApBF;;CAsBCN,IAAAA,UAAU,CAACM,IAAD,EACV;CACC,WAAKkU,KAAL,CAAWC,IAAX,CAAgB0P,aAAhB,CAA8B7jB,IAA9B;CACA,KAzBF;;CA2BCK,IAAAA,OAAO,GACP;CACC,WAAK6T,KAAL,CAAWC,IAAX,CAAgB6L,UAAhB;CACA;;CA9BF,GAbD;CA6CCvY,EAAAA,QAAQ,EACR;CACCC,IAAAA,QAAQ,GACR;CACC,aAAOvG,UAAG,CAACwG,kBAAJ,CAAuB,UAAvB,CAAP;CACA,KAJF;;CAMCmc,IAAAA,aAAa,GACb;CACC,aAAO,KAAKhf,OAAL,CAAauS,YAAb,KAA8B,GAArC;CACA,KATF;;CAWC0M,IAAAA,WAAW,GACX;CACC,aAAO,KAAKjf,OAAL,CAAaif,WAAb,KAA6B,KAApC;CACA,KAdF;;CAgBCC,IAAAA,cAAc,GACd;CACC,aAAO,KAAKlf,OAAL,CAAamf,iBAAb,KAAmC,IAAnC,IACH,KAAK3Y,IAAL,KAAcpH,QAAQ,CAACE,SADpB,IAEH,KAAKU,OAAL,CAAaof,eAAb,KAAiCpoB,mBAAmB,CAACE,MAFzD;CAIA,KAtBF;;CAwBCmoB,IAAAA,iBAAiB,GACjB;CACC,aAAO,KAAKrf,OAAL,CAAamf,iBAAb,KAAmC,IAAnC,IACH,KAAK3Y,IAAL,KAAcpH,QAAQ,CAACE,SADpB,IAEH,KAAKU,OAAL,CAAaof,eAAb,KAAiCpoB,mBAAmB,CAACE,MAFzD;CAIA,KA9BF;;CAgCCooB,IAAAA,eAAe,GACf;CACC,aAAO,KAAKL,WAAL,IAAoB,KAAKM,gBAAhC;CACA,KAnCF;;CAqCC7T,IAAAA,UAAU,GACV;CACC,aAAO,KAAKkO,WAAL,CAAiBniB,MAAjB,CAAwBuD,MAA/B;CACA,KAxCF;;CA0CCwkB,IAAAA,gBAAgB,GAChB;CACC,aAAO,KAAKxf,OAAL,CAAa/C,cAAb,CAA4B,kBAA5B,KAAmD,KAAK+C,OAAL,CAAawf,gBAAhE,GACJ,KAAKxf,OAAL,CAAawf,gBADT,GAEJ,KAAK5c,QAAL,CAAc6c,yBAFjB;CAGA,KA/CF;;CAiDC,OAAG/F,gBAAI,CAACC,QAAL,CAAc;CAChBC,MAAAA,WAAW,EAAE9e,KAAK,IAAIA,KAAK,CAAC8e;CADZ,KAAd;CAjDJ,GA9CD;CAmGC;CACArX,EAAAA,QAAQ,EAAG;;KAEPnF,MAAM,CAACI,oBAAqB;;;;;;;;;;MAU3BJ,MAAM,CAACM,eAAgB;;;;;;;;;;;;;;KAcxBN,MAAM,CAACI,oBAAqB;;;;;;;;;KAS5BJ,MAAM,CAACK,wBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiDrC;CAxLA,CADA;;;;;;;;;;;;;ACKA,CAAO,MAAMiiB,WAAN,CACP;CACCC,EAAAA,WAAW,CAAC3f,OAAmB,GAAG,EAAvB,EACX;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CACC,SAAKA,OAAL,GAAe,KAAK4f,cAAL,CAAoB5f,OAApB,CAAf;CACA,SAAK6f,cAAL,GAAsB/jB,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB,KAAKiE,OAAvB,CAAtB;CAEA,SAAKJ,QAAL,GAAgB,IAAhB;;CACA,sEAAcR,QAAQ,CAACC,OAAvB;;CAEA,SAAKygB,OAAL,GAAexW,aAAG,CAACuK,MAAnB,oBAA0B,sBAA1B;;CAEA,QAAI5b,cAAI,CAACyD,QAAL,CAAcsE,OAAO,CAACoF,QAAtB,KAAmC,CAAvC,EACA;CACC;CACA;;CAEDsa,IAAAA,WAAW,CAACK,SAAZ,GACElV,IADF,CACQ/S,MAAD,IAAY,KAAKkoB,YAAL,CAAkBloB,MAAlB,CADnB,EAEEuT,KAFF,CAES+F,KAAD,IAAWsO,WAAW,CAACO,SAAZ,CAAsB7O,KAAtB,CAFnB;CAIA;;CAEe,SAAT2O,SAAS,GAChB;CACC,UAAMG,OAAO,GAAG,IAAIC,uBAAJ,EAAhB;CAEA,WAAOD,OAAO,CACZE,QADK,CACIjpB,WAAW,CAACkpB,MAAZ,EADJ,EAELC,KAFK,EAAP;CAGA;;CAEDV,EAAAA,cAAc,CAAC5f,OAAmB,GAAG,EAAvB,EACd;CACC,UAAMugB,kBAAkB,GAAGC,mBAAS,CAACC,WAAV,CAAsB,sBAAtB,CAA3B;CACA,UAAMZ,cAA0B,GAAG;CAClCpoB,MAAAA,MAAM,EAAE,EAD0B;CAElCgK,MAAAA,QAAQ,EAAE,EAFwB;CAGlC2D,MAAAA,QAAQ,EAAE,IAHwB;CAIlCC,MAAAA,WAAW,EAAEkb,kBAAkB,CAACG,GAAnB,CAAuB,aAAvB,CAJqB;CAKlC3c,MAAAA,OAAO,EAAE,EALyB;CAMlCob,MAAAA,iBAAiB,EAAE,KANe;CAOlCF,MAAAA,WAAW,EAAE,IAPqB;CAQlC0B,MAAAA,2BAA2B,EAAE,KARK;CASlC5a,MAAAA,uBAAuB,EAAE,IATS;CAUlC6a,MAAAA,cAAc,EAAE,CAVkB;CAWlCrpB,MAAAA,QAAQ,EAAEgpB,kBAAkB,CAACG,GAAnB,CAAuB,UAAvB,CAXwB;CAYlC5d,MAAAA,cAAc,EAAEyd,kBAAkB,CAACG,GAAnB,CAAuB,gBAAvB,CAZkB;CAalClpB,MAAAA,WAAW,EAAE+oB,kBAAkB,CAACG,GAAnB,CAAuB,aAAvB,CAbqB;CAclCjD,MAAAA,eAAe,EAAE8C,kBAAkB,CAACG,GAAnB,CAAuB,iBAAvB,CAdiB;CAelCtO,MAAAA,iBAAiB,EAAEmO,kBAAkB,CAACG,GAAnB,CAAuB,mBAAvB,CAfe;CAgBlCnO,MAAAA,YAAY,EAAEgO,kBAAkB,CAACG,GAAnB,CAAuB,cAAvB,CAhBoB;CAiBlCrd,MAAAA,oBAAoB,EAAE,CAACjK,sCAAY,CAACC,UAAd,EAA0BD,sCAAY,CAAC+J,QAAvC,CAjBY;CAkBlC4N,MAAAA,aAAa,EAAE,CACd5S,aAAa,CAACC,gBADA,EACkBD,aAAa,CAACI,KADhC,EAEdJ,aAAa,CAACG,QAFA,EAEUH,aAAa,CAACK,MAFxB,EAGdL,aAAa,CAACM,QAHA,CAlBmB;CAuBlC2I,MAAAA,cAAc,EAAE,EAvBkB;CAwBlCkK,MAAAA,cAAc,EAAE,EAxBkB;CAyBlCuP,MAAAA,eAAe,EAAE7pB,mBAAmB,CAACC,GAzBH;CA0BlCmoB,MAAAA,eAAe,EAAEpoB,mBAAmB,CAACC,GA1BH;CA2BlCsP,MAAAA,iBAAiB,EAAE,MA3Be;CA4BlCF,MAAAA,wBAAwB,EAAE,KA5BQ;CA6BlCmL,MAAAA,yBAAyB,EAAE+O,kBAAkB,CAACG,GAAnB,CAAuB,2BAAvB,CA7BO;CA8BlC/R,MAAAA,yBAAyB,EAAE4R,kBAAkB,CAACG,GAAnB,CAAuB,2BAAvB,CA9BO;CA+BlChP,MAAAA,UAAU,EAAE6O,kBAAkB,CAACG,GAAnB,CAAuB,YAAvB,CA/BsB;CAgClCI,MAAAA,mBAAmB,EAAEhO,mBAAmB,CAACzT,OAhCP;CAiClC0hB,MAAAA,qBAAqB,EAAE;CAjCW,KAAnC;;CAoCA,QAAI/gB,OAAO,CAAC+Q,aAAR,IAAyB,CAAC5U,cAAI,CAACqF,OAAL,CAAaxB,OAAO,CAAC+Q,aAArB,CAA9B,EACA;CACC,aAAO/Q,OAAO,CAAC+Q,aAAf;CACA;;CAED,QAAI/Q,OAAO,CAACoH,cAAR,IAA0B,CAACjL,cAAI,CAACqF,OAAL,CAAaxB,OAAO,CAACoH,cAArB,CAA/B,EACA;CACC,aAAOpH,OAAO,CAACoH,cAAf;CACA;;CAEDpH,IAAAA,OAAO,GAAG,EAAC,GAAG6f,cAAJ;CAAoB,SAAG7f;CAAvB,KAAV;CACAA,IAAAA,OAAO,CAACuS,YAAR,GAAuB,GAAvB;;CAEA,QAAIgO,kBAAkB,CAACG,GAAnB,CAAuB,kBAAvB,CAAJ,EACA;CACC1gB,MAAAA,OAAO,CAAC+gB,qBAAR,GAAgC;CAC/B7d,QAAAA,IAAI,EAAElD,OAAO,CAAC8gB,mBADiB;CAE/BjJ,QAAAA,QAAQ,EAAE0I,kBAAkB,CAACG,GAAnB,CAAuB,iBAAvB,CAFqB;CAG/BjI,QAAAA,cAAc,EAAE8H,kBAAkB,CAACG,GAAnB,CAAuB,uBAAvB,CAHe;CAI/BpL,QAAAA,gBAAgB,EAAEiL,kBAAkB,CAACG,GAAnB,CAAuB,uBAAvB,CAJa;CAK/BzL,QAAAA,iBAAiB,EAAEsL,kBAAkB,CAACG,GAAnB,CAAuB,8BAAvB;CALY,OAAhC;CAOA,KATD,MAWA;CACC1gB,MAAAA,OAAO,CAAC2gB,2BAAR,GAAsC,KAAtC;CACA;;CAED3gB,IAAAA,OAAO,CAACib,mBAAR,GAA8B,EAA9B;;CACA,QAAI9e,cAAI,CAACqF,OAAL,CAAaxB,OAAO,CAACqD,oBAArB,CAAJ,EACA;CACC,UAAIrD,OAAO,CAACqD,oBAAR,CAA6BC,QAA7B,CAAsClK,sCAAY,CAACC,UAAnD,CAAJ,EACA;CACC2G,QAAAA,OAAO,CAACib,mBAAR,GAA8B7hB,sCAAY,CAACC,UAA3C;CACA,OAHD,MAIK,IAAI2G,OAAO,CAACqD,oBAAR,CAA6BC,QAA7B,CAAsClK,sCAAY,CAAC+J,QAAnD,CAAJ,EACL;CACCnD,QAAAA,OAAO,CAACib,mBAAR,GAA8B7hB,sCAAY,CAAC+J,QAA3C;CACA;CACD;;CAED,WAAOnD,OAAP;CACA;;CAEDghB,EAAAA,MAAM,GACN;CACC,WAAO,KAAKlB,OAAZ;CACA;;CAEDE,EAAAA,YAAY,CAACloB,MAAD,EACZ;CACC,WAAO,IAAIuS,OAAJ,CAAaC,OAAD,IACnB;CACC,YAAM1B,OAAO,GAAG,IAAhB;CACA,WAAKqY,KAAL,GAAanpB,MAAM,CAACmpB,KAApB;CAEA,WAAKC,cAAL,GAAsBC,gBAAS,CAACC,SAAV,CAAoB;CACzCC,QAAAA,EAAE,EAAE,KAAKvB,OADgC;CAEzCmB,QAAAA,KAAK,EAAE,KAAKA,KAF6B;CAGzCvd,QAAAA,IAAI,EAAE;CACL1D,UAAAA,OAAO,EAAE,KAAKA,OADT;CAELwG,UAAAA,IAAI,EAAE,KAAKA;CAFN,SAHmC;;CAOzCvG,QAAAA,OAAO,GACP;CACC,eAAKoP,IAAL,GAAYzG,OAAZ;CACA,SAVwC;;CAWzClE,QAAAA,OAAO,GACP;CACC4F,UAAAA,OAAO;CACP,SAdwC;;CAezC/H,QAAAA,QAAQ,EAAG,IAAGnF,MAAM,CAACG,YAAa;CAfO,OAApB,CAAtB;;CAkBA,UAAIpB,cAAI,CAACY,cAAL,CAAoB,KAAKiD,OAAL,CAAazI,QAAjC,CAAJ,EACA;CACC,aAAK+pB,OAAL,CAAa;CACZ/pB,UAAAA,QAAQ,EAAE,KAAKyI,OAAL,CAAazI;CADX,SAAb;CAGA2F,QAAAA,kCAAY,CAACqkB,kBAAb,CAAgC,KAAKvhB,OAAL,CAAazI,QAA7C;CACA;;CAED,UAAI,KAAKyI,OAAL,CAAavI,MAAb,CAAoBuD,MAApB,GAA6B,CAAjC,EACA;CACC,aAAKsmB,OAAL,CACC;CAAC7pB,UAAAA,MAAM,EAAE,KAAKuI,OAAL,CAAavI;CAAtB,SADD,EAEC;CAACopB,UAAAA,eAAe,EAAE7pB,mBAAmB,CAACE;CAAtC,SAFD;;CAKA,YAAIiF,cAAI,CAACyK,QAAL,CAAc,KAAK5G,OAAL,CAAawhB,MAA3B,CAAJ,EACA;CACC,eAAKP,KAAL,CAAWtmB,MAAX,CAAkB,sBAAlB,EAA0C,KAAKqF,OAAL,CAAawhB,MAAvD;CACA,SAHD,MAKA;CACC,eAAKP,KAAL,CAAWpmB,QAAX,CAAoB,4BAApB;CACA;CACD,OAfD,MAiBA;CACC,cAAMkgB,OAAO,GAAG,KAAKkG,KAAL,CAAWrL,OAAX,CAAmB,4BAAnB,GAAhB;CACAmF,QAAAA,OAAO,CAAC1iB,MAAR,CAAec,YAAf,GAA8B,KAAK6G,OAAL,CAAaib,mBAA3C;CACA,aAAKC,UAAL,CAAgBH,OAAhB;CACA;;CAED1W,MAAAA,6BAAY,CAACod,IAAb,CAAkB,IAAlB,EAAwB,aAAxB;CACA,KAvDM,CAAP;CAwDA;;CAEDvG,EAAAA,UAAU,CAAChgB,IAAI,GAAG,EAAR,EACV;CACC,SAAK+lB,KAAL,CAAWpmB,QAAX,CAAoB,qBAApB,EAA2C;CAC1CK,MAAAA,IAD0C;CAE1CM,MAAAA,QAAQ,EAAE,KAAKwE,OAAL,CAAa6gB;CAFmB,KAA3C,EAIEhW,IAJF,CAIO,MAAM;CACX;CACA,KANF;CAOA;;CASDiU,EAAAA,gBAAgB,GAChB;CACCza,IAAAA,6BAAY,CAACod,IAAb,CAAkB,IAAlB,EAAwB,4BAAxB;CACA;;CAED5C,EAAAA,aAAa,CAAC3jB,IAAD,EACb;CACC,UAAMqB,OAAO,GAAGrB,IAAI,CAACqB,OAArB;CACAA,IAAAA,OAAO,CAAC/B,MAAR,GAAiB,EAAjB;;CACA,QAAIU,IAAI,CAAC+S,iBAAL,KAA2B,IAA/B,EACA;CACC,YAAMnW,MAAM,2CAAG,IAAH,8CAA6ByE,OAAO,CAAClE,MAArC,CAAZ;;CACAkE,MAAAA,OAAO,CAAC/B,MAAR,GAAiB,CAAA1C,MAAM,QAAN,YAAAA,MAAM,CAAE0C,MAAR,KAAkB,EAAnC;CACA;;CAED,SAAKymB,KAAL,CAAWpmB,QAAX,CAAoB,wBAApB,EAA8C;CAC7CO,MAAAA,KAAK,EAAEF,IAAI,CAACE,KADiC;CAE7CmB,MAAAA;CAF6C,KAA9C,EAGGsO,IAHH,CAGQ,MAAM;CACb;CACA,KALD;CAMA;;CA+CDkU,EAAAA,aAAa,CAACxiB,OAAD,EACb;CACC,SAAK0kB,KAAL,CAAWpmB,QAAX,CAAoB,wBAApB,EAA8C;CAC7CO,MAAAA,KAAK,EAAEmB,OAAO,CAACnB;CAD8B,KAA9C,EAEGyP,IAFH,CAEQ,MAAM;CACb;CACA,KAJD;CAKA;;CAEDyW,EAAAA,OAAO,CAAC5d,IAAD,EAAOge,MAAM,GAAG,EAAhB,EACP;CACC,QAAIvlB,cAAI,CAACyK,QAAL,CAAclD,IAAI,CAACjM,MAAnB,CAAJ,EACA;CACC,YAAMkqB,UAAU,GAAG,KAAKV,KAAL,CAAWrL,OAAX,CAAmB,uBAAnB,GAAnB;CACAlS,MAAAA,IAAI,CAACjM,MAAL,CAAYwD,OAAZ,CAAqB5C,MAAD,IAAY;CAC/B,YAAI,CAAC8D,cAAI,CAACyK,QAAL,CAAcvO,MAAd,CAAL,EACA;CACC;CACA;;CACD,cAAMupB,YAAY,GAAGF,MAAM,CAACb,eAAP,IAA0B,KAAK7gB,OAAL,CAAa6gB,eAA5D;CAEA,cAAMvoB,OAAO,GAAGD,MAAM,CAACD,UAAvB;;CACA,YAAI+D,cAAI,CAACC,KAAL,CAAW9D,OAAX,CAAJ,EACA;CACC,eAAK2oB,KAAL,CAAWpmB,QAAX,CAAoB,qBAApB,EAA2C;CAC1CK,YAAAA,IAAI,EAAE7C,MADoC;CAE1CmD,YAAAA,QAAQ,EAAEomB;CAFgC,WAA3C;CAKA;CACA;;CAED,cAAMC,WAAW,GAAGF,UAAU,CAACxH,SAAX,CAAqBjf,IAAI,IAAIA,IAAI,CAAC9C,UAAL,KAAoBE,OAAjD,CAApB;;CACA,YAAIupB,WAAW,KAAK,CAAC,CAArB,EACA;CACC,eAAKZ,KAAL,CAAWpmB,QAAX,CAAoB,qBAApB,EAA2C;CAC1CK,YAAAA,IAAI,EAAE7C,MADoC;CAE1CmD,YAAAA,QAAQ,EAAEomB;CAFgC,WAA3C;CAIA,SAND,MAQA;CACC,eAAKX,KAAL,CAAWpmB,QAAX,CAAoB,wBAApB,EAA8C;CAACgnB,YAAAA,WAAD;CAAcxpB,YAAAA;CAAd,WAA9C;CACA;CACD,OA9BD;CA+BA;;CAED,QAAI8D,cAAI,CAACY,cAAL,CAAoB2G,IAAI,CAACnM,QAAzB,CAAJ,EACA;CACC,WAAK0pB,KAAL,CAAWpmB,QAAX,CAAoB,yBAApB,EAA+C6I,IAAI,CAACnM,QAApD;CACA;;CAED,QAAI4E,cAAI,CAACyK,QAAL,CAAclD,IAAI,CAAChM,KAAnB,CAAJ,EACA;CACC,WAAKupB,KAAL,CAAWtmB,MAAX,CAAkB,sBAAlB,EAA0C;CACzChD,QAAAA,GAAG,EAAE+L,IAAI,CAAChM,KAAL,CAAWC,GADyB;CAEzCE,QAAAA,MAAM,EAAE6L,IAAI,CAAChM,KAAL,CAAWG,MAFsB;CAGzCD,QAAAA,QAAQ,EAAE8L,IAAI,CAAChM,KAAL,CAAWE,QAHoB;CAIzCE,QAAAA,MAAM,EAAE4L,IAAI,CAAChM,KAAL,CAAWI;CAJsB,OAA1C;CAMA;;CAED,QAAIqE,cAAI,CAACyK,QAAL,CAAclD,IAAI,CAAClJ,MAAnB,CAAJ,EACA;CACC,WAAKymB,KAAL,CAAWtmB,MAAX,CAAkB,uBAAlB,EAA2C+I,IAAI,CAAClJ,MAAhD;CACA;CACD;;CAED8U,EAAAA,gBAAgB,CAACwS,UAAD,EAAarhB,KAAb,EAChB;CACCA,IAAAA,KAAK,GAAIA,KAAK,KAAK,GAAX,GAAkB,GAAlB,GAAwB,GAAhC;;CAEA,QAAIqhB,UAAU,KAAK,mBAAnB,EACA;CACC,UAAI,CAAC,KAAK9hB,OAAL,CAAa2gB,2BAAlB,EACA;CACC;CACA;;CAED,YAAMna,IAAI,GAAI/F,KAAK,KAAK,GAAX,GAAkBrB,QAAQ,CAACG,WAA3B,GAAyCH,QAAQ,CAACC,OAA/D;;CACA,kHAAmCmH,IAAnC;;CAEA;CACA;;CAED,SAAKxG,OAAL,CAAa8hB,UAAb,IAA2BrhB,KAA3B;;CACA,QAAIqhB,UAAU,KAAK,8BAAnB,EACA;CACC,YAAMrqB,MAAM,GAAG,KAAKwpB,KAAL,CAAWrL,OAAX,CAAmB,uBAAnB,GAAf;CACAne,MAAAA,MAAM,CAACwD,OAAP,CAAe,CAACC,IAAD,EAAOE,KAAP,KAAiB;CAC/B,YAAI0mB,UAAU,KAAK,mBAAnB,EACA;CACC5mB,UAAAA,IAAI,CAACkX,iBAAL,GAAyB3R,KAAzB;CACA,SAHD,MAIK,IAAIqhB,UAAU,KAAK,cAAnB,EACL;CACC5mB,UAAAA,IAAI,CAACqX,YAAL,GAAoB9R,KAApB;CACA,SAHI,MAIA,IAAIqhB,UAAU,KAAK,aAAnB,EACL;CACC5mB,UAAAA,IAAI,CAAC7C,MAAL,CAAYb,WAAZ,GAA0BiJ,KAA1B;CACA;;CAED,aAAKwgB,KAAL,CAAWpmB,QAAX,CAAoB,wBAApB,EAA8C;CAC7CO,UAAAA,KAD6C;CAE7C/C,UAAAA,MAAM,EAAE6C;CAFqC,SAA9C;CAIA,OAlBD;CAmBA;;CAEDyP,IAAAA,cAAI,CAACC,SAAL,CACC,+BADD,EAEC;CACClH,MAAAA,IAAI,EAAE;CACLqe,QAAAA,UAAU,EAAED,UADP;CAELrhB,QAAAA,KAAK,EAAEA;CAFF;CADP,KAFD;CASA;;CA2BDuhB,EAAAA,QAAQ,GACR;CACC,SAAKf,KAAL,CAAWpmB,QAAX,CAAoB,sBAApB;CACA;;CAEDonB,EAAAA,WAAW,CAACxhB,KAAD,EACX;CACC,SAAKb,QAAL,GAAgBa,KAAhB;;CACA,QAAI,CAACA,KAAL,EACA;CACC,wEAAcrB,QAAQ,CAACE,SAAvB;CACA,KAHD,MAKA;CACC,wEAAcF,QAAQ,CAACC,OAAvB;CACA;CACD;;CAwCD6iB,EAAAA,SAAS,GACT;CACC,QAAI,CAAC,KAAKjB,KAAV,EACA;CACC,aAAO,KAAP;CACA;;CAED,UAAMxpB,MAAM,GAAG,KAAKwpB,KAAL,CAAWrL,OAAX,CAAmB,uBAAnB,GAAf;CACA,UAAMuM,UAAU,GAAG1qB,MAAM,CAAC0Z,MAAP,CAClBjW,IAAI,IAAIA,IAAI,CAACV,MAAL,CAAYQ,MAAZ,GAAqB,CADX,CAAnB;CAIA,WAAOmnB,UAAU,CAACnnB,MAAX,GAAoB,CAA3B;CACA;;CAEe,SAATilB,SAAS,CAAC7O,KAAD,EAChB;CACCgR,IAAAA,OAAO,CAAChR,KAAR,CAAcA,KAAd;CACA;;CAreF;;6BA+LC;CACC/M,EAAAA,6BAAY,CAACod,IAAb,CAAkB,IAAlB,EAAwB,4BAAxB,EAAsD;CACrDhqB,IAAAA,MAAM,EAAE,KAAKwpB,KAAL,CAAWrL,OAAX,CAAmB,uBAAnB;CAD6C,GAAtD;CAGA;;gCAyBoBvd,QACrB;CACC,QAAMP,MAAM,GAAG,EAAf;;CACA,MAAI,CAACqE,cAAI,CAACqF,OAAL,CAAa,KAAKxB,OAAL,CAAaoH,cAA1B,CAAD,IAA8C,KAAKpH,OAAL,CAAaoH,cAAb,CAA4BpM,MAA5B,KAAuC,CAAzF,EACA;CACC,WAAOlD,MAAP;CACA;;CAEDA,EAAAA,MAAM,CAAC0C,MAAP,GAAgB,EAAhB;CACA,OAAKwF,OAAL,CAAaoH,cAAb,CAA4BnM,OAA5B,CAAqCxC,IAAD,IAAU;CAC7C,YAAQA,IAAR;CAEC,WAAK0F,aAAa,CAACI,KAAnB;CACC,YAAIlG,MAAM,CAACO,KAAP,IAAgB,CAApB,EACA;CACCd,UAAAA,MAAM,CAAC0C,MAAP,CAAcwB,IAAd,CAAmB;CAClBvD,YAAAA,IAAI,EAAEoG,aAAa,CAACI,WADF;CAElBsK,YAAAA,OAAO,EAAEuF,aAAG,CAACC,UAAJ,CAAe,gCAAf;CAFS,WAAnB;CAIA;;CACD;;CACD,WAAK5Q,aAAa,CAACG,QAAnB;CACC,YAAIjG,MAAM,CAACU,QAAP,IAAmB,CAAvB,EACA;CACCjB,UAAAA,MAAM,CAAC0C,MAAP,CAAcwB,IAAd,CAAmB;CAClBvD,YAAAA,IAAI,EAAEoG,aAAa,CAACG,cADF;CAElBuK,YAAAA,OAAO,EAAEuF,aAAG,CAACC,UAAJ,CAAe,mCAAf;CAFS,WAAnB;CAIA;;CACD;;CACD,WAAK5Q,aAAa,CAACQ,KAAnB;CACC,YAAI,CAACxC,cAAI,CAACqF,OAAL,CAAanJ,MAAM,CAACwB,MAApB,CAAD,IAAgCxB,MAAM,CAACwB,MAAP,CAAcmB,MAAd,KAAyB,CAA7D,EACA;CACClD,UAAAA,MAAM,CAAC0C,MAAP,CAAcwB,IAAd,CAAmB;CAClBvD,YAAAA,IAAI,EAAEoG,aAAa,CAACK,WADF;CAElBqK,YAAAA,OAAO,EAAEuF,aAAG,CAACC,UAAJ,CAAe,gCAAf;CAFS,WAAnB;CAIA;;CACD;CA5BF;CA8BA,GA/BD;CAiCA,SAAOjX,MAAP;CACA;;yCA2H6B0O,MAC9B;CACC,OAAKxG,OAAL,CAAaoH,cAAb,GAA8B,EAA9B;;CACA,MAAIZ,IAAI,KAAKpH,QAAQ,CAACG,WAAtB,EACA;CACC,UAAM8iB,yBAAyB,GAAG,CACjClkB,aAAa,CAACC,gBADmB,EACDD,aAAa,CAACI,KADb,EACoBJ,aAAa,CAACQ,KADlC,CAAlC;CAGA,SAAKqB,OAAL,CAAaoH,cAAb,GAA8B,KAAKpH,OAAL,CAAa+Q,aAAb,CAA2BI,MAA3B,CAC7BjW,IAAI,IAAImnB,yBAAyB,CAAC/e,QAA1B,CAAmCpI,IAAnC,CADqB,CAA9B;CAGA;;CAED,oEAAcsL,IAAd;;CAEA,QAAM/O,MAAM,GAAG,KAAKwpB,KAAL,CAAWrL,OAAX,CAAmB,uBAAnB,GAAf;CAEAne,EAAAA,MAAM,CAACwD,OAAP,CAAe,CAACC,IAAD,EAAOE,KAAP,KAAiB,KAAKyjB,aAAL,CAAmB;CACjDzjB,IAAAA,KADiD;CAEjDmB,IAAAA,OAAO,EAAErB,IAFwC;CAGjD+S,IAAAA,iBAAiB,EAAGxW,MAAM,CAACuD,MAAP,KAAkB,CAAlB,IAAuBI,KAAK,KAAK,CAAjC,IAAsCF,IAAI,CAAC/C,OAAL,KAAiB;CAH1B,GAAnB,CAAhC;CAMA;;oBAoBQqO,MACT;CACC,OAAKA,IAAL,GAAYA,IAAZ;;CACA,MAAIA,IAAI,KAAKpH,QAAQ,CAACE,SAAtB,EACA;CACC,SAAKU,OAAL,CAAasR,cAAb,GAA8B,EAA9B;CACA,GAHD,MAIK,IAAI9K,IAAI,KAAKpH,QAAQ,CAACG,WAAtB,EACL;CACC,SAAKS,OAAL,CAAasR,cAAb,GAA8B,CAC7BnT,aAAa,CAACC,gBADe,EACGD,aAAa,CAACI,KADjB,EACwBJ,aAAa,CAACQ,KADtC,CAA9B;CAIA,SAAKqB,OAAL,CAAa+Q,aAAb,GAA6B,KAAK8O,cAAL,CAAoB9O,aAAjD;;CAEA,QAAI,KAAK/Q,OAAL,CAAa8gB,mBAAb,KAAqChO,mBAAmB,CAACC,QAA7D,EACA;CACC,WAAK/S,OAAL,CAAa+Q,aAAb,CAA2B/U,IAA3B,CAAgCmC,aAAa,CAACQ,KAA9C;CACA;;CAED,SAAKqB,OAAL,CAAaif,WAAb,GAA2B,KAA3B;CACA,GAdI,MAgBL;CACCzY,IAAAA,IAAI,GAAGpH,QAAQ,CAACC,OAAhB;CACA,SAAKW,OAAL,CAAa+Q,aAAb,GAA6B,KAAK8O,cAAL,CAAoB9O,aAAjD;CACA,SAAK/Q,OAAL,CAAaif,WAAb,GAA2B,KAAKY,cAAL,CAAoBZ,WAA/C;CACA,SAAKjf,OAAL,CAAasR,cAAb,GAA8B,KAAKuO,cAAL,CAAoB9O,aAAlD;CACA;;CAED,MAAI,KAAKmQ,cAAT,EACA;CACC,SAAKA,cAAL,CAAoB1a,IAApB,GAA2BA,IAA3B;CACA;;CAEDnC,EAAAA,6BAAY,CAACod,IAAb,CAAkB,IAAlB,EAAwB,0BAAxB,EAAoD;CAAEjb,IAAAA;CAAF,GAApD;CACA;;;;;;;;"}
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.28 |
proxy
|
phpinfo
|
Settings