@hapl/api-queries 0.2.95 → 0.2.96

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"api-queries.cjs.production.min.js","sources":["../node_modules/regenerator-runtime/runtime.js","../src/clients/v1/api/appointment/cancelAppointment.ts","../src/clients/v1/api/appointment/completeAppointment.ts","../src/clients/v1/api/appointment/createAppointment.ts","../src/clients/v1/api/appointment/findAppointments.ts","../src/clients/v1/api/appointment/updateAppointment.ts","../src/clients/v1/api/auth/getPassword/index.ts","../src/clients/v1/api/auth/checkPassword/index.ts","../src/clients/v1/api/auth/checkToken/index.ts","../src/clients/v1/api/availableFunds/createAvailableFunds/index.ts","../src/clients/v1/api/availableFunds/findAvailableFunds/index.ts","../src/clients/v1/api/availableFunds/updateAvailableFunds/index.ts","../src/clients/v1/api/availableFunds/deleteAvailableFunds/index.ts","../src/clients/v1/api/bill/createBill/index.ts","../src/clients/v1/api/bill/findBills/index.ts","../src/clients/v1/api/bonusCalculation/findBonusCalculations/index.ts","../src/clients/v1/api/buyer/callbackBuyer/index.ts","../src/clients/v1/api/buyer/closeBuyer/index.ts","../src/clients/v1/api/buyer/countBuyers/index.ts","../src/clients/v1/api/buyer/createBuyer/index.ts","../src/clients/v1/api/buyer/findBuyerById/index.ts","../src/clients/v1/api/buyer/findBuyerClosingReason/index.ts","../src/clients/v1/api/buyer/findBuyerRejectionReasonStatisticBySrId/index.ts","../src/clients/v1/api/buyer/findBuyerStatusStatisticBySrId/index.ts","../src/clients/v1/api/buyer/findBuyerStatuses/index.ts","../src/clients/v1/api/buyer/findBuyerUniquePhones/index.ts","../src/clients/v1/api/buyer/findBuyers/index.ts","../src/clients/v1/api/buyer/resetBuyerStatusTimer/index.ts","../src/clients/v1/api/buyer/shareBuyer/index.ts","../src/clients/v1/api/buyer/updateBuyer/index.ts","../src/clients/v1/api/call/createCallComment/index.ts","../src/clients/v1/api/call/findCallById/index.ts","../src/clients/v1/api/call/findCalls/index.ts","../src/clients/v1/api/call/findFirstSuccessOutgoingCalls/index.ts","../src/clients/v1/api/call/findQualityAssessmentCalls/index.ts","../src/clients/v1/api/call/markupCall/index.ts","../src/clients/v1/api/call/removeProxyPhone/index.ts","../src/clients/v1/api/call/setProxyPhone/index.ts","../src/clients/v1/api/callCenter/finishOperatorWork/index.ts","../src/clients/v1/api/callCenter/getOperatorStatus/index.ts","../src/clients/v1/api/callCenter/startOperatorWork/index.ts","../src/clients/v1/api/callTask/bookCallTask.ts","../src/clients/v1/api/callTask/callCallTask.ts","../src/clients/v1/api/callTask/callCallTaskExpert.ts","../src/clients/v1/api/callTask/closeCallTask.ts","../src/clients/v1/api/callTask/createCallTask.ts","../src/clients/v1/api/callTask/findCallTaskById.ts","../src/clients/v1/api/callTask/findCallTaskSourceInfo.ts","../src/clients/v1/api/callTask/findCallTasks.ts","../src/clients/v1/api/callTask/findCallTasksCount.ts","../src/clients/v1/api/callTask/joinCallTaskCall.ts","../src/clients/v1/api/callTask/returnCallTaskCall.ts","../src/clients/v1/api/callTask/shiftCallTask.ts","../src/clients/v1/api/callTask/updateCallTask.ts","../src/clients/v1/api/checklist/findChecklistByServiceRequestId.ts","../src/clients/v1/api/checklist/findChecklistQuestionDictionaries.ts","../src/clients/v1/api/checklist/updateChecklist.ts","../src/clients/v1/api/checklist/updateChecklistTask.ts","../src/clients/v1/api/comment/findComments/index.ts","../src/clients/v1/api/company/createCompany/index.ts","../src/clients/v1/api/company/findCompanies/index.ts","../src/clients/v1/api/company/findCompanyById/index.ts","../src/clients/v1/api/company/updateCompany/index.ts","../src/clients/v1/api/contract/approveContract/index.ts","../src/clients/v1/api/contract/createContract/index.ts","../src/clients/v1/api/contract/createContractLegalDocument/index.ts","../src/clients/v1/api/contract/declineContract/index.ts","../src/clients/v1/api/contract/findContractById/index.ts","../src/clients/v1/api/contract/findContractDocumentByContractId/index.ts","../src/clients/v1/api/contract/findContractLegalDocumentByContractId/index.ts","../src/clients/v1/api/contract/findContracts/index.ts","../src/clients/v1/api/contract/signContract/index.ts","../src/clients/v1/api/contract/terminateContract/index.ts","../src/clients/v1/api/contract/updateContract/index.ts","../src/clients/v1/api/contract/updateContractDocument/index.ts","../src/clients/v1/api/contract/upgradeContract/index.ts","../src/clients/v1/api/cottageComplex/createCottageComplex/index.ts","../src/clients/v1/api/crossSale/deleteCrossSale/index.ts","../src/clients/v1/api/crossSale/findCrossSales/index.ts","../src/clients/v1/api/crossSale/updateCrossSale/index.ts","../src/clients/v1/api/currency/getRubleAmount.ts","../src/clients/v1/api/currency/getCurrencyCourses.ts","../src/clients/v1/api/deal/createDeal/index.ts","../src/clients/v1/api/deal/createDealCategorizedFile/index.ts","../src/clients/v1/api/deal/createDealInvestPrepayment/index.ts","../src/clients/v1/api/deal/deleteDealCategorizedFile/index.ts","../src/clients/v1/api/deal/findDealById/index.ts","../src/clients/v1/api/deal/findDealCategorizedFiles/index.ts","../src/clients/v1/api/deal/findDealExpertStatistics/index.ts","../src/clients/v1/api/deal/findDeals/index.ts","../src/clients/v1/api/deal/setDealClassificationScore/index.ts","../src/clients/v1/api/deal/setDealDoneState/index.ts","../src/clients/v1/api/deal/setDealFinanceConfirmState/index.ts","../src/clients/v1/api/deal/setDealGuaranteedPayment/index.ts","../src/clients/v1/api/deal/setDealPrepaidDate/index.ts","../src/clients/v1/api/deal/setDealPrepaymentState/index.ts","../src/clients/v1/api/deal/setDealRegisteredState/index.ts","../src/clients/v1/api/deal/setDealSignPlannedState/index.ts","../src/clients/v1/api/deal/setDealSignedState/index.ts","../src/clients/v1/api/deal/terminateDeal/index.ts","../src/clients/v1/api/deal/updateDeal/index.ts","../src/clients/v1/api/debt/createDebts.ts","../src/clients/v1/api/debt/deleteDebt.ts","../src/clients/v1/api/debt/findDebts.ts","../src/clients/v1/api/debt/updateDebt.ts","../src/clients/v1/api/event/createEvent/index.ts","../src/clients/v1/api/event/deleteEvent/index.ts","../src/clients/v1/api/event/findEventById/index.ts","../src/clients/v1/api/event/findEvents/index.ts","../src/clients/v1/api/event/updateEvent/index.ts","../src/clients/v1/api/eventRequest/createEventRequest/index.ts","../src/clients/v1/api/eventRequest/findEventRequests/index.ts","../src/clients/v1/api/eventRequest/updateEventRequest/index.tsx","../src/clients/v1/api/expert/createExpertCase/index.ts","../src/clients/v1/api/expert/createExpertReview/index.ts","../src/clients/v1/api/expert/findExpertById/index.ts","../src/clients/v1/api/expert/findExpertCaseById/index.ts","../src/clients/v1/api/expert/findExpertCases/index.ts","../src/clients/v1/api/expert/findExperts/index.ts","../src/clients/v1/api/expert/findPublishedExperts/index.ts","../src/clients/v1/api/expert/updateExpertCase/index.ts","../src/clients/v1/api/expert/updateExpertReview/index.ts","../src/clients/v1/api/expertCategory/findExpertCategories.ts","../src/clients/v1/api/expertCategory/findExpertCategoryHistory.ts","../src/clients/v1/api/expertGrade/createExpertGrade.ts","../src/clients/v1/api/expertGrade/findExpertGrades.ts","../src/clients/v1/api/expertGrade/findExpertGradesByExpertId.ts","../src/clients/v1/api/file/uploadFiles/index.ts","../src/clients/v1/api/income/createIncome/index.ts","../src/clients/v1/api/income/deleteIncome/index.ts","../src/clients/v1/api/internalCrossSale/createInternalCrossSale/index.ts","../src/clients/v1/api/internalCrossSale/findInternalCrossSaleInfo/index.ts","../src/clients/v1/api/internalCrossSale/findInternalCrossSales/index.ts","../src/clients/v1/api/internalCrossSale/updateInternalCrossSale/index.ts","../src/clients/v1/api/leadAssignmentBlock/createLeadAssignmentBlock.ts","../src/clients/v1/api/leadAssignmentBlock/deleteLeadAssignmentBlock.ts","../src/clients/v1/api/leadAssignmentBlock/findLeadAssignmentBlocks.ts","../src/clients/v1/api/leadAssignmentBlock/updateLeadAssignmentBlock.ts","../src/clients/v1/api/motivation/findMotivationGlossary/index.ts","../src/clients/v1/api/motivation/findMotivationStatusByExpertId/index.ts","../src/clients/v1/api/motivation/сalculateMotivationCommission/index.ts","../src/clients/v1/api/payslip/findPayslips.ts","../src/clients/v1/api/payslip/findPayslipById.ts","../src/clients/v1/api/payslip/updatePayslip.ts","../src/clients/v1/api/phone/findPhones.ts","../src/clients/v1/api/phone/callbackPhone.ts","../src/clients/v1/api/phone/blockPhone.ts","../src/clients/v1/api/phone/unblockPhone.ts","../src/clients/v1/api/phoneBookContact/createPhoneBookContact/index.ts","../src/clients/v1/api/phoneBookContact/deletePhoneBookContact/index.ts","../src/clients/v1/api/phoneBookContact/findPhoneBookContacts/index.ts","../src/clients/v1/api/phoneBookContact/updatePhoneBookContact/index.ts","../src/clients/v1/api/photoOrder/createPhotoOrder/index.ts","../src/clients/v1/api/photoOrder/findPhotoOrders/index.ts","../src/clients/v1/api/photoOrder/sendPhotoOrderFeedback/index.ts","../src/clients/v1/api/photoOrder/terminatePhotoOrder/index.ts","../src/clients/v1/api/photoOrder/completePhotoOrder/index.ts","../src/clients/v1/api/realty/findRealtyDuplicate/index.ts","../src/clients/v1/api/realty/findRealtyPriceHistory/index.ts","../src/clients/v1/api/realty/findSimilarRealtyIdsById/index.ts","../src/clients/v1/api/realty/subscribeToRealtyUpdates/index.ts","../src/clients/v1/api/scoring/findScoring/index.tsx","../src/clients/v1/api/serviceRequest/addServiceRequestAssistant.ts","../src/clients/v1/api/serviceRequest/approveCloseServiceRequest.ts","../src/clients/v1/api/serviceRequest/callbackServiceRequest.ts","../src/clients/v1/api/serviceRequest/changeServiceRequestCompany.ts","../src/clients/v1/api/serviceRequest/closeServiceRequest.ts","../src/clients/v1/api/serviceRequest/completeServiceRequestModeration.ts","../src/clients/v1/api/serviceRequest/createInvestSellServiceRequest.ts","../src/clients/v1/api/serviceRequest/createServiceRequest.ts","../src/clients/v1/api/serviceRequest/createServiceRequestActivity.ts","../src/clients/v1/api/serviceRequest/createServiceRequestByCrossSaleId.ts","../src/clients/v1/api/serviceRequest/createServiceRequestCategorizedFile.ts","../src/clients/v1/api/serviceRequest/createServiceRequestFeedback.ts","../src/clients/v1/api/serviceRequest/createServiceRequestReview.ts","../src/clients/v1/api/serviceRequest/createServiceRequestSellerReport.ts","../src/clients/v1/api/serviceRequest/deferServiceRequest.ts","../src/clients/v1/api/serviceRequest/deleteServiceRequestCategorizedFile.ts","../src/clients/v1/api/serviceRequest/deleteServiceRequestReportForSeller.ts","../src/clients/v1/api/serviceRequest/depublishServiceRequest.ts","../src/clients/v1/api/serviceRequest/disapproveCloseServiceRequest.ts","../src/clients/v1/api/serviceRequest/doneServiceRequestVerification.ts","../src/clients/v1/api/serviceRequest/failServiceRequestVerification.ts","../src/clients/v1/api/serviceRequest/findPriceHistoryAnalyticsById.ts","../src/clients/v1/api/serviceRequest/findServiceRequestActivities.ts","../src/clients/v1/api/serviceRequest/findServiceRequestById.ts","../src/clients/v1/api/serviceRequest/findServiceRequestCategorizedFileCreatedDate.ts","../src/clients/v1/api/serviceRequest/findServiceRequestCategorizedFiles.ts","../src/clients/v1/api/serviceRequest/findServiceRequestCategoryById.ts","../src/clients/v1/api/serviceRequest/findServiceRequestDiscountEfficiencyPercent.ts","../src/clients/v1/api/serviceRequest/findServiceRequestDuplicates.ts","../src/clients/v1/api/serviceRequest/findServiceRequestSellerReports.ts","../src/clients/v1/api/serviceRequest/findServiceRequestShortInfo.ts","../src/clients/v1/api/serviceRequest/findServiceRequestShortInfoByDealId.ts","../src/clients/v1/api/serviceRequest/findServiceRequestShortInfoById.ts","../src/clients/v1/api/serviceRequest/findServiceRequestStatisticsById.ts","../src/clients/v1/api/serviceRequest/findServiceRequests.ts","../src/clients/v1/api/serviceRequest/findServiceRequestsKanban.ts","../src/clients/v1/api/serviceRequest/publishServiceRequest.ts","../src/clients/v1/api/serviceRequest/removeServiceRequestAssistant.ts","../src/clients/v1/api/serviceRequest/restoreServiceRequest.ts","../src/clients/v1/api/serviceRequest/returnDeferredServiceRequest.ts","../src/clients/v1/api/serviceRequest/sendServiceRequestToModeration.ts","../src/clients/v1/api/serviceRequest/sendServiceRequestVerification.ts","../src/clients/v1/api/serviceRequest/startServiceRequestModeration.ts","../src/clients/v1/api/serviceRequest/startServiceRequestModerationForOldRealty.ts","../src/clients/v1/api/serviceRequest/transferServiceRequest.ts","../src/clients/v1/api/serviceRequest/updateServiceRequest.ts","../src/clients/v1/api/serviceRequest/updateServiceRequestPersonalAssistant.ts","../src/clients/v1/api/serviceRequest/updateServiceRequestPlanDraw.ts","../src/clients/v1/api/slack/createCianRating/index.ts","../src/clients/v1/api/soldStatistic/findSoldStatistic/index.ts","../src/clients/v1/api/stats/findMarkupCalls/index.ts","../src/clients/v1/api/stats/findMarkupBySourceCalls/index.ts","../src/clients/v1/api/user/assignSubordinateUsers/index.ts","../src/clients/v1/api/user/createUser/index.ts","../src/clients/v1/api/user/deleteUser/index.tsx","../src/clients/v1/api/user/findUserById/index.ts","../src/clients/v1/api/user/findUserPasswordById/index.ts","../src/clients/v1/api/user/findUsers/index.ts","../src/clients/v1/api/user/findUserTokenById/index.ts","../src/clients/v1/api/user/fireUser/index.ts","../src/clients/v1/api/user/updateUser/index.ts","../src/clients/v1/api/task/createTask/index.ts","../src/clients/v1/api/task/findTasks/index.ts","../src/clients/v1/api/task/findTaskById/index.ts","../src/clients/v1/api/task/updateTask/index.ts","../src/clients/v1/api/task/resolveTask/index.ts","../src/clients/v1/api/valuation/actualizeValuation/index.ts","../src/clients/v1/api/valuation/createValuation/index.ts","../src/clients/v1/api/valuation/createValuationRealtyComment/index.ts","../src/clients/v1/api/valuation/findValuationByServiceRequestId/index.ts","../src/clients/v1/api/valuation/findValuationNewsByServiceRequestId/index.ts","../src/clients/v1/api/valuation/updateValuationNewsStatus/index.ts","../src/clients/v1/types/AddressBTIParams.ts","../src/clients/v1/types/Appointment.ts","../src/clients/v1/types/AvailableFunds.ts","../src/clients/v1/types/Bill.ts","../src/clients/v1/types/Buyer.ts","../src/clients/v1/types/Call.ts","../src/clients/v1/types/CallTask.ts","../src/clients/v1/types/Checklist.ts","../src/clients/v1/types/Contact.ts","../src/clients/v1/types/Contract.ts","../src/clients/v1/types/ContractDocument.ts","../src/clients/v1/types/ContractLegalDocument.ts","../src/clients/v1/types/CrossSale.ts","../src/clients/v1/types/Currency.ts","../src/clients/v1/types/Deal.ts","../src/clients/v1/types/DealCategorizedFile.ts","../src/clients/v1/types/DealParticipant.ts","../src/clients/v1/types/Debt.ts","../src/clients/v1/types/ExpertCategory.ts","../src/clients/v1/types/ExpertGrade.ts","../src/clients/v1/types/File.ts","../src/clients/v1/types/GalleryImage.ts","../src/clients/v1/types/Image.ts","../src/clients/v1/types/InternalCrossSale.ts","../src/clients/v1/types/LeadAssignmentBlock.ts","../src/clients/v1/types/Motivation.ts","../src/clients/v1/types/PhoneBookContact.ts","../src/clients/v1/types/PhotoOrder.ts","../src/clients/v1/types/Realty.ts","../src/clients/v1/types/ServiceRequest.ts","../src/clients/v1/types/ServiceRequestActivity.ts","../src/clients/v1/types/ServiceRequestCategorizedFile.ts","../src/clients/v1/types/ServiceRequestFeedback.ts","../src/clients/v1/types/Shape.ts","../src/clients/v1/types/SoldStatistic.ts","../src/clients/v1/types/Task.ts","../src/clients/v1/types/User.ts","../src/clients/v1/types/UserPhone.ts","../src/clients/v1/types/ValuationNews.ts","../src/clients/v2/api/realty/findRealtyById/index.ts","../src/clients/v2/api/realty/updateRealty/index.ts","../src/clients/v1/index.ts","../src/clients/v1/dictionaries/AddressBTIParams.ts","../src/clients/v1/dictionaries/Appointment.ts","../src/clients/v1/dictionaries/AvailableFunds.ts","../src/clients/v1/dictionaries/Bill.ts","../src/clients/v1/dictionaries/Buyer.ts","../src/clients/v1/dictionaries/Call.ts","../src/clients/v1/dictionaries/CallTask.ts","../src/clients/v1/dictionaries/Contact.ts","../src/clients/v1/dictionaries/Contract.ts","../src/clients/v1/dictionaries/ContractDocument.ts","../src/clients/v1/dictionaries/ContractLegalDocument.ts","../src/clients/v1/dictionaries/CrossSale.ts","../src/clients/v1/dictionaries/Currency.ts","../src/clients/v1/dictionaries/Deal.ts","../src/clients/v1/dictionaries/DealCategorizedFile.ts","../src/clients/v1/dictionaries/DealParticipant.ts","../src/clients/v1/dictionaries/Debt.ts","../src/clients/v1/dictionaries/ExpertCategory.ts","../src/clients/v1/dictionaries/ExpertGrade.ts","../src/clients/v1/dictionaries/File.ts","../src/clients/v1/dictionaries/GalleryImage.ts","../src/clients/v1/dictionaries/LeadAssignmentBlock.ts","../src/clients/v1/dictionaries/PhoneBookContact.ts","../src/clients/v1/dictionaries/PhotoOrder.ts","../src/clients/v1/dictionaries/Realty.ts","../src/clients/v1/dictionaries/ServiceRequest.ts","../src/clients/v1/dictionaries/ServiceRequestActivity.ts","../src/clients/v1/dictionaries/ServiceRequestCategorizedFile.ts","../src/clients/v1/dictionaries/Shape.ts","../src/clients/v1/dictionaries/Task.ts","../src/clients/v1/dictionaries/User.ts","../src/clients/v1/dictionaries/UserPhone.ts","../src/clients/v2/api/address/createAddress/index.ts","../src/clients/v2/api/addressBti/createAddressBti/index.ts","../src/clients/v2/api/addressBti/findAddressBtiById/index.ts","../src/clients/v2/api/addressBti/updateAddressBti/index.ts","../src/clients/v2/api/complex/findComplexById/index.ts","../src/clients/v2/api/complex/findComplexHousingByComplexId/index.ts","../src/clients/v2/api/complex/findComplexes/index.ts","../src/clients/v2/api/cottageComplex/findCottageComplexes/index.ts","../src/clients/v2/api/highway/findHighways/index.ts","../src/clients/v2/api/metroStation/findMetroStations/index.ts","../src/clients/v2/api/realty/createRealty/index.ts","../src/clients/v2/api/realty/createRealtyHouseHighwayDistance/index.ts","../src/clients/v2/api/realty/createRealtyImage/index.ts","../src/clients/v2/api/realty/createRealtyMetroDistance/index.ts","../src/clients/v2/api/realty/deleteRealtyImage/index.ts","../src/clients/v2/api/realty/findRealties/index.ts","../src/clients/v2/api/realty/updateRealtyHouseHighwayDistance/index.ts","../src/clients/v2/api/realty/updateRealtyImage/index.ts","../src/clients/v2/api/realty/updateRealtyMetroDistance/index.ts","../src/clients/v2/types/AddressBTIParams.ts","../src/clients/v2/types/AddressMetroDistance.ts","../src/clients/v2/types/Realty.ts","../src/clients/v2/types/RealtyImage.ts","../src/clients/v2/types/RealtyMetroDistance.ts","../src/clients/v2/index.ts","../src/clients/v2/dictionaries/AddressBTIParams.ts","../src/clients/v2/dictionaries/AddressMetroDistance.ts","../src/clients/v2/dictionaries/Realty.ts","../src/clients/v2/dictionaries/RealtyImage.ts","../src/clients/v2/dictionaries/RealtyMetroDistance.ts","../src/publisher/v1/api/findActualEventsRow/index.ts","../src/publisher/v1/api/findEventsRow/index.ts","../src/publisher/v1/api/findExternalLinks/index.ts","../src/publisher/v1/api/findHomeappStatisticRowByRealtyId/index.ts","../src/publisher/v1/api/findNewBuildings/index.ts","../src/publisher/v1/api/findPlannedEventsRow/index.ts","../src/publisher/v1/api/findScoring/index.ts","../src/publisher/v1/api/findStatisticRow/index.ts","../src/publisher/v1/api/getFirstPublishedAt/index.ts","../src/publisher/v1/api/getPublishedDays/index.ts","../src/publisher/v1/api/updateRealtyPublicId/index.ts","../src/publisher/v1/api/uploadResume/index.ts","../src/publisher/v1/types/ActualEventsRow.ts","../src/publisher/v1/types/PlannedEventsRow.ts","../src/publisher/v1/index.ts","../src/publisher/v1/dictionaries/ActualEventsRow.ts","../src/registry/v1/api/address/createAddress/index.ts","../src/registry/v1/api/address/findAddressById/index.ts","../src/registry/v1/api/address/findAddressesByRealtyParams/index.ts","../src/registry/v1/api/complex/findComplexIds/index.ts","../src/registry/v1/api/image/uploadImages/index.ts","../src/registry/v1/api/realty/findRealties/index.ts","../src/registry/v1/api/valuation/calculateValuation/index.ts","../src/registry/v1/types/AddressBTIParams.ts","../src/registry/v1/types/Image.ts","../src/registry/v1/types/Realty.ts","../src/registry/v1/types/Shape.ts","../src/registry/v1/types/Valuation.ts","../src/registry/v1/index.ts","../src/registry/v1/dictionaries/AddressBTIParams.ts","../src/registry/v1/dictionaries/Realty.ts","../src/registry/v1/dictionaries/Shape.ts","../src/registry/v1/dictionaries/Valuation.ts","../src/search/v1/api/apartments/countApartments/index.ts","../src/search/v1/api/apartments/findApartments/index.ts","../src/search/v1/api/complexes/findComplexes/index.ts","../src/search/v1/api/complexes/findComplexById/index.ts","../src/search/v1/api/buildings/findBuildingCoordinates/index.ts","../src/search/v1/api/buildings/findBuildingOffers/index.ts","../src/search/v1/types/Apartment.ts","../src/search/v1/index.ts","../src/search/v1/dictionaries/Apartment.ts","../src/external/api/dadata/findDadataSuggestions.ts","../src/external/api/yandex/findYandexSuggestions.ts","../src/external/api/yandex/yandexGeocode.ts","../src/external/index.ts"],"sourcesContent":["/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Appointment } from '../../types';\n\ntype SuccessData = { success: true; data: Appointment };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CancelAppointmentUrlParams = { id: number };\nexport type CancelAppointmentHeaders = { 'x-auth-hc': string };\n\nexport type CancelAppointmentData = AxiosResponse<ResultData>;\nexport type CancelAppointmentError = AxiosError<ResultError>;\nexport type CancelAppointmentConfig = {\n baseURL?: string;\n urlParams: CancelAppointmentUrlParams;\n headers: CancelAppointmentHeaders;\n};\n\nexport function cancelAppointmentRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: CancelAppointmentConfig) {\n return axios\n .patch(`/api/appointment/${urlParams.id}/cancel`, null, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CancelAppointmentData) => res)\n .catch((err: CancelAppointmentError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Appointment } from '../../types';\n\ntype SuccessData = { success: true; data: Appointment };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CompleteAppointmentUrlParams = { id: number };\nexport type CompleteAppointmentHeaders = { 'x-auth-hc': string };\n\nexport type CompleteAppointmentData = AxiosResponse<ResultData>;\nexport type CompleteAppointmentError = AxiosError<ResultError>;\nexport type CompleteAppointmentConfig = {\n baseURL?: string;\n urlParams: CompleteAppointmentUrlParams;\n headers: CompleteAppointmentHeaders;\n};\n\nexport function completeAppointmentRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: CompleteAppointmentConfig) {\n return axios\n .patch(`/api/appointment/${urlParams.id}/complete`, null, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CompleteAppointmentData) => res)\n .catch((err: CompleteAppointmentError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Appointment, ServiceRequest } from '../../types';\n\ntype SuccessData = { success: true; data: Appointment };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateAppointmentHeaders = { 'x-auth-hc': string };\nexport type CreateAppointmentBody = {\n notificationType: NonNullable<Appointment['notificationType']>;\n place: NonNullable<Appointment['place']>;\n plannedAt: NonNullable<Appointment['plannedAt']>;\n serviceRequest: Required<Pick<ServiceRequest, 'id'>>;\n status: NonNullable<Appointment['status']>;\n};\n\nexport type CreateAppointmentData = AxiosResponse<ResultData>;\nexport type CreateAppointmentError = AxiosError<ResultError>;\nexport type CreateAppointmentConfig = {\n baseURL?: string;\n headers: CreateAppointmentHeaders;\n body: CreateAppointmentBody;\n};\n\nexport function createAppointmentRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n}: CreateAppointmentConfig) {\n return axios\n .post('/api/appointment', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreateAppointmentData) => res)\n .catch((err: CreateAppointmentError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { Appointment, AppointmentStatus } from '../../types';\n\ntype SuccessData = { success: true; data: Appointment[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, Appointment>; meta: { total: number } };\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindAppointmentsParams = {\n filter?: {\n 'serviceRequest.curator.id'?: number;\n plannedAt?: { from?: string; to?: string };\n status?: AppointmentStatus;\n };\n sorting?: { type: 'plannedAt'; direction: 'asc' | 'desc' };\n limits?: { page?: number; count: number | 'all' };\n};\n\nexport type FindAppointmentsHeaders = { 'x-auth-hc': string };\nexport type FindAppointmentsData = AxiosResponse<ResultData>;\nexport type FindAppointmentsError = AxiosError<ResultError>;\nexport type FindAppointmentsConfig = {\n baseURL?: string;\n params: FindAppointmentsParams;\n headers: FindAppointmentsHeaders;\n};\n\nexport function findAppointmentsRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n params,\n}: FindAppointmentsConfig) {\n return axios\n .get('/api/appointment', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n },\n ],\n })\n .then((res: FindAppointmentsData) => res)\n .catch((err: FindAppointmentsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Appointment } from '../../types';\n\ntype SuccessData = { success: true; data: Appointment };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdateAppointmentUrlParams = { id: number };\nexport type UpdateAppointmentHeaders = { 'x-auth-hc': string };\nexport type UpdateAppointmentBody = {\n notificationType?: Appointment['notificationType'];\n place?: Appointment['place'];\n plannedAt?: Appointment['plannedAt'];\n};\n\nexport type UpdateAppointmentData = AxiosResponse<ResultData>;\nexport type UpdateAppointmentError = AxiosError<ResultError>;\nexport type UpdateAppointmentConfig = {\n baseURL?: string;\n urlParams: UpdateAppointmentUrlParams;\n headers: UpdateAppointmentHeaders;\n body: UpdateAppointmentBody;\n};\n\nexport function updateAppointmentRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateAppointmentConfig) {\n return axios\n .patch(`/api/appointment/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: UpdateAppointmentData) => res)\n .catch((err: UpdateAppointmentError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true; data: { expiresAt: string } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type GetPasswordHeaders = { hs?: string };\nexport type GetPasswordParams = { phone: string; rtoken?: string };\nexport type GetPasswordData = AxiosResponse<ResultData>;\nexport type GetPasswordError = AxiosError<ResultError>;\nexport type GetPasswordConfig = { baseURL?: string; params: GetPasswordParams; headers?: GetPasswordHeaders };\n\nexport function getPasswordRequest({ baseURL = 'https://clients.homeapp.ru', params, headers }: GetPasswordConfig) {\n return axios\n .get('/api/user/auth/get-pass', {\n baseURL,\n params,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) return data.data;\n\n return data.data.error;\n },\n ],\n })\n .then((res: GetPasswordData) => res)\n .catch((err: GetPasswordError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { User } from '../../../types';\n\ntype SuccessData = {\n success: true;\n data: { createdAt: string; expiresAt: string; key: string; user: Partial<User> & { id: number } };\n};\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CheckPasswordBody = { phone: string; password: string };\nexport type CheckPasswordData = AxiosResponse<ResultData>;\nexport type CheckPasswordError = AxiosError<ResultError>;\nexport type CheckPasswordConfig = { baseURL?: string; body: CheckPasswordBody };\n\nexport function checkPasswordRequest({ baseURL = 'https://clients.homeapp.ru', body }: CheckPasswordConfig) {\n return axios\n .post('/api/user/auth/check-pass', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json' },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) return data.data;\n\n return data.data.error;\n },\n ],\n })\n .then((res: CheckPasswordData) => res)\n .catch((err: CheckPasswordError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { User } from '../../../types';\n\ntype SuccessData = {\n success: true;\n data: { createdAt: string; expiresAt: string; key: string; user: Partial<User> & { id: number } };\n};\ntype ErrorData = { success: false; data: string };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data'];\n\nexport type CheckTokenHeaders = { 'x-auth-hc': string };\nexport type CheckTokenData = AxiosResponse<ResultData>;\nexport type CheckTokenError = AxiosError<ResultError>;\nexport type CheckTokenConfig = { baseURL?: string; headers: CheckTokenHeaders };\n\nexport function checkTokenRequest({ baseURL = 'https://clients.homeapp.ru', headers }: CheckTokenConfig) {\n return axios\n .get('/api/user/auth/session', {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => data.data,\n ],\n })\n .then((res: CheckTokenData): CheckTokenData => res)\n .catch((err: CheckTokenError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { AvailableFunds } from '../../../types';\n\ntype SuccessData = { success: true; data: AvailableFunds };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateAvailableFundsHeaders = { 'x-auth-hc': string };\nexport type CreateAvailableFundsBody = {\n amount: Required<AvailableFunds>['amount'];\n incomeType: Required<AvailableFunds>['incomeType'];\n paymentType: Required<AvailableFunds>['paymentType'];\n realtyType: Required<AvailableFunds>['realtyType'];\n receivedAt: Required<AvailableFunds>['receivedAt'];\n serviceRequestId: number;\n comment?: AvailableFunds['comment'];\n companyName?: AvailableFunds['companyName'];\n payerType?: AvailableFunds['payerType'];\n dealId?: number;\n};\n\nexport type CreateAvailableFundsData = AxiosResponse<ResultData>;\nexport type CreateAvailableFundsError = AxiosError<ResultError>;\nexport type CreateAvailableFundsConfig = {\n baseURL?: string;\n headers: CreateAvailableFundsHeaders;\n body: CreateAvailableFundsBody;\n};\n\nexport function createAvailableFundsRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n}: CreateAvailableFundsConfig) {\n return axios\n .post('/api/available-funds', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) return data.data;\n\n return data.data.error;\n },\n ],\n })\n .then((res: CreateAvailableFundsData) => res)\n .catch((err: CreateAvailableFundsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { AvailableFunds } from '../../../types';\n\ntype SuccessData = { success: true; data: AvailableFunds[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: Record<'error' | 'message', string> };\n\ntype ResultData = { ids: number[]; byId: Record<string, AvailableFunds>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindAvailableFundsHeaders = { 'x-auth-hc': string };\nexport type FindAvailableFundsParams = {\n filter?: {\n deal?: number | number[];\n 'serviceRequest.contract.formalId'?: string;\n 'serviceRequest.curator'?: number | number[];\n 'serviceRequest.id'?: number | number[];\n 'company.id'?: number | number[];\n };\n limits?: { page?: number; count: number | 'all' };\n sorting?: { direction: 'asc' | 'desc'; type: 'createdAt' | 'id' | 'receivedAt' | 'serviceRequest' | 'deal' };\n};\nexport type FindAvailableFundsData = AxiosResponse<ResultData>;\nexport type FindAvailableFundsError = AxiosError<ResultError>;\nexport type FindAvailableFundsConfig = {\n baseURL?: string;\n headers: FindAvailableFundsHeaders;\n params: FindAvailableFundsParams;\n};\n\nexport function findAvailableFundsRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n params,\n}: FindAvailableFundsConfig) {\n return axios\n .get('/api/available-funds', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n }\n\n return data.data.error || data.data.message;\n },\n ],\n })\n .then((res: FindAvailableFundsData) => res)\n .catch((err: FindAvailableFundsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\nimport { AvailableFunds } from '../../../types';\n\ntype SuccessData = { success: true; data: AvailableFunds };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdateAvailableFundsUrlParams = { id: number };\nexport type UpdateAvailableFundsHeaders = { 'x-auth-hc': string };\nexport type UpdateAvailableFundsBody = {\n amount?: AvailableFunds['amount'];\n incomeType?: AvailableFunds['incomeType'];\n paymentType?: AvailableFunds['paymentType'];\n realtyType?: AvailableFunds['realtyType'];\n receivedAt?: AvailableFunds['receivedAt'];\n payerType?: AvailableFunds['payerType'];\n comment?: AvailableFunds['comment'];\n companyName?: AvailableFunds['companyName'];\n};\n\nexport type UpdateAvailableFundsData = AxiosResponse<ResultData>;\nexport type UpdateAvailableFundsError = AxiosError<ResultError>;\nexport type UpdateAvailableFundsConfig = {\n baseURL?: string;\n urlParams: UpdateAvailableFundsUrlParams;\n headers: UpdateAvailableFundsHeaders;\n body: UpdateAvailableFundsBody;\n};\n\nexport function updateAvailableFundsRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateAvailableFundsConfig) {\n return axios\n .patch('/api/available-funds/' + urlParams.id, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: UpdateAvailableFundsData) => res)\n .catch((err: UpdateAvailableFundsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true; data: string };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type DeleteAvailableFundsHeaders = { 'x-auth-hc': string };\nexport type DeleteAvailableFundsUrlParams = { id: number };\nexport type DeleteAvailableFundsData = AxiosResponse<ResultData>;\nexport type DeleteAvailableFundsError = AxiosError<ResultError>;\nexport type DeleteAvailableFundsConfig = {\n baseURL?: string;\n urlParams: DeleteAvailableFundsUrlParams;\n headers: DeleteAvailableFundsHeaders;\n};\n\nexport function deleteAvailableFundsRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: DeleteAvailableFundsConfig) {\n return axios\n .delete('/api/available-funds/' + urlParams.id, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: DeleteAvailableFundsData) => res)\n .catch((err: DeleteAvailableFundsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Bill } from '../../../types';\n\ntype SuccessData = { success: true; data: Bill };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateBillHeaders = { 'x-auth-hc': string };\nexport type CreateBillBody = {\n payer: Required<Bill>['payer'];\n services: Required<Bill>['services'];\n dealId?: Required<Bill>['dealId'];\n contractId?: Required<Bill>['contractId'];\n acceptanceAgreementDate?: Required<Bill>['acceptanceAgreementDate'];\n acceptanceAgreementNumber?: Required<Bill>['acceptanceAgreementNumber'];\n};\n\nexport type CreateBillData = AxiosResponse<ResultData>;\nexport type CreateBillError = AxiosError<ResultError>;\nexport type CreateBillConfig = {\n baseURL?: string;\n headers: CreateBillHeaders;\n body: CreateBillBody;\n};\n\nexport function createBillRequest({ baseURL = 'https://clients.homeapp.ru', body, headers }: CreateBillConfig) {\n return axios\n .post('/api/bill', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreateBillData) => res)\n .catch((err: CreateBillError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { nanoid } from 'nanoid/non-secure';\nimport qs from 'qs';\nimport { Bill } from '../../../types';\n\ntype SuccessData = { success: true; data: Bill[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: Record<'error' | 'message', string> };\n\ntype ResultData = { ids: string[]; byId: Record<string, Bill & { _id: string }>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindBillsHeaders = { 'x-auth-hc': string };\nexport type FindBillsParams = {\n filter?: {\n commonId?: string;\n 'createdBy.id'?: string;\n 'deal.contract.formalId'?: string;\n 'deal.contract.id'?: string;\n 'deal.contract.serviceRequest.id'?: string;\n 'deal.id'?: string;\n number?: string;\n };\n limits?: { page?: number; count: number | 'all' };\n sorting?: {\n direction: 'asc' | 'desc';\n type:\n | 'id'\n | 'number'\n | 'createdAt'\n | 'deal.id'\n | 'deal.contract.id'\n | 'deal.contract.formalId'\n | 'deal.contract.serviceRequest.id'\n | 'createdById'\n | 'deal.lawyer.name';\n };\n};\nexport type FindBillsData = AxiosResponse<ResultData>;\nexport type FindBillsError = AxiosError<ResultError>;\nexport type FindBillsConfig = {\n baseURL?: string;\n headers: FindBillsHeaders;\n params: FindBillsParams;\n};\n\nexport function findBillsRequest({ baseURL = 'https://clients.homeapp.ru', headers, params }: FindBillsConfig) {\n return axios\n .get('/api/bill/list', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error || data.data.message;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n const _id = nanoid();\n byId[_id] = { ...entity, _id };\n ids.push(_id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n },\n ],\n })\n .then((res: FindBillsData) => res)\n .catch((err: FindBillsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { nanoid } from 'nanoid/non-secure';\nimport qs from 'qs';\nimport { BonusCalculations } from '../../../index';\n\ntype Data = BonusCalculations & { _id: string };\n\ntype SuccessData = { success: true; data: BonusCalculations[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: Record<'error' | 'message', string> };\n\ntype ResultData = { ids: string[]; byId: Record<string, Data>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindBonusCalculationsHeaders = { 'x-auth-hc': string };\nexport type FindBonusCalculationsParams = {\n filter?: {\n 'deal.closingDate'?: { from: string; to: string };\n };\n limits?: { page?: number; count: number | 'all' };\n sorting?: { direction: 'asc' | 'desc'; type: 'closingDate' };\n};\nexport type FindBonusCalculationsData = AxiosResponse<ResultData>;\nexport type FindBonusCalculationsError = AxiosError<ResultError>;\nexport type FindBonusCalculationsConfig = {\n baseURL?: string;\n headers: FindBonusCalculationsHeaders;\n params: FindBonusCalculationsParams;\n};\n\nexport function findBonusCalculationsRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n params,\n}: FindBonusCalculationsConfig) {\n return axios\n .get('/api/analytics/bonus-calculation', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n const _id = nanoid();\n byId[_id] = { ...entity, _id };\n ids.push(_id);\n });\n\n return { ids, byId, meta: { total: data.data.length } };\n }\n\n return data.data?.error || data.data?.message;\n },\n ],\n })\n .then((res: FindBonusCalculationsData) => res)\n .catch((err: FindBonusCalculationsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Call } from '../../../types';\n\ntype SuccessData = { success: true; data: Call };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CallbackBuyerUrlParams = { id: number };\nexport type CallbackBuyerHeaders = { 'x-auth-hc': string };\nexport type CallbackBuyerData = AxiosResponse<ResultData>;\nexport type CallbackBuyerError = AxiosError<ResultError>;\nexport type CallbackBuyerConfig = {\n baseURL?: string;\n urlParams: CallbackBuyerUrlParams;\n headers: CallbackBuyerHeaders;\n};\n\nexport function callbackBuyerRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: CallbackBuyerConfig) {\n return axios\n .post(\n `/api/buyer/callback/${urlParams.id}`,\n {},\n {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n }\n )\n .then((res: CallbackBuyerData) => res)\n .catch((err: CallbackBuyerError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Buyer } from '../../../types';\n\ntype SuccessData = { success: true; data: Buyer };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CloseBuyerUrlParams = { id: number };\nexport type CloseBuyerHeaders = { 'x-auth-hc': string };\nexport type CloseBuyerBody = {\n closingQuestionaryAnswers?: Array<{\n questionId: string;\n answerId: string;\n comment?: string;\n }>;\n};\nexport type CloseBuyerData = AxiosResponse<ResultData>;\nexport type CloseBuyerError = AxiosError<ResultError>;\nexport type CloseBuyerConfig = {\n baseURL?: string;\n urlParams: CloseBuyerUrlParams;\n headers: CloseBuyerHeaders;\n body: CloseBuyerBody;\n};\n\nexport function closeBuyerRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: CloseBuyerConfig) {\n return axios\n .put(`/api/buyer/${urlParams.id}/close`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CloseBuyerData) => res)\n .catch((err: CloseBuyerError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\n\ntype SuccessData = { success: true; data: number };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = number;\ntype ResultError = string;\n\nexport type CountBuyersHeaders = { 'x-auth-hc': string };\nexport type CountBuyersParams = {\n filter?: {\n 'serviceRequest.id'?: number;\n everHadStatus?: 'show_complete';\n };\n};\nexport type CountBuyersData = AxiosResponse<ResultData>;\nexport type CountBuyersError = AxiosError<ResultError>;\nexport type CountBuyersConfig = {\n baseURL?: string;\n headers: CountBuyersHeaders;\n params: CountBuyersParams;\n};\n\nexport function countBuyersRequest({ baseURL = 'https://clients.homeapp.ru', headers, params }: CountBuyersConfig) {\n return axios\n .get('/api/buyer/count', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n return data.data;\n }\n\n return data.data.error;\n },\n ],\n })\n .then((res: CountBuyersData) => res)\n .catch((err: CountBuyersError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Buyer, BuyerStatus } from '../../../types';\n\ntype SuccessData = { success: true; data: Buyer };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateBuyerHeaders = { 'x-auth-hc': string };\nexport type CreateBuyerBody = {\n phone: string;\n serviceRequest: { id: number } | { realtyExtId: number };\n comment?: string;\n contacts?: Array<{ type: string; value: string }>;\n name?: string;\n offer?: number;\n source?: string;\n status?: BuyerStatus;\n};\n\nexport type CreateBuyerData = AxiosResponse<ResultData>;\nexport type CreateBuyerError = AxiosError<ResultError>;\nexport type CreateBuyerConfig = {\n baseURL?: string;\n headers?: CreateBuyerHeaders;\n body: CreateBuyerBody;\n};\n\nexport function createBuyerRequest({ baseURL = 'https://clients.homeapp.ru', body, headers }: CreateBuyerConfig) {\n return axios\n .post('/api/buyer', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreateBuyerData) => res)\n .catch((err: CreateBuyerError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Buyer } from '../../../types';\nimport qs from 'qs';\nimport isNil from 'lodash/isNil';\n\ntype SuccessData = { success: true; data: Buyer };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindBuyerByIdUrlParams = { id: number };\nexport type FindBuyerByIdParams = { include?: Array<'sharing.fromExpert'> };\nexport type FindBuyerByIdHeaders = { 'x-auth-hc': string };\nexport type FindBuyerByIdData = AxiosResponse<ResultData>;\nexport type FindBuyerByIdError = AxiosError<ResultError>;\n\nexport type FindBuyerByIdConfig = {\n baseURL?: string;\n urlParams: FindBuyerByIdUrlParams;\n headers: FindBuyerByIdHeaders;\n params: FindBuyerByIdParams;\n};\n\nexport function findBuyerByIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n params,\n}: FindBuyerByIdConfig) {\n const includePostfix = !isNil(params.include)\n ? `?${qs.stringify({ include: params.include }, { arrayFormat: 'brackets' })}`\n : '';\n\n return axios\n .get(`/api/buyer/${urlParams.id}${includePostfix}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindBuyerByIdData) => res)\n .catch((err: FindBuyerByIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { BuyerClosingReason } from '../../../types';\n\ntype SuccessData = { success: true; data: BuyerClosingReason[] };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: string[]; byId: Record<string, BuyerClosingReason>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindBuyerClosingReasonHeaders = { 'x-auth-hc': string };\nexport type FindBuyerClosingReasonData = AxiosResponse<ResultData>;\nexport type FindBuyerClosingReasonError = AxiosError<ResultError>;\nexport type FindBuyerClosingReasonConfig = {\n baseURL?: string;\n headers: FindBuyerClosingReasonHeaders;\n};\n\nexport function findBuyerClosingReasonRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n}: FindBuyerClosingReasonConfig) {\n return axios\n .get('/api/buyer/closing-reason', {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: ids.length } };\n }\n\n return data.data.error;\n },\n ],\n })\n .then((res: FindBuyerClosingReasonData) => res)\n .catch((err: FindBuyerClosingReasonError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\n\ntype SuccessData = { success: true; data: { text: string; count: number }[] };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindBuyerRejectionReasonStatisticBySrIdUrlParams = { serviceRequestId: number };\nexport type FindBuyerRejectionReasonStatisticBySrIdParams = { from?: string; to?: string };\nexport type FindBuyerRejectionReasonStatisticBySrIdHeaders = { 'x-auth-hc': string };\nexport type FindBuyerRejectionReasonStatisticBySrIdData = AxiosResponse<ResultData>;\nexport type FindBuyerRejectionReasonStatisticBySrIdError = AxiosError<ResultError>;\n\nexport type FindBuyerRejectionReasonStatisticBySrIdConfig = {\n baseURL?: string;\n urlParams: FindBuyerRejectionReasonStatisticBySrIdUrlParams;\n params: FindBuyerRejectionReasonStatisticBySrIdParams;\n headers: FindBuyerRejectionReasonStatisticBySrIdHeaders;\n};\n\nexport function findBuyerRejectionReasonStatisticBySrIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n params,\n headers,\n}: FindBuyerRejectionReasonStatisticBySrIdConfig) {\n return axios\n .get(`/api/service-request/${urlParams.serviceRequestId}/buyer/closing/rejection-reason/statistic`, {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data ?? [] : data.data.error),\n ],\n })\n .then((res: FindBuyerRejectionReasonStatisticBySrIdData) => res)\n .catch((err: FindBuyerRejectionReasonStatisticBySrIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { BuyerStatus } from '../../../types';\nimport qs from 'qs';\n\ntype SuccessData = {\n success: true;\n data: { status: BuyerStatus; values: { buyerId: number; count: number }[] }[];\n};\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindBuyerStatusStatisticBySrIdUrlParams = { serviceRequestId: number };\nexport type FindBuyerStatusStatisticBySrIdParams = { from?: string; to?: string };\nexport type FindBuyerStatusStatisticBySrIdHeaders = { 'x-auth-hc': string };\nexport type FindBuyerStatusStatisticBySrIdData = AxiosResponse<ResultData>;\nexport type FindBuyerStatusStatisticBySrIdError = AxiosError<ResultError>;\n\nexport type FindBuyerStatusStatisticBySrIdConfig = {\n baseURL?: string;\n urlParams: FindBuyerStatusStatisticBySrIdUrlParams;\n params: FindBuyerStatusStatisticBySrIdParams;\n headers: FindBuyerStatusStatisticBySrIdHeaders;\n};\n\nexport function findBuyerStatusStatisticBySrIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n params,\n headers,\n}: FindBuyerStatusStatisticBySrIdConfig) {\n return axios\n .get(`/api/service-request/${urlParams.serviceRequestId}/buyer/status/statistic`, {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindBuyerStatusStatisticBySrIdData) => res)\n .catch((err: FindBuyerStatusStatisticBySrIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { BuyerStatusHistory } from '../../../types';\n\ntype SuccessData = { success: true; data: BuyerStatusHistory[]; pageParams: { length: number; page: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, BuyerStatusHistory>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindBuyerStatusesHeaders = { 'x-auth-hc': string };\nexport type FindBuyerStatusesParams = {\n limits?: { page?: number; count?: number | 'all' };\n sorting?: { type: 'changedAt' | 'deadlineAt'; direction: 'asc' | 'desc' };\n};\nexport type FindBuyerStatusesData = AxiosResponse<ResultData>;\nexport type FindBuyerStatusesError = AxiosError<ResultError>;\nexport type FindBuyerStatusesUrlParams = { id: number };\nexport type FindBuyerStatusesConfig = {\n baseURL?: string;\n headers: FindBuyerStatusesHeaders;\n urlParams: FindBuyerStatusesUrlParams;\n params: FindBuyerStatusesParams;\n};\n\nexport function findBuyerStatusesRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n params,\n}: FindBuyerStatusesConfig) {\n return axios\n .get(`/api/buyer/${urlParams.id}/status`, {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n }\n\n return data.data.error;\n },\n ],\n })\n .then((res: FindBuyerStatusesData) => res)\n .catch((err: FindBuyerStatusesError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { BuyerPhone } from '../../../types';\nimport { nanoid } from 'nanoid/non-secure';\n\ntype SuccessData = { success: true; data: BuyerPhone[] };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: string[]; byId: Record<string, BuyerPhone & { _id: string }>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindBuyerUniquePhonesHeaders = { 'x-auth-hc': string };\nexport type FindBuyerUniquePhonesData = AxiosResponse<ResultData>;\nexport type FindBuyerUniquePhonesError = AxiosError<ResultError>;\nexport type FindBuyerUniquePhonesConfig = {\n baseURL?: string;\n headers: FindBuyerUniquePhonesHeaders;\n};\n\nexport function findBuyerUniquePhonesRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n}: FindBuyerUniquePhonesConfig) {\n return axios\n .get(`/api/buyer/unique-phones`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n const _id = nanoid();\n byId[_id] = { ...entity, _id };\n ids.push(_id);\n });\n\n return { ids, byId, meta: { total: ids.length } };\n }\n\n return data.data.error;\n },\n ],\n })\n .then((res: FindBuyerUniquePhonesData) => res)\n .catch((err: FindBuyerUniquePhonesError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { Buyer, BuyerStatus } from '../../../types';\n\ntype SuccessData = { success: true; data: Buyer[]; pageParams: { length: number; page: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, Buyer>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindBuyersHeaders = { 'x-auth-hc': string };\nexport type FindBuyersParams = {\n filter?: {\n 'serviceRequest.id'?: number;\n 'serviceRequest.realty.address.fullAddress'?: string;\n 'serviceRequest.curator.groupLead.id'?: number | 'null' | 'notnull';\n query?: string;\n 'serviceRequest.curator.id'?: string;\n status?: BuyerStatus | BuyerStatus[];\n id?: string;\n name?: string;\n statusDeadlineAt?:\n | {\n from?: string;\n to?: string;\n }\n | 'notnull';\n createdAt?: {\n from?: string;\n to?: string;\n };\n };\n limits?: {\n page?: number;\n count: number | 'all';\n };\n sorting?: {\n type: 'createdAt';\n direction: 'asc' | 'desc';\n };\n include?: Array<'sharing.fromExpert'>;\n};\nexport type FindBuyersData = AxiosResponse<ResultData>;\nexport type FindBuyersError = AxiosError<ResultError>;\nexport type FindBuyersConfig = {\n baseURL?: string;\n headers: FindBuyersHeaders;\n params: FindBuyersParams;\n};\n\nexport function findBuyersRequest({ baseURL = 'https://clients.homeapp.ru', headers, params }: FindBuyersConfig) {\n return axios\n .get('/api/buyer', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n }\n\n return data.data.error;\n },\n ],\n })\n .then((res: FindBuyersData) => res)\n .catch((err: FindBuyersError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Buyer } from '../../../types';\n\ntype SuccessData = { success: true; data: Buyer };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type ResetBuyerStatusTimerUrlParams = { id: number };\nexport type ResetBuyerStatusTimerHeaders = { 'x-auth-hc': string };\nexport type ResetBuyerStatusTimerData = AxiosResponse<ResultData>;\nexport type ResetBuyerStatusTimerError = AxiosError<ResultError>;\nexport type ResetBuyerStatusTimerConfig = {\n baseURL?: string;\n urlParams: ResetBuyerStatusTimerUrlParams;\n headers: ResetBuyerStatusTimerHeaders;\n};\n\nexport function resetBuyerStatusTimerRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: ResetBuyerStatusTimerConfig) {\n return axios\n .patch(\n `/api/buyer/${urlParams.id}/reset-status`,\n {},\n {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n }\n )\n .then((res: ResetBuyerStatusTimerData) => res)\n .catch((err: ResetBuyerStatusTimerError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true; data: null };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type ShareBuyerUrlParams = { id: number };\nexport type ShareBuyerHeaders = { 'x-auth-hc': string };\nexport type ShareBuyerBody = { serviceRequestId: number; comment?: string };\nexport type ShareBuyerData = AxiosResponse<ResultData>;\nexport type ShareBuyerError = AxiosError<ResultError>;\nexport type ShareBuyerConfig = {\n baseURL?: string;\n urlParams: ShareBuyerUrlParams;\n headers: ShareBuyerHeaders;\n body: ShareBuyerBody;\n};\n\nexport function shareBuyerRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: ShareBuyerConfig) {\n return axios\n .put(`/api/buyer/${urlParams.id}/share`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data.error),\n ],\n })\n .then((res: ShareBuyerData) => res)\n .catch((err: ShareBuyerError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Buyer, BuyerStatus } from '../../../types';\n\ntype SuccessData = { success: true; data: Buyer };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdateBuyerUrlParams = { id: number };\nexport type UpdateBuyerHeaders = { 'x-auth-hc': string };\nexport type UpdateBuyerData = AxiosResponse<ResultData>;\nexport type UpdateBuyerError = AxiosError<ResultError>;\nexport type UpdateBuyerBody = {\n name?: string;\n status?: BuyerStatus;\n comment?: string;\n realtyShow?: {\n scheduledAt: string;\n };\n};\nexport type UpdateBuyerConfig = {\n baseURL?: string;\n urlParams: UpdateBuyerUrlParams;\n headers: UpdateBuyerHeaders;\n body: UpdateBuyerBody;\n};\n\nexport function updateBuyerRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n urlParams,\n headers,\n}: UpdateBuyerConfig) {\n return axios\n .put(`/api/buyer/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: UpdateBuyerData) => res)\n .catch((err: UpdateBuyerError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Call } from '../../../types';\n\ntype SuccessData = { success: true; data: Call };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateCallCommentHeaders = { 'x-auth-hc': string };\nexport type CreateCallCommentUrlParams = { id: number };\nexport type CreateCallCommentBody = { comment: string };\nexport type CreateCallCommentData = AxiosResponse<ResultData>;\nexport type CreateCallCommentError = AxiosError<ResultError>;\nexport type CreateCallCommentConfig = {\n baseURL?: string;\n headers: CreateCallCommentHeaders;\n body: CreateCallCommentBody;\n urlParams: CreateCallCommentUrlParams;\n};\n\nexport function createCallCommentRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n urlParams,\n}: CreateCallCommentConfig) {\n return axios\n .post(`/api/call/${urlParams.id}/comment`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data?.data : data.data?.error),\n ],\n })\n .then((res: CreateCallCommentData) => res)\n .catch((err: CreateCallCommentError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Call } from '../../../types';\n\ntype SuccessData = { success: true; data: Call };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindCallByIdUrlParams = { id: number };\nexport type FindCallByIdHeaders = { 'x-auth-hc': string };\nexport type FindCallByIdData = AxiosResponse<ResultData>;\nexport type FindCallByIdError = AxiosError<ResultError>;\n\nexport type FindCallByIdConfig = {\n baseURL?: string;\n urlParams: FindCallByIdUrlParams;\n headers: FindCallByIdHeaders;\n};\n\nexport function findCallByIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindCallByIdConfig) {\n return axios\n .get(`/api/calls/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindCallByIdData) => res)\n .catch((err: FindCallByIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { Call, CallTaskType, CallType } from '../../../types';\n\ntype SuccessData = { success: true; data: Call[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, Call>; meta: { total: number } };\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindCallsParams = {\n filter?: {\n allByNumber?: string;\n 'operator.groupLead.id'?: number | 'null' | 'notnull';\n 'callTask.serviceRequest.id'?: number | number[];\n 'callTask.type'?: CallTaskType;\n createdAt?: string | { from?: string; to?: string };\n id?: number | number[];\n hasComments?: boolean;\n 'operator.id'?: number | number[];\n 'to.number'?: string;\n type?: CallType;\n success?: boolean;\n };\n limits?: { page?: number; count: number | 'all' };\n sorting?: {\n direction: 'asc' | 'desc';\n type:\n | 'id'\n | 'extId'\n | 'type'\n | 'from'\n | 'to'\n | 'to.id'\n | 'to.number'\n | 'success'\n | 'createdAt'\n | 'responseAt'\n | 'endedAt'\n | 'duration'\n | 'recordLink'\n | 'callTask.id';\n };\n};\n\nexport type FindCallsHeaders = { 'x-auth-hc': string };\nexport type FindCallsData = AxiosResponse<ResultData>;\nexport type FindCallsError = AxiosError<ResultError>;\nexport type FindCallsConfig = {\n baseURL?: string;\n params: FindCallsParams;\n headers: FindCallsHeaders;\n};\n\nexport function findCallsRequest({ baseURL = 'https://clients.homeapp.ru', headers, params }: FindCallsConfig) {\n return axios\n .get('/api/calls', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n },\n ],\n })\n .then((res: FindCallsData) => res)\n .catch((err: FindCallsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { Call } from '../../../types';\n\ntype SuccessData = {\n success: true;\n data: Array<{\n serviceRequestId: number;\n call: Partial<Call> & { id: number };\n }>;\n};\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindFirstSuccessOutgoingCallsParams = {\n filter: {\n serviceRequestId: string | string[];\n };\n};\n\nexport type FindFirstSuccessOutgoingCallsHeaders = { 'x-auth-hc': string };\nexport type FindFirstSuccessOutgoingCallsData = AxiosResponse<ResultData>;\nexport type FindFirstSuccessOutgoingCallsError = AxiosError<ResultError>;\nexport type FindFirstSuccessOutgoingCallsConfig = {\n baseURL?: string;\n params: FindFirstSuccessOutgoingCallsParams;\n headers: FindFirstSuccessOutgoingCallsHeaders;\n};\n\nexport function findFirstSuccessOutgoingCallsRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n params,\n}: FindFirstSuccessOutgoingCallsConfig) {\n return axios\n .get('/api/calls/first-success-outgoing', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'comma', skipNulls: true }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error;\n\n return data.data;\n },\n ],\n })\n .then((res: FindFirstSuccessOutgoingCallsData) => res)\n .catch((err: FindFirstSuccessOutgoingCallsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { Call } from '../../../types';\n\ntype SuccessData = { success: true; data: Call[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: Record<'error' | 'message', string> };\n\ntype ResultData = { ids: number[]; byId: Record<string, Call>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindQualityAssessmentCallsHeaders = { 'x-auth-hc': string };\nexport type FindQualityAssessmentCallsParams = {\n filter?: { 'to.number'?: string };\n limits?: { page?: number; count: number | 'all' };\n sorting?: { direction: 'asc' | 'desc'; type: 'createdAt' };\n};\nexport type FindQualityAssessmentCallsData = AxiosResponse<ResultData>;\nexport type FindQualityAssessmentCallsError = AxiosError<ResultError>;\nexport type FindQualityAssessmentCallsConfig = {\n baseURL?: string;\n headers: FindQualityAssessmentCallsHeaders;\n params: FindQualityAssessmentCallsParams;\n};\n\nexport function findQualityAssessmentCallsRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n params,\n}: FindQualityAssessmentCallsConfig) {\n return axios\n .get('/api/calls/quality-assessor', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n }\n\n return data.data.error || data.data.message;\n },\n ],\n })\n .then((res: FindQualityAssessmentCallsData) => res)\n .catch((err: FindQualityAssessmentCallsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type MarkupCallHeaders = { 'x-auth-hc': string };\nexport type MarkupCallBody = { serviceRequest: { id: number }; call: { id: number } };\nexport type MarkupCallData = AxiosResponse<ResultData>;\nexport type MarkupCallError = AxiosError<ResultError>;\nexport type MarkupCallConfig = {\n baseURL?: string;\n headers: MarkupCallHeaders;\n body: MarkupCallBody;\n};\n\nexport function markupCallRequest({ baseURL = 'https://clients.homeapp.ru', body, headers }: MarkupCallConfig) {\n return axios\n .patch('/api/call/markup', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data?.error),\n ],\n })\n .then((res: MarkupCallData) => res)\n .catch((err: MarkupCallError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = '';\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type RemoveProxyPhoneHeaders = { 'x-auth-hc': string };\n\nexport type RemoveProxyPhoneData = AxiosResponse<ResultData>;\nexport type RemoveProxyPhoneError = AxiosError<ResultError>;\nexport type RemoveProxyPhoneConfig = {\n baseURL?: string;\n headers: RemoveProxyPhoneHeaders;\n};\n\nexport function removeProxyPhoneRequest({ baseURL = 'https://clients.homeapp.ru', headers }: RemoveProxyPhoneConfig) {\n return axios\n .delete('/api/call-proxy', {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data === '' ? null : data.data.error),\n ],\n })\n .then((res: RemoveProxyPhoneData) => res)\n .catch((err: RemoveProxyPhoneError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { CallProxy } from '../../../types';\n\ntype SuccessData = { success: true; data: CallProxy };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type SetProxyPhoneHeaders = { 'x-auth-hc': string };\nexport type SetProxyPhoneBody = {\n purposePhone: { number: string };\n serviceRequest?: { id: number };\n buyer?: { id: number };\n};\n\nexport type SetProxyPhoneData = AxiosResponse<ResultData>;\nexport type SetProxyPhoneError = AxiosError<ResultError>;\nexport type SetProxyPhoneConfig = {\n baseURL?: string;\n headers: SetProxyPhoneHeaders;\n body: SetProxyPhoneBody;\n};\n\nexport function setProxyPhoneRequest({ baseURL = 'https://clients.homeapp.ru', headers, body }: SetProxyPhoneConfig) {\n return axios\n .post('/api/call-proxy', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: SetProxyPhoneData) => res)\n .catch((err: SetProxyPhoneError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true; data: Array<unknown> };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type FinishOperatorWorkHeaders = { 'x-auth-hc': string };\nexport type FinishOperatorWorkData = AxiosResponse<ResultData>;\nexport type FinishOperatorWorkError = AxiosError<ResultError>;\nexport type FinishOperatorWorkConfig = { baseURL?: string; headers: FinishOperatorWorkHeaders };\n\nexport function finishOperatorWorkRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n}: FinishOperatorWorkConfig) {\n return axios\n .post('/api/call/operator/finish', undefined, {\n baseURL,\n headers: { Accept: 'application/json; version=1', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) return null;\n\n return data.data.error;\n },\n ],\n })\n .then((res: FinishOperatorWorkData) => res)\n .catch((err: FinishOperatorWorkError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true; data: { isActive: boolean } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type GetOperatorStatusHeaders = { 'x-auth-hc': string };\nexport type GetOperatorStatusData = AxiosResponse<ResultData>;\nexport type GetOperatorStatusError = AxiosError<ResultError>;\nexport type GetOperatorStatusConfig = { baseURL?: string; headers: GetOperatorStatusHeaders };\n\nexport function getOperatorStatusRequest({ baseURL = 'https://clients.homeapp.ru', headers }: GetOperatorStatusConfig) {\n return axios\n .get('/api/call/operator/status', {\n baseURL,\n headers: { Accept: 'application/json; version=1', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) return data.data;\n\n return data.data.error;\n },\n ],\n })\n .then((res: GetOperatorStatusData) => res)\n .catch((err: GetOperatorStatusError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { User } from '../../../types';\n\ntype SuccessData = {\n success: true;\n data: { finishedAt: string; id: number; startedAt: string; user: Partial<User> & { id: number } };\n};\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type StartOperatorWorkHeaders = { 'x-auth-hc': string };\nexport type StartOperatorWorkData = AxiosResponse<ResultData>;\nexport type StartOperatorWorkError = AxiosError<ResultError>;\nexport type StartOperatorWorkConfig = { baseURL?: string; headers: StartOperatorWorkHeaders };\n\nexport function startOperatorWorkRequest({ baseURL = 'https://clients.homeapp.ru', headers }: StartOperatorWorkConfig) {\n return axios\n .post('/api/call/operator/prolong', undefined, {\n baseURL,\n headers: { Accept: 'application/json; version=1', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error;\n\n return data.data;\n },\n ],\n })\n .then((res: StartOperatorWorkData) => res)\n .catch((err: StartOperatorWorkError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { CallTask } from '../../types';\n\ntype SuccessData = { success: true; data: CallTask };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type BookCallTaskHeaders = { 'x-auth-hc'?: string };\nexport type BookCallTaskUrlParams = { id: number };\nexport type BookCallTaskData = AxiosResponse<ResultData>;\nexport type BookCallTaskError = AxiosError<ResultError>;\nexport type BookCallTaskConfig = {\n baseURL?: string;\n headers?: BookCallTaskHeaders;\n urlParams: BookCallTaskUrlParams;\n};\n\nexport function bookCallTaskRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: BookCallTaskConfig) {\n return axios\n .put(`/api/calls/task/book/${urlParams.id}`, undefined, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) return data.data;\n\n return data.data.error;\n },\n ],\n })\n .then((res: BookCallTaskData) => res)\n .catch((err: BookCallTaskError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Call } from '../../types';\n\ntype SuccessData = { success: true; data: Call };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CallCallTaskHeaders = { 'x-auth-hc'?: string };\nexport type CallCallTaskUrlParams = { id: number };\nexport type CallCallTaskData = AxiosResponse<ResultData>;\nexport type CallCallTaskError = AxiosError<ResultError>;\nexport type CallCallTaskConfig = {\n baseURL?: string;\n headers?: CallCallTaskHeaders;\n urlParams: CallCallTaskUrlParams;\n};\n\nexport function callCallTaskRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: CallCallTaskConfig) {\n return axios\n .post(\n `/api/calls/task/callback/${urlParams.id}`,\n {},\n {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) return data.data;\n\n return data.data.error;\n },\n ],\n }\n )\n .then((res: CallCallTaskData) => res)\n .catch((err: CallCallTaskError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Call } from '../../types';\n\ntype SuccessData = { success: true; data: Call };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CallCallTaskExpertHeaders = { 'x-auth-hc'?: string };\nexport type CallCallTaskExpertUrlParams = { id: number; expertId: number };\nexport type CallCallTaskExpertData = AxiosResponse<ResultData>;\nexport type CallCallTaskExpertError = AxiosError<ResultError>;\nexport type CallCallTaskExpertConfig = {\n baseURL?: string;\n headers?: CallCallTaskExpertHeaders;\n urlParams: CallCallTaskExpertUrlParams;\n};\n\nexport function callCallTaskExpertRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: CallCallTaskExpertConfig) {\n return axios\n .post(\n `/api/call-center/call-task/${urlParams.id}/call/${urlParams.expertId}`,\n {},\n {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) return data.data;\n\n return data.data.error;\n },\n ],\n }\n )\n .then((res: CallCallTaskExpertData) => res)\n .catch((err: CallCallTaskExpertError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { CallTask } from '../../types';\n\ntype SuccessData = { success: true; data: CallTask };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CloseCallTaskHeaders = { 'x-auth-hc'?: string };\nexport type CloseCallTaskUrlParams = { id: number };\nexport type CloseCallTaskBody = { id: number; tags?: string[]; closingReason?: string; comment?: string };\nexport type CloseCallTaskData = AxiosResponse<ResultData>;\nexport type CloseCallTaskError = AxiosError<ResultError>;\nexport type CloseCallTaskConfig = {\n baseURL?: string;\n headers?: CloseCallTaskHeaders;\n urlParams: CloseCallTaskUrlParams;\n body: CloseCallTaskBody;\n};\n\nexport function closeCallTaskRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n body,\n}: CloseCallTaskConfig) {\n return axios\n .put(`/api/calls/task/close/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) return data.data;\n\n return data.data.error;\n },\n ],\n })\n .then((res: CloseCallTaskData) => res)\n .catch((err: CloseCallTaskError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { CallTask, CallTaskDirection } from '../../types';\n\ntype SuccessData = { success: true; data: CallTask; meta?: { reCaptchaScore: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { data: SuccessData['data']; meta: SuccessData['meta'] };\ntype ResultError = string;\n\nexport type CreateCallTaskHeaders = { 'x-auth-hc'?: string };\nexport type CreateCallTaskBody = {\n name: CallTask['name'];\n phone: CallTask['phone'];\n rtoken: string;\n comment?: CallTask['comment'];\n cookies?: Record<string, string>;\n complexId?: number;\n direction?: CallTaskDirection;\n sourceInfo?: CallTask['sourceInfo'];\n expertId?: number;\n realtyId?: number;\n source?: CallTask['source'];\n utmInfo?: CallTask['utmInfo'];\n referrer?: CallTask['referrer'];\n ipAddress?: CallTask['ipAddress'];\n userAgent?: CallTask['userAgent'];\n userAgentInfo?: CallTask['userAgentInfo'];\n partner?: { login: string; firstName: string };\n};\n\nexport type CreateCallTaskData = AxiosResponse<ResultData>;\nexport type CreateCallTaskError = AxiosError<ResultError>;\nexport type CreateCallTaskConfig = {\n baseURL?: string;\n headers?: CreateCallTaskHeaders;\n body: CreateCallTaskBody;\n};\n\nexport function createCallTaskRequest({ baseURL = 'https://clients.homeapp.ru', body, headers }: CreateCallTaskConfig) {\n return axios\n .post('/api/calls/task', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) return { data: data.data, meta: data.meta };\n\n return data.data.error;\n },\n ],\n })\n .then((res: CreateCallTaskData) => res)\n .catch((err: CreateCallTaskError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { CallTask } from '../../types';\n\ntype SuccessData = { success: true; data: CallTask };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindCallTaskByIdUrlParams = { id: number };\nexport type FindCallTaskByIdHeaders = { 'x-auth-hc': string };\nexport type FindCallTaskByIdData = AxiosResponse<ResultData>;\nexport type FindCallTaskByIdError = AxiosError<ResultError>;\n\nexport type FindCallTaskByIdConfig = {\n baseURL?: string;\n urlParams: FindCallTaskByIdUrlParams;\n headers: FindCallTaskByIdHeaders;\n};\n\nexport function findCallTaskByIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindCallTaskByIdConfig) {\n return axios\n .get(`/api/calls/task/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindCallTaskByIdData) => res)\n .catch((err: FindCallTaskByIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\n\ntype SuccessData = {\n success: true;\n data: {\n source: { source: string; cnt: number }[];\n campaign: { campaign: string; cnt: number }[];\n content: { content: string; cnt: number }[];\n };\n};\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindCallTaskSourceInfoParams = {\n filter?: {\n 'sourceInfo.source'?: string;\n 'sourceInfo.campaign'?: string;\n 'sourceInfo.content'?: string;\n direction?: string;\n };\n limits?: { page?: number; count: number | 'all' };\n sorting?: { direction: 'asc' | 'desc'; type: 'createdAt' | 'id' };\n};\nexport type FindCallTaskSourceInfoHeaders = { 'x-auth-hc': string };\nexport type FindCallTaskSourceInfoData = AxiosResponse<ResultData>;\nexport type FindCallTaskSourceInfoError = AxiosError<ResultError>;\n\nexport type FindCallTaskSourceInfoConfig = {\n baseURL?: string;\n params: FindCallTaskSourceInfoParams;\n headers: FindCallTaskSourceInfoHeaders;\n};\n\nexport function findCallTaskSourceInfoRequest({\n baseURL = 'https://clients.homeapp.ru',\n params,\n headers,\n}: FindCallTaskSourceInfoConfig) {\n return axios\n .get(`/api/calls/task/sourceInfo`, {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindCallTaskSourceInfoData) => res)\n .catch((err: FindCallTaskSourceInfoError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { CallTask, CallTaskStatus, CallTaskTriggeredByEvent } from '../../types';\n\ntype Data = Partial<CallTask> & Required<Pick<CallTask, 'id' | 'status' | 'createdAt'>>;\n\ntype SuccessData = { success: true; data: Data[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: Record<'error' | 'message', string> };\n\ntype ResultData = { ids: number[]; byId: Record<string, Data>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindCallTasksHeaders = { 'x-auth-hc': string };\nexport type FindCallTasksParams = {\n filter?: {\n 'serviceRequest.id'?: string;\n 'curator.id'?: string;\n actualAt?: string | { from: string; to: string };\n createdAt?: string | { from: string; to: string };\n hasAccessTags?: string[];\n hasNoAccessTags?: string[];\n id?: number | number[];\n isObjectRequest?: boolean;\n qualityAssurance?: boolean;\n query?: string;\n status?: CallTaskStatus | CallTaskStatus[];\n triggeredByEvent?: CallTaskTriggeredByEvent;\n };\n limits?: { page?: number; count: number | 'all' };\n sorting?: { direction: 'asc' | 'desc'; type: 'createdAt' | 'id' | 'source' };\n};\nexport type FindCallTasksData = AxiosResponse<ResultData>;\nexport type FindCallTasksError = AxiosError<ResultError>;\nexport type FindCallTasksConfig = {\n baseURL?: string;\n headers: FindCallTasksHeaders;\n params: FindCallTasksParams;\n};\n\nexport function findCallTasksRequest({ baseURL = 'https://clients.homeapp.ru', headers, params }: FindCallTasksConfig) {\n return axios\n .get('/api/calls/task', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n }\n\n return data.data.error || data.data.message;\n },\n ],\n })\n .then((res: FindCallTasksData) => res)\n .catch((err: FindCallTasksError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { CallTaskStatus, CallTaskTriggeredByEvent } from '../../types';\n\ntype SuccessData = { success: true; data: { count: number } };\ntype ErrorData = { success: false; data: Record<'error' | 'message', string> };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = string;\n\nexport type FindCallTasksCountHeaders = { 'x-auth-hc': string };\nexport type FindCallTasksCountParams = {\n filter?: {\n 'serviceRequest.id'?: string;\n actualAt?: string | { from: string; to: string };\n createdAt?: string | { from: string; to: string };\n hasAccessTags?: string[];\n hasNoAccessTags?: string[];\n id?: number | number[];\n isObjectRequest?: boolean;\n qualityAssurance?: boolean;\n query?: string;\n status?: CallTaskStatus | CallTaskStatus[];\n triggeredByEvent?: CallTaskTriggeredByEvent;\n lastRequestDate?: string;\n };\n limits?: { page?: number; count: number | 'all' };\n};\nexport type FindCallTasksCountData = AxiosResponse<ResultData>;\nexport type FindCallTasksCountError = AxiosError<ResultError>;\nexport type FindCallTasksCountConfig = {\n baseURL?: string;\n headers: FindCallTasksCountHeaders;\n params: FindCallTasksCountParams;\n};\n\nexport function findCallTasksCountRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n params,\n}: FindCallTasksCountConfig) {\n return axios\n .get('/api/calls/task/last', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError =>\n data.success ? { count: data?.data?.count } : data.data.error || data.data.message,\n ],\n })\n .then((res: FindCallTasksCountData) => res)\n .catch((err: FindCallTasksCountError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Call } from '../../types';\n\ntype SuccessData = { success: true; data: Call };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type JoinCallTaskCallHeaders = { 'x-auth-hc'?: string };\nexport type JoinCallTaskCallUrlParams = { id: number; expertId: number };\nexport type JoinCallTaskCallData = AxiosResponse<ResultData>;\nexport type JoinCallTaskCallError = AxiosError<ResultError>;\nexport type JoinCallTaskCallConfig = {\n baseURL?: string;\n headers?: JoinCallTaskCallHeaders;\n urlParams: JoinCallTaskCallUrlParams;\n};\n\nexport function joinCallTaskCallRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: JoinCallTaskCallConfig) {\n return axios\n .post(\n `/api/call-center/call-task/${urlParams.id}/join/${urlParams.expertId}`,\n {},\n {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) return data.data;\n\n return data.data.error;\n },\n ],\n }\n )\n .then((res: JoinCallTaskCallData) => res)\n .catch((err: JoinCallTaskCallError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Call } from '../../types';\n\ntype SuccessData = { success: true; data: Call };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type ReturnCallTaskCallHeaders = { 'x-auth-hc'?: string };\nexport type ReturnCallTaskCallUrlParams = { id: number };\nexport type ReturnCallTaskCallData = AxiosResponse<ResultData>;\nexport type ReturnCallTaskCallError = AxiosError<ResultError>;\nexport type ReturnCallTaskCallConfig = {\n baseURL?: string;\n headers?: ReturnCallTaskCallHeaders;\n urlParams: ReturnCallTaskCallUrlParams;\n};\n\nexport function returnCallTaskCallRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: ReturnCallTaskCallConfig) {\n return axios\n .post(\n `/api/call-center/call-task/${urlParams.id}/return/client`,\n {},\n {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) return data.data;\n\n return data.data.error;\n },\n ],\n }\n )\n .then((res: ReturnCallTaskCallData) => res)\n .catch((err: ReturnCallTaskCallError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { CallTask } from '../../types';\n\ntype SuccessData = { success: true; data: CallTask };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type ShiftCallTaskHeaders = { 'x-auth-hc'?: string };\nexport type ShiftCallTaskUrlParams = { id: number };\nexport type ShiftCallTaskBody = { id: number; actualAt: string; comment?: string };\nexport type ShiftCallTaskData = AxiosResponse<ResultData>;\nexport type ShiftCallTaskError = AxiosError<ResultError>;\nexport type ShiftCallTaskConfig = {\n baseURL?: string;\n headers?: ShiftCallTaskHeaders;\n urlParams: ShiftCallTaskUrlParams;\n body: ShiftCallTaskBody;\n};\n\nexport function shiftCallTaskRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n body,\n}: ShiftCallTaskConfig) {\n return axios\n .put(`/api/calls/task/shift/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) return data.data;\n\n return data.data.error;\n },\n ],\n })\n .then((res: ShiftCallTaskData) => res)\n .catch((err: ShiftCallTaskError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { CallTask } from '../../types';\n\ntype SuccessData = { success: true; data: CallTask };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = CallTask;\ntype ResultError = string;\n\nexport type UpdateCallTaskHeaders = { 'x-auth-hc'?: string };\nexport type UpdateCallTaskUrlParams = { id: number };\nexport type UpdateCallTaskBody = Partial<Omit<CallTask, 'partner'>> & {\n partner?: { login: string; firstName: string };\n};\n\nexport type UpdateCallTaskData = AxiosResponse<ResultData>;\nexport type UpdateCallTaskError = AxiosError<ResultError>;\nexport type UpdateCallTaskConfig = {\n baseURL?: string;\n headers?: UpdateCallTaskHeaders;\n body: UpdateCallTaskBody;\n urlParams: UpdateCallTaskUrlParams;\n};\n\nexport function updateCallTaskRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateCallTaskConfig) {\n return axios\n .put(`/api/calls/task/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) return data.data;\n\n return data.data.error;\n },\n ],\n })\n .then((res: UpdateCallTaskData) => res)\n .catch((err: UpdateCallTaskError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Checklist } from '../../types';\n\ntype SuccessData = { success: true; data: Checklist };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindChecklistByServiceRequestIdUrlParams = { serviceRequestId: number };\nexport type FindChecklistByServiceRequestIdHeaders = { 'x-auth-hc'?: string };\nexport type FindChecklistByServiceRequestIdData = AxiosResponse<ResultData>;\nexport type FindChecklistByServiceRequestIdError = AxiosError<ResultError>;\n\nexport type FindChecklistByServiceRequestIdConfig = {\n baseURL?: string;\n urlParams: FindChecklistByServiceRequestIdUrlParams;\n headers?: FindChecklistByServiceRequestIdHeaders;\n};\n\nexport function findChecklistByServiceRequestIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindChecklistByServiceRequestIdConfig) {\n return axios\n .get(`/api/service-request/${urlParams.serviceRequestId}/check-list`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindChecklistByServiceRequestIdData) => res)\n .catch((err: FindChecklistByServiceRequestIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ChecklistQuestionDictionary } from '../../types';\n\ntype SuccessData = { success: true; data: ChecklistQuestionDictionary[] };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, ChecklistQuestionDictionary> };\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindChecklistQuestionsHeaders = { 'x-auth-hc': string };\nexport type FindChecklistQuestionsData = AxiosResponse<ResultData>;\nexport type FindChecklistQuestionsError = AxiosError<ResultError>;\nexport type FindChecklistQuestionsConfig = {\n baseURL?: string;\n headers: FindChecklistQuestionsHeaders;\n};\n\nexport function findChecklistQuestionDictionariesRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n}: FindChecklistQuestionsConfig) {\n return axios\n .get('/api/check-list/dictionary', {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId };\n },\n ],\n })\n .then((res: FindChecklistQuestionsData) => res)\n .catch((err: FindChecklistQuestionsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Checklist, ChecklistQuestionDictionary, ChecklistAnswerDictionary } from '../../types';\n\ntype SuccessData = { success: true; data: Checklist };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdateChecklistUrlParams = { serviceRequestId: number };\nexport type UpdateChecklistHeaders = { 'x-auth-hc': string };\nexport type UpdateChecklistBody = {\n checkListAnswers?: Array<{\n question: Required<Pick<ChecklistQuestionDictionary, 'id'>>;\n answer: Required<Pick<ChecklistAnswerDictionary, 'id'>>;\n }>;\n};\n\nexport type UpdateChecklistData = AxiosResponse<ResultData>;\nexport type UpdateChecklistError = AxiosError<ResultError>;\nexport type UpdateChecklistConfig = {\n baseURL?: string;\n urlParams: UpdateChecklistUrlParams;\n headers: UpdateChecklistHeaders;\n body: UpdateChecklistBody;\n};\n\nexport function updateChecklistRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateChecklistConfig) {\n return axios\n .patch(`/api/service-request/${urlParams.serviceRequestId}/check-list`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: UpdateChecklistData) => res)\n .catch((err: UpdateChecklistError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ChecklistTask, File } from '../../types';\n\ntype SuccessData = { success: true; data: ChecklistTask };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdateChecklistTaskUrlParams = {\n srId: number;\n answerId: number;\n taskId: number;\n};\nexport type UpdateChecklistTaskHeaders = { 'x-auth-hc': string };\nexport type UpdateChecklistTaskBody = {\n comment?: string;\n files?: Array<Pick<File, 'id' | 'type' | 'name' | 'url'>>;\n};\n\nexport type UpdateChecklistTaskData = AxiosResponse<ResultData>;\nexport type UpdateChecklistTaskError = AxiosError<ResultError>;\nexport type UpdateChecklistTaskConfig = {\n baseURL?: string;\n urlParams: UpdateChecklistTaskUrlParams;\n headers: UpdateChecklistTaskHeaders;\n body: UpdateChecklistTaskBody;\n};\n\nexport function updateChecklistTaskRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateChecklistTaskConfig) {\n return axios\n .patch(\n `/api/service-request/${urlParams.srId}/check-list/answer/${urlParams.answerId}/task/${urlParams.taskId}`,\n body,\n {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n }\n )\n .then((res: UpdateChecklistTaskData) => res)\n .catch((err: UpdateChecklistTaskError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { Comment } from '../../../types';\n\ntype SuccessData = { success: true; data: Comment[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, Comment>; meta: { total: number } };\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindCommentsParams = {\n filter?: { 'call.id'?: string };\n sorting?: { type: 'createdAt'; direction: 'asc' | 'desc' };\n limits?: { page?: number; count?: number | 'all' };\n};\n\nexport type FindCommentsHeaders = { 'x-auth-hc': string };\nexport type FindCommentsData = AxiosResponse<ResultData>;\nexport type FindCommentsError = AxiosError<ResultError>;\nexport type FindCommentsConfig = {\n baseURL?: string;\n params: FindCommentsParams;\n headers: FindCommentsHeaders;\n};\n\nexport function findCommentsRequest({ baseURL = 'https://clients.homeapp.ru', headers, params }: FindCommentsConfig) {\n return axios\n .get('/api/comment', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n },\n ],\n })\n .then((res: FindCommentsData) => res)\n .catch((err: FindCommentsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Company } from '../../../types';\n\ntype SuccessData = { success: true; data: Company };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateCompanyHeaders = { 'x-auth-hc': string };\nexport type CreateCompanyBody = Partial<Omit<Company, 'id'>>;\nexport type CreateCompanyData = AxiosResponse<ResultData>;\nexport type CreateCompanyError = AxiosError<ResultError>;\nexport type CreateCompanyConfig = {\n baseURL?: string;\n headers: CreateCompanyHeaders;\n body: CreateCompanyBody;\n};\n\nexport function createCompanyRequest({ baseURL = 'https://clients.homeapp.ru', body, headers }: CreateCompanyConfig) {\n return axios\n .post(`/api/company`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreateCompanyData) => res)\n .catch((err: CreateCompanyError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { Company } from '../../../types';\n\ntype SuccessData = { success: true; data: Company[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, Company>; meta: { total: number } };\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindCompaniesParams = {\n filter?: {\n 'user.id'?: number | number[];\n id?: number | number[];\n title?: string;\n };\n limits?: { page?: number; count: number | 'all' };\n sorting?: {\n direction: 'asc' | 'desc';\n type: string;\n };\n};\n\nexport type FindCompaniesHeaders = { 'x-auth-hc': string };\nexport type FindCompaniesData = AxiosResponse<ResultData>;\nexport type FindCompaniesError = AxiosError<ResultError>;\nexport type FindCompaniesConfig = {\n baseURL?: string;\n params: FindCompaniesParams;\n headers: FindCompaniesHeaders;\n};\n\nexport function findCompaniesRequest({ baseURL = 'https://clients.homeapp.ru', headers, params }: FindCompaniesConfig) {\n return axios\n .get('/api/company', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams?.length || ids.length } };\n },\n ],\n })\n .then((res: FindCompaniesData) => res)\n .catch((err: FindCompaniesError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Company } from '../../../types';\n\ntype SuccessData = { success: true; data: Company };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindCompanyByIdUrlParams = { id: number };\nexport type FindCompanyByIdHeaders = { 'x-auth-hc': string };\nexport type FindCompanyByIdData = AxiosResponse<ResultData>;\nexport type FindCompanyByIdError = AxiosError<ResultError>;\n\nexport type FindCompanyByIdConfig = {\n baseURL?: string;\n urlParams: FindCompanyByIdUrlParams;\n headers: FindCompanyByIdHeaders;\n};\n\nexport function findCompanyByIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindCompanyByIdConfig) {\n return axios\n .get(`/api/company/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindCompanyByIdData) => res)\n .catch((err: FindCompanyByIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Company } from '../../../types';\n\ntype SuccessData = { success: true; data: Company };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdateCompanyUrlParams = { id: number };\nexport type UpdateCompanyHeaders = { 'x-auth-hc': string };\nexport type UpdateCompanyBody = Partial<\n Omit<Company, 'id' | 'createdAt' | 'dealCount' | 'yearIncomes' | 'receiptAmount' | 'commissionSum'>\n>;\nexport type UpdateCompanyData = AxiosResponse<ResultData>;\nexport type UpdateCompanyError = AxiosError<ResultError>;\nexport type UpdateCompanyConfig = {\n baseURL?: string;\n urlParams: UpdateCompanyUrlParams;\n headers: UpdateCompanyHeaders;\n body: UpdateCompanyBody;\n};\n\nexport function updateCompanyRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateCompanyConfig) {\n return axios\n .patch(`/api/company/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: UpdateCompanyData) => res)\n .catch((err: UpdateCompanyError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Contract } from '../../../types';\n\ntype SuccessData = { success: true; data: Partial<Contract> & { id: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type ApproveContractHeaders = { 'x-auth-hc': string };\nexport type ApproveContractUrlParams = { id: number };\nexport type ApproveContractBody = { viewedAt: string; approvedAt?: string };\nexport type ApproveContractData = AxiosResponse<ResultData>;\nexport type ApproveContractError = AxiosError<ResultError>;\nexport type ApproveContractConfig = {\n baseURL?: string;\n urlParams: ApproveContractUrlParams;\n headers: ApproveContractHeaders;\n body: ApproveContractBody;\n};\n\nexport function approveContractRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: ApproveContractConfig) {\n return axios\n .patch(`/api/contract/status/approved/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data?.error),\n ],\n })\n .then((res: ApproveContractData) => res)\n .catch((err: ApproveContractError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Contract, ServiceRequest } from '../../../types';\n\ntype SuccessData = { success: true; data: Contract };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateContractHeaders = { 'x-auth-hc': string };\nexport type CreateContractBody = Pick<Contract, 'amount' | 'duration' | 'isFixedCashCommission' | 'kind' | 'type'> & {\n serviceRequest: Pick<ServiceRequest, 'id'>;\n};\nexport type CreateContractData = AxiosResponse<ResultData>;\nexport type CreateContractError = AxiosError<ResultError>;\nexport type CreateContractConfig = {\n baseURL?: string;\n body: CreateContractBody;\n headers: CreateContractHeaders;\n};\n\nexport function createContractRequest({ baseURL = 'https://clients.homeapp.ru', body, headers }: CreateContractConfig) {\n return axios\n .post(`/api/contract`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreateContractData) => res)\n .catch((err: CreateContractError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateContractLegalDocumentHeaders = { 'x-auth-hc': string };\nexport type CreateContractLegalDocumentUrlParams = { id: number };\nexport type CreateContractLegalDocumentData = AxiosResponse<ResultData>;\nexport type CreateContractLegalDocumentError = AxiosError<ResultError>;\nexport type CreateContractLegalDocumentConfig = {\n baseURL?: string;\n urlParams: CreateContractLegalDocumentUrlParams;\n headers: CreateContractLegalDocumentHeaders;\n};\n\nexport function createContractLegalDocumentRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: CreateContractLegalDocumentConfig) {\n return axios\n .post(`/api/contract/${urlParams.id}/legal-document`, null, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data.error),\n ],\n })\n .then((res: CreateContractLegalDocumentData) => res)\n .catch((err: CreateContractLegalDocumentError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Contract } from '../../../types';\n\ntype SuccessData = { success: true; data: Partial<Contract> & { id: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type DeclineContractHeaders = { 'x-auth-hc': string };\nexport type DeclineContractUrlParams = { id: number };\nexport type DeclineContractBody = { viewedAt: string; declinedAt?: string };\nexport type DeclineContractData = AxiosResponse<ResultData>;\nexport type DeclineContractError = AxiosError<ResultError>;\nexport type DeclineContractConfig = {\n baseURL?: string;\n urlParams: DeclineContractUrlParams;\n headers: DeclineContractHeaders;\n body: DeclineContractBody;\n};\n\nexport function declineContractRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: DeclineContractConfig) {\n return axios\n .patch(`/api/contract/status/declined/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data?.error),\n ],\n })\n .then((res: DeclineContractData) => res)\n .catch((err: DeclineContractError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Contract } from '../../../types';\n\ntype SuccessData = { success: true; data: Contract };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindContractByIdUrlParams = { id: number };\nexport type FindContractByIdHeaders = { 'x-auth-hc': string };\nexport type FindContractByIdData = AxiosResponse<ResultData>;\nexport type FindContractByIdError = AxiosError<ResultError>;\n\nexport type FindContractByIdConfig = {\n baseURL?: string;\n urlParams: FindContractByIdUrlParams;\n headers: FindContractByIdHeaders;\n};\n\nexport function findContractByIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindContractByIdConfig) {\n return axios\n .get(`/api/contract/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindContractByIdData) => res)\n .catch((err: FindContractByIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ContractDocument } from '../../../types';\n\ntype SuccessData = { success: true; data: ContractDocument };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindContractDocumentByContractIdUrlParams = { id: number };\nexport type FindContractDocumentByContractIdHeaders = { 'x-auth-hc': string };\nexport type FindContractDocumentByContractIdData = AxiosResponse<ResultData>;\nexport type FindContractDocumentByContractIdError = AxiosError<ResultError>;\n\nexport type FindContractDocumentByContractIdConfig = {\n baseURL?: string;\n urlParams: FindContractDocumentByContractIdUrlParams;\n headers: FindContractDocumentByContractIdHeaders;\n};\n\nexport function findContractDocumentByContractIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindContractDocumentByContractIdConfig) {\n return axios\n .get(`/api/contract/${urlParams.id}/document`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindContractDocumentByContractIdData) => res)\n .catch((err: FindContractDocumentByContractIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ContractLegalDocument } from '../../../types';\n\ntype SuccessData = { success: true; data: ContractLegalDocument };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindContractLegalDocumentByContractIdUrlParams = { id: number };\nexport type FindContractLegalDocumentByContractIdHeaders = { 'x-auth-hc': string };\nexport type FindContractLegalDocumentByContractIdData = AxiosResponse<ResultData>;\nexport type FindContractLegalDocumentByContractIdError = AxiosError<ResultError>;\n\nexport type FindContractLegalDocumentByContractIdConfig = {\n baseURL?: string;\n urlParams: FindContractLegalDocumentByContractIdUrlParams;\n headers: FindContractLegalDocumentByContractIdHeaders;\n};\n\nexport function findContractLegalDocumentByContractIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindContractLegalDocumentByContractIdConfig) {\n return axios\n .get(`/api/contract/${urlParams.id}/legal-document`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindContractLegalDocumentByContractIdData) => res)\n .catch((err: FindContractLegalDocumentByContractIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { Contract } from '../../../types';\n\ntype SuccessData = { success: true; data: Contract[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: Record<'error' | 'message', string> };\n\ntype ResultData = { ids: number[]; byId: Record<string, Contract>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindContractsHeaders = { 'x-auth-hc': string };\nexport type FindContractsParams = {\n filter?: { id?: number | number[] };\n limits?: { page?: number; count: number | 'all' };\n sorting?: { direction: 'asc' | 'desc'; type: 'id' };\n};\nexport type FindContractsData = AxiosResponse<ResultData>;\nexport type FindContractsError = AxiosError<ResultError>;\nexport type FindContractsConfig = {\n baseURL?: string;\n headers: FindContractsHeaders;\n params: FindContractsParams;\n};\n\nexport function findContractsRequest({ baseURL = 'https://clients.homeapp.ru', headers, params }: FindContractsConfig) {\n return axios\n .get('/api/contract', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error || data.data.message;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n },\n ],\n })\n .then((res: FindContractsData) => res)\n .catch((err: FindContractsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Contract } from '../../../types';\n\ntype Data = Partial<Contract> & { id: number };\n\ntype SuccessData = { success: true; data: Data };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = Data;\ntype ResultError = string;\n\nexport type SignContractHeaders = { 'x-auth-hc': string };\nexport type SignContractUrlParams = { id: number };\nexport type SignContractBody = { signedAt: string; expiresAt: string };\nexport type SignContractData = AxiosResponse<ResultData>;\nexport type SignContractError = AxiosError<ResultError>;\nexport type SignContractConfig = {\n baseURL?: string;\n urlParams: SignContractUrlParams;\n headers: SignContractHeaders;\n body: SignContractBody;\n};\n\nexport function signContractRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: SignContractConfig) {\n return axios\n .patch(`/api/contract/status/signed/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: SignContractData) => res)\n .catch((err: SignContractError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Contract } from '../../../types';\n\ntype SuccessData = { success: true; data: Partial<Contract> & Required<Pick<Contract, 'id'>> };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type TerminateContractHeaders = { 'x-auth-hc': string };\nexport type TerminateContractUrlParams = { id: number };\nexport type TerminateContractBody = { reason: string; amountPenalty?: Contract['amountPenalty'] };\nexport type TerminateContractData = AxiosResponse<ResultData>;\nexport type TerminateContractError = AxiosError<ResultError>;\nexport type TerminateContractConfig = {\n baseURL?: string;\n urlParams: TerminateContractUrlParams;\n body: TerminateContractBody;\n headers: TerminateContractHeaders;\n};\n\nexport function terminateContractRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: TerminateContractConfig) {\n return axios\n .patch(`/api/contract/status/terminate/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: TerminateContractData) => res)\n .catch((err: TerminateContractError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Contract } from '../../../types';\n\ntype SuccessData = { success: true; data: Contract };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdateContractUrlParams = { id: number };\nexport type UpdateContractHeaders = { 'x-auth-hc': string };\nexport type UpdateContractBody = Partial<Contract> & {\n amount: NonNullable<Contract['amount']>;\n duration: NonNullable<Contract['duration']>;\n formalId: NonNullable<Contract['formalId']>;\n isFixedCashCommission: NonNullable<Contract['isFixedCashCommission']>;\n kind: NonNullable<Contract['kind']>;\n serviceRequest: Pick<NonNullable<Contract['serviceRequest']>, 'id'>;\n status: NonNullable<Contract['status']>;\n type: NonNullable<Contract['type']>;\n};\n\nexport type UpdateContractData = AxiosResponse<ResultData>;\nexport type UpdateContractError = AxiosError<ResultError>;\nexport type UpdateContractConfig = {\n baseURL?: string;\n urlParams: UpdateContractUrlParams;\n headers: UpdateContractHeaders;\n body: UpdateContractBody;\n};\n\nexport function updateContractRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateContractConfig) {\n return axios\n .put(`/api/contract/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: UpdateContractData) => res)\n .catch((err: UpdateContractError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ContractDocument } from '../../../types';\n\ntype SuccessData = '';\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdateContractDocumentUrlParams = { id: number };\nexport type UpdateContractDocumentHeaders = { 'x-auth-hc': string };\nexport type UpdateContractDocumentBody = Omit<ContractDocument, 'type' | 'contractNumber' | 'requisites'>;\n\nexport type UpdateContractDocumentData = AxiosResponse<ResultData>;\nexport type UpdateContractDocumentError = AxiosError<ResultError>;\nexport type UpdateContractDocumentConfig = {\n baseURL?: string;\n urlParams: UpdateContractDocumentUrlParams;\n headers: UpdateContractDocumentHeaders;\n body: UpdateContractDocumentBody;\n};\n\nexport function updateContractDocumentRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateContractDocumentConfig) {\n return axios\n .put(`/api/contract/${urlParams.id}/document`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data === '' ? null : data.data.error),\n ],\n })\n .then((res: UpdateContractDocumentData) => res)\n .catch((err: UpdateContractDocumentError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Contract, ContractKind } from '../../../types';\n\ntype Data = Partial<Contract> & { id: number };\n\ntype SuccessData = { success: true; data: Data };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = Data;\ntype ResultError = string;\n\nexport type UpgradeContractHeaders = { 'x-auth-hc': string };\nexport type UpgradeContractUrlParams = { id: number };\nexport type UpgradeContractBody = { kind: ContractKind };\nexport type UpgradeContractData = AxiosResponse<ResultData>;\nexport type UpgradeContractError = AxiosError<ResultError>;\nexport type UpgradeContractConfig = {\n baseURL?: string;\n urlParams: UpgradeContractUrlParams;\n headers: UpgradeContractHeaders;\n body: UpgradeContractBody;\n};\n\nexport function upgradeContractRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpgradeContractConfig) {\n return axios\n .patch(`/api/contract/upgrade/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: UpgradeContractData) => res)\n .catch((err: UpgradeContractError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateCottageComplexHeaders = { 'x-auth-hc': string };\nexport type CreateCottageComplexBody = {\n cianId: number;\n name: string;\n};\n\nexport type CreateCottageComplexData = AxiosResponse<ResultData>;\nexport type CreateCottageComplexError = AxiosError<ResultError>;\nexport type CreateCottageComplexConfig = {\n baseURL?: string;\n headers: CreateCottageComplexHeaders;\n body: CreateCottageComplexBody;\n};\n\nexport function createCottageComplexRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n}: CreateCottageComplexConfig) {\n return axios\n .post('/api/cottage-complex', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data.error),\n ],\n })\n .then((res: CreateCottageComplexData) => res)\n .catch((err: CreateCottageComplexError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type DeleteCrossSaleHeaders = { 'x-auth-hc': string };\nexport type DeleteCrossSaleUrlParams = { serviceRequestId: number; realtyId: number };\nexport type DeleteCrossSaleData = AxiosResponse<ResultData>;\nexport type DeleteCrossSaleError = AxiosError<ResultError>;\nexport type DeleteCrossSaleConfig = {\n baseURL?: string;\n urlParams: DeleteCrossSaleUrlParams;\n headers: DeleteCrossSaleHeaders;\n};\n\nexport function deleteCrossSaleRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: DeleteCrossSaleConfig) {\n return axios\n .delete(`/api/cross-sale/${urlParams.serviceRequestId}/realty/${urlParams.realtyId}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data.error),\n ],\n })\n .then((res: DeleteCrossSaleData) => res)\n .catch((err: DeleteCrossSaleError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { CrossSale } from '../../../types';\n\ntype SuccessData = { success: true; data: CrossSale[] };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, CrossSale> };\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindCrossSaleHeaders = { 'x-auth-hc': string };\nexport type FindCrossSaleUrlParams = { serviceRequestId: number };\nexport type FindCrossSaleData = AxiosResponse<ResultData>;\nexport type FindCrossSaleError = AxiosError<ResultError>;\nexport type FindCrossSaleConfig = {\n baseURL?: string;\n headers: FindCrossSaleHeaders;\n urlParams: FindCrossSaleUrlParams;\n};\n\nexport function findCrossSaleRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindCrossSaleConfig) {\n return axios\n .get(`/api/cross-sale/${urlParams.serviceRequestId}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) {\n return data.data?.error;\n }\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId };\n },\n ],\n })\n .then((res: FindCrossSaleData) => res)\n .catch((err: FindCrossSaleError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { CrossSale, CrossSaleContractorType } from '../../../types';\n\ntype SuccessData = { success: true; data: CrossSale };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdateCrossSaleUrlParams = { serviceRequestId: number; realtyId: number };\nexport type UpdateCrossSaleHeaders = { 'x-auth-hc': string };\nexport type UpdateCrossSaleBody = {\n contractorType?: CrossSaleContractorType | null;\n phone?: { number: string } | null;\n commission?: number;\n comment?: string | null;\n};\nexport type UpdateCrossSaleData = AxiosResponse<ResultData>;\nexport type UpdateCrossSaleError = AxiosError<ResultError>;\nexport type UpdateCrossSaleConfig = {\n baseURL?: string;\n urlParams: UpdateCrossSaleUrlParams;\n headers: UpdateCrossSaleHeaders;\n body: UpdateCrossSaleBody;\n};\n\nexport function updateCrossSaleRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateCrossSaleConfig) {\n return axios\n .patch(`/api/cross-sale/${urlParams.serviceRequestId}/realty/${urlParams.realtyId}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: UpdateCrossSaleData) => res)\n .catch((err: UpdateCrossSaleError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { MoneyAmount } from '../../types';\n\ntype SuccessData = { success: true; data: MoneyAmount };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type GetRubleAmountHeaders = { 'x-auth-hc': string };\nexport type GetRubleAmountBody = Array<MoneyAmount>;\nexport type GetRubleAmountData = AxiosResponse<ResultData>;\nexport type GetRubleAmountError = AxiosError<ResultError>;\nexport type GetRubleAmountConfig = {\n baseURL?: string;\n body: GetRubleAmountBody;\n headers: GetRubleAmountHeaders;\n};\n\nexport function getRubleAmountRequest({ baseURL = 'https://clients.homeapp.ru', body, headers }: GetRubleAmountConfig) {\n return axios\n .post('/api/money/add-up', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: GetRubleAmountData) => res)\n .catch((err: GetRubleAmountError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { CurrencyCourses } from '../../types';\n\ntype SuccessData = { success: true; data: CurrencyCourses[] };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type GetCurrencyCoursesHeaders = { 'x-auth-hc': string };\nexport type GetCurrencyCoursesData = AxiosResponse<ResultData>;\nexport type GetCurrencyCoursesError = AxiosError<ResultError>;\nexport type GetCurrencyCoursesConfig = {\n baseURL?: string;\n headers: GetCurrencyCoursesHeaders;\n};\n\nexport function getCurrencyCoursesRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n}: GetCurrencyCoursesConfig) {\n return axios\n .get('/api/currency-rate/get-last-available', {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: GetCurrencyCoursesData) => res)\n .catch((err: GetCurrencyCoursesError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Deal, DealParticipant } from '../../../types';\n\ntype SuccessData = { success: true; data: Deal };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateDealHeaders = { 'x-auth-hc': string };\nexport type CreateDealBody = {\n invest: { isInvestBuyout: boolean } | null;\n participants: Partial<DealParticipant>[];\n clientCommission: NonNullable<Deal['clientCommission']>;\n\n plannedCommission?: NonNullable<Deal['plannedCommission']>;\n buyer?: { id?: number; name: string; phone: string };\n buyParams?: { address?: string; flatNumber?: number; cadastralNumber?: string };\n comment?: Deal['comment'];\n companyDedicatedCommission?: Deal['companyDedicatedCommission'];\n contract?: Pick<NonNullable<Deal['contract']>, 'id'>;\n dealSignPlannedAt?: Deal['dealSignPlannedAt'];\n developerCommission?: Deal['developerCommission'];\n finalPrice?: Deal['finalPrice'];\n hasPrepayment?: Deal['hasPrepayment'];\n partnerCommission?: Deal['partnerCommission'];\n partnerDealType?: Deal['partnerDealType'];\n prepaymentPlannedAt?: Deal['prepaymentPlannedAt'];\n prepaymentPlannedPlace?: Deal['prepaymentPlannedPlace'];\n};\n\nexport type CreateDealData = AxiosResponse<ResultData>;\nexport type CreateDealError = AxiosError<ResultError>;\nexport type CreateDealConfig = {\n baseURL?: string;\n headers: CreateDealHeaders;\n body: CreateDealBody;\n};\n\nexport function createDealRequest({ baseURL = 'https://clients.homeapp.ru', body, headers }: CreateDealConfig) {\n return axios\n .post(`/api/deal`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreateDealData) => res)\n .catch((err: CreateDealError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { DealCategorizedFile, DealCategorizedFileCategory } from '../../../types';\n\ntype SuccessData = { success: true; data: DealCategorizedFile };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateDealCategorizedFileHeaders = { 'x-auth-hc': string };\nexport type CreateDealCategorizedFileUrlParams = { id: number };\nexport type CreateDealCategorizedFileBody = {\n file: { id: number };\n category: Exclude<\n DealCategorizedFileCategory,\n | DealCategorizedFileCategory.Act\n | DealCategorizedFileCategory.ActDeveloper\n | DealCategorizedFileCategory.Risk\n | DealCategorizedFileCategory.DeleteReason\n | DealCategorizedFileCategory.OwnershipTransfers\n | DealCategorizedFileCategory.Egrn\n >;\n};\n\nexport type CreateDealCategorizedFileData = AxiosResponse<ResultData>;\nexport type CreateDealCategorizedFileError = AxiosError<ResultError>;\nexport type CreateDealCategorizedFileConfig = {\n baseURL?: string;\n urlParams: CreateDealCategorizedFileUrlParams;\n headers: CreateDealCategorizedFileHeaders;\n body: CreateDealCategorizedFileBody;\n};\n\nexport function createDealCategorizedFileRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: CreateDealCategorizedFileConfig) {\n return axios\n .post(`/api/deal/${urlParams.id}/file`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data?.error),\n ],\n })\n .then((res: CreateDealCategorizedFileData) => res)\n .catch((err: CreateDealCategorizedFileError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Deal } from '../../../types';\n\ntype SuccessData = { success: true; data: Partial<Deal> & { id: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateDealInvestPrepaymentHeaders = { 'x-auth-hc': string };\nexport type CreateDealInvestPrepaymentUrlParams = { id: number };\nexport type CreateDealInvestPrepaymentBody = { investBuyoutPrepaymentSum: number; investBuyoutPrepaymentAt: string };\nexport type CreateDealInvestPrepaymentData = AxiosResponse<ResultData>;\nexport type CreateDealInvestPrepaymentError = AxiosError<ResultError>;\nexport type CreateDealInvestPrepaymentConfig = {\n baseURL?: string;\n urlParams: CreateDealInvestPrepaymentUrlParams;\n headers: CreateDealInvestPrepaymentHeaders;\n body: CreateDealInvestPrepaymentBody;\n};\n\nexport function createDealInvestPrepaymentRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n body,\n}: CreateDealInvestPrepaymentConfig) {\n return axios\n .patch(`/api/deal/invest-prepayment/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreateDealInvestPrepaymentData) => res)\n .catch((err: CreateDealInvestPrepaymentError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = never;\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type DeleteDealCategorizedFileHeaders = { 'x-auth-hc': string };\nexport type DeleteDealCategorizedFileUrlParams = { dealId: number; id: number };\nexport type DeleteDealCategorizedFileData = AxiosResponse<ResultData>;\nexport type DeleteDealCategorizedFileError = AxiosError<ResultError>;\nexport type DeleteDealCategorizedFileConfig = {\n baseURL?: string;\n urlParams: DeleteDealCategorizedFileUrlParams;\n headers: DeleteDealCategorizedFileHeaders;\n};\n\nexport function deleteDealCategorizedFileRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: DeleteDealCategorizedFileConfig) {\n return axios\n .delete(`/api/deal/${urlParams.dealId}/file/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data && !data.success ? data.data?.error : null),\n ],\n })\n .then((res: DeleteDealCategorizedFileData) => res)\n .catch((err: DeleteDealCategorizedFileError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Deal } from '../../../types';\n\ntype SuccessData = { success: true; data: Deal };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindDealByIdUrlParams = { id: number };\nexport type FindDealByIdHeaders = { 'x-auth-hc': string };\nexport type FindDealByIdData = AxiosResponse<ResultData>;\nexport type FindDealByIdError = AxiosError<ResultError>;\n\nexport type FindDealByIdConfig = {\n baseURL?: string;\n urlParams: FindDealByIdUrlParams;\n headers: FindDealByIdHeaders;\n};\n\nexport function findDealByIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindDealByIdConfig) {\n return axios\n .get(`/api/deal/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindDealByIdData) => res)\n .catch((err: FindDealByIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { DealCategorizedFile } from '../../../types';\n\ntype SuccessData = { success: true; data: DealCategorizedFile[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, DealCategorizedFile>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindDealCategorizedFilesHeaders = { 'x-auth-hc': string };\nexport type FindDealCategorizedFilesUrlParams = { id: number };\nexport type FindDealCategorizedFilesParams = {\n filter?: {\n id?: number | number[];\n };\n limits?: { page?: number; count: number | 'all' };\n sorting?: { direction: 'asc' | 'desc'; type: 'file.createdAt' };\n};\nexport type FindDealCategorizedFilesData = AxiosResponse<ResultData>;\nexport type FindDealCategorizedFilesError = AxiosError<ResultError>;\nexport type FindDealCategorizedFilesConfig = {\n baseURL?: string;\n urlParams: FindDealCategorizedFilesUrlParams;\n headers: FindDealCategorizedFilesHeaders;\n params: FindDealCategorizedFilesParams;\n};\n\nexport function findDealCategorizedFilesRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n params,\n}: FindDealCategorizedFilesConfig) {\n return axios\n .get(`/api/deal/${urlParams.id}/file`, {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n }\n\n return data.data?.error;\n },\n ],\n })\n .then((res: FindDealCategorizedFilesData) => res)\n .catch((err: FindDealCategorizedFilesError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\n\ntype SuccessData = { success: true; data: { month: string; count: number; commission: number }[] };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindDealExpertStatisticsParams = { filter?: { from: string; to: string } };\nexport type FindDealExpertStatisticsUrlParams = { id: number };\nexport type FindDealExpertStatisticsHeaders = { 'x-auth-hc': string };\nexport type FindDealExpertStatisticsData = AxiosResponse<ResultData>;\nexport type FindDealExpertStatisticsError = AxiosError<ResultError>;\nexport type FindDealExpertStatisticsConfig = {\n baseURL?: string;\n headers: FindDealExpertStatisticsHeaders;\n params: FindDealExpertStatisticsParams;\n urlParams: FindDealExpertStatisticsUrlParams;\n};\n\nexport function findDealExpertStatisticsRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n params,\n urlParams,\n}: FindDealExpertStatisticsConfig) {\n return axios\n .get(`/api/deal/${urlParams.id}/expert-statistic`, {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindDealExpertStatisticsData) => res)\n .catch((err: FindDealExpertStatisticsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { ContractStatus, Deal, DealStatus, ServiceRequestType } from '../../../types';\nimport { RealtyType } from '../../../../v2';\n\ntype SuccessData = {\n success: true;\n data: Deal[];\n meta: { plannedCommissionSum: number; receivedCommissionSum: number };\n pageParams: { page: number; length: number };\n};\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = {\n ids: number[];\n byId: Record<string, Deal>;\n meta: { total: number; plannedCommissionSum: number; receivedCommissionSum: number };\n};\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindDealsParams = {\n filter?: {\n actSignedAt?: { from?: string; to?: string };\n address?: string;\n 'contract.serviceRequest.curator.office'?: string;\n 'contract.serviceRequest.id'?: number | 'null' | 'notnull';\n 'contract.serviceRequest.investBuyoutDeal.id'?: number | 'null' | 'notnull';\n 'contract.serviceRequest.realtyType'?: RealtyType;\n 'contract.serviceRequest.type'?: ServiceRequestType;\n 'contract.signedAt'?: { from?: string; to?: string };\n 'contract.status'?: ContractStatus;\n commonId?: string;\n createdAt?: { from?: string; to?: string };\n dealDoneAt?: { from?: string; to?: string };\n dealSignedAt?: { from?: string; to?: string };\n 'expert.id'?: number | 'null' | 'notnull';\n 'expert.supervisor.id'?: number | 'null' | 'notnull';\n financeConfirmAt?: { from?: string; to?: string } | 'null' | 'notnull';\n hasPassedDate?: boolean;\n hasPrepayment?: boolean;\n id?: number | number[] | 'null' | 'notnull';\n isInvestBuyout?: boolean;\n isLawyerRequired?: boolean;\n 'lawyer.id'?: number | 'null' | 'notnull';\n lawyerNotRequiredReason?: string;\n prepaidAt?: { from?: string; to?: string };\n prepaymentPlannedAt?: { from?: string; to?: string };\n registeredAt?: { from?: string; to?: string };\n status?: DealStatus | DealStatus[];\n terminatedAt?: { from?: string; to?: string };\n withTerminated?: boolean;\n };\n limits?: { page?: number; count: number | 'all' };\n sorting?: {\n direction: 'asc' | 'desc';\n type:\n | 'commissionAt'\n | 'commissionPlannedAt'\n | 'createdAt'\n | 'dealDoneAt'\n | 'dealSignPlannedAt'\n | 'dealSignedAt'\n | 'prepaidAt'\n | 'prepaymentPlannedAt'\n | 'registerPlannedAt'\n | 'registeredAt'\n | 'terminationRequestedAt';\n };\n};\n\nexport type FindDealsHeaders = { 'x-auth-hc': string };\nexport type FindDealsData = AxiosResponse<ResultData>;\nexport type FindDealsError = AxiosError<ResultError>;\nexport type FindDealsConfig = {\n baseURL?: string;\n headers: FindDealsHeaders;\n params: FindDealsParams;\n};\n\nexport function findDealsRequest({ baseURL = 'https://clients.homeapp.ru', headers, params }: FindDealsConfig) {\n return axios\n .get('/api/deal', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { ...data.meta, total: data.pageParams.length } };\n },\n ],\n })\n .then((res: FindDealsData) => res)\n .catch((err: FindDealsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Deal } from '../../../types';\n\ntype SuccessData = { success: true; data: Partial<Deal> & { id: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type SetDealClassificationScoreHeaders = { 'x-auth-hc': string };\nexport type SetDealClassificationScoreUrlParams = { id: number };\nexport type SetDealClassificationScoreBody = { dealId: number; classificationScore: number };\n\nexport type SetDealClassificationScoreData = AxiosResponse<ResultData>;\nexport type SetDealClassificationScoreError = AxiosError<ResultError>;\nexport type SetDealClassificationScoreConfig = {\n baseURL?: string;\n urlParams: SetDealClassificationScoreUrlParams;\n headers: SetDealClassificationScoreHeaders;\n body: SetDealClassificationScoreBody;\n};\n\nexport function setDealClassificationScoreRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n body,\n}: SetDealClassificationScoreConfig) {\n return axios\n .post(`/api/deal/classification-score/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: SetDealClassificationScoreData) => res)\n .catch((err: SetDealClassificationScoreError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Deal } from '../../../types';\n\ntype SuccessData = { success: true; data: Partial<Deal> & { id: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type SetDealDoneStateUrlParams = { id: number };\nexport type SetDealDoneStateHeaders = { 'x-auth-hc': string };\n\nexport type SetDealDoneStateData = AxiosResponse<ResultData>;\nexport type SetDealDoneStateError = AxiosError<ResultError>;\nexport type SetDealDoneStateConfig = {\n baseURL?: string;\n urlParams: SetDealDoneStateUrlParams;\n headers: SetDealDoneStateHeaders;\n};\n\nexport function setDealDoneStateRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: SetDealDoneStateConfig) {\n return axios\n .patch(`/api/deal/status/deal-done/${urlParams.id}`, null, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: SetDealDoneStateData) => res)\n .catch((err: SetDealDoneStateError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Deal } from '../../../types';\n\ntype SuccessData = { success: true; data: Partial<Deal> & { id: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type SetDealFinanceConfirmStateUrlParams = { id: number };\nexport type SetDealFinanceConfirmStateHeaders = { 'x-auth-hc': string };\n\nexport type SetDealFinanceConfirmStateData = AxiosResponse<ResultData>;\nexport type SetDealFinanceConfirmStateError = AxiosError<ResultError>;\nexport type SetDealFinanceConfirmStateConfig = {\n baseURL?: string;\n urlParams: SetDealFinanceConfirmStateUrlParams;\n headers: SetDealFinanceConfirmStateHeaders;\n};\n\nexport function setDealFinanceConfirmStateRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: SetDealFinanceConfirmStateConfig) {\n return axios\n .patch(`/api/deal/status/finance-confirm/${urlParams.id}`, null, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: SetDealFinanceConfirmStateData) => res)\n .catch((err: SetDealFinanceConfirmStateError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Deal } from '../../../types';\n\ntype SuccessData = { success: true; data: Partial<Deal> & { id: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type SetDealGuaranteedPaymentHeaders = { 'x-auth-hc': string };\nexport type SetDealGuaranteedPaymentUrlParams = { id: number };\nexport type SetDealGuaranteedPaymentBody = { dealId: number; guaranteedPayment: boolean };\n\nexport type SetDealGuaranteedPaymentData = AxiosResponse<ResultData>;\nexport type SetDealGuaranteedPaymentError = AxiosError<ResultError>;\nexport type SetDealGuaranteedPaymentConfig = {\n baseURL?: string;\n urlParams: SetDealGuaranteedPaymentUrlParams;\n headers: SetDealGuaranteedPaymentHeaders;\n body: SetDealGuaranteedPaymentBody;\n};\n\nexport function setDealGuaranteedPaymentRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n body,\n}: SetDealGuaranteedPaymentConfig) {\n return axios\n .post(`/api/deal/guaranteed-payment/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: SetDealGuaranteedPaymentData) => res)\n .catch((err: SetDealGuaranteedPaymentError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Deal } from '../../../types';\n\ntype SuccessData = { success: true; data: Partial<Deal> & { id: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type SetDealPrepaidDateUrlParams = { id: number };\nexport type SetDealPrepaidDateHeaders = { 'x-auth-hc': string };\nexport type SetDealPrepaidDateBody = {\n prepaidAt: string;\n};\n\nexport type SetDealPrepaidDateData = AxiosResponse<ResultData>;\nexport type SetDealPrepaidDateError = AxiosError<ResultError>;\nexport type SetDealPrepaidDateConfig = {\n baseURL?: string;\n urlParams: SetDealPrepaidDateUrlParams;\n headers: SetDealPrepaidDateHeaders;\n body: SetDealPrepaidDateBody;\n};\n\nexport function setDealPrepaidDateRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: SetDealPrepaidDateConfig) {\n return axios\n .patch(`/api/deal/set-prepaid-at/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: SetDealPrepaidDateData) => res)\n .catch((err: SetDealPrepaidDateError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Deal } from '../../../types';\n\ntype SuccessData = { success: true; data: Partial<Deal> & { id: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type SetDealPrepaymentStateUrlParams = { id: number };\nexport type SetDealPrepaymentStateHeaders = { 'x-auth-hc': string };\nexport type SetDealPrepaymentStateBody = {\n rollbackReason?: string;\n prepaidAt?: string;\n dealSignPlannedAt?: string;\n};\n\nexport type SetDealPrepaymentStateData = AxiosResponse<ResultData>;\nexport type SetDealPrepaymentStateError = AxiosError<ResultError>;\nexport type SetDealPrepaymentStateConfig = {\n baseURL?: string;\n urlParams: SetDealPrepaymentStateUrlParams;\n headers: SetDealPrepaymentStateHeaders;\n body: SetDealPrepaymentStateBody;\n};\n\nexport function setDealPrepaymentStateRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: SetDealPrepaymentStateConfig) {\n return axios\n .patch(`/api/deal/status/prepaid/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: SetDealPrepaymentStateData) => res)\n .catch((err: SetDealPrepaymentStateError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Deal } from '../../../types';\n\ntype SuccessData = { success: true; data: Partial<Deal> & { id: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type SetDealRegisteredStateUrlParams = { id: number };\nexport type SetDealRegisteredStateHeaders = { 'x-auth-hc': string };\nexport type SetDealRegisteredStateBody = {\n rollbackReason?: string;\n registeredAt?: string;\n commissionPlannedAt?: string;\n};\n\nexport type SetDealRegisteredStateData = AxiosResponse<ResultData>;\nexport type SetDealRegisteredStateError = AxiosError<ResultError>;\nexport type SetDealRegisteredStateConfig = {\n baseURL?: string;\n urlParams: SetDealRegisteredStateUrlParams;\n headers: SetDealRegisteredStateHeaders;\n body: SetDealRegisteredStateBody;\n};\n\nexport function setDealRegisteredStateRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: SetDealRegisteredStateConfig) {\n return axios\n .patch(`/api/deal/status/registered/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: SetDealRegisteredStateData) => res)\n .catch((err: SetDealRegisteredStateError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Deal } from '../../../types';\n\ntype SuccessData = { success: true; data: Partial<Deal> & { id: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type SetDealSignPlannedStateUrlParams = { id: number };\nexport type SetDealSignPlannedStateHeaders = { 'x-auth-hc': string };\nexport type SetDealSignPlannedStateBody = {\n rollbackReason?: string;\n dealSignPlannedAt?: string;\n};\n\nexport type SetDealSignPlannedStateData = AxiosResponse<ResultData>;\nexport type SetDealSignPlannedStateError = AxiosError<ResultError>;\nexport type SetDealSignPlannedStateConfig = {\n baseURL?: string;\n urlParams: SetDealSignPlannedStateUrlParams;\n headers: SetDealSignPlannedStateHeaders;\n body: SetDealSignPlannedStateBody;\n};\n\nexport function setDealSignPlannedStateRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: SetDealSignPlannedStateConfig) {\n return axios\n .patch(`/api/deal/status/deal-planned/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: SetDealSignPlannedStateData) => res)\n .catch((err: SetDealSignPlannedStateError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Deal } from '../../../types';\n\ntype SuccessData = { success: true; data: Partial<Deal> & { id: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type SetDealSignedStateUrlParams = { id: number };\nexport type SetDealSignedStateHeaders = { 'x-auth-hc': string };\nexport type SetDealSignedStateBody = {\n rollbackReason?: string;\n dealSignedAt?: string;\n registerPlannedAt?: string;\n};\n\nexport type SetDealSignedStateData = AxiosResponse<ResultData>;\nexport type SetDealSignedStateError = AxiosError<ResultError>;\nexport type SetDealSignedStateConfig = {\n baseURL?: string;\n urlParams: SetDealSignedStateUrlParams;\n headers: SetDealSignedStateHeaders;\n body: SetDealSignedStateBody;\n};\n\nexport function setDealSignedStateRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: SetDealSignedStateConfig) {\n return axios\n .patch(`/api/deal/status/deal-signed/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: SetDealSignedStateData) => res)\n .catch((err: SetDealSignedStateError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Deal } from '../../../types';\n\ntype SuccessData = { success: true; data: Deal };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type TerminateDealUrlParams = { id: number };\nexport type TerminateDealHeaders = { 'x-auth-hc': string };\nexport type TerminateDealBody = { terminationReason: string };\n\nexport type TerminateDealData = AxiosResponse<ResultData>;\nexport type TerminateDealError = AxiosError<ResultError>;\nexport type TerminateDealConfig = {\n baseURL?: string;\n urlParams: TerminateDealUrlParams;\n headers: TerminateDealHeaders;\n body: TerminateDealBody;\n};\n\nexport function terminateDealRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: TerminateDealConfig) {\n return axios\n .patch(`/api/deal/status/terminated/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: TerminateDealData) => res)\n .catch((err: TerminateDealError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport {\n Deal,\n DealNoLawyerReason,\n DealPartnerDealType,\n DealCategorizedFileCategory,\n DealParticipant,\n} from '../../../types';\n\ntype SuccessData = { success: true; data: Deal };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdateDealUrlParams = { id: number };\nexport type UpdateDealHeaders = { 'x-auth-hc': string };\nexport type UpdateDealBody = {\n actDeveloperSignedAt?: string | null;\n actSignedAt?: string | null;\n comment?: string;\n commissionPlannedAt?: string;\n companyDedicatedCommission?: Deal['companyDedicatedCommission'];\n dataChangeReason?: string;\n dealSignedAt?: string;\n dealSignPlannedAt?: string;\n developerCommission?: Deal['developerCommission'];\n files?: Array<{\n category: DealCategorizedFileCategory;\n id?: number;\n name: string;\n type: string;\n url: string;\n }>;\n finalPrice?: Deal['finalPrice'];\n invest?: { isInvestBuyout: boolean };\n isDayOff?: boolean;\n isLawyerRequired?: boolean;\n lawyer?: { id: number } | null;\n lawyerNotRequiredReason?: DealNoLawyerReason | null;\n partnerCommission?: Deal['partnerCommission'] | null;\n partnerDealType?: DealPartnerDealType | null;\n plannedCommission?: Deal['plannedCommission'];\n clientCommission?: Deal['clientCommission'];\n prepaidAt?: string;\n participants?: Partial<DealParticipant>[];\n prepaymentPlannedAt?: string;\n registeredAt?: string;\n registerPlannedAt?: string;\n terminationRequestedAt?: string | null;\n withLawyer?: boolean;\n withLegalChecks?: boolean;\n dealBuy?: Deal['dealBuy'];\n expertPartner?: Deal['expertPartner'];\n percentExpertPartner?: Deal['percentExpertPartner'];\n costsLegalCheck?: Deal['costsLegalCheck'];\n};\n\nexport type UpdateDealData = AxiosResponse<ResultData>;\nexport type UpdateDealError = AxiosError<ResultError>;\nexport type UpdateDealConfig = {\n baseURL?: string;\n urlParams: UpdateDealUrlParams;\n headers: UpdateDealHeaders;\n body: UpdateDealBody;\n};\n\nexport function updateDealRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateDealConfig) {\n return axios\n .patch(`/api/deal/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: UpdateDealData) => res)\n .catch((err: UpdateDealError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Debt } from '../../types';\n\ntype SuccessData = { success: true; data: { dealId: number; debts: Debt[] } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateDebtsHeaders = { 'x-auth-hc': string };\nexport type CreateDebtsBody = {\n dealId: number;\n debts: Array<{\n amount: NonNullable<Debt['amount']>;\n paymentType: NonNullable<Debt['paymentType']>;\n }>;\n};\n\nexport type CreateDebtsData = AxiosResponse<ResultData>;\nexport type CreateDebtsError = AxiosError<ResultError>;\nexport type CreateDebtsConfig = {\n baseURL?: string;\n headers: CreateDebtsHeaders;\n body: CreateDebtsBody;\n};\n\nexport function createDebtsRequest({ baseURL = 'https://clients.homeapp.ru', body, headers }: CreateDebtsConfig) {\n return axios\n .post('/api/debt', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreateDebtsData) => res)\n .catch((err: CreateDebtsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = '';\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type DeleteDebtHeaders = { 'x-auth-hc': string };\nexport type DeleteDebtUrlParams = { id: number };\nexport type DeleteDebtData = AxiosResponse<ResultData>;\nexport type DeleteDebtError = AxiosError<ResultError>;\nexport type DeleteDebtConfig = {\n baseURL?: string;\n urlParams: DeleteDebtUrlParams;\n headers: DeleteDebtHeaders;\n};\n\nexport function deleteDebtRequest({ baseURL = 'https://clients.homeapp.ru', urlParams, headers }: DeleteDebtConfig) {\n return axios\n .delete(`/api/debt/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data === '' ? null : data.data.error),\n ],\n })\n .then((res: DeleteDebtData) => res)\n .catch((err: DeleteDebtError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { Debt, DebtPaymentType } from '../../types';\n\ntype SuccessData = { success: true; data: Debt[]; pageParams: { length: number; page: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, Debt>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindDebtsHeaders = { 'x-auth-hc'?: string };\nexport type FindDebtsParams = {\n filter?: {\n 'personalAssistant.id'?: number;\n 'serviceRequest.curator.id'?: number;\n 'serviceRequest.id'?: number;\n isRepaid?: boolean;\n paymentType?: DebtPaymentType | DebtPaymentType[];\n };\n limits?: { page?: number; count?: number | 'all' };\n sorting?: { type: 'createdAt'; direction: 'asc' | 'desc' };\n};\nexport type FindDebtsData = AxiosResponse<ResultData>;\nexport type FindDebtsError = AxiosError<ResultError>;\nexport type FindDebtsConfig = {\n baseURL?: string;\n headers?: FindDebtsHeaders;\n params: FindDebtsParams;\n};\n\nexport function findDebtsRequest({ baseURL = 'https://clients.homeapp.ru', headers, params }: FindDebtsConfig) {\n return axios\n .get('/api/debt', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n }\n\n return data.data.error;\n },\n ],\n })\n .then((res: FindDebtsData) => res)\n .catch((err: FindDebtsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Debt } from '../../types';\n\ntype SuccessData = { success: true; data: Debt };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdateDebtHeaders = { 'x-auth-hc': string };\nexport type UpdateDebtUrlParams = { id: number };\nexport type UpdateDebtBody = {\n amount?: NonNullable<Debt['amount']>;\n paymentType?: NonNullable<Debt['paymentType']>;\n};\n\nexport type UpdateDebtData = AxiosResponse<ResultData>;\nexport type UpdateDebtError = AxiosError<ResultError>;\nexport type UpdateDebtConfig = {\n baseURL?: string;\n headers: UpdateDebtHeaders;\n urlParams: UpdateDebtUrlParams;\n body: UpdateDebtBody;\n};\n\nexport function updateDebtRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateDebtConfig) {\n return axios\n .patch(`/api/debt/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: UpdateDebtData) => res)\n .catch((err: UpdateDebtError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Event } from '../../../types';\n\ntype SuccessData = { success: true; data: Event };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateEventHeaders = { 'x-auth-hc': string };\nexport type CreateEventBody = {\n description: Event['description'];\n name: Event['name'];\n promoImage: Event['promoImage'];\n scheduledAt: Event['scheduledAt'];\n};\n\nexport type CreateEventData = AxiosResponse<ResultData>;\nexport type CreateEventError = AxiosError<ResultError>;\nexport type CreateEventConfig = {\n baseURL?: string;\n headers: CreateEventHeaders;\n body: CreateEventBody;\n};\n\nexport function createEventRequest({ baseURL = 'https://clients.homeapp.ru', body, headers }: CreateEventConfig) {\n return axios\n .post('/api/site/event', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreateEventData) => res)\n .catch((err: CreateEventError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true; data: string };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type DeleteEventHeaders = { 'x-auth-hc': string };\nexport type DeleteEventUrlParams = { id: number };\nexport type DeleteEventData = AxiosResponse<ResultData>;\nexport type DeleteEventError = AxiosError<ResultError>;\nexport type DeleteEventConfig = {\n baseURL?: string;\n urlParams: DeleteEventUrlParams;\n headers: DeleteEventHeaders;\n};\n\nexport function deleteEventRequest({ baseURL = 'https://clients.homeapp.ru', urlParams, headers }: DeleteEventConfig) {\n return axios\n .delete(`/api/site/event/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: DeleteEventData) => res)\n .catch((err: DeleteEventError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Event } from '../../../types';\n\ntype SuccessData = { success: true; data: Event };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindEventByIdUrlParams = { id: number };\nexport type FindEventByIdHeaders = { 'x-auth-hc'?: string };\nexport type FindEventByIdData = AxiosResponse<ResultData>;\nexport type FindEventByIdError = AxiosError<ResultError>;\n\nexport type FindEventByIdConfig = {\n baseURL?: string;\n urlParams: FindEventByIdUrlParams;\n headers?: FindEventByIdHeaders;\n};\n\nexport function findEventByIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindEventByIdConfig) {\n return axios\n .get(`/api/site/event/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindEventByIdData) => res)\n .catch((err: FindEventByIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { Event } from '../../../types';\n\ntype SuccessData = { success: true; data: Event[]; pageParams: { length: number; page: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, Event>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindEventsHeaders = { 'x-auth-hc'?: string };\nexport type FindEventsParams = {\n filter?: {\n hasFiles?: boolean;\n id?: number;\n name?: string;\n scheduledAt?: { from?: string; to?: string };\n };\n limits?: { page?: number; count?: number | 'all' };\n sorting?: { type: 'id' | 'scheduledAt'; direction: 'asc' | 'desc' };\n};\nexport type FindEventsData = AxiosResponse<ResultData>;\nexport type FindEventsError = AxiosError<ResultError>;\nexport type FindEventsConfig = {\n baseURL?: string;\n headers?: FindEventsHeaders;\n params: FindEventsParams;\n};\n\nexport function findEventsRequest({ baseURL = 'https://clients.homeapp.ru', headers, params }: FindEventsConfig) {\n return axios\n .get('/api/site/event', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n }\n\n return data.data.error;\n },\n ],\n })\n .then((res: FindEventsData) => res)\n .catch((err: FindEventsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Event } from '../../../types';\n\ntype SuccessData = { success: true; data: Event };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdateEventUrlParams = { id: number };\nexport type UpdateEventHeaders = { 'x-auth-hc': string };\nexport type UpdateEventBody = {\n description?: Event['description'];\n name?: Event['name'];\n promoImage?: Event['promoImage'];\n scheduledAt?: Event['scheduledAt'];\n videoUrl?: Event['videoUrl'];\n videoPreviewImage?: Event['videoPreviewImage'];\n files?: Event['files'];\n};\n\nexport type UpdateEventData = AxiosResponse<ResultData>;\nexport type UpdateEventError = AxiosError<ResultError>;\nexport type UpdateEventConfig = {\n baseURL?: string;\n urlParams: UpdateEventUrlParams;\n headers: UpdateEventHeaders;\n body: UpdateEventBody;\n};\n\nexport function updateEventRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateEventConfig) {\n return axios\n .patch(`/api/site/event/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: UpdateEventData) => res)\n .catch((err: UpdateEventError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { EventRequest } from '../../../types';\n\ntype SuccessData = { success: true; data: EventRequest };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateEventRequestBody = {\n email: EventRequest['email'];\n event: Required<Pick<EventRequest['event'], 'id'>>;\n experience: EventRequest['experience'];\n member: EventRequest['member'];\n originSource: EventRequest['originSource'];\n phoneNumber: EventRequest['phoneNumber'];\n referrer?: EventRequest['referrer'];\n utmCampaign?: EventRequest['utmCampaign'];\n utmContent?: EventRequest['utmContent'];\n utmMedium?: EventRequest['utmMedium'];\n};\n\nexport type CreateEventRequestData = AxiosResponse<ResultData>;\nexport type CreateEventRequestError = AxiosError<ResultError>;\nexport type CreateEventRequestConfig = {\n baseURL?: string;\n body: CreateEventRequestBody;\n};\n\nexport function createEventRequestRequest({ baseURL = 'https://clients.homeapp.ru', body }: CreateEventRequestConfig) {\n return axios\n .post('/api/site/event/request', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json' },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreateEventRequestData) => res)\n .catch((err: CreateEventRequestError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { EventRequest } from '../../../types';\n\ntype SuccessData = { success: true; data: EventRequest[]; pageParams: { length: number; page: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, EventRequest>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindEventRequestsHeaders = { 'x-auth-hc'?: string };\nexport type FindEventRequestsParams = {\n filter?: {\n 'event.id'?: number;\n 'event.scheduledAt'?: { from?: string; to?: string };\n createdAt?: { from?: string; to?: string };\n isArrivalConfirmed?: boolean;\n isCame?: boolean;\n isEmployed?: boolean;\n member?: string;\n phoneNumber?: string;\n utmCampaign?: string;\n utmContent?: string;\n utmMedium?: string;\n };\n limits?: { page?: number; count?: number | 'all' };\n sorting?: { type: 'createdAt' | 'event.scheduledAt' | 'referrer'; direction: 'asc' | 'desc' };\n};\nexport type FindEventRequestsData = AxiosResponse<ResultData>;\nexport type FindEventRequestsError = AxiosError<ResultError>;\nexport type FindEventRequestsConfig = {\n baseURL?: string;\n headers?: FindEventRequestsHeaders;\n params: FindEventRequestsParams;\n};\n\nexport function findEventRequestsRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n params,\n}: FindEventRequestsConfig) {\n return axios\n .get('/api/site/event/request', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n }\n\n return data.data.error;\n },\n ],\n })\n .then((res: FindEventRequestsData) => res)\n .catch((err: FindEventRequestsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { EventRequest } from '../../../types';\n\ntype SuccessData = { success: true; data: EventRequest };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdateEventRequestUrlParams = { id: number };\nexport type UpdateEventRequestHeaders = { 'x-auth-hc': string };\nexport type UpdateEventRequestBody = {\n comment?: NonNullable<EventRequest['comment']> | null;\n isArrivalConfirmed?: EventRequest['isArrivalConfirmed'];\n isCame?: EventRequest['isCame'];\n isEmployed?: EventRequest['isEmployed'];\n};\nexport type UpdateEventRequestData = AxiosResponse<ResultData>;\nexport type UpdateEventRequestError = AxiosError<ResultError>;\nexport type UpdateEventRequestConfig = {\n baseURL?: string;\n urlParams: UpdateEventRequestUrlParams;\n headers: UpdateEventRequestHeaders;\n body: UpdateEventRequestBody;\n};\n\nexport function updateEventRequestRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateEventRequestConfig) {\n return axios\n .patch(`/api/site/event/request/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: UpdateEventRequestData) => res)\n .catch((err: UpdateEventRequestError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError } from 'axios';\nimport { UserCase } from '../../../types';\n\ntype SuccessData = { success: true; data: UserCase };\ntype ErrorData = { success: false; data: { error: string } };\n\nexport type CreateExpertCaseHeaders = { 'x-auth-hc': string };\nexport type CreateExpertCaseBody = Partial<Omit<UserCase, 'id'>>;\n\nexport type CreateExpertCaseData = { data: UserCase };\nexport type CreateExpertCaseError = { status: number; data: string };\nexport type CreateExpertCaseConfig = {\n baseURL?: string;\n headers?: CreateExpertCaseHeaders;\n body: CreateExpertCaseBody;\n};\n\nexport function createExpertCaseRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n body,\n}: CreateExpertCaseConfig) {\n return axios\n .post('/api/expert/case', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n })\n .then((res: AxiosResponse<SuccessData>): CreateExpertCaseData => ({ data: res.data.data }))\n .catch((err: AxiosError<ErrorData>) => {\n const error: Error & Partial<CreateExpertCaseError> = new Error(err.message);\n error.status = err.response?.status ?? 520;\n error.data = err.response?.data.data.error ?? 'Unknown Error';\n\n throw error;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ExpertReview } from '../../../types';\n\ntype SuccessData = { success: true; data: ExpertReview };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateExpertReviewHeaders = { 'x-auth-hc': string };\nexport type CreateExpertReviewUrlParams = { expertId: number };\nexport type CreateExpertReviewBody = {\n url: string;\n firstName?: string;\n lastName?: string;\n review?: string;\n source?: string;\n previewUrl?: string;\n};\n\nexport type CreateExpertReviewData = AxiosResponse<ResultData>;\nexport type CreateExpertReviewError = AxiosError<ResultError>;\nexport type CreateExpertReviewConfig = {\n baseURL?: string;\n headers: CreateExpertReviewHeaders;\n urlParams: CreateExpertReviewUrlParams;\n body: CreateExpertReviewBody;\n};\n\nexport function createExpertReviewRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: CreateExpertReviewConfig) {\n return axios\n .post(`/api/expert/${urlParams.expertId}/review`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreateExpertReviewData) => res)\n .catch((err: CreateExpertReviewError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError } from 'axios';\nimport { User } from '../../../types';\n\ntype SuccessData = { success: true; data: Partial<User> & { id: number } };\n\ntype ErrorData = { success: false; data: { error: string } };\n\nexport type FindExpertByIdUrlParams = { id: number };\n\nexport type FindExpertByIdHeaders = { 'x-auth-hc'?: string };\n\nexport type FindExpertByIdData = { data: SuccessData['data'] };\n\nexport type FindExpertByIdError = { status: number; data: string };\n\nexport type FindExpertByIdConfig = {\n baseURL?: string;\n urlParams: FindExpertByIdUrlParams;\n headers?: FindExpertByIdHeaders;\n};\n\nexport function findExpertByIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindExpertByIdConfig) {\n return axios\n .get('/api/expert/' + urlParams.id, { baseURL, headers: { Accept: 'application/json', ...headers } })\n .then((res: AxiosResponse<SuccessData>): FindExpertByIdData => ({ data: res.data.data }))\n .catch((err: AxiosError<ErrorData>) => {\n const error: Error & Partial<FindExpertByIdError> = new Error(err.message);\n error.status = err.response?.status ?? 520;\n error.data = err.response?.data.data.error ?? 'Unknown Error';\n\n throw error;\n });\n}\n","import axios, { AxiosResponse, AxiosError } from 'axios';\nimport { UserCase } from '../../../types';\n\ntype SuccessData = { success: true; data: UserCase };\ntype ErrorData = { success: false; data: { error: string } };\n\nexport type FindExpertCaseByIdUrlParams = { id: number };\nexport type FindExpertCaseByIdHeaders = { 'x-auth-hc': string };\n\nexport type FindExpertCaseByIdData = { data: UserCase };\nexport type FindExpertCaseByIdError = { status: number; data: string };\nexport type FindExpertCaseByIdConfig = {\n baseURL?: string;\n urlParams: FindExpertCaseByIdUrlParams;\n headers?: FindExpertCaseByIdHeaders;\n};\n\nexport function findExpertCaseByIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindExpertCaseByIdConfig) {\n return axios\n .get('/api/expert/case/' + urlParams.id, { baseURL, headers: { Accept: 'application/json', ...headers } })\n .then((res: AxiosResponse<SuccessData>): FindExpertCaseByIdData => ({ data: res.data.data }))\n .catch((err: AxiosError<ErrorData>) => {\n const error: Error & Partial<FindExpertCaseByIdError> = new Error(err.message);\n error.status = err.response?.status ?? 520;\n error.data = err.response?.data.data.error ?? 'Unknown Error';\n\n throw error;\n });\n}\n","import axios, { AxiosResponse, AxiosError } from 'axios';\nimport { UserCase } from '../../../types';\n\ntype SuccessData = { success: true; data: UserCase[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\nexport type FindExpertCasesHeaders = { 'x-auth-hc': string };\n\nexport type FindExpertCasesData = { data: { ids: number[]; byId: Record<string, UserCase> }; meta: { total: number } };\nexport type FindExpertCasesError = { status: number; data: string };\nexport type FindExpertCasesConfig = {\n baseURL?: string;\n headers?: FindExpertCasesHeaders;\n};\n\nexport function findExpertCasesRequest({ baseURL = 'https://clients.homeapp.ru', headers }: FindExpertCasesConfig) {\n return axios\n .get('/api/expert/case', {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n })\n .then(\n (res: AxiosResponse<SuccessData>): FindExpertCasesData => {\n const data: FindExpertCasesData = { data: { byId: {}, ids: [] }, meta: { total: res.data.pageParams.length } };\n\n res.data.data.forEach(entity => {\n data.data.byId[entity.id] = entity;\n data.data.ids.push(entity.id);\n });\n\n return data;\n }\n )\n .catch((err: AxiosError<ErrorData>) => {\n const error: Error & Partial<FindExpertCasesError> = new Error(err.message);\n error.status = err.response?.status ?? 520;\n error.data = err.response?.data.data.error ?? 'Unknown Error';\n\n throw error;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { User } from '../../../types';\nimport qs from 'qs';\n\ntype SuccessData = {\n success: true;\n data: Partial<User> & { id: number }[];\n pageParams: { page: number; length: number };\n};\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, Partial<User> & { id: number }>; meta: { total: number } };\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindExpertsParams = {\n filter?: {\n id?: number | number[];\n realtyId?: number;\n };\n limits?: { page?: number; count: number | 'all' };\n sorting?: { direction: 'asc' | 'desc'; type: 'id' | 'createdAt' };\n};\n\nexport type FindExpertsData = AxiosResponse<ResultData>;\nexport type FindExpertsError = AxiosError<ResultError>;\nexport type FindExpertsConfig = { baseURL?: string; params: FindExpertsParams };\n\nexport function findExpertsRequest({ baseURL = 'https://clients.homeapp.ru', params }: FindExpertsConfig) {\n return axios\n .get('/api/experts', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json' },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n },\n ],\n })\n .then((res: FindExpertsData) => res)\n .catch((err: FindExpertsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { User, UserDirection, UserOffice } from '../../../types';\n\ntype SuccessData = {\n success: true;\n data: Partial<User> & { id: number }[];\n pageParams: { page: number; length: number };\n};\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, Partial<User> & { id: number }>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindPublishedExpertsParams = {\n filter?: {\n id?: number | number[];\n direction?: UserDirection;\n fullName?: string;\n office?: UserOffice;\n };\n limits?: { page?: number; count: number | 'all' };\n sorting?: { direction: 'asc' | 'desc'; type: 'id' | 'firstName' | 'lastName' | 'expert.scoring' };\n};\nexport type FindPublishedExpertsData = AxiosResponse<ResultData>;\nexport type FindPublishedExpertsError = AxiosError<ResultError>;\nexport type FindPublishedExpertsConfig = { baseURL?: string; params: FindPublishedExpertsParams };\n\nexport function findPublishedExpertsRequest({\n baseURL = 'https://clients.homeapp.ru',\n params,\n}: FindPublishedExpertsConfig) {\n return axios\n .get('/api/experts/published', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json' },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n }\n\n return data.data.error;\n },\n ],\n })\n .then((res: FindPublishedExpertsData) => res)\n .catch((err: FindPublishedExpertsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError } from 'axios';\nimport { UserCase } from '../../../types';\n\ntype SuccessData = { success: true; data: UserCase };\ntype ErrorData = { success: false; data: { error: string } };\n\nexport type UpdateExpertCaseUrlParams = { id: number };\nexport type UpdateExpertCaseHeaders = { 'x-auth-hc': string };\nexport type UpdateExpertCaseBody = Partial<Omit<UserCase, 'id'>>;\n\nexport type UpdateExpertCaseData = { data: UserCase };\nexport type UpdateExpertCaseError = { status: number; data: string };\nexport type UpdateExpertCaseConfig = {\n baseURL?: string;\n urlParams: UpdateExpertCaseUrlParams;\n headers: UpdateExpertCaseHeaders;\n body: UpdateExpertCaseBody;\n};\n\nexport function updateExpertCaseRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateExpertCaseConfig) {\n return axios\n .patch(`/api/user/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n })\n .then((res: AxiosResponse<SuccessData>): UpdateExpertCaseData => ({ data: res.data.data }))\n .catch((err: AxiosError<ErrorData>) => {\n const error: Error & Partial<UpdateExpertCaseError> = new Error(err.message);\n error.status = err.response?.status ?? 520;\n error.data = err.response?.data.data.error ?? 'Unknown Error';\n\n throw error;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ExpertReview } from '../../../types';\n\ntype SuccessData = { success: true; data: ExpertReview };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdateExpertReviewHeaders = { 'x-auth-hc': string };\nexport type UpdateExpertReviewUrlParams = { expertId: number; reviewId: number };\nexport type UpdateExpertReviewBody = {\n url?: string;\n firstName?: string;\n lastName?: string;\n review?: string;\n source?: string;\n previewUrl?: string;\n};\n\nexport type UpdateExpertReviewData = AxiosResponse<ResultData>;\nexport type UpdateExpertReviewError = AxiosError<ResultError>;\nexport type UpdateExpertReviewConfig = {\n baseURL?: string;\n urlParams: UpdateExpertReviewUrlParams;\n headers: UpdateExpertReviewHeaders;\n body: UpdateExpertReviewBody;\n};\n\nexport function updateExpertReviewRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateExpertReviewConfig) {\n return axios\n .patch(`/api/expert/${urlParams.expertId}/review/${urlParams.reviewId}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: UpdateExpertReviewData) => res)\n .catch((err: UpdateExpertReviewError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { ExpertCategory, ExpertCategoryCategory, ExpertCategoryExpertType } from '../../types';\n\ntype SuccessData = {\n success: true;\n data: ExpertCategory[];\n pageParams: { page: number; length: number };\n meta: {\n cntRed: number;\n cntYellow: number;\n cntGreen: number;\n cntNoCategory: number;\n };\n};\ntype ErrorData = { success: false; data: Record<'error' | 'message', string> };\n\ntype ResultData = {\n ids: number[];\n byId: Record<string, ExpertCategory>;\n meta: SuccessData['meta'] & { total: number };\n};\ntype ResultError = string;\n\nexport type FindExpertCategoriesHeaders = { 'x-auth-hc': string };\nexport type FindExpertCategoriesParams = {\n filter?: {\n 'expert.id'?: number;\n 'supervisor.id'?: number;\n category?: ExpertCategoryCategory;\n expertType?: ExpertCategoryExpertType;\n needAttention?: boolean;\n };\n limits?: { page?: number; count: number | 'all' };\n};\nexport type FindExpertCategoriesData = AxiosResponse<ResultData>;\nexport type FindExpertCategoriesError = AxiosError<ResultError>;\nexport type FindExpertCategoriesConfig = {\n baseURL?: string;\n headers: FindExpertCategoriesHeaders;\n params: FindExpertCategoriesParams;\n};\n\nexport function findExpertCategoriesRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n params,\n}: FindExpertCategoriesConfig) {\n return axios\n .get('/api/expert-category/list', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { ...data.meta, total: data.pageParams?.length ?? 0 } };\n }\n\n return data.data.error || data.data.message;\n },\n ],\n })\n .then((res: FindExpertCategoriesData) => res)\n .catch((err: FindExpertCategoriesError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { nanoid } from 'nanoid/non-secure';\nimport qs from 'qs';\nimport { ExpertCategoryCategory, ExpertCategoryExpertType } from '../../types';\n\ntype HistoryData = {\n createdAt: string;\n cntRed: number;\n cntYellow: number;\n cntGreen: number;\n cntNoCategory: number;\n};\n\ntype SuccessData = { success: true; data: Array<HistoryData> };\ntype ErrorData = { success: false; data: Record<'error' | 'message', string> };\n\ntype ResultData = { ids: string[]; byId: Record<string, HistoryData & { _id: string }> };\ntype ResultError = string;\n\nexport type FindExpertCategoryHistoryHeaders = { 'x-auth-hc': string };\nexport type FindExpertCategoryHistoryParams = {\n filter?: {\n 'expert.id'?: number;\n 'supervisor.id'?: number;\n category?: ExpertCategoryCategory;\n expertType?: ExpertCategoryExpertType;\n needAttention?: boolean;\n };\n};\nexport type FindExpertCategoryHistoryData = AxiosResponse<ResultData>;\nexport type FindExpertCategoryHistoryError = AxiosError<ResultError>;\nexport type FindExpertCategoryHistoryConfig = {\n baseURL?: string;\n headers: FindExpertCategoryHistoryHeaders;\n params: FindExpertCategoryHistoryParams;\n};\n\nexport function findExpertCategoryHistoryRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n params,\n}: FindExpertCategoryHistoryConfig) {\n return axios\n .get('/api/expert-category/history', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n const _id = nanoid();\n byId[_id] = { ...entity, _id };\n ids.push(_id);\n });\n\n return { ids, byId };\n }\n\n return data.data.error || data.data.message;\n },\n ],\n })\n .then((res: FindExpertCategoryHistoryData) => res)\n .catch((err: FindExpertCategoryHistoryError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ExpertGrade, User, ExpertGradeType } from '../../types';\n\ntype SuccessData = { success: true; data: ExpertGrade };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateExpertGradeHeaders = { 'x-auth-hc': string };\nexport type CreateExpertGradeBody = {\n expert: Partial<User> & { id: number };\n grade: ExpertGradeType;\n};\nexport type CreateExpertGradeData = AxiosResponse<ResultData>;\nexport type CreateExpertGradeError = AxiosError<ResultError>;\nexport type CreateExpertGradeConfig = {\n baseURL?: string;\n headers: CreateExpertGradeHeaders;\n body: CreateExpertGradeBody;\n};\n\nexport function createExpertGradeRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n}: CreateExpertGradeConfig) {\n return axios\n .post(`/api/expert/grade/`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreateExpertGradeData) => res)\n .catch((err: CreateExpertGradeError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { ExpertGrade, ExpertGradeType } from '../../types';\n\ntype SuccessData = { success: true; data: ExpertGrade[]; pageParams: { length: number; page: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, ExpertGrade>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindExpertGradesHeaders = { 'x-auth-hc'?: string };\nexport type FindExpertGradesParams = {\n filter?: {\n 'expert.id'?: number;\n 'supervisor.id'?: number;\n grade?: ExpertGradeType;\n };\n limits?: { page?: number; count: number | 'all' };\n sorting?: {\n direction: 'asc' | 'desc';\n type: 'grade' | 'currentSeasonGross' | 'lastSeasonGross' | 'lastTwoSeasonGross' | 'lastFourSeasonGross';\n };\n};\nexport type FindExpertGradesData = AxiosResponse<ResultData>;\nexport type FindExpertGradesError = AxiosError<ResultError>;\nexport type FindExpertGradesConfig = {\n baseURL?: string;\n headers?: FindExpertGradesHeaders;\n params: FindExpertGradesParams;\n};\n\nexport function findExpertGradesRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n params,\n}: FindExpertGradesConfig) {\n return axios\n .get('/api/expert/grade', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams?.length || 0 } };\n }\n\n return data.data.error;\n },\n ],\n })\n .then((res: FindExpertGradesData) => res)\n .catch((err: FindExpertGradesError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { ShortExpertGrade } from '../../types';\n\ntype SuccessData = {\n success: true;\n data: { grades: Array<ShortExpertGrade> };\n};\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindExpertGradesByExpertIdHeaders = { 'x-auth-hc': string };\nexport type FindExpertGradesByExpertIdUrlParams = { expertId: number };\nexport type FindExpertGradesByExpertIdData = AxiosResponse<ResultData>;\nexport type FindExpertGradesByExpertIdError = AxiosError<ResultError>;\n\nexport type FindExpertGradesByExpertIdConfig = {\n baseURL?: string;\n urlParams: FindExpertGradesByExpertIdUrlParams;\n headers: FindExpertGradesByExpertIdHeaders;\n};\n\nexport function findExpertGradesByExpertIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindExpertGradesByExpertIdConfig) {\n return axios\n .get(`/api/expert/grade/${urlParams.expertId}`, {\n baseURL,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindExpertGradesByExpertIdData) => res)\n .catch((err: FindExpertGradesByExpertIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { File } from '../../../types';\n\ntype SuccessData = { success: true; data: File[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: Record<'error' | 'message', string> };\n\ntype ResultData = { ids: number[]; byId: Record<string, File> };\ntype ResultError = string;\n\nexport type UploadFilesHeaders = { 'x-auth-hc': string };\nexport type UploadFilesBody = Blob[];\n\nexport type UploadFilesData = AxiosResponse<ResultData>;\nexport type UploadFilesError = AxiosError<ResultError>;\nexport type UploadFilesConfig = {\n baseURL?: string;\n headers: UploadFilesHeaders;\n body: UploadFilesBody;\n};\n\nexport function uploadFilesRequest({ baseURL = 'https://clients.homeapp.ru', body, headers }: UploadFilesConfig) {\n const formData = new FormData();\n\n if (body.length === 0) {\n throw new Error('Список файлов пуст');\n }\n\n body.forEach((file, index) => {\n formData.append(`file${index}`, file);\n });\n\n return axios\n .post('/api/file/upload', formData, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'multipart/form-data', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error || data.data.message;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId };\n },\n ],\n })\n .then((res: UploadFilesData) => res)\n .catch((err: UploadFilesError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Income, File } from '../../../types';\n\ntype SuccessData = { success: true; data: Income };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateIncomeHeaders = { 'x-auth-hc': string };\nexport type CreateIncomeBody = {\n amount: NonNullable<Income['amount']>;\n deal: Pick<NonNullable<Income['deal']>, 'id'>;\n receivedAt: NonNullable<Income['receivedAt']>;\n files?: Array<Pick<File, 'id' | 'name' | 'type' | 'url'>>;\n};\n\nexport type CreateIncomeData = AxiosResponse<ResultData>;\nexport type CreateIncomeError = AxiosError<ResultError>;\nexport type CreateIncomeConfig = {\n baseURL?: string;\n headers: CreateIncomeHeaders;\n body: CreateIncomeBody;\n};\n\nexport function createIncomeRequest({ baseURL = 'https://clients.homeapp.ru', body, headers }: CreateIncomeConfig) {\n return axios\n .post('/api/income', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreateIncomeData) => res)\n .catch((err: CreateIncomeError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true; data: unknown };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type DeleteIncomeHeaders = { 'x-auth-hc': string };\nexport type DeleteIncomeUrlParams = { id: number };\nexport type DeleteIncomeData = AxiosResponse<ResultData>;\nexport type DeleteIncomeError = AxiosError<ResultError>;\nexport type DeleteIncomeConfig = {\n baseURL?: string;\n urlParams: DeleteIncomeUrlParams;\n headers: DeleteIncomeHeaders;\n};\n\nexport function deleteIncomeRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: DeleteIncomeConfig) {\n return axios\n .delete(`/api/income/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data.error),\n ],\n })\n .then((res: DeleteIncomeData) => res)\n .catch((err: DeleteIncomeError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true; data: { status: string; errMessage?: string } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateInternalCrossSaleHeaders = { 'x-auth-hc': string };\nexport type CreateInternalCrossSaleUrlParams = { serviceRequestId: number };\nexport type CreateInternalCrossSaleBody = {\n similarServiceRequestId: number;\n curatorId: number;\n};\nexport type CreateInternalCrossSaleData = AxiosResponse<ResultData>;\nexport type CreateInternalCrossSaleError = AxiosError<ResultError>;\nexport type CreateInternalCrossSaleConfig = {\n baseURL?: string;\n urlParams: CreateInternalCrossSaleUrlParams;\n body: CreateInternalCrossSaleBody;\n headers: CreateInternalCrossSaleHeaders;\n};\n\nexport function createInternalCrossSaleRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: CreateInternalCrossSaleConfig) {\n return axios\n .post(`/api/analytics/cross-sale-add/${urlParams.serviceRequestId}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError =>\n !data.success ? data.data.error : data.data.status === 'failed' ? data.data.errMessage ?? '' : data.data,\n ],\n })\n .then((res: CreateInternalCrossSaleData) => res)\n .catch((err: CreateInternalCrossSaleError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\n\ntype SuccessData = { success: true; data: Array<{ serviceRequestId: number; cntWaiting: number; cntTotal: number }> };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, SuccessData['data'][0]> };\ntype ResultError = string;\n\nexport type FindInternalCrossSaleInfoHeaders = { 'x-auth-hc': string };\nexport type FindInternalCrossSaleInfoParams = { serviceRequestId: number | number[] };\nexport type FindInternalCrossSaleInfoData = AxiosResponse<ResultData>;\nexport type FindInternalCrossSaleInfoError = AxiosError<ResultError>;\nexport type FindInternalCrossSaleInfoConfig = {\n baseURL?: string;\n headers: FindInternalCrossSaleInfoHeaders;\n params: FindInternalCrossSaleInfoParams;\n};\n\nexport function findInternalCrossSaleInfoRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n params,\n}: FindInternalCrossSaleInfoConfig) {\n return axios\n .get('/api/analytics/cross-sale-info', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.serviceRequestId] = entity;\n ids.push(entity.serviceRequestId);\n });\n\n return { ids, byId };\n },\n ],\n })\n .then((res: FindInternalCrossSaleInfoData) => res)\n .catch((err: FindInternalCrossSaleInfoError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { InternalCrossSale } from '../../../types';\n\ntype SuccessData = { success: true; data: InternalCrossSale[] };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, InternalCrossSale> };\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindInternalCrossSalesHeaders = { 'x-auth-hc': string };\nexport type FindInternalCrossSalesUrlParams = { serviceRequestId: number };\nexport type FindInternalCrossSalesData = AxiosResponse<ResultData>;\nexport type FindInternalCrossSalesError = AxiosError<ResultError>;\nexport type FindInternalCrossSalesConfig = {\n baseURL?: string;\n headers: FindInternalCrossSalesHeaders;\n urlParams: FindInternalCrossSalesUrlParams;\n};\n\nexport function findInternalCrossSalesRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindInternalCrossSalesConfig) {\n return axios\n .get(`/api/analytics/cross-sale-list/${urlParams.serviceRequestId}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) {\n return data.data?.error;\n }\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId };\n },\n ],\n })\n .then((res: FindInternalCrossSalesData) => res)\n .catch((err: FindInternalCrossSalesError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { InternalCrossSaleStatus } from '../../../types';\n\ntype SuccessData = { success: true; data: { status: string; errMessage?: string } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdateInternalCrossSaleUrlParams = { id: number };\nexport type UpdateInternalCrossSaleHeaders = { 'x-auth-hc': string };\nexport type UpdateInternalCrossSaleBody = {\n status: InternalCrossSaleStatus.Accepted | InternalCrossSaleStatus.Rejected;\n};\nexport type UpdateInternalCrossSaleData = AxiosResponse<ResultData>;\nexport type UpdateInternalCrossSaleError = AxiosError<ResultError>;\nexport type UpdateInternalCrossSaleConfig = {\n baseURL?: string;\n urlParams: UpdateInternalCrossSaleUrlParams;\n headers: UpdateInternalCrossSaleHeaders;\n body: UpdateInternalCrossSaleBody;\n};\n\nexport function updateInternalCrossSaleRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateInternalCrossSaleConfig) {\n return axios\n .patch(`/api/analytics/cross-sale-patch/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError =>\n !data.success ? data.data.error : data.data.status === 'failed' ? data.data.errMessage ?? '' : data.data,\n ],\n })\n .then((res: UpdateInternalCrossSaleData) => res)\n .catch((err: UpdateInternalCrossSaleError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { LeadAssignmentBlock } from '../../types';\n\ntype SuccessData = { success: true; data: LeadAssignmentBlock };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateLeadAssignmentBlockHeaders = { 'x-auth-hc': string };\nexport type CreateLeadAssignmentBlockBody = {\n curator: LeadAssignmentBlock['curator'];\n dateFrom: LeadAssignmentBlock['dateFrom'];\n dateTo: LeadAssignmentBlock['dateTo'] | null;\n reason: LeadAssignmentBlock['reason'];\n};\n\nexport type CreateLeadAssignmentBlockData = AxiosResponse<ResultData>;\nexport type CreateLeadAssignmentBlockError = AxiosError<ResultError>;\nexport type CreateLeadAssignmentBlockConfig = {\n baseURL?: string;\n headers: CreateLeadAssignmentBlockHeaders;\n body: CreateLeadAssignmentBlockBody;\n};\n\nexport function createLeadAssignmentBlockRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n}: CreateLeadAssignmentBlockConfig) {\n return axios\n .post('/api/expert/lead-assignment-block', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreateLeadAssignmentBlockData) => res)\n .catch((err: CreateLeadAssignmentBlockError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true; data: string };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type DeleteLeadAssignmentBlockHeaders = { 'x-auth-hc': string };\nexport type DeleteLeadAssignmentBlockUrlParams = { id: number };\nexport type DeleteLeadAssignmentBlockData = AxiosResponse<ResultData>;\nexport type DeleteLeadAssignmentBlockError = AxiosError<ResultError>;\nexport type DeleteLeadAssignmentBlockConfig = {\n baseURL?: string;\n urlParams: DeleteLeadAssignmentBlockUrlParams;\n headers: DeleteLeadAssignmentBlockHeaders;\n};\n\nexport function deleteLeadAssignmentBlockRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: DeleteLeadAssignmentBlockConfig) {\n return axios\n .delete(`/api/expert/lead-assignment-block/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: DeleteLeadAssignmentBlockData) => res)\n .catch((err: DeleteLeadAssignmentBlockError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { LeadAssignmentBlock } from '../../types';\n\ntype SuccessData = { success: true; data: LeadAssignmentBlock[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: Record<'error' | 'message', string> };\n\ntype ResultData = { ids: number[]; byId: Record<string, LeadAssignmentBlock>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindLeadAssignmentBlocksHeaders = { 'x-auth-hc': string };\nexport type FindLeadAssignmentBlocksParams = {\n filter?: { 'curator.id'?: number };\n limits?: { page?: number; count: number | 'all' };\n};\nexport type FindLeadAssignmentBlocksData = AxiosResponse<ResultData>;\nexport type FindLeadAssignmentBlocksError = AxiosError<ResultError>;\nexport type FindLeadAssignmentBlocksConfig = {\n baseURL?: string;\n headers: FindLeadAssignmentBlocksHeaders;\n params: FindLeadAssignmentBlocksParams;\n};\n\nexport function findLeadAssignmentBlocksRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n params,\n}: FindLeadAssignmentBlocksConfig) {\n return axios\n .get('/api/expert/lead-assignment-block', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams?.length ?? 0 } };\n }\n\n return data.data.error || data.data.message;\n },\n ],\n })\n .then((res: FindLeadAssignmentBlocksData) => res)\n .catch((err: FindLeadAssignmentBlocksError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { LeadAssignmentBlock } from '../../types';\n\ntype SuccessData = { success: true; data: LeadAssignmentBlock };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdateLeadAssignmentBlockUrlParams = { id: number };\nexport type UpdateLeadAssignmentBlockHeaders = { 'x-auth-hc': string };\nexport type UpdateLeadAssignmentBlockBody = {\n dateFrom?: LeadAssignmentBlock['dateFrom'];\n dateTo?: LeadAssignmentBlock['dateTo'] | null;\n reason?: LeadAssignmentBlock['reason'];\n};\n\nexport type UpdateLeadAssignmentBlockData = AxiosResponse<ResultData>;\nexport type UpdateLeadAssignmentBlockError = AxiosError<ResultError>;\nexport type UpdateLeadAssignmentBlockConfig = {\n baseURL?: string;\n urlParams: UpdateLeadAssignmentBlockUrlParams;\n headers: UpdateLeadAssignmentBlockHeaders;\n body: UpdateLeadAssignmentBlockBody;\n};\n\nexport function updateLeadAssignmentBlockRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateLeadAssignmentBlockConfig) {\n return axios\n .patch(`/api/expert/lead-assignment-block/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: UpdateLeadAssignmentBlockData) => res)\n .catch((err: UpdateLeadAssignmentBlockError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { MotivationMinCommission, MotivationStep } from '../../../types';\n\ntype SuccessData = {\n success: true;\n data: { minCommission: MotivationMinCommission; highCommissionBonusPercent: number; steps: MotivationStep[] };\n};\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindMotivationGlossaryHeaders = { 'x-auth-hc': string };\nexport type FindMotivationGlossaryData = AxiosResponse<ResultData>;\nexport type FindMotivationGlossaryError = AxiosError<ResultError>;\nexport type FindMotivationGlossaryConfig = {\n baseURL?: string;\n headers: FindMotivationGlossaryHeaders;\n};\n\nexport function findMotivationGlossaryRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n}: FindMotivationGlossaryConfig) {\n return axios\n .get('/api/motivation-glossary', {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindMotivationGlossaryData) => res)\n .catch((err: FindMotivationGlossaryError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = {\n success: true;\n data: {\n count: number; // количество закрытых сделок за 3 месяца + текущий месяц\n val: number; // суммарная комиссия по сделкам, закрытым за последние 3 месяца + текущий месяц, в руб.\n step: string;\n bonus: number;\n nextBonus?: number;\n neededVal?: number; // необходимая комиссия до следующей ступени, в руб.\n };\n};\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindMotivationStatusByExpertIdHeaders = { 'x-auth-hc': string };\nexport type FindMotivationStatusByExpertIdUrlParams = { expertId: number };\nexport type FindMotivationStatusByExpertIdData = AxiosResponse<ResultData>;\nexport type FindMotivationStatusByExpertIdError = AxiosError<ResultError>;\nexport type FindMotivationStatusByExpertIdConfig = {\n baseURL?: string;\n headers: FindMotivationStatusByExpertIdHeaders;\n urlParams: FindMotivationStatusByExpertIdUrlParams;\n};\n\nexport function findMotivationStatusByExpertIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindMotivationStatusByExpertIdConfig) {\n return axios\n .get(`/api/motivation-status/${urlParams.expertId}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindMotivationStatusByExpertIdData) => res)\n .catch((err: FindMotivationStatusByExpertIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { MotivationCommission, MotivationServiceTypeValues } from '../../../types';\n\ntype SuccessData = { success: true; data: MotivationCommission };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CalculateMotivationCommissionHeaders = { 'x-auth-hc': string };\nexport type CalculateMotivationCommissionBody = {\n serviceType: MotivationServiceTypeValues;\n price: number;\n commission: number;\n val: number;\n partnerCommission?: number;\n developerCommission?: number;\n legalDiligenceCount?: number;\n isLowCommissionBonusFineByROP?: boolean;\n isTrainee?: boolean;\n};\nexport type CalculateMotivationCommissionData = AxiosResponse<ResultData>;\nexport type CalculateMotivationCommissionError = AxiosError<ResultError>;\nexport type CalculateMotivationCommissionConfig = {\n baseURL?: string;\n body: CalculateMotivationCommissionBody;\n headers: CalculateMotivationCommissionHeaders;\n};\n\nexport function calculateMotivationCommissionRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n}: CalculateMotivationCommissionConfig) {\n return axios\n .post('/api/motivation-calculator', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CalculateMotivationCommissionData) => res)\n .catch((err: CalculateMotivationCommissionError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { Payslip } from '../../types';\n\ntype SuccessData = { success: true; data: Payslip[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { data: SuccessData['data']; meta: { total: number } };\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindPayslipsParams = {\n filter?: {\n dealId?: string | string[];\n 'serviceRequest.id'?: string | string[];\n 'serviceRequest.contract.formalId'?: string;\n 'serviceRequest.curator.id'?: string;\n 'serviceRequest.curator.supervisor.id'?: string;\n closingDate?: string | { from?: string; to?: string };\n };\n sorting?: { type: 'closingDate'; direction: 'asc' | 'desc' };\n limits?: { page?: number; count?: number | 'all' };\n};\n\nexport type FindPayslipsHeaders = { 'x-auth-hc': string };\nexport type FindPayslipsData = AxiosResponse<ResultData>;\nexport type FindPayslipsError = AxiosError<ResultError>;\nexport type FindPayslipsConfig = {\n baseURL?: string;\n params: FindPayslipsParams;\n headers: FindPayslipsHeaders;\n};\n\nexport function findPayslipsRequest({ baseURL = 'https://clients.homeapp.ru', headers, params }: FindPayslipsConfig) {\n return axios\n .get('/api/payslip', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error;\n\n return { data: data.data, meta: { total: data.pageParams.length } };\n },\n ],\n })\n .then((res: FindPayslipsData) => res)\n .catch((err: FindPayslipsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Payslip } from '../../types';\n\ntype SuccessData = { success: true; data: Payslip };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindPayslipByIdUrlParams = { id: number };\nexport type FindPayslipByIdHeaders = { 'x-auth-hc': string };\nexport type FindPayslipByIdData = AxiosResponse<ResultData>;\nexport type FindPayslipByIdError = AxiosError<ResultError>;\n\nexport type FindPayslipByIdConfig = {\n baseURL?: string;\n urlParams: FindPayslipByIdUrlParams;\n headers: FindPayslipByIdHeaders;\n};\n\nexport function findPayslipByIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindPayslipByIdConfig) {\n return axios\n .get(`/api/payslip/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindPayslipByIdData) => res)\n .catch((err: FindPayslipByIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Payslip } from '../../types';\n\ntype SuccessData = { success: true; data: Payslip };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdatePayslipHeaders = { 'x-auth-hc': string };\nexport type UpdatePayslipUrlParams = { id: number };\nexport type UpdatePayslipBody = {\n financeAdjustment?: string;\n financeComment?: string;\n ifFinalNotification: boolean;\n};\nexport type UpdatePayslipData = AxiosResponse<ResultData>;\nexport type UpdatePayslipError = AxiosError<ResultError>;\nexport type UpdatePayslipConfig = {\n baseURL?: string;\n body: UpdatePayslipBody;\n urlParams: UpdatePayslipUrlParams;\n headers: UpdatePayslipHeaders;\n};\n\nexport function updatePayslipRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdatePayslipConfig) {\n return axios\n .post(`/api/payslip/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: UpdatePayslipData) => res)\n .catch((err: UpdatePayslipError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { Phone } from '../../types';\n\ntype SuccessData = { success: true; data: Phone[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: Record<'error' | 'message', string> };\n\ntype ResultData = { ids: number[]; byId: Record<string, Phone>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindPhonesHeaders = { 'x-auth-hc': string };\nexport type FindPhonesParams = {\n filter?: { number?: string; isBlacklisted?: boolean };\n limits?: { page?: number; count: number | 'all' };\n};\nexport type FindPhonesData = AxiosResponse<ResultData>;\nexport type FindPhonesError = AxiosError<ResultError>;\nexport type FindPhonesConfig = {\n baseURL?: string;\n headers: FindPhonesHeaders;\n params: FindPhonesParams;\n};\n\nexport function findPhonesRequest({ baseURL = 'https://clients.homeapp.ru', headers, params }: FindPhonesConfig) {\n return axios\n .get('/api/phone', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams?.length ?? 0 } };\n }\n\n return data.data.error || data.data.message;\n },\n ],\n })\n .then((res: FindPhonesData) => res)\n .catch((err: FindPhonesError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Call } from '../../types';\n\ntype SuccessData = { success: true; data: Partial<Call> & Required<Pick<Call, 'id'>> };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CallbackPhoneHeaders = { 'x-auth-hc': string };\nexport type CallbackPhoneUrlParams = { phoneNumber: string };\nexport type CallbackPhoneData = AxiosResponse<ResultData>;\nexport type CallbackPhoneError = AxiosError<ResultError>;\nexport type CallbackPhoneConfig = {\n baseURL?: string;\n urlParams: CallbackPhoneUrlParams;\n headers: CallbackPhoneHeaders;\n};\n\nexport function callbackPhoneRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: CallbackPhoneConfig) {\n return axios\n .post(`/api/phone/callback/${urlParams.phoneNumber}`, null, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CallbackPhoneData) => res)\n .catch((err: CallbackPhoneError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Phone } from '../../types';\n\ntype SuccessData = { success: true; data: Phone };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type BlockPhoneUrlParams = { id: number };\nexport type BlockPhoneHeaders = { 'x-auth-hc': string };\n\nexport type BlockPhoneData = AxiosResponse<ResultData>;\nexport type BlockPhoneError = AxiosError<ResultError>;\nexport type BlockPhoneConfig = {\n baseURL?: string;\n urlParams: BlockPhoneUrlParams;\n headers: BlockPhoneHeaders;\n};\n\nexport function blockPhoneRequest({ baseURL = 'https://clients.homeapp.ru', urlParams, headers }: BlockPhoneConfig) {\n return axios\n .patch(`/api/phone/${urlParams.id}/block`, null, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: BlockPhoneData) => res)\n .catch((err: BlockPhoneError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Phone } from '../../types';\n\ntype SuccessData = { success: true; data: Phone };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UnblockPhoneUrlParams = { id: number };\nexport type UnblockPhoneHeaders = { 'x-auth-hc': string };\n\nexport type UnblockPhoneData = AxiosResponse<ResultData>;\nexport type UnblockPhoneError = AxiosError<ResultError>;\nexport type UnblockPhoneConfig = {\n baseURL?: string;\n urlParams: UnblockPhoneUrlParams;\n headers: UnblockPhoneHeaders;\n};\n\nexport function unblockPhoneRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: UnblockPhoneConfig) {\n return axios\n .patch(`/api/phone/${urlParams.id}/unblock`, null, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: UnblockPhoneData) => res)\n .catch((err: UnblockPhoneError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { PhoneBookContact, PhoneBookContactPhoneType } from '../../../types';\n\ntype SuccessData = { success: true; data: PhoneBookContact };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreatePhoneBookContactHeaders = { 'x-auth-hc': string };\nexport type CreatePhoneBookContactBody = {\n isFavorite: NonNullable<PhoneBookContact['isFavorite']>;\n name: NonNullable<PhoneBookContact['name']>;\n phones: Array<{ type: PhoneBookContactPhoneType; phone: string }>;\n type: NonNullable<PhoneBookContact['type']>;\n comment?: PhoneBookContact['comment'];\n};\n\nexport type CreatePhoneBookContactData = AxiosResponse<ResultData>;\nexport type CreatePhoneBookContactError = AxiosError<ResultError>;\nexport type CreatePhoneBookContactConfig = {\n baseURL?: string;\n headers: CreatePhoneBookContactHeaders;\n body: CreatePhoneBookContactBody;\n};\n\nexport function createPhoneBookContactRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n}: CreatePhoneBookContactConfig) {\n return axios\n .post('/api/phone-book', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreatePhoneBookContactData) => res)\n .catch((err: CreatePhoneBookContactError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type DeletePhoneBookContactHeaders = { 'x-auth-hc': string };\nexport type DeletePhoneBookContactUrlParams = { id: number };\nexport type DeletePhoneBookContactData = AxiosResponse<ResultData>;\nexport type DeletePhoneBookContactError = AxiosError<ResultError>;\nexport type DeletePhoneBookContactConfig = {\n baseURL?: string;\n urlParams: DeletePhoneBookContactUrlParams;\n headers: DeletePhoneBookContactHeaders;\n};\n\nexport function deletePhoneBookContactRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: DeletePhoneBookContactConfig) {\n return axios\n .delete(`/api/phone-book/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data.error),\n ],\n })\n .then((res: DeletePhoneBookContactData) => res)\n .catch((err: DeletePhoneBookContactError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { PhoneBookContact, PhoneBookContactType } from '../../../types';\n\ntype SuccessData = { success: true; data: PhoneBookContact[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: Record<'error' | 'message', string> };\n\ntype ResultData = { ids: number[]; byId: Record<string, PhoneBookContact>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindPhoneBookContactsHeaders = { 'x-auth-hc': string };\nexport type FindPhoneBookContactsParams = {\n filter?: {\n 'phone.number'?: string;\n isFavorite?: boolean;\n search?: string;\n type?: PhoneBookContactType;\n };\n limits?: { page?: number; count: number | 'all' };\n sorting?: { direction: 'asc' | 'desc'; type: 'name' };\n};\nexport type FindPhoneBookContactsData = AxiosResponse<ResultData>;\nexport type FindPhoneBookContactsError = AxiosError<ResultError>;\nexport type FindPhoneBookContactsConfig = {\n baseURL?: string;\n headers: FindPhoneBookContactsHeaders;\n params: FindPhoneBookContactsParams;\n};\n\nexport function findPhoneBookContactsRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n params,\n}: FindPhoneBookContactsConfig) {\n return axios\n .get('/api/phone-book', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error || data.data.message;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n },\n ],\n })\n .then((res: FindPhoneBookContactsData) => res)\n .catch((err: FindPhoneBookContactsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { PhoneBookContact, PhoneBookContactPhoneType } from '../../../types';\n\ntype SuccessData = { success: true; data: PhoneBookContact };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdatePhoneBookContactUrlParams = { id: number };\nexport type UpdatePhoneBookContactHeaders = { 'x-auth-hc': string };\nexport type UpdatePhoneBookContactBody = {\n comment?: PhoneBookContact['comment'];\n isFavorite?: PhoneBookContact['isFavorite'];\n name?: PhoneBookContact['name'];\n phones?: Array<{ phone: string; type: PhoneBookContactPhoneType; id?: number }>;\n type?: PhoneBookContact['type'];\n};\n\nexport type UpdatePhoneBookContactData = AxiosResponse<ResultData>;\nexport type UpdatePhoneBookContactError = AxiosError<ResultError>;\nexport type UpdatePhoneBookContactConfig = {\n baseURL?: string;\n urlParams: UpdatePhoneBookContactUrlParams;\n headers: UpdatePhoneBookContactHeaders;\n body: UpdatePhoneBookContactBody;\n};\n\nexport function updatePhoneBookContactRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdatePhoneBookContactConfig) {\n return axios\n .patch(`/api/phone-book/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: UpdatePhoneBookContactData) => res)\n .catch((err: UpdatePhoneBookContactError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { PhotoOrder } from '../../../types';\n\ntype SuccessData = { success: true; data: PhotoOrder };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreatePhotoOrderHeaders = { 'x-auth-hc': string };\nexport type CreatePhotoOrderBody = {\n type: NonNullable<PhotoOrder['type']>;\n serviceRequestId: NonNullable<PhotoOrder['serviceRequestId']>;\n addressId: NonNullable<PhotoOrder['addressId']>;\n scheduledAt: NonNullable<PhotoOrder['scheduledAt']>;\n renovation: NonNullable<PhotoOrder['renovation']>;\n expertPhone: NonNullable<PhotoOrder['expertPhone']>;\n hasAccessToFlat: NonNullable<PhotoOrder['hasAccessToFlat']>;\n comment?: PhotoOrder['comment'];\n internalUser?: { id: number };\n};\n\nexport type CreatePhotoOrderData = AxiosResponse<ResultData>;\nexport type CreatePhotoOrderError = AxiosError<ResultError>;\nexport type CreatePhotoOrderConfig = {\n baseURL?: string;\n headers: CreatePhotoOrderHeaders;\n body: CreatePhotoOrderBody;\n};\n\nexport function createPhotoOrderRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n}: CreatePhotoOrderConfig) {\n return axios\n .post('/api/order-photos', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreatePhotoOrderData) => res)\n .catch((err: CreatePhotoOrderError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { PhotoOrder, PhotoOrderStatus } from '../../../types';\n\ntype SuccessData = { success: true; data: PhotoOrder[] };\ntype ErrorData = { success: false; data: Record<'error' | 'message', string> };\n\ntype ResultData = { ids: string[]; byId: Record<string, PhotoOrder> };\ntype ResultError = string;\n\nexport type FindPhotoOrdersHeaders = { 'x-auth-hc': string };\nexport type FindPhotoOrdersParams = {\n filter?: {\n 'serviceRequest.id'?: string;\n status?: PhotoOrderStatus;\n };\n limits?: { page?: number; count: number | 'all' };\n sorting?: { direction: 'asc' | 'desc'; type: 'createdAt' };\n};\nexport type FindPhotoOrdersData = AxiosResponse<ResultData>;\nexport type FindPhotoOrdersError = AxiosError<ResultError>;\nexport type FindPhotoOrdersConfig = {\n baseURL?: string;\n headers: FindPhotoOrdersHeaders;\n params: FindPhotoOrdersParams;\n};\n\nexport function findPhotoOrdersRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n params,\n}: FindPhotoOrdersConfig) {\n return axios\n .get('/api/order-photos', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error || data.data.message;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId };\n },\n ],\n })\n .then((res: FindPhotoOrdersData) => res)\n .catch((err: FindPhotoOrdersError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type SendPhotoOrderFeedbackHeaders = { 'x-auth-hc': string };\nexport type SendPhotoOrderFeedbackUrlParams = { id: string };\nexport type SendPhotoOrderFeedbackData = AxiosResponse<ResultData>;\nexport type SendPhotoOrderFeedbackError = AxiosError<ResultError>;\nexport type SendPhotoOrderFeedbackConfig = {\n baseURL?: string;\n urlParams: SendPhotoOrderFeedbackUrlParams;\n headers: SendPhotoOrderFeedbackHeaders;\n};\n\nexport function sendPhotoOrderFeedbackRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: SendPhotoOrderFeedbackConfig) {\n return axios\n .patch(`/api/order-photos/${urlParams.id}/feedback`, null, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data.error),\n ],\n })\n .then((res: SendPhotoOrderFeedbackData) => res)\n .catch((err: SendPhotoOrderFeedbackError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type TerminatePhotoOrderHeaders = { 'x-auth-hc': string };\nexport type TerminatePhotoOrderUrlParams = { id: string };\nexport type TerminatePhotoOrderData = AxiosResponse<ResultData>;\nexport type TerminatePhotoOrderError = AxiosError<ResultError>;\nexport type TerminatePhotoOrderConfig = {\n baseURL?: string;\n urlParams: TerminatePhotoOrderUrlParams;\n headers: TerminatePhotoOrderHeaders;\n};\n\nexport function terminatePhotoOrderRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: TerminatePhotoOrderConfig) {\n return axios\n .patch(`/api/order-photos/${urlParams.id}/terminate`, null, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data.error),\n ],\n })\n .then((res: TerminatePhotoOrderData) => res)\n .catch((err: TerminatePhotoOrderError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type CompletePhotoOrderHeaders = { 'x-auth-hc': string };\nexport type CompletePhotoOrderUrlParams = { id: string };\nexport type CompletePhotoOrderData = AxiosResponse<ResultData>;\nexport type CompletePhotoOrderError = AxiosError<ResultError>;\nexport type CompletePhotoOrderConfig = {\n baseURL?: string;\n urlParams: CompletePhotoOrderUrlParams;\n headers: CompletePhotoOrderHeaders;\n};\n\nexport function completePhotoOrderRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: CompletePhotoOrderConfig) {\n return axios\n .patch(`/api/order-photos/${urlParams.id}/complete`, null, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data.error),\n ],\n })\n .then((res: CompletePhotoOrderData) => res)\n .catch((err: CompletePhotoOrderError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { RealtyType } from '../../../types';\nimport qs from 'qs';\n\ntype SuccessData = { success: true; data: { realtyId: number; serviceRequestId: number; formalId: string } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindRealtyDuplicateParams = Partial<{\n fullAddress: string;\n roomCount: number;\n serviceRequestId: number;\n realtyType: RealtyType;\n floor: number;\n}>;\n\nexport type FindRealtyDuplicateHeaders = { 'x-auth-hc': string };\nexport type FindRealtyDuplicateData = AxiosResponse<ResultData>;\nexport type FindRealtyDuplicateError = AxiosError<ResultError>;\nexport type FindRealtyDuplicateConfig = {\n baseURL?: string;\n params: FindRealtyDuplicateParams;\n headers: FindRealtyDuplicateHeaders;\n};\n\nexport function findRealtyDuplicateRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n params,\n}: FindRealtyDuplicateConfig) {\n return axios\n .get('/api/realty/duplicate', {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindRealtyDuplicateData) => res)\n .catch((err: FindRealtyDuplicateError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { PriceHistory } from '../../../types';\nimport qs from 'qs';\n\ntype SuccessData = { success: true; data: PriceHistory[] };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindRealtyPriceHistoryParams = {\n filter?: { realtyId?: number | number[]; dateCreated?: { from?: string; to?: string } };\n limits?: { page?: number; count?: number | 'all' };\n sorting?: { type?: 'id' | 'realtyId' | 'dateCreated'; direction?: 'asc' | 'desc' };\n};\n\nexport type FindRealtyPriceHistoryHeaders = { 'x-auth-hc': string };\nexport type FindRealtyPriceHistoryData = AxiosResponse<ResultData>;\nexport type FindRealtyPriceHistoryError = AxiosError<ResultError>;\nexport type FindRealtyPriceHistoryConfig = {\n baseURL?: string;\n params: FindRealtyPriceHistoryParams;\n headers: FindRealtyPriceHistoryHeaders;\n};\n\nexport function findRealtyPriceHistoryRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n params,\n}: FindRealtyPriceHistoryConfig) {\n return axios\n .get('/api/crud/price-history', {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindRealtyPriceHistoryData) => res)\n .catch((err: FindRealtyPriceHistoryError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true; data: number[] };\ntype ErrorData = { success: false; data: Record<'error' | 'message', string> };\n\ntype ResultData = number[];\ntype ResultError = string;\n\nexport type FindSimilarRealtyIdsByIdUrlParams = { id: number };\nexport type FindSimilarRealtyIdsByIdData = AxiosResponse<ResultData>;\nexport type FindSimilarRealtyIdsByIdError = AxiosError<ResultError>;\nexport type FindSimilarRealtyIdsByIdConfig = {\n baseURL?: string;\n urlParams: FindSimilarRealtyIdsByIdUrlParams;\n};\n\nexport function findSimilarRealtyIdsById({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n}: FindSimilarRealtyIdsByIdConfig) {\n return axios\n .get(`/api/realty/similar/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json' },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindSimilarRealtyIdsByIdData) => res)\n .catch((err: FindSimilarRealtyIdsByIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type SubscribeToRealtyUpdatesBody = {\n email: string;\n realtyExtId: number;\n events: Array<'price_changed' | 'published' | 'depublished'>;\n};\nexport type SubscribeToRealtyUpdatesData = AxiosResponse<ResultData>;\nexport type SubscribeToRealtyUpdatesError = AxiosError<ResultError>;\nexport type SubscribeToRealtyUpdatesConfig = {\n baseURL?: string;\n body: SubscribeToRealtyUpdatesBody;\n};\n\nexport function subscribeToRealtyUpdatesRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n}: SubscribeToRealtyUpdatesConfig) {\n return axios\n .post('/api/realty-subscription', body, {\n baseURL,\n headers: { Accept: 'application/json' },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data.error),\n ],\n })\n .then((res: SubscribeToRealtyUpdatesData) => res)\n .catch((err: SubscribeToRealtyUpdatesError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\n\ntype Scoring = {\n serviceRequestId: number;\n score: number;\n inRotation: boolean;\n};\n\ntype SuccessData = { success: true; data: Array<Scoring> };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, Scoring> };\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindScoringHeaders = { 'x-auth-hc': string };\nexport type FindScoringParams = { srId: number[] };\nexport type FindScoringData = AxiosResponse<ResultData>;\nexport type FindScoringError = AxiosError<ResultError>;\nexport type FindScoringConfig = {\n baseURL?: string;\n headers: FindScoringHeaders;\n params: FindScoringParams;\n};\n\nexport function findScoringRequest({ baseURL = 'https://clients.homeapp.ru', headers, params }: FindScoringConfig) {\n return axios\n .get('/api/analytics/scoring-info', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.serviceRequestId] = entity;\n ids.push(entity.serviceRequestId);\n });\n\n return { ids, byId };\n },\n ],\n })\n .then((res: FindScoringData) => res)\n .catch((err: FindScoringError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ServiceRequest } from '../../types';\n\ntype SuccessData = { success: true; data: ServiceRequest };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type AddServiceRequestAssistantHeaders = { 'x-auth-hc': string };\nexport type AddServiceRequestAssistantUrlParams = { srId: number };\nexport type AddServiceRequestAssistantBody = { id: number };\n\nexport type AddServiceRequestAssistantData = AxiosResponse<ResultData>;\nexport type AddServiceRequestAssistantError = AxiosError<ResultError>;\nexport type AddServiceRequestAssistantConfig = {\n baseURL?: string;\n urlParams: AddServiceRequestAssistantUrlParams;\n body: AddServiceRequestAssistantBody;\n headers: AddServiceRequestAssistantHeaders;\n};\n\nexport function addServiceRequestAssistantRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: AddServiceRequestAssistantConfig) {\n return axios\n .post(`/api/service-request/${urlParams.srId}/personal-assistant`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: AddServiceRequestAssistantData) => res)\n .catch((err: AddServiceRequestAssistantError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ServiceRequest } from '../../types';\n\ntype SuccessData = { success: true; data: Partial<ServiceRequest> & Required<Pick<ServiceRequest, 'id'>> };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type ApproveCloseServiceRequestHeaders = { 'x-auth-hc': string };\nexport type ApproveCloseServiceRequestUrlParams = { id: number };\nexport type ApproveCloseServiceRequestBody = {\n reason?: string;\n contract?: { amountPenalty?: number };\n};\nexport type ApproveCloseServiceRequestData = AxiosResponse<ResultData>;\nexport type ApproveCloseServiceRequestError = AxiosError<ResultError>;\nexport type ApproveCloseServiceRequestConfig = {\n baseURL?: string;\n urlParams: ApproveCloseServiceRequestUrlParams;\n body: ApproveCloseServiceRequestBody;\n headers: ApproveCloseServiceRequestHeaders;\n};\n\nexport function approveCloseServiceRequestRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: ApproveCloseServiceRequestConfig) {\n return axios\n .patch(`/api/service-request/approve-close/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: ApproveCloseServiceRequestData) => res)\n .catch((err: ApproveCloseServiceRequestError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Call } from '../../types';\n\ntype SuccessData = { success: true; data: Partial<Call> & Required<Pick<Call, 'id'>> };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CallbackServiceRequestHeaders = { 'x-auth-hc': string };\nexport type CallbackServiceRequestUrlParams = { serviceRequestId: number };\nexport type CallbackServiceRequestData = AxiosResponse<ResultData>;\nexport type CallbackServiceRequestError = AxiosError<ResultError>;\nexport type CallbackServiceRequestConfig = {\n baseURL?: string;\n urlParams: CallbackServiceRequestUrlParams;\n headers: CallbackServiceRequestHeaders;\n};\n\nexport function callbackServiceRequestRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: CallbackServiceRequestConfig) {\n return axios\n .post(`/api/service-request/callback/${urlParams.serviceRequestId}`, null, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CallbackServiceRequestData) => res)\n .catch((err: CallbackServiceRequestError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Company } from '../../types';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type ChangeServiceRequestCompanyHeaders = { 'x-auth-hc': string };\nexport type ChangeServiceRequestCompanyUrlParams = { serviceRequestId: number };\nexport type ChangeServiceRequestCompanyBody = {\n company: Required<Pick<Company, 'id'>>;\n};\nexport type ChangeServiceRequestCompanyData = AxiosResponse<ResultData>;\nexport type ChangeServiceRequestCompanyError = AxiosError<ResultError>;\nexport type ChangeServiceRequestCompanyConfig = {\n baseURL?: string;\n urlParams: ChangeServiceRequestCompanyUrlParams;\n body: ChangeServiceRequestCompanyBody;\n headers: ChangeServiceRequestCompanyHeaders;\n};\n\nexport function changeServiceRequestCompanyRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: ChangeServiceRequestCompanyConfig) {\n return axios\n .patch(\n `/api/service-request/company/${urlParams.serviceRequestId}`,\n { ...body, id: urlParams.serviceRequestId },\n {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data.error),\n ],\n }\n )\n .then((res: ChangeServiceRequestCompanyData) => res)\n .catch((err: ChangeServiceRequestCompanyError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ServiceRequest, ServiceRequestCategorizedFileCategory } from '../../types';\n\ntype SuccessData = { success: true; data: Partial<ServiceRequest> & { id: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CloseServiceRequestHeaders = { 'x-auth-hc': string };\nexport type CloseServiceRequestUrlParams = { id: number };\nexport type CloseServiceRequestBody = {\n reason?: string;\n files?: Array<{\n category: ServiceRequestCategorizedFileCategory;\n id: number;\n name: string;\n type: string;\n url: string;\n }>;\n};\nexport type CloseServiceRequestData = AxiosResponse<ResultData>;\nexport type CloseServiceRequestError = AxiosError<ResultError>;\nexport type CloseServiceRequestConfig = {\n baseURL?: string;\n urlParams: CloseServiceRequestUrlParams;\n body: CloseServiceRequestBody;\n headers: CloseServiceRequestHeaders;\n};\n\nexport function closeServiceRequestRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: CloseServiceRequestConfig) {\n return axios\n .patch(`/api/service-request/close/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CloseServiceRequestData) => res)\n .catch((err: CloseServiceRequestError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type CompleteServiceRequestModerationHeaders = { 'x-auth-hc': string };\nexport type CompleteServiceRequestModerationUrlParams = { id: string };\nexport type CompleteServiceRequestModerationData = AxiosResponse<ResultData>;\nexport type CompleteServiceRequestModerationError = AxiosError<ResultError>;\nexport type CompleteServiceRequestModerationConfig = {\n baseURL?: string;\n urlParams: CompleteServiceRequestModerationUrlParams;\n headers: CompleteServiceRequestModerationHeaders;\n};\n\nexport function completeServiceRequestModerationRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: CompleteServiceRequestModerationConfig) {\n return axios\n .patch(`/api/service-request/${urlParams.id}/moderation/done`, null, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data.error),\n ],\n })\n .then((res: CompleteServiceRequestModerationData) => res)\n .catch((err: CompleteServiceRequestModerationError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ServiceRequest } from '../../types';\n\ntype SuccessData = { success: true; data: Partial<ServiceRequest> & { id: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = Partial<ServiceRequest> & { id: number };\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateInvestSellServiceRequestHeaders = { 'x-auth-hc': string };\nexport type CreateInvestSellServiceRequestBody = { dealId: number };\nexport type CreateInvestSellServiceRequestData = AxiosResponse<ResultData>;\nexport type CreateInvestSellServiceRequestError = AxiosError<ResultError>;\nexport type CreateInvestSellServiceRequestConfig = {\n baseURL?: string;\n headers: CreateInvestSellServiceRequestHeaders;\n body: CreateInvestSellServiceRequestBody;\n};\n\nexport function createInvestSellServiceRequestRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n}: CreateInvestSellServiceRequestConfig) {\n return axios\n .post('/api/service-request/invest/sell', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreateInvestSellServiceRequestData) => res)\n .catch((err: CreateInvestSellServiceRequestError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Appointment, CallTask, ServiceRequest, Task, User } from '../../types';\nimport { RealtyType } from '../../../v2/types';\n\ntype SuccessData = { success: true; data: ServiceRequest };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = ServiceRequest;\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateServiceRequestHeaders = { 'x-auth-hc': string };\nexport type CreateServiceRequestBody = Pick<\n ServiceRequest,\n 'type' | 'description' | 'source' | 'hasDeveloperCommission'\n> & {\n user: Required<Pick<User, 'login' | 'firstName'>> & Partial<Pick<User, 'lastName'>>;\n task: Required<Pick<Task, 'text' | 'status' | 'expiresAt' | 'notificationType' | 'importance'>>;\n appointment?: Required<Pick<Appointment, 'place' | 'status' | 'plannedAt' | 'notificationType'>>;\n callTask?: Required<Pick<CallTask, 'id'>>;\n curator?: Required<Pick<User, 'id'>>;\n sellParams?: {\n realtyType?: RealtyType;\n address?: string;\n roomsNumber?: number;\n area?: number;\n price?: number;\n floor?: number;\n };\n};\nexport type CreateServiceRequestData = AxiosResponse<ResultData>;\nexport type CreateServiceRequestError = AxiosError<ResultError>;\nexport type CreateServiceRequestConfig = {\n baseURL?: string;\n body: CreateServiceRequestBody;\n headers: CreateServiceRequestHeaders;\n};\n\nexport function createServiceRequestRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n}: CreateServiceRequestConfig) {\n return axios\n .post(`/api/service-request`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreateServiceRequestData) => res)\n .catch((err: CreateServiceRequestError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ServiceRequestActivity, ServiceRequestActivityType } from '../../types';\n\ntype SuccessData = { success: true; data: ServiceRequestActivity };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateServiceRequestActivityHeaders = { 'x-auth-hc': string };\nexport type CreateServiceRequestActivityBody = {\n serviceRequest: { id: number };\n text: string;\n type: ServiceRequestActivityType;\n};\n\nexport type CreateServiceRequestActivityData = AxiosResponse<ResultData>;\nexport type CreateServiceRequestActivityError = AxiosError<ResultError>;\nexport type CreateServiceRequestActivityConfig = {\n baseURL?: string;\n headers: CreateServiceRequestActivityHeaders;\n body: CreateServiceRequestActivityBody;\n};\n\nexport function createServiceRequestActivityRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n}: CreateServiceRequestActivityConfig) {\n return axios\n .post('/api/service-request/activity', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreateServiceRequestActivityData) => res)\n .catch((err: CreateServiceRequestActivityError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ServiceRequest } from '../../types';\n\ntype SuccessData = { success: true; data: ServiceRequest };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = ServiceRequest;\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateServiceRequestByCrossSaleIdHeaders = { 'x-auth-hc': string };\nexport type CreateServiceRequestByCrossSaleIdUrlParams = { id: number };\nexport type CreateServiceRequestByCrossSaleIdData = AxiosResponse<ResultData>;\nexport type CreateServiceRequestByCrossSaleIdError = AxiosError<ResultError>;\nexport type CreateServiceRequestByCrossSaleIdConfig = {\n baseURL?: string;\n urlParams: CreateServiceRequestByCrossSaleIdUrlParams;\n headers: CreateServiceRequestByCrossSaleIdHeaders;\n};\n\nexport function createServiceRequestByCrossSaleIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: CreateServiceRequestByCrossSaleIdConfig) {\n return axios\n .post(\n `/api/cross-sale/create-child-service-request/${urlParams.id}`,\n {},\n {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n }\n )\n .then((res: CreateServiceRequestByCrossSaleIdData) => res)\n .catch((err: CreateServiceRequestByCrossSaleIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ServiceRequestCategorizedFile, ServiceRequestCategorizedFileCategory } from '../../types';\n\ntype SuccessData = { success: true; data: ServiceRequestCategorizedFile };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateServiceRequestCategorizedFileHeaders = { 'x-auth-hc': string };\nexport type CreateServiceRequestCategorizedFileUrlParams = { id: number };\nexport type CreateServiceRequestCategorizedFileBody = {\n file: { id: number };\n category: Exclude<\n ServiceRequestCategorizedFileCategory,\n | ServiceRequestCategorizedFileCategory.Egrn\n | ServiceRequestCategorizedFileCategory.DeleteReason\n | ServiceRequestCategorizedFileCategory.OwnershipTransfers\n | ServiceRequestCategorizedFileCategory.Risk\n >;\n};\n\nexport type CreateServiceRequestCategorizedFileData = AxiosResponse<ResultData>;\nexport type CreateServiceRequestCategorizedFileError = AxiosError<ResultError>;\nexport type CreateServiceRequestCategorizedFileConfig = {\n baseURL?: string;\n urlParams: CreateServiceRequestCategorizedFileUrlParams;\n headers: CreateServiceRequestCategorizedFileHeaders;\n body: CreateServiceRequestCategorizedFileBody;\n};\n\nexport function createServiceRequestCategorizedFileRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: CreateServiceRequestCategorizedFileConfig) {\n return axios\n .post(`/api/service-request/${urlParams.id}/file`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data?.error),\n ],\n })\n .then((res: CreateServiceRequestCategorizedFileData) => res)\n .catch((err: CreateServiceRequestCategorizedFileError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ServiceRequestFeedback } from '../../types';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateServiceRequestFeedbackHeaders = { 'x-auth-hc': string };\nexport type CreateServiceRequestFeedbackBody = {\n serviceRequestId: NonNullable<ServiceRequestFeedback['serviceRequestId']>;\n category: NonNullable<ServiceRequestFeedback['category']>;\n text?: ServiceRequestFeedback['text'];\n};\n\nexport type CreateServiceRequestFeedbackData = AxiosResponse<ResultData>;\nexport type CreateServiceRequestFeedbackError = AxiosError<ResultError>;\nexport type CreateServiceRequestFeedbackConfig = {\n baseURL?: string;\n headers: CreateServiceRequestFeedbackHeaders;\n body: CreateServiceRequestFeedbackBody;\n};\n\nexport function createServiceRequestFeedbackRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n}: CreateServiceRequestFeedbackConfig) {\n return axios\n .post('/api/service-request/feedback', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data.error),\n ],\n })\n .then((res: CreateServiceRequestFeedbackData) => res)\n .catch((err: CreateServiceRequestFeedbackError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateServiceRequestReviewHeaders = { 'x-auth-hc': string };\nexport type CreateServiceRequestReviewBody = {\n serviceRequestId: number;\n rating: number;\n text?: string;\n};\n\nexport type CreateServiceRequestReviewData = AxiosResponse<ResultData>;\nexport type CreateServiceRequestReviewError = AxiosError<ResultError>;\nexport type CreateServiceRequestReviewConfig = {\n baseURL?: string;\n headers: CreateServiceRequestReviewHeaders;\n body: CreateServiceRequestReviewBody;\n};\n\nexport function createServiceRequestReviewRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n}: CreateServiceRequestReviewConfig) {\n return axios\n .post('/api/service-request/review', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data.error),\n ],\n })\n .then((res: CreateServiceRequestReviewData) => res)\n .catch((err: CreateServiceRequestReviewError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ServiceRequestSellerReport } from '../../types';\n\ntype SuccessData = { success: true; data: ServiceRequestSellerReport };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateServiceRequestSellerReportHeaders = { 'x-auth-hc': string };\nexport type CreateServiceRequestSellerReportUrlParams = { id: number };\nexport type CreateServiceRequestSellerReportBody = Partial<ServiceRequestSellerReport>;\n\nexport type CreateServiceRequestSellerReportData = AxiosResponse<ResultData>;\nexport type CreateServiceRequestSellerReportError = AxiosError<ResultError>;\nexport type CreateServiceRequestSellerReportConfig = {\n baseURL?: string;\n headers: CreateServiceRequestSellerReportHeaders;\n body: CreateServiceRequestSellerReportBody;\n urlParams: CreateServiceRequestSellerReportUrlParams;\n};\n\nexport function createServiceRequestSellerReportRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n urlParams,\n}: CreateServiceRequestSellerReportConfig) {\n return axios\n .post(`/api/service-request/${urlParams.id}/report-for-seller`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreateServiceRequestSellerReportData) => res)\n .catch((err: CreateServiceRequestSellerReportError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type DeferServiceRequestHeaders = { 'x-auth-hc': string };\nexport type DeferServiceRequestBody = { id: number[] };\nexport type DeferServiceRequestData = AxiosResponse<ResultData>;\nexport type DeferServiceRequestError = AxiosError<ResultError>;\nexport type DeferServiceRequestConfig = {\n baseURL?: string;\n headers: DeferServiceRequestHeaders;\n body: DeferServiceRequestBody;\n};\n\nexport function deferServiceRequestRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n}: DeferServiceRequestConfig) {\n return axios\n .patch('/api/service-request/deferred/on', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data?.error),\n ],\n })\n .then((res: DeferServiceRequestData) => res)\n .catch((err: DeferServiceRequestError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = never;\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type DeleteServiceRequestCategorizedFileHeaders = { 'x-auth-hc': string };\nexport type DeleteServiceRequestCategorizedFileUrlParams = { serviceRequestId: number; id: number };\nexport type DeleteServiceRequestCategorizedFileData = AxiosResponse<ResultData>;\nexport type DeleteServiceRequestCategorizedFileError = AxiosError<ResultError>;\nexport type DeleteServiceRequestCategorizedFileConfig = {\n baseURL?: string;\n urlParams: DeleteServiceRequestCategorizedFileUrlParams;\n headers: DeleteServiceRequestCategorizedFileHeaders;\n};\n\nexport function deleteServiceRequestCategorizedFileRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: DeleteServiceRequestCategorizedFileConfig) {\n return axios\n .delete(`/api/service-request/${urlParams.serviceRequestId}/file/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data && !data.success ? data.data?.error : null),\n ],\n })\n .then((res: DeleteServiceRequestCategorizedFileData) => res)\n .catch((err: DeleteServiceRequestCategorizedFileError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type DeleteServiceRequestReportForSellerHeaders = { 'x-auth-hc': string };\nexport type DeleteServiceRequestReportForSellerUrlParams = { serviceRequestId: number; id: string };\nexport type DeleteServiceRequestReportForSellerData = AxiosResponse<ResultData>;\nexport type DeleteServiceRequestReportForSellerError = AxiosError<ResultError>;\nexport type DeleteServiceRequestReportForSellerConfig = {\n baseURL?: string;\n urlParams: DeleteServiceRequestReportForSellerUrlParams;\n headers: DeleteServiceRequestReportForSellerHeaders;\n};\n\nexport function deleteServiceRequestReportForSellerRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: DeleteServiceRequestReportForSellerConfig) {\n return axios\n .delete(`/api/service-request/${urlParams.serviceRequestId}/report-for-seller/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data?.error),\n ],\n })\n .then((res: DeleteServiceRequestReportForSellerData) => res)\n .catch((err: DeleteServiceRequestReportForSellerError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ServiceRequest } from '../../types';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type DepublishServiceRequestHeaders = { 'x-auth-hc': string };\nexport type DepublishServiceRequestUrlParams = { id: number };\nexport type DepublishServiceRequestBody = {\n depublishReason: NonNullable<ServiceRequest['depublishReason']>;\n depublishComment?: NonNullable<ServiceRequest['depublishComment']>;\n};\nexport type DepublishServiceRequestData = AxiosResponse<ResultData>;\nexport type DepublishServiceRequestError = AxiosError<ResultError>;\nexport type DepublishServiceRequestConfig = {\n baseURL?: string;\n headers: DepublishServiceRequestHeaders;\n urlParams: DepublishServiceRequestUrlParams;\n body: DepublishServiceRequestBody;\n};\n\nexport function depublishServiceRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: DepublishServiceRequestConfig) {\n return axios\n .post(`/api/service-request/depublish/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data?.error),\n ],\n })\n .then((res: DepublishServiceRequestData) => res)\n .catch((err: DepublishServiceRequestError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ServiceRequest } from '../../types';\n\ntype SuccessData = { success: true; data: Partial<ServiceRequest> & Required<Pick<ServiceRequest, 'id'>> };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type DisapproveCloseServiceRequestHeaders = { 'x-auth-hc': string };\nexport type DisapproveCloseServiceRequestUrlParams = { id: number };\nexport type DisapproveCloseServiceRequestData = AxiosResponse<ResultData>;\nexport type DisapproveCloseServiceRequestError = AxiosError<ResultError>;\nexport type DisapproveCloseServiceRequestConfig = {\n baseURL?: string;\n urlParams: DisapproveCloseServiceRequestUrlParams;\n headers: DisapproveCloseServiceRequestHeaders;\n};\n\nexport function disapproveCloseServiceRequestRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: DisapproveCloseServiceRequestConfig) {\n return axios\n .patch(\n `/api/service-request/disapprove-close/${urlParams.id}`,\n {},\n {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n }\n )\n .then((res: DisapproveCloseServiceRequestData) => res)\n .catch((err: DisapproveCloseServiceRequestError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ServiceRequest } from '../../types';\n\ntype SuccessData = { success: true; data: ServiceRequest };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type DoneServiceRequestVerificationUrlParams = { id: number };\nexport type DoneServiceRequestVerificationHeaders = { 'x-auth-hc': string };\n\nexport type DoneServiceRequestVerificationData = AxiosResponse<ResultData>;\nexport type DoneServiceRequestVerificationError = AxiosError<ResultError>;\nexport type DoneServiceRequestVerificationConfig = {\n baseURL?: string;\n urlParams: DoneServiceRequestVerificationUrlParams;\n headers: DoneServiceRequestVerificationHeaders;\n};\n\nexport function doneServiceRequestVerificationRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: DoneServiceRequestVerificationConfig) {\n return axios\n .patch(`/api/service-request/${urlParams.id}/verification/done`, null, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: DoneServiceRequestVerificationData) => res)\n .catch((err: DoneServiceRequestVerificationError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ServiceRequest } from '../../types';\n\ntype SuccessData = { success: true; data: ServiceRequest };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FailServiceRequestVerificationUrlParams = { id: number };\nexport type FailServiceRequestVerificationHeaders = { 'x-auth-hc': string };\n\nexport type FailServiceRequestVerificationData = AxiosResponse<ResultData>;\nexport type FailServiceRequestVerificationError = AxiosError<ResultError>;\nexport type FailServiceRequestVerificationConfig = {\n baseURL?: string;\n urlParams: FailServiceRequestVerificationUrlParams;\n headers: FailServiceRequestVerificationHeaders;\n};\n\nexport function failServiceRequestVerificationRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FailServiceRequestVerificationConfig) {\n return axios\n .patch(`/api/service-request/${urlParams.id}/verification/fail`, null, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FailServiceRequestVerificationData) => res)\n .catch((err: FailServiceRequestVerificationError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { nanoid } from 'nanoid/non-secure';\nimport { PriceHistoryAnalytics } from '../../types';\n\ntype SuccessData = { success: true; data: PriceHistoryAnalytics[] };\ntype ErrorData = { success: false; data: Record<'error' | 'message', string> };\ntype ResultData = {\n ids: string[];\n byId: Record<string, PriceHistoryAnalytics & { _id: string }>;\n meta: { total: number };\n};\ntype ResultError = string;\n\nexport type FindPriceHistoryAnalyticsByIdUrlParams = { serviceRequestId: number };\nexport type FindPriceHistoryAnalyticsByIdHeaders = { 'x-auth-hc': string };\nexport type FindPriceHistoryAnalyticsByIdData = AxiosResponse<ResultData>;\nexport type FindPriceHistoryAnalyticsByIdError = AxiosError<ResultError>;\nexport type FindPriceHistoryAnalyticsByIdConfig = {\n baseURL?: string;\n headers: FindPriceHistoryAnalyticsByIdHeaders;\n urlParams: FindPriceHistoryAnalyticsByIdUrlParams;\n};\n\nexport function findPriceHistoryAnalyticsByIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindPriceHistoryAnalyticsByIdConfig) {\n return axios\n .get(`api/analytics/price-history/${urlParams.serviceRequestId}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) {\n return data.data.error || data.data.message;\n }\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n const _id = nanoid();\n byId[_id] = { ...entity, _id };\n ids.push(_id);\n });\n\n return { ids, byId, meta: { total: ids.length } };\n },\n ],\n })\n .then((res: FindPriceHistoryAnalyticsByIdData) => res)\n .catch((err: FindPriceHistoryAnalyticsByIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { ServiceRequestActivity, ServiceRequestActivityType } from '../../types';\n\ntype SuccessData = { success: true; data: ServiceRequestActivity[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: Record<'error' | 'message', string> };\n\ntype ResultData = { ids: number[]; byId: Record<string, ServiceRequestActivity>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindServiceRequestActivitiesHeaders = { 'x-auth-hc': string };\nexport type FindServiceRequestActivitiesParams = {\n filter?: {\n 'serviceRequest.id': number;\n type?: ServiceRequestActivityType;\n };\n limits?: { page?: number; count: number | 'all' };\n sorting?: { direction: 'asc' | 'desc'; type: 'createdAt' };\n};\nexport type FindServiceRequestActivitiesData = AxiosResponse<ResultData>;\nexport type FindServiceRequestActivitiesError = AxiosError<ResultError>;\nexport type FindServiceRequestActivitiesConfig = {\n baseURL?: string;\n headers: FindServiceRequestActivitiesHeaders;\n params: FindServiceRequestActivitiesParams;\n};\n\nexport function findServiceRequestActivitiesRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n params,\n}: FindServiceRequestActivitiesConfig) {\n return axios\n .get('/api/service-request/activity', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n }\n\n return data.data.error || data.data.message;\n },\n ],\n })\n .then((res: FindServiceRequestActivitiesData) => res)\n .catch((err: FindServiceRequestActivitiesError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ServiceRequest } from '../../types';\n\ntype SuccessData = { success: true; data: ServiceRequest };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindServiceRequestByIdUrlParams = { id: number };\nexport type FindServiceRequestByIdHeaders = { 'x-auth-hc': string };\nexport type FindServiceRequestByIdData = AxiosResponse<ResultData>;\nexport type FindServiceRequestByIdError = AxiosError<ResultError>;\n\nexport type FindServiceRequestByIdConfig = {\n baseURL?: string;\n urlParams: FindServiceRequestByIdUrlParams;\n headers: FindServiceRequestByIdHeaders;\n};\n\nexport function findServiceRequestByIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindServiceRequestByIdConfig) {\n return axios\n .get(`/api/service-request/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindServiceRequestByIdData) => res)\n .catch((err: FindServiceRequestByIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { DealCategorizedFileCategory, ServiceRequestCategorizedFileCategory } from '../../types';\n\ntype SuccessData = { success: true; data: string };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'] | null;\ntype ResultError = string;\n\nexport type FindServiceRequestCategorizedFileCreatedDateHeaders = { 'x-auth-hc': string };\nexport type FindServiceRequestCategorizedFileCreatedDateUrlParams = {\n id: number;\n category: DealCategorizedFileCategory | ServiceRequestCategorizedFileCategory;\n};\nexport type FindServiceRequestCategorizedFileCreatedDateData = AxiosResponse<ResultData>;\nexport type FindServiceRequestCategorizedFileCreatedDateError = AxiosError<ResultError>;\nexport type FindServiceRequestCategorizedFileCreatedDateConfig = {\n baseURL?: string;\n urlParams: FindServiceRequestCategorizedFileCreatedDateUrlParams;\n headers: FindServiceRequestCategorizedFileCreatedDateHeaders;\n};\n\nexport function findServiceRequestCategorizedFileCreatedDateRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindServiceRequestCategorizedFileCreatedDateConfig) {\n return axios\n .get(`/api/service-request/${urlParams.id}/file/${urlParams.category}/first-created-at`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError =>\n data.success ? data?.data ?? null : data.data.error,\n ],\n })\n .then((res: FindServiceRequestCategorizedFileCreatedDateData) => res)\n .catch((err: FindServiceRequestCategorizedFileCreatedDateError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { ServiceRequestCategorizedFile } from '../../types';\n\ntype SuccessData = {\n success: true;\n data: ServiceRequestCategorizedFile[];\n pageParams: { page: number; length: number };\n};\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, ServiceRequestCategorizedFile>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindServiceRequestCategorizedFilesHeaders = { 'x-auth-hc': string };\nexport type FindServiceRequestCategorizedFilesUrlParams = { id: number };\nexport type FindServiceRequestCategorizedFilesParams = {\n filter?: {\n id?: number | number[];\n };\n limits?: { page?: number; count: number | 'all' };\n sorting?: { direction: 'asc' | 'desc'; type: 'file.createdAt' };\n};\nexport type FindServiceRequestCategorizedFilesData = AxiosResponse<ResultData>;\nexport type FindServiceRequestCategorizedFilesError = AxiosError<ResultError>;\nexport type FindServiceRequestCategorizedFilesConfig = {\n baseURL?: string;\n urlParams: FindServiceRequestCategorizedFilesUrlParams;\n headers: FindServiceRequestCategorizedFilesHeaders;\n params: FindServiceRequestCategorizedFilesParams;\n};\n\nexport function findServiceRequestCategorizedFilesRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n params,\n}: FindServiceRequestCategorizedFilesConfig) {\n return axios\n .get(`/api/service-request/${urlParams.id}/file`, {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n }\n\n return data.data?.error;\n },\n ],\n })\n .then((res: FindServiceRequestCategorizedFilesData) => res)\n .catch((err: FindServiceRequestCategorizedFilesError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { ServiceRequestCategory } from '../../types';\n\ntype SuccessData = { success: true; data: { category: ServiceRequestCategory; movedAt: string }[] };\ntype ErrorData = { success: false; data: Record<'error' | 'message', string> };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindServiceRequestCategoryByIdHeaders = { 'x-auth-hc': string };\nexport type FindServiceRequestCategoryByIdUrlParams = { id: number };\nexport type FindServiceRequestCategoryByIdParams = {\n filter?: { category?: ServiceRequestCategory };\n limits?: { page?: number; count: number | 'all' };\n sorting?: { direction: 'asc' | 'desc'; type: 'createdAt' };\n};\nexport type FindServiceRequestCategoryByIdData = AxiosResponse<ResultData>;\nexport type FindServiceRequestCategoryByIdError = AxiosError<ResultError>;\nexport type FindServiceRequestCategoryByIdConfig = {\n baseURL?: string;\n params?: FindServiceRequestCategoryByIdParams;\n urlParams: FindServiceRequestCategoryByIdUrlParams;\n headers: FindServiceRequestCategoryByIdHeaders;\n};\n\nexport function findServiceRequestCategoryByIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n urlParams,\n params,\n}: FindServiceRequestCategoryByIdConfig) {\n return axios\n .get(`/api/service-request-category/${urlParams.id}/grouped`, {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindServiceRequestCategoryByIdData) => res)\n .catch((err: FindServiceRequestCategoryByIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true; data: { percent?: number | null } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = string;\n\nexport type FindServiceRequestDiscountEfficiencyPercentHeaders = { 'x-auth-hc': string };\nexport type FindServiceRequestDiscountEfficiencyPercentUrlParams = { id: number };\nexport type FindServiceRequestDiscountEfficiencyPercentData = AxiosResponse<ResultData>;\nexport type FindServiceRequestDiscountEfficiencyPercentError = AxiosError<ResultError>;\nexport type FindServiceRequestDiscountEfficiencyPercentConfig = {\n baseURL?: string;\n urlParams: FindServiceRequestDiscountEfficiencyPercentUrlParams;\n headers: FindServiceRequestDiscountEfficiencyPercentHeaders;\n};\n\nexport function findServiceRequestDiscountEfficiencyPercentRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindServiceRequestDiscountEfficiencyPercentConfig) {\n return axios\n .get(`/api/service-request/discount-efficiency-percent/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data?.data : data.data.error),\n ],\n })\n .then((res: FindServiceRequestDiscountEfficiencyPercentData) => res)\n .catch((err: FindServiceRequestDiscountEfficiencyPercentError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ServiceRequest, Realty, User } from '../../types';\n\ntype SuccessData = { success: true; data: Array<Partial<ServiceRequest> & { id: number }> };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = {\n ids: number[];\n byId: Record<string, Partial<ServiceRequest> & Required<Pick<ServiceRequest, 'id'>>>;\n};\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindServiceRequestDuplicatesHeaders = { 'x-auth-hc': string };\nexport type FindServiceRequestDuplicatesBody = {\n user: Required<Pick<User, 'login' | 'firstName'>> & Partial<Pick<User, 'lastName'>>;\n realty?: Pick<Realty, 'area' | 'floor' | 'floorsNumber'> & { address: Pick<Realty['address'], 'fullAddress'> };\n};\nexport type FindServiceRequestDuplicatesData = AxiosResponse<ResultData>;\nexport type FindServiceRequestDuplicatesError = AxiosError<ResultError>;\nexport type FindServiceRequestDuplicatesConfig = {\n baseURL?: string;\n body: FindServiceRequestDuplicatesBody;\n headers: FindServiceRequestDuplicatesHeaders;\n};\n\nexport function findServiceRequestDuplicatesRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n}: FindServiceRequestDuplicatesConfig) {\n return axios\n .post(`/api/service-request/duplicate`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId };\n },\n ],\n })\n .then((res: FindServiceRequestDuplicatesData) => res)\n .catch((err: FindServiceRequestDuplicatesError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ServiceRequestSellerReport } from '../../types';\nimport qs from 'qs';\n\ntype SuccessData = { success: true; data: ServiceRequestSellerReport[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: string[]; byId: Record<string, ServiceRequestSellerReport>; meta: { total: number } };\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindServiceRequestSellerReportsParams = {\n sorting?: {\n type: 'createdAt';\n direction: 'asc' | 'desc';\n };\n limits?: { page?: number; count?: number | 'all' };\n};\nexport type FindServiceRequestSellerReportsUrlParams = { id: number };\nexport type FindServiceRequestSellerReportsHeaders = { 'x-auth-hc': string };\nexport type FindServiceRequestSellerReportsData = AxiosResponse<ResultData>;\nexport type FindServiceRequestSellerReportsError = AxiosError<ResultError>;\nexport type FindServiceRequestSellerReportsConfig = {\n baseURL?: string;\n urlParams: FindServiceRequestSellerReportsUrlParams;\n params: FindServiceRequestSellerReportsParams;\n headers?: FindServiceRequestSellerReportsHeaders;\n};\n\nexport function findServiceRequestSellerReportsRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n params,\n}: FindServiceRequestSellerReportsConfig) {\n return axios\n .get(`/api/service-request/${urlParams.id}/report-for-seller`, {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n },\n ],\n })\n .then((res: FindServiceRequestSellerReportsData) => res)\n .catch((err: FindServiceRequestSellerReportsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { ServiceRequestCategory, ServiceRequestShortInfo, ServiceRequestStatus, ServiceRequestType } from '../../types';\n\ntype SuccessData = { success: true; data: ServiceRequestShortInfo[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, ServiceRequestShortInfo>; meta: { total: number } };\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindServiceRequestsShortInfoParams = {\n filter?: {\n address?: string;\n category?: ServiceRequestCategory | ServiceRequestCategory[];\n 'contract.formalId'?: string;\n 'contract.isSigned'?: boolean;\n 'curator.id'?: string;\n hasPublishedValuations?: boolean;\n id?: number | number[];\n idOrFormalId?: string;\n isPublished?: boolean;\n realtyExtId?: number;\n 'realty.price'?: number | { from?: number; to?: number };\n showTrainees?: boolean;\n status?: ServiceRequestStatus | ServiceRequestStatus[];\n statusDate?: string | { from?: string; to?: string };\n type?: ServiceRequestType | ServiceRequestType[];\n 'user.phones.phone.number'?: string;\n };\n sorting?: { direction: 'asc' | 'desc'; type: string };\n limits?: { page?: number; count: number | 'all' };\n};\n\nexport type FindServiceRequestShortInfoHeaders = { 'x-auth-hc': string };\nexport type FindServiceRequestShortInfoData = AxiosResponse<ResultData>;\nexport type FindServiceRequestShortInfoError = AxiosError<ResultError>;\nexport type FindServiceRequestShortInfoConfig = {\n baseURL?: string;\n params: FindServiceRequestsShortInfoParams;\n headers: FindServiceRequestShortInfoHeaders;\n};\n\nexport function findServiceRequestShortInfoRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n params,\n}: FindServiceRequestShortInfoConfig) {\n return axios\n .get(`/api/service-request/short`, {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data?.error;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n (data.data ?? []).forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n },\n ],\n })\n .then((res: FindServiceRequestShortInfoData) => res)\n .catch((err: FindServiceRequestShortInfoError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ServiceRequest, Realty, User } from '../../types';\n\ntype SuccessData = {\n success: true;\n data: Pick<ServiceRequest, 'id' | 'curator' | 'publicationTestPeriodDays' | 'realtyExtId'> & {\n realty?: Pick<Realty, 'price' | 'roomsNumber' | 'floorsNumber' | 'area' | 'realtyType'>;\n user?: Pick<User, 'firstName'> & { phonePostfix: string };\n };\n};\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindServiceRequestShortInfoByDealIdUrlParams = { id: number };\nexport type FindServiceRequestShortInfoByDealIdHeaders = { 'x-auth-hc': string };\nexport type FindServiceRequestShortInfoByDealIdData = AxiosResponse<ResultData>;\nexport type FindServiceRequestShortInfoByDealIdError = AxiosError<ResultError>;\n\nexport type FindServiceRequestShortInfoByDealIdConfig = {\n baseURL?: string;\n urlParams: FindServiceRequestShortInfoByDealIdUrlParams;\n headers: FindServiceRequestShortInfoByDealIdHeaders;\n};\n\nexport function findServiceRequestShortInfoByDealIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindServiceRequestShortInfoByDealIdConfig) {\n return axios\n .get(`/api/service-request-by-deal-id/short/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindServiceRequestShortInfoByDealIdData) => res)\n .catch((err: FindServiceRequestShortInfoByDealIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ServiceRequest, Realty, User } from '../../types';\n\ntype SuccessData = {\n success: true;\n data: Pick<ServiceRequest, 'curator' | 'publicationTestPeriodDays' | 'realtyExtId'> & {\n realty?: Pick<Realty, 'price' | 'roomsNumber' | 'floor' | 'floorsNumber' | 'area' | 'realtyType' | 'images'>;\n user?: Pick<User, 'firstName' | 'lastName'> & { phonePostfix: string };\n };\n};\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindServiceRequestShortInfoByIdUrlParams = { id: number };\nexport type FindServiceRequestShortInfoByIdHeaders = { 'x-auth-hc': string };\nexport type FindServiceRequestShortInfoByIdData = AxiosResponse<ResultData>;\nexport type FindServiceRequestShortInfoByIdError = AxiosError<ResultError>;\n\nexport type FindServiceRequestShortInfoByIdConfig = {\n baseURL?: string;\n urlParams: FindServiceRequestShortInfoByIdUrlParams;\n headers: FindServiceRequestShortInfoByIdHeaders;\n};\n\nexport function findServiceRequestShortInfoByIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindServiceRequestShortInfoByIdConfig) {\n return axios\n .get(`/api/service-request/short/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindServiceRequestShortInfoByIdData) => res)\n .catch((err: FindServiceRequestShortInfoByIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = {\n success: true;\n data: { expositionCount: number; markedCount: number; offerCount: number };\n};\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindServiceRequestStatisticsByIdUrlParams = { id: number };\nexport type FindServiceRequestStatisticsByIdHeaders = { 'x-auth-hc'?: string };\nexport type FindServiceRequestStatisticsByIdData = AxiosResponse<ResultData>;\nexport type FindServiceRequestStatisticsByIdError = AxiosError<ResultError>;\nexport type FindServiceRequestStatisticsByIdConfig = {\n baseURL?: string;\n urlParams: FindServiceRequestStatisticsByIdUrlParams;\n headers: FindServiceRequestStatisticsByIdHeaders;\n};\n\nexport function findServiceRequestStatisticsByIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindServiceRequestStatisticsByIdConfig) {\n return axios\n .get(`/api/service-request/statistics/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindServiceRequestStatisticsByIdData) => res)\n .catch((err: FindServiceRequestStatisticsByIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport {\n ServiceRequest,\n ServiceRequestCategory,\n ServiceRequestStatus,\n ServiceRequestType,\n ServiceRequestVerificationStatus,\n UserRole,\n} from '../../types';\n\ntype SuccessData = { success: true; data: ServiceRequest[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, ServiceRequest>; meta: { total: number } };\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindServiceRequestsParams = {\n filter?: {\n 'contract.formalId'?: string;\n 'contract.id'?: number;\n 'contract.isSigned'?: boolean;\n 'createdBy.id'?: number;\n 'curator.groupLead.id'?: number | 'null' | 'notnull';\n 'curator.id'?: number;\n 'curator.roles'?: UserRole[];\n 'curator.supervisor'?: number;\n 'personalAssistant.user.id'?: number;\n 'realty.price'?: number | { from?: number; to?: number };\n 'tasks.expiresAt'?: string | { from?: string; to?: string };\n 'tasks.status'?: string;\n 'user.id'?: number;\n 'user.phones.phone.number'?: string;\n acceptsIncomingRequests?: 'personalAssistant' | 'expert';\n address?: string;\n category?: ServiceRequestCategory | ServiceRequestCategory[];\n closedAt?: string;\n closeRequestedAt?: string;\n createdAt?: string;\n hasParentCrossSale?: boolean;\n hasPublishedValuations?: boolean;\n hasValuation?: boolean;\n id?: number | number[];\n idOrFormalId?: string;\n index?: string;\n isDeferred?: boolean;\n isPublished?: boolean;\n onlyExpiredTask?: boolean;\n onlyTeamLeaderExpiredTask?: boolean;\n realtyExtId?: number;\n scoring?: number | number[];\n showTrainees?: boolean;\n source?: string;\n status?: ServiceRequestStatus | ServiceRequestStatus[];\n statusDate?: string | { from?: string; to?: string };\n teamleadId?: number;\n type?: ServiceRequestType | ServiceRequestType[];\n verificationStatus?: ServiceRequestVerificationStatus;\n withRealty?: boolean;\n };\n limits?: { page?: number; count: number | 'all' };\n sorting?: { direction: 'asc' | 'desc'; type: 'createdAt' | 'id' };\n};\n\nexport type FindServiceRequestsHeaders = { 'x-auth-hc': string };\nexport type FindServiceRequestsData = AxiosResponse<ResultData>;\nexport type FindServiceRequestsError = AxiosError<ResultError>;\nexport type FindServiceRequestsConfig = {\n baseURL?: string;\n params: FindServiceRequestsParams;\n headers: FindServiceRequestsHeaders;\n};\n\nexport function findServiceRequestsRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n params,\n}: FindServiceRequestsConfig) {\n return axios\n .get('/api/service-request', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n },\n ],\n })\n .then((res: FindServiceRequestsData) => res)\n .catch((err: FindServiceRequestsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport {\n ServiceRequest,\n ServiceRequestCategory,\n ServiceRequestStatus,\n ServiceRequestType,\n ServiceRequestVerificationStatus,\n} from '../../types';\n\ntype SuccessData = { success: true; data: ServiceRequest[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, ServiceRequest>; meta: { total: number } };\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindServiceRequestsKanbanParams = {\n filter?: {\n 'contract.formalId'?: string;\n 'contract.id'?: number;\n 'contract.isSigned'?: boolean;\n 'createdBy.id'?: number;\n 'curator.groupLead.id'?: number | 'null' | 'notnull';\n 'curator.id'?: number;\n 'curator.supervisor'?: number;\n 'realty.price'?: number | { from?: number; to?: number };\n 'tasks.expiresAt'?: string | { from?: string; to?: string };\n 'tasks.status'?: string;\n 'user.id'?: number;\n 'user.phones.phone.number'?: string;\n acceptsIncomingRequests?: 'personalAssistant' | 'expert';\n address?: string;\n category?: ServiceRequestCategory | ServiceRequestCategory[];\n closedAt?: string;\n closeRequestedAt?: string;\n createdAt?: string;\n hasParentCrossSale?: boolean;\n hasPlannedAppointment?: boolean;\n hasPublishedValuations?: boolean;\n hasValuation?: boolean;\n id?: number | number[];\n idOrFormalId?: string;\n index?: string;\n isDeferred?: boolean;\n isPublished?: boolean;\n onlyExpiredTask?: boolean;\n onlyTeamLeaderExpiredTask?: boolean;\n realtyExtId?: number;\n scoring?: number | number[];\n showTrainees?: boolean;\n source?: string;\n status?: ServiceRequestStatus | ServiceRequestStatus[];\n statusDate?: string | { from?: string; to?: string };\n type?: ServiceRequestType | ServiceRequestType[];\n verificationStatus?: ServiceRequestVerificationStatus | ServiceRequestVerificationStatus[];\n withRealty?: boolean;\n };\n limits?: { page?: number; count: number | 'all' };\n sorting?: { direction: 'asc' | 'desc'; type: 'createdAt' | 'id' };\n};\n\nexport type FindServiceRequestsKanbanHeaders = { 'x-auth-hc': string };\nexport type FindServiceRequestsKanbanData = AxiosResponse<ResultData>;\nexport type FindServiceRequestsKanbanError = AxiosError<ResultError>;\nexport type FindServiceRequestsKanbanConfig = {\n baseURL?: string;\n params: FindServiceRequestsKanbanParams;\n headers: FindServiceRequestsKanbanHeaders;\n};\n\nexport function findServiceRequestsKanbanRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n params,\n}: FindServiceRequestsKanbanConfig) {\n return axios\n .get('/api/service-request/kanban', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n },\n ],\n })\n .then((res: FindServiceRequestsKanbanData) => res)\n .catch((err: FindServiceRequestsKanbanError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type PublishServiceRequestUrlParams = { id: number };\nexport type PublishServiceRequestHeaders = { 'x-auth-hc': string };\nexport type PublishServiceRequestData = AxiosResponse<ResultData>;\nexport type PublishServiceRequestError = AxiosError<ResultError>;\nexport type PublishServiceRequestConfig = {\n baseURL?: string;\n headers: PublishServiceRequestHeaders;\n urlParams: PublishServiceRequestUrlParams;\n};\n\nexport function publishServiceRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: PublishServiceRequestConfig) {\n return axios\n .post(\n `/api/service-request/publish/${urlParams.id}`,\n {},\n {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data?.error),\n ],\n }\n )\n .then((res: PublishServiceRequestData) => res)\n .catch((err: PublishServiceRequestError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ServiceRequest } from '../../types';\n\ntype SuccessData = { success: true; data: ServiceRequest };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type RemoveServiceRequestAssistantHeaders = { 'x-auth-hc': string };\nexport type RemoveServiceRequestAssistantUrlParams = { srId: number; paId: number };\nexport type RemoveServiceRequestAssistantData = AxiosResponse<ResultData>;\nexport type RemoveServiceRequestAssistantError = AxiosError<ResultError>;\nexport type RemoveServiceRequestAssistantConfig = {\n baseURL?: string;\n urlParams: RemoveServiceRequestAssistantUrlParams;\n headers: RemoveServiceRequestAssistantHeaders;\n};\n\nexport function removeServiceRequestAssistantRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: RemoveServiceRequestAssistantConfig) {\n return axios\n .delete(`/api/service-request/${urlParams.srId}/personal-assistant/${urlParams.paId}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: RemoveServiceRequestAssistantData) => res)\n .catch((err: RemoveServiceRequestAssistantError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true; data: undefined };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type RestoreServiceRequestUrlParams = { id: number };\nexport type RestoreServiceRequestHeaders = { 'x-auth-hc': string };\nexport type RestoreServiceRequestData = AxiosResponse<ResultData>;\nexport type RestoreServiceRequestError = AxiosError<ResultError>;\nexport type RestoreServiceRequestConfig = {\n baseURL?: string;\n urlParams: RestoreServiceRequestUrlParams;\n headers: RestoreServiceRequestHeaders;\n};\n\nexport function restoreServiceRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: RestoreServiceRequestConfig) {\n return axios\n .patch(\n `/api/service-request/restore/${urlParams.id}`,\n {},\n {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n }\n )\n .then((res: RestoreServiceRequestData) => res)\n .catch((err: RestoreServiceRequestError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type ReturnDeferredServiceRequestHeaders = { 'x-auth-hc': string };\nexport type ReturnDeferredServiceRequestBody = { id: number[] };\nexport type ReturnDeferredServiceRequestData = AxiosResponse<ResultData>;\nexport type ReturnDeferredServiceRequestError = AxiosError<ResultError>;\nexport type ReturnDeferredServiceRequestConfig = {\n baseURL?: string;\n headers: ReturnDeferredServiceRequestHeaders;\n body: ReturnDeferredServiceRequestBody;\n};\n\nexport function returnDeferredServiceRequestRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n}: ReturnDeferredServiceRequestConfig) {\n return axios\n .patch('/api/service-request/deferred/off', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data?.error),\n ],\n })\n .then((res: ReturnDeferredServiceRequestData) => res)\n .catch((err: ReturnDeferredServiceRequestError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type SendServiceRequestToModerationHeaders = { 'x-auth-hc': string };\nexport type SendServiceRequestToModerationUrlParams = { id: string };\nexport type SendServiceRequestToModerationData = AxiosResponse<ResultData>;\nexport type SendServiceRequestToModerationError = AxiosError<ResultError>;\nexport type SendServiceRequestToModerationConfig = {\n baseURL?: string;\n urlParams: SendServiceRequestToModerationUrlParams;\n headers: SendServiceRequestToModerationHeaders;\n};\n\nexport function sendServiceRequestToModerationRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: SendServiceRequestToModerationConfig) {\n return axios\n .patch(`/api/service-request/${urlParams.id}/moderation/send`, null, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data.error),\n ],\n })\n .then((res: SendServiceRequestToModerationData) => res)\n .catch((err: SendServiceRequestToModerationError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ServiceRequest } from '../../types';\n\ntype SuccessData = { success: true; data: ServiceRequest };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type SendServiceRequestVerificationUrlParams = { id: number };\nexport type SendServiceRequestVerificationHeaders = { 'x-auth-hc': string };\n\nexport type SendServiceRequestVerificationData = AxiosResponse<ResultData>;\nexport type SendServiceRequestVerificationError = AxiosError<ResultError>;\nexport type SendServiceRequestVerificationConfig = {\n baseURL?: string;\n urlParams: SendServiceRequestVerificationUrlParams;\n headers: SendServiceRequestVerificationHeaders;\n};\n\nexport function sendServiceRequestVerificationRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: SendServiceRequestVerificationConfig) {\n return axios\n .patch(`/api/service-request/${urlParams.id}/verification/send`, null, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: SendServiceRequestVerificationData) => res)\n .catch((err: SendServiceRequestVerificationError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type StartServiceRequestModerationHeaders = { 'x-auth-hc': string };\nexport type StartServiceRequestModerationUrlParams = { id: string };\nexport type StartServiceRequestModerationData = AxiosResponse<ResultData>;\nexport type StartServiceRequestModerationError = AxiosError<ResultError>;\nexport type StartServiceRequestModerationConfig = {\n baseURL?: string;\n urlParams: StartServiceRequestModerationUrlParams;\n headers: StartServiceRequestModerationHeaders;\n};\n\nexport function startServiceRequestModerationRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: StartServiceRequestModerationConfig) {\n return axios\n .patch(`/api/service-request/${urlParams.id}/moderation/book`, null, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data.error),\n ],\n })\n .then((res: StartServiceRequestModerationData) => res)\n .catch((err: StartServiceRequestModerationError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type StartServiceRequestModerationForOldRealtyHeaders = { 'x-auth-hc': string };\nexport type StartServiceRequestModerationForOldRealtyUrlParams = { id: string };\nexport type StartServiceRequestModerationForOldRealtyData = AxiosResponse<ResultData>;\nexport type StartServiceRequestModerationForOldRealtyError = AxiosError<ResultError>;\nexport type StartServiceRequestModerationForOldRealtyConfig = {\n baseURL?: string;\n urlParams: StartServiceRequestModerationForOldRealtyUrlParams;\n headers: StartServiceRequestModerationForOldRealtyHeaders;\n};\n\nexport function startServiceRequestModerationForOldRealtyRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: StartServiceRequestModerationForOldRealtyConfig) {\n return axios\n .patch(`/api/service-request/${urlParams.id}/moderation/change-moderator`, null, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data.error),\n ],\n })\n .then((res: StartServiceRequestModerationForOldRealtyData) => res)\n .catch((err: StartServiceRequestModerationForOldRealtyError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type TransferServiceRequestUrlParams = { id: number };\nexport type TransferServiceRequestBody = { curator: { id: number } };\nexport type TransferServiceRequestHeaders = { 'x-auth-hc': string };\nexport type TransferServiceRequestData = AxiosResponse<ResultData>;\nexport type TransferServiceRequestError = AxiosError<ResultError>;\nexport type TransferServiceRequestConfig = {\n baseURL?: string;\n headers: TransferServiceRequestHeaders;\n urlParams: TransferServiceRequestUrlParams;\n body: TransferServiceRequestBody;\n};\n\nexport function transferServiceRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: TransferServiceRequestConfig) {\n return axios\n .put(`/api/service-request/transfer/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data?.error),\n ],\n })\n .then((res: TransferServiceRequestData) => res)\n .catch((err: TransferServiceRequestError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ServiceRequest, RealtyType, File } from '../../types';\n\ntype SuccessData = { success: true; data: ServiceRequest };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdateServiceRequestUrlParams = { id: number };\nexport type UpdateServiceRequestHeaders = { 'x-auth-hc': string };\nexport type UpdateServiceRequestBody = {\n id: ServiceRequest['id'];\n advLink?: ServiceRequest['advLink'];\n buyParams?: { budget?: number | null; place?: string | null };\n description?: ServiceRequest['description'];\n files?: Array<File>;\n hasDeveloperCommission?: ServiceRequest['hasDeveloperCommission'];\n invest?: { investType?: NonNullable<ServiceRequest['invest']>['investType'] | null };\n realty?: { id: number; realtyType: RealtyType };\n sellParams?: ServiceRequest['sellParams'];\n source?: string;\n type?: ServiceRequest['type'];\n};\n\nexport type UpdateServiceRequestData = AxiosResponse<ResultData>;\nexport type UpdateServiceRequestError = AxiosError<ResultError>;\nexport type UpdateServiceRequestConfig = {\n baseURL?: string;\n urlParams: UpdateServiceRequestUrlParams;\n headers: UpdateServiceRequestHeaders;\n body: UpdateServiceRequestBody;\n};\n\nexport function updateServiceRequestRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateServiceRequestConfig) {\n return axios\n .put(`/api/service-request/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: UpdateServiceRequestData) => res)\n .catch((err: UpdateServiceRequestError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ServiceRequest } from '../../types';\n\ntype SuccessData = { success: true; data: ServiceRequest };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdateServiceRequestPersonalAssistantUrlParams = { srId: number; paId: number };\nexport type UpdateServiceRequestPersonalAssistantHeaders = { 'x-auth-hc': string };\nexport type UpdateServiceRequestPersonalAssistantBody = {\n acceptsIncomingRequests: boolean;\n};\n\nexport type UpdateServiceRequestPersonalAssistantData = AxiosResponse<ResultData>;\nexport type UpdateServiceRequestPersonalAssistantError = AxiosError<ResultError>;\nexport type UpdateServiceRequestPersonalAssistantConfig = {\n baseURL?: string;\n urlParams: UpdateServiceRequestPersonalAssistantUrlParams;\n headers: UpdateServiceRequestPersonalAssistantHeaders;\n body: UpdateServiceRequestPersonalAssistantBody;\n};\n\nexport function updateServiceRequestPersonalAssistantRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateServiceRequestPersonalAssistantConfig) {\n return axios\n .patch(`/api/service-request/${urlParams.srId}/personal-assistant/${urlParams.paId}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: UpdateServiceRequestPersonalAssistantData) => res)\n .catch((err: UpdateServiceRequestPersonalAssistantError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ServiceRequest } from '../../types';\n\ntype SuccessData = { success: true; data: ServiceRequest };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdateServiceRequestPlanDrawUrlParams = { srId: number };\nexport type UpdateServiceRequestPlanDrawHeaders = { 'x-auth-hc': string };\nexport type UpdateServiceRequestPlanDrawBody = {\n planDrawSum?: ServiceRequest['planDrawSum'];\n planDrawComment?: ServiceRequest['planDrawComment'] | null;\n};\n\nexport type UpdateServiceRequestPlanDrawData = AxiosResponse<ResultData>;\nexport type UpdateServiceRequestPlanDrawError = AxiosError<ResultError>;\nexport type UpdateServiceRequestPlanDrawConfig = {\n baseURL?: string;\n urlParams: UpdateServiceRequestPlanDrawUrlParams;\n headers: UpdateServiceRequestPlanDrawHeaders;\n body: UpdateServiceRequestPlanDrawBody;\n};\n\nexport function updateServiceRequestPlanDrawRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateServiceRequestPlanDrawConfig) {\n return axios\n .patch(`/api/service-request/plan-draw/${urlParams.srId}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: UpdateServiceRequestPlanDrawData) => res)\n .catch((err: UpdateServiceRequestPlanDrawError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = '';\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateCianRatingHeaders = { 'x-auth-hc': string };\nexport type CreateCianRatingBody = { id: number; urls: string[] };\n\nexport type CreateCianRatingData = AxiosResponse<ResultData>;\nexport type CreateCianRatingError = AxiosError<ResultError>;\nexport type CreateCianRatingConfig = { baseURL?: string; headers: CreateCianRatingHeaders; body: CreateCianRatingBody };\n\nexport function createCianRatingRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n}: CreateCianRatingConfig) {\n return axios\n .post('/api/slack/cian-rating', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data === '' ? null : data.data.error),\n ],\n })\n .then((res: CreateCianRatingData) => res)\n .catch((err: CreateCianRatingError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { SoldStatistic } from '../../../types';\n\ntype SuccessData = {\n success: true;\n data: SoldStatistic[];\n};\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindSoldStatisticHeaders = { 'x-auth-hc'?: string };\nexport type FindSoldStatisticData = AxiosResponse<ResultData>;\nexport type FindSoldStatisticError = AxiosError<ResultError>;\nexport type FindSoldStatisticConfig = {\n baseURL?: string;\n headers?: FindSoldStatisticHeaders;\n};\n\nexport function findSoldStatisticRequest({ baseURL = 'https://clients.homeapp.ru', headers }: FindSoldStatisticConfig) {\n return axios\n .get('/api/sold/statistic', {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindSoldStatisticData) => res)\n .catch((err: FindSoldStatisticError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { Markup } from '../../../types';\nimport { nanoid } from 'nanoid/non-secure';\n\ntype SuccessData = { success: true; data: Markup[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: string[]; byId: Record<string, Markup & { _id: string }>; meta: { total: number } };\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindMarkupCallsParams = {\n filter?: { date?: string | { from?: string; to?: string } };\n limits?: { page?: number; count: number | 'all' };\n};\n\nexport type FindMarkupCallsHeaders = { 'x-auth-hc': string };\nexport type FindMarkupCallsData = AxiosResponse<ResultData>;\nexport type FindMarkupCallsError = AxiosError<ResultError>;\nexport type FindMarkupCallsConfig = {\n baseURL?: string;\n params: FindMarkupCallsParams;\n headers: FindMarkupCallsHeaders;\n};\n\nexport function findMarkupCallsRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n params,\n}: FindMarkupCallsConfig) {\n return axios\n .get('/api/stats/markup', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n (data.data ?? []).forEach(entity => {\n const _id = nanoid();\n byId[_id] = { ...entity, _id };\n ids.push(_id);\n });\n\n return { ids, byId, meta: { total: (data.data ?? []).length } };\n },\n ],\n })\n .then((res: FindMarkupCallsData) => res)\n .catch((err: FindMarkupCallsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { MarkupBySource } from '../../../types';\nimport { nanoid } from 'nanoid/non-secure';\n\ntype SuccessData = { success: true; data: MarkupBySource[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: string[]; byId: Record<string, MarkupBySource & { _id: string }>; meta: { total: number } };\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindMarkupBySourceCallsParams = {\n filter?: { date?: string | { from?: string; to?: string } };\n limits?: { page?: number; count: number | 'all' };\n};\n\nexport type FindMarkupBySourceCallsHeaders = { 'x-auth-hc': string };\nexport type FindMarkupBySourceCallsData = AxiosResponse<ResultData>;\nexport type FindMarkupBySourceCallsError = AxiosError<ResultError>;\nexport type FindMarkupBySourceCallsConfig = {\n baseURL?: string;\n params: FindMarkupBySourceCallsParams;\n headers: FindMarkupBySourceCallsHeaders;\n};\n\nexport function findMarkupBySourceCallsRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n params,\n}: FindMarkupBySourceCallsConfig) {\n return axios\n .get('/api/stats/markup-by-source', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n (data.data ?? []).forEach(entity => {\n const _id = nanoid();\n byId[_id] = { ...entity, _id };\n ids.push(_id);\n });\n\n return { ids, byId, meta: { total: (data.data ?? []).length } };\n },\n ],\n })\n .then((res: FindMarkupBySourceCallsData) => res)\n .catch((err: FindMarkupBySourceCallsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true; data: number[] };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type AssignSubordinateUsersUrlParams = { id: number };\nexport type AssignSubordinateUsersHeaders = { 'x-auth-hc': string };\nexport type AssignSubordinateUsersBody = { userIds: number[] };\nexport type AssignSubordinateUsersData = AxiosResponse<ResultData>;\nexport type AssignSubordinateUsersError = AxiosError<ResultError>;\nexport type AssignSubordinateUsersConfig = {\n baseURL?: string;\n urlParams: AssignSubordinateUsersUrlParams;\n headers: AssignSubordinateUsersHeaders;\n body: AssignSubordinateUsersBody;\n};\n\nexport function assignSubordinateUsersRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: AssignSubordinateUsersConfig) {\n return axios\n .put('/api/user/supervise/' + urlParams.id, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: AssignSubordinateUsersData) => res)\n .catch((err: AssignSubordinateUsersError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { User, Contact, UserPhone } from '../../../types';\n\ntype SuccessData = { success: true; data: Partial<User> & { id: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateUserHeaders = { 'x-auth-hc': string };\nexport type CreateUserBody = Partial<\n Omit<\n User,\n | 'id'\n | 'contactInfo'\n | 'createdAt'\n | 'defaultVirtualPhone'\n | 'phones'\n | 'realtyIds'\n | 'transliteratedFullName'\n | 'updatedAt'\n >\n> & { login: string; contactInfo?: Array<Omit<Contact, 'id'>>; phones?: Array<Omit<UserPhone, 'id'>> };\nexport type CreateUserData = AxiosResponse<ResultData>;\nexport type CreateUserError = AxiosError<ResultError>;\nexport type CreateUserConfig = { baseURL?: string; headers: CreateUserHeaders; body: CreateUserBody };\n\nexport function createUserRequest({ baseURL = 'https://clients.homeapp.ru', headers, body }: CreateUserConfig) {\n return axios\n .post('/api/user', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreateUserData) => res)\n .catch((err: CreateUserError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { User } from '../../../types';\n\ntype SuccessData = { success: true; data: User };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type DeleteUserHeaders = { 'x-auth-hc': string };\nexport type DeleteUserUrlParams = { id: number };\nexport type DeleteUserData = AxiosResponse<ResultData>;\nexport type DeleteUserError = AxiosError<ResultError>;\nexport type DeleteUserConfig = {\n baseURL?: string;\n urlParams: DeleteUserUrlParams;\n headers: DeleteUserHeaders;\n};\n\nexport function deleteUserRequest({ baseURL = 'https://clients.homeapp.ru', urlParams, headers }: DeleteUserConfig) {\n return axios\n .patch(`/api/user/delete/${urlParams.id}`, null, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: DeleteUserData) => res)\n .catch((err: DeleteUserError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { User } from '../../../types';\n\ntype SuccessData = { success: true; data: Partial<User> & { id: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindUserByIdUrlParams = { id: number };\nexport type FindUserByIdHeaders = { 'x-auth-hc'?: string };\nexport type FindUserByIdData = AxiosResponse<ResultData>;\nexport type FindUserByIdError = AxiosError<ResultError>;\nexport type FindUserByIdConfig = { baseURL?: string; urlParams: FindUserByIdUrlParams; headers?: FindUserByIdHeaders };\n\nexport function findUserByIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers = {},\n}: FindUserByIdConfig) {\n return axios\n .get('/api/user/' + urlParams.id, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindUserByIdData) => res)\n .catch((err: FindUserByIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true; data: { text: string } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindUserPasswordByIdUrlParams = { id: number };\nexport type FindUserPasswordByIdHeaders = { 'x-auth-hc'?: string };\nexport type FindUserPasswordByIdData = AxiosResponse<ResultData>;\nexport type FindUserPasswordByIdError = AxiosError<ResultError>;\nexport type FindUserPasswordByIdConfig = {\n baseURL?: string;\n urlParams: FindUserPasswordByIdUrlParams;\n headers?: FindUserPasswordByIdHeaders;\n};\n\nexport function findUserPasswordByIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindUserPasswordByIdConfig) {\n return axios\n .get(`/api/user/password/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindUserPasswordByIdData) => res)\n .catch((err: FindUserPasswordByIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { User, UserRole } from '../../../types';\n\ntype SuccessData = {\n success: true;\n data: User[];\n pageParams: { page: number; length: number };\n};\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, User>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindUsersHeaders = { 'x-auth-hc': string };\nexport type FindUsersParams = {\n filter?: {\n banned?: boolean;\n enabled?: boolean;\n fullName?: string;\n id?: number | number[];\n login?: string;\n phone?: number;\n 'supervisor.id'?: number;\n 'roles.role'?: UserRole[];\n mentor?: number;\n experts?: number;\n personalAssistants?: number;\n };\n limits?: { page?: number; count: number | 'all' };\n sorting?: {\n direction: 'asc' | 'desc';\n type: 'createdAt' | 'firstName' | 'lastName' | 'hiredAt' | 'firedAt' | 'updatedAt' | 'id' | 'login';\n };\n};\nexport type FindUsersData = AxiosResponse<ResultData>;\nexport type FindUsersError = AxiosError<ResultError>;\nexport type FindUsersConfig = { baseURL?: string; headers: FindUsersHeaders; params: FindUsersParams };\n\nexport function findUsersRequest({ baseURL = 'https://clients.homeapp.ru', headers, params }: FindUsersConfig) {\n return axios\n .get('/api/user', {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n },\n ],\n })\n .then((res: FindUsersData) => res)\n .catch((err: FindUsersError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true; data: { key: string } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindUserTokenByIdUrlParams = { id: number };\nexport type FindUserTokenByIdHeaders = { 'x-auth-hc'?: string };\nexport type FindUserTokenByIdData = AxiosResponse<ResultData>;\nexport type FindUserTokenByIdError = AxiosError<ResultError>;\nexport type FindUserTokenByIdConfig = {\n baseURL?: string;\n urlParams: FindUserTokenByIdUrlParams;\n headers?: FindUserTokenByIdHeaders;\n};\n\nexport function findUserTokenByIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindUserTokenByIdConfig) {\n return axios\n .get(`/api/session/token/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindUserTokenByIdData) => res)\n .catch((err: FindUserTokenByIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { User } from '../../../types';\n\ntype SuccessData = { success: true; data: unknown[] };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type FireUserUrlParams = { id: number };\nexport type FireUserHeaders = { 'x-auth-hc': string };\nexport type FireUserBody = {\n firedAt: NonNullable<NonNullable<User['employeeInfo']>['firedAt']>;\n firedType?: NonNullable<User['employeeInfo']>['firedType'];\n firedReason?: NonNullable<User['employeeInfo']>['firedReason'];\n firedComment?: NonNullable<User['employeeInfo']>['firedComment'];\n};\n\nexport type FireUserData = AxiosResponse<ResultData>;\nexport type FireUserError = AxiosError<ResultError>;\nexport type FireUserConfig = {\n baseURL?: string;\n urlParams: FireUserUrlParams;\n headers: FireUserHeaders;\n body: FireUserBody;\n};\n\nexport function fireUserRequest({ baseURL = 'https://clients.homeapp.ru', urlParams, headers, body }: FireUserConfig) {\n return axios\n .patch('/api/user/fire/' + urlParams.id, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data.error),\n ],\n })\n .then((res: FireUserData) => res)\n .catch((err: FireUserError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { User, UserPhone, Contact } from '../../../types';\n\ntype SuccessData = { success: true; data: Partial<User> & { id: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdateUserUrlParams = { id: number };\nexport type UpdateUserHeaders = { 'x-auth-hc': string };\nexport type UpdateUserBody = {\n banned?: Required<User>['banned'];\n bornAt?: Required<User>['bornAt'];\n cases?: Required<User>['cases'];\n comment?: Required<User>['comment'];\n contactInfo?: Array<Omit<Contact, 'id'>>;\n courses?: Required<User>['courses'];\n defaultTelephony?: Required<User>['defaultTelephony'] | null;\n description?: Required<User>['description'];\n direction?: Required<User>['direction'];\n districts?: Required<User>['districts'];\n educations?: Required<User>['educations'];\n employeeInfo?: Required<User>['employeeInfo'];\n enabled?: Required<User>['enabled'];\n firstName?: Required<User>['firstName'] | null;\n gallery?: Required<User>['gallery'];\n gender?: Required<User>['gender'];\n groupLead?: Required<User>['groupLead'] | null;\n hiredAt?: Required<User>['hiredAt'];\n isPublished?: Required<User>['isPublished'];\n lastName?: Required<User>['lastName'] | null;\n level?: Required<User>['level'];\n login?: Required<User>['login'];\n mentor?: Required<User>['mentor'] | null;\n office?: Required<User>['office'];\n patronymic?: Required<User>['patronymic'] | null;\n phones?: Array<Omit<UserPhone, 'id'>>;\n roles?: Required<User>['roles'];\n supervisor?: Required<User>['supervisor'] | null;\n textReviews?: Required<User>['textReviews'];\n videoReviews?: Required<User>['videoReviews'];\n personalAssistants?: Array<{ id: number }>;\n companies?: Array<{ id: number; isMain: boolean }>;\n};\n\nexport type UpdateUserData = AxiosResponse<ResultData>;\nexport type UpdateUserError = AxiosError<ResultError>;\n\nexport type UpdateUserConfig = {\n baseURL?: string;\n urlParams: UpdateUserUrlParams;\n headers: UpdateUserHeaders;\n body: UpdateUserBody;\n};\n\nexport function updateUserRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n body,\n}: UpdateUserConfig) {\n return axios\n .patch('/api/user/' + urlParams.id, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: UpdateUserData) => res)\n .catch((err: UpdateUserError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Task, TaskImportance, TaskNotificationType } from '../../../types';\n\ntype SuccessData = { success: true; data: Task };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateTaskHeaders = { 'x-auth-hc': string };\nexport type CreateTaskBody = {\n expiresAt: string;\n importance: TaskImportance;\n notificationType: TaskNotificationType;\n serviceRequest: { id: number };\n text: string;\n};\n\nexport type CreateTaskData = AxiosResponse<ResultData>;\nexport type CreateTaskError = AxiosError<ResultError>;\nexport type CreateTaskConfig = {\n baseURL?: string;\n headers: CreateTaskHeaders;\n body: CreateTaskBody;\n};\n\nexport function createTaskRequest({ baseURL = 'https://clients.homeapp.ru', body, headers }: CreateTaskConfig) {\n return axios\n .post('/api/task', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreateTaskData) => res)\n .catch((err: CreateTaskError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { Task, TaskStatus } from '../../../types';\n\ntype SuccessData = { success: true; data: Task[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, Task>; meta: { total: number } };\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindTasksParams = {\n filter?: {\n assignee?: number;\n expiresAt?: { from?: string; to?: string };\n status?: TaskStatus;\n };\n sorting?: { type: 'expiresAt'; direction: 'asc' | 'desc' };\n limits?: { page?: number; count: number | 'all' };\n};\n\nexport type FindTasksHeaders = { 'x-auth-hc': string };\nexport type FindTasksData = AxiosResponse<ResultData>;\nexport type FindTasksError = AxiosError<ResultError>;\nexport type FindTasksConfig = {\n baseURL?: string;\n params: FindTasksParams;\n headers: FindTasksHeaders;\n};\n\nexport function findTasksRequest({ baseURL = 'https://clients.homeapp.ru', headers, params }: FindTasksConfig) {\n return axios\n .get('/api/task', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n },\n ],\n })\n .then((res: FindTasksData) => res)\n .catch((err: FindTasksError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Task } from '../../../types';\n\ntype SuccessData = { success: true; data: Task };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindTaskByIdUrlParams = { id: number };\nexport type FindTaskByIdHeaders = { 'x-auth-hc': string };\nexport type FindTaskByIdData = AxiosResponse<ResultData>;\nexport type FindTaskByIdError = AxiosError<ResultError>;\n\nexport type FindTaskByIdConfig = {\n baseURL?: string;\n urlParams: FindTaskByIdUrlParams;\n headers: FindTaskByIdHeaders;\n};\n\nexport function findTaskByIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindTaskByIdConfig) {\n return axios\n .get(`/api/task/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindTaskByIdData) => res)\n .catch((err: FindTaskByIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Task, TaskImportance, TaskNotificationType } from '../../../types';\n\ntype SuccessData = { success: true; data: Task };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdateTaskUrlParams = { id: number };\nexport type UpdateTaskHeaders = { 'x-auth-hc': string };\nexport type UpdateTaskBody = {\n expiresAt: string;\n importance: TaskImportance;\n notificationType: TaskNotificationType;\n serviceRequest: { id: number };\n text: string;\n};\n\nexport type UpdateTaskData = AxiosResponse<ResultData>;\nexport type UpdateTaskError = AxiosError<ResultError>;\nexport type UpdateTaskConfig = {\n baseURL?: string;\n urlParams: UpdateTaskUrlParams;\n headers: UpdateTaskHeaders;\n body: UpdateTaskBody;\n};\n\nexport function updateTaskRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateTaskConfig) {\n return axios\n .put(`/api/task/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: UpdateTaskData) => res)\n .catch((err: UpdateTaskError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Task } from '../../../types';\n\ntype SuccessData = { success: true; data: Task };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type ResolveTaskUrlParams = { id: number };\nexport type ResolveTaskHeaders = { 'x-auth-hc': string };\n\nexport type ResolveTaskData = AxiosResponse<ResultData>;\nexport type ResolveTaskError = AxiosError<ResultError>;\nexport type ResolveTaskConfig = {\n baseURL?: string;\n urlParams: ResolveTaskUrlParams;\n headers: ResolveTaskHeaders;\n};\n\nexport function resolveTaskRequest({ baseURL = 'https://clients.homeapp.ru', urlParams, headers }: ResolveTaskConfig) {\n return axios\n .patch(`/api/task/status/resolved/${urlParams.id}`, null, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: ResolveTaskData) => res)\n .catch((err: ResolveTaskError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Valuation } from '../../../types';\n\ntype SuccessData = { success: true; data: Valuation };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type ActualizeValuationHeaders = { 'x-auth-hc': string };\nexport type ActualizeValuationUrlParams = { serviceRequestId: number };\nexport type ActualizeValuationData = AxiosResponse<ResultData>;\nexport type ActualizeValuationError = AxiosError<ResultError>;\nexport type ActualizeValuationConfig = {\n baseURL?: string;\n urlParams: ActualizeValuationUrlParams;\n headers: ActualizeValuationHeaders;\n};\n\nexport function actualizeValuationRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: ActualizeValuationConfig) {\n return axios\n .patch(`/api/valuation/${urlParams.serviceRequestId}/actualize`, null, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: ActualizeValuationData) => res)\n .catch((err: ActualizeValuationError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Valuation } from '../../../types';\n\ntype SuccessData = { success: true; data: Valuation };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateValuationHeaders = { 'x-auth-hc': string };\nexport type CreateValuationBody = Partial<{\n serviceRequest: NonNullable<Valuation['serviceRequest']>;\n addresses: Valuation['addresses'];\n calculationData: Valuation['calculationData'];\n comment: Valuation['comment'];\n filter: Valuation['filter'];\n isDraft: Valuation['isDraft'];\n isOnlyInMarketRangeShown: Valuation['isOnlyInMarketRangeShown'];\n realtyParams: Valuation['realtyParams'];\n}>;\n\nexport type CreateValuationData = AxiosResponse<ResultData>;\nexport type CreateValuationError = AxiosError<ResultError>;\nexport type CreateValuationConfig = {\n baseURL?: string;\n headers: CreateValuationHeaders;\n body: CreateValuationBody;\n};\n\nexport function createValuationRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n}: CreateValuationConfig) {\n return axios\n .post('/api/valuation', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreateValuationData) => res)\n .catch((err: CreateValuationError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateValuationRealtyCommentUrlParams = { serviceRequestId: number; realtyId: number };\nexport type CreateValuationRealtyCommentHeaders = { 'x-auth-hc': string };\nexport type CreateValuationRealtyCommentBody = { comment: string };\n\nexport type CreateValuationRealtyCommentData = AxiosResponse<ResultData>;\nexport type CreateValuationRealtyCommentError = AxiosError<ResultError>;\nexport type CreateValuationRealtyCommentConfig = {\n baseURL?: string;\n urlParams: CreateValuationRealtyCommentUrlParams;\n headers: CreateValuationRealtyCommentHeaders;\n body: CreateValuationRealtyCommentBody;\n};\n\nexport function createValuationRealtyCommentRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: CreateValuationRealtyCommentConfig) {\n return axios\n .put(`/api/valuation/${urlParams.serviceRequestId}/realty/${urlParams.realtyId}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data.error),\n ],\n })\n .then((res: CreateValuationRealtyCommentData) => res)\n .catch((err: CreateValuationRealtyCommentError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { Valuation } from '../../../types';\n\ntype SuccessData = { success: true; data: Valuation };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindValuationByServiceRequestIdHeaders = { 'x-auth-hc'?: string };\nexport type FindValuationByServiceRequestIdUrlParams = { id: number };\nexport type FindValuationByServiceRequestIdParams = { withDrafts?: boolean };\nexport type FindValuationByServiceRequestIdData = AxiosResponse<ResultData>;\nexport type FindValuationByServiceRequestIdError = AxiosError<ResultError>;\n\nexport type FindValuationByServiceRequestIdConfig = {\n baseURL?: string;\n urlParams: FindValuationByServiceRequestIdUrlParams;\n headers?: FindValuationByServiceRequestIdHeaders;\n params?: FindValuationByServiceRequestIdParams;\n};\n\nexport function findValuationByServiceRequestIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers = {},\n params,\n}: FindValuationByServiceRequestIdConfig) {\n return axios\n .get(`/api/valuation/${urlParams.id}`, {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindValuationByServiceRequestIdData) => res)\n .catch((err: FindValuationByServiceRequestIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ValuationNews } from '../../../types';\n\ntype SuccessData = { success: true; data: ValuationNews[] };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindValuationNewsByServiceRequestIdHeaders = { 'x-auth-hc': string };\nexport type FindValuationNewsByServiceRequestIdUrlParams = { serviceRequestId: number };\nexport type FindValuationNewsByServiceRequestIdData = AxiosResponse<ResultData>;\nexport type FindValuationNewsByServiceRequestIdError = AxiosError<ResultError>;\n\nexport type FindValuationNewsByServiceRequestIdConfig = {\n baseURL?: string;\n urlParams: FindValuationNewsByServiceRequestIdUrlParams;\n headers: FindValuationNewsByServiceRequestIdHeaders;\n};\n\nexport function findValuationNewsByServiceRequestIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindValuationNewsByServiceRequestIdConfig) {\n return axios\n .get(`/api/valuation/${urlParams.serviceRequestId}/news`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindValuationNewsByServiceRequestIdData) => res)\n .catch((err: FindValuationNewsByServiceRequestIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ValuationNewsStatus } from '../../../types';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdateValuationNewsStatusHeaders = { 'x-auth-hc': string };\nexport type UpdateValuationNewsStatusUrlParams = { status: ValuationNewsStatus.Ignored | ValuationNewsStatus.Accepted };\nexport type UpdateValuationNewsStatusBody = { id: number[] };\nexport type UpdateValuationNewsStatusData = AxiosResponse<ResultData>;\nexport type UpdateValuationNewsStatusError = AxiosError<ResultError>;\nexport type UpdateValuationNewsStatusConfig = {\n baseURL?: string;\n urlParams: UpdateValuationNewsStatusUrlParams;\n body: UpdateValuationNewsStatusBody;\n headers: UpdateValuationNewsStatusHeaders;\n};\n\nexport function updateValuationNewsStatusRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateValuationNewsStatusConfig) {\n return axios\n .patch(`/api/valuation/news/${urlParams.status}`, body, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data.error),\n ],\n })\n .then((res: UpdateValuationNewsStatusData) => res)\n .catch((err: UpdateValuationNewsStatusError) => {\n throw err;\n });\n}\n","export enum AddressBTIParamsParking {\n Ground = 'ground',\n Multilevel = 'multilevel',\n Underground = 'underground',\n}\n\nexport enum AddressBTIParamsWallsMaterial {\n Brick = 'brick',\n Monolith = 'monolith',\n Monobrick = 'monobrick',\n Timber = 'timber',\n Panel = 'panel',\n Block = 'block',\n}\n\nexport enum AddressBTIParamsHeatingType {\n None = 'none',\n Central = 'central',\n Local = 'local',\n Gas = 'gas',\n Electricity = 'electricity',\n Liquid = 'liquid',\n Furnace = 'furnace',\n SolidFuelBoiler = 'solidFuelBoiler',\n}\n\nexport type AddressBTIParams = {\n buildYear?: number;\n cargoLifts?: number;\n ceilingHeight?: number;\n deliveryQuarter?: number;\n deliveryYear?: number;\n emergency?: boolean;\n floors?: number;\n garbageChute?: boolean;\n heatingType?: AddressBTIParamsHeatingType;\n id?: number;\n isDelivered?: boolean;\n isUpToDate?: boolean;\n parking?: AddressBTIParamsParking;\n passengerLifts?: number;\n series?: string;\n wallsMaterial?: AddressBTIParamsWallsMaterial;\n};\n","import { ServiceRequest } from './ServiceRequest';\n\nexport enum AppointmentPlace {\n Flat = 'flat',\n Office = 'office',\n Online = 'online',\n}\n\nexport enum AppointmentStatus {\n Planned = 'planned',\n Completed = 'completed',\n Cancelled = 'cancelled',\n}\n\nexport enum AppointmentNotificationType {\n Morning = 'morning',\n Min15 = 'min15',\n Hour1 = 'hour1',\n Hour2 = 'hour2',\n Nil = 'nil',\n}\n\nexport type Appointment = {\n createdAt: string;\n id: number;\n notificationType: AppointmentNotificationType;\n place: AppointmentPlace;\n plannedAt: string;\n serviceRequest: Partial<ServiceRequest> & Required<Pick<ServiceRequest, 'id'>>;\n status: AppointmentStatus;\n\n updatedAt?: string;\n};\n","import { MoneyAmount } from './Currency';\nimport { User } from './User';\nimport { ServiceRequest } from './ServiceRequest';\nimport { Deal } from './Deal';\nimport { Company } from './Company';\n\nexport enum AvailableFundsIncomeType {\n Cashbox = 'cashbox',\n CheckingAccount = 'checking_account',\n Other = 'other',\n}\n\nexport enum AvailableFundsCompanyName {\n RuCo = 'RuCo',\n VietCo = 'VietCo',\n KzCo = 'KzCo',\n}\n\nexport enum AvailableFundsCostType {\n BillOfCredit = 'bill_of_credit',\n BonusPaymentToMentor = 'bonus_payment_to_mentor',\n BonusPaymentToTeamlead = 'bonus_payment_to_teamlead',\n BonusToExpert = 'bonus_to_expert',\n InternalPartnerBonusToExpert = 'internal_partner_bonus_to_expert',\n BonusToTrainee = 'bonus_to_trainee',\n ChargingBankAccount = 'charging_bank_account',\n LegalSupportPayment = 'legal_support_payment',\n OtherPayments = 'other_payments',\n PartnerCharges = 'partner_charges',\n RealtyLegalCheck = 'realty_legal_check',\n ReferralForExpert = 'referral_for_expert',\n ReferralForPA = 'referral_for_pa',\n RefundOfAdvance = 'refund_of_advance',\n SafeDepositBox = 'safe_deposit_box',\n DeveloperDepositPayment = 'developer_deposit_payment',\n BonusPaymentAsiaConsultant = 'bonus_payment_asia_consultant',\n SpsBonusPayment = 'sps_bonus_payment',\n BonusPaymentInventoryDepartmentHead = 'bonus_payment_inventory_department_head',\n BonusPaymentInventoryDepartmentAdmin = 'bonus_payment_inventory_department_admin',\n BonusPaymentOfficeAdmin = 'bonus_payment_office_admin',\n DealNdsPayment = 'nds_by_deal',\n BonusPersonalAssistantFirstLevel = 'bonus_personal_assistant_1',\n BonusPersonalAssistantSecondLevel = 'bonus_personal_assistant_2',\n BonusPersonalAssistantThirdLevel = 'bonus_personal_assistant_3',\n BonusPortfolioCoordinator = 'bonus_portfolio_coordinator',\n BonusExpoCoordinator = 'bonus_expo_coordinator',\n PaymentForPhotography = 'payment_for_photography',\n PaymentForAttractingLead = 'payment_for_attracting_lead',\n // неактуально, но оставлено для обратной совместимости\n Referral = 'referral',\n}\n\nexport enum AvailableFundsPaymentType {\n AdvancePaymentUnderTheAdvanceAgreement = 'advance_payment_under_the_advance_agreement',\n ClosingDeal = 'closing_deal',\n LetterOfGuarantee = 'letter_of_guarantee',\n OtherPayment = 'other_payment',\n Prepayment = 'prepayment',\n SecurityPayment = 'security_payment',\n DouPayment = 'dou_payment',\n DeveloperCommission = 'developer_commission',\n}\n\nexport enum AvailableFundsRealtyType {\n Elite = 'elite',\n Foreign = 'foreign',\n NewFlatDeveloper = 'new_flat/developer',\n Resale = 'resale',\n}\n\nexport enum AvailableFundsPayerType {\n Common = 'common',\n Homeapp = 'homeapp',\n SalesHead = 'sales_head',\n Expert = 'expert',\n}\n\nexport type AvailableFunds = {\n amount: MoneyAmount;\n author: Partial<User>;\n createdAt: string;\n id: number;\n incomeType: AvailableFundsIncomeType;\n paymentType: AvailableFundsCostType | AvailableFundsPaymentType;\n realtyType: AvailableFundsRealtyType;\n receivedAt: string;\n serviceRequest: Partial<ServiceRequest> & { id: number };\n payerType?: AvailableFundsPayerType;\n deal?: Partial<Deal> & { id: number };\n comment?: string;\n company?: Partial<Company> & Required<Pick<Company, 'id'>>;\n companyName?: AvailableFundsCompanyName;\n};\n","import { Company } from './Company';\n\nexport enum BillServiceType {\n SecurityDepositPayment = 'security_deposit_payment',\n FullPayment = 'full_payment',\n BuyServicePayment = 'buy_service_payment',\n}\n\nexport enum BillServiceUnit {\n Piece = 'piece',\n}\n\nexport type Bill = {\n contractId: number;\n createdAt: string;\n createdById: number;\n number: string;\n payer: string;\n qrString: string;\n requisites: Company;\n services: Array<{\n count: number;\n price: number;\n tax: number;\n type: BillServiceType;\n unit: BillServiceUnit;\n }>;\n\n acceptanceAgreementDate?: string;\n acceptanceAgreementNumber?: string;\n dealId?: number;\n};\n","import { ServiceRequest } from './ServiceRequest';\nimport { User } from './User';\nimport { Call } from './Call';\n\nexport enum BuyerStatus {\n Incoming = 'incoming',\n ShowCoordination = 'show_coordination',\n ShowScheduled = 'show_scheduled',\n ShowComplete = 'show_complete',\n GotOffer = 'got_offer',\n Advance = 'advance',\n Closed = 'closed',\n}\n\nexport enum BuyerRealtyShowStatus {\n Scheduled = 'scheduled',\n Cancelled = 'cancelled',\n Complete = 'complete',\n}\n\nexport enum BuyerQuestionType {\n RejectionReason = 'rejection-reason',\n AdditionalServices = 'additional-services',\n}\n\nexport type Buyer = {\n createdAt: string;\n id: number;\n name: string;\n phone: string;\n serviceRequest: Partial<ServiceRequest> & Required<Pick<ServiceRequest, 'id'>>;\n serviceRequests: Array<Partial<ServiceRequest> & Required<Pick<ServiceRequest, 'id'>>>;\n status: BuyerStatus;\n\n closedAt?: string;\n closingQuestionaryAnswers?: Array<{\n answerId: string;\n questionId: string;\n questionType: BuyerQuestionType;\n comment?: string;\n }>;\n comment?: string;\n offer?: string;\n realtyShow?: {\n scheduledAt: string;\n status: BuyerRealtyShowStatus;\n };\n sharing?: {\n createdAt?: string;\n fromExpert?: Partial<User> & Required<Pick<User, 'id'>>;\n };\n source?: string;\n statusDeadlineAt?: string;\n updatedAt?: string;\n calls: Call[];\n};\n","import { CallTask } from './CallTask';\nimport { User } from './User';\n\nexport enum CallType {\n Out = 'out',\n In = 'in',\n Transferred = 'transferred',\n}\n\nexport enum CallDefaultTelephony {\n Voximplant = 'voximplant',\n Zadarma = 'zadarma',\n}\n\nexport type Call = {\n callTask?: Partial<CallTask> & { id: number };\n createdAt: string;\n duration: number;\n extId: string;\n from: { id: number; number: string };\n hasComments?: boolean;\n id: number;\n inProgress: boolean;\n redirectCount: number;\n success: boolean;\n to: { id: number; number: string };\n type: CallType;\n user: Partial<User> & { id: number };\n\n parentId?: number;\n recordLink?: string;\n responseAt?: string;\n endedAt?: string;\n};\n","import { Call } from './Call';\nimport { Realty } from './Realty';\nimport { ServiceRequest } from './ServiceRequest';\nimport { User } from './User';\n\nexport enum CallTaskPriority {\n Low = 10,\n Default = 50,\n High = 100,\n VeryHigh = 200,\n}\n\nexport enum CallTaskStatus {\n Open = 'open',\n Booked = 'booked',\n Markup = 'markup',\n Lead = 'lead',\n Spam = 'spam',\n Closed = 'closed',\n Outgoing = 'outgoing',\n}\n\nexport enum CallTaskReason {\n Error = 'error',\n WrongGeo = 'wrong_geo',\n Double = 'double',\n Agent = 'agent',\n BuyingOrSellingPart = 'buying_or_selling_part',\n NotReadyToPay = 'not_ready_to_pay',\n CantReach = 'cant_reach',\n ClientCall = 'client_call',\n NotBuyingOrSelling = 'not_buying_or_selling',\n NoPhoneNumber = 'no_phone_number',\n WrongPhoneNumber = 'wrong_phone_number',\n GotWrongNumber = 'got_wrong_number',\n MistakenlyLeftRequest = 'mistakenly_left_request',\n DidNotLeaveRequest = 'did_not_leave_request',\n NotRelevant = 'not_relevant',\n LowBudget = 'low_budget',\n RemoveFromAdvertising = 'remove_from_advertising',\n NoAddressInMarkup = 'no_address_in_markup',\n Complaint = 'complaint',\n Commercial = 'commercial',\n Test = 'test',\n Other = 'other',\n}\n\nexport enum CallTaskColdReason {\n InadequateOwner = 'inadequate_owner',\n UnsuitableDeal = 'unsuitable_deal',\n AgentsNotAllowed = 'agents_not_allowed',\n NotAnOwner = 'not_an_owner',\n BadDocuments = 'bad_documents',\n}\n\nexport enum CallTaskTriggeredByEvent {\n PublishedFortnight = 'published_fortnight',\n TerminatedContract = 'terminated_contract',\n DealDone = 'deal_done',\n DealCreated = 'deal_created',\n TerminatedContractAfterPrepayment = 'terminated_contract_after_prepayment',\n Lead = 'lead',\n WarmDepublished = 'warm_depublished',\n WarmPublished = 'warm_published',\n}\n\nexport enum CallTaskType {\n Buyer = 'buyer',\n Seller = 'seller',\n ActiveClientSearch = 'active_client_search',\n Other = 'other',\n}\n\nexport enum CallTaskDirection {\n Moscow = 'moscow',\n Asia = 'asia',\n}\n\nexport type CallTask = {\n actualAt: string;\n calls: Array<Partial<Call> & { id: number }>;\n createdAt: string;\n direction: CallTaskDirection;\n id: number;\n isIncoming: boolean;\n name: string;\n phone: string;\n priority: CallTaskPriority;\n serviceRequest: Partial<ServiceRequest> & { id: number };\n source: string;\n status: CallTaskStatus;\n tags: string[];\n type: CallTaskType;\n updatedAt: string;\n viewsCount: number;\n\n bookedBy?: Partial<User> & { id: string };\n bookingExpiresAt?: string;\n closedAt?: string;\n closingReason?: string;\n comment?: string;\n complexId?: number;\n curator?: Partial<User> & { id: number };\n ipAddress?: string;\n isAgent?: boolean;\n lastBookingAt?: string;\n partner?: Partial<User> & { id: number };\n realty?: Partial<Realty> & { id: number };\n referrer?: string;\n sourceInfo?: {\n source?: string;\n campaign?: string;\n content?: string;\n tranId?: string; // с тильды поле с уникальным номером заявки\n formId?: string; // с тильды поле с номером блока, с которого была отправка\n };\n triggeredByEvent?: CallTaskTriggeredByEvent;\n user?: Partial<User> & { id: number };\n userAgent?: string;\n userAgentInfo?: Record<string, any>;\n utmInfo?: {\n type?: string;\n url?: string;\n utmCampaign?: string;\n utmContent?: string;\n utmMedium?: string;\n utmSource?: string;\n utmTerm?: string;\n };\n};\n","import { File } from './File';\nimport { ServiceRequest } from './ServiceRequest';\n\nexport enum ChecklistTaskDictionaryDirectedFor {\n Expert = 'expert',\n Lawyer = 'lawyer',\n Supervisor = 'supervisor',\n}\n\nexport type ChecklistTaskDictionary = {\n answerId: number;\n directedFor: ChecklistTaskDictionaryDirectedFor;\n id: number;\n isFileRequired: boolean;\n text: string;\n};\n\nexport type ChecklistAnswerDictionary = {\n id: number;\n isPositive: boolean;\n questionId: number;\n tasks: Array<ChecklistTaskDictionary>;\n text: string;\n};\n\nexport type ChecklistQuestionDictionary = {\n id: number;\n possibleAnswers: Array<ChecklistAnswerDictionary>;\n text: string;\n};\n\nexport type ChecklistTask = {\n createdAt: string;\n files: File[];\n id: number;\n taskDictionary: ChecklistTaskDictionary;\n comment?: string;\n};\n\nexport type ChecklistAnswer = {\n createdAt: string;\n id: number;\n question: Partial<ChecklistQuestionDictionary> & Required<Pick<ChecklistQuestionDictionary, 'id'>>;\n tasks: ChecklistTask[];\n answer?: ChecklistAnswerDictionary;\n updatedAt?: string;\n};\n\nexport type Checklist = {\n checkListAnswers: Array<ChecklistAnswer>;\n createdAt: string;\n id: number;\n isComplete: boolean;\n problemCount: number;\n serviceRequest: Partial<ServiceRequest> & Required<Pick<ServiceRequest, 'id'>>;\n};\n","export enum ContactType {\n Email = 'email',\n Facebook = 'facebook',\n ICQ = 'icq',\n IMessage = 'imessage',\n Instagram = 'instagram',\n Jabber = 'jabber',\n LinkedIn = 'linkedin',\n Odnoklassniki = 'odnoklassniki',\n Skype = 'skype',\n SlackGroupId = 'slack-group-id',\n SlackGroupName = 'slack-group-name',\n SlackId = 'slack-id',\n SlackUsername = 'slack-username',\n Telegram = 'telegram',\n VK = 'vk',\n VoxAccount = 'vox-account',\n WhatsApp = 'whatsapp',\n}\n\nexport type Contact = {\n id: number;\n type: ContactType;\n value: string;\n};\n","import { MoneyAmount } from './Currency';\nimport { Deal } from './Deal';\nimport { ServiceRequest } from './ServiceRequest';\n\nexport enum ContractType {\n Buy = 'buy',\n Sell = 'sell',\n EscortSell = 'escort_sell',\n EscortBuy = 'escort_buy',\n}\n\nexport enum ContractStatus {\n Booked = 'booked',\n Approved = 'approved',\n Declined = 'declined',\n Signed = 'signed',\n Terminated = 'terminated',\n BookingCanceled = 'booking_canceled',\n PrepaymentPlanned = 'prepayment_planned',\n NoPrepayment = 'no_prepayment',\n Prepaid = 'prepaid',\n DealSigned = 'deal_signed',\n Registered = 'registered',\n DealDone = 'deal_done',\n}\n\nexport enum ContractKind {\n NotExclusive = 'not-exclusive',\n Exclusive = 'exclusive',\n OnAdvance = 'on-advance',\n LegalSupport = 'legal-support',\n}\n\nexport type Contract = {\n amount: MoneyAmount;\n createdAt: string;\n duration: number;\n expiresAt: string;\n formalId: string;\n id: number;\n isFixedCashCommission: boolean;\n kind: ContractKind;\n participants: any[];\n serviceRequest: Partial<ServiceRequest> & { id: number };\n status: ContractStatus;\n type: ContractType;\n accountingDoc?: string;\n amountDue?: number;\n amountPenalty?: MoneyAmount;\n amountReceived?: MoneyAmount;\n approvedAt?: string;\n comment?: string;\n canTerminate?: boolean;\n deal?: Partial<Deal> & { id: number };\n declinedAt?: string;\n reason?: string;\n signPlannedAt?: string;\n signedAt?: string;\n terminatedAt?: string;\n};\n","import { Company } from './Company';\n\nexport enum ContractDocumentSubject {\n Buy = 'buy',\n Escort = 'escort',\n RealtyHistoryAnalyze = 'realtyHistoryAnalyze',\n ContractCreating = 'contractCreating',\n MortgageSupport = 'mortgageSupport',\n MortgageRefinancing = 'mortgageRefinancing',\n DocumentCollecting = 'documentCollecting',\n RealtorConsulting = 'realtorConsulting',\n DocumentSubmitting = 'documentSubmitting',\n LawSupport = 'lawSupport',\n OtherServices = 'otherServices',\n}\n\nexport enum ContractDocumentKind {\n Flat = 'flat',\n Apartment = 'apartment',\n House = 'house',\n HouseWithLand = 'houseWithLand',\n RightToDemand = 'rightToDemand',\n}\n\nexport enum ContractDocumentType {\n Sell = 'sell',\n Buy = 'buy',\n}\n\nexport type ContractDocument = {\n type: ContractDocumentType;\n\n address?: string;\n buyer?: string;\n commission?: number;\n commonArea?: number;\n contractNumber?: string;\n contractSubject?: Array<ContractDocumentSubject>;\n customers?: Array<{\n actualResidenceAddress?: string;\n addressRegistered?: string;\n bornAt?: string;\n code?: string;\n email?: string;\n givenAt?: string;\n givenBy?: string;\n name?: string;\n passportNumber?: string;\n phone?: string;\n }>;\n requisites: Company;\n endedAt?: string;\n expertEmail?: string;\n expertName?: string;\n expertPhone?: string;\n extraSubject?: string;\n isValid?: boolean;\n kind?: ContractDocumentKind;\n legalDiligencePrice?: number;\n owners?: string[];\n price?: number;\n residueCommission?: number;\n restrictions?: string;\n signedAt?: string;\n supplyPayment?: number;\n};\n","export enum ContractLegalDocumentStatus {\n NotRequested = 'notRequested',\n Requested = 'requested',\n Ready = 'ready',\n NotFound = 'notFound',\n}\n\nexport enum ContractLegalDocumentType {\n Egrn = 'egrn',\n OwnershipTransfers = 'ownershipTransfers',\n}\n\nexport type ContractLegalDocument = {\n isLegalDocumentRequestAllowed: boolean;\n documents: Array<{\n status: ContractLegalDocumentStatus;\n type: ContractLegalDocumentType;\n explanation?: string[];\n requestedDate?: string;\n }>;\n};\n","export enum CrossSaleContractorType {\n Owner = 'owner',\n Agent = 'agent',\n Agency = 'agency',\n}\n\nexport type CrossSale = {\n createdAt: string;\n id: number;\n mainServiceRequest: { id: number };\n realtyExtId: number;\n commission: number;\n childRealtyExtId?: number;\n childServiceRequest?: { id: number };\n comment?: string;\n contractorType?: CrossSaleContractorType;\n phone?: { id: number; number: string };\n realtyServiceRequest?: { id: number };\n updatedAt?: string;\n};\n","export enum Currency {\n Rub = 'RUB',\n Usd = 'USD',\n Eur = 'EUR',\n Kzt = 'KZT',\n Aed = 'AED',\n Vnd = 'VND',\n Idr = 'IDR',\n Thb = 'THB',\n Khr = 'KHR',\n}\n\nexport type MoneyAmount = { amount: number; currency: Currency };\n\nexport type CurrencyCourses = {\n currency: {\n code: Currency;\n name: string;\n isUsed: boolean;\n };\n rate: number;\n};\n","import { Contract } from './Contract';\nimport { MoneyAmount } from './Currency';\nimport { Income } from './Income';\nimport { File } from './File';\nimport { User } from './User';\nimport { DealParticipant } from './DealParticipant';\nimport { Buyer } from './Buyer';\nimport { Debt } from './Debt';\n\nexport enum DealFileCategory {\n DeleteReason = 'deleteReason',\n Egrn = 'egrn',\n OwnershipTransfers = 'ownership_transfers',\n Risk = 'risk',\n Act = 'act',\n ActDeveloper = 'act_developer',\n OwnershipCertificate = 'ownership_certificate',\n FloorPlan = 'floor_plan',\n Explication = 'explication',\n Egd = 'egd',\n ReferenceNoDebtGku = 'reference_no_debt_gku',\n ReferenceNoDebtRepair = 'reference_no_debt_repair',\n ReferencePnd = 'reference_pnd',\n ReferenceNd = 'reference_nd',\n PassportContractor = 'passport_contractor',\n MarriageCertificateContractor = 'marriage_certificate_contractor',\n SpouseAgreementContractor = 'spouse_agreement_contractor',\n Invest = 'invest',\n Other = 'other',\n}\n\nexport enum DealBillServiceType {\n PartPayment = 'part_payment',\n FullPayment = 'full_payment',\n BuyServicePayment = 'buy_service_payment',\n SecurityDepositPayment = 'security_deposit_payment',\n}\n\nexport enum DealNoLawyerReason {\n FromDeveloper = 'from_developer',\n NoLawyerOffice = 'no_lawyer_office',\n}\n\nexport enum DealPartnerDealType {\n PartnerCommission = 'partner_commission',\n HomeappCommission = 'homeapp_commission',\n}\n\nexport enum DealStatus {\n PrepaymentPlanned = 'prepayment_planned',\n NoPrepayment = 'no_prepayment',\n Prepaid = 'prepaid',\n DealSigned = 'deal_signed',\n Registered = 'registered',\n DealDone = 'deal_done',\n Terminated = 'terminated',\n}\n\nexport type Deal = {\n buyer: Partial<Buyer> & Required<Pick<Buyer, 'id'>>;\n clientCommission: MoneyAmount; // alias for `plannedCommission` with foreign currency\n createdAt: string;\n debts: Debt[];\n developerCommission: MoneyAmount;\n finalPrice: MoneyAmount;\n hasPrepayment: boolean;\n id: number;\n incomes: Array<Partial<Income> & Required<Pick<Income, 'id'>>>;\n isDayOff: boolean;\n participants: Array<Partial<DealParticipant> & Required<Pick<DealParticipant, 'id'>>>;\n partnerCommission: MoneyAmount;\n receivedCommission: MoneyAmount;\n status: DealStatus;\n withLawyer: boolean;\n withLegalChecks: boolean;\n\n buyParams?: { address?: string; flatNumber?: number; cadastralNumber?: string };\n actDeveloperSignedAt?: string;\n actSignedAt?: string;\n canBeDealDone?: boolean;\n classificationScore?: number;\n classificationScoreDate?: string;\n costsLegalCheck?: MoneyAmount;\n comment?: string;\n commissionAt?: string;\n commissionPlannedAt?: string;\n companyDedicatedCommission?: MoneyAmount;\n contract?: Partial<Contract> & Required<Pick<Contract, 'id'>>;\n dealDoneAt?: string;\n dealBuy?: Partial<Deal>;\n dealSignedAt?: string;\n dealSignPlannedAt?: string;\n dealSingedAt?: string;\n expertPartner?: Partial<User> & Required<Pick<User, 'id'>>;\n files?: Array<Partial<File> & Required<Pick<File, 'id'>>>;\n filesInDeal?: { id: number };\n financeConfirmAt?: string;\n guaranteedPayment?: boolean;\n internalPartnerCommission?: MoneyAmount;\n invest?: {\n investBuyoutPrepaymentAt?: string;\n investBuyoutPrepaymentSum?: number;\n investSellServiceRequest?: { id: number };\n isInvestBuyout?: boolean;\n };\n isLawyerRequired?: string;\n lawyer?: Partial<User> & Required<Pick<User, 'id'>>;\n lawyerNotRequiredReason?: DealNoLawyerReason;\n partnerDealType?: DealPartnerDealType | null;\n percentExpertPartner?: number;\n plannedCommission?: MoneyAmount;\n prepaidAt?: string;\n prepaymentPlannedAt?: string;\n prepaymentPlannedPlace?: string;\n registeredAt?: string;\n registerPlannedAt?: string;\n terminatedAt?: string;\n terminationReason?: string;\n terminationRequestedAt?: string;\n updatedAt?: string;\n};\n","import { File } from './File';\n\nexport enum DealCategorizedFileCategory {\n Act = 'act',\n ActDeveloper = 'act_developer',\n DeleteReason = 'deleteReason',\n Egd = 'egd',\n Egrn = 'egrn',\n Explication = 'explication',\n FloorPlan = 'floor_plan',\n Invest = 'invest',\n MarriageCertificateContractor = 'marriage_certificate_contractor',\n Other = 'other',\n OwnershipCertificate = 'ownership_certificate',\n OwnershipTransfers = 'ownership_transfers',\n PassportContractor = 'passport_contractor',\n ReferenceNoDebtGku = 'reference_no_debt_gku',\n ReferenceNoDebtRepair = 'reference_no_debt_repair',\n ReferencePnd = 'reference_pnd',\n ReferenceNd = 'reference_nd',\n Risk = 'risk',\n SpouseAgreementContractor = 'spouse_agreement_contractor',\n}\n\nexport type DealCategorizedFile = {\n id: number;\n file: Partial<File> & { id: number };\n deal: { id: number };\n category: DealCategorizedFileCategory;\n isRemovable: boolean;\n};\n","export enum DealParticipantSide {\n Buyer = 'buyer',\n Seller = 'seller',\n}\n\nexport enum DealParticipantPosition {\n Agent = 'agent',\n Lawyer = 'lawyer',\n BankEmployee = 'bank-employee',\n Relative = 'relative',\n Seller = 'seller',\n Investor = 'investor',\n Other = 'other',\n}\n\nexport type DealParticipant = {\n id: number;\n name: string;\n phone: { id?: number; number: string };\n position: DealParticipantPosition;\n side: DealParticipantSide;\n other?: string;\n};\n","import { MoneyAmount } from './Currency';\nimport { ServiceRequest } from './ServiceRequest';\nimport { User } from './User';\n\nexport enum DebtPaymentType {\n BonusToExpert = 'bonus_to_expert',\n InternalPartnerBonusToExpert = 'internal_partner_bonus_to_expert',\n BonusToTrainee = 'bonus_to_trainee',\n BonusPaymentToMentor = 'bonus_payment_to_mentor',\n BonusPaymentToTeamlead = 'bonus_payment_to_teamlead',\n PartnerCharges = 'partner_charges',\n ReferralForExpert = 'referral_for_expert',\n ReferralForPA = 'referral_for_pa',\n LegalSupportPayment = 'legal_support_payment',\n OtherPayments = 'other_payments',\n DeveloperDepositPayment = 'developer_deposit_payment',\n BonusPaymentAsiaConsultant = 'bonus_payment_asia_consultant',\n SpsBonusPayment = 'sps_bonus_payment',\n BonusPaymentInventoryDepartmentHead = 'bonus_payment_inventory_department_head',\n BonusPaymentInventoryDepartmentAdmin = 'bonus_payment_inventory_department_admin',\n BonusPaymentOfficeAdmin = 'bonus_payment_office_admin',\n DealNdsPayment = 'nds_by_deal',\n BonusPersonalAssistantFirstLevel = 'bonus_personal_assistant_1',\n BonusPersonalAssistantSecondLevel = 'bonus_personal_assistant_2',\n BonusPersonalAssistantThirdLevel = 'bonus_personal_assistant_3',\n BonusPortfolioCoordinator = 'bonus_portfolio_coordinator',\n BonusExpoCoordinator = 'bonus_expo_coordinator',\n PaymentForPhotography = 'payment_for_photography',\n PaymentForAttractingLead = 'payment_for_attracting_lead',\n // неактуально, но оставлено для обратной совместимости\n Referral = 'referral',\n}\n\nexport type Debt = {\n amount: MoneyAmount;\n createdAt: string;\n id: number;\n isRepaid: boolean;\n paymentType: DebtPaymentType;\n serviceRequest: Partial<ServiceRequest> & Required<Pick<ServiceRequest, 'id'>>;\n debtToUser?: Partial<User> & Required<Pick<User, 'id'>>;\n};\n","import { User } from './User';\n\nexport enum ExpertCategoryExpertType {\n NewExpert = 'new_expert',\n ExperienceExpert = 'experience_expert',\n}\n\nexport enum ExpertCategoryCategory {\n Red = '1',\n Yellow = '2',\n Green = '3',\n NoCategory = '4',\n}\n\nexport type ExpertCategory = {\n category: ExpertCategoryCategory;\n cntDaysInCurrentCategory: number;\n expert: Partial<User> & Required<Pick<User, 'id'>>;\n expertType: ExpertCategoryExpertType;\n id: number;\n needAttention: boolean;\n supervisor: Partial<User> & Required<Pick<User, 'id'>>;\n};\n","import { MoneyAmount } from './Currency';\nimport { User } from './User';\n\nexport enum ExpertGradeType {\n Junior = 'junior',\n Bronze = 'bronze',\n Silver = 'silver',\n Gold = 'gold',\n}\n\nexport type ExpertGrade = {\n amount: MoneyAmount;\n createdAt: string;\n currentSeasonGross: MoneyAmount;\n expert: Partial<User> & Required<Pick<User, 'id'>>;\n grade: ExpertGradeType;\n gradePercent: number;\n id: number;\n lastFourSeasonGross: MoneyAmount;\n lastSeasonGross: MoneyAmount;\n lastTwoSeasonGross: MoneyAmount;\n supervisor: Partial<User> & Required<Pick<User, 'id'>>;\n\n createdBy?: Partial<User> & Required<Pick<User, 'id'>>;\n};\n\nexport type ShortExpertGrade = Pick<\n ExpertGrade,\n 'createdAt' | 'expert' | 'id' | 'grade' | 'gradePercent' | 'supervisor'\n> & {\n gross: number;\n};\n","export enum FileType {\n Image = 'image',\n Audio = 'audio',\n Video = 'video',\n Document = 'document',\n}\n\nexport enum FileCategory {\n DeleteReason = 'deleteReason',\n EGRN = 'egrn',\n OwnershipTransfers = 'ownership_transfers',\n}\n\nexport type File = {\n id: number;\n type: string;\n name: string;\n url: string;\n createdAt: string;\n category?: string | FileCategory;\n isRemovable?: boolean;\n};\n","import { Image } from './Image';\n\nexport enum GalleryImageType {\n Main = 'main',\n Portrait = 'portrait',\n}\n\nexport type GalleryImage = {\n id: number;\n image: Partial<Image> & { id: number };\n type: string | GalleryImageType;\n};\n","export enum ImageType {\n Complex = 'complex',\n Apartment = 'apartment',\n Layout = 'layout',\n}\n\nexport type Image = {\n id: number;\n storagePath: string;\n type: string | ImageType;\n thumbnailPath: string;\n properties: { oldId?: number; maxSize?: string };\n};\n","export enum InternalCrossSaleStatus {\n Accepted = 'ACCEPTED',\n Rejected = 'REJECTED',\n Waiting = 'WAITING',\n}\n\nexport type InternalCrossSale = {\n id: number;\n serviceRequestId: number;\n apartmentId: number;\n apartmentInfo: string;\n presentationUrl: string;\n fullAddress: string;\n roomsNumber: number;\n area: number;\n price: number;\n fullCuratorName: string;\n curatorId: number;\n cntBuyerTotal: number;\n floor: number;\n realtyType: string;\n cntDaysPublished: number;\n commissionAmount: number;\n storagePath: string;\n status: InternalCrossSaleStatus;\n};\n","import { User } from './User';\n\nexport enum LeadAssignmentBlockReason {\n Vacation = 'vacation',\n RequestTeamlead = 'request_teamlead',\n ViolationRegulations = 'violation_regulations',\n Trainee = 'trainee',\n}\n\nexport type LeadAssignmentBlock = {\n createdAt: string;\n curator: Partial<User> & Required<Pick<User, 'id'>>;\n dateFrom: string;\n id: number;\n reason: LeadAssignmentBlockReason;\n user: Partial<User> & Required<Pick<User, 'id'>>;\n dateTo?: string;\n updatedAt?: string;\n};\n","export type MotivationSellMinCommission = {\n categoryName: string;\n minPrice: number;\n minCommissionPercent: number;\n recommendedCommissionPercent: number;\n minCommissionAmount: number;\n};\n\nexport type MotivationCommonMinCommission = {\n categoryName: string;\n minPrice: number;\n minCommission: number;\n minCommissionUnit: string;\n legalDiligencePrice: number;\n totalMinCommission: number;\n};\n\nexport type MotivationMinCommission = {\n sell: Array<MotivationSellMinCommission>;\n buySecondary: Array<MotivationCommonMinCommission>;\n legalSupport: Array<MotivationCommonMinCommission>;\n};\n\nexport type MotivationStep = {\n name: string;\n val: number;\n bonus: number;\n bonusTrainee?: number;\n};\n\nexport enum MotivationServiceTypeValues {\n Sell = 'sell',\n BuySecondary = 'buy_secondary',\n BuyNew = 'buy_new',\n LegalSupport = 'legal_support',\n}\n\nexport type MotivationExpertBonusCalculatingData = {\n stepName: string;\n commissionPart: number;\n bonusPercent: number;\n bonus: number;\n};\n\nexport type MotivationCommission = {\n minCommission: number;\n recommendedCommission: number;\n commission: number;\n lowCommissionBonusFine: number;\n additionalHighCommissionBonus: number;\n additionalBonusOver2M: number;\n expertBonusBySteps: number;\n expertBonusPercentBySteps: number;\n expertBonus: number;\n expertBonusPercent: number;\n expertBonusPercentCalculation: MotivationExpertBonusCalculatingData[];\n legalDiligencePrice?: number;\n mentorLowCommissionBonusFine?: number;\n mentorAdditionalHighCommissionBonus?: number;\n mentorBonus?: number;\n mentorBonusPercent?: number;\n mentorBonusBySteps?: number;\n mentorBonusPercentBySteps?: number;\n};\n","export enum PhoneBookContactType {\n Buyer = 'buyer',\n Seller = 'seller',\n}\n\nexport enum PhoneBookContactPhoneType {\n Main = 'main',\n Additional = 'additional',\n}\n\nexport type PhoneBookContact = {\n createdAt: string;\n id: number;\n isFavorite: boolean;\n name: string;\n phones: Array<{ id: number; type: PhoneBookContactPhoneType; phone: string }>;\n type: PhoneBookContactType;\n comment?: string;\n};\n","import { User } from './User';\n\nexport enum PhotoOrderStatus {\n Aborted = 'aborted',\n Created = 'created',\n CreationFailed = 'creation_failed',\n EpicFail = 'epic_fail',\n ExecutionFailed = 'execution_failed',\n Init = 'init',\n PhotographerFound = 'photographer_found',\n PhotographerNotFound = 'photographer_not_found',\n Success = 'success',\n Terminated = 'terminated',\n}\n\nexport enum PhotoOrderRenovation {\n Author = 'author',\n Cosmetic = 'cosmetic',\n Euro = 'euro',\n None = 'none',\n}\n\nexport enum PhotoOrderTypes {\n Internal = 'internal',\n External = 'external',\n}\n\nexport type PhotoOrder = {\n type: PhotoOrderTypes;\n addressId: number;\n expertPhone: string;\n hasAccessToFlat: boolean;\n id: string;\n isOutCKAD: boolean;\n renovation: PhotoOrderRenovation;\n scheduledAt: string;\n serviceRequestId: number;\n status: PhotoOrderStatus;\n\n internalUser?: Partial<User> & { id: number };\n comment?: string;\n photographerName?: string;\n photographerPhone?: string;\n url?: string;\n};\n","import { Address } from './Address';\nimport { Image } from './Image';\nimport { RealtyOffer } from './RealtyOffer';\n\nexport enum RealtyType {\n FlatSecondary = 'flat_secondary',\n FlatNew = 'flat_new',\n House = 'house',\n}\n\nexport enum RealtyRenovationType {\n None = 'none',\n Author = 'author',\n Cosmetic = 'cosmetic',\n Euro = 'euro',\n FineFinishing = 'fine_finishing',\n RoughFinishing = 'rough_finishing',\n}\n\nexport enum RealtyGas {\n None = 'none',\n Connected = 'connected',\n Border = 'border',\n Possible = 'possible',\n Autonomous = 'autonomous',\n}\n\nexport enum RealtyHouseType {\n Townhouse = 'townhouse',\n House = 'house',\n Cottage = 'cottage',\n Part = 'part',\n Duplex = 'duplex',\n}\n\nexport enum RealtyLandShape {\n Regular = 'regular',\n Irregular = 'irregular',\n}\n\nexport enum RealtyLandUsageType {\n IGS = 'igs',\n LPH = 'lph',\n DNP = 'dnp',\n SNT = 'snt',\n Farm = 'farm',\n Garden = 'garden',\n Investproject = 'investproject',\n}\n\nexport enum RealtyRelief {\n Flat = 'flat',\n Elevations = 'elevations',\n Slope = 'slope',\n Hills = 'hills',\n}\n\nexport enum RealtyElectricity {\n None = 'none',\n Connected = 'connected',\n Possible = 'possible',\n Autonomous = 'autonomous',\n}\n\nexport enum RealtyFurniture {\n None = 'none',\n Full = 'full',\n Part = 'part',\n}\n\nexport enum RealtySewerage {\n None = 'none',\n Cesspool = 'cesspool',\n Septic = 'septic',\n Bio = 'bio',\n Central = 'central',\n}\n\nexport enum RealtyWindowView {\n Street = 'street',\n Yard = 'yard',\n Both = 'both',\n}\n\nexport type Realty = {\n address: Partial<Address> & { id: number };\n addressId: number;\n area: number;\n floor: number;\n id: number;\n images: Array<Partial<Image> & { id: number }>;\n price: number;\n realtyType: RealtyType;\n renovationType: RealtyRenovationType;\n roomsNumber: number;\n type: RealtyType;\n isNewFlat: boolean;\n\n balconyCount?: number;\n burden?: boolean;\n ceilingHeight?: number;\n chambers?: string;\n cityDistance?: number;\n createdAt?: string;\n documentationUrl?: number;\n electricity?: RealtyElectricity;\n features?: string[];\n floorsNumber?: number;\n furniture?: RealtyFurniture;\n gas?: RealtyGas;\n houseType?: RealtyHouseType;\n isDevelopersOffer?: boolean;\n kitchenArea?: number;\n landArea?: number;\n landShape?: RealtyLandShape;\n landUsageType?: RealtyLandUsageType;\n livingArea?: number;\n mainOffer?: Partial<RealtyOffer> & { id: number };\n number?: number;\n relief?: RealtyRelief;\n separatedRoomsNumber?: number;\n sewerage?: RealtySewerage;\n soldAt?: string;\n windowView?: RealtyWindowView;\n};\n","import { Appointment } from './Appointment';\nimport { Contract } from './Contract';\nimport { File } from './File';\nimport { Realty, RealtyType } from './Realty';\nimport { RealtyType as RealtyTypeV2 } from '../../v2/types/Realty';\nimport { Task } from './Task';\nimport { User } from './User';\nimport { CallTaskDirection } from './CallTask';\nimport { Company } from './Company';\nimport { Checklist } from './Checklist';\nimport { ServiceRequestPersonalAssistant } from './ServiceRequestPersonalAssistant';\nimport { MoneyAmount } from './Currency';\n\nexport enum ServiceRequestCategory {\n Depublished = 'depublished',\n Discounted = 'discounted',\n Cold = 'cold',\n Warm = 'warm',\n New = 'new',\n Hot = 'hot',\n}\n\nexport enum ServiceRequestModerationStatus {\n None = 'none',\n Sent = 'sent',\n Booked = 'booked',\n Done = 'done',\n}\n\nexport enum ServiceRequestStatus {\n Approved = 'approved',\n Booked = 'booked',\n BookingCanceled = 'booking_canceled',\n DealDone = 'deal_done',\n DealSigned = 'deal_signed',\n Declined = 'declined',\n LeadAdv = 'lead_adv',\n LeadExpert = 'lead_expert',\n NoPrepayment = 'no_prepayment',\n Prepaid = 'prepaid',\n PrepaymentPlanned = 'prepayment_planned',\n Registered = 'registered',\n Signed = 'signed',\n Terminated = 'terminated',\n}\n\nexport enum ServiceRequestVerificationStatus {\n None = 'none',\n Sent = 'sent',\n Done = 'done',\n}\n\nexport enum ServiceRequestType {\n Buy = 'buy',\n Sell = 'sell',\n AsiaSell = 'asia_sell',\n}\n\nexport enum ServiceRequestInvestType {\n Buyout = 'buyout',\n Sell = 'sell',\n}\n\nexport enum ServiceRequestDepublishReason {\n TemporaryDepublish = 'temporary_depublish',\n ForeverDepublish = 'forever_depublish',\n HardToSellObject = 'hard_to_sell_object',\n SoldListing = 'sold_listing',\n SoldByOwner = 'sold_by_owner',\n Other = 'other',\n\n // легаси значения, которые больше не используются, но оставлены для обратной совместимости\n DepublishOnAdvance = 'depublish_on_advance',\n ClientRequest = 'client_request',\n DeveloperRequest = 'developer_request',\n BadObject = 'bad_object',\n BadObjectElite = 'bad_object_elite',\n CrossSell = 'cross_sell',\n}\n\nexport enum ServiceRequestSource {\n Apk = 'apk',\n Recommendations = 'recommendations',\n ColdCCMoscow = 'coldCCMoscow',\n ColdCCZelenograd = 'coldCCZelenograd',\n ColdCCZhukovsky = 'coldCCZhukovsky',\n Marketing = 'marketing',\n Test = 'test',\n Other = 'other',\n}\n\nexport type ServiceRequest = {\n advLink?: string;\n buyParams: { budget?: number; place?: string } | any[];\n category: ServiceRequestCategory;\n createdAt: string;\n curator: Partial<User> & { id: number };\n files: Array<Partial<File> & { id: number }>;\n hasNotifications: boolean;\n hasPublishedValuations: boolean;\n hasValuations: boolean;\n id: number;\n isLaunchedOnOldPublisher: boolean;\n isPublished: boolean;\n isTerminationRequestNeeded: boolean;\n moderationStatus: ServiceRequestModerationStatus;\n personalAssistants: Array<ServiceRequestPersonalAssistant>;\n sellParams:\n | any[]\n | {\n realtyType?: RealtyTypeV2;\n address?: string;\n area?: number;\n floor?: number;\n roomsNumber?: string | number;\n price?: number;\n };\n source: string;\n status: ServiceRequestStatus;\n type: ServiceRequestType;\n user: Partial<User> & { id: number };\n verificationStatus: ServiceRequestVerificationStatus;\n\n appointment?: Partial<Appointment> & Required<Pick<Appointment, 'id'>>;\n canBePublishedAt?: string;\n checkList?: Pick<Checklist, 'id' | 'isComplete' | 'problemCount'>;\n closedAt?: string;\n closeRequestedAt?: string;\n closingReason?: string;\n company?: Partial<Company> & Required<Pick<Company, 'id'>>;\n contract?: Partial<Contract> & { id: number };\n createdBy?: Partial<User> & { id: number };\n crossSaleCount?: number;\n currentScore?: number;\n depublishComment?: string;\n depublishReason?: ServiceRequestDepublishReason;\n description?: string;\n discountedAt?: string;\n externalLinksCount?: number;\n hasDeveloperCommission?: boolean;\n hasMainAdLinksProblem?: boolean;\n hasReportsForSeller?: boolean;\n invest?: { investType?: ServiceRequestInvestType; investBuyoutDeal?: { id: number } };\n isActuallyDepublished?: boolean;\n lastDepublishedAt?: string;\n lastPublishedAt?: string;\n parentCallTaskDirection?: CallTaskDirection;\n planDrawComment?: string;\n planDrawDate?: string;\n planDrawSum?: MoneyAmount;\n publicationTestPeriodDays?: number;\n realty?: Partial<Realty> & { id: number };\n realtyExtId?: number;\n realtyType?: RealtyType;\n sentToVerifyAt?: string;\n task?: Partial<Task> & { id: number };\n teamLeadTask?: Partial<Task> & { id: number };\n valuationProblems?: string[];\n verifiedAt?: string;\n};\n","import { Call } from './Call';\nimport { ServiceRequest } from './ServiceRequest';\nimport { User } from './User';\n\nexport enum ServiceRequestActivityType {\n Comment = 'comment',\n Edit = 'edit',\n Transfer = 'transfer',\n Call = 'call',\n Task = 'task',\n Contract = 'contract',\n PublicationProblem = 'publication-problem',\n MarkedUp = 'marked-up',\n Published = 'published',\n Republished = 'republished',\n Depublished = 'depublished',\n PriceChanged = 'price-changed',\n RequestPriceDown = 'request-price-down',\n ContractExpired = 'contract-expired',\n CallTaskCreated = 'call-task-created',\n RealtyShowScheduled = 'realty-show-scheduled',\n RealtyShowCompleted = 'realty-show-completed',\n RealtyShowCancelled = 'realty-show-cancelled',\n Appointment = 'appointment',\n}\n\nexport type ServiceRequestActivity = {\n createdAt: string;\n id: number;\n text: string;\n type: ServiceRequestActivityType;\n author?: Partial<User> & Required<Pick<User, 'id'>>;\n buyer?: { name: string };\n call?: Partial<Call> & Required<Pick<Call, 'id'>>;\n serviceRequest?: Partial<ServiceRequest> & Required<Pick<ServiceRequest, 'id'>>;\n user?: Partial<User> & Required<Pick<User, 'id'>>;\n viewedAt?: string;\n};\n","import { File } from './File';\n\nexport enum ServiceRequestCategorizedFileCategory {\n AdvAgreement = 'adv_agreement',\n AdvanceForm = 'advance_form',\n CheckList = 'check_list',\n Contract = 'contract',\n DeleteReason = 'deleteReason',\n Egrn = 'egrn',\n Kc = 'kc',\n Other = 'other',\n OwnershipCheckReport = 'ownership_check_report',\n OwnershipJustification = 'ownership_justification',\n OwnershipTransfers = 'ownership_transfers',\n PassportClient = 'passport_client',\n Risk = 'risk',\n}\n\nexport type ServiceRequestCategorizedFile = {\n id: number;\n file: Partial<File> & { id: number };\n serviceRequest: { id: number };\n category: ServiceRequestCategorizedFileCategory;\n isRemovable: boolean;\n};\n","export enum ServiceRequestFeedbackCategory {\n ExpertWork = 'expert_work',\n Technical = 'technical',\n Other = 'other',\n PriceDownRequest = 'price_down_request',\n}\n\nexport type ServiceRequestFeedback = {\n id: number;\n category: ServiceRequestFeedbackCategory;\n serviceRequestId: number;\n text?: string;\n};\n","type Coordinates = number[];\n\ntype Polygon = { type: 'Polygon'; coordinates: Array<Coordinates> };\n\ntype MultiPolygon = {\n type: 'MultiPolygon';\n coordinates: Array<Array<Coordinates>>;\n};\n\nexport enum ShapeType {\n AdministrativeDistrict = 'administrative_district',\n Block = 'block',\n Complex = 'complex',\n District = 'district',\n House = 'house',\n Microdistrict = 'microdistrict',\n}\n\nexport type Shape = {\n geometry: Polygon | MultiPolygon;\n id: number;\n name: string;\n type: ShapeType;\n};\n","export enum SoldStatisticTypes {\n House = 'house',\n FlatNew = 'flat_new',\n FlatSecondary = 'flat_secondary',\n}\n\nexport type SoldStatistic = {\n type: SoldStatisticTypes;\n price: number;\n};\n","import { ServiceRequest } from './ServiceRequest';\nimport { User } from './User';\n\nexport enum TaskStatus {\n New = 'new',\n InProgress = 'in_progress',\n Resolved = 'resolved',\n Closed = 'closed',\n Expired = 'expired',\n}\n\nexport enum TaskImportance {\n Normal = 'normal',\n High = 'high',\n}\n\nexport enum TaskNotificationType {\n Morning = 'morning',\n Min15 = 'min15',\n Hour1 = 'hour1',\n Hour2 = 'hour2',\n Nil = 'nil',\n}\n\nexport type Task = {\n assignee: Partial<User> & { id: number };\n author: Partial<User> & { id: number };\n createdAt: string;\n expiresAt: string;\n id: number;\n importance: TaskImportance;\n notificationType: TaskNotificationType;\n serviceRequest: Partial<ServiceRequest> & { id: number };\n status: TaskStatus;\n text: string;\n\n closedAt?: string;\n resolvedAt?: string;\n updatedAt?: string;\n};\n","import { Shape } from './Shape';\nimport { GalleryImage } from './GalleryImage';\nimport { UserPhone } from './UserPhone';\nimport { UserCase } from './UserCase';\nimport { Contact } from './Contact';\nimport { CallProxy } from './CallProxy';\nimport { ExpertReview } from './ExpertReview';\nimport { Company } from './Company';\n\nexport enum UserTelephonyType {\n Vox = 'vox',\n}\n\nexport enum UserDirection {\n Resale = 'resale',\n NewBuildings = 'new-buildings',\n Elite = 'elite',\n Private = 'private',\n Commercial = 'commercial',\n}\n\nexport enum UserGender {\n Female = 'female',\n Male = 'male',\n}\n\nexport enum UserLevel {\n Expert = 'expert',\n TopExpert = 'top_expert',\n Groupleader = 'groupleader',\n SalesHead = 'sales_head',\n Teamleader = 'teamleader',\n}\n\nexport enum UserContactInfoType {\n SlackId = 'slack-id',\n SlackGroupId = 'slack-group-id',\n SlackUsername = 'slack-username',\n SlackGroupName = 'slack-group-name',\n Skype = 'skype',\n Email = 'email',\n Jabber = 'jabber',\n Icq = 'icq',\n Imessage = 'imessage',\n Telegram = 'telegram',\n Whatsapp = 'whatsapp',\n Facebook = 'facebook',\n Linkedin = 'linkedin',\n Vk = 'vk',\n Odnoklassniki = 'odnoklassniki',\n Instagram = 'instagram',\n VoxAccount = 'vox-account',\n}\n\nexport enum UserOffice {\n Lyubertsy = 'lyubertsy',\n Moscow = 'moscow',\n Zelenograd = 'zelenograd',\n Zhukovsky = 'zhukovsky',\n}\n\nexport enum UserRole {\n Admin = 'admin',\n CallOperator = 'call_operator',\n CashManager = 'cash_manager',\n ChatQualityAssessor = 'chat_quality_assessor',\n DataScience = 'data_science',\n Developer = 'developer',\n Expert = 'expert',\n ExternalPartner = 'external_partner',\n Finance = 'finance',\n FinanceHead = 'finance_head',\n GroupLead = 'group_lead',\n HR = 'hr',\n Invest = 'invest',\n Lawyer = 'lawyer',\n LawyerHead = 'lawyer_head',\n LiquidityReportReader = 'liquidity_report_reader',\n Mentor = 'mentor',\n Moderator = 'moderator',\n QualityAssessor = 'quality_assessor',\n Reader = 'reader',\n SalesHead = 'sales_head',\n Supervisor = 'supervisor',\n Teamlead = 'teamlead',\n TechSupport = 'tech_support',\n Trainee = 'trainee',\n User = 'user',\n PersonalAssistantFirstLevel = 'personal_assistant_1',\n PersonalAssistantSecondLevel = 'personal_assistant_2',\n PersonalAssistantThirdLevel = 'personal_assistant_3',\n PortfolioCoordinator = 'portfolio_coordinator',\n ExpoCoordinator = 'expo_coordinator',\n}\n\nexport enum UserFiredType {\n Fired = 'fired',\n Quite = 'quite',\n Agreement = 'agreement',\n}\n\nexport enum UserFiredReason {\n LeavesRealEstate = 'leaves_real_estate',\n WentToAnother = 'went_to_another',\n FailureToFulfillThePlan = 'failure_to_fulfill_the_plan',\n ToxicityAndNegativity = 'toxicity_and_negativity',\n ForPersonalReasons = 'for_personal_reasons',\n LackOfSalary = 'lack_of_salary',\n Burnout = 'burnout',\n OtherComment = 'other',\n TemporaryBlocking = 'temporary_blocking',\n}\n\nexport enum UserAttractionChannel {\n Recommendations = 'recommendations',\n PartnersOffice = 'partners_office',\n HeadhunterXOHR = 'headhunter_XO_HR',\n HeadhunterXOKC = 'headhunter_XO_KC',\n KCCianBase = 'kc_cian_base',\n HeadhunterResponse = 'headhunter_response',\n Marketing = 'marketing',\n Site = 'site',\n Activity = 'activity',\n Webinar = 'webinar',\n Other = 'other',\n}\n\nexport type UserCourse = {\n name?: string;\n city?: string;\n author?: string;\n imageIds: number[];\n};\n\nexport type UserEducation = {\n university?: string;\n city?: string;\n faculty?: string;\n speciality?: string;\n imageIds: number[];\n};\n\nexport type User = {\n banned: boolean;\n cases: Array<Partial<UserCase> & { id: number }>;\n contactInfo: Array<Partial<Contact> & { id: number }>;\n courses: UserCourse[];\n createdAt: string;\n defaultTelephony: UserTelephonyType;\n districts: Array<Shape>;\n educations: UserEducation[];\n enabled: boolean;\n gallery: Array<Partial<GalleryImage> & { id: number }>;\n id: number;\n isPublished: boolean;\n login: string;\n phones: Array<Partial<UserPhone> & { id: number }>;\n realtyIds: number[];\n roles: UserRole[];\n\n personalAssistants?: Array<Partial<User> & { id: number }>;\n experts?: Array<Partial<User> & { id: number }>;\n bornAt?: string;\n comment?: string;\n defaultVirtualPhone?: string;\n description?: string;\n direction?: UserDirection;\n employeeInfo?: {\n attractionChannel: UserAttractionChannel;\n /**\n * заполняется, если `attractionChannel` равен `other` или `recommendations`\n */\n attractionChannelExplain?: string;\n attractionUser?: { id: number };\n callProxy?: CallProxy;\n firedAt?: string;\n firedComment?: string;\n firedReason?: UserFiredReason;\n firedType?: UserFiredType;\n companies?: Array<Partial<Company> & { id: number; isMain: boolean }>;\n };\n firstName?: string;\n fullNameTranslit?: string;\n gender?: UserGender;\n groupLead?: User;\n hiredAt?: string;\n lastName?: string;\n level?: UserLevel;\n mentor?: User;\n office?: UserOffice;\n patronymic?: string;\n supervisor?: User;\n textReviews?: ExpertReview[];\n transliteratedFullName?: string;\n updatedAt?: string;\n videoReviews?: ExpertReview[];\n};\n","export enum UserPhoneType {\n Sip = 'sip',\n Main = 'main',\n Work = 'work',\n Home = 'home',\n VirtualVox = 'virtual_vox',\n}\n\nexport type UserPhone = {\n id: number;\n number: string;\n type: UserPhoneType;\n};\n","export enum ValuationNewsActionType {\n NewRealty = 'new_realty',\n RealtySold = 'realty_sold',\n RealtyExpired = 'realty_expired',\n}\n\nexport enum ValuationNewsStatus {\n New = 'new',\n NewOutdated = 'new_outdated',\n Ignored = 'ignored',\n Accepted = 'accepted',\n Outdated = 'outdated',\n}\n\nexport type ValuationNews = {\n actionType: ValuationNewsActionType;\n createdAt: string;\n id: number;\n realtyExtId: number;\n serviceRequest: { id: number };\n status: ValuationNewsStatus;\n};\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport {\n Realty,\n Address,\n AddressBTIParams,\n Complex,\n ComplexHousing,\n RealtyImage,\n Image,\n RealtyHouseHighwayDistance,\n RealtyMetroDistance,\n ExternalLink,\n PriceHistory,\n Highway,\n MetroStation,\n CottageComplex,\n} from '../../../types';\n\nexport enum FindRealtyByIdDataMetaRealtyAccess {\n Curator = 'curator',\n CuratorMentor = 'curator_mentor',\n CuratorRop = 'curator_rop',\n Moderator = 'moderator',\n BookedModerator = 'booked_moderator',\n}\n\ntype SuccessData = {\n data: Realty & {\n meta: {\n createdAt: string;\n isPresentationReady: boolean;\n consistency?: Array<{ message: string; fields: string[] }>;\n presentation?: Array<{ message: string; fields: string[] }>;\n realtyAccess?: Array<FindRealtyByIdDataMetaRealtyAccess>;\n updatedAt?: string;\n serviceRequestId?: number;\n };\n };\n included?: Array<\n | Address\n | AddressBTIParams\n | Complex\n | ComplexHousing\n | ExternalLink\n | Image\n | RealtyHouseHighwayDistance\n | RealtyImage\n | RealtyMetroDistance\n | PriceHistory\n | Highway\n | MetroStation\n | CottageComplex\n >;\n errors: never;\n};\ntype ErrorData = {\n data: never;\n included: never;\n errors: Array<{ source?: { parameter: string }; detail: string; description?: string }>;\n};\n\ntype ResultData = {\n data: Realty & {\n meta: SuccessData['data']['meta'] & Required<Pick<SuccessData['data']['meta'], 'consistency' | 'realtyAccess'>>;\n };\n included?: SuccessData['included'];\n};\ntype ResultError = ErrorData['errors'];\n\nexport type RealtyInclude =\n | 'address.bti'\n | 'complex'\n | 'complexHousing'\n | 'metroDistance.metroStation'\n | 'address.metroDistance.metroStation'\n | 'highwayDistance.highway'\n | 'realtyImage.image'\n | 'externalLink'\n | 'priceHistory'\n | 'cottageComplex';\n\nexport type FindRealtyByIdHeaders = { 'x-auth-hc': string };\nexport type FindRealtyByIdUrlParams = { id: string };\nexport type FindRealtyByIdParams = { include?: Array<RealtyInclude> };\nexport type FindRealtyByIdData = AxiosResponse<ResultData>;\nexport type FindRealtyByIdError = AxiosError<ResultError>;\nexport type FindRealtyByIdConfig = {\n baseURL?: string;\n urlParams: FindRealtyByIdUrlParams;\n params?: FindRealtyByIdParams;\n headers?: FindRealtyByIdHeaders;\n};\n\nexport function findRealtyByIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n params,\n headers,\n}: FindRealtyByIdConfig) {\n return axios\n .get(`/api/v2/realty/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/vnd.api+json', ...headers },\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'comma', skipNulls: true }),\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.errors) return data.errors;\n\n return {\n data: {\n ...data.data,\n meta: {\n ...data.data.meta,\n consistency: data.data.meta.consistency ?? [],\n realtyAccess: data.data.meta.realtyAccess ?? [],\n },\n },\n included: data.included,\n };\n },\n ],\n })\n .then((res: FindRealtyByIdData) => res)\n .catch((err: FindRealtyByIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Realty } from '../../../types';\n\nexport enum UpdateRealtyDataMetaRealtyAccess {\n Curator = 'curator',\n CuratorMentor = 'curator_mentor',\n CuratorRop = 'curator_rop',\n Moderator = 'moderator',\n BookedModerator = 'booked_moderator',\n}\n\ntype SuccessData = {\n data: Realty & {\n meta: {\n consistency?: Array<{ message: string; fields: string[] }>;\n realtyAccess?: Array<UpdateRealtyDataMetaRealtyAccess>;\n updatedAt?: string;\n };\n };\n errors: never;\n};\ntype ErrorData = {\n data: never;\n errors: Array<{ source?: { pointer: string }; detail: string; description?: string }>;\n};\n\ntype ResultData = Realty & {\n meta: SuccessData['data']['meta'] & Required<Pick<SuccessData['data']['meta'], 'consistency' | 'realtyAccess'>>;\n};\ntype ResultError = ErrorData['errors'];\n\ntype Nullable<T> = { [P in keyof T]: T[P] | null };\ntype RequiredAttributes = 'area' | 'price' | 'realtyType' | 'roomCount';\n\nexport type UpdateRealtyHeaders = { 'x-auth-hc': string };\nexport type UpdateRealtyUrlParams = { id: string };\nexport type UpdateRealtyBody = {\n data: {\n id: Realty['id'];\n type: Realty['type'];\n attributes?: Pick<Realty['attributes'], RequiredAttributes> &\n Nullable<Omit<Realty['attributes'], RequiredAttributes>>;\n relationships?: Realty['relationships'];\n meta: { refreshedAt?: string };\n };\n};\nexport type UpdateRealtyData = AxiosResponse<ResultData>;\nexport type UpdateRealtyError = AxiosError<ResultError>;\nexport type UpdateRealtyConfig = {\n baseURL?: string;\n urlParams: UpdateRealtyUrlParams;\n body: UpdateRealtyBody;\n headers: UpdateRealtyHeaders;\n};\n\nexport function updateRealtyRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateRealtyConfig) {\n return axios\n .patch(`/api/v2/realty/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/vnd.api+json', 'Content-Type': 'application/vnd.api+json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.errors) return data.errors;\n\n return {\n ...data.data,\n meta: {\n ...data.data.meta,\n consistency: data.data.meta.consistency ?? [],\n realtyAccess: data.data.meta.realtyAccess ?? [],\n },\n };\n },\n ],\n })\n .then((res: UpdateRealtyData) => res)\n .catch((err: UpdateRealtyError) => {\n throw err;\n });\n}\n","import * as api from './api';\n\nexport class Api {\n constructor(private baseURL: Promise<string | undefined> | string | undefined) {}\n\n // appointment\n\n cancelAppointment = async (urlParams: api.CancelAppointmentUrlParams, headers: api.CancelAppointmentHeaders) => {\n return api.cancelAppointmentRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n completeAppointment = async (\n urlParams: api.CompleteAppointmentUrlParams,\n headers: api.CompleteAppointmentHeaders\n ) => {\n return api.completeAppointmentRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n createAppointment = async (body: api.CreateAppointmentBody, headers: api.CreateAppointmentHeaders) => {\n return api.createAppointmentRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n findAppointments = async (params: api.FindAppointmentsParams, headers: api.FindAppointmentsHeaders) => {\n return api.findAppointmentsRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n updateAppointment = async (\n urlParams: api.UpdateAppointmentUrlParams,\n body: api.UpdateAppointmentBody,\n headers: api.UpdateAppointmentHeaders\n ) => {\n return api.updateAppointmentRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n // auth\n\n getPassword = async (params: api.GetPasswordParams, headers?: api.GetPasswordHeaders) => {\n return api.getPasswordRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n checkPassword = async (body: api.CheckPasswordBody) => {\n return api.checkPasswordRequest({ body, baseURL: await this.baseURL });\n };\n\n checkToken = async (headers: api.CheckTokenHeaders) => {\n return api.checkTokenRequest({ headers, baseURL: await this.baseURL });\n };\n\n // available funds\n\n createAvailableFunds = async (body: api.CreateAvailableFundsBody, headers: api.CreateAvailableFundsHeaders) => {\n return api.createAvailableFundsRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n findAvailableFunds = async (params: api.FindAvailableFundsParams, headers: api.FindAvailableFundsHeaders) => {\n return api.findAvailableFundsRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n updateAvailableFunds = async (\n urlParams: api.UpdateAvailableFundsUrlParams,\n body: api.UpdateAvailableFundsBody,\n headers: api.UpdateAvailableFundsHeaders\n ) => {\n return api.updateAvailableFundsRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n deleteAvailableFunds = async (\n urlParams: api.DeleteAvailableFundsUrlParams,\n headers: api.DeleteAvailableFundsHeaders\n ) => {\n return api.deleteAvailableFundsRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n // bill\n\n createBill = async (body: api.CreateBillBody, headers: api.CreateBillHeaders) => {\n return api.createBillRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n findBills = async (params: api.FindBillsParams, headers: api.FindBillsHeaders) => {\n return api.findBillsRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n // bonus calculation\n\n findBonusCalculations = async (\n params: api.FindBonusCalculationsParams,\n headers: api.FindBonusCalculationsHeaders\n ) => {\n return api.findBonusCalculationsRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n // buyer\n\n callbackBuyer = async (urlParams: api.CallbackBuyerUrlParams, headers: api.CallbackBuyerHeaders) => {\n return api.callbackBuyerRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n closeBuyer = async (urlParams: api.CloseBuyerUrlParams, body: api.CloseBuyerBody, headers: api.CloseBuyerHeaders) => {\n return api.closeBuyerRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n countBuyers = async (params: api.CountBuyersParams, headers: api.CountBuyersHeaders) => {\n return api.countBuyersRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n createBuyer = async (body: api.CreateBuyerBody, headers?: api.CallbackBuyerHeaders) => {\n return api.createBuyerRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n findBuyerClosingReason = async (headers: api.FindBuyerClosingReasonHeaders) => {\n return api.findBuyerClosingReasonRequest({ headers, baseURL: await this.baseURL });\n };\n\n findBuyerRejectionReasonStatisticBySrId = async (\n urlParams: api.FindBuyerRejectionReasonStatisticBySrIdUrlParams,\n params: api.FindBuyerRejectionReasonStatisticBySrIdParams,\n headers: api.FindBuyerRejectionReasonStatisticBySrIdHeaders\n ) => {\n return api.findBuyerRejectionReasonStatisticBySrIdRequest({\n urlParams,\n params,\n headers,\n baseURL: await this.baseURL,\n });\n };\n\n findBuyerStatusStatisticBySrId = async (\n urlParams: api.FindBuyerStatusStatisticBySrIdUrlParams,\n params: api.FindBuyerStatusStatisticBySrIdParams,\n headers: api.FindBuyerStatusStatisticBySrIdHeaders\n ) => {\n return api.findBuyerStatusStatisticBySrIdRequest({\n urlParams,\n params,\n headers,\n baseURL: await this.baseURL,\n });\n };\n\n findBuyerStatuses = async (\n urlParams: api.FindBuyerStatusesUrlParams,\n params: api.FindBuyerStatusesParams,\n headers: api.FindBuyerStatusesHeaders\n ) => {\n return api.findBuyerStatusesRequest({ headers, params, urlParams, baseURL: await this.baseURL });\n };\n\n findBuyerUniquePhones = async (headers: api.FindBuyerUniquePhonesHeaders) => {\n return api.findBuyerUniquePhonesRequest({ headers, baseURL: await this.baseURL });\n };\n\n findBuyers = async (params: api.FindBuyersParams, headers: api.FindBuyersHeaders) => {\n return api.findBuyersRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findBuyerById = async (\n urlParams: api.FindBuyerByIdUrlParams,\n params: api.FindBuyerByIdParams,\n headers: api.FindBuyerByIdHeaders\n ) => {\n return api.findBuyerByIdRequest({ urlParams, params, headers, baseURL: await this.baseURL });\n };\n\n resetBuyerStatusTimer = async (\n urlParams: api.ResetBuyerStatusTimerUrlParams,\n headers: api.ResetBuyerStatusTimerHeaders\n ) => {\n return api.resetBuyerStatusTimerRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n shareBuyer = async (urlParams: api.ShareBuyerUrlParams, body: api.ShareBuyerBody, headers: api.ShareBuyerHeaders) => {\n return api.shareBuyerRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n updateBuyer = async (\n urlParams: api.UpdateBuyerUrlParams,\n body: api.UpdateBuyerBody,\n headers: api.UpdateBuyerHeaders\n ) => {\n return api.updateBuyerRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n // call\n\n createCallComment = async (\n urlParams: api.CreateCallCommentUrlParams,\n body: api.CreateCallCommentBody,\n headers: api.CreateCallCommentHeaders\n ) => {\n return api.createCallCommentRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n findCallById = async (urlParams: api.FindCallByIdUrlParams, headers: api.FindCallByIdHeaders) => {\n return api.findCallByIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findCalls = async (params: api.FindCallsParams, headers: api.FindCallsHeaders) => {\n return api.findCallsRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findFirstSuccessOutgoingCalls = async (\n params: api.FindFirstSuccessOutgoingCallsParams,\n headers: api.FindFirstSuccessOutgoingCallsHeaders\n ) => {\n return api.findFirstSuccessOutgoingCallsRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findQualityAssessmentCalls = async (\n params: api.FindQualityAssessmentCallsParams,\n headers: api.FindQualityAssessmentCallsHeaders\n ) => {\n return api.findQualityAssessmentCallsRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n markupCall = async (body: api.MarkupCallBody, headers: api.MarkupCallHeaders) => {\n return api.markupCallRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n removeProxyPhone = async (headers: api.RemoveProxyPhoneHeaders) => {\n return api.removeProxyPhoneRequest({ headers, baseURL: await this.baseURL });\n };\n\n setProxyPhone = async (body: api.SetProxyPhoneBody, headers: api.SetProxyPhoneHeaders) => {\n return api.setProxyPhoneRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n // call center\n\n finishOperatorWork = async (headers: api.FinishOperatorWorkHeaders) => {\n return api.finishOperatorWorkRequest({ headers, baseURL: await this.baseURL });\n };\n\n startOperatorWork = async (headers: api.StartOperatorWorkHeaders) => {\n return api.startOperatorWorkRequest({ headers, baseURL: await this.baseURL });\n };\n\n getOperatorStatus = async (headers: api.GetOperatorStatusHeaders) => {\n return api.getOperatorStatusRequest({ headers, baseURL: await this.baseURL });\n };\n\n // call task\n\n bookCallTask = async (urlParams: api.BookCallTaskUrlParams, headers?: api.BookCallTaskHeaders) => {\n return api.bookCallTaskRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n callCallTask = async (urlParams: api.CallCallTaskUrlParams, headers?: api.CreateCallTaskHeaders) => {\n return api.callCallTaskRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n callCallTaskExpert = async (urlParams: api.CallCallTaskExpertUrlParams, headers?: api.CallCallTaskExpertHeaders) => {\n return api.callCallTaskExpertRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n closeCallTask = async (\n urlParams: api.CallCallTaskUrlParams,\n body: api.CloseCallTaskBody,\n headers?: api.CreateCallTaskHeaders\n ) => {\n return api.closeCallTaskRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n createCallTask = async (body: api.CreateCallTaskBody, headers?: api.CreateCallTaskHeaders) => {\n return api.createCallTaskRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n findCallTaskById = async (urlParams: api.FindCallByIdUrlParams, headers: api.FindCallTaskByIdHeaders) => {\n return api.findCallTaskByIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findCallTaskSourceInfo = async (\n params: api.FindCallTaskSourceInfoParams,\n headers: api.FindCallTaskSourceInfoHeaders\n ) => {\n return api.findCallTaskSourceInfoRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findCallTasks = async (params: api.FindCallTasksParams, headers: api.FindCallTasksHeaders) => {\n return api.findCallTasksRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findCallTasksCount = async (params: api.FindCallTasksCountParams, headers: api.FindCallTasksCountHeaders) => {\n return api.findCallTasksCountRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n joinCallTaskCall = async (urlParams: api.JoinCallTaskCallUrlParams, headers?: api.JoinCallTaskCallHeaders) => {\n return api.joinCallTaskCallRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n returnCallTaskCall = async (urlParams: api.ReturnCallTaskCallUrlParams, headers?: api.ReturnCallTaskCallHeaders) => {\n return api.returnCallTaskCallRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n shiftCallTask = async (\n urlParams: api.ShiftCallTaskUrlParams,\n body: api.ShiftCallTaskBody,\n headers?: api.ShiftCallTaskHeaders\n ) => {\n return api.shiftCallTaskRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n updateCallTask = async (\n urlParams: api.UpdateCallTaskUrlParams,\n body: api.UpdateCallTaskBody,\n headers: api.FindCallTasksHeaders\n ) => {\n return api.updateCallTaskRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n // checklist\n\n findChecklistByServiceRequestId = async (\n urlParams: api.FindChecklistByServiceRequestIdUrlParams,\n headers: api.FindChecklistByServiceRequestIdHeaders\n ) => {\n return api.findChecklistByServiceRequestIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findChecklistQuestionDictionaries = async (headers: api.FindChecklistQuestionsHeaders) => {\n return api.findChecklistQuestionDictionariesRequest({ headers, baseURL: await this.baseURL });\n };\n\n updateChecklist = async (\n urlParams: api.UpdateChecklistUrlParams,\n body: api.UpdateChecklistBody,\n headers: api.UpdateChecklistHeaders\n ) => {\n return api.updateChecklistRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n updateChecklistTask = async (\n urlParams: api.UpdateChecklistTaskUrlParams,\n body: api.UpdateChecklistTaskBody,\n headers: api.UpdateChecklistTaskHeaders\n ) => {\n return api.updateChecklistTaskRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n // comment\n\n findComments = async (params: api.FindCommentsParams, headers: api.FindCommentsHeaders) => {\n return api.findCommentsRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n //company\n\n createCompany = async (body: api.CreateCompanyBody, headers: api.CreateCompanyHeaders) => {\n return api.createCompanyRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n findCompanies = async (params: api.FindCompaniesParams, headers: api.FindCompaniesHeaders) => {\n return api.findCompaniesRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findCompanyById = async (urlParams: api.FindCompanyByIdUrlParams, headers: api.FindCompanyByIdHeaders) => {\n return api.findCompanyByIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n updateCompany = async (\n urlParams: api.UpdateCompanyUrlParams,\n body: api.UpdateCompanyBody,\n headers: api.UpdateCompanyHeaders\n ) => {\n return api.updateCompanyRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n // contract\n\n approveContract = async (\n urlParams: api.ApproveContractUrlParams,\n body: api.ApproveContractBody,\n headers: api.ApproveContractHeaders\n ) => {\n return api.approveContractRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n createContract = async (body: api.CreateContractBody, headers: api.CreateContractHeaders) => {\n return api.createContractRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n createContractLegalDocument = async (\n urlParams: api.CreateContractLegalDocumentUrlParams,\n headers: api.CreateContractLegalDocumentHeaders\n ) => {\n return api.createContractLegalDocumentRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n declineContract = async (\n urlParams: api.DeclineContractUrlParams,\n body: api.DeclineContractBody,\n headers: api.DeclineContractHeaders\n ) => {\n return api.declineContractRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n findContracts = async (params: api.FindContractsParams, headers: api.FindContractsHeaders) => {\n return api.findContractsRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findContractById = async (urlParams: api.FindContractByIdUrlParams, headers: api.FindContractByIdHeaders) => {\n return api.findContractByIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findContractDocumentByContractId = async (\n urlParams: api.FindContractDocumentByContractIdUrlParams,\n headers: api.FindContractDocumentByContractIdHeaders\n ) => {\n return api.findContractDocumentByContractIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findContractLegalDocumentByContractId = async (\n urlParams: api.FindContractLegalDocumentByContractIdUrlParams,\n headers: api.FindContractLegalDocumentByContractIdHeaders\n ) => {\n return api.findContractLegalDocumentByContractIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n signContract = async (\n urlParams: api.SignContractUrlParams,\n body: api.SignContractBody,\n headers: api.SignContractHeaders\n ) => {\n return api.signContractRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n terminateContract = async (\n urlParams: api.TerminateContractUrlParams,\n body: api.TerminateContractBody,\n headers: api.TerminateContractHeaders\n ) => {\n return api.terminateContractRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n updateContract = async (\n urlParams: api.UpdateContractUrlParams,\n body: api.UpdateContractBody,\n headers: api.UpdateContractHeaders\n ) => {\n return api.updateContractRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n updateContractDocument = async (\n urlParams: api.UpdateContractDocumentUrlParams,\n body: api.UpdateContractDocumentBody,\n headers: api.UpdateContractDocumentHeaders\n ) => {\n return api.updateContractDocumentRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n upgradeContract = async (\n urlParams: api.UpgradeContractUrlParams,\n body: api.UpgradeContractBody,\n headers: api.UpgradeContractHeaders\n ) => {\n return api.upgradeContractRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n // cottageComplex\n\n createCottageComplex = async (body: api.CreateCottageComplexBody, headers: api.CreateCottageComplexHeaders) => {\n return api.createCottageComplexRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n // crossSale\n\n deleteCrossSale = async (urlParams: api.DeleteCrossSaleUrlParams, headers: api.DeleteCrossSaleHeaders) => {\n return api.deleteCrossSaleRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findCrossSale = async (urlParams: api.FindCrossSaleUrlParams, headers: api.FindCrossSaleHeaders) => {\n return api.findCrossSaleRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n updateCrossSale = async (\n urlParams: api.UpdateCrossSaleUrlParams,\n body: api.UpdateCrossSaleBody,\n headers: api.UpdateCrossSaleHeaders\n ) => {\n return api.updateCrossSaleRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n // currency\n\n getRubleAmount = async (body: api.GetRubleAmountBody, headers: api.GetRubleAmountHeaders) => {\n return api.getRubleAmountRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n getCurrencyCourses = async (headers: api.GetCurrencyCoursesHeaders) => {\n return api.getCurrencyCoursesRequest({ headers, baseURL: await this.baseURL });\n };\n\n // deal\n\n createDeal = async (body: api.CreateDealBody, headers: api.CreateDealHeaders) => {\n return api.createDealRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n createDealCategorizedFile = async (\n urlParams: api.CreateDealCategorizedFileUrlParams,\n body: api.CreateDealCategorizedFileBody,\n headers: api.CreateDealCategorizedFileHeaders\n ) => {\n return api.createDealCategorizedFileRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n createDealInvestPrepayment = async (\n urlParams: api.CreateDealInvestPrepaymentUrlParams,\n body: api.CreateDealInvestPrepaymentBody,\n headers: api.CreateDealInvestPrepaymentHeaders\n ) => {\n return api.createDealInvestPrepaymentRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n deleteDealCategorizedFile = async (\n urlParams: api.DeleteDealCategorizedFileUrlParams,\n headers: api.DeleteDealCategorizedFileHeaders\n ) => {\n return api.deleteDealCategorizedFileRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findDealById = async (urlParams: api.FindDealByIdUrlParams, headers: api.FindDealByIdHeaders) => {\n return api.findDealByIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findDealCategorizedFiles = async (\n urlParams: api.FindDealCategorizedFilesUrlParams,\n params: api.FindDealCategorizedFilesParams,\n headers: api.FindDealCategorizedFilesHeaders\n ) => {\n return api.findDealCategorizedFilesRequest({ urlParams, params, headers, baseURL: await this.baseURL });\n };\n\n findDealExpertStatistics = async (\n urlParams: api.FindDealExpertStatisticsUrlParams,\n params: api.FindDealExpertStatisticsParams,\n headers: api.FindDealExpertStatisticsHeaders\n ) => {\n return api.findDealExpertStatisticsRequest({ urlParams, params, headers, baseURL: await this.baseURL });\n };\n\n findDeals = async (params: api.FindDealsParams, headers: api.FindDealsHeaders) => {\n return api.findDealsRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n setDealClassificationScore = async (\n urlParams: api.SetDealClassificationScoreUrlParams,\n body: api.SetDealClassificationScoreBody,\n headers: api.SetDealClassificationScoreHeaders\n ) => {\n return api.setDealClassificationScoreRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n setDealDoneState = async (urlParams: api.SetDealDoneStateUrlParams, headers: api.SetDealDoneStateHeaders) => {\n return api.setDealDoneStateRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n setDealFinanceConfirmState = async (\n urlParams: api.SetDealFinanceConfirmStateUrlParams,\n headers: api.SetDealFinanceConfirmStateHeaders\n ) => {\n return api.setDealFinanceConfirmStateRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n setDealGuaranteedPayment = async (\n urlParams: api.SetDealGuaranteedPaymentUrlParams,\n body: api.SetDealGuaranteedPaymentBody,\n headers: api.SetDealGuaranteedPaymentHeaders\n ) => {\n return api.setDealGuaranteedPaymentRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n setDealPrepaidDate = async (\n urlParams: api.SetDealPrepaidDateUrlParams,\n body: api.SetDealPrepaidDateBody,\n headers: api.SetDealPrepaidDateHeaders\n ) => {\n return api.setDealPrepaidDateRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n setDealPrepaymentState = async (\n urlParams: api.SetDealPrepaymentStateUrlParams,\n body: api.SetDealPrepaymentStateBody,\n headers: api.SetDealPrepaymentStateHeaders\n ) => {\n return api.setDealPrepaymentStateRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n setDealRegisteredState = async (\n urlParams: api.SetDealRegisteredStateUrlParams,\n body: api.SetDealRegisteredStateBody,\n headers: api.SetDealRegisteredStateHeaders\n ) => {\n return api.setDealRegisteredStateRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n setDealSignedState = async (\n urlParams: api.SetDealSignedStateUrlParams,\n body: api.SetDealSignedStateBody,\n headers: api.SetDealSignedStateHeaders\n ) => {\n return api.setDealSignedStateRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n setDealSignPlannedState = async (\n urlParams: api.SetDealSignPlannedStateUrlParams,\n body: api.SetDealSignPlannedStateBody,\n headers: api.SetDealSignPlannedStateHeaders\n ) => {\n return api.setDealSignPlannedStateRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n terminateDeal = async (\n urlParams: api.TerminateDealUrlParams,\n body: api.TerminateDealBody,\n headers: api.TerminateDealHeaders\n ) => {\n return api.terminateDealRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n updateDeal = async (urlParams: api.UpdateDealUrlParams, body: api.UpdateDealBody, headers: api.UpdateDealHeaders) => {\n return api.updateDealRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n // debt\n\n createDebts = async (body: api.CreateDebtsBody, headers: api.CreateDebtsHeaders) => {\n return api.createDebtsRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n deleteDebt = async (urlParams: api.DeleteDebtUrlParams, headers: api.DeleteDebtHeaders) => {\n return api.deleteDebtRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findDebts = async (params: api.FindDebtsParams, headers: api.FindDebtsHeaders) => {\n return api.findDebtsRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n updateDebt = async (urlParams: api.UpdateDebtUrlParams, body: api.UpdateDebtBody, headers: api.UpdateDebtHeaders) => {\n return api.updateDebtRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n // event\n\n createEvent = async (body: api.CreateEventBody, headers: api.CreateEventHeaders) => {\n return api.createEventRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n deleteEvent = async (urlParams: api.DeleteEventUrlParams, headers: api.DeleteEventHeaders) => {\n return api.deleteEventRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findEventById = async (urlParams: api.FindEventByIdUrlParams, headers?: api.FindEventByIdHeaders) => {\n return api.findEventByIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findEvents = async (params: api.FindEventsParams, headers?: api.FindEventsHeaders) => {\n return api.findEventsRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n updateEvent = async (\n urlParams: api.UpdateEventUrlParams,\n body: api.UpdateEventBody,\n headers: api.UpdateEventHeaders\n ) => {\n return api.updateEventRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n // eventRequest\n\n createEventRequest = async (body: api.CreateEventRequestBody) => {\n return api.createEventRequestRequest({ body, baseURL: await this.baseURL });\n };\n\n findEventRequests = async (params: api.FindEventRequestsParams, headers?: api.FindEventRequestsHeaders) => {\n return api.findEventRequestsRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n updateEventRequest = async (\n urlParams: api.UpdateEventRequestUrlParams,\n body: api.UpdateEventRequestBody,\n headers: api.UpdateEventRequestHeaders\n ) => {\n return api.updateEventRequestRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n // expert\n\n createExpertCase = async (body: api.CreateExpertCaseBody, headers?: api.CreateExpertCaseHeaders) => {\n return api.createExpertCaseRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n createExpertReview = async (\n urlParams: api.CreateExpertReviewUrlParams,\n body: api.CreateExpertReviewBody,\n headers: api.CreateExpertReviewHeaders\n ) => {\n return api.createExpertReviewRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n findExpertById = async (urlParams: api.FindExpertByIdUrlParams, headers?: api.FindExpertByIdHeaders) => {\n return api.findExpertByIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findExpertCaseById = async (urlParams: api.FindExpertCaseByIdUrlParams, headers?: api.FindExpertCaseByIdHeaders) => {\n return api.findExpertCaseByIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findExpertCases = async (headers?: api.FindExpertCasesHeaders) => {\n return api.findExpertCasesRequest({ headers, baseURL: await this.baseURL });\n };\n\n findExperts = async (params: api.FindExpertsParams) => {\n return api.findExpertsRequest({ params, baseURL: await this.baseURL });\n };\n\n findPublishedExperts = async (params: api.FindPublishedExpertsParams) => {\n return api.findPublishedExpertsRequest({ params, baseURL: await this.baseURL });\n };\n\n updateExpertCase = async (\n urlParams: api.UpdateExpertCaseUrlParams,\n body: api.UpdateExpertCaseBody,\n headers: api.UpdateExpertCaseHeaders\n ) => {\n return api.updateExpertCaseRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n updateExpertReview = async (\n urlParams: api.UpdateExpertReviewUrlParams,\n body: api.UpdateExpertReviewBody,\n headers: api.UpdateExpertReviewHeaders\n ) => {\n return api.updateExpertReviewRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n // expertCategory\n\n findExpertCategories = async (params: api.FindExpertCategoriesParams, headers: api.FindExpertCategoriesHeaders) => {\n return api.findExpertCategoriesRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findExpertCategoryHistory = async (\n params: api.FindExpertCategoryHistoryParams,\n headers: api.FindExpertCategoryHistoryHeaders\n ) => {\n return api.findExpertCategoryHistoryRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n // expertGrade\n\n createExpertGrade = async (body: api.CreateExpertGradeBody, headers: api.CreateExpertGradeHeaders) => {\n return api.createExpertGradeRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n findExpertGrades = async (params: api.FindExpertGradesParams, headers: api.FindExpertGradesHeaders) => {\n return api.findExpertGradesRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findExpertGradesByExpertId = async (\n urlParams: api.FindExpertGradesByExpertIdUrlParams,\n headers: api.FindExpertGradesByExpertIdHeaders\n ) => {\n return api.findExpertGradesByExpertIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n // file\n\n uploadFiles = async (body: api.UploadFilesBody, headers: api.UploadFilesHeaders) => {\n return api.uploadFilesRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n // income\n\n createIncome = async (body: api.CreateIncomeBody, headers: api.CreateIncomeHeaders) => {\n return api.createIncomeRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n deleteIncome = async (urlParams: api.DeleteIncomeUrlParams, headers: api.DeleteIncomeHeaders) => {\n return api.deleteIncomeRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n // internalCrossSale\n\n createInternalCrossSale = async (\n urlParams: api.CreateInternalCrossSaleUrlParams,\n body: api.CreateInternalCrossSaleBody,\n headers: api.CreateInternalCrossSaleHeaders\n ) => {\n return api.createInternalCrossSaleRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n findInternalCrossSaleInfo = async (\n params: api.FindInternalCrossSaleInfoParams,\n headers: api.FindInternalCrossSaleInfoHeaders\n ) => {\n return api.findInternalCrossSaleInfoRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findInternalCrossSales = async (\n urlParams: api.FindInternalCrossSalesUrlParams,\n headers: api.FindInternalCrossSalesHeaders\n ) => {\n return api.findInternalCrossSalesRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n updateInternalCrossSale = async (\n urlParams: api.UpdateInternalCrossSaleUrlParams,\n body: api.UpdateInternalCrossSaleBody,\n headers: api.UpdateInternalCrossSaleHeaders\n ) => {\n return api.updateInternalCrossSaleRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n // lead assignment block\n\n createLeadAssignmentBlock = async (\n body: api.CreateLeadAssignmentBlockBody,\n headers: api.CreateLeadAssignmentBlockHeaders\n ) => {\n return api.createLeadAssignmentBlockRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n deleteLeadAssignmentBlock = async (\n urlParams: api.DeleteLeadAssignmentBlockUrlParams,\n headers: api.DeleteLeadAssignmentBlockHeaders\n ) => {\n return api.deleteLeadAssignmentBlockRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findLeadAssignmentBlocks = async (\n params: api.FindLeadAssignmentBlocksParams,\n headers: api.FindLeadAssignmentBlocksHeaders\n ) => {\n return api.findLeadAssignmentBlocksRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n updateLeadAssignmentBlock = async (\n urlParams: api.UpdateLeadAssignmentBlockUrlParams,\n body: api.UpdateLeadAssignmentBlockBody,\n headers: api.UpdateLeadAssignmentBlockHeaders\n ) => {\n return api.updateLeadAssignmentBlockRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n // motivation status\n\n calculateMotivationCommission = async (\n body: api.CalculateMotivationCommissionBody,\n headers: api.CalculateMotivationCommissionHeaders\n ) => {\n return api.calculateMotivationCommissionRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n // motivation glossary\n\n findMotivationGlossary = async (headers: api.FindMotivationGlossaryHeaders) => {\n return api.findMotivationGlossaryRequest({ headers, baseURL: await this.baseURL });\n };\n\n // motivation status\n\n findMotivationStatusByExpertId = async (\n urlParams: api.FindMotivationStatusByExpertIdUrlParams,\n headers: api.FindMotivationStatusByExpertIdHeaders\n ) => {\n return api.findMotivationStatusByExpertIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n // payslip\n\n findPayslips = async (params: api.FindPayslipsParams, headers: api.FindPayslipsHeaders) => {\n return api.findPayslipsRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findPayslipById = async (urlParams: api.FindPayslipByIdUrlParams, headers: api.FindPayslipByIdHeaders) => {\n return api.findPayslipByIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n updatePayslip = async (\n urlParams: api.UpdatePayslipUrlParams,\n body: api.UpdatePayslipBody,\n headers: api.UpdatePayslipHeaders\n ) => {\n return api.updatePayslipRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n // phone\n\n blockPhone = async (urlParams: api.BlockPhoneUrlParams, headers: api.BlockPhoneHeaders) => {\n return api.blockPhoneRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n callbackPhone = async (urlParams: api.CallbackPhoneUrlParams, headers: api.CallbackPhoneHeaders) => {\n return api.callbackPhoneRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findPhones = async (params: api.FindPhonesParams, headers: api.FindPayslipsHeaders) => {\n return api.findPhonesRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n unblockPhone = async (urlParams: api.UnblockPhoneUrlParams, headers: api.UnblockPhoneHeaders) => {\n return api.unblockPhoneRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n // phoneBookContact\n\n createPhoneBookContact = async (body: api.CreatePhoneBookContactBody, headers: api.CreatePhoneBookContactHeaders) => {\n return api.createPhoneBookContactRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n findPhoneBookContacts = async (\n params: api.FindPhoneBookContactsParams,\n headers: api.FindPhoneBookContactsHeaders\n ) => {\n return api.findPhoneBookContactsRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n updatePhoneBookContact = async (\n urlParams: api.UpdatePhoneBookContactUrlParams,\n body: api.UpdatePhoneBookContactBody,\n headers: api.UpdatePhoneBookContactHeaders\n ) => {\n return api.updatePhoneBookContactRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n deletePhoneBookContact = async (\n urlParams: api.DeletePhoneBookContactUrlParams,\n headers: api.DeletePhoneBookContactHeaders\n ) => {\n return api.deletePhoneBookContactRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n // photoOrder\n\n createPhotoOrder = async (body: api.CreatePhotoOrderBody, headers: api.CreatePhotoOrderHeaders) => {\n return api.createPhotoOrderRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n findPhotoOrders = async (params: api.FindPhotoOrdersParams, headers: api.FindPhotoOrdersHeaders) => {\n return api.findPhotoOrdersRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n sendPhotoOrderFeedback = async (\n urlParams: api.SendPhotoOrderFeedbackUrlParams,\n headers: api.SendPhotoOrderFeedbackHeaders\n ) => {\n return api.sendPhotoOrderFeedbackRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n completePhotoOrder = async (urlParams: api.CompletePhotoOrderUrlParams, headers: api.CompletePhotoOrderHeaders) => {\n return api.completePhotoOrderRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n terminatePhotoOrder = async (\n urlParams: api.TerminatePhotoOrderUrlParams,\n headers: api.TerminatePhotoOrderHeaders\n ) => {\n return api.terminatePhotoOrderRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n // realty\n\n findRealtyDuplicate = async (params: api.FindRealtyDuplicateParams, headers: api.FindRealtyDuplicateHeaders) => {\n return api.findRealtyDuplicateRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findRealtyPriceHistory = async (\n params: api.FindRealtyPriceHistoryParams,\n headers: api.FindRealtyPriceHistoryHeaders\n ) => {\n return api.findRealtyPriceHistoryRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findSimilarRealtyIdsById = async (urlParams: api.FindSimilarRealtyIdsByIdUrlParams) => {\n return api.findSimilarRealtyIdsById({ urlParams, baseURL: await this.baseURL });\n };\n\n subscribeToRealtyUpdates = async (body: api.SubscribeToRealtyUpdatesBody) => {\n return api.subscribeToRealtyUpdatesRequest({ body, baseURL: await this.baseURL });\n };\n\n // scoring\n\n findScoring = async (params: api.FindScoringParams, headers: api.FindScoringHeaders) => {\n return api.findScoringRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n // serviceRequest\n\n addServiceRequestAssistant = async (\n urlParams: api.AddServiceRequestAssistantUrlParams,\n body: api.AddServiceRequestAssistantBody,\n headers: api.AddServiceRequestAssistantHeaders\n ) => {\n return api.addServiceRequestAssistantRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n approveCloseServiceRequest = async (\n urlParams: api.ApproveCloseServiceRequestUrlParams,\n body: api.ApproveCloseServiceRequestBody,\n headers: api.ApproveCloseServiceRequestHeaders\n ) => {\n return api.approveCloseServiceRequestRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n callbackServiceRequest = async (\n urlParams: api.CallbackServiceRequestUrlParams,\n headers: api.CallbackServiceRequestHeaders\n ) => {\n return api.callbackServiceRequestRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n changeServiceRequestCompany = async (\n urlParams: api.ChangeServiceRequestCompanyUrlParams,\n body: api.ChangeServiceRequestCompanyBody,\n headers: api.ChangeServiceRequestCompanyHeaders\n ) => {\n return api.changeServiceRequestCompanyRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n closeServiceRequest = async (\n urlParams: api.CloseServiceRequestUrlParams,\n body: api.CloseServiceRequestBody,\n headers: api.CloseServiceRequestHeaders\n ) => {\n return api.closeServiceRequestRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n completeServiceRequestModeration = async (\n urlParams: api.CompleteServiceRequestModerationUrlParams,\n headers: api.CompleteServiceRequestModerationHeaders\n ) => {\n return api.completeServiceRequestModerationRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n createServiceRequest = async (body: api.CreateServiceRequestBody, headers: api.CreateServiceRequestHeaders) => {\n return api.createServiceRequestRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n createInvestSellServiceRequest = async (\n body: api.CreateInvestSellServiceRequestBody,\n headers: api.CreateInvestSellServiceRequestHeaders\n ) => {\n return api.createInvestSellServiceRequestRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n createServiceRequestByCrossSaleId = async (\n urlParams: api.CreateServiceRequestByCrossSaleIdUrlParams,\n headers: api.CreateServiceRequestByCrossSaleIdHeaders\n ) => {\n return api.createServiceRequestByCrossSaleIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n createServiceRequestActivity = async (\n body: api.CreateServiceRequestActivityBody,\n headers: api.CreateServiceRequestActivityHeaders\n ) => {\n return api.createServiceRequestActivityRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n createServiceRequestCategorizedFile = async (\n urlParams: api.CreateServiceRequestCategorizedFileUrlParams,\n body: api.CreateServiceRequestCategorizedFileBody,\n headers: api.CreateServiceRequestCategorizedFileHeaders\n ) => {\n return api.createServiceRequestCategorizedFileRequest({\n urlParams,\n body,\n headers,\n baseURL: await this.baseURL,\n });\n };\n\n createServiceRequestFeedback = async (\n body: api.CreateServiceRequestFeedbackBody,\n headers: api.CreateServiceRequestFeedbackHeaders\n ) => {\n return api.createServiceRequestFeedbackRequest({\n body,\n headers,\n baseURL: await this.baseURL,\n });\n };\n\n createServiceRequestReview = async (\n body: api.CreateServiceRequestReviewBody,\n headers: api.CreateServiceRequestReviewHeaders\n ) => {\n return api.createServiceRequestReviewRequest({\n body,\n headers,\n baseURL: await this.baseURL,\n });\n };\n\n createServiceRequestSellerReport = async (\n urlParams: api.CreateServiceRequestSellerReportUrlParams,\n body: api.CreateServiceRequestSellerReportBody,\n headers: api.CreateServiceRequestSellerReportHeaders\n ) => {\n return api.createServiceRequestSellerReportRequest({\n urlParams,\n body,\n headers,\n baseURL: await this.baseURL,\n });\n };\n\n deferServiceRequest = async (body: api.DeferServiceRequestBody, headers: api.DeferServiceRequestHeaders) => {\n return api.deferServiceRequestRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n deleteServiceRequestCategorizedFile = async (\n urlParams: api.DeleteServiceRequestCategorizedFileUrlParams,\n headers: api.DeleteServiceRequestCategorizedFileHeaders\n ) => {\n return api.deleteServiceRequestCategorizedFileRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n deleteServiceRequestReportForSeller = async (\n urlParams: api.DeleteServiceRequestReportForSellerUrlParams,\n headers: api.DeleteServiceRequestReportForSellerHeaders\n ) => {\n return api.deleteServiceRequestReportForSellerRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n depublishServiceRequest = async (\n urlParams: api.DepublishServiceRequestUrlParams,\n headers: api.DepublishServiceRequestHeaders,\n body: api.DepublishServiceRequestBody\n ) => {\n return api.depublishServiceRequest({ urlParams, headers, body, baseURL: await this.baseURL });\n };\n\n disapproveCloseServiceRequest = async (\n urlParams: api.DisapproveCloseServiceRequestUrlParams,\n headers: api.DisapproveCloseServiceRequestHeaders\n ) => {\n return api.disapproveCloseServiceRequestRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n doneServiceRequestVerificationRequest = async (\n urlParams: api.DoneServiceRequestVerificationUrlParams,\n headers: api.DoneServiceRequestVerificationHeaders\n ) => {\n return api.doneServiceRequestVerificationRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n failServiceRequestVerification = async (\n urlParams: api.FailServiceRequestVerificationUrlParams,\n headers: api.FailServiceRequestVerificationHeaders\n ) => {\n return api.failServiceRequestVerificationRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findServiceRequestActivities = async (\n params: api.FindServiceRequestActivitiesParams,\n headers: api.FindServiceRequestActivitiesHeaders\n ) => {\n return api.findServiceRequestActivitiesRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findServiceRequestById = async (\n urlParams: api.FindServiceRequestByIdUrlParams,\n headers: api.FindServiceRequestByIdHeaders\n ) => {\n return api.findServiceRequestByIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findServiceRequestDuplicates = async (\n body: api.FindServiceRequestDuplicatesBody,\n headers: api.FindServiceRequestDuplicatesHeaders\n ) => {\n return api.findServiceRequestDuplicatesRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n findServiceRequests = async (params: api.FindServiceRequestsParams, headers: api.FindServiceRequestsHeaders) => {\n return api.findServiceRequestsRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findServiceRequestsKanban = async (\n params: api.FindServiceRequestsKanbanParams,\n headers: api.FindServiceRequestsKanbanHeaders\n ) => {\n return api.findServiceRequestsKanbanRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findServiceRequestShortInfo = async (\n params: api.FindServiceRequestsShortInfoParams,\n headers: api.FindServiceRequestShortInfoHeaders\n ) => {\n return api.findServiceRequestShortInfoRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findServiceRequestShortInfoByDealId = async (\n urlParams: api.FindServiceRequestShortInfoByDealIdUrlParams,\n headers: api.FindServiceRequestShortInfoByDealIdHeaders\n ) => {\n return api.findServiceRequestShortInfoByDealIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findServiceRequestShortInfoById = async (\n urlParams: api.FindServiceRequestShortInfoByIdUrlParams,\n headers: api.FindServiceRequestShortInfoByIdHeaders\n ) => {\n return api.findServiceRequestShortInfoByIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findServiceRequestStatisticsById = async (\n urlParams: api.FindServiceRequestStatisticsByIdUrlParams,\n headers: api.FindServiceRequestStatisticsByIdHeaders\n ) => {\n return api.findServiceRequestStatisticsByIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findServiceRequestCategorizedFiles = async (\n urlParams: api.FindServiceRequestCategorizedFilesUrlParams,\n params: api.FindServiceRequestCategorizedFilesParams,\n headers: api.FindServiceRequestCategorizedFilesHeaders\n ) => {\n return api.findServiceRequestCategorizedFilesRequest({\n urlParams,\n params,\n headers,\n baseURL: await this.baseURL,\n });\n };\n\n findServiceRequestCategoryById = async (\n urlParams: api.FindServiceRequestCategoryByIdUrlParams,\n headers: api.FindServiceRequestCategoryByIdHeaders,\n params?: api.FindServiceRequestCategoryByIdParams\n ) => {\n return api.findServiceRequestCategoryByIdRequest({\n urlParams,\n params,\n headers,\n baseURL: await this.baseURL,\n });\n };\n\n findServiceRequestDiscountEfficiencyPercent = async (\n urlParams: api.FindServiceRequestDiscountEfficiencyPercentUrlParams,\n headers: api.FindServiceRequestDiscountEfficiencyPercentHeaders\n ) => {\n return api.findServiceRequestDiscountEfficiencyPercentRequest({\n urlParams,\n headers,\n baseURL: await this.baseURL,\n });\n };\n\n findServiceRequestCategorizedFileCreatedDate = async (\n urlParams: api.FindServiceRequestCategorizedFileCreatedDateUrlParams,\n headers: api.FindServiceRequestCategorizedFileCreatedDateHeaders\n ) => {\n return api.findServiceRequestCategorizedFileCreatedDateRequest({\n urlParams,\n headers,\n baseURL: await this.baseURL,\n });\n };\n\n findPriceHistoryAnalyticsById = async (\n urlParams: api.FindPriceHistoryAnalyticsByIdUrlParams,\n headers: api.FindPriceHistoryAnalyticsByIdHeaders\n ) => {\n return api.findPriceHistoryAnalyticsByIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findServiceRequestSellerReports = async (\n urlParams: api.FindServiceRequestSellerReportsUrlParams,\n params: api.FindServiceRequestSellerReportsParams,\n headers: api.FindServiceRequestSellerReportsHeaders\n ) => {\n return api.findServiceRequestSellerReportsRequest({\n urlParams,\n params,\n headers,\n baseURL: await this.baseURL,\n });\n };\n\n publishServiceRequest = async (\n urlParams: api.PublishServiceRequestUrlParams,\n headers: api.PublishServiceRequestHeaders\n ) => {\n return api.publishServiceRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n removeServiceRequestAssistant = async (\n urlParams: api.RemoveServiceRequestAssistantUrlParams,\n headers: api.RemoveServiceRequestAssistantHeaders\n ) => {\n return api.removeServiceRequestAssistantRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n restoreServiceRequest = async (\n urlParams: api.RestoreServiceRequestUrlParams,\n headers: api.RestoreServiceRequestHeaders\n ) => {\n return api.restoreServiceRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n returnDeferredServiceRequest = async (\n body: api.ReturnDeferredServiceRequestBody,\n headers: api.ReturnDeferredServiceRequestHeaders\n ) => {\n return api.returnDeferredServiceRequestRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n sendServiceRequestToModeration = async (\n urlParams: api.SendServiceRequestToModerationUrlParams,\n headers: api.SendServiceRequestToModerationHeaders\n ) => {\n return api.sendServiceRequestToModerationRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n sendServiceRequestVerification = async (\n urlParams: api.SendServiceRequestVerificationUrlParams,\n headers: api.SendServiceRequestVerificationHeaders\n ) => {\n return api.sendServiceRequestVerificationRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n startServiceRequestModeration = async (\n urlParams: api.StartServiceRequestModerationUrlParams,\n headers: api.StartServiceRequestModerationHeaders\n ) => {\n return api.startServiceRequestModerationRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n startServiceRequestModerationForOldRealty = async (\n urlParams: api.StartServiceRequestModerationForOldRealtyUrlParams,\n headers: api.StartServiceRequestModerationForOldRealtyHeaders\n ) => {\n return api.startServiceRequestModerationForOldRealtyRequest({\n urlParams,\n headers,\n baseURL: await this.baseURL,\n });\n };\n\n transferServiceRequest = async (\n urlParams: api.TransferServiceRequestUrlParams,\n body: api.TransferServiceRequestBody,\n headers: api.TransferServiceRequestHeaders\n ) => {\n return api.transferServiceRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n updateServiceRequest = async (\n urlParams: api.UpdateServiceRequestUrlParams,\n body: api.UpdateServiceRequestBody,\n headers: api.UpdateServiceRequestHeaders\n ) => {\n return api.updateServiceRequestRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n updateServiceRequestPersonalAssistant = async (\n urlParams: api.UpdateServiceRequestPersonalAssistantUrlParams,\n body: api.UpdateServiceRequestPersonalAssistantBody,\n headers: api.UpdateServiceRequestPersonalAssistantHeaders\n ) => {\n return api.updateServiceRequestPersonalAssistantRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n updateServiceRequestPlanDraw = async (\n urlParams: api.UpdateServiceRequestPlanDrawUrlParams,\n body: api.UpdateServiceRequestPlanDrawBody,\n headers: api.UpdateServiceRequestPlanDrawHeaders\n ) => {\n return api.updateServiceRequestPlanDrawRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n // slack\n\n createCianRating = async (body: api.CreateCianRatingBody, headers: api.CreateCianRatingHeaders) => {\n return api.createCianRatingRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n // sold\n\n findSoldStatistic = async (headers?: api.FindSoldStatisticHeaders) => {\n return api.findSoldStatisticRequest({ headers, baseURL: await this.baseURL });\n };\n\n // stats markup\n\n findMarkupCalls = async (params: api.FindMarkupCallsParams, headers: api.FindMarkupCallsHeaders) => {\n return api.findMarkupCallsRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findMarkupBySourceCalls = async (\n params: api.FindMarkupBySourceCallsParams,\n headers: api.FindMarkupBySourceCallsHeaders\n ) => {\n return api.findMarkupBySourceCallsRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n // task\n\n findTasks = async (params: api.FindTasksParams, headers: api.FindTasksHeaders) => {\n return api.findTasksRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findTaskById = async (urlParams: api.FindTaskByIdUrlParams, headers: api.FindTaskByIdHeaders) => {\n return api.findTaskByIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n createTask = async (body: api.CreateTaskBody, headers: api.CreateTaskHeaders) => {\n return api.createTaskRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n updateTask = async (urlParams: api.UpdateTaskUrlParams, body: api.UpdateTaskBody, headers: api.UpdateTaskHeaders) => {\n return api.updateTaskRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n resolveTask = async (urlParams: api.ResolveTaskUrlParams, headers: api.ResolveTaskHeaders) => {\n return api.resolveTaskRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n // user\n\n assignSubordinateUsers = async (\n urlParams: api.AssignSubordinateUsersUrlParams,\n body: api.AssignSubordinateUsersBody,\n headers: api.AssignSubordinateUsersHeaders\n ) => {\n return api.assignSubordinateUsersRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n createUser = async (body: api.CreateUserBody, headers: api.CreateUserHeaders) => {\n return api.createUserRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n deleteUser = async (urlParams: api.DeleteUserUrlParams, headers: api.DeleteUserHeaders) => {\n return api.deleteUserRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findUserById = async (urlParams: api.FindUserByIdUrlParams, headers?: api.FindUserByIdHeaders) => {\n return api.findUserByIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findUserPasswordById = async (\n urlParams: api.FindUserPasswordByIdUrlParams,\n headers?: api.FindUserPasswordByIdHeaders\n ) => {\n return api.findUserPasswordByIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findUsers = async (params: api.FindUsersParams, headers: api.FindUsersHeaders) => {\n return api.findUsersRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findUserTokenById = async (urlParams: api.FindUserTokenByIdUrlParams, headers?: api.FindUserTokenByIdHeaders) => {\n return api.findUserTokenByIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n fireUser = async (urlParams: api.FireUserUrlParams, body: api.FireUserBody, headers: api.FireUserHeaders) => {\n return api.fireUserRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n updateUser = async (urlParams: api.UpdateUserUrlParams, body: api.UpdateUserBody, headers: api.UpdateUserHeaders) => {\n return api.updateUserRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n // valuation\n\n actualizeValuation = async (urlParams: api.ActualizeValuationUrlParams, headers: api.ActualizeValuationHeaders) => {\n return api.actualizeValuationRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n createValuation = async (body: api.CreateValuationBody, headers: api.CreateValuationHeaders) => {\n return api.createValuationRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n createValuationRealtyComment = async (\n urlParams: api.CreateValuationRealtyCommentUrlParams,\n body: api.CreateValuationRealtyCommentBody,\n headers: api.CreateValuationRealtyCommentHeaders\n ) => {\n return api.createValuationRealtyCommentRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n findValuationByServiceRequestId = async (\n urlParams: api.FindValuationByServiceRequestIdUrlParams,\n params?: api.FindValuationByServiceRequestIdParams,\n headers?: api.FindValuationByServiceRequestIdHeaders\n ) => {\n return api.findValuationByServiceRequestIdRequest({\n urlParams,\n params,\n headers,\n baseURL: await this.baseURL,\n });\n };\n\n findValuationNewsByServiceRequestId = async (\n urlParams: api.FindValuationNewsByServiceRequestIdUrlParams,\n headers: api.FindValuationNewsByServiceRequestIdHeaders\n ) => {\n return api.findValuationNewsByServiceRequestIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n updateValuationNewsStatus = async (\n urlParams: api.UpdateValuationNewsStatusUrlParams,\n body: api.UpdateValuationNewsStatusBody,\n headers: api.UpdateValuationNewsStatusHeaders\n ) => {\n return api.updateValuationNewsStatusRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n}\n\nexport * from './api';\nexport * from './dictionaries';\nexport * from './types';\n","import { AddressBTIParamsParking, AddressBTIParamsWallsMaterial, AddressBTIParamsHeatingType } from '../types';\n\nexport const AddressBTIParamsDictionary = {\n Parking: {\n [AddressBTIParamsParking.Ground]: 'Наземная',\n [AddressBTIParamsParking.Multilevel]: 'Многоуровневая',\n [AddressBTIParamsParking.Underground]: 'Подземная',\n },\n WallsMaterial: {\n [AddressBTIParamsWallsMaterial.Brick]: 'Кирпичный',\n [AddressBTIParamsWallsMaterial.Monolith]: 'Монолитный',\n [AddressBTIParamsWallsMaterial.Monobrick]: 'Монолитно-кирпичный',\n [AddressBTIParamsWallsMaterial.Timber]: 'Деревянный',\n [AddressBTIParamsWallsMaterial.Panel]: 'Панельный',\n [AddressBTIParamsWallsMaterial.Block]: 'Блочный',\n },\n HeatingType: {\n [AddressBTIParamsHeatingType.None]: 'Нет',\n [AddressBTIParamsHeatingType.Central]: 'Центральное',\n [AddressBTIParamsHeatingType.Local]: 'Отдельное',\n [AddressBTIParamsHeatingType.Gas]: 'Газовое',\n [AddressBTIParamsHeatingType.Electricity]: 'Электрическое',\n [AddressBTIParamsHeatingType.Liquid]: 'Жидкое топливо',\n [AddressBTIParamsHeatingType.Furnace]: 'Печь',\n [AddressBTIParamsHeatingType.SolidFuelBoiler]: 'Твердотопливный котел',\n },\n};\n","import { AppointmentPlace, AppointmentNotificationType, AppointmentStatus } from '../types';\n\nexport const AppointmentDictionary = {\n Place: {\n [AppointmentPlace.Flat]: 'На квартире',\n [AppointmentPlace.Office]: 'В офисе',\n [AppointmentPlace.Online]: 'Онлайн',\n },\n NotificationType: {\n [AppointmentNotificationType.Morning]: 'Утром',\n [AppointmentNotificationType.Min15]: 'За 15 минут',\n [AppointmentNotificationType.Hour1]: 'За час',\n [AppointmentNotificationType.Hour2]: 'За 2 часа',\n [AppointmentNotificationType.Nil]: 'Не напоминать',\n },\n Status: {\n [AppointmentStatus.Planned]: 'Запланирована',\n [AppointmentStatus.Completed]: 'Завершена',\n [AppointmentStatus.Cancelled]: 'Отменена',\n },\n};\n","import {\n AvailableFundsIncomeType,\n AvailableFundsCostType,\n AvailableFundsPaymentType,\n AvailableFundsRealtyType,\n AvailableFundsPayerType,\n AvailableFundsCompanyName,\n} from '../types';\n\nexport const AvailableFundsDictionary = {\n IncomeType: {\n [AvailableFundsIncomeType.Cashbox]: 'Касса',\n [AvailableFundsIncomeType.CheckingAccount]: 'Расчетный счет',\n [AvailableFundsIncomeType.Other]: 'Прочее',\n },\n CostType: {\n [AvailableFundsCostType.BillOfCredit]: 'Оплата аккредитива',\n [AvailableFundsCostType.BonusPaymentToMentor]: 'Выплата бонуса наставнику',\n [AvailableFundsCostType.BonusPaymentToTeamlead]: 'Выплата бонуса РОПу',\n [AvailableFundsCostType.BonusToTrainee]: 'Выплата бонуса стажеру',\n [AvailableFundsCostType.BonusToExpert]: 'Выплата бонуса эксперту',\n [AvailableFundsCostType.InternalPartnerBonusToExpert]: 'Выплата бонуса внутреннему партнеру-эксперту',\n [AvailableFundsCostType.ChargingBankAccount]: 'Внесение на р/с',\n [AvailableFundsCostType.LegalSupportPayment]: 'Внесение за альтернативный объект',\n [AvailableFundsCostType.OtherPayments]: 'Прочие расходы',\n [AvailableFundsCostType.PartnerCharges]: 'Партнерские расходы',\n [AvailableFundsCostType.RealtyLegalCheck]: 'Проверка объектов',\n [AvailableFundsCostType.ReferralForExpert]: 'Выплата рефералу эксперта',\n [AvailableFundsCostType.ReferralForPA]: 'Выплата рефералу ПА',\n [AvailableFundsCostType.RefundOfAdvance]: 'Возврат аванса',\n [AvailableFundsCostType.SafeDepositBox]: 'Оплата банковской ячейки',\n [AvailableFundsCostType.DeveloperDepositPayment]: 'Оплата депозита застройщику',\n [AvailableFundsCostType.BonusPaymentAsiaConsultant]: 'Выплата бонуса консультанту Азия',\n [AvailableFundsCostType.SpsBonusPayment]: 'Выплата бонуса СПС',\n [AvailableFundsCostType.BonusPaymentInventoryDepartmentHead]: 'Выплата бонуса главе отдела инвентаря',\n [AvailableFundsCostType.BonusPaymentInventoryDepartmentAdmin]: 'Выплата бонуса админу отдела инвентаря',\n [AvailableFundsCostType.BonusPaymentOfficeAdmin]: 'Выплата бонуса админу офиса',\n [AvailableFundsCostType.DealNdsPayment]: 'НДС по сделке',\n [AvailableFundsCostType.BonusPersonalAssistantFirstLevel]: 'Выплата бонуса ПА 1',\n [AvailableFundsCostType.BonusPersonalAssistantSecondLevel]: 'Выплата бонус ПА 2',\n [AvailableFundsCostType.BonusPersonalAssistantThirdLevel]: 'Выплата бонус ПА 3',\n [AvailableFundsCostType.BonusPortfolioCoordinator]: 'Выплата бонус координатору набор портфеля',\n [AvailableFundsCostType.BonusExpoCoordinator]: 'Выплата бонус координатору экспозиция',\n [AvailableFundsCostType.PaymentForPhotography]: 'Оплата за фотосъемку',\n [AvailableFundsCostType.PaymentForAttractingLead]: 'Оплата за привлечение лида',\n // неактуально, но оставлено для обратной совместимости\n [AvailableFundsCostType.Referral]: 'Выплата по реферальной программе',\n },\n PaymentType: {\n [AvailableFundsPaymentType.AdvancePaymentUnderTheAdvanceAgreement]: 'Аванс по соглашению об авансе',\n [AvailableFundsPaymentType.ClosingDeal]: 'Закрытие сделки',\n [AvailableFundsPaymentType.LetterOfGuarantee]: 'Гарантийное письмо',\n [AvailableFundsPaymentType.OtherPayment]: 'Прочие поступления',\n [AvailableFundsPaymentType.Prepayment]: 'Предоплата',\n [AvailableFundsPaymentType.SecurityPayment]: 'Обеспечительный платеж',\n [AvailableFundsPaymentType.DouPayment]: 'Поступления по ДОУ',\n [AvailableFundsPaymentType.DeveloperCommission]: 'Комиссия от застройщика',\n },\n RealtyType: {\n [AvailableFundsRealtyType.Elite]: 'Элитная',\n [AvailableFundsRealtyType.Foreign]: 'Зарубежная',\n [AvailableFundsRealtyType.NewFlatDeveloper]: 'Новостройки/Застройщик',\n [AvailableFundsRealtyType.Resale]: 'Вторичка',\n },\n PayerType: {\n [AvailableFundsPayerType.Common]: 'Общий',\n [AvailableFundsPayerType.Homeapp]: 'Homeapp',\n [AvailableFundsPayerType.SalesHead]: 'РОП',\n [AvailableFundsPayerType.Expert]: 'Эксперт',\n },\n CompanyName: {\n [AvailableFundsCompanyName.RuCo]: 'Российская компания',\n [AvailableFundsCompanyName.VietCo]: 'Вьетнамская компания',\n [AvailableFundsCompanyName.KzCo]: 'Казахстанская компания',\n },\n};\n","import { BillServiceType, BillServiceUnit } from '../types';\n\nexport const BillDictionary = {\n ServiceType: {\n [BillServiceType.SecurityDepositPayment]: 'Оплата по соглашению о принятии ОП',\n [BillServiceType.FullPayment]: 'Окончательный расчет',\n [BillServiceType.BuyServicePayment]: 'Оплата оказания услуг',\n },\n ServiceUnit: {\n [BillServiceUnit.Piece]: 'шт',\n },\n};\n","import { BuyerStatus } from '../types';\n\nexport const BuyerDictionary = {\n BuyerStatus: {\n [BuyerStatus.Incoming]: 'Входящее обращение',\n [BuyerStatus.ShowCoordination]: 'Согласование даты показа',\n [BuyerStatus.ShowScheduled]: 'Показ назначен',\n [BuyerStatus.ShowComplete]: 'Показ проведен (ожидание оффера)',\n [BuyerStatus.GotOffer]: 'Оффер получен (согласование)',\n [BuyerStatus.Advance]: 'Аванс',\n [BuyerStatus.Closed]: 'Завершение работы',\n },\n};\n","import { CallType, CallDefaultTelephony } from '../types';\n\nexport const CallDictionary = {\n Direction: {\n [CallType.Out]: 'Исходящий',\n [CallType.In]: 'Входящий',\n [CallType.Transferred]: 'Переведенный',\n },\n DefaultTelephony: {\n [CallDefaultTelephony.Voximplant]: 'VoxImplant',\n [CallDefaultTelephony.Zadarma]: 'Zadarma',\n },\n};\n","import {\n CallTaskPriority,\n CallTaskStatus,\n CallTaskReason,\n CallTaskColdReason,\n CallTaskTriggeredByEvent,\n CallTaskType,\n CallTaskDirection,\n} from '../types';\n\nexport const CallTaskDictionary = {\n Priority: {\n [CallTaskPriority.Low]: 'Низкий',\n [CallTaskPriority.Default]: 'Обычный',\n [CallTaskPriority.High]: 'Высокий',\n [CallTaskPriority.VeryHigh]: 'Очень высокий',\n },\n Direction: {\n [CallTaskDirection.Moscow]: 'Московский офис',\n [CallTaskDirection.Asia]: 'Заявка по Азии',\n },\n Status: {\n [CallTaskStatus.Open]: 'Не обработано',\n [CallTaskStatus.Booked]: 'В обработке',\n [CallTaskStatus.Markup]: 'Размечено',\n [CallTaskStatus.Lead]: 'ЗОУ',\n [CallTaskStatus.Spam]: 'Спам',\n [CallTaskStatus.Closed]: 'Закрыто',\n [CallTaskStatus.Outgoing]: 'Исходящий звонок',\n },\n Reason: {\n [CallTaskReason.WrongGeo]: 'Не целевая география',\n [CallTaskReason.Double]: 'Дубль',\n [CallTaskReason.Agent]: 'Агент',\n [CallTaskReason.BuyingOrSellingPart]: 'Доля',\n [CallTaskReason.NotReadyToPay]: 'Не готов платить',\n [CallTaskReason.CantReach]: 'Не удалось дозвониться',\n [CallTaskReason.ClientCall]: 'Звонок от клиента',\n [CallTaskReason.NotBuyingOrSelling]: 'Не продаёт/покупает',\n [CallTaskReason.NoPhoneNumber]: 'Нет номера телефона',\n [CallTaskReason.WrongPhoneNumber]: 'Неверный номер телефона',\n [CallTaskReason.GotWrongNumber]: 'Ошиблись номером',\n [CallTaskReason.MistakenlyLeftRequest]: 'Ошибочно оставили заявку',\n [CallTaskReason.DidNotLeaveRequest]: 'Не оставляли заявку',\n [CallTaskReason.NotRelevant]: 'Не актуально',\n [CallTaskReason.LowBudget]: 'Низкий бюджет',\n [CallTaskReason.RemoveFromAdvertising]: 'Запрос на снятие с рекламы',\n [CallTaskReason.NoAddressInMarkup]: 'Нет адреса в разметке',\n [CallTaskReason.Complaint]: 'Жалоба',\n [CallTaskReason.Commercial]: 'Коммерческое предложение',\n [CallTaskReason.Test]: 'Тест',\n [CallTaskReason.Other]: 'Другое',\n },\n ColdReason: {\n [CallTaskColdReason.InadequateOwner]: 'Неадекватный собственник',\n [CallTaskColdReason.UnsuitableDeal]: 'Не подходят условия сделки',\n [CallTaskColdReason.AgentsNotAllowed]: 'Собственник не работает с агентами',\n [CallTaskColdReason.NotAnOwner]: 'Не является собственником',\n [CallTaskColdReason.BadDocuments]: 'Проблема с документами',\n },\n TriggeredByEvent: {\n [CallTaskTriggeredByEvent.PublishedFortnight]: 'Контракты в работе',\n [CallTaskTriggeredByEvent.TerminatedContract]: 'Расторгнутые контракты',\n [CallTaskTriggeredByEvent.DealDone]: 'Сделка\"',\n [CallTaskTriggeredByEvent.DealCreated]: 'Авансы',\n [CallTaskTriggeredByEvent.TerminatedContractAfterPrepayment]: 'Расторгнутые договора после аванса',\n [CallTaskTriggeredByEvent.Lead]: 'Выгрузка лидов',\n [CallTaskTriggeredByEvent.WarmDepublished]: 'Ликвидные объекты, снятые с рекламы',\n [CallTaskTriggeredByEvent.WarmPublished]: 'Ликвидные объекты, в рекламе',\n },\n Type: {\n [CallTaskType.Buyer]: 'Покупатель',\n [CallTaskType.Seller]: 'Продавец',\n [CallTaskType.ActiveClientSearch]: 'АПК',\n [CallTaskType.Other]: 'Иное',\n },\n};\n","import { ContactType } from '../types';\n\nexport const ContactDictionary = {\n Type: {\n [ContactType.SlackId]: 'ID пользователя в слак',\n [ContactType.SlackGroupId]: 'ID канала в слак',\n [ContactType.SlackUsername]: 'Имя пользователя в слак',\n [ContactType.SlackGroupName]: 'Название канала слак',\n [ContactType.Email]: 'E-mail',\n [ContactType.Facebook]: 'Facebook',\n [ContactType.ICQ]: 'ICQ',\n [ContactType.IMessage]: 'iMessage',\n [ContactType.Instagram]: 'Instagram',\n [ContactType.Jabber]: 'Jabber',\n [ContactType.LinkedIn]: 'LinkedIn',\n [ContactType.Odnoklassniki]: 'Одноклассники',\n [ContactType.Skype]: 'Skype',\n [ContactType.Telegram]: 'Telegram',\n [ContactType.VK]: 'Вконтакте',\n [ContactType.VoxAccount]: 'Аккаунт телефонии (vox)',\n [ContactType.WhatsApp]: 'WhatsApp',\n },\n};\n","import { ContractType, ContractStatus, ContractKind } from '../types';\n\nexport const ContractDictionary = {\n Type: {\n [ContractType.Buy]: 'Покупка',\n [ContractType.Sell]: 'Продажа',\n [ContractType.EscortSell]: 'Сопровождение продажи',\n [ContractType.EscortBuy]: 'Сопровождение покупки',\n },\n Status: {\n [ContractStatus.Booked]: 'Неподтверждённая бронь',\n [ContractStatus.Approved]: 'Бронь одобренная РОП',\n [ContractStatus.Declined]: 'Бронь отклонённая РОП\"',\n [ContractStatus.Signed]: 'Договор',\n [ContractStatus.Terminated]: 'Отмена сделки',\n [ContractStatus.BookingCanceled]: 'ЗОУ закрыто',\n [ContractStatus.PrepaymentPlanned]: 'Запланирован аванс',\n [ContractStatus.NoPrepayment]: 'Запланирована сделка без аванса',\n [ContractStatus.Prepaid]: 'Получен аванс по сделке',\n [ContractStatus.DealSigned]: 'Сделка подписана',\n [ContractStatus.Registered]: 'Документы зарегистрированы',\n [ContractStatus.DealDone]: 'Сделка закрыта',\n },\n Kind: {\n [ContractKind.NotExclusive]: 'Не эксклюзив',\n [ContractKind.Exclusive]: 'Эксклюзив',\n [ContractKind.OnAdvance]: 'Устный',\n [ContractKind.LegalSupport]: 'Cопровождение',\n },\n};\n","import { ContractDocumentKind, ContractDocumentSubject } from '../types';\n\nexport const ContractDocumentDictionary = {\n Kind: {\n [ContractDocumentKind.Flat]: 'Квартира',\n [ContractDocumentKind.Apartment]: 'Апартаменты',\n [ContractDocumentKind.House]: 'Дом',\n [ContractDocumentKind.HouseWithLand]: 'Дом с земельным участком',\n [ContractDocumentKind.RightToDemand]: 'Право требования',\n },\n Subject: {\n [ContractDocumentSubject.Buy]: 'Подбор объекта',\n [ContractDocumentSubject.Escort]: 'Содействие в оформлении',\n [ContractDocumentSubject.RealtyHistoryAnalyze]: 'Анализ истории объекта',\n [ContractDocumentSubject.ContractCreating]: 'Составление договора',\n [ContractDocumentSubject.MortgageSupport]: 'Оформление ипотеки',\n [ContractDocumentSubject.MortgageRefinancing]: 'Рефинансирование ипотеки',\n [ContractDocumentSubject.DocumentCollecting]: 'Сбор документов',\n [ContractDocumentSubject.RealtorConsulting]: 'Выезд специалиста на сделку',\n [ContractDocumentSubject.DocumentSubmitting]: 'Подача документов',\n [ContractDocumentSubject.LawSupport]: 'Юридическое сопровождение',\n [ContractDocumentSubject.OtherServices]: 'Другие услуги',\n },\n};\n","import { ContractLegalDocumentStatus, ContractLegalDocumentType } from '../types';\n\nexport const ContractLegalDocumentDictionary = {\n Status: {\n [ContractLegalDocumentStatus.NotFound]: 'Документ не найден',\n [ContractLegalDocumentStatus.NotRequested]: 'Документ не запрашивался',\n [ContractLegalDocumentStatus.Requested]: 'Документ запрошен',\n [ContractLegalDocumentStatus.Ready]: 'Документ готов',\n },\n Type: {\n [ContractLegalDocumentType.Egrn]: 'ЕГРН',\n [ContractLegalDocumentType.OwnershipTransfers]: 'Переход собственности',\n },\n};\n","import { CrossSaleContractorType } from '../types';\n\nexport const CrossSaleDictionary = {\n ContractorType: {\n [CrossSaleContractorType.Owner]: 'Собственник',\n [CrossSaleContractorType.Agent]: 'Частный агент',\n [CrossSaleContractorType.Agency]: 'Агентство',\n },\n};\n","import { Currency } from '../types';\n\nexport const CurrencyDictionary = {\n [Currency.Rub]: 'Российский рубль',\n [Currency.Usd]: 'Американский доллар',\n [Currency.Eur]: 'Евро',\n [Currency.Kzt]: 'Казахстанский тенге',\n [Currency.Aed]: 'Дирхам ОАЭ',\n [Currency.Vnd]: 'Вьетнамский донг',\n [Currency.Idr]: 'Индонезийская рупия',\n [Currency.Thb]: 'Тайский бат',\n [Currency.Khr]: 'Камбоджийский риель',\n};\n","import { DealBillServiceType, DealFileCategory, DealNoLawyerReason, DealPartnerDealType, DealStatus } from '../types';\n\nexport const DealDictionary = {\n DealNoLawyerReason: {\n [DealNoLawyerReason.FromDeveloper]: 'Новостройка от застройщика (не требуется юрист)',\n [DealNoLawyerReason.NoLawyerOffice]: 'Офис без юристов',\n },\n DealPartnerDealType: {\n [DealPartnerDealType.PartnerCommission]: 'Партнерская сделка (комиссия партнера)',\n [DealPartnerDealType.HomeappCommission]: 'Партнерская сделка (комиссия Homeapp)',\n },\n DealFileCategory: {\n [DealFileCategory.DeleteReason]: 'Является обоснованием закрытия сделки',\n [DealFileCategory.Egrn]: 'ЕГРН',\n [DealFileCategory.OwnershipTransfers]: 'Переходы собственности',\n [DealFileCategory.Risk]: 'Проверка на риски',\n [DealFileCategory.Act]: 'Акт с клиентом',\n [DealFileCategory.ActDeveloper]: 'Инвестор',\n [DealFileCategory.OwnershipCertificate]: 'Свид-во права собственности (при покупке)',\n [DealFileCategory.FloorPlan]: 'Поэтажный план',\n [DealFileCategory.Explication]: 'Экспликация',\n [DealFileCategory.Egd]: 'Выписка из домовой книги/ЕЖД',\n [DealFileCategory.ReferenceNoDebtGku]: 'Справка об отсутствии задолж-ти ЖКУ',\n [DealFileCategory.ReferenceNoDebtRepair]: 'Справка об отсутствии задолж-ти по кап. ремонту',\n [DealFileCategory.ReferencePnd]: 'Справки ПНД',\n [DealFileCategory.ReferenceNd]: 'Справки НД',\n [DealFileCategory.PassportContractor]: 'Паспорта контрагента (свид-ва о рождении)',\n [DealFileCategory.MarriageCertificateContractor]: 'Свидетельство о регистрации/расторжении брака',\n [DealFileCategory.SpouseAgreementContractor]: 'Нотариальное согласие супруга',\n [DealFileCategory.Invest]: 'Документы инвестпроекта',\n [DealFileCategory.Other]: 'Разное (сделка)',\n },\n DealBillServiceType: {\n [DealBillServiceType.PartPayment]: 'Частичная оплата обеспечительного платежа по договору',\n [DealBillServiceType.FullPayment]: 'Окончательный расчет по договору',\n [DealBillServiceType.BuyServicePayment]: 'Оплата по договору оказания услуг',\n [DealBillServiceType.SecurityDepositPayment]: 'Оплата по соглашению о принятии ОП',\n },\n DealStatus: {\n [DealStatus.PrepaymentPlanned]: 'Запланирован аванс',\n [DealStatus.NoPrepayment]: 'Запланирована сделка без аванса',\n [DealStatus.Prepaid]: 'Получен аванс по сделке',\n [DealStatus.DealSigned]: 'Сделка подписана',\n [DealStatus.Registered]: 'Документы зарегистрированы',\n [DealStatus.DealDone]: 'Сделка закрыта',\n [DealStatus.Terminated]: 'Отмена сделки',\n },\n};\n","import { DealCategorizedFileCategory } from '../types';\n\nexport const DealCategorizedFileDictionary = {\n Category: {\n [DealCategorizedFileCategory.Egd]: 'Выписка из домовой книги/ЕЖД',\n [DealCategorizedFileCategory.Explication]: 'Экспликация',\n [DealCategorizedFileCategory.FloorPlan]: 'Поэтажный план',\n [DealCategorizedFileCategory.Invest]: 'Документы инвестпроекта',\n [DealCategorizedFileCategory.MarriageCertificateContractor]: 'Свидетельство о регистрации/расторжении брака',\n [DealCategorizedFileCategory.Other]: 'Разное (сделка)',\n [DealCategorizedFileCategory.OwnershipCertificate]: 'Свид-во права собственности (при покупке)',\n [DealCategorizedFileCategory.PassportContractor]: 'Паспорта контрагента (свид-ва о рождении)',\n [DealCategorizedFileCategory.ReferenceNoDebtGku]: 'Справка об отсутствии задолж-ти ЖКУ',\n [DealCategorizedFileCategory.ReferenceNoDebtRepair]: 'Справка об отсутствии задолж-ти по кап. ремонту',\n [DealCategorizedFileCategory.ReferencePnd]: 'Справки ПНД',\n [DealCategorizedFileCategory.ReferenceNd]: 'Справки НД',\n [DealCategorizedFileCategory.SpouseAgreementContractor]: 'Нотариальное согласие супруга',\n [DealCategorizedFileCategory.Act]: 'Акт с клиентом',\n [DealCategorizedFileCategory.ActDeveloper]: 'Акт с застройщиком',\n [DealCategorizedFileCategory.Risk]: 'Проверка на риски',\n [DealCategorizedFileCategory.DeleteReason]: 'Является обоснованием закрытия сделки',\n [DealCategorizedFileCategory.OwnershipTransfers]: 'Переходы собственности',\n [DealCategorizedFileCategory.Egrn]: 'ЕГРН',\n },\n};\n","import { DealParticipantSide, DealParticipantPosition } from '../types';\n\nexport const DealParticipantDictionary = {\n DealParticipantSide: {\n [DealParticipantSide.Buyer]: 'Покупатель',\n [DealParticipantSide.Seller]: 'Продавец',\n },\n DealParticipantPosition: {\n [DealParticipantPosition.Agent]: 'Агент',\n [DealParticipantPosition.Lawyer]: 'Юрист',\n [DealParticipantPosition.BankEmployee]: 'Сотрудник банка',\n [DealParticipantPosition.Relative]: 'Родственник',\n [DealParticipantPosition.Seller]: 'Продавец',\n [DealParticipantPosition.Investor]: 'Инвестор',\n [DealParticipantPosition.Other]: 'Другое',\n },\n};\n","import { DebtPaymentType } from '../types';\n\nexport const DebtDictionary = {\n PaymentType: {\n [DebtPaymentType.BonusToExpert]: 'Бонус эксперта',\n [DebtPaymentType.InternalPartnerBonusToExpert]: 'Бонус внутреннему партнеру-эксперту',\n [DebtPaymentType.BonusToTrainee]: 'Бонус стажера',\n [DebtPaymentType.BonusPaymentToMentor]: 'Бонус наставника',\n [DebtPaymentType.BonusPaymentToTeamlead]: 'Бонус РОП',\n [DebtPaymentType.PartnerCharges]: 'Партнерские расходы',\n [DebtPaymentType.ReferralForExpert]: 'Выплата рефералу эксперта',\n [DebtPaymentType.ReferralForPA]: 'Выплата рефералу ПА',\n [DebtPaymentType.LegalSupportPayment]: 'Внесение за альтернативный объект',\n [DebtPaymentType.OtherPayments]: 'Прочие расходы',\n [DebtPaymentType.DeveloperDepositPayment]: 'Оплата депозита застройщику',\n [DebtPaymentType.BonusPaymentAsiaConsultant]: 'Бонус консультанту Азия',\n [DebtPaymentType.SpsBonusPayment]: 'Бонус СПС',\n [DebtPaymentType.BonusPaymentInventoryDepartmentHead]: 'Бонус главе отдела инвентаря',\n [DebtPaymentType.BonusPaymentInventoryDepartmentAdmin]: 'Бонус админу отдела инвентаря',\n [DebtPaymentType.BonusPaymentOfficeAdmin]: 'Бонус админу офиса',\n [DebtPaymentType.DealNdsPayment]: 'НДС по сделке',\n [DebtPaymentType.BonusPersonalAssistantFirstLevel]: 'Бонус ПА 1',\n [DebtPaymentType.BonusPersonalAssistantSecondLevel]: 'Бонус ПА 2',\n [DebtPaymentType.BonusPersonalAssistantThirdLevel]: 'Бонус ПА 3',\n [DebtPaymentType.BonusPortfolioCoordinator]: 'Бонус координатору набор портфеля',\n [DebtPaymentType.BonusExpoCoordinator]: 'Бонус координатору экспозиция',\n [DebtPaymentType.PaymentForPhotography]: 'Оплата за фотосъемку',\n [DebtPaymentType.PaymentForAttractingLead]: 'Оплата за привлечение лида',\n // неактуально, но оставлено для обратной совместимости\n [DebtPaymentType.Referral]: 'Выплата по реферальной программе',\n },\n};\n","import { ExpertCategoryExpertType, ExpertCategoryCategory } from '../types';\n\nexport const ExpertCategoryDictionary = {\n ExpertType: {\n [ExpertCategoryExpertType.NewExpert]: 'Новичок',\n [ExpertCategoryExpertType.ExperienceExpert]: 'Опытный',\n },\n Category: {\n [ExpertCategoryCategory.Red]: 'Красная',\n [ExpertCategoryCategory.Yellow]: 'Желтая',\n [ExpertCategoryCategory.Green]: 'Зеленая',\n [ExpertCategoryCategory.NoCategory]: 'Нет категории',\n },\n};\n","import { ExpertGradeType } from '../types/ExpertGrade';\n\nexport const ExpertGradeDictionary = {\n Type: {\n [ExpertGradeType.Junior]: 'Junior',\n [ExpertGradeType.Bronze]: 'Bronze',\n [ExpertGradeType.Silver]: 'Silver',\n [ExpertGradeType.Gold]: 'Gold',\n },\n};\n","import { FileType, FileCategory } from '../types';\n\nexport const FileDictionary = {\n Type: {\n [FileType.Image]: 'Изображение',\n [FileType.Audio]: 'Аудиозапись',\n [FileType.Video]: 'Видео',\n [FileType.Document]: 'Документ',\n },\n Category: {\n [FileCategory.DeleteReason]: 'Является обоснованием закрытия контракта',\n [FileCategory.EGRN]: 'ЕГРН',\n [FileCategory.OwnershipTransfers]: 'Переходы собственности',\n },\n};\n","import { GalleryImageType } from '../types';\n\nexport const GalleryImageDictionary = {\n Type: {\n [GalleryImageType.Main]: 'Основная',\n [GalleryImageType.Portrait]: 'Портрет',\n },\n};\n","import { LeadAssignmentBlockReason } from '../types';\n\nexport const LeadAssignmentBlockDictionary = {\n Reason: {\n [LeadAssignmentBlockReason.Vacation]: 'Отпуск',\n [LeadAssignmentBlockReason.RequestTeamlead]: 'Запрос РОПа',\n [LeadAssignmentBlockReason.ViolationRegulations]: 'Нарушение регламента по лидогенерации',\n [LeadAssignmentBlockReason.Trainee]: 'Стажер',\n },\n};\n","import { PhoneBookContactType, PhoneBookContactPhoneType } from '../types';\n\nexport const PhoneBookContactDictionary = {\n Type: {\n [PhoneBookContactType.Buyer]: 'Покупатель',\n [PhoneBookContactType.Seller]: 'Продавец',\n },\n PhoneType: {\n [PhoneBookContactPhoneType.Main]: 'Основной',\n [PhoneBookContactPhoneType.Additional]: 'Дополнительный',\n },\n};\n","import { PhotoOrderStatus, PhotoOrderRenovation } from '../types';\n\nexport const PhotoOrderDictionary = {\n Status: {\n [PhotoOrderStatus.Aborted]: 'Заявка не выполнена по вине заказчика',\n [PhotoOrderStatus.Created]: 'Заявка создана',\n [PhotoOrderStatus.CreationFailed]: 'Ошибка при создании во внешней системе',\n [PhotoOrderStatus.EpicFail]: 'Сервис отменил выполнение',\n [PhotoOrderStatus.ExecutionFailed]: 'Заявка не выполнена',\n [PhotoOrderStatus.Init]: 'Заявка инициализирована',\n [PhotoOrderStatus.PhotographerFound]: 'Фотограф найден',\n [PhotoOrderStatus.PhotographerNotFound]: 'Фотограф не найден',\n [PhotoOrderStatus.Success]: 'Заявка выполнена',\n [PhotoOrderStatus.Terminated]: 'Заявка отменена',\n },\n Renovation: {\n [PhotoOrderRenovation.Author]: 'Авторский',\n [PhotoOrderRenovation.Cosmetic]: 'Косметический',\n [PhotoOrderRenovation.Euro]: 'Евро',\n [PhotoOrderRenovation.None]: 'Без ремонта',\n },\n};\n","import {\n RealtyType,\n RealtyRenovationType,\n RealtyGas,\n RealtyHouseType,\n RealtyLandShape,\n RealtyLandUsageType,\n RealtyRelief,\n RealtyElectricity,\n RealtyFurniture,\n RealtySewerage,\n RealtyWindowView,\n} from '../types';\n\nexport const RealtyDictionary = {\n Type: {\n [RealtyType.FlatSecondary]: 'Вторичка',\n [RealtyType.FlatNew]: 'Новостройка',\n [RealtyType.House]: 'Дом',\n },\n RenovationType: {\n [RealtyRenovationType.None]: 'Без ремонта',\n [RealtyRenovationType.Author]: 'Авторский',\n [RealtyRenovationType.Cosmetic]: 'Косметический',\n [RealtyRenovationType.Euro]: 'Евро',\n [RealtyRenovationType.FineFinishing]: 'Чистовая отделка',\n [RealtyRenovationType.RoughFinishing]: 'Черновая отделка',\n },\n Gas: {\n [RealtyGas.None]: 'Нет',\n [RealtyGas.Connected]: 'Подключено',\n [RealtyGas.Border]: 'По границе',\n [RealtyGas.Possible]: 'Возможно',\n [RealtyGas.Autonomous]: 'Автономное',\n },\n HouseType: {\n [RealtyHouseType.Townhouse]: 'Таунхаус',\n [RealtyHouseType.House]: 'Дом',\n [RealtyHouseType.Cottage]: 'Коттедж',\n [RealtyHouseType.Part]: 'Часть дома',\n [RealtyHouseType.Duplex]: 'Дуплекс',\n },\n LandShape: {\n [RealtyLandShape.Regular]: 'Правильная',\n [RealtyLandShape.Irregular]: 'Неправильная',\n },\n LandUsageType: {\n [RealtyLandUsageType.IGS]: 'ИЖС',\n [RealtyLandUsageType.LPH]: 'ЛПХ (личное подсобное хозяйство)',\n [RealtyLandUsageType.DNP]: 'ДНП (дачное некоммерческое партнероство)',\n [RealtyLandUsageType.SNT]: 'СНТ (садоводческое некоммерческое товарищество)',\n [RealtyLandUsageType.Farm]: 'Фермерское хозяйство',\n [RealtyLandUsageType.Garden]: 'Садоводство',\n [RealtyLandUsageType.Investproject]: 'Инвестпроект',\n },\n Relief: {\n [RealtyRelief.Flat]: 'Ровный',\n [RealtyRelief.Elevations]: 'Значительные перепады высот',\n [RealtyRelief.Slope]: 'Склон',\n [RealtyRelief.Hills]: 'Холмы',\n },\n Electricity: {\n [RealtyElectricity.None]: 'Нет',\n [RealtyElectricity.Connected]: 'Подключено',\n [RealtyElectricity.Possible]: 'Возможно',\n [RealtyElectricity.Autonomous]: 'Автономное',\n },\n Furniture: {\n [RealtyFurniture.None]: 'Отсутствует',\n [RealtyFurniture.Full]: 'Полностью мебелирован',\n [RealtyFurniture.Part]: 'Частично мебелирован',\n },\n Sewerage: {\n [RealtySewerage.None]: 'Нет',\n [RealtySewerage.Cesspool]: 'Выгребная яма',\n [RealtySewerage.Septic]: 'Септик',\n [RealtySewerage.Bio]: 'Устройства биологической очистки',\n [RealtySewerage.Central]: 'Центральная',\n },\n WindowView: {\n [RealtyWindowView.Street]: 'На улицу',\n [RealtyWindowView.Yard]: 'Во двор',\n [RealtyWindowView.Both]: 'В обе стороны',\n },\n};\n","import {\n ServiceRequestCategory,\n ServiceRequestModerationStatus,\n ServiceRequestStatus,\n ServiceRequestType,\n ServiceRequestDepublishReason,\n ServiceRequestSource,\n ServiceRequestInvestType,\n} from '../types';\n\nexport const ServiceRequestDictionary = {\n Category: {\n [ServiceRequestCategory.Depublished]: 'Неликвидный',\n [ServiceRequestCategory.Discounted]: 'Цена снижена',\n [ServiceRequestCategory.Cold]: 'Холодный',\n [ServiceRequestCategory.Warm]: 'Тёплый',\n [ServiceRequestCategory.New]: 'Новый',\n [ServiceRequestCategory.Hot]: 'Горячий',\n },\n ModerationStatus: {\n [ServiceRequestModerationStatus.None]: 'Нет',\n [ServiceRequestModerationStatus.Sent]: 'Отправлен',\n [ServiceRequestModerationStatus.Booked]: 'Взят в работу',\n [ServiceRequestModerationStatus.Done]: 'Готов',\n },\n Status: {\n [ServiceRequestStatus.LeadExpert]: 'Лид, заведённый экспертом',\n [ServiceRequestStatus.LeadAdv]: 'Лид, пришедший от Homeapp',\n [ServiceRequestStatus.Booked]: 'Неподтверждённая бронь',\n [ServiceRequestStatus.Approved]: 'Бронь одобренная РОП',\n [ServiceRequestStatus.Declined]: 'Бронь отклонённая РОП',\n [ServiceRequestStatus.Signed]: 'Контракт подписан',\n [ServiceRequestStatus.Terminated]: 'Контракт расторгнут',\n [ServiceRequestStatus.BookingCanceled]: 'ЗОУ закрыто',\n [ServiceRequestStatus.NoPrepayment]: 'Запланирована сделка без аванса',\n [ServiceRequestStatus.PrepaymentPlanned]: 'Запланирован аванс',\n [ServiceRequestStatus.Prepaid]: 'Получен аванс по сделке',\n [ServiceRequestStatus.DealSigned]: 'Сделка подписана',\n [ServiceRequestStatus.Registered]: 'Документы зарегистрированы',\n [ServiceRequestStatus.DealDone]: 'Сделка закрыта',\n },\n Type: {\n [ServiceRequestType.Buy]: 'Покупка',\n [ServiceRequestType.Sell]: 'Продажа',\n [ServiceRequestType.AsiaSell]: 'Сбор заявок по Азии',\n },\n InvestType: {\n [ServiceRequestInvestType.Buyout]: 'Инвестпроект 1 этапа',\n [ServiceRequestInvestType.Sell]: 'Инвестпроект 2 этапа',\n },\n DepublishReason: {\n [ServiceRequestDepublishReason.TemporaryDepublish]: 'Временное снятие объекта',\n [ServiceRequestDepublishReason.ForeverDepublish]: 'Снятие объекта навсегда',\n [ServiceRequestDepublishReason.HardToSellObject]: '“Сложный“ в реализации объект',\n [ServiceRequestDepublishReason.SoldListing]: 'Продан листинг',\n [ServiceRequestDepublishReason.SoldByOwner]: 'Продан собственником самостоятельно',\n [ServiceRequestDepublishReason.Other]: 'Другое',\n\n // легаси значения, которые больше не используются, но оставлены для обратной совместимости\n [ServiceRequestDepublishReason.DepublishOnAdvance]: 'Снятие объекта на время аванса',\n [ServiceRequestDepublishReason.ClientRequest]: 'Просьба клиента убрать объект из рекламы',\n [ServiceRequestDepublishReason.DeveloperRequest]: 'Запрет застройщика на размещение рекламы',\n [ServiceRequestDepublishReason.BadObject]: 'Неликвидный объект, требуется работа с клиентом',\n [ServiceRequestDepublishReason.BadObjectElite]: 'Неликвидный элитный объект',\n [ServiceRequestDepublishReason.CrossSell]: 'Кросспродажи',\n },\n Source: {\n [ServiceRequestSource.Apk]: 'АПК',\n [ServiceRequestSource.Recommendations]: 'Рекомендации',\n [ServiceRequestSource.ColdCCMoscow]: 'ХО КЦ Москва',\n [ServiceRequestSource.ColdCCZelenograd]: 'ХО КЦ Зеленоград',\n [ServiceRequestSource.ColdCCZhukovsky]: 'ХО КЦ Жуковский',\n [ServiceRequestSource.Marketing]: 'Маркетинг',\n [ServiceRequestSource.Test]: 'Тест',\n [ServiceRequestSource.Other]: 'Другое',\n },\n};\n","import { ServiceRequestActivityType } from '../types';\n\nexport const ServiceRequestActivityDictionary = {\n Type: {\n [ServiceRequestActivityType.Comment]: 'Комментарий',\n [ServiceRequestActivityType.Edit]: 'Изменения',\n [ServiceRequestActivityType.Transfer]: 'Перевод',\n [ServiceRequestActivityType.Call]: 'Звонок',\n [ServiceRequestActivityType.Task]: 'Задача',\n [ServiceRequestActivityType.Contract]: 'Контракт',\n [ServiceRequestActivityType.PublicationProblem]: 'Ошибка при публикации',\n [ServiceRequestActivityType.MarkedUp]: 'Разметка',\n [ServiceRequestActivityType.Published]: 'Публикация',\n [ServiceRequestActivityType.Republished]: 'Повторная публикация',\n [ServiceRequestActivityType.Depublished]: 'Снятие с публикации',\n [ServiceRequestActivityType.PriceChanged]: 'Изменена цена',\n [ServiceRequestActivityType.RequestPriceDown]: 'Запрос на снижение цены',\n [ServiceRequestActivityType.ContractExpired]: 'Срок контракта истекает',\n [ServiceRequestActivityType.CallTaskCreated]: 'Обращениие создано',\n [ServiceRequestActivityType.RealtyShowScheduled]: 'Показ объекта запланирован',\n [ServiceRequestActivityType.RealtyShowCompleted]: 'Показ объекта выполнен',\n [ServiceRequestActivityType.RealtyShowCancelled]: 'Показ объекта отменен',\n [ServiceRequestActivityType.Appointment]: 'Встреча',\n },\n};\n","import { ServiceRequestCategorizedFileCategory } from '../types';\n\nexport const ServiceRequestCategorizedFileDictionary = {\n Category: {\n [ServiceRequestCategorizedFileCategory.AdvAgreement]: 'Соглашение на рекламу',\n [ServiceRequestCategorizedFileCategory.AdvanceForm]: 'Анкета на аванс',\n [ServiceRequestCategorizedFileCategory.CheckList]: 'Чек-лист со встречи',\n [ServiceRequestCategorizedFileCategory.Contract]: 'Договор оказания услуг',\n [ServiceRequestCategorizedFileCategory.Kc]: 'Файлы от КЦ',\n [ServiceRequestCategorizedFileCategory.Other]: 'Разное (ЗОУ)',\n [ServiceRequestCategorizedFileCategory.OwnershipCheckReport]: 'Отчет проверки собственника',\n [ServiceRequestCategorizedFileCategory.OwnershipJustification]: 'Основание права собственности',\n [ServiceRequestCategorizedFileCategory.PassportClient]: 'Паспорта клиента (свид-ва о рождении)',\n [ServiceRequestCategorizedFileCategory.Egrn]: 'ЕГРН',\n [ServiceRequestCategorizedFileCategory.DeleteReason]: 'Является обоснованием закрытия контракта',\n [ServiceRequestCategorizedFileCategory.OwnershipTransfers]: 'Переходы собственности',\n [ServiceRequestCategorizedFileCategory.Risk]: 'Проверка на риски',\n },\n};\n","import { ShapeType } from '../types';\n\nexport const ShapeDictionary = {\n Type: {\n [ShapeType.AdministrativeDistrict]: 'Административный округ',\n [ShapeType.Block]: 'Квартал',\n [ShapeType.Complex]: 'Новостройка',\n [ShapeType.District]: 'Район',\n [ShapeType.House]: 'Здание',\n [ShapeType.Microdistrict]: 'Микрорайон',\n },\n};\n","import { TaskImportance, TaskNotificationType, TaskStatus } from '../types';\n\nexport const TaskDictionary = {\n Importance: {\n [TaskImportance.Normal]: 'Обычная',\n [TaskImportance.High]: 'Высокая',\n },\n NotificationType: {\n [TaskNotificationType.Morning]: 'Утром',\n [TaskNotificationType.Min15]: 'За 15 минут',\n [TaskNotificationType.Hour1]: 'За час',\n [TaskNotificationType.Hour2]: 'За 2 часа',\n [TaskNotificationType.Nil]: 'Не напоминать',\n },\n Status: {\n [TaskStatus.InProgress]: 'В работе',\n [TaskStatus.Resolved]: 'Выполнена',\n [TaskStatus.Closed]: 'Закрыта',\n },\n};\n","import {\n UserTelephonyType,\n UserDirection,\n UserGender,\n UserLevel,\n UserOffice,\n UserRole,\n UserFiredType,\n UserFiredReason,\n UserAttractionChannel,\n UserPhoneType,\n UserContactInfoType,\n GalleryImageType,\n} from '../types';\n\nexport const UserDictionary = {\n TelephonyType: {\n [UserTelephonyType.Vox]: 'Vox',\n },\n GalleryType: {\n [GalleryImageType.Main]: 'Основная',\n [GalleryImageType.Portrait]: 'Портрет',\n },\n PhoneType: {\n [UserPhoneType.Sip]: 'Внутренний',\n [UserPhoneType.Main]: 'Основной',\n [UserPhoneType.Work]: 'Рабочий',\n [UserPhoneType.Home]: 'Домашний',\n [UserPhoneType.VirtualVox]: 'Общий виртуальный (VOX)',\n },\n ContactInfoType: {\n [UserContactInfoType.SlackId]: 'ID пользователя в слак',\n [UserContactInfoType.SlackGroupId]: 'ID канала в слак',\n [UserContactInfoType.SlackUsername]: 'Имя пользователя в слак',\n [UserContactInfoType.SlackGroupName]: 'Название канала слак',\n [UserContactInfoType.Skype]: 'Skype',\n [UserContactInfoType.Email]: 'E-mail',\n [UserContactInfoType.Jabber]: 'Jabber',\n [UserContactInfoType.Icq]: 'ICQ',\n [UserContactInfoType.Imessage]: 'iMessage',\n [UserContactInfoType.Telegram]: 'telegram',\n [UserContactInfoType.Whatsapp]: 'whatsapp',\n [UserContactInfoType.Facebook]: 'Facebook',\n [UserContactInfoType.Linkedin]: 'LinkedIn',\n [UserContactInfoType.Vk]: 'Вконтакте',\n [UserContactInfoType.Odnoklassniki]: 'Одноклассники',\n [UserContactInfoType.Instagram]: 'Instagram',\n [UserContactInfoType.VoxAccount]: 'Аккаунт телефонии (vox)',\n },\n Direction: {\n [UserDirection.Resale]: 'Вторичка',\n [UserDirection.NewBuildings]: 'Новостройки',\n [UserDirection.Elite]: 'Элитное жилье',\n [UserDirection.Private]: 'Частные дома',\n [UserDirection.Commercial]: 'Коммерческая недвижимость',\n },\n Gender: {\n [UserGender.Female]: 'Женщина',\n [UserGender.Male]: 'Мужчина',\n },\n Level: {\n [UserLevel.SalesHead]: 'Директор по продажам',\n [UserLevel.Teamleader]: 'Руководитель отдела продаж',\n [UserLevel.Groupleader]: 'Руководитель группы',\n [UserLevel.Expert]: 'Эксперт',\n [UserLevel.TopExpert]: 'Топовый эксперт',\n },\n Office: {\n [UserOffice.Lyubertsy]: 'Люберцы',\n [UserOffice.Moscow]: 'Москва',\n [UserOffice.Zelenograd]: 'Зеленоград',\n [UserOffice.Zhukovsky]: 'Жуковский',\n },\n Role: {\n [UserRole.User]: 'Пользователь',\n [UserRole.Moderator]: 'Модератор',\n [UserRole.Supervisor]: 'Супервайзор',\n [UserRole.Trainee]: 'Стажер',\n [UserRole.Expert]: 'Эксперт',\n [UserRole.Mentor]: 'Наставник',\n [UserRole.Invest]: 'Сотрудник инвестотдела',\n [UserRole.Teamlead]: 'Руководитель отдела продаж',\n [UserRole.GroupLead]: 'Руководитель группы',\n [UserRole.CallOperator]: 'Оператор',\n [UserRole.Admin]: 'Администратор',\n [UserRole.Developer]: 'Разработчик',\n [UserRole.Lawyer]: 'Юрист',\n [UserRole.LawyerHead]: 'Главный юрист',\n [UserRole.Finance]: 'Люба',\n [UserRole.FinanceHead]: 'Директор финансового отдела',\n [UserRole.ExternalPartner]: 'Внешний партнёр',\n [UserRole.QualityAssessor]: 'Контролёр',\n [UserRole.ChatQualityAssessor]: 'Контролёр чатов',\n [UserRole.SalesHead]: 'Директор по продажам',\n [UserRole.TechSupport]: 'Техподдержка',\n [UserRole.LiquidityReportReader]: 'Чтение отчета по портфелю',\n [UserRole.CashManager]: 'Управление наличными',\n [UserRole.DataScience]: 'Data science',\n [UserRole.Reader]: 'Чтение всего',\n [UserRole.HR]: 'HR',\n [UserRole.PersonalAssistantFirstLevel]: 'ПА-1',\n [UserRole.PersonalAssistantSecondLevel]: 'ПА-2',\n [UserRole.PersonalAssistantThirdLevel]: 'ПА-3',\n [UserRole.PortfolioCoordinator]: 'Координатор набор портфеля',\n [UserRole.ExpoCoordinator]: 'Координатор экспозиция',\n },\n FiredType: {\n [UserFiredType.Fired]: 'Уволен',\n [UserFiredType.Quite]: 'По собственному желанию',\n [UserFiredType.Agreement]: 'Обоюдное решение',\n },\n FiredReason: {\n [UserFiredReason.LeavesRealEstate]: 'Уходит из недвижимости',\n [UserFiredReason.WentToAnother]: 'Ушел в другое АН',\n [UserFiredReason.FailureToFulfillThePlan]: 'Невыполнение плана',\n [UserFiredReason.ToxicityAndNegativity]: 'Токсичность и негатив',\n [UserFiredReason.ForPersonalReasons]: 'По личным обстоятельствам',\n [UserFiredReason.LackOfSalary]: 'Отсутствие оклада',\n [UserFiredReason.Burnout]: '«Выгорание»',\n [UserFiredReason.OtherComment]: 'Другое (комментарий)',\n [UserFiredReason.TemporaryBlocking]: 'Временная блокировка',\n },\n AttractionChannel: {\n [UserAttractionChannel.Recommendations]: 'Рекомендации',\n [UserAttractionChannel.PartnersOffice]: 'Офис партнеров',\n [UserAttractionChannel.HeadhunterXOHR]: 'headhunter ХО HR',\n [UserAttractionChannel.HeadhunterXOKC]: 'headhunter ХО КЦ',\n [UserAttractionChannel.KCCianBase]: 'КЦ базы Cian',\n [UserAttractionChannel.HeadhunterResponse]: 'headhunter отклик',\n [UserAttractionChannel.Marketing]: 'Маркетинг',\n [UserAttractionChannel.Site]: 'Сайт',\n [UserAttractionChannel.Activity]: 'Мероприятия',\n [UserAttractionChannel.Webinar]: 'Вебинар',\n [UserAttractionChannel.Other]: 'Другое',\n },\n};\n","import { UserPhoneType } from '../types';\n\nexport const UserPhoneDictionary = {\n Type: {\n [UserPhoneType.Sip]: 'Внутренний',\n [UserPhoneType.Main]: 'Основной',\n [UserPhoneType.Work]: 'Рабочий',\n [UserPhoneType.Home]: 'Домашний',\n [UserPhoneType.VirtualVox]: 'Общий виртуальный (VOX)',\n },\n};\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Address } from '../../../types';\n\ntype SuccessData = {\n data: Address;\n errors: never;\n};\ntype ErrorData = {\n data: never;\n errors: Array<{ source?: { parameter: string }; detail: string; description?: string }>;\n};\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['errors'];\n\nexport type CreateAddressHeaders = { 'x-auth-hc': string };\nexport type CreateAddressBody = {\n data: {\n type: Address['type'];\n attributes: Pick<Address['attributes'], 'fullAddress' | 'lat' | 'lng'>;\n };\n};\nexport type CreateAddressData = AxiosResponse<ResultData>;\nexport type CreateAddressError = AxiosError<ResultError>;\nexport type CreateAddressConfig = {\n baseURL?: string;\n body: CreateAddressBody;\n headers: CreateAddressHeaders;\n};\n\nexport function createAddressRequest({ baseURL = 'https://clients.homeapp.ru', body, headers }: CreateAddressConfig) {\n return axios\n .post('/api/v2/address', body, {\n baseURL,\n headers: { Accept: 'application/vnd.api+json', 'Content-Type': 'application/vnd.api+json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.errors ? data.errors : data.data),\n ],\n })\n .then((res: CreateAddressData) => res)\n .catch((err: CreateAddressError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { AddressBTIParams } from '../../../types';\n\ntype SuccessData = { data: AddressBTIParams; errors: never };\ntype ErrorData = {\n data: never;\n errors: Array<{ source?: { parameter: string }; detail: string; description?: string }>;\n};\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['errors'];\n\nexport type CreateAddressBtiHeaders = { 'x-auth-hc': string };\nexport type CreateAddressBtiBody = { data: Omit<AddressBTIParams, 'id'> };\nexport type CreateAddressBtiData = AxiosResponse<ResultData>;\nexport type CreateAddressBtiError = AxiosError<ResultError>;\nexport type CreateAddressBtiConfig = {\n baseURL?: string;\n body: CreateAddressBtiBody;\n headers: CreateAddressBtiHeaders;\n};\n\nexport function createAddressBtiRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n}: CreateAddressBtiConfig) {\n return axios\n .post('/api/v2/address-bti', body, {\n baseURL,\n headers: { Accept: 'application/vnd.api+json', 'Content-Type': 'application/vnd.api+json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.errors ? data.errors : data.data),\n ],\n })\n .then((res: CreateAddressBtiData) => res)\n .catch((err: CreateAddressBtiError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { AddressBTIParams } from '../../../types';\n\ntype SuccessData = { data: AddressBTIParams; errors: never };\ntype ErrorData = {\n data: never;\n errors: Array<{ source?: { parameter: string }; detail: string; description?: string }>;\n};\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['errors'];\n\nexport type FindAddressBtiByIdUrlParams = { id: string };\nexport type FindAddressBtiByIdData = AxiosResponse<ResultData>;\nexport type FindAddressBtiByIdError = AxiosError<ResultError>;\nexport type FindAddressBtiByIdConfig = {\n baseURL?: string;\n urlParams: FindAddressBtiByIdUrlParams;\n};\n\nexport function findAddressBtiByIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n}: FindAddressBtiByIdConfig) {\n return axios\n .get(`/api/v2/address-bti/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/vnd.api+json' },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.errors ? data.errors : data.data),\n ],\n })\n .then((res: FindAddressBtiByIdData) => res)\n .catch((err: FindAddressBtiByIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { AddressBTIParams } from '../../../types';\n\ntype SuccessData = { data: AddressBTIParams; errors: never };\ntype ErrorData = {\n data: never;\n errors: Array<{ source?: { parameter: string }; detail: string; description?: string }>;\n};\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['errors'];\n\nexport type UpdateAddressBtiHeaders = { 'x-auth-hc': string };\nexport type UpdateAddressBtiUrlParams = { id: string };\nexport type UpdateAddressBtiBody = { data: Omit<AddressBTIParams, 'relationships' | 'meta'> };\nexport type UpdateAddressBtiData = AxiosResponse<ResultData>;\nexport type UpdateAddressBtiError = AxiosError<ResultError>;\nexport type UpdateAddressBtiConfig = {\n baseURL?: string;\n urlParams: UpdateAddressBtiUrlParams;\n body: UpdateAddressBtiBody;\n headers: UpdateAddressBtiHeaders;\n};\n\nexport function updateAddressBtiRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateAddressBtiConfig) {\n return axios\n .patch(`/api/v2/address-bti/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/vnd.api+json', 'Content-Type': 'application/vnd.api+json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.errors ? data.errors : data.data),\n ],\n })\n .then((res: UpdateAddressBtiData) => res)\n .catch((err: UpdateAddressBtiError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { ComplexHousing, Complex } from '../../../types';\n\ntype SuccessData = {\n data: Complex;\n included?: Array<ComplexHousing>;\n errors: never;\n};\ntype ErrorData = {\n data: never;\n included: never;\n errors: Array<{ source?: { parameter: string }; detail: string; description?: string }>;\n};\n\ntype ResultData = { data: Complex; included?: SuccessData['included'] };\ntype ResultError = ErrorData['errors'];\n\nexport type ComplexInclude = 'complexHousing';\n\nexport type FindComplexByIdHeaders = { 'x-auth-hc': string };\nexport type FindComplexByIdUrlParams = { id: number };\nexport type FindComplexByIdParams = { include?: Array<ComplexInclude> };\nexport type FindComplexByIdData = AxiosResponse<ResultData>;\nexport type FindComplexByIdError = AxiosError<ResultError>;\nexport type FindComplexByIdConfig = {\n baseURL?: string;\n urlParams: FindComplexByIdUrlParams;\n params?: FindComplexByIdParams;\n headers?: FindComplexByIdHeaders;\n};\n\nexport function findComplexByIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n params,\n headers,\n}: FindComplexByIdConfig) {\n return axios\n .get(`/api/v2/complex/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/vnd.api+json', ...headers },\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'comma', skipNulls: true }),\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.errors) return data.errors;\n\n return {\n data: data.data,\n included: data.included,\n };\n },\n ],\n })\n .then((res: FindComplexByIdData) => res)\n .catch((err: FindComplexByIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { ComplexHousing, Complex } from '../../../types';\n\ntype SuccessData = {\n data: ComplexHousing & { meta: { isReadonly?: boolean } };\n included?: Complex;\n errors: never;\n};\ntype ErrorData = {\n data: never;\n included: never;\n errors: Array<{ source?: { parameter: string }; detail: string; description?: string }>;\n};\n\ntype ResultData = {\n data: ComplexHousing & { meta: SuccessData['data']['meta'] };\n included?: SuccessData['included'];\n};\ntype ResultError = ErrorData['errors'];\n\nexport type ComplexHousingInclude = 'complex';\n\nexport type FindComplexHousingByComplexIdHeaders = { 'x-auth-hc': string };\nexport type FindComplexHousingByComplexIdUrlParams = { id: number };\nexport type FindComplexHousingByComplexIdParams = { include?: Array<ComplexHousingInclude> };\nexport type FindComplexHousingByComplexIdData = AxiosResponse<ResultData>;\nexport type FindComplexHousingByComplexIdError = AxiosError<ResultError>;\nexport type FindComplexHousingByComplexIdConfig = {\n baseURL?: string;\n urlParams: FindComplexHousingByComplexIdUrlParams;\n params?: FindComplexHousingByComplexIdParams;\n headers?: FindComplexHousingByComplexIdHeaders;\n};\n\nexport function findComplexHousingByComplexIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n params,\n headers,\n}: FindComplexHousingByComplexIdConfig) {\n return axios\n .get(`/api/v2/complex-housing/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/vnd.api+json', ...headers },\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'comma', skipNulls: true }),\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.errors) return data.errors;\n\n return {\n data: { ...data.data, meta: data.data.meta },\n included: data.included,\n };\n },\n ],\n })\n .then((res: FindComplexHousingByComplexIdData) => res)\n .catch((err: FindComplexHousingByComplexIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { Complex, ComplexHousing } from '../../../types';\n\ntype SuccessData = {\n data: Complex[];\n included?: Array<ComplexHousing>;\n meta: { page: { offset: number; count: number; total: number } };\n errors: never;\n};\ntype ErrorData = {\n data: never;\n included: never;\n meta: never;\n errors: Array<{ source?: { parameter: string }; detail: string; description?: string }>;\n};\n\ntype ResultData = {\n ids: string[];\n byId: Record<string, Complex>;\n meta: SuccessData['meta'];\n included?: SuccessData['included'];\n};\ntype ResultError = ErrorData['errors'];\n\nexport type FindComplexesInclude = 'complexHousing';\nexport type FindComplexesParams = {\n include?: FindComplexesInclude;\n filter?: { name?: string };\n page?: { offset?: number; limit?: number };\n};\nexport type FindComplexesHeaders = { 'x-auth-hc'?: string };\nexport type FindComplexesData = AxiosResponse<ResultData>;\nexport type FindComplexesError = AxiosError<ResultError>;\nexport type FindComplexesConfig = { baseURL?: string; params?: FindComplexesParams; headers?: FindComplexesHeaders };\n\nexport function findComplexesRequest({ baseURL = 'https://clients.homeapp.ru', params, headers }: FindComplexesConfig) {\n return axios\n .get('/api/v2/complex', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'comma', skipNulls: true }),\n headers: { Accept: 'application/vnd.api+json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.errors) return data.errors;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, included: data.included, meta: data.meta };\n },\n ],\n })\n .then((res: FindComplexesData) => res)\n .catch((err: FindComplexesError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { CottageComplex } from '../../../types';\n\ntype SuccessData = {\n data: CottageComplex[];\n meta: { page: { offset: number; count: number; total: number } };\n errors: never;\n};\ntype ErrorData = {\n data: never;\n included: never;\n meta: never;\n errors: Array<{ source?: { parameter: string }; detail: string; description?: string }>;\n};\n\ntype ResultData = {\n ids: string[];\n byId: Record<string, CottageComplex>;\n meta: SuccessData['meta'];\n};\ntype ResultError = ErrorData['errors'];\n\nexport type FindCottageComplexesParams = {\n filter?: { name?: string };\n page?: { offset?: number; limit?: number };\n};\nexport type FindCottageComplexesHeaders = { 'x-auth-hc'?: string };\nexport type FindCottageComplexesData = AxiosResponse<ResultData>;\nexport type FindCottageComplexesError = AxiosError<ResultError>;\nexport type FindCottageComplexesConfig = {\n baseURL?: string;\n params?: FindCottageComplexesParams;\n headers?: FindCottageComplexesHeaders;\n};\n\nexport function findCottageComplexesRequest({\n baseURL = 'https://clients.homeapp.ru',\n params,\n headers,\n}: FindCottageComplexesConfig) {\n return axios\n .get('/api/v2/cottage-complex', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'comma', skipNulls: true }),\n headers: { Accept: 'application/vnd.api+json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.errors) return data.errors;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: data.meta };\n },\n ],\n })\n .then((res: FindCottageComplexesData) => res)\n .catch((err: FindCottageComplexesError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Highway } from '../../../types';\n\ntype SuccessData = { data: Highway[]; errors: never };\ntype ErrorData = {\n data: never;\n errors: Array<{ source?: { parameter: string }; detail: string; description?: string }>;\n};\n\ntype ResultData = { ids: string[]; byId: Record<string, Highway> };\ntype ResultError = ErrorData['errors'];\n\nexport type FindHighwaysData = AxiosResponse<ResultData>;\nexport type FindHighwaysError = AxiosError<ResultError>;\nexport type FindHighwaysConfig = {\n baseURL?: string;\n};\n\nexport function findHighwaysRequest({ baseURL = 'https://clients.homeapp.ru' }: FindHighwaysConfig) {\n return axios\n .get('/api/v2/highway', {\n baseURL,\n headers: { Accept: 'application/vnd.api+json' },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.errors) return data.errors;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId };\n },\n ],\n })\n .then((res: FindHighwaysData) => res)\n .catch((err: FindHighwaysError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { MetroStation } from '../../../types';\n\ntype SuccessData = { data: MetroStation[]; errors: never };\ntype ErrorData = {\n data: never;\n errors: Array<{ source?: { parameter: string }; detail: string; description?: string }>;\n};\n\ntype ResultData = { ids: string[]; byId: Record<string, MetroStation> };\ntype ResultError = ErrorData['errors'];\n\nexport type FindMetroStationsData = AxiosResponse<ResultData>;\nexport type FindMetroStationsError = AxiosError<ResultError>;\nexport type FindMetroStationsConfig = {\n baseURL?: string;\n};\n\nexport function findMetroStationsRequest({ baseURL = 'https://clients.homeapp.ru' }: FindMetroStationsConfig) {\n return axios\n .get('/api/v2/metro-station', {\n baseURL,\n headers: { Accept: 'application/vnd.api+json' },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.errors) return data.errors;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId };\n },\n ],\n })\n .then((res: FindMetroStationsData) => res)\n .catch((err: FindMetroStationsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Realty } from '../../../types';\n\ntype SuccessData = {\n data: Realty & {\n meta: {\n createdAt?: string;\n serviceRequestExtId?: number;\n updatedAt?: string;\n };\n };\n errors: never;\n};\ntype ErrorData = {\n data: never;\n errors: Array<{ source?: { parameter: string }; detail: string; description?: string }>;\n};\n\ntype ResultData = Realty & { meta: SuccessData['data']['meta'] };\ntype ResultError = ErrorData['errors'];\n\nexport type CreateRealtyHeaders = { 'x-auth-hc': string };\nexport type CreateRealtyBody = {\n data: {\n type: Realty['type'];\n attributes: Pick<Realty['attributes'], 'realtyType' | 'area' | 'roomCount' | 'price' | 'floor'>;\n relationships: Pick<Realty['relationships'], 'address'>;\n meta: { serviceRequestExtId: number };\n };\n};\nexport type CreateRealtyData = AxiosResponse<ResultData>;\nexport type CreateRealtyError = AxiosError<ResultError>;\nexport type CreateRealtyConfig = {\n baseURL?: string;\n body: CreateRealtyBody;\n headers: CreateRealtyHeaders;\n};\n\nexport function createRealtyRequest({ baseURL = 'https://clients.homeapp.ru', body, headers }: CreateRealtyConfig) {\n return axios\n .post('/api/v2/realty', body, {\n baseURL,\n headers: { Accept: 'application/vnd.api+json', 'Content-Type': 'application/vnd.api+json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.errors ? data.errors : data.data),\n ],\n })\n .then((res: CreateRealtyData) => res)\n .catch((err: CreateRealtyError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { RealtyHouseHighwayDistance } from '../../../types';\n\ntype SuccessData = { data: RealtyHouseHighwayDistance; errors: never };\ntype ErrorData = {\n data: never;\n errors: Array<{ source?: { parameter: string }; detail: string; description?: string }>;\n};\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['errors'];\n\nexport type CreateRealtyHouseHighwayDistanceHeaders = { 'x-auth-hc': string };\nexport type CreateRealtyHouseHighwayDistanceBody = { data: Omit<RealtyHouseHighwayDistance, 'id'> };\nexport type CreateRealtyHouseHighwayDistanceData = AxiosResponse<ResultData>;\nexport type CreateRealtyHouseHighwayDistanceError = AxiosError<ResultError>;\nexport type CreateRealtyHouseHighwayDistanceConfig = {\n baseURL?: string;\n body: CreateRealtyHouseHighwayDistanceBody;\n headers: CreateRealtyHouseHighwayDistanceHeaders;\n};\n\nexport function createRealtyHouseHighwayDistanceRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n}: CreateRealtyHouseHighwayDistanceConfig) {\n return axios\n .post('/api/v2/house-highway-distance', body, {\n baseURL,\n headers: { Accept: 'application/vnd.api+json', 'Content-Type': 'application/vnd.api+json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.errors ? data.errors : data.data),\n ],\n })\n .then((res: CreateRealtyHouseHighwayDistanceData) => res)\n .catch((err: CreateRealtyHouseHighwayDistanceError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { RealtyImage } from '../../../types';\n\ntype SuccessData = { data: RealtyImage; errors: never };\ntype ErrorData = {\n data: never;\n errors: Array<{ source?: { parameter: string }; detail: string; description?: string }>;\n};\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['errors'];\n\nexport type CreateRealtyImageHeaders = { 'x-auth-hc': string };\nexport type CreateRealtyImageBody = {\n data: {\n type: RealtyImage['type'];\n attributes: Omit<RealtyImage['attributes'], 'isPinned'>;\n relationships: RealtyImage['relationships'];\n };\n};\nexport type CreateRealtyImageData = AxiosResponse<ResultData>;\nexport type CreateRealtyImageError = AxiosError<ResultError>;\nexport type CreateRealtyImageConfig = {\n baseURL?: string;\n body: CreateRealtyImageBody;\n headers: CreateRealtyImageHeaders;\n};\n\nexport function createRealtyImageRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n}: CreateRealtyImageConfig) {\n return axios\n .post('/api/v2/realty-image', body, {\n baseURL,\n headers: { Accept: 'application/vnd.api+json', 'Content-Type': 'application/vnd.api+json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.errors ? data.errors : data.data),\n ],\n })\n .then((res: CreateRealtyImageData) => res)\n .catch((err: CreateRealtyImageError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { RealtyMetroDistance } from '../../../types';\n\ntype SuccessData = { data: RealtyMetroDistance; errors: never };\ntype ErrorData = {\n data: never;\n errors: Array<{ source?: { parameter: string }; detail: string; description?: string }>;\n};\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['errors'];\n\nexport type CreateRealtyMetroDistanceHeaders = { 'x-auth-hc': string };\nexport type CreateRealtyMetroDistanceBody = { data: Omit<RealtyMetroDistance, 'id'> };\nexport type CreateRealtyMetroDistanceData = AxiosResponse<ResultData>;\nexport type CreateRealtyMetroDistanceError = AxiosError<ResultError>;\nexport type CreateRealtyMetroDistanceConfig = {\n baseURL?: string;\n body: CreateRealtyMetroDistanceBody;\n headers: CreateRealtyMetroDistanceHeaders;\n};\n\nexport function createRealtyMetroDistanceRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n}: CreateRealtyMetroDistanceConfig) {\n return axios\n .post('/api/v2/realty-metro-distance', body, {\n baseURL,\n headers: { Accept: 'application/vnd.api+json', 'Content-Type': 'application/vnd.api+json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.errors ? data.errors : data.data),\n ],\n })\n .then((res: CreateRealtyMetroDistanceData) => res)\n .catch((err: CreateRealtyMetroDistanceError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = undefined;\ntype ErrorData = {\n data: never;\n errors: Array<{ source?: { parameter: string }; detail: string; description?: string }>;\n};\n\ntype ResultData = null;\ntype ResultError = ErrorData['errors'];\n\nexport type DeleteRealtyImageHeaders = { 'x-auth-hc': string };\nexport type DeleteRealtyImageUrlParams = { id: string };\nexport type DeleteRealtyImageData = AxiosResponse<ResultData>;\nexport type DeleteRealtyImageError = AxiosError<ResultError>;\nexport type DeleteRealtyImageConfig = {\n baseURL?: string;\n urlParams: DeleteRealtyImageUrlParams;\n headers: DeleteRealtyImageHeaders;\n};\n\nexport function deleteRealtyImageRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: DeleteRealtyImageConfig) {\n return axios\n .delete(`/api/v2/realty-image/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/vnd.api+json', 'Content-Type': 'application/vnd.api+json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data?.errors ? data.errors : null),\n ],\n })\n .then((res: DeleteRealtyImageData) => res)\n .catch((err: DeleteRealtyImageError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport {\n Realty,\n Address,\n AddressBTIParams,\n Complex,\n ComplexHousing,\n RealtyImage,\n Image,\n RealtyHouseHighwayDistance,\n RealtyMetroDistance,\n RealtyType,\n ExternalLink,\n PriceHistory,\n Highway,\n MetroStation,\n CottageComplex,\n} from '../../../types';\n\ntype RealtyMeta = {\n createdAt: string;\n isPresentationReady: boolean;\n};\n\ntype SuccessData = {\n data: Array<Realty & { meta: RealtyMeta }>;\n included?: Array<\n | Address\n | AddressBTIParams\n | Complex\n | ComplexHousing\n | ExternalLink\n | Image\n | RealtyHouseHighwayDistance\n | RealtyImage\n | RealtyMetroDistance\n | PriceHistory\n | Highway\n | MetroStation\n | CottageComplex\n >;\n meta: { page: { offset: number; count: number; total: number } };\n errors: never;\n};\ntype ErrorData = {\n data: never;\n included: never;\n meta: never;\n errors: Array<{ source?: { parameter: string }; detail: string; description?: string }>;\n};\n\ntype ResultData = {\n ids: string[];\n byId: Record<string, Realty & { meta: RealtyMeta }>;\n meta: SuccessData['meta'];\n included?: SuccessData['included'];\n};\ntype ResultError = ErrorData['errors'];\n\nexport type FindRealtiesInclude =\n | 'address'\n | 'address.bti'\n | 'complex'\n | 'complexHousing'\n | 'metroDistance.metroStation'\n | 'address.metroDistance.metroStation'\n | 'highwayDistance.highway'\n | 'realtyImage.image'\n | 'externalLink'\n | 'priceHistory'\n | 'cottageComplex';\n\ntype NumberRange = { from?: number; to?: number };\ntype IdType = number | number[] | string | string[];\n\nexport type FindRealtiesParams = {\n include?: Array<FindRealtiesInclude> | string;\n filter?: {\n id?: IdType;\n realtyType?: RealtyType | 'flat';\n district?: string;\n cityArea?: string;\n isHomeapp?: boolean;\n isSold?: boolean;\n 'address.fullAddress'?: string;\n 'address.id'?: IdType;\n roomCount?: number | number[];\n floor?: number | NumberRange;\n floorCount?: NumberRange;\n price?: NumberRange;\n area?: NumberRange;\n coordinates?: {\n topLeft: { lat: number; lng: number };\n bottomRight: { lat: number; lng: number };\n };\n updatedAt?: string;\n createdAt?: string;\n activeOrSoldAt?: { from?: string; to?: string };\n hasPinnedImage?: boolean;\n hasFreeLayout?: boolean;\n isMergesOrHasServiceRequestExtId?: boolean;\n };\n page?: { offset?: number; limit?: number };\n};\nexport type FindRealtiesOptions = {\n paramsSerializer?: { arrayFormat?: 'comma' | 'brackets'; skipNulls?: boolean };\n};\nexport type FindRealtiesHeaders = { 'x-auth-hc'?: string };\nexport type FindRealtiesData = AxiosResponse<ResultData>;\nexport type FindRealtiesError = AxiosError<ResultError>;\nexport type FindRealtiesConfig = {\n baseURL?: string;\n params?: FindRealtiesParams;\n headers?: FindRealtiesHeaders;\n options?: FindRealtiesOptions;\n};\n\nexport function findRealtiesRequest({\n baseURL = 'https://clients.homeapp.ru',\n params,\n headers,\n options,\n}: FindRealtiesConfig) {\n const { paramsSerializer } = options ?? {};\n\n if (paramsSerializer?.arrayFormat === 'brackets' && Array.isArray(params?.include)) {\n throw new Error(\n 'Для работы с опцией `arrayFormat = \"brackets\", нужно указывать `include` в виде строки! (пример: include=\\'address.bti,externalLink\\')`'\n );\n }\n\n return axios\n .get('/api/v2/realty', {\n baseURL,\n params,\n paramsSerializer: params =>\n qs.stringify(params, {\n arrayFormat: paramsSerializer?.arrayFormat || 'comma',\n skipNulls: paramsSerializer?.skipNulls ?? true,\n }),\n headers: { Accept: 'application/vnd.api+json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.errors) return data.errors;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, included: data.included, meta: data.meta };\n },\n ],\n })\n .then((res: FindRealtiesData) => res)\n .catch((err: FindRealtiesError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { RealtyHouseHighwayDistance } from '../../../types';\n\ntype SuccessData = { data: RealtyHouseHighwayDistance; errors: never };\ntype ErrorData = {\n data: never;\n errors: Array<{ source?: { parameter: string }; detail: string; description?: string }>;\n};\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['errors'];\n\nexport type UpdateRealtyHouseHighwayDistanceHeaders = { 'x-auth-hc': string };\nexport type UpdateRealtyHouseHighwayDistanceUrlParams = { id: string };\nexport type UpdateRealtyHouseHighwayDistanceBody = { data: RealtyHouseHighwayDistance };\nexport type UpdateRealtyHouseHighwayDistanceData = AxiosResponse<ResultData>;\nexport type UpdateRealtyHouseHighwayDistanceError = AxiosError<ResultError>;\nexport type UpdateRealtyHouseHighwayDistanceConfig = {\n baseURL?: string;\n urlParams: UpdateRealtyHouseHighwayDistanceUrlParams;\n body: UpdateRealtyHouseHighwayDistanceBody;\n headers: UpdateRealtyHouseHighwayDistanceHeaders;\n};\n\nexport function updateRealtyHouseHighwayDistanceRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateRealtyHouseHighwayDistanceConfig) {\n return axios\n .patch(`/api/v2/house-highway-distance/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/vnd.api+json', 'Content-Type': 'application/vnd.api+json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.errors ? data.errors : data.data),\n ],\n })\n .then((res: UpdateRealtyHouseHighwayDistanceData) => res)\n .catch((err: UpdateRealtyHouseHighwayDistanceError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { RealtyImage } from '../../../types';\n\ntype SuccessData = { data: RealtyImage; errors: never };\ntype ErrorData = {\n data: never;\n errors: Array<{ source?: { parameter: string }; detail: string; description?: string }>;\n};\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['errors'];\n\nexport type UpdateRealtyImageHeaders = { 'x-auth-hc': string };\nexport type UpdateRealtyImageUrlParams = { id: string };\nexport type UpdateRealtyImageBody = {\n data: {\n id: RealtyImage['id'];\n type: RealtyImage['type'];\n attributes: Omit<RealtyImage['attributes'], 'isPinned'>;\n };\n};\nexport type UpdateRealtyImageData = AxiosResponse<ResultData>;\nexport type UpdateRealtyImageError = AxiosError<ResultError>;\nexport type UpdateRealtyImageConfig = {\n baseURL?: string;\n urlParams: UpdateRealtyImageUrlParams;\n body: UpdateRealtyImageBody;\n headers: UpdateRealtyImageHeaders;\n};\n\nexport function updateRealtyImageRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateRealtyImageConfig) {\n return axios\n .patch(`/api/v2/realty-image/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/vnd.api+json', 'Content-Type': 'application/vnd.api+json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.errors ? data.errors : data.data),\n ],\n })\n .then((res: UpdateRealtyImageData) => res)\n .catch((err: UpdateRealtyImageError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { RealtyMetroDistance } from '../../../types';\n\ntype SuccessData = { data: RealtyMetroDistance; errors: never };\ntype ErrorData = {\n data: never;\n errors: Array<{ source?: { parameter: string }; detail: string; description?: string }>;\n};\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['errors'];\n\nexport type UpdateRealtyMetroDistanceHeaders = { 'x-auth-hc': string };\nexport type UpdateRealtyMetroDistanceUrlParams = { id: string };\nexport type UpdateRealtyMetroDistanceBody = { data: RealtyMetroDistance };\nexport type UpdateRealtyMetroDistanceData = AxiosResponse<ResultData>;\nexport type UpdateRealtyMetroDistanceError = AxiosError<ResultError>;\nexport type UpdateRealtyMetroDistanceConfig = {\n baseURL?: string;\n urlParams: UpdateRealtyMetroDistanceUrlParams;\n body: UpdateRealtyMetroDistanceBody;\n headers: UpdateRealtyMetroDistanceHeaders;\n};\n\nexport function updateRealtyMetroDistanceRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateRealtyMetroDistanceConfig) {\n return axios\n .patch(`/api/v2/realty-metro-distance/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/vnd.api+json', 'Content-Type': 'application/vnd.api+json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.errors ? data.errors : data.data),\n ],\n })\n .then((res: UpdateRealtyMetroDistanceData) => res)\n .catch((err: UpdateRealtyMetroDistanceError) => {\n throw err;\n });\n}\n","export enum AddressBTIParamsWallsMaterial {\n Brick = 'brick',\n Monolith = 'monolith',\n Monobrick = 'monobrick',\n Timber = 'timber',\n Panel = 'panel',\n Block = 'block',\n}\n\nexport enum AddressBTIParamsHeatingType {\n None = 'none',\n Central = 'central',\n Local = 'local',\n Gas = 'gas',\n Electricity = 'electricity',\n Liquid = 'liquid',\n}\n\nexport type AddressBTIParams = {\n id: string;\n type: 'addressBti';\n attributes: {\n buildYear?: number;\n cargoLifts?: number;\n heatingType?: AddressBTIParamsHeatingType;\n passengerLifts?: number;\n series?: string;\n wallsMaterial?: AddressBTIParamsWallsMaterial;\n };\n relationships: {\n address: {\n data: { id: string; type: 'address' };\n };\n };\n};\n","export enum AddressMetroDistanceMethod {\n Car = 'car',\n Foot = 'foot',\n}\n\nexport type AddressMetroDistance = {\n id: string;\n type: 'addressMetroDistance';\n attributes: {\n distance: number;\n method: AddressMetroDistanceMethod;\n time: number;\n };\n relationships: {\n metroStation: {\n data: { id: string; type: 'metroStation' };\n };\n realty: {\n data: { id: string; type: 'realty' };\n };\n };\n};\n","export enum RealtyType {\n FlatSecondary = 'flat_secondary',\n FlatNew = 'flat_new',\n House = 'house',\n}\n\nexport enum RealtyDealType {\n Free = 'free',\n Alternative = 'alternative',\n}\n\nexport enum RealtyDealTypeFlatNew {\n Reassignment = 'reassignment',\n DKP = 'DKP',\n DDU = 'DDU',\n PreSaleContract = 'pre_sale_contract',\n}\n\nexport enum RealtyRenovationType {\n None = 'none',\n Author = 'author',\n Cosmetic = 'cosmetic',\n Euro = 'euro',\n}\n\nexport enum RealtyRenovationTypeFlatNew {\n None = 'none',\n FineFinishing = 'fine_finishing',\n RoughFinishing = 'rough_finishing',\n}\n\nexport enum RealtyFlatKind {\n Typical = 'typical',\n Penthouse = 'penthouse',\n TwoTier = 'two_tier',\n}\n\nexport enum RealtyParkingType {\n Open = 'open',\n Underground = 'underground',\n Ground = 'ground',\n Multilevel = 'multilevel',\n Roof = 'roof',\n}\n\nexport enum RealtyFlatType {\n Flat = 'flat',\n Apartment = 'apartment',\n}\n\nexport enum RealtyWindowView {\n Street = 'street',\n Yard = 'yard',\n Both = 'both',\n}\n\nexport enum RealtyDDUOwnerType {\n Physical = 'physical',\n}\n\nexport enum RealtyElectricity {\n None = 'none',\n Connected = 'connected',\n Possible = 'possible',\n Autonomous = 'autonomous',\n}\n\nexport enum RealtyGas {\n None = 'none',\n Connected = 'connected',\n Border = 'border',\n Possible = 'possible',\n Autonomous = 'autonomous',\n}\n\nexport enum RealtyHeating {\n None = 'none',\n Central = 'central',\n Local = 'local',\n Gas = 'gas',\n Electricity = 'electricity',\n Liquid = 'liquid',\n Furnace = 'furnace',\n SolidFuelBoiler = 'solidFuelBoiler',\n}\n\nexport enum RealtyLandUsageType {\n IGS = 'igs',\n LPH = 'lph',\n DNP = 'dnp',\n SNT = 'snt',\n Farm = 'farm',\n Garden = 'garden',\n Investproject = 'investproject',\n}\n\nexport enum RealtyLandPurpose {\n Settlements = 'settlements',\n Agricultural = 'agricultural',\n Industrial = 'industrial',\n Forests = 'forests',\n Aqua = 'aqua',\n Reservations = 'reservations',\n Guarded = 'guarded',\n}\n\nexport enum RealtyLandShape {\n Regular = 'regular',\n Irregular = 'irregular',\n}\n\nexport enum RealtyRelief {\n Flat = 'flat',\n Elevations = 'elevations',\n Slope = 'slope',\n Hills = 'hills',\n}\n\nexport enum RealtyPlumbing {\n None = 'none',\n Central = 'central',\n Hole = 'hole',\n Well = 'well',\n Border = 'border',\n}\n\nexport enum RealtySewerage {\n None = 'none',\n Cesspool = 'cesspool',\n Septic = 'septic',\n Bio = 'bio',\n Central = 'central',\n}\n\nexport enum RealtyHouseType {\n Townhouse = 'townhouse',\n House = 'house',\n Cottage = 'cottage',\n Part = 'part',\n Duplex = 'duplex',\n}\n\nexport enum RealtyWallsMaterial {\n Brick = 'brick',\n Timber = 'timber',\n Wood = 'wood',\n AeratedConcrete = 'aerated_concrete',\n ReinforcedConcrete = 'reinforced_concrete',\n FrameMetal = 'frame_metal',\n FrameWood = 'frame_wood',\n FoamBlock = 'foam_block',\n SandwichPanels = 'sandwich_panels',\n Shield = 'shield',\n Monolith = 'monolith',\n}\n\nexport enum RealtyFurniture {\n None = 'none',\n Full = 'full',\n Part = 'part',\n}\n\nexport enum RealtyToiletKind {\n Shared = 'shared',\n Separated = 'separated',\n}\n\nexport enum RealtyAdditionalPriceCurrency {\n Eur = 'EUR',\n Usd = 'USD',\n}\n\nexport type Realty = {\n id: string;\n type: 'realty';\n attributes: RealtyAttributesFlatSecondary | RealtyAttributesFlatNew | RealtyAttributesHouse;\n relationships: RealtyRelationshipsFlatSecondary | RealtyRelationshipsFlatNew | RealtyRelationshipsHouse;\n};\n\nexport type RealtyAttributesFlatSecondary = {\n area: number;\n price: number;\n realtyType: RealtyType.FlatSecondary;\n roomCount: number;\n\n additionalPrice?: number;\n additionalPriceCurrency?: RealtyAdditionalPriceCurrency;\n balconyCount?: number;\n cadastralNumber?: string;\n ceilingHeight?: number;\n dealType?: RealtyDealType;\n description?: string;\n documents?: string;\n firstPublishedAt?: string;\n flatKind?: RealtyFlatKind;\n flatNumber?: number;\n flatType?: RealtyFlatType;\n floor?: number;\n floorCount?: number;\n hasChangedLayout?: boolean;\n hasConcierge?: boolean;\n hasFreeLayout?: boolean;\n hasGarbageChute?: boolean;\n hasGuardedParking?: boolean;\n hasInstalment?: boolean;\n hasInternet?: boolean;\n hasMortgage?: boolean;\n hasOnlineShowing?: boolean;\n hasPrivateYard?: boolean;\n hasRamp?: boolean;\n infrastructure?: string;\n isGuarded?: boolean;\n isSberDiscountRequested?: boolean;\n kitchenArea?: number;\n livingArea?: number;\n loggiaCount?: number;\n parkingType?: RealtyParkingType;\n renovationType?: RealtyRenovationType;\n rooms?: Array<number>;\n soldAt?: string;\n title?: string;\n toilets?: Array<{ kind: RealtyToiletKind; isInside?: boolean }>;\n videoUrl?: string;\n windowView?: RealtyWindowView;\n};\n\n// для complex и complexHousing data? тк они могут приходить как пустой объект\nexport type RealtyRelationshipsFlatSecondary = {\n address: { data: { id: string; type: 'address' } };\n complex?: { data?: { id: string; type: 'complex' } };\n complexHousing?: { data?: { id: string; type: 'complexHousing' } };\n externalLink?: { data: { id: string; type: 'externalLink' } };\n metroDistance?: { data: Array<{ id: string; type: 'realtyMetroDistance' }> };\n realtyImage?: { data: Array<{ id: string; type: 'realtyImage' }> };\n priceHistory?: { data: Array<{ id: string; type: 'priceHistory' }> };\n};\n\nexport type RealtyAttributesFlatNew = {\n area: number;\n price: number;\n realtyType: RealtyType.FlatNew;\n roomCount: number;\n\n additionalPrice?: number;\n additionalPriceCurrency?: RealtyAdditionalPriceCurrency;\n balconyCount?: number;\n cadastralNumber?: string;\n ceilingHeight?: number;\n dduOwner?: {\n kind: RealtyDDUOwnerType;\n inn?: string;\n firstName?: string;\n lastName?: string;\n middleName?: string;\n };\n rosreestrRegistrationNumber?: string;\n dealType?: RealtyDealTypeFlatNew;\n description?: string;\n documents?: string;\n firstPublishedAt: string;\n flatKind?: RealtyFlatKind;\n flatNumber?: number;\n flatType?: RealtyFlatType;\n floor?: number;\n floorCount?: number;\n hasChangedLayout?: boolean;\n hasConcierge?: boolean;\n hasFreeLayout?: boolean;\n hasGarbageChute?: boolean;\n hasGuardedParking?: boolean;\n hasInstalment?: boolean;\n hasInternet?: boolean;\n hasMortgage?: boolean;\n hasOnlineShowing?: boolean;\n hasPrivateYard?: boolean;\n hasRamp?: boolean;\n infrastructure?: string;\n isGuarded?: boolean;\n isSberDiscountRequested?: boolean;\n kitchenArea?: number;\n livingArea?: number;\n loggiaCount?: number;\n parkingType?: RealtyParkingType;\n renovationType?: RealtyRenovationTypeFlatNew;\n rooms?: Array<number>;\n soldAt?: string;\n title?: string;\n toilets?: Array<{ kind: RealtyToiletKind; isInside?: boolean }>;\n videoUrl?: string;\n windowView?: RealtyWindowView;\n deliveryQuarter?: number;\n deliveryYear?: number;\n isDelivered?: boolean;\n};\n\nexport type RealtyRelationshipsFlatNew = RealtyRelationshipsFlatSecondary;\n\nexport type RealtyAttributesHouse = {\n area: number;\n price: number;\n realtyType: RealtyType.House;\n roomCount: number;\n\n additionalPrice?: number;\n additionalPriceCurrency?: RealtyAdditionalPriceCurrency;\n bedroomCount?: number;\n burden?: boolean;\n cadastralNumber?: string;\n ceilingHeight?: number;\n cityDistance?: number;\n dealType?: RealtyDealType;\n description?: string;\n documents?: string;\n electricity?: RealtyElectricity;\n firstPublishedAt: string;\n floor?: never;\n floorCount?: number;\n furniture?: RealtyFurniture;\n gas?: RealtyGas;\n hasBathhouse?: boolean;\n hasGarage?: boolean;\n hasInstalment?: boolean;\n hasInternet?: boolean;\n hasMortgage?: boolean;\n hasOnlineShowing?: boolean;\n hasPool?: boolean;\n hasSauna?: boolean;\n heating?: RealtyHeating;\n houseType?: RealtyHouseType;\n infrastructure?: string;\n isGuarded?: boolean;\n isResidence?: boolean;\n isSberDiscountRequested?: boolean;\n kitchenArea?: number;\n landArea?: number;\n landCadastralNumber?: string;\n landPurpose?: RealtyLandPurpose;\n landShape?: RealtyLandShape;\n landUsageType?: RealtyLandUsageType;\n livingArea?: number;\n plumbing?: RealtyPlumbing;\n relief?: RealtyRelief;\n renovationType?: RealtyRenovationType;\n rooms?: Array<number>;\n sewerage?: RealtySewerage;\n shareSize?: number;\n soldAt?: string;\n title?: string;\n toilets?: Array<{ kind: RealtyToiletKind; isInside?: boolean }>;\n videoUrl?: string;\n wallsMaterial?: RealtyWallsMaterial;\n};\n\n// для cottageComplex data? тк он может приходить как пустой объект\nexport type RealtyRelationshipsHouse = {\n address: { data: { id: string; type: 'address' } };\n externalLink?: { data: { id: string; type: 'externalLink' } };\n highwayDistance?: { data: Array<{ id: string; type: 'houseHighwayDistance' }> };\n metroDistance?: { data: Array<{ id: string; type: 'realtyMetroDistance' }> };\n realtyImage?: { data: Array<{ id: string; type: 'realtyImage' }> };\n priceHistory?: { data: Array<{ id: string; type: 'priceHistory' }> };\n cottageComplex?: { data?: { id: string; type: 'cottageComplex' } };\n};\n","export enum RealtyImageGroup {\n Photo = 'photo',\n Plan = 'plan',\n}\n\nexport type RealtyImage = {\n id: string;\n type: 'realtyImage';\n attributes: {\n group: RealtyImageGroup;\n isPinned: boolean;\n title?: string;\n };\n relationships: {\n image: {\n data: { id: string; type: 'image' };\n };\n imageOriginal: {\n data: { id: string; type: 'image' };\n };\n realty: {\n data: { id: string; type: 'realty' };\n };\n };\n};\n","export enum RealtyMetroDistanceMethod {\n Car = 'car',\n Foot = 'foot',\n}\n\nexport type RealtyMetroDistance = {\n id: string;\n type: 'realtyMetroDistance';\n attributes: {\n distance: number;\n method: RealtyMetroDistanceMethod;\n time: number;\n };\n relationships: {\n metroStation: {\n data: { id: string; type: 'metroStation' };\n };\n realty?: {\n data: { id: string; type: 'realty' };\n };\n };\n};\n","import * as api from './api';\nimport { FindRealtiesOptions } from './api';\n\nexport class Api {\n constructor(private baseURL: Promise<string | undefined> | string | undefined) {}\n\n // address\n\n createAddress = async (body: api.CreateAddressBody, headers: api.CreateAddressHeaders) => {\n return api.createAddressRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n // addressBti\n\n createAddressBti = async (body: api.CreateAddressBtiBody, headers: api.CreateAddressBtiHeaders) => {\n return api.createAddressBtiRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n findAddressBtiById = async (urlParams: api.FindAddressBtiByIdUrlParams) => {\n return api.findAddressBtiByIdRequest({ urlParams, baseURL: await this.baseURL });\n };\n\n updateAddressBti = async (\n urlParams: api.UpdateAddressBtiUrlParams,\n body: api.UpdateAddressBtiBody,\n headers: api.UpdateAddressBtiHeaders\n ) => {\n return api.updateAddressBtiRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n // complex\n\n findComplexById = async (\n urlParams: api.FindComplexByIdUrlParams,\n params: api.FindComplexByIdParams,\n headers?: api.FindComplexByIdHeaders\n ) => {\n return api.findComplexByIdRequest({ urlParams, params, headers, baseURL: await this.baseURL });\n };\n\n findComplexes = async (params: api.FindComplexesParams, headers?: api.FindComplexesHeaders) => {\n return api.findComplexesRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findComplexHousingByComplexId = async (\n urlParams: api.FindComplexHousingByComplexIdUrlParams,\n params: api.FindComplexHousingByComplexIdParams,\n headers?: api.FindComplexHousingByComplexIdHeaders\n ) => {\n return api.findComplexHousingByComplexIdRequest({ urlParams, params, headers, baseURL: await this.baseURL });\n };\n\n // cottageComplex\n\n findCottageComplexes = async (params: api.FindCottageComplexesParams, headers?: api.FindCottageComplexesHeaders) => {\n return api.findCottageComplexesRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n // highway\n\n findHighways = async () => {\n return api.findHighwaysRequest({ baseURL: await this.baseURL });\n };\n\n // metroStation\n\n findMetroStations = async () => {\n return api.findMetroStationsRequest({ baseURL: await this.baseURL });\n };\n\n // realty\n\n createRealty = async (body: api.CreateRealtyBody, headers: api.CreateRealtyHeaders) => {\n return api.createRealtyRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n createRealtyHouseHighwayDistance = async (\n body: api.CreateRealtyHouseHighwayDistanceBody,\n headers: api.CreateRealtyHouseHighwayDistanceHeaders\n ) => {\n return api.createRealtyHouseHighwayDistanceRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n createRealtyImage = async (body: api.CreateRealtyImageBody, headers: api.CreateRealtyImageHeaders) => {\n return api.createRealtyImageRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n createRealtyMetroDistance = async (\n body: api.CreateRealtyMetroDistanceBody,\n headers: api.CreateRealtyMetroDistanceHeaders\n ) => {\n return api.createRealtyMetroDistanceRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n deleteRealtyImage = async (urlParams: api.DeleteRealtyImageUrlParams, headers: api.DeleteRealtyImageHeaders) => {\n return api.deleteRealtyImageRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findRealties = async (\n params: api.FindRealtiesParams,\n headers?: api.FindRealtiesHeaders,\n options?: FindRealtiesOptions\n ) => {\n return api.findRealtiesRequest({ params, headers, options, baseURL: await this.baseURL });\n };\n\n findRealtyById = async (\n urlParams: api.FindRealtyByIdUrlParams,\n params: api.FindRealtyByIdParams,\n headers?: api.FindRealtyByIdHeaders\n ) => {\n return api.findRealtyByIdRequest({ urlParams, params, headers, baseURL: await this.baseURL });\n };\n\n updateRealty = async (\n urlParams: api.UpdateRealtyUrlParams,\n body: api.UpdateRealtyBody,\n headers: api.UpdateRealtyHeaders\n ) => {\n return api.updateRealtyRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n updateRealtyHouseHighwayDistance = async (\n urlParams: api.UpdateRealtyHouseHighwayDistanceUrlParams,\n body: api.UpdateRealtyHouseHighwayDistanceBody,\n headers: api.UpdateRealtyHouseHighwayDistanceHeaders\n ) => {\n return api.updateRealtyHouseHighwayDistanceRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n updateRealtyImage = async (\n urlParams: api.UpdateRealtyImageUrlParams,\n body: api.UpdateRealtyImageBody,\n headers: api.UpdateRealtyImageHeaders\n ) => {\n return api.updateRealtyImageRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n updateRealtyMetroDistance = async (\n urlParams: api.UpdateRealtyMetroDistanceUrlParams,\n body: api.UpdateRealtyMetroDistanceBody,\n headers: api.UpdateRealtyMetroDistanceHeaders\n ) => {\n return api.updateRealtyMetroDistanceRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n}\n\nexport * from './api';\nexport * from './dictionaries';\nexport * from './types';\n","import { AddressBTIParamsWallsMaterial, AddressBTIParamsHeatingType } from '../types';\n\nexport const AddressBTIParamsDictionary = {\n WallsMaterial: {\n [AddressBTIParamsWallsMaterial.Brick]: 'Кирпичный',\n [AddressBTIParamsWallsMaterial.Monolith]: 'Монолитный',\n [AddressBTIParamsWallsMaterial.Monobrick]: 'Монолитно-кирпичный',\n [AddressBTIParamsWallsMaterial.Timber]: 'Деревянный',\n [AddressBTIParamsWallsMaterial.Panel]: 'Панельный',\n [AddressBTIParamsWallsMaterial.Block]: 'Блочный',\n },\n HeatingType: {\n [AddressBTIParamsHeatingType.None]: 'Нет',\n [AddressBTIParamsHeatingType.Central]: 'Центральное',\n [AddressBTIParamsHeatingType.Local]: 'Отдельное',\n [AddressBTIParamsHeatingType.Gas]: 'Газовое',\n [AddressBTIParamsHeatingType.Electricity]: 'Электрическое',\n [AddressBTIParamsHeatingType.Liquid]: 'Жидкое топливо',\n },\n Series: {\n 1: '02/П-2009',\n 2: '03/П-2008',\n 3: '06-009-12',\n 4: '07-1766-АР-1',\n 5: '10-03-74',\n 6: '10 а',\n 7: '11-03',\n 8: '111',\n 9: '111-121',\n 10: '1-115',\n 11: '111-90',\n 12: '111м',\n 13: '111-М',\n 14: '111М',\n 15: '11-49д',\n 16: '11-68',\n 17: '11-68-01',\n 18: '1-18',\n 19: '1-447',\n 20: '1-447С-5П',\n 21: '1-464',\n 22: '1-464А',\n 23: '1-510',\n 24: '15 104/м6',\n 25: '1-511',\n 26: '1-511-1',\n 27: '1-511/кирпичный',\n 28: '1-513',\n 29: '1-515',\n 30: '1-515-4',\n 31: '1-515-4/М38',\n 32: '1-515-4/М 38',\n 33: '1-515/5',\n 34: '1-515/9',\n 35: '1-515/9М',\n 36: '1-515/9ш',\n 37: '1-515/9Ш',\n 38: '1-515/9ЮЛ',\n 39: '1605',\n 40: '1605/12',\n 41: '1605/5',\n 42: '1605/9',\n 43: '1605-АМ',\n 44: '1605-АМ-04/12Ю',\n 45: '1605-АМ/1',\n 46: '1605-АМ/12',\n 47: '1605 АМ/12-Ю',\n 48: '1605-АМ/5',\n 49: '1605-АМ/9',\n 50: '1605-АН',\n 51: '1605-М',\n 52: '1МГ-601',\n 53: '1МГ-601-441',\n 54: '1МГ-601Д',\n 55: '1МГ-601Ж',\n 56: '2-18-02/12',\n 57: '222',\n 58: '249',\n 59: '2-49',\n 60: '2,65',\n 61: '2-68-01',\n 62: '2.7',\n 63: '2,75',\n 64: '30',\n 65: '3.1',\n 66: '314847',\n 67: '349ПДШ',\n 68: '39-11957',\n 69: '39-12078',\n 70: '3ПМ',\n 71: '4.2',\n 72: '430/03-1-AP',\n 73: '4-85-1012',\n 74: '4-90-2524',\n 75: '66',\n 76: '90.1.М',\n 77: '97 улучшенная',\n 78: 'B-155C',\n 79: 'H-209А',\n 80: 'I-209A',\n 81: 'I-335',\n 82: 'I-447',\n 83: 'I-447-26',\n 84: 'I-49Д',\n 85: 'I-510',\n 86: 'I-511',\n 87: 'I-511/5',\n 88: 'I 515',\n 89: 'I-515',\n 90: 'I-515-04/9юл',\n 91: 'I-515-5',\n 92: 'I-515/5',\n 93: 'I-515/9',\n 94: 'I-515/9М',\n 95: 'I-515/9ш',\n 96: 'I-601МГ',\n 97: 'I-605-04/12',\n 98: 'I605-AM',\n 99: 'I605-АМ',\n 100: 'II-01',\n 101: 'II-01/12',\n 102: 'II-03',\n 103: 'II-04',\n 104: 'II-05',\n 105: 'II-08',\n 106: 'II-14',\n 107: 'II-1777',\n 108: 'II-18',\n 109: 'II-18-01',\n 110: 'II-18-01/08б',\n 111: 'II-18-01/08Б,II-18-01/09Б',\n 112: 'II-18-01/09',\n 113: 'II-18-01/09Б',\n 114: 'II-18-01/12',\n 115: 'II-18/01/12',\n 116: 'II-18-01/12А',\n 117: 'II-18-01/9',\n 118: 'II-18-01-МН',\n 119: 'II-18/01-МН',\n 120: 'II-18-02/1',\n 121: 'II-18-02/12',\n 122: 'II-18/09МИК',\n 123: 'II-18/12',\n 124: 'II-18/12 Б',\n 125: 'II-18/22',\n 126: 'II-18-31',\n 127: 'II-18-31/12А',\n 128: 'II-18-9',\n 129: 'II-19Д',\n 130: 'II-20',\n 131: 'II-26',\n 132: 'II-28',\n 133: 'II-29',\n 134: 'II-29-41/37',\n 135: 'II-32',\n 136: 'II-323',\n 137: 'II-42 0 8/10',\n 138: 'II-46Д',\n 139: 'II-49',\n 140: 'II-49-06/9',\n 141: 'II-49-1010',\n 142: 'II-49Д',\n 143: 'II-49П',\n 144: 'II-57',\n 145: 'II-57-05',\n 146: 'II-57-05-Ю',\n 147: 'II-67',\n 148: 'II-67 Тишинская',\n 149: 'II-68',\n 150: 'II-68-01',\n 151: 'II-68-01/12-83',\n 152: 'II-68-01/14-83',\n 153: 'II-68-01/16',\n 154: 'II-68-01/16-10',\n 155: 'II-68-01/16Ю',\n 156: 'II-68-02',\n 157: 'II-68-02/12M',\n 158: 'II-68-02/12К',\n 159: 'II-68-02/16М',\n 160: 'II-68-03',\n 161: 'II-68/03',\n 162: 'II-68-03/12-10',\n 163: 'II-68-03/12Ю-2/76',\n 164: 'II-68/16',\n 165: 'II-80',\n 166: 'II-д',\n 167: 'Айсберг',\n 168: 'АМ-1605',\n 169: 'Атриум',\n 170: 'Башня',\n 171: 'Башня Вулыха',\n 172: 'Башня Копэ',\n 173: 'Бекертон',\n 174: 'БС',\n 175: 'БС-39',\n 176: 'Г',\n 177: 'ГМС',\n 178: 'ГМС-1 (ГМС-2001)',\n 179: 'ГОС',\n 180: 'Град',\n 181: 'ГРАД',\n 182: 'ГРАД-1М',\n 183: 'Град-2М',\n 184: 'ГСМ-1',\n 185: 'Д-23',\n 186: 'д25',\n 187: 'Д-25',\n 188: 'Д-25Н1',\n 189: 'Д-8',\n 190: 'Доммос',\n 191: 'ДомРик',\n 192: 'Другой',\n 193: 'Евро-Па',\n 194: 'И-111',\n 195: 'И-1414',\n 196: 'И-155',\n 197: 'И-155-Б',\n 198: 'И-155Б2',\n 199: 'И-155МК',\n 200: 'И-155ММ',\n 201: 'И-155Н',\n 202: 'И-155-С',\n 203: 'И-1723',\n 204: 'И-18-01/12',\n 205: 'И-209',\n 206: 'И-209/12',\n 207: 'И-209А',\n 208: 'И-2446',\n 209: 'И-286',\n 210: 'И-30',\n 211: 'И-491А',\n 212: 'И-510',\n 213: 'И-515',\n 214: 'И-515-5м',\n 215: 'И-515/9М',\n 216: 'И-522',\n 217: 'И-522А',\n 218: 'И-62',\n 219: 'И-68',\n 220: 'И-700',\n 221: 'И-700А',\n 222: 'И-700Н',\n 223: 'И-701',\n 224: 'И-79-99',\n 225: 'И-III-3',\n 226: 'ИП-46',\n 227: 'ИП-46М',\n 228: 'ИП-46-С',\n 229: 'ИС',\n 230: 'К-4/16',\n 231: 'К-44-т',\n 232: 'К-7',\n 233: 'К-7/16',\n 234: 'КМС-101',\n 235: 'Колос',\n 236: 'Комфотр-класс',\n 237: 'КОПЭ-Башня М',\n 238: 'КОПЭ',\n 239: 'КОПЭ-22',\n 240: 'КОПЭ-80',\n 241: 'КОПЭ-85',\n 242: 'КОПЭ-Башня',\n 243: 'КОПЭ-М',\n 244: 'КОПЭ-М Парус',\n 245: 'КОПЭ-Парус',\n 246: 'Корабль К-8/16',\n 247: 'КОЭП',\n 248: 'КП',\n 249: 'КПД-4570',\n 250: 'КП «Парус»',\n 251: 'Крост',\n 252: 'КСМ-101',\n 253: 'КТЖС',\n 254: 'КТЖС-5',\n 255: 'КУБ',\n 256: 'КУБ-2,5',\n 257: 'Лайм',\n 258: 'Лебедь',\n 259: 'литера А',\n 260: 'М111',\n 261: 'М-464',\n 262: 'Мг-60',\n 263: 'МГ-601',\n 264: 'МЖУ',\n 265: 'МК',\n 266: 'МК-55',\n 267: 'Мо-16/3В-451243',\n 268: 'МЭС-85',\n 269: 'НАД (ДСК-1)',\n 270: 'П-044',\n 271: 'П-111',\n 272: 'П-111/4',\n 273: 'П-111-М',\n 274: 'П-1144',\n 275: 'П-14',\n 276: 'П-155',\n 277: 'П-18',\n 278: 'П-18/12',\n 279: 'П-22',\n 280: 'П-22К',\n 281: 'П-29',\n 282: 'П-29Б',\n 283: 'П-3',\n 284: 'П-30',\n 285: 'П-30-3/12',\n 286: 'П-31',\n 287: 'П-3/16',\n 288: 'П-3/17',\n 289: 'П-32',\n 290: 'П-3/22',\n 291: 'П-34',\n 292: 'П-3М',\n 293: 'П-3МК',\n 294: 'П-3МК «Флагман»',\n 295: 'П-4',\n 296: 'П4/16',\n 297: 'П-42',\n 298: 'П-43',\n 299: 'П 43/16',\n 300: 'П-44',\n 301: 'П-44/16',\n 302: 'п-44Д',\n 303: 'П-44 (ДСК-1)',\n 304: 'П-44-К',\n 305: 'П-44-К-1/17',\n 306: 'П-44М',\n 307: 'П-44М25',\n 308: 'П-44С',\n 309: 'П-44Т',\n 310: 'П-44Т-1',\n 311: 'П-44Т-1/17Н1',\n 312: 'П-44Т-1/25Н1',\n 313: 'П-44Т-25',\n 314: 'П-44Т-6ТМ',\n 315: 'П-44Т/К',\n 316: 'П-44ТМ',\n 317: 'П-44ТМ/25',\n 318: 'П-44ТМ/25 (ТМ-25)',\n 319: 'П-44ТУ',\n 320: 'П—46',\n 321: 'П-46/12',\n 322: 'П-46А',\n 323: 'П-46Д',\n 324: 'П-46М',\n 325: 'П-46Т',\n 326: 'П-47',\n 327: 'П-49',\n 328: 'п-49-04/ю',\n 329: 'П-49Д',\n 330: 'п-49м',\n 331: 'П-55',\n 332: 'П-55-2/12',\n 333: 'П-55М',\n 334: 'П-56м',\n 335: 'П-57',\n 336: 'П-67',\n 337: 'П-68',\n 338: 'П-68/01',\n 339: 'П-68-01/10',\n 340: 'П-90',\n 341: 'ПД-1',\n 342: 'ПД-4',\n 343: 'ПД-4-1/16',\n 344: 'ПД-4/12',\n 345: 'ПД-44',\n 346: 'ПЗ-16',\n 347: 'ПЗ-17',\n 348: 'П-ЗМ',\n 349: 'ПЗМ-7/23Э',\n 350: 'Пик-1',\n 351: 'пк-44',\n 352: 'ПМ',\n 353: 'П-М111',\n 354: 'ПП-44Т',\n 355: 'Призма',\n 356: 'ПТ-44',\n 357: 'ПТ-44Т',\n 358: 'р-46',\n 359: 'РД-17',\n 360: 'РД-17.04',\n 361: 'РД-90',\n 362: 'С-222',\n 363: 'СМ-06',\n 364: 'Совмин',\n 365: 'Спецпроект',\n 366: 'Сталинский дом',\n 367: 'Т44п',\n 368: 'тип-441',\n 369: 'ТМ-25',\n 370: 'ЦК',\n 371: 'ЭГП-0,14',\n 372: 'ЭЖРЧС',\n 373: 'ЭП-П-07-24',\n 374: 'ЮВ-2012',\n 375: 'I-433',\n },\n};\n","import { AddressMetroDistanceMethod } from '../types';\n\nexport const AddressMetroDistanceDictionary = {\n Method: {\n [AddressMetroDistanceMethod.Car]: 'На машине',\n [AddressMetroDistanceMethod.Foot]: 'Пешком',\n },\n};\n","import {\n RealtyType,\n RealtyDealType,\n RealtyDealTypeFlatNew,\n RealtyRenovationType,\n RealtyRenovationTypeFlatNew,\n RealtyFlatKind,\n RealtyParkingType,\n RealtyFlatType,\n RealtyWindowView,\n RealtyDDUOwnerType,\n RealtyElectricity,\n RealtyGas,\n RealtyHeating,\n RealtyLandUsageType,\n RealtyLandPurpose,\n RealtyLandShape,\n RealtyRelief,\n RealtyPlumbing,\n RealtySewerage,\n RealtyHouseType,\n RealtyWallsMaterial,\n RealtyFurniture,\n RealtyAdditionalPriceCurrency,\n} from '../types';\n\nexport const RealtyDictionary = {\n Type: {\n [RealtyType.FlatSecondary]: 'Вторичка',\n [RealtyType.FlatNew]: 'Новостройка',\n [RealtyType.House]: 'Дом',\n },\n DealType: {\n [RealtyDealType.Free]: 'Свободная продажа',\n [RealtyDealType.Alternative]: 'Альтернатива',\n },\n DealTypeFlatNew: {\n [RealtyDealTypeFlatNew.Reassignment]: 'Договор уступки',\n [RealtyDealTypeFlatNew.DKP]: 'ДКП',\n [RealtyDealTypeFlatNew.DDU]: 'ДДУ',\n [RealtyDealTypeFlatNew.PreSaleContract]: 'Предварительный договор купли-продажи',\n },\n RenovationType: {\n [RealtyRenovationType.None]: 'Без ремонта',\n [RealtyRenovationType.Author]: 'Авторский',\n [RealtyRenovationType.Cosmetic]: 'Косметический',\n [RealtyRenovationType.Euro]: 'Евро',\n },\n RenovationTypeFlatNew: {\n [RealtyRenovationTypeFlatNew.None]: 'Без отделки',\n [RealtyRenovationTypeFlatNew.FineFinishing]: 'Чистовая отделка',\n [RealtyRenovationTypeFlatNew.RoughFinishing]: 'Черновая отделка',\n },\n FlatKind: {\n [RealtyFlatKind.Typical]: 'Типовое',\n [RealtyFlatKind.Penthouse]: 'Пентхаус',\n [RealtyFlatKind.TwoTier]: 'Двухуровневое',\n },\n ParkingType: {\n [RealtyParkingType.Open]: 'Открытая',\n [RealtyParkingType.Underground]: 'Подземная',\n [RealtyParkingType.Ground]: 'Наземная',\n [RealtyParkingType.Multilevel]: 'Многоуровневая',\n [RealtyParkingType.Roof]: 'На крыше',\n },\n FlatType: {\n [RealtyFlatType.Flat]: 'Квартира',\n [RealtyFlatType.Apartment]: 'Апартаменты',\n },\n WindowView: {\n [RealtyWindowView.Street]: 'На улицу',\n [RealtyWindowView.Yard]: 'Во двор',\n [RealtyWindowView.Both]: 'В обе стороны',\n },\n DDUOwnerType: {\n [RealtyDDUOwnerType.Physical]: 'Физическое лицо',\n },\n Electricity: {\n [RealtyElectricity.None]: 'Нет',\n [RealtyElectricity.Connected]: 'Подключено',\n [RealtyElectricity.Possible]: 'Возможно',\n [RealtyElectricity.Autonomous]: 'Автономное',\n },\n Gas: {\n [RealtyGas.None]: 'Нет',\n [RealtyGas.Connected]: 'Подключено',\n [RealtyGas.Border]: 'По границе',\n [RealtyGas.Possible]: 'Возможно',\n [RealtyGas.Autonomous]: 'Автономное',\n },\n Heating: {\n [RealtyHeating.None]: 'Нет',\n [RealtyHeating.Central]: 'Центральное',\n [RealtyHeating.Local]: 'Отдельное',\n [RealtyHeating.Gas]: 'Газовое',\n [RealtyHeating.Electricity]: 'Электрическое',\n [RealtyHeating.Liquid]: 'Жидкое топливо',\n [RealtyHeating.Furnace]: 'Печь',\n [RealtyHeating.SolidFuelBoiler]: 'Твердотопливный котел',\n },\n LandUsageType: {\n [RealtyLandUsageType.IGS]: 'ИЖС',\n [RealtyLandUsageType.LPH]: 'ЛПХ (личное подсобное хозяйство)',\n [RealtyLandUsageType.DNP]: 'ДНП (дачное некоммерческое партнероство)',\n [RealtyLandUsageType.SNT]: 'СНТ (садоводческое некоммерческое товарищество)',\n [RealtyLandUsageType.Farm]: 'Фермерское хозяйство',\n [RealtyLandUsageType.Garden]: 'Садоводство',\n [RealtyLandUsageType.Investproject]: 'Инвестпроект',\n },\n LandPurpose: {\n [RealtyLandPurpose.Settlements]: 'Земли поселений',\n [RealtyLandPurpose.Agricultural]: 'Сельскохозяйственного назначения',\n [RealtyLandPurpose.Industrial]: 'Промышленного назначения',\n [RealtyLandPurpose.Forests]: 'Земли лесного фонда',\n [RealtyLandPurpose.Aqua]: 'Земли водного фонда',\n [RealtyLandPurpose.Reservations]: 'Запаса',\n [RealtyLandPurpose.Guarded]: 'Особо охраняемых территорий',\n },\n LandShape: {\n [RealtyLandShape.Regular]: 'Правильная',\n [RealtyLandShape.Irregular]: 'Неправильная',\n },\n Relief: {\n [RealtyRelief.Flat]: 'Ровный',\n [RealtyRelief.Elevations]: 'Значительные перепады высот',\n [RealtyRelief.Slope]: 'Склон',\n [RealtyRelief.Hills]: 'Холмы',\n },\n Plumbing: {\n [RealtyPlumbing.None]: 'Нет',\n [RealtyPlumbing.Central]: 'Центральное',\n [RealtyPlumbing.Hole]: 'Скважина',\n [RealtyPlumbing.Well]: 'Колодец/колонка',\n [RealtyPlumbing.Border]: 'По границе',\n },\n Sewerage: {\n [RealtySewerage.None]: 'Нет',\n [RealtySewerage.Cesspool]: 'Выгребная яма',\n [RealtySewerage.Septic]: 'Септик',\n [RealtySewerage.Bio]: 'Устройства биологической очистки',\n [RealtySewerage.Central]: 'Центральная',\n },\n HouseType: {\n [RealtyHouseType.Townhouse]: 'Таунхаус',\n [RealtyHouseType.House]: 'Дом',\n [RealtyHouseType.Cottage]: 'Коттедж',\n [RealtyHouseType.Part]: 'Часть дома',\n [RealtyHouseType.Duplex]: 'Дуплекс',\n },\n WallsMaterial: {\n [RealtyWallsMaterial.Brick]: 'Кирпичный',\n [RealtyWallsMaterial.Timber]: 'Брус',\n [RealtyWallsMaterial.Wood]: 'Бревно',\n [RealtyWallsMaterial.AeratedConcrete]: 'Газобетон',\n [RealtyWallsMaterial.ReinforcedConcrete]: 'Железобетон',\n [RealtyWallsMaterial.FrameMetal]: 'Каркасный из металла',\n [RealtyWallsMaterial.FrameWood]: 'Каркасный из дерева',\n [RealtyWallsMaterial.FoamBlock]: 'Пенобетон',\n [RealtyWallsMaterial.SandwichPanels]: 'Сэндвич панели',\n [RealtyWallsMaterial.Shield]: 'Щитовой',\n [RealtyWallsMaterial.Monolith]: 'Монолитный',\n },\n Furniture: {\n [RealtyFurniture.None]: 'Отсутствует',\n [RealtyFurniture.Full]: 'Полностью мебелирован',\n [RealtyFurniture.Part]: 'Частично мебелирован',\n },\n AdditionalPriceCurrency: {\n [RealtyAdditionalPriceCurrency.Eur]: 'EUR',\n [RealtyAdditionalPriceCurrency.Usd]: 'USD',\n },\n};\n","import { RealtyImageGroup } from '../types';\n\nexport const RealtyImageDictionary = {\n Group: {\n [RealtyImageGroup.Photo]: 'Фото',\n [RealtyImageGroup.Plan]: 'План',\n },\n};\n","import { RealtyMetroDistanceMethod } from '../types';\n\nexport const RealtyMetroDistanceDictionary = {\n Method: {\n [RealtyMetroDistanceMethod.Car]: 'На машине',\n [RealtyMetroDistanceMethod.Foot]: 'Пешком',\n },\n};\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { nanoid } from 'nanoid/non-secure';\nimport qs from 'qs';\nimport { ActualEventsRow } from '../../types';\n\ntype SuccessData = { success: true; data: ActualEventsRow[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success?: false; data?: { error: string }; message?: string };\n\ntype ResultData = { ids: string[]; byId: Record<string, ActualEventsRow & { _id: string }>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindActualEventsRowHeaders = { 'x-auth-hc': string };\nexport type FindActualEventsRowParams = {\n filter?: {\n 'realty.id'?: number;\n createdAt?: { from?: string; to?: string };\n };\n limits?: { page: number; count: number | 'all' };\n};\nexport type FindActualEventsRowData = AxiosResponse<ResultData>;\nexport type FindActualEventsRowError = AxiosError<ResultError>;\n\nexport type FindActualEventsRowConfig = {\n baseURL?: string;\n headers: FindActualEventsRowHeaders;\n params: FindActualEventsRowParams;\n};\n\nexport function findActualEventsRowRequest({\n baseURL = 'https://publisher.homeapp.ru',\n headers,\n params,\n}: FindActualEventsRowConfig) {\n return axios\n .get('/api/crud/events-row', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n const _id = nanoid();\n byId[_id] = { ...entity, _id };\n ids.push(_id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n }\n\n return data.data?.error ?? data.message ?? 'Unknown Error';\n },\n ],\n })\n .then((res: FindActualEventsRowData) => res)\n .catch((err: FindActualEventsRowError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\n\ntype SuccessData = { success: true; data: { deltaSum: number } };\ntype ErrorData = { success?: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindEventsRowHeaders = { 'x-auth-hc': string };\nexport type FindEventsRowParams = { filter: { apartmentId: string; createdAt?: { from?: string; to?: string } } };\nexport type FindEventsRowData = AxiosResponse<ResultData>;\nexport type FindEventsRowError = AxiosError<ResultError>;\nexport type FindEventsRowConfig = {\n baseURL?: string;\n headers: FindEventsRowHeaders;\n params: FindEventsRowParams;\n};\n\nexport function findEventsRowRequest({\n baseURL = 'https://publisher.homeapp.ru',\n headers,\n params,\n}: FindEventsRowConfig) {\n return axios\n .get('/api/events-row/delta-view', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindEventsRowData) => res)\n .catch((err: FindEventsRowError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\n\nexport type ExternalLink = { apartmentId: number; url: string; externalSite: string };\ntype SuccessData = {\n success: true;\n data: Array<ExternalLink>;\n pageParams: { page?: number; length: number };\n};\ntype ErrorData = { success?: false; data: { error: string } };\n\ntype ResultData = {\n ids: string[];\n byId: Record<string, ExternalLink>;\n meta: { total: number };\n};\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindExternalLinksHeaders = { 'x-auth-hc'?: string };\nexport type FindExternalLinksParams = {\n filter?: { 'realty.id'?: string };\n limits?: { page?: number; count?: number | 'all' };\n};\nexport type FindExternalLinksData = AxiosResponse<ResultData>;\nexport type FindExternalLinksError = AxiosError<ResultError>;\n\nexport type FindExternalLinksConfig = {\n baseURL?: string;\n headers?: FindExternalLinksHeaders;\n params: FindExternalLinksParams;\n};\n\nexport function findExternalLinksRequest({\n baseURL = 'https://publisher.homeapp.ru',\n headers,\n params,\n}: FindExternalLinksConfig) {\n return axios\n .get('/api/crud/external-link', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.externalSite] = entity;\n ids.push(entity.externalSite);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n },\n ],\n })\n .then((res: FindExternalLinksData) => res)\n .catch((err: FindExternalLinksError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { StatisticRow } from '../../types';\n\ntype SuccessData = { success: true; data: StatisticRow };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindHomeappStatisticRowByRealtyIdUrlParams = { realtyId: number };\nexport type FindHomeappStatisticRowByRealtyIdData = AxiosResponse<ResultData>;\nexport type FindHomeappStatisticRowByRealtyIdError = AxiosError<ResultError>;\n\nexport type FindHomeappStatisticRowByRealtyIdConfig = {\n baseURL?: string;\n urlParams: FindHomeappStatisticRowByRealtyIdUrlParams;\n};\n\nexport function findHomeappStatisticRowByRealtyId({\n baseURL = 'https://registry.homeapp.ru',\n urlParams,\n}: FindHomeappStatisticRowByRealtyIdConfig) {\n return axios\n .get(`/api/crud/statistic-row/homeapp/last/${urlParams.realtyId}`, {\n baseURL,\n headers: { Accept: 'application/json' },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindHomeappStatisticRowByRealtyIdData) => res)\n .catch((err: FindHomeappStatisticRowByRealtyIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError } from 'axios';\nimport { NewBuilding } from '../../types';\n\ntype SuccessData = { success: true; data: NewBuilding[] };\n\ntype ErrorData = { success?: false; data?: { error: string }; message?: string };\n\nexport type FindNewBuildingsHeaders = { 'x-auth-hc': string };\n\nexport type FindNewBuildingsParams = { phrase: string };\n\nexport type FindNewBuildingsData = { data: { ids: string[]; byId: Record<string, NewBuilding> } };\n\nexport type FindNewBuildingsError = { status: number; data: string };\n\nexport type FindNewBuildingsConfig = {\n baseURL?: string;\n headers: FindNewBuildingsHeaders;\n params: FindNewBuildingsParams;\n};\n\nexport function findNewBuildingsRequest({\n baseURL = 'https://publisher.homeapp.ru',\n headers,\n params,\n}: FindNewBuildingsConfig) {\n return axios\n .get('/api/apartment/newBuildings', { baseURL, params, headers: { Accept: 'application/json', ...headers } })\n .then(\n (res: AxiosResponse<SuccessData>): FindNewBuildingsData => {\n const data: FindNewBuildingsData = { data: { byId: {}, ids: [] } };\n\n res.data.data.forEach(entity => {\n data.data.byId[entity.id] = entity;\n data.data.ids.push(entity.id);\n });\n\n return data;\n }\n )\n .catch((err: AxiosError<ErrorData>) => {\n const error: Error & Partial<FindNewBuildingsError> = new Error(err.message);\n error.status = err.response?.status ?? 520;\n error.data = err.response?.data.message ?? err.response?.data.data?.error ?? 'Unknown Error';\n\n throw error;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { PlannedEventsRow } from '../../types';\n\ntype SuccessData = { success: true; data: PlannedEventsRow[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success?: false; data?: { error: string }; message?: string };\n\ntype ResultData = { ids: number[]; byId: Record<string, PlannedEventsRow>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindPlannedEventsRowHeaders = { 'x-auth-hc': string };\nexport type FindPlannedEventsRowParams = {\n filter?: {\n id?: number;\n 'realty.id'?: number;\n createdAt?: { from?: string; to?: string };\n dateInterval?: { from?: string; to?: string };\n };\n limits?: { page?: number; count?: number | 'all' };\n};\nexport type FindPlannedEventsRowData = AxiosResponse<ResultData>;\nexport type FindPlannedEventsRowError = AxiosError<ResultError>;\n\nexport type FindPlannedEventsRowConfig = {\n baseURL?: string;\n headers: FindPlannedEventsRowHeaders;\n params: FindPlannedEventsRowParams;\n};\n\nexport function findPlannedEventsRowRequest({\n baseURL = 'https://publisher.homeapp.ru',\n headers,\n params,\n}: FindPlannedEventsRowConfig) {\n return axios\n .get('/api/crud/plan', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n }\n\n return data.data?.error ?? data.message ?? 'Unknown Error';\n },\n ],\n })\n .then((res: FindPlannedEventsRowData) => res)\n .catch((err: FindPlannedEventsRowError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { Scoring } from '../../types';\n\ntype SuccessData = { success: true; data: Scoring[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success?: false; data?: { error: string }; message?: string };\n\ntype ResultData = { ids: number[]; byId: Record<string, Scoring>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindScoringHeaders = { 'x-auth-hc': string };\nexport type FindScoringParams = { filter?: { 'realty.id'?: number }; limits?: { page: number; count: number } };\nexport type FindScoringData = AxiosResponse<ResultData>;\nexport type FindScoringError = AxiosError<ResultError>;\nexport type FindScoringConfig = {\n baseURL?: string;\n headers: FindScoringHeaders;\n params: FindScoringParams;\n};\n\nexport function findScoringRequest({ baseURL = 'https://publisher.homeapp.ru', headers, params }: FindScoringConfig) {\n return axios\n .get('/api/scoring', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n }\n\n return data.data?.error ?? data.message ?? 'Unknown Error';\n },\n ],\n })\n .then((res: FindScoringData) => res)\n .catch((err: FindScoringError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { StatisticRow } from '../../types';\n\ntype SuccessData = { success: true; data: StatisticRow[]; pageParams: { page?: number; length: number } };\ntype ErrorData = { success?: false; data: { error: string } };\n\ntype ResultData = { ids: string[]; byId: Record<string, StatisticRow>; meta: { total: number } };\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindStatisticRowHeaders = { 'x-auth-hc'?: string };\nexport type FindStatisticRowParams = {\n filter?: {\n 'realty.id'?: number;\n createdAt?: {\n from?: string;\n to?: string;\n };\n };\n limits?: { page?: number; count?: number | 'all' };\n};\nexport type FindStatisticRowData = AxiosResponse<ResultData>;\nexport type FindStatisticRowError = AxiosError<ResultError>;\n\nexport type FindStatisticRowConfig = {\n baseURL?: string;\n headers?: FindStatisticRowHeaders;\n params: FindStatisticRowParams;\n};\n\nexport function findStatisticRowRequest({\n baseURL = 'https://publisher.homeapp.ru',\n headers,\n params,\n}: FindStatisticRowConfig) {\n return axios\n .get('/api/crud/statistic-row', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.source] = entity;\n ids.push(entity.source);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n },\n ],\n })\n .then((res: FindStatisticRowData) => res)\n .catch((err: FindStatisticRowError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError } from 'axios';\n\ntype SuccessData = { success: true; data: { firstPublishedAt: string } };\n\ntype ErrorData = { success?: false; data?: { error: string }; message?: string };\n\nexport type GetFirstPublishedAtUrlParams = { realtyId: number };\n\nexport type GetFirstPublishedAtHeaders = { 'x-auth-hc': string };\n\nexport type GetFirstPublishedAtData = { data: SuccessData['data'] };\n\nexport type GetFirstPublishedAtError = { status: number; data: string };\n\nexport type GetFirstPublishedAtConfig = {\n baseURL?: string;\n urlParams: GetFirstPublishedAtUrlParams;\n headers: GetFirstPublishedAtHeaders;\n};\n\nexport function getFirstPublishedAtRequest({\n baseURL = 'https://publisher.homeapp.ru',\n urlParams,\n headers,\n}: GetFirstPublishedAtConfig) {\n return axios\n .get('/api/apartment/' + urlParams.realtyId + '/publication', {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n })\n .then((res: AxiosResponse<SuccessData>): GetFirstPublishedAtData => ({ data: res.data.data }))\n .catch((err: AxiosError<ErrorData>) => {\n const error: Error & Partial<GetFirstPublishedAtError> = new Error(err.message);\n error.status = err.response?.status ?? 520;\n error.data = err.response?.data.message ?? err.response?.data.data?.error ?? 'Unknown Error';\n\n throw error;\n });\n}\n","import axios, { AxiosResponse, AxiosError } from 'axios';\n\ntype SuccessData = { success: true; data: { publishedDays: number } };\n\ntype ErrorData = { success?: false; data?: { error: string }; message?: string };\n\nexport type GetPublishedDaysUrlParams = { realtyId: number };\n\nexport type GetPublishedDaysHeaders = { 'x-auth-hc': string };\n\nexport type GetPublishedDaysData = { data: SuccessData['data'] };\n\nexport type GetPublishedDaysError = { status: number; data: string };\n\nexport type GetPublishedDaysConfig = {\n baseURL?: string;\n urlParams: GetPublishedDaysUrlParams;\n headers: GetPublishedDaysHeaders;\n};\n\nexport function getPublishedDaysRequest({\n baseURL = 'https://publisher.homeapp.ru',\n urlParams,\n headers,\n}: GetPublishedDaysConfig) {\n return axios\n .get('/api/apartment/published-days/' + urlParams.realtyId, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n })\n .then((res: AxiosResponse<SuccessData>): GetPublishedDaysData => ({ data: res.data.data }))\n .catch((err: AxiosError<ErrorData>) => {\n const error: Error & Partial<GetPublishedDaysError> = new Error(err.message);\n error.status = err.response?.status ?? 520;\n error.data = err.response?.data.message ?? err.response?.data.data?.error ?? 'Unknown Error';\n\n throw error;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true; data: { newPublicId: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdateRealtyPublicIdUrlParams = { realtyId: number };\nexport type UpdateRealtyPublicIdHeaders = { 'x-auth-hc': string };\nexport type UpdateRealtyPublicIdBody = { serviceRequestId: number };\n\nexport type UpdateRealtyPublicIdData = AxiosResponse<ResultData>;\nexport type UpdateRealtyPublicIdError = AxiosError<ResultError>;\nexport type UpdateRealtyPublicIdConfig = {\n baseURL?: string;\n urlParams: UpdateRealtyPublicIdUrlParams;\n headers: UpdateRealtyPublicIdHeaders;\n body: UpdateRealtyPublicIdBody;\n};\n\nexport function updateRealtyPublicIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateRealtyPublicIdConfig) {\n return axios\n .patch(`/api/publication/realty/${urlParams.realtyId}/public-id-update`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: UpdateRealtyPublicIdData) => res)\n .catch((err: UpdateRealtyPublicIdError) => {\n throw err;\n });\n}\n","import isNil from 'lodash/isNil';\nimport axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success?: false; data: Record<'error' | 'message', string> };\n\ntype ResultData = null;\ntype ResultError = string;\n\nexport type UploadResumeHeaders = { 'x-auth-hc'?: string };\nexport type UploadResumeBody = {\n firstname: string;\n phone: string;\n comment?: string;\n email?: string;\n file?: Blob;\n lastname?: string;\n source?: string;\n vacancy_name?: string;\n};\n\nexport type UploadResumeData = AxiosResponse<ResultData>;\nexport type UploadResumeError = AxiosError<ResultError>;\nexport type UploadResumeConfig = {\n baseURL?: string;\n headers?: UploadResumeHeaders;\n body: UploadResumeBody;\n};\n\nexport function uploadResumeRequest({ baseURL = 'https://publisher.homeapp.ru', body, headers }: UploadResumeConfig) {\n const formData = new FormData();\n\n formData.append('firstname', body?.firstname || '');\n formData.append('lastname', body?.lastname || '');\n formData.append('phone', body?.phone || '');\n formData.append('email', body?.email || '');\n formData.append('source', body?.source || '');\n formData.append('comment', body?.comment || '');\n formData.append('vacancy_name', body?.vacancy_name || '');\n\n if (!isNil(body?.file)) {\n formData.append('file', body?.file);\n }\n\n return axios\n .post('/resume', formData, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'multipart/form-data', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data.error),\n ],\n })\n .then((res: UploadResumeData) => res)\n .catch((err: UploadResumeError) => {\n throw err;\n });\n}\n","export enum ActualEventsRowSource {\n NEDVIZHKA = 'NEDVIZHKA',\n RUCOUNTRY = 'RUCOUNTRY',\n NEDVRF = 'NEDVRF',\n FOTOMAKLER = 'FOTOMAKLER',\n HOUSE_2_YOU = 'HOUSE_2_YOU',\n AVITO = 'AVITO',\n MLSN = 'MLSN',\n MIRKVARTIR = 'MIRKVARTIR',\n EIP = 'EIP',\n YOULA = 'YOULA',\n NERS = 'NERS',\n BN = 'BN',\n DOSOK = 'DOSOK',\n IRR = 'IRR',\n FLATHOUSE = 'FLATHOUSE',\n KVADRAT = 'KVADRAT',\n CHANCE = 'CHANCE',\n CIAN = 'CIAN',\n RESTATE = 'RESTATE',\n ROSZEM = 'ROSZEM',\n REINPORT = 'REINPORT',\n NNDV = 'NNDV',\n AFY = 'AFY',\n ESTRU = 'ESTRU',\n UBU = 'UBU',\n EGENT = 'EGENT',\n EIPSPB = 'EIPSPB',\n MNEKVARTIRU = 'MNEKVARTIRU',\n RENTZILLA = 'RENTZILLA',\n VDOLEVKE = 'VDOLEVKE',\n MULTILISTING = 'MULTILISTING',\n ROSREALT = 'ROSREALT',\n FACEBOOK_OLD = 'FACEBOOK_OLD',\n DOMEX = 'DOMEX',\n REALTYMAG = 'REALTYMAG',\n YANDEX = 'YANDEX',\n HOMEAPP = 'HOMEAPP',\n MITULA = 'MITULA',\n NOVOSEL = 'NOVOSEL',\n ZIPAL = 'ZIPAL',\n ESALLE = 'ESALLE',\n FACEBOOK = 'FACEBOOK',\n AMMIS = 'AMMIS',\n QP = 'QP',\n N_1 = 'N_1',\n MAILRU = 'MAILRU',\n GDE = 'GDE',\n RAUI = 'RAUI',\n SINDOM = 'SINDOM',\n TROVIT = 'TROVIT',\n REGIONALREALTY = 'REGIONALREALTY',\n DOMCLICK = 'DOMCLICK',\n COTTAGE = 'COTTAGE',\n BESTRU = 'BESTRU',\n CITYSTAR = 'CITYSTAR',\n METRPRICE = 'METRPRICE',\n MOVE = 'MOVE',\n TVOISOTKI = 'TVOISOTKI',\n NAYDIDOM = 'NAYDIDOM',\n UNIBO = 'UNIBO',\n SINELS = 'SINELS',\n}\n\nexport type ActualEventsRow = {\n apartmentId: number;\n coverage: number;\n createdAt: string;\n likes: { value: number; delta: number };\n listingViews: { value: number; delta: number };\n phoneViews: { value: number; delta: number };\n source: ActualEventsRowSource | string;\n totalViews: { value: number; delta: number };\n views: { value: number; delta: number };\n};\n","export enum PlannedEventsRowSite {\n CIAN = 'CIAN',\n AVITO = 'AVITO',\n YANDEX = 'YANDEX',\n COMMON = 'COMMON',\n}\n\nexport type PlannedEventsRow = {\n id: number;\n site: PlannedEventsRowSite | string;\n priceFrom: number;\n priceTo: number;\n viewsPerDay: number;\n leadsPerDay: number;\n viewsTotal: number;\n leadsTotal: number;\n callConversionRate: number;\n showConversionRate: number;\n advanceConversionRate: number;\n showNeeded: number;\n};\n","import * as api from './api';\n\nexport class Api {\n constructor(private baseURL: Promise<string | undefined> | string | undefined) {}\n\n getFirstPublishedAt = async (\n urlParams: api.GetFirstPublishedAtUrlParams,\n headers: api.GetFirstPublishedAtHeaders\n ) => {\n return api.getFirstPublishedAtRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n getPublishedDays = async (urlParams: api.GetPublishedDaysUrlParams, headers: api.GetPublishedDaysHeaders) => {\n return api.getPublishedDaysRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findEventsRow = async (params: api.FindEventsRowParams, headers: api.FindEventsRowHeaders) => {\n return api.findEventsRowRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findNewBuildings = async (params: api.FindNewBuildingsParams, headers: api.FindNewBuildingsHeaders) => {\n return api.findNewBuildingsRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findExternalLinks = async (params: api.FindExternalLinksParams, headers?: api.FindExternalLinksHeaders) => {\n return api.findExternalLinksRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findHomeappStatisticRowByRealtyId = async (urlParams: api.FindHomeappStatisticRowByRealtyIdUrlParams) => {\n return api.findHomeappStatisticRowByRealtyId({ urlParams, baseURL: await this.baseURL });\n };\n\n findStatisticRow = async (params: api.FindStatisticRowParams, headers?: api.FindStatisticRowHeaders) => {\n return api.findStatisticRowRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findActualEventsRow = async (params: api.FindActualEventsRowParams, headers: api.FindActualEventsRowHeaders) => {\n return api.findActualEventsRowRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findPlannedEventsRow = async (params: api.FindPlannedEventsRowParams, headers: api.FindPlannedEventsRowHeaders) => {\n return api.findPlannedEventsRowRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findScoring = async (params: api.FindScoringParams, headers: api.FindScoringHeaders) => {\n return api.findScoringRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n updateRealtyPublicId = async (\n urlParams: api.UpdateRealtyPublicIdUrlParams,\n body: api.UpdateRealtyPublicIdBody,\n headers: api.UpdateRealtyPublicIdHeaders\n ) => {\n return api.updateRealtyPublicIdRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n uploadResume = async (body: api.UploadResumeBody, headers?: api.UploadResumeHeaders) => {\n return api.uploadResumeRequest({ body, headers, baseURL: await this.baseURL });\n };\n}\n\nexport * from './api';\nexport * from './types';\nexport * from './dictionaries';\n","import { ActualEventsRowSource } from '../types';\n\nexport const ActualEventsRowDictionary = {\n EventsRowSource: {\n [ActualEventsRowSource.AVITO]: 'Авито',\n [ActualEventsRowSource.YANDEX]: 'Яндекс.Недвижимость',\n [ActualEventsRowSource.CIAN]: 'Циан',\n [ActualEventsRowSource.DOMCLICK]: 'ДомКлик',\n [ActualEventsRowSource.HOMEAPP]: 'HomeApp',\n [ActualEventsRowSource.FACEBOOK]: 'Facebook',\n },\n};\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Address } from '../../../types';\n\ntype SuccessData = { success: true; data: Address };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateAddressHeaders = { 'x-auth-hc': string };\nexport type CreateAddressBody = Partial<Address>;\n\nexport type CreateAddressData = AxiosResponse<ResultData>;\nexport type CreateAddressError = AxiosError<ResultError>;\nexport type CreateAddressConfig = {\n baseURL?: string;\n headers: CreateAddressHeaders;\n body: CreateAddressBody;\n};\n\nexport function createAddressRequest({ baseURL = 'https://registry.homeapp.ru', body, headers }: CreateAddressConfig) {\n return axios\n .post('/api/geo/address/', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreateAddressData) => res)\n .catch((err: CreateAddressError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Address } from '../../../types';\n\ntype SuccessData = { success: true; data: Address };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindAddressByIdHeaders = { 'x-auth-hc'?: string };\nexport type FindAddressByIdUrlParams = { id: number };\nexport type FindAddressByIdData = AxiosResponse<ResultData>;\nexport type FindAddressByIdError = AxiosError<ResultError>;\nexport type FindAddressByIdConfig = {\n baseURL?: string;\n urlParams: FindAddressByIdUrlParams;\n headers?: FindAddressByIdHeaders;\n};\n\nexport function findAddressByIdRequest({\n baseURL = 'https://registry.homeapp.ru',\n urlParams,\n headers,\n}: FindAddressByIdConfig) {\n return axios\n .get(`/api/geo/address/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindAddressByIdData) => res)\n .catch((err: FindAddressByIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { Address } from '../../../types';\nimport { AddressBTIParamsWallsMaterial } from '../../../../../clients/v1';\n\ntype SuccessData = { success: true; data: Address[] };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, Address>; meta: { total: number } };\ntype ResultError = ErrorData['data']['error'];\n\ntype NumberRange = { from?: number; to?: number };\n\nexport type FindAddressesByRealtyParamsHeaders = { 'x-auth-hc'?: string };\nexport type FindAddressesByRealtyParams = {\n filter?: Partial<{\n 'address.lat': NumberRange;\n 'address.lng': NumberRange;\n 'address.btiParams.wallsMaterial': Array<AddressBTIParamsWallsMaterial | 'null'>;\n roomsNumber: number[];\n area: NumberRange;\n floor: NumberRange;\n floorsNumber: NumberRange;\n activeOrSoldAt: { from?: string; to?: string };\n isMerged: boolean;\n isMergesOrHasServiceRequestExtId: boolean;\n }>;\n limits?: { page?: number; count?: number | 'all' };\n};\nexport type FindAddressesByRealtyParamsData = AxiosResponse<ResultData>;\nexport type FindAddressesByRealtyParamsError = AxiosError<ResultError>;\nexport type FindAddressesByRealtyParamsConfig = {\n baseURL?: string;\n headers?: FindAddressesByRealtyParamsHeaders;\n params: FindAddressesByRealtyParams;\n};\n\nexport function findAddressesByRealtyParamsRequest({\n baseURL = 'https://registry.homeapp.ru',\n params,\n}: FindAddressesByRealtyParamsConfig) {\n return axios\n .get('/api/realty/address', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json' },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: ids.length } };\n },\n ],\n })\n .then((res: FindAddressesByRealtyParamsData) => res)\n .catch((err: FindAddressesByRealtyParamsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError } from 'axios';\nimport qs from 'qs';\n\ntype SuccessData = { success: true; data: Array<{ id: number; complexAddresses: Array<{ id: number }> }> };\n\ntype ErrorData = { success?: false; data?: { error: string }; message?: string };\n\nexport type FindComplexIdsParams = {\n filter?: { id?: number | number[] };\n limits?: { page?: number; count?: number };\n sorting?: { type: 'id'; direction: 'asc' | 'desc' };\n};\n\nexport type FindComplexIdsData = {\n data: { byId: Record<string, { id: number; complexAddresses: Array<{ id: number }> }>; ids: number[] };\n};\n\nexport type FindComplexIdsError = { status: number; data: string };\n\nexport type FindComplexIdsConfig = { baseURL?: string; params: FindComplexIdsParams };\n\nexport function findComplexIdsRequest({ baseURL = 'https://registry.homeapp.ru', params }: FindComplexIdsConfig) {\n return axios\n .get('/api/complex/', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json' },\n })\n .then(\n (res: AxiosResponse<SuccessData>): FindComplexIdsData => {\n const data: FindComplexIdsData = { data: { byId: {}, ids: [] } };\n\n res.data.data.forEach(entity => {\n data.data.byId[entity.id] = entity;\n data.data.ids.push(entity.id);\n });\n\n return data;\n }\n )\n .catch((err: AxiosError<ErrorData>) => {\n const error: Error & Partial<FindComplexIdsError> = new Error(err.message);\n error.status = err.response?.status ?? 520;\n error.data = err.response?.data?.message ?? err.response?.data.data?.error ?? 'Unknown Error';\n\n throw error;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Image } from '../../../types';\n\ntype SuccessData = { success: true; data: Image[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: Record<'error' | 'message', string> };\n\ntype ResultData = { ids: number[]; byId: Record<string, Image> };\ntype ResultError = string;\n\nexport type UploadImagesHeaders = { 'x-auth-hc': string };\nexport type UploadImagesBody = Blob[];\n\nexport type UploadImagesData = AxiosResponse<ResultData>;\nexport type UploadImagesError = AxiosError<ResultError>;\nexport type UploadImagesConfig = {\n baseURL?: string;\n headers: UploadImagesHeaders;\n body: UploadImagesBody;\n};\n\nexport function uploadImagesRequest({ baseURL = 'https://registry.homeapp.ru', body, headers }: UploadImagesConfig) {\n const formData = new FormData();\n\n if (body.length === 0) {\n throw new Error('Список изображений пуст');\n }\n\n body.forEach((file, index) => {\n formData.append(`file${index}`, file);\n });\n\n return axios\n .post('/api/image/upload', formData, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'multipart/form-data', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error || data.data.message;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId };\n },\n ],\n })\n .then((res: UploadImagesData) => res)\n .catch((err: UploadImagesError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { Realty } from '../../../types';\n\ntype SuccessData = { success: true; data: Realty[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: Record<'error' | 'message', string> };\n\ntype ResultData = { ids: number[]; byId: Record<string, Realty>; meta: { total: number } };\ntype ResultError = string;\n\ntype NumberRange = { from?: number; to?: number };\n\nexport type FindRealtiesHeaders = { 'x-auth-hc'?: string };\nexport type FindRealtiesParams = {\n filter?: Partial<{\n id: number | number[];\n roomsNumber: number[];\n area: NumberRange;\n floor: NumberRange;\n floorsNumber: NumberRange;\n 'address.id': number | number[];\n activeOrSoldAt: { from?: string; to?: string };\n isMerged: boolean;\n isMergesOrHasServiceRequestExtId: boolean;\n }>;\n limits?: { page?: number; count?: number | 'all' };\n sorting?: { direction: 'asc' | 'desc'; type: 'createdAt' | 'id' | 'params.price' };\n};\nexport type FindRealtiesData = AxiosResponse<ResultData>;\nexport type FindRealtiesError = AxiosError<ResultError>;\nexport type FindRealtiesConfig = {\n baseURL?: string;\n headers?: FindRealtiesHeaders;\n params: FindRealtiesParams;\n};\n\nexport function findRealtiesRequest({ baseURL = 'https://registry.homeapp.ru', params }: FindRealtiesConfig) {\n return axios\n .get('/api/realty', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json' },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) {\n return data.data.error || data.data.message;\n }\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n },\n ],\n })\n .then((res: FindRealtiesData) => res)\n .catch((err: FindRealtiesError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ValuationCalculationData } from '../../../types/Valuation';\n\ntype SuccessData = { success: true; data: ValuationCalculationData };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CalculateValuationHeaders = { 'x-auth-hc': string };\nexport type CalculateValuationBody = { realtyIds: number[] };\n\nexport type CalculateValuationData = AxiosResponse<ResultData>;\nexport type CalculateValuationError = AxiosError<ResultError>;\nexport type CalculateValuationConfig = {\n baseURL?: string;\n headers: CalculateValuationHeaders;\n body: CalculateValuationBody;\n};\n\nexport function calculateValuationRequest({\n baseURL = 'https://registry.homeapp.ru',\n body,\n headers,\n}: CalculateValuationConfig) {\n return axios\n .post('/api/valuate', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CalculateValuationData) => res)\n .catch((err: CalculateValuationError) => {\n throw err;\n });\n}\n","export enum AddressBTIParamsParking {\n Ground = 'ground',\n Multilevel = 'multilevel',\n Underground = 'underground',\n}\n\nexport enum AddressBTIParamsWallsMaterial {\n Brick = 'brick',\n Monolith = 'monolith',\n Monobrick = 'monobrick',\n Timber = 'timber',\n Panel = 'panel',\n Block = 'block',\n}\n\nexport enum AddressBTIParamsHeatingType {\n None = 'none',\n Central = 'central',\n Local = 'local',\n Gas = 'gas',\n Electricity = 'electricity',\n Liquid = 'liquid',\n}\n\nexport type AddressBTIParams = {\n buildYear?: number;\n cargoLifts?: number;\n ceilingHeight?: number;\n deliveryQuarter?: number;\n deliveryYear?: number;\n emergency?: boolean;\n floors?: number;\n garbageChute?: boolean;\n heatingType?: AddressBTIParamsHeatingType;\n id?: number;\n isDelivered?: boolean;\n isUpToDate?: boolean;\n parking?: AddressBTIParamsParking;\n passengerLifts?: number;\n series?: string;\n wallsMaterial?: AddressBTIParamsWallsMaterial;\n};\n","export enum ImageType {\n Complex = 'complex',\n Apartment = 'apartment',\n Layout = 'layout',\n}\n\nexport type Image = {\n id: number;\n properties: {\n oldId?: number;\n maxSize?: string;\n system?: { type?: string; mime?: string; size?: number };\n };\n storagePath: string;\n thumbnailPath: string;\n type?: string | ImageType;\n};\n","import { Address } from './Address';\nimport { Image } from './Image';\nimport { RealtyOffer } from './RealtyOffer';\n\nexport enum RealtyType {\n Flat = 'flat',\n House = 'house',\n}\n\nexport enum RealtyRenovationType {\n None = 'none',\n Author = 'author',\n Cosmetic = 'cosmetic',\n Euro = 'euro',\n FineFinishing = 'fine_finishing',\n RoughFinishing = 'rough_finishing',\n}\n\nexport enum RealtyGas {\n None = 'none',\n Connected = 'connected',\n Border = 'border',\n Possible = 'possible',\n Autonomous = 'autonomous',\n}\n\nexport enum RealtyHouseType {\n Townhouse = 'townhouse',\n House = 'house',\n Cottage = 'cottage',\n Part = 'part',\n Duplex = 'duplex',\n}\n\nexport enum RealtyLandShape {\n Regular = 'regular',\n Irregular = 'irregular',\n}\n\nexport enum RealtyLandUsageType {\n IGS = 'igs',\n LPH = 'lph',\n DNP = 'dnp',\n SNT = 'snt',\n Farm = 'farm',\n Garden = 'garden',\n Investproject = 'investproject',\n}\n\nexport enum RealtyRelief {\n Flat = 'flat',\n Elevations = 'elevations',\n Slope = 'slope',\n Hills = 'hills',\n}\n\nexport enum RealtyElectricity {\n None = 'none',\n Connected = 'connected',\n Possible = 'possible',\n Autonomous = 'autonomous',\n}\n\nexport enum RealtyFurniture {\n None = 'none',\n Full = 'full',\n Part = 'part',\n}\n\nexport enum RealtySewerage {\n None = 'none',\n Cesspool = 'cesspool',\n Septic = 'septic',\n Bio = 'bio',\n Central = 'central',\n}\n\nexport enum RealtyWindowView {\n Street = 'street',\n Yard = 'yard',\n Both = 'both',\n}\n\nexport type Realty = {\n address: Partial<Address> & { id: number };\n addressId: number;\n area: number;\n createdAt: string;\n firstPublishedAt: string;\n floor: number;\n id: number;\n images: Array<Partial<Image> & { id: number }>;\n price: number;\n realtyType: RealtyType;\n renovationType: RealtyRenovationType;\n roomsNumber: number;\n\n balconyCount?: number;\n burden?: boolean;\n ceilingHeight?: number;\n chambers?: string;\n cityDistance?: number;\n comment?: string;\n documentationUrl?: number;\n electricity?: RealtyElectricity;\n features?: string[];\n floorsNumber?: number;\n furniture?: RealtyFurniture;\n gas?: RealtyGas;\n houseType?: RealtyHouseType;\n isDevelopersOffer?: boolean;\n kitchenArea?: number;\n landArea?: number;\n landShape?: RealtyLandShape;\n landUsageType?: RealtyLandUsageType;\n livingArea?: number;\n mainOffer?: Partial<RealtyOffer> & { id: number };\n number?: number;\n relief?: RealtyRelief;\n separatedRoomsNumber?: number;\n sewerage?: RealtySewerage;\n soldAt?: string;\n windowView?: RealtyWindowView;\n};\n","type Coordinates = number[];\n\ntype Polygon = { type: 'Polygon'; coordinates: Array<Coordinates> };\n\ntype MultiPolygon = {\n type: 'MultiPolygon';\n coordinates: Array<Array<Coordinates>>;\n};\n\nexport enum ShapeType {\n AdministrativeDistrict = 'administrative_district',\n Block = 'block',\n Complex = 'complex',\n District = 'district',\n House = 'house',\n Microdistrict = 'microdistrict',\n}\n\nexport type Shape = {\n geometry: Polygon | MultiPolygon;\n id: number;\n name: string;\n type: ShapeType;\n};\n","export enum ValuationConcurrency {\n Low = 'low',\n Medium = 'medium',\n MediumHigh = 'medium-high',\n High = 'high',\n VeryHigh = 'very-high',\n}\n\ntype ValueRange = { max: number; min: number; p10: number; p50: number; p90: number };\n\ntype Stats = {\n count: number;\n outOfRange: number;\n area?: ValueRange;\n price?: ValueRange;\n realtyIds?: number[];\n period?: ValueRange;\n};\n\nexport type ValuationCalculationData = {\n active: Stats;\n concurrencyLevel: ValuationConcurrency;\n inventoryPerBuyer: number;\n sold: Stats;\n};\n","import * as api from './api';\n\nexport class Api {\n constructor(private baseURL: Promise<string | undefined> | string | undefined) {}\n\n // address\n\n createAddress = async (body: api.CreateAddressBody, headers: api.CreateAddressHeaders) => {\n return api.createAddressRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n findAddressById = async (urlParams: api.FindAddressByIdUrlParams, headers: api.FindAddressByIdHeaders) => {\n return api.findAddressByIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n // complex\n\n findComplexIds = async (params: api.FindComplexIdsParams) => {\n return api.findComplexIdsRequest({ params, baseURL: await this.baseURL });\n };\n\n // image\n\n uploadImages = async (body: api.UploadImagesBody, headers: api.UploadImagesHeaders) => {\n return api.uploadImagesRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n // realty\n\n findRealties = async (params: api.FindRealtiesParams, headers?: api.FindRealtiesHeaders) => {\n return api.findRealtiesRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findAddressesByRealtyParams = async (\n params: api.FindAddressesByRealtyParams,\n headers?: api.FindAddressesByRealtyParamsHeaders\n ) => {\n return api.findAddressesByRealtyParamsRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n // valuation\n\n calculateValuation = async (body: api.CalculateValuationBody, headers: api.CalculateValuationHeaders) => {\n return api.calculateValuationRequest({ body, headers, baseURL: await this.baseURL });\n };\n}\n\nexport * from './api';\nexport * from './dictionaries';\nexport * from './types';\n","import { AddressBTIParamsParking, AddressBTIParamsWallsMaterial, AddressBTIParamsHeatingType } from '../types';\n\nexport const AddressBTIParamsDictionary = {\n Parking: {\n [AddressBTIParamsParking.Ground]: 'Наземная',\n [AddressBTIParamsParking.Multilevel]: 'Многоуровневая',\n [AddressBTIParamsParking.Underground]: 'Подземная',\n },\n WallsMaterial: {\n [AddressBTIParamsWallsMaterial.Brick]: 'Кирпичный',\n [AddressBTIParamsWallsMaterial.Monolith]: 'Монолитный',\n [AddressBTIParamsWallsMaterial.Monobrick]: 'Монолитно-кирпичный',\n [AddressBTIParamsWallsMaterial.Timber]: 'Деревянный',\n [AddressBTIParamsWallsMaterial.Panel]: 'Панельный',\n [AddressBTIParamsWallsMaterial.Block]: 'Блочный',\n },\n HeatingType: {\n [AddressBTIParamsHeatingType.None]: 'Нет',\n [AddressBTIParamsHeatingType.Central]: 'Центральное',\n [AddressBTIParamsHeatingType.Local]: 'Отдельное',\n [AddressBTIParamsHeatingType.Gas]: 'Газовое',\n [AddressBTIParamsHeatingType.Electricity]: 'Электрическое',\n [AddressBTIParamsHeatingType.Liquid]: 'Жидкое топливо',\n },\n};\n","import {\n RealtyType,\n RealtyRenovationType,\n RealtyGas,\n RealtyHouseType,\n RealtyLandShape,\n RealtyLandUsageType,\n RealtyRelief,\n RealtyElectricity,\n RealtyFurniture,\n RealtySewerage,\n RealtyWindowView,\n} from '../types';\n\nexport const RealtyDictionary = {\n RealtyType: {\n [RealtyType.Flat]: 'Квартира',\n [RealtyType.House]: 'Дом',\n },\n Rooms: {\n '-1': 'Студия',\n '-2': 'Свободная планировка',\n '1': '1',\n '2': '2',\n '3': '3',\n '4': '4+',\n },\n Renovation: {\n [RealtyRenovationType.None]: 'Без ремонта',\n [RealtyRenovationType.Author]: 'Авторский',\n [RealtyRenovationType.Cosmetic]: 'Косметический',\n [RealtyRenovationType.Euro]: 'Евро',\n [RealtyRenovationType.FineFinishing]: 'Чистовая отделка',\n [RealtyRenovationType.RoughFinishing]: 'Черновая отделка',\n },\n Gas: {\n [RealtyGas.None]: 'Нет',\n [RealtyGas.Connected]: 'Подключено',\n [RealtyGas.Border]: 'По границе',\n [RealtyGas.Possible]: 'Возможно',\n [RealtyGas.Autonomous]: 'Автономное',\n },\n HouseType: {\n [RealtyHouseType.Townhouse]: 'Таунхаус',\n [RealtyHouseType.House]: 'Дом',\n [RealtyHouseType.Cottage]: 'Коттедж',\n [RealtyHouseType.Part]: 'Часть дома',\n [RealtyHouseType.Duplex]: 'Дуплекс',\n },\n LandShape: {\n [RealtyLandShape.Regular]: 'Правильная',\n [RealtyLandShape.Irregular]: 'Неправильная',\n },\n LandUsageType: {\n [RealtyLandUsageType.IGS]: 'ИЖС',\n [RealtyLandUsageType.LPH]: 'ЛПХ (личное подсобное хозяйство)',\n [RealtyLandUsageType.DNP]: 'ДНП (дачное некоммерческое партнероство)',\n [RealtyLandUsageType.SNT]: 'СНТ (садоводческое некоммерческое товарищество)',\n [RealtyLandUsageType.Farm]: 'Фермерское хозяйство',\n [RealtyLandUsageType.Garden]: 'Садоводство',\n [RealtyLandUsageType.Investproject]: 'Инвестпроект',\n },\n Relief: {\n [RealtyRelief.Flat]: 'Ровный',\n [RealtyRelief.Elevations]: 'Значительные перепады высот',\n [RealtyRelief.Slope]: 'Склон',\n [RealtyRelief.Hills]: 'Холмы',\n },\n Electricity: {\n [RealtyElectricity.None]: 'Нет',\n [RealtyElectricity.Connected]: 'Подключено',\n [RealtyElectricity.Possible]: 'Возможно',\n [RealtyElectricity.Autonomous]: 'Автономное',\n },\n Furniture: {\n [RealtyFurniture.None]: 'Отсутствует',\n [RealtyFurniture.Full]: 'Полностью мебелирован',\n [RealtyFurniture.Part]: 'Частично мебелирован',\n },\n Sewerage: {\n [RealtySewerage.None]: 'Нет',\n [RealtySewerage.Cesspool]: 'Выгребная яма',\n [RealtySewerage.Septic]: 'Септик',\n [RealtySewerage.Bio]: 'Устройства биологической очистки',\n [RealtySewerage.Central]: 'Центральная',\n },\n WindowView: {\n [RealtyWindowView.Street]: 'На улицу',\n [RealtyWindowView.Yard]: 'Во двор',\n [RealtyWindowView.Both]: 'В обе стороны',\n },\n};\n","import { ShapeType } from '../types';\n\nexport const ShapeDictionary = {\n Type: {\n [ShapeType.AdministrativeDistrict]: 'Административный округ',\n [ShapeType.Block]: 'Квартал',\n [ShapeType.Complex]: 'Новостройка',\n [ShapeType.District]: 'Район',\n [ShapeType.House]: 'Здание',\n [ShapeType.Microdistrict]: 'Микрорайон',\n },\n};\n","import { ValuationConcurrency } from '../types';\n\nexport const ValuationDictionary = {\n Concurrency: {\n [ValuationConcurrency.Low]: 'Не высокий',\n [ValuationConcurrency.Medium]: 'Средний',\n [ValuationConcurrency.MediumHigh]: 'Выше среднего',\n [ValuationConcurrency.High]: 'Высокий',\n [ValuationConcurrency.VeryHigh]: 'Очень высокий',\n },\n};\n","import axios, { AxiosResponse, AxiosError } from 'axios';\nimport qs from 'qs';\nimport { FindApartmentsParams } from '../findApartments';\n\ntype SuccessData = {\n success: true;\n data: { complex: number; primary: number; secondary: number };\n pageParams: { page: number; length: number };\n};\n\ntype ErrorData = { success: false; data: { error: string } };\n\nexport type CountApartmentsParams = { filter?: FindApartmentsParams['filter'] };\n\nexport type CountApartmentsData = { data: SuccessData['data'] };\n\nexport type CountApartmentsError = { status: number; data: string };\n\nexport type CountApartmentsConfig = { baseURL?: string; params: CountApartmentsParams };\n\nexport function countApartmentsRequest({ baseURL = 'https://search.homeapp.ru', params }: CountApartmentsConfig) {\n return axios\n .get('/api/apartment/count', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json' },\n })\n .then((res: AxiosResponse<SuccessData>): CountApartmentsData => ({ data: res.data.data }))\n .catch((err: AxiosError<ErrorData>) => {\n const error: Error & Partial<CountApartmentsError> = new Error(err.message);\n error.status = err.response?.status ?? 520;\n error.data = err.response?.data.data.error ?? 'Unknown Error';\n\n throw error;\n });\n}\n","import axios, { AxiosResponse, AxiosError } from 'axios';\nimport qs from 'qs';\nimport { Apartment } from '../../../types';\n\ntype SuccessData = { success: true; data: Apartment[]; pageParams: { page: number; length: number } };\n\ntype ErrorData = { success: false; data: { error: string } };\n\nexport type FindApartmentsParams = {\n filter?: {\n area?: { from?: number; to?: number };\n buildingId?: number;\n ceilingHeight?: { from?: number; to?: number };\n coordinates?: { 'top-left': { lat: number; lng: number }; 'bottom-right': { lat: number; lng: number } };\n floor?: { from?: number; to?: number };\n kitchenArea?: { from?: number; to?: number };\n livingArea?: { from?: number; to?: number };\n price?: { from?: number; to?: number };\n roomsNumber?: number | number[];\n };\n limits?: { page?: number; count: number };\n sorting?: { direction: 'asc' | 'desc'; type: 'distance'; base: { lat: number; lng: number } };\n};\n\nexport type FindApartmentsData = { data: { ids: number[]; byId: Record<string, Apartment> }; meta: { total: number } };\nexport type FindApartmentsError = { status: number; data: string };\nexport type FindApartmentsConfig = { baseURL?: string; params: FindApartmentsParams };\n\nexport function findApartmentsRequest({ baseURL = 'https://search.homeapp.ru', params }: FindApartmentsConfig) {\n return axios\n .get('/api/apartment/', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json; version=1' },\n })\n .then(\n (res: AxiosResponse<SuccessData>): FindApartmentsData => {\n const data: FindApartmentsData = {\n data: { byId: {}, ids: [] },\n meta: { total: res.data.pageParams.length },\n };\n\n res.data.data.forEach(entity => {\n data.data.byId[entity.id] = entity;\n data.data.ids.push(entity.id);\n });\n\n return data;\n }\n )\n .catch((err: AxiosError<ErrorData>) => {\n const error: Error & Partial<FindApartmentsError> = new Error(err.message);\n error.status = err.response?.status ?? 520;\n error.data = err.response?.data.data.error ?? 'Unknown Error';\n\n throw error;\n });\n}\n","import axios, { AxiosResponse, AxiosError } from 'axios';\nimport qs from 'qs';\nimport { Complex } from '../../../types';\n\ntype SuccessData = { success: true; data: Complex[]; pageParams: { page: number; length: number } };\n\ntype ErrorData = { success: false; data: { error: string } };\n\nexport type FindComplexesParams = { filter?: { checked?: boolean }; limits?: { page: number; count: number } };\n\nexport type FindComplexesData = { data: { ids: number[]; byId: Record<string, Complex> }; meta: { total: number } };\n\nexport type FindComplexesError = { status: number; data: string };\n\nexport type FindComplexesConfig = { baseURL?: string; params: FindComplexesParams };\n\nexport function findComplexesRequest({ baseURL = 'https://search.homeapp.ru', params }: FindComplexesConfig) {\n return axios\n .get('/api/complex/', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json; version=1' },\n })\n .then(\n (res: AxiosResponse<SuccessData>): FindComplexesData => {\n const data: FindComplexesData = {\n data: { byId: {}, ids: [] },\n meta: { total: res.data.pageParams.length },\n };\n\n res.data.data.forEach(entity => {\n data.data.byId[entity.id] = entity;\n data.data.ids.push(entity.id);\n });\n\n return data;\n }\n )\n .catch((err: AxiosError<ErrorData>) => {\n const error: Error & Partial<FindComplexesError> = new Error(err.message);\n error.status = err.response?.status ?? 520;\n error.data = err.response?.data.data.error ?? 'Unknown Error';\n\n throw error;\n });\n}\n","import axios, { AxiosResponse, AxiosError } from 'axios';\nimport { Complex } from '../../../types';\n\ntype SuccessData = { success: true; data: Complex };\n\ntype ErrorData = { success: false; data: { error: string } };\n\nexport type FindComplexByIdUrlParams = { id: number };\n\nexport type FindComplexByIdData = { data: Complex };\n\nexport type FindComplexByIdError = { status: number; data: string };\n\nexport type FindComplexByIdConfig = { baseURL?: string; urlParams: FindComplexByIdUrlParams };\n\nexport function findComplexByIdRequest({ baseURL = 'https://search.homeapp.ru', urlParams }: FindComplexByIdConfig) {\n return axios\n .get(`/api/complex/` + urlParams.id, { baseURL, headers: { Accept: 'application/json; version=1' } })\n .then((res: AxiosResponse<SuccessData>): FindComplexByIdData => ({ data: res.data.data }))\n .catch((err: AxiosError<ErrorData>) => {\n const error: Error & Partial<FindComplexByIdError> = new Error(err.message);\n error.status = err.response?.status ?? 520;\n error.data = err.response?.data.data.error ?? 'Unknown Error';\n\n throw error;\n });\n}\n","import axios, { AxiosResponse, AxiosError } from 'axios';\nimport chunk from 'lodash/chunk';\n\ntype SuccessData = { success: true; data: number[][] };\ntype ErrorData = { success: false; data: { error: string } };\n\nexport type FindBuildingCoordinatesData = {\n data: {\n ids: number[];\n byId: Record<string, { id: number; lat: number; lng: number; isNewBuilding: boolean }>;\n };\n};\nexport type FindBuildingCoordinatesError = { status: number; data: string };\nexport type FindBuildingCoordinatesConfig = { baseURL?: string };\n\nexport function findBuildingCoordinatesRequest({\n baseURL = 'https://search.homeapp.ru',\n}: FindBuildingCoordinatesConfig) {\n return axios\n .get('/api/address/info', { baseURL, headers: { Accept: 'application/json; version=1' } })\n .then(\n (res: AxiosResponse<SuccessData>): FindBuildingCoordinatesData => {\n const data: FindBuildingCoordinatesData = {\n data: { byId: {}, ids: [] },\n };\n\n chunk(res.data.data[0], 3).forEach(([id, lat, lng]) => {\n data.data.byId[id] = { id, lat, lng, isNewBuilding: false };\n data.data.ids.push(id);\n });\n\n chunk(res.data.data[1], 3).forEach(([id, lat, lng]) => {\n data.data.byId[id] = { id, lat, lng, isNewBuilding: true };\n data.data.ids.push(id);\n });\n\n return data;\n }\n )\n .catch((err: AxiosError<ErrorData>) => {\n const error: Error & Partial<FindBuildingCoordinatesError> = new Error(err.message);\n error.status = err.response?.status ?? 520;\n error.data = err.response?.data.data.error ?? 'Unknown Error';\n\n throw error;\n });\n}\n","import axios, { AxiosResponse, AxiosError } from 'axios';\nimport chunk from 'lodash/chunk';\n\ntype SuccessData = { success: true; data: number[] };\ntype ErrorData = { success: false; data: { error: string } };\n\nexport type FindBuildingOffersBody = {\n filter?: {\n area?: { from?: number; to?: number };\n ceilingHeight?: { from?: number; to?: number };\n floor?: { from?: number; to?: number };\n kitchenArea?: { from?: number; to?: number };\n livingArea?: { from?: number; to?: number };\n price?: { from?: number; to?: number };\n roomsNumber?: number | number[];\n };\n};\nexport type FindBuildingOffersData = {\n data: { ids: number[]; byId: Record<string, { id: number; offersNumber: number }> };\n};\nexport type FindBuildingOffersError = { status: number; data: string };\nexport type FindBuildingOffersConfig = { baseURL?: string; body: FindBuildingOffersBody };\n\nexport function findBuildingOffersRequest({ baseURL = 'https://search.homeapp.ru', body }: FindBuildingOffersConfig) {\n return axios\n .post('/api/geodata/buildings', body, { baseURL, headers: { Accept: 'application/json; version=1' } })\n .then(\n (res: AxiosResponse<SuccessData>): FindBuildingOffersData => {\n const data: FindBuildingOffersData = { data: { byId: {}, ids: [] } };\n\n chunk(res.data.data, 2).forEach(([id, offersNumber]) => {\n data.data.byId[id] = { id, offersNumber };\n data.data.ids.push(id);\n });\n\n return data;\n }\n )\n .catch((err: AxiosError<ErrorData>) => {\n const error: Error & Partial<FindBuildingOffersError> = new Error(err.message);\n error.status = err.response?.status ?? 520;\n error.data = err.response?.data.data.error ?? 'Unknown Error';\n\n throw error;\n });\n}\n","export enum ApartmentMapPointDistanceType {\n Foot = 'foot',\n Car = 'car',\n}\n\nexport enum ApartmentMapPointType {\n Underground = 'underground',\n}\n\nexport enum RealtyRenovationType {\n None = 'none',\n Author = 'author',\n Cosmetic = 'cosmetic',\n Euro = 'euro',\n FineFinishing = 'fine_finishing',\n RoughFinishing = 'rough_finishing',\n}\n\nexport type ApartmentMapPoint = {\n distanceType: ApartmentMapPointDistanceType;\n time: number;\n title: string;\n\n coordinates?: { lat: number; lng: number };\n type?: ApartmentMapPointType;\n};\n\nexport type Apartment = {\n address: string;\n area: number;\n id: number;\n price: number;\n roomsNumber: number;\n\n buildingGroup?: string;\n buildingId?: number;\n developersOffer?: boolean;\n floor?: number;\n floorsTotal?: number;\n image?: string;\n isHomeappOwned?: boolean;\n isNewBuilding?: boolean;\n mapPoints?: ApartmentMapPoint[];\n pics?: string[];\n};\n","import * as api from './api';\n\nexport class Api {\n constructor(private baseURL: Promise<string | undefined> | string | undefined) {}\n\n // apartments\n\n findApartments = async (params: api.FindApartmentsParams) => {\n return api.findApartmentsRequest({ params, baseURL: await this.baseURL });\n };\n\n countApartments = async (params: api.CountApartmentsParams) => {\n return api.countApartmentsRequest({ params, baseURL: await this.baseURL });\n };\n\n // complexes\n\n findComplexes = async (params: api.FindComplexesParams) => {\n return api.findComplexesRequest({ params, baseURL: await this.baseURL });\n };\n\n findComplexById = async (urlParams: api.FindComplexByIdUrlParams) => {\n return api.findComplexByIdRequest({ urlParams, baseURL: await this.baseURL });\n };\n\n // buildings\n\n findBuildingCoordinates = async () => {\n return api.findBuildingCoordinatesRequest({ baseURL: await this.baseURL });\n };\n\n findBuildingOffers = async (body: api.FindBuildingOffersBody) => {\n return api.findBuildingOffersRequest({ body, baseURL: await this.baseURL });\n };\n}\n\nexport * from './api';\nexport * from './dictionaries';\nexport * from './types';\n","import { ApartmentMapPointDistanceType, ApartmentMapPointType } from '../types';\n\nexport const ApartmentDictionary = {\n MapPointDistanceType: {\n [ApartmentMapPointDistanceType.Car]: 'На машине',\n [ApartmentMapPointDistanceType.Foot]: 'Пешком',\n },\n MapPointType: {\n [ApartmentMapPointType.Underground]: 'Метро',\n },\n};\n","// документация https://dadata.ru/api/suggest/address/\nimport axios, { AxiosResponse } from 'axios';\n\ntype SuccessData = {\n suggestions: Array<{\n value: string;\n data: {\n area: string | null;\n area_fias_id: string | null;\n area_kladr_id: string | null;\n area_type: string | null;\n area_type_full: string | null;\n area_with_type: string | null;\n beltway_distance: string | null;\n beltway_hit: 'IN_MKAD' | 'OUT_MKAD' | 'IN_KAD' | 'OUT_KAD' | null;\n block: string | null;\n block_type: string | null;\n block_type_full: string | null;\n federal_district: string | null;\n capital_marker: '0' | '1' | '2' | '3' | '4';\n city: string | null;\n city_area: string | null;\n city_district: string | null;\n city_district_fias_id: string | null;\n city_district_kladr_id: string | null;\n city_district_type: string | null;\n city_district_type_full: string | null;\n city_district_with_type: string | null;\n city_fias_id: string | null;\n city_kladr_id: string | null;\n city_type: string | null;\n city_type_full: string | null;\n city_with_type: string | null;\n country: string;\n country_iso_code: string;\n fias_id: string;\n fias_level: string;\n flat: string | null;\n flat_area: string | null;\n flat_price: null;\n flat_type: string | null;\n flat_type_full: string | null;\n flat_fias_id?: string | null;\n flat_cadnum?: null;\n geo_lat: string | null;\n geo_lon: string | null;\n geoname_id: string | null;\n history_values: string[] | null;\n house: string | null;\n house_fias_id: string | null;\n house_kladr_id: string | null;\n house_type: string | null;\n house_type_full: string | null;\n house_cadnum?: null;\n entrance?: null;\n floor?: null;\n kladr_id: string;\n okato: string | null;\n oktmo: string | null;\n postal_box: string | null;\n postal_code: string | null;\n qc: null;\n qc_complete: null;\n qc_geo: '0' | '1' | '2' | '3' | '4' | '5' | null;\n qc_house: null;\n region: string;\n region_fias_id: string;\n region_kladr_id: string;\n region_type: string;\n region_type_full: string;\n region_with_type: string;\n settlement: string | null;\n settlement_fias_id: string | null;\n settlement_kladr_id: string | null;\n settlement_type: string | null;\n settlement_type_full: string | null;\n settlement_with_type: string | null;\n source: string | null;\n square_meter_price?: string | null;\n street: string | null;\n street_fias_id: string | null;\n street_kladr_id: string | null;\n street_type: string | null;\n street_type_full: string | null;\n street_with_type: string | null;\n stead?: string | null;\n stead_fias_id?: string | null;\n stead_kladr_id?: string | null;\n stead_type?: string | null;\n stead_type_full?: string | null;\n stead_cadnum?: null;\n tax_office: string | null;\n tax_office_legal: string | null;\n timezone: string | null;\n unparsed_parts: null;\n fias_code: string;\n region_iso_code: string;\n fias_actuality_state: string;\n metro: Array<{ name: string; line: string; distance: number }> | null;\n divisions?: unknown;\n };\n }>;\n};\n\ntype GranularHint = { value: 'country' | 'region' | 'area' | 'city' | 'settlement' | 'street' | 'house' | 'flat' };\n\nexport type FindDadataSuggestionsBody = {\n query: string;\n count?: number;\n language?: string;\n division?: string;\n locations?: Array<{\n country_iso_code?: string;\n region_iso_code?: string;\n kladr_id?: string;\n country?: string;\n region?: string;\n area?: string;\n city?: string;\n settlement?: string;\n street?: string;\n region_type_full?: string;\n area_type_full?: string;\n city_type_full?: string;\n settlement_type_full?: string;\n street_type_full?: string;\n fias_id?: string;\n region_fias_id?: string;\n area_fias_id?: string;\n city_fias_id?: string;\n settlement_fias_id?: string;\n street_fias_id?: string;\n }>;\n locations_geo?: Array<{\n lat: number;\n lon: number;\n radius_meters?: number;\n }>;\n locations_boost?: Array<{ kladr_id: string }>;\n from_bound?: GranularHint;\n to_bound?: GranularHint;\n};\nexport type FindDadataSuggestionsHeaders = { Authorization: string };\n\nexport type FindDadataSuggestionsData = AxiosResponse<SuccessData>;\nexport type FindDadataSuggestionsConfig = { body: FindDadataSuggestionsBody; headers: FindDadataSuggestionsHeaders };\n\nexport function findDadataSuggestionsRequest({ body, headers }: FindDadataSuggestionsConfig) {\n return axios.post<SuccessData>('https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/address', body, {\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n });\n}\n","// документация https://yandex.ru/dev/geosuggest/doc/ru/\nimport axios, { AxiosResponse } from 'axios';\nimport qs from 'qs';\n\ntype SuccessData = {\n results?: Array<{\n title: { text: string; hl?: Array<{ begin: number; end: number }> };\n tags: string[];\n subtitle?: { text: string; hl?: Array<{ begin: number; end: number }> };\n address?: {\n formatted_address: string;\n component: Array<{\n name: string;\n kind: Array<\n | 'COUNTRY'\n | 'REGION'\n | 'PROVINCE'\n | 'AREA'\n | 'LOCALITY'\n | 'DISTRICT'\n | 'STREET'\n | 'HOUSE'\n | 'HYDRO'\n | 'STATION'\n | 'METRO_STATION'\n | 'RAILWAY_STATION'\n | 'ROUTE'\n | 'VEGETATION'\n | 'AIRPORT'\n | 'OTHER'\n | 'ENTRANCE'\n | 'LEVEL'\n | 'APARTMENT'\n | 'UNKNOWN'\n >;\n }>;\n };\n distance?: { text: string; value: number };\n uri?: string;\n }>;\n};\n\nexport type FindYandexSuggestionsParams = {\n apikey: string;\n text: string;\n lang?: string;\n results?: number;\n highlight?: 0;\n ll?: string;\n spn?: number[];\n bbox?: string;\n ull?: string;\n strict_bounds?: 1;\n types?: Array<\n 'biz' | 'geo' | 'street' | 'metro' | 'district' | 'locality' | 'area' | 'province' | 'country' | 'house'\n >;\n print_address?: 1;\n org_address_kind?: 'house';\n attrs?: 'uri';\n};\n\nexport type FindYandexSuggestionsData = AxiosResponse<SuccessData>;\nexport type FindYandexSuggestionsConfig = { params: FindYandexSuggestionsParams };\n\nexport function findYandexSuggestionsRequest({ params }: FindYandexSuggestionsConfig) {\n return axios.get<SuccessData>('https://suggest-maps.yandex.ru/v1/suggest', {\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'comma' }),\n });\n}\n","// документация https://yandex.ru/dev/geocode/doc/ru/request\nimport axios, { AxiosResponse } from 'axios';\nimport qs from 'qs';\n\ntype Kind =\n | 'house'\n | 'street'\n | 'metro'\n | 'district'\n | 'locality'\n | 'area'\n | 'province'\n | 'country'\n | 'region'\n | 'hydro'\n | 'railway_station'\n | 'station'\n | 'route'\n | 'vegetation'\n | 'airport'\n | 'entrance'\n | 'other';\n\ntype SuccessData = {\n response: {\n GeoObjectCollection: {\n metaDataProperty: {\n GeocoderResponseMetaData: {\n fix?: string;\n request?: string;\n suggest?: string;\n found?: string;\n results?: string;\n skip?: string;\n };\n };\n featureMember: Array<{\n GeoObject: {\n metaDataProperty: {\n GeocoderMetaData: {\n kind: Kind;\n precision: 'exact' | 'number' | 'near' | 'range' | 'street' | 'other';\n text: string;\n Address: {\n country_code: string;\n postal_code: string;\n formatted: string;\n Components: Array<{ kind: Kind; name: string }>;\n };\n };\n };\n description: string;\n name: string;\n boundedBy: { Envelope: { lowerCorner: string; upperCorner: string } };\n Point: { pos: string };\n };\n }>;\n };\n };\n};\n\nexport type YandexGeocodeParams = {\n apikey: string;\n geocode: string;\n sco?: 'longlat' | 'latlong';\n kind?: 'house' | 'street' | 'metro' | 'district' | 'locality';\n rspn?: 0 | 1;\n ll?: string;\n spn?: string;\n bbox?: string;\n results?: number;\n skip?: number;\n lang?: string;\n uri?: string;\n};\n\nexport type YandexGeocodeData = AxiosResponse<SuccessData>;\nexport type YandexGeocodeConfig = { params: YandexGeocodeParams };\n\nexport function yandexGeocodeRequest({ params }: YandexGeocodeConfig) {\n return axios.get<SuccessData>('https://geocode-maps.yandex.ru/1.x', {\n params: { ...params, format: 'json' },\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'comma' }),\n });\n}\n","import * as api from './api';\n\nexport class Api {\n findDadataSuggestions = (body: api.FindDadataSuggestionsBody, headers: api.FindDadataSuggestionsHeaders) => {\n return api.findDadataSuggestionsRequest({ body, headers });\n };\n\n findYandexSuggestions = (params: api.FindYandexSuggestionsParams) => {\n return api.findYandexSuggestionsRequest({ params });\n };\n\n yandexGeocode = (params: api.YandexGeocodeParams) => {\n return api.yandexGeocodeRequest({ params });\n };\n}\n\nexport * from './api';\n"],"names":["runtime","exports","Op","Object","prototype","hasOwn","hasOwnProperty","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","obj","key","value","defineProperty","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","generator","create","Generator","context","Context","_invoke","state","method","arg","Error","undefined","done","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","type","makeInvokeMethod","fn","call","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","this","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","AsyncIterator","PromiseImpl","previousPromise","callInvokeWithMethodAndArg","resolve","reject","invoke","result","__await","then","unwrapped","error","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","doneResult","constructor","displayName","isGeneratorFunction","genFun","ctor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","toString","keys","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","catch","thrown","delegateYield","module","regeneratorRuntime","accidentalStrictMode","Function","cancelAppointmentRequest","baseURL","axios","patch","urlParams","id","headers","Accept","transformResponse","defaults","data","success","res","completeAppointmentRequest","createAppointmentRequest","post","body","findAppointmentsRequest","get","params","paramsSerializer","qs","stringify","arrayFormat","ids","byId","entity","meta","total","pageParams","updateAppointmentRequest","getPasswordRequest","checkPasswordRequest","checkTokenRequest","createAvailableFundsRequest","findAvailableFundsRequest","message","updateAvailableFundsRequest","deleteAvailableFundsRequest","createBillRequest","findBillsRequest","_id","nanoid","findBonusCalculationsRequest","_data$data2","callbackBuyerRequest","closeBuyerRequest","put","countBuyersRequest","createBuyerRequest","findBuyerByIdRequest","includePostfix","isNil","include","findBuyerClosingReasonRequest","findBuyerRejectionReasonStatisticBySrIdRequest","serviceRequestId","findBuyerStatusStatisticBySrIdRequest","findBuyerStatusesRequest","findBuyerUniquePhonesRequest","findBuyersRequest","resetBuyerStatusTimerRequest","shareBuyerRequest","updateBuyerRequest","createCallCommentRequest","_data$data","findCallByIdRequest","findCallsRequest","findFirstSuccessOutgoingCallsRequest","skipNulls","findQualityAssessmentCallsRequest","markupCallRequest","removeProxyPhoneRequest","setProxyPhoneRequest","finishOperatorWorkRequest","getOperatorStatusRequest","startOperatorWorkRequest","bookCallTaskRequest","callCallTaskRequest","callCallTaskExpertRequest","expertId","closeCallTaskRequest","createCallTaskRequest","findCallTaskByIdRequest","findCallTaskSourceInfoRequest","findCallTasksRequest","findCallTasksCountRequest","count","joinCallTaskCallRequest","returnCallTaskCallRequest","shiftCallTaskRequest","updateCallTaskRequest","findChecklistByServiceRequestIdRequest","findChecklistQuestionDictionariesRequest","updateChecklistRequest","updateChecklistTaskRequest","srId","answerId","taskId","findCommentsRequest","createCompanyRequest","findCompaniesRequest","findCompanyByIdRequest","updateCompanyRequest","approveContractRequest","createContractRequest","createContractLegalDocumentRequest","declineContractRequest","findContractByIdRequest","findContractDocumentByContractIdRequest","findContractLegalDocumentByContractIdRequest","findContractsRequest","signContractRequest","terminateContractRequest","updateContractRequest","updateContractDocumentRequest","upgradeContractRequest","createCottageComplexRequest","deleteCrossSaleRequest","realtyId","findCrossSaleRequest","updateCrossSaleRequest","getRubleAmountRequest","getCurrencyCoursesRequest","createDealRequest","createDealCategorizedFileRequest","createDealInvestPrepaymentRequest","deleteDealCategorizedFileRequest","dealId","findDealByIdRequest","findDealCategorizedFilesRequest","findDealExpertStatisticsRequest","findDealsRequest","setDealClassificationScoreRequest","setDealDoneStateRequest","setDealFinanceConfirmStateRequest","setDealGuaranteedPaymentRequest","setDealPrepaidDateRequest","setDealPrepaymentStateRequest","setDealRegisteredStateRequest","setDealSignPlannedStateRequest","setDealSignedStateRequest","terminateDealRequest","updateDealRequest","createDebtsRequest","deleteDebtRequest","findDebtsRequest","updateDebtRequest","createEventRequest","deleteEventRequest","findEventByIdRequest","findEventsRequest","updateEventRequest","createEventRequestRequest","findEventRequestsRequest","updateEventRequestRequest","createExpertCaseRequest","status","response","_err$response","_err$response2","createExpertReviewRequest","findExpertByIdRequest","findExpertCaseByIdRequest","findExpertCasesRequest","findExpertsRequest","findPublishedExpertsRequest","updateExpertCaseRequest","updateExpertReviewRequest","reviewId","findExpertCategoriesRequest","_data$pageParams","findExpertCategoryHistoryRequest","createExpertGradeRequest","findExpertGradesRequest","findExpertGradesByExpertIdRequest","uploadFilesRequest","formData","FormData","file","index","append","createIncomeRequest","deleteIncomeRequest","createInternalCrossSaleRequest","errMessage","findInternalCrossSaleInfoRequest","findInternalCrossSalesRequest","updateInternalCrossSaleRequest","createLeadAssignmentBlockRequest","deleteLeadAssignmentBlockRequest","findLeadAssignmentBlocksRequest","updateLeadAssignmentBlockRequest","findMotivationGlossaryRequest","findMotivationStatusByExpertIdRequest","calculateMotivationCommissionRequest","findPayslipsRequest","findPayslipByIdRequest","updatePayslipRequest","findPhonesRequest","callbackPhoneRequest","phoneNumber","blockPhoneRequest","unblockPhoneRequest","createPhoneBookContactRequest","deletePhoneBookContactRequest","findPhoneBookContactsRequest","updatePhoneBookContactRequest","createPhotoOrderRequest","findPhotoOrdersRequest","sendPhotoOrderFeedbackRequest","terminatePhotoOrderRequest","completePhotoOrderRequest","findRealtyDuplicateRequest","findRealtyPriceHistoryRequest","findSimilarRealtyIdsById","subscribeToRealtyUpdatesRequest","findScoringRequest","addServiceRequestAssistantRequest","approveCloseServiceRequestRequest","callbackServiceRequestRequest","changeServiceRequestCompanyRequest","closeServiceRequestRequest","completeServiceRequestModerationRequest","createInvestSellServiceRequestRequest","createServiceRequestRequest","createServiceRequestActivityRequest","createServiceRequestByCrossSaleIdRequest","createServiceRequestCategorizedFileRequest","createServiceRequestFeedbackRequest","createServiceRequestReviewRequest","createServiceRequestSellerReportRequest","deferServiceRequestRequest","deleteServiceRequestCategorizedFileRequest","deleteServiceRequestReportForSellerRequest","depublishServiceRequest","disapproveCloseServiceRequestRequest","doneServiceRequestVerificationRequest","failServiceRequestVerificationRequest","findPriceHistoryAnalyticsByIdRequest","findServiceRequestActivitiesRequest","findServiceRequestByIdRequest","findServiceRequestCategorizedFileCreatedDateRequest","category","findServiceRequestCategorizedFilesRequest","findServiceRequestCategoryByIdRequest","findServiceRequestDiscountEfficiencyPercentRequest","findServiceRequestDuplicatesRequest","findServiceRequestSellerReportsRequest","findServiceRequestShortInfoRequest","findServiceRequestShortInfoByDealIdRequest","findServiceRequestShortInfoByIdRequest","findServiceRequestStatisticsByIdRequest","findServiceRequestsRequest","findServiceRequestsKanbanRequest","publishServiceRequest","removeServiceRequestAssistantRequest","paId","restoreServiceRequest","returnDeferredServiceRequestRequest","sendServiceRequestToModerationRequest","sendServiceRequestVerificationRequest","startServiceRequestModerationRequest","startServiceRequestModerationForOldRealtyRequest","transferServiceRequest","updateServiceRequestRequest","updateServiceRequestPersonalAssistantRequest","updateServiceRequestPlanDrawRequest","createCianRatingRequest","findSoldStatisticRequest","findMarkupCallsRequest","findMarkupBySourceCallsRequest","assignSubordinateUsersRequest","createUserRequest","deleteUserRequest","findUserByIdRequest","findUserPasswordByIdRequest","findUsersRequest","findUserTokenByIdRequest","fireUserRequest","updateUserRequest","createTaskRequest","findTasksRequest","findTaskByIdRequest","updateTaskRequest","resolveTaskRequest","actualizeValuationRequest","createValuationRequest","createValuationRealtyCommentRequest","findValuationByServiceRequestIdRequest","findValuationNewsByServiceRequestIdRequest","updateValuationNewsStatusRequest","AddressBTIParamsParking","AddressBTIParamsWallsMaterial","AddressBTIParamsHeatingType","AppointmentPlace","AppointmentStatus","AppointmentNotificationType","AvailableFundsIncomeType","AvailableFundsCompanyName","AvailableFundsCostType","AvailableFundsPaymentType","AvailableFundsRealtyType","AvailableFundsPayerType","BillServiceType","BillServiceUnit","BuyerStatus","BuyerRealtyShowStatus","BuyerQuestionType","CallType","CallDefaultTelephony","CallTaskPriority","CallTaskStatus","CallTaskReason","CallTaskColdReason","CallTaskTriggeredByEvent","CallTaskType","CallTaskDirection","ChecklistTaskDictionaryDirectedFor","ContactType","ContractType","ContractStatus","ContractKind","ContractDocumentSubject","ContractDocumentKind","ContractDocumentType","ContractLegalDocumentStatus","ContractLegalDocumentType","CrossSaleContractorType","Currency","DealFileCategory","DealBillServiceType","DealNoLawyerReason","DealPartnerDealType","DealStatus","DealCategorizedFileCategory","DealParticipantSide","DealParticipantPosition","DebtPaymentType","ExpertCategoryExpertType","ExpertCategoryCategory","ExpertGradeType","FileType","FileCategory","GalleryImageType","ImageType","InternalCrossSaleStatus","LeadAssignmentBlockReason","MotivationServiceTypeValues","PhoneBookContactType","PhoneBookContactPhoneType","PhotoOrderStatus","PhotoOrderRenovation","PhotoOrderTypes","RealtyType","RealtyRenovationType","RealtyGas","RealtyHouseType","RealtyLandShape","RealtyLandUsageType","RealtyRelief","RealtyElectricity","RealtyFurniture","RealtySewerage","RealtyWindowView","ServiceRequestCategory","ServiceRequestModerationStatus","ServiceRequestStatus","ServiceRequestVerificationStatus","ServiceRequestType","ServiceRequestInvestType","ServiceRequestDepublishReason","ServiceRequestSource","ServiceRequestActivityType","ServiceRequestCategorizedFileCategory","ServiceRequestFeedbackCategory","ShapeType","SoldStatisticTypes","TaskStatus","TaskImportance","TaskNotificationType","UserTelephonyType","UserDirection","UserGender","UserLevel","UserContactInfoType","UserOffice","UserRole","UserFiredType","UserFiredReason","UserAttractionChannel","UserPhoneType","ValuationNewsActionType","ValuationNewsStatus","FindRealtyByIdDataMetaRealtyAccess","UpdateRealtyDataMetaRealtyAccess","api","_this","Parking","Ground","Multilevel","Underground","WallsMaterial","Brick","Monolith","Monobrick","Timber","Panel","Block","HeatingType","None","Central","Local","Gas","Electricity","Liquid","Furnace","SolidFuelBoiler","Place","Flat","Office","Online","NotificationType","Morning","Min15","Hour1","Hour2","Nil","Status","Planned","Completed","Cancelled","IncomeType","Cashbox","CheckingAccount","Other","CostType","BillOfCredit","BonusPaymentToMentor","BonusPaymentToTeamlead","BonusToTrainee","BonusToExpert","InternalPartnerBonusToExpert","ChargingBankAccount","LegalSupportPayment","OtherPayments","PartnerCharges","RealtyLegalCheck","ReferralForExpert","ReferralForPA","RefundOfAdvance","SafeDepositBox","DeveloperDepositPayment","BonusPaymentAsiaConsultant","SpsBonusPayment","BonusPaymentInventoryDepartmentHead","BonusPaymentInventoryDepartmentAdmin","BonusPaymentOfficeAdmin","DealNdsPayment","BonusPersonalAssistantFirstLevel","BonusPersonalAssistantSecondLevel","BonusPersonalAssistantThirdLevel","BonusPortfolioCoordinator","BonusExpoCoordinator","PaymentForPhotography","PaymentForAttractingLead","Referral","PaymentType","AdvancePaymentUnderTheAdvanceAgreement","ClosingDeal","LetterOfGuarantee","OtherPayment","Prepayment","SecurityPayment","DouPayment","DeveloperCommission","Elite","Foreign","NewFlatDeveloper","Resale","PayerType","Common","Homeapp","SalesHead","Expert","CompanyName","RuCo","VietCo","KzCo","ServiceType","SecurityDepositPayment","FullPayment","BuyServicePayment","ServiceUnit","Piece","Incoming","ShowCoordination","ShowScheduled","ShowComplete","GotOffer","Advance","Closed","Direction","Out","In","Transferred","DefaultTelephony","Voximplant","Zadarma","Priority","Low","Default","High","VeryHigh","Moscow","Asia","Open","Booked","Markup","Lead","Spam","Outgoing","Reason","WrongGeo","Double","Agent","BuyingOrSellingPart","NotReadyToPay","CantReach","ClientCall","NotBuyingOrSelling","NoPhoneNumber","WrongPhoneNumber","GotWrongNumber","MistakenlyLeftRequest","DidNotLeaveRequest","NotRelevant","LowBudget","RemoveFromAdvertising","NoAddressInMarkup","Complaint","Commercial","Test","ColdReason","InadequateOwner","UnsuitableDeal","AgentsNotAllowed","NotAnOwner","BadDocuments","TriggeredByEvent","PublishedFortnight","TerminatedContract","DealDone","DealCreated","TerminatedContractAfterPrepayment","WarmDepublished","WarmPublished","Type","Buyer","Seller","ActiveClientSearch","SlackId","SlackGroupId","SlackUsername","SlackGroupName","Email","Facebook","ICQ","IMessage","Instagram","Jabber","LinkedIn","Odnoklassniki","Skype","Telegram","VK","VoxAccount","WhatsApp","Buy","Sell","EscortSell","EscortBuy","Approved","Declined","Signed","Terminated","BookingCanceled","PrepaymentPlanned","NoPrepayment","Prepaid","DealSigned","Registered","Kind","NotExclusive","Exclusive","OnAdvance","LegalSupport","Apartment","House","HouseWithLand","RightToDemand","Subject","Escort","RealtyHistoryAnalyze","ContractCreating","MortgageSupport","MortgageRefinancing","DocumentCollecting","RealtorConsulting","DocumentSubmitting","LawSupport","OtherServices","NotFound","NotRequested","Requested","Ready","Egrn","OwnershipTransfers","ContractorType","Owner","Agency","Rub","Usd","Eur","Kzt","Aed","Vnd","Idr","Thb","Khr","FromDeveloper","NoLawyerOffice","PartnerCommission","HomeappCommission","DeleteReason","Risk","Act","ActDeveloper","OwnershipCertificate","FloorPlan","Explication","Egd","ReferenceNoDebtGku","ReferenceNoDebtRepair","ReferencePnd","ReferenceNd","PassportContractor","MarriageCertificateContractor","SpouseAgreementContractor","Invest","PartPayment","Category","Lawyer","BankEmployee","Relative","Investor","ExpertType","NewExpert","ExperienceExpert","Red","Yellow","Green","NoCategory","Junior","Bronze","Silver","Gold","Image","Audio","Video","Document","EGRN","Main","Portrait","Vacation","RequestTeamlead","ViolationRegulations","Trainee","PhoneType","Additional","Aborted","Created","CreationFailed","EpicFail","ExecutionFailed","Init","PhotographerFound","PhotographerNotFound","Success","Renovation","Author","Cosmetic","Euro","FlatSecondary","FlatNew","RenovationType","FineFinishing","RoughFinishing","Connected","Border","Possible","Autonomous","HouseType","Townhouse","Cottage","Part","Duplex","LandShape","Regular","Irregular","LandUsageType","IGS","LPH","DNP","SNT","Farm","Garden","Investproject","Relief","Elevations","Slope","Hills","Furniture","Full","Sewerage","Cesspool","Septic","Bio","WindowView","Street","Yard","Both","Depublished","Discounted","Cold","Warm","New","Hot","ModerationStatus","Sent","Done","LeadExpert","LeadAdv","AsiaSell","InvestType","Buyout","DepublishReason","TemporaryDepublish","ForeverDepublish","HardToSellObject","SoldListing","SoldByOwner","DepublishOnAdvance","ClientRequest","DeveloperRequest","BadObject","BadObjectElite","CrossSell","Source","Apk","Recommendations","ColdCCMoscow","ColdCCZelenograd","ColdCCZhukovsky","Marketing","Comment","Edit","Transfer","Call","Task","Contract","PublicationProblem","MarkedUp","Published","Republished","PriceChanged","RequestPriceDown","ContractExpired","CallTaskCreated","RealtyShowScheduled","RealtyShowCompleted","RealtyShowCancelled","Appointment","AdvAgreement","AdvanceForm","CheckList","Kc","OwnershipCheckReport","OwnershipJustification","PassportClient","AdministrativeDistrict","Complex","District","Microdistrict","Importance","Normal","InProgress","Resolved","TelephonyType","Vox","GalleryType","Sip","Work","Home","VirtualVox","ContactInfoType","Icq","Imessage","Whatsapp","Linkedin","Vk","NewBuildings","Private","Gender","Female","Male","Level","Teamleader","Groupleader","TopExpert","Lyubertsy","Zelenograd","Zhukovsky","Role","User","Moderator","Supervisor","Mentor","Teamlead","GroupLead","CallOperator","Admin","Developer","LawyerHead","Finance","FinanceHead","ExternalPartner","QualityAssessor","ChatQualityAssessor","TechSupport","LiquidityReportReader","CashManager","DataScience","Reader","HR","PersonalAssistantFirstLevel","PersonalAssistantSecondLevel","PersonalAssistantThirdLevel","PortfolioCoordinator","ExpoCoordinator","FiredType","Fired","Quite","Agreement","FiredReason","LeavesRealEstate","WentToAnother","FailureToFulfillThePlan","ToxicityAndNegativity","ForPersonalReasons","LackOfSalary","Burnout","OtherComment","TemporaryBlocking","AttractionChannel","PartnersOffice","HeadhunterXOHR","HeadhunterXOKC","KCCianBase","HeadhunterResponse","Site","Activity","Webinar","createAddressRequest","errors","createAddressBtiRequest","findAddressBtiByIdRequest","updateAddressBtiRequest","findComplexByIdRequest","included","findComplexHousingByComplexIdRequest","findComplexesRequest","findCottageComplexesRequest","findHighwaysRequest","findMetroStationsRequest","createRealtyRequest","createRealtyHouseHighwayDistanceRequest","createRealtyImageRequest","createRealtyMetroDistanceRequest","deleteRealtyImageRequest","findRealtiesRequest","options","Array","isArray","findRealtyByIdRequest","consistency","realtyAccess","updateRealtyRequest","updateRealtyHouseHighwayDistanceRequest","updateRealtyImageRequest","updateRealtyMetroDistanceRequest","AddressMetroDistanceMethod","RealtyDealType","RealtyDealTypeFlatNew","RealtyRenovationTypeFlatNew","RealtyFlatKind","RealtyParkingType","RealtyFlatType","RealtyDDUOwnerType","RealtyHeating","RealtyLandPurpose","RealtyPlumbing","RealtyWallsMaterial","RealtyToiletKind","RealtyAdditionalPriceCurrency","RealtyImageGroup","RealtyMetroDistanceMethod","Series","Method","Car","Foot","DealType","Free","Alternative","DealTypeFlatNew","Reassignment","DKP","DDU","PreSaleContract","RenovationTypeFlatNew","FlatKind","Typical","Penthouse","TwoTier","ParkingType","Roof","FlatType","DDUOwnerType","Physical","Heating","LandPurpose","Settlements","Agricultural","Industrial","Forests","Aqua","Reservations","Guarded","Plumbing","Hole","Well","Wood","AeratedConcrete","ReinforcedConcrete","FrameMetal","FrameWood","FoamBlock","SandwichPanels","Shield","AdditionalPriceCurrency","Group","Photo","Plan","findActualEventsRowRequest","findEventsRowRequest","findExternalLinksRequest","externalSite","findHomeappStatisticRowByRealtyId","findNewBuildingsRequest","_err$response3","_err$response3$data$d","findPlannedEventsRowRequest","findStatisticRowRequest","source","getFirstPublishedAtRequest","getPublishedDaysRequest","updateRealtyPublicIdRequest","uploadResumeRequest","firstname","lastname","phone","email","comment","vacancy_name","ActualEventsRowSource","PlannedEventsRowSite","EventsRowSource","AVITO","YANDEX","CIAN","DOMCLICK","HOMEAPP","FACEBOOK","findAddressByIdRequest","findAddressesByRealtyParamsRequest","findComplexIdsRequest","_err$response2$data","uploadImagesRequest","calculateValuationRequest","ValuationConcurrency","Rooms","Concurrency","Medium","MediumHigh","countApartmentsRequest","findApartmentsRequest","findBuildingCoordinatesRequest","chunk","lat","lng","isNewBuilding","findBuildingOffersRequest","offersNumber","ApartmentMapPointDistanceType","ApartmentMapPointType","MapPointDistanceType","MapPointType","findDadataSuggestionsRequest","findYandexSuggestionsRequest","yandexGeocodeRequest","format"],"mappings":"gzBAOA,IAAIA,EAAW,SAAUC,GAGvB,IAAIC,EAAKC,OAAOC,UACZC,EAASH,EAAGI,eAEZC,EAA4B,mBAAXC,OAAwBA,OAAS,GAClDC,EAAiBF,EAAQG,UAAY,aACrCC,EAAsBJ,EAAQK,eAAiB,kBAC/CC,EAAoBN,EAAQO,aAAe,gBAE/C,SAASC,EAAOC,EAAKC,EAAKC,GAOxB,OANAf,OAAOgB,eAAeH,EAAKC,EAAK,CAC9BC,MAAOA,EACPE,YAAY,EACZC,cAAc,EACdC,UAAU,IAELN,EAAIC,GAEb,IAEEF,EAAO,GAAI,IACX,MAAOQ,GACPR,EAAS,SAASC,EAAKC,EAAKC,GAC1B,OAAOF,EAAIC,GAAOC,GAItB,SAASM,EAAKC,EAASC,EAASC,EAAMC,GAEpC,IACIC,EAAY1B,OAAO2B,QADFJ,GAAWA,EAAQtB,qBAAqB2B,EAAYL,EAAUK,GACtC3B,WACzC4B,EAAU,IAAIC,EAAQL,GAAe,IAMzC,OAFAC,EAAUK,QAsMZ,SAA0BT,EAASE,EAAMK,GACvC,IAAIG,EA/KuB,iBAiL3B,OAAO,SAAgBC,EAAQC,GAC7B,GAhLoB,cAgLhBF,EACF,MAAM,IAAIG,MAAM,gCAGlB,GAnLoB,cAmLhBH,EAA6B,CAC/B,GAAe,UAAXC,EACF,MAAMC,EAKR,MAoQG,CAAEnB,WAzfPqB,EAyfyBC,MAAM,GA9P/B,IAHAR,EAAQI,OAASA,EACjBJ,EAAQK,IAAMA,IAED,CACX,IAAII,EAAWT,EAAQS,SACvB,GAAIA,EAAU,CACZ,IAAIC,EAAiBC,EAAoBF,EAAUT,GACnD,GAAIU,EAAgB,CAClB,GAAIA,IAAmBE,EAAkB,SACzC,OAAOF,GAIX,GAAuB,SAAnBV,EAAQI,OAGVJ,EAAQa,KAAOb,EAAQc,MAAQd,EAAQK,SAElC,GAAuB,UAAnBL,EAAQI,OAAoB,CACrC,GAnNqB,mBAmNjBD,EAEF,MADAA,EAjNc,YAkNRH,EAAQK,IAGhBL,EAAQe,kBAAkBf,EAAQK,SAEN,WAAnBL,EAAQI,QACjBJ,EAAQgB,OAAO,SAAUhB,EAAQK,KAGnCF,EA5NkB,YA8NlB,IAAIc,EAASC,EAASzB,EAASE,EAAMK,GACrC,GAAoB,WAAhBiB,EAAOE,KAAmB,CAO5B,GAJAhB,EAAQH,EAAQQ,KAjOA,YAFK,iBAuOjBS,EAAOZ,MAAQO,EACjB,SAGF,MAAO,CACL1B,MAAO+B,EAAOZ,IACdG,KAAMR,EAAQQ,MAGS,UAAhBS,EAAOE,OAChBhB,EA/OgB,YAkPhBH,EAAQI,OAAS,QACjBJ,EAAQK,IAAMY,EAAOZ,OA9QPe,CAAiB3B,EAASE,EAAMK,GAE7CH,EAcT,SAASqB,EAASG,EAAIrC,EAAKqB,GACzB,IACE,MAAO,CAAEc,KAAM,SAAUd,IAAKgB,EAAGC,KAAKtC,EAAKqB,IAC3C,MAAOd,GACP,MAAO,CAAE4B,KAAM,QAASd,IAAKd,IAhBjCtB,EAAQuB,KAAOA,EAoBf,IAOIoB,EAAmB,GAMvB,SAASb,KACT,SAASwB,KACT,SAASC,KAIT,IAAIC,EAAoB,GACxBA,EAAkBhD,GAAkB,WAClC,OAAOiD,MAGT,IAAIC,EAAWxD,OAAOyD,eAClBC,EAA0BF,GAAYA,EAASA,EAASG,EAAO,MAC/DD,GACAA,IAA4B3D,GAC5BG,EAAOiD,KAAKO,EAAyBpD,KAGvCgD,EAAoBI,GAGtB,IAAIE,EAAKP,EAA2BpD,UAClC2B,EAAU3B,UAAYD,OAAO2B,OAAO2B,GAWtC,SAASO,EAAsB5D,GAC7B,CAAC,OAAQ,QAAS,UAAU6D,SAAQ,SAAS7B,GAC3CrB,EAAOX,EAAWgC,GAAQ,SAASC,GACjC,OAAOqB,KAAKxB,QAAQE,EAAQC,SAkClC,SAAS6B,EAAcrC,EAAWsC,GAgChC,IAAIC,EAgCJV,KAAKxB,QA9BL,SAAiBE,EAAQC,GACvB,SAASgC,IACP,OAAO,IAAIF,GAAY,SAASG,EAASC,IAnC7C,SAASC,EAAOpC,EAAQC,EAAKiC,EAASC,GACpC,IAAItB,EAASC,EAASrB,EAAUO,GAASP,EAAWQ,GACpD,GAAoB,UAAhBY,EAAOE,KAEJ,CACL,IAAIsB,EAASxB,EAAOZ,IAChBnB,EAAQuD,EAAOvD,MACnB,OAAIA,GACiB,iBAAVA,GACPb,EAAOiD,KAAKpC,EAAO,WACdiD,EAAYG,QAAQpD,EAAMwD,SAASC,MAAK,SAASzD,GACtDsD,EAAO,OAAQtD,EAAOoD,EAASC,MAC9B,SAAShD,GACViD,EAAO,QAASjD,EAAK+C,EAASC,MAI3BJ,EAAYG,QAAQpD,GAAOyD,MAAK,SAASC,GAI9CH,EAAOvD,MAAQ0D,EACfN,EAAQG,MACP,SAASI,GAGV,OAAOL,EAAO,QAASK,EAAOP,EAASC,MAvBzCA,EAAOtB,EAAOZ,KAiCZmC,CAAOpC,EAAQC,EAAKiC,EAASC,MAIjC,OAAOH,EAaLA,EAAkBA,EAAgBO,KAChCN,EAGAA,GACEA,KAkHV,SAAS1B,EAAoBF,EAAUT,GACrC,IAAII,EAASK,EAAS/B,SAASsB,EAAQI,QACvC,QA1TEG,IA0TEH,EAAsB,CAKxB,GAFAJ,EAAQS,SAAW,KAEI,UAAnBT,EAAQI,OAAoB,CAE9B,GAAIK,EAAS/B,SAAiB,SAG5BsB,EAAQI,OAAS,SACjBJ,EAAQK,SArUZE,EAsUII,EAAoBF,EAAUT,GAEP,UAAnBA,EAAQI,QAGV,OAAOQ,EAIXZ,EAAQI,OAAS,QACjBJ,EAAQK,IAAM,IAAIyC,UAChB,kDAGJ,OAAOlC,EAGT,IAAIK,EAASC,EAASd,EAAQK,EAAS/B,SAAUsB,EAAQK,KAEzD,GAAoB,UAAhBY,EAAOE,KAIT,OAHAnB,EAAQI,OAAS,QACjBJ,EAAQK,IAAMY,EAAOZ,IACrBL,EAAQS,SAAW,KACZG,EAGT,IAAImC,EAAO9B,EAAOZ,IAElB,OAAM0C,EAOFA,EAAKvC,MAGPR,EAAQS,EAASuC,YAAcD,EAAK7D,MAGpCc,EAAQiD,KAAOxC,EAASyC,QAQD,WAAnBlD,EAAQI,SACVJ,EAAQI,OAAS,OACjBJ,EAAQK,SAzXVE,GAmYFP,EAAQS,SAAW,KACZG,GANEmC,GA3BP/C,EAAQI,OAAS,QACjBJ,EAAQK,IAAM,IAAIyC,UAAU,oCAC5B9C,EAAQS,SAAW,KACZG,GAoDX,SAASuC,EAAaC,GACpB,IAAIC,EAAQ,CAAEC,OAAQF,EAAK,IAEvB,KAAKA,IACPC,EAAME,SAAWH,EAAK,IAGpB,KAAKA,IACPC,EAAMG,WAAaJ,EAAK,GACxBC,EAAMI,SAAWL,EAAK,IAGxB1B,KAAKgC,WAAWC,KAAKN,GAGvB,SAASO,EAAcP,GACrB,IAAIpC,EAASoC,EAAMQ,YAAc,GACjC5C,EAAOE,KAAO,gBACPF,EAAOZ,IACdgD,EAAMQ,WAAa5C,EAGrB,SAAShB,EAAQL,GAIf8B,KAAKgC,WAAa,CAAC,CAAEJ,OAAQ,SAC7B1D,EAAYqC,QAAQkB,EAAczB,MAClCA,KAAKoC,OAAM,GA8Bb,SAAShC,EAAOiC,GACd,GAAIA,EAAU,CACZ,IAAIC,EAAiBD,EAAStF,GAC9B,GAAIuF,EACF,OAAOA,EAAe1C,KAAKyC,GAG7B,GAA6B,mBAAlBA,EAASd,KAClB,OAAOc,EAGT,IAAKE,MAAMF,EAASG,QAAS,CAC3B,IAAIC,GAAK,EAAGlB,EAAO,SAASA,IAC1B,OAASkB,EAAIJ,EAASG,QACpB,GAAI7F,EAAOiD,KAAKyC,EAAUI,GAGxB,OAFAlB,EAAK/D,MAAQ6E,EAASI,GACtBlB,EAAKzC,MAAO,EACLyC,EAOX,OAHAA,EAAK/D,WAzeTqB,EA0eI0C,EAAKzC,MAAO,EAELyC,GAGT,OAAOA,EAAKA,KAAOA,GAKvB,MAAO,CAAEA,KAAMmB,GAIjB,SAASA,IACP,MAAO,CAAElF,WAzfPqB,EAyfyBC,MAAM,GA+MnC,OA5mBAe,EAAkBnD,UAAY2D,EAAGsC,YAAc7C,EAC/CA,EAA2B6C,YAAc9C,EACzCA,EAAkB+C,YAAcvF,EAC9ByC,EACA3C,EACA,qBAaFZ,EAAQsG,oBAAsB,SAASC,GACrC,IAAIC,EAAyB,mBAAXD,GAAyBA,EAAOH,YAClD,QAAOI,IACHA,IAASlD,GAG2B,uBAAnCkD,EAAKH,aAAeG,EAAKC,QAIhCzG,EAAQ0G,KAAO,SAASH,GAQtB,OAPIrG,OAAOyG,eACTzG,OAAOyG,eAAeJ,EAAQhD,IAE9BgD,EAAOK,UAAYrD,EACnBzC,EAAOyF,EAAQ3F,EAAmB,sBAEpC2F,EAAOpG,UAAYD,OAAO2B,OAAOiC,GAC1ByC,GAOTvG,EAAQ6G,MAAQ,SAASzE,GACvB,MAAO,CAAEqC,QAASrC,IAsEpB2B,EAAsBE,EAAc9D,WACpC8D,EAAc9D,UAAUO,GAAuB,WAC7C,OAAO+C,MAETzD,EAAQiE,cAAgBA,EAKxBjE,EAAQ8G,MAAQ,SAAStF,EAASC,EAASC,EAAMC,EAAauC,QACxC,IAAhBA,IAAwBA,EAAc6C,SAE1C,IAAIC,EAAO,IAAI/C,EACb1C,EAAKC,EAASC,EAASC,EAAMC,GAC7BuC,GAGF,OAAOlE,EAAQsG,oBAAoB7E,GAC/BuF,EACAA,EAAKhC,OAAON,MAAK,SAASF,GACxB,OAAOA,EAAOjC,KAAOiC,EAAOvD,MAAQ+F,EAAKhC,WAuKjDjB,EAAsBD,GAEtBhD,EAAOgD,EAAIlD,EAAmB,aAO9BkD,EAAGtD,GAAkB,WACnB,OAAOiD,MAGTK,EAAGmD,SAAW,WACZ,MAAO,sBAkCTjH,EAAQkH,KAAO,SAASC,GACtB,IAAID,EAAO,GACX,IAAK,IAAIlG,KAAOmG,EACdD,EAAKxB,KAAK1E,GAMZ,OAJAkG,EAAKE,UAIE,SAASpC,IACd,KAAOkC,EAAKjB,QAAQ,CAClB,IAAIjF,EAAMkG,EAAKG,MACf,GAAIrG,KAAOmG,EAGT,OAFAnC,EAAK/D,MAAQD,EACbgE,EAAKzC,MAAO,EACLyC,EAQX,OADAA,EAAKzC,MAAO,EACLyC,IAsCXhF,EAAQ6D,OAASA,EAMjB7B,EAAQ7B,UAAY,CAClBiG,YAAapE,EAEb6D,MAAO,SAASyB,GAcd,GAbA7D,KAAK8D,KAAO,EACZ9D,KAAKuB,KAAO,EAGZvB,KAAKb,KAAOa,KAAKZ,WApgBjBP,EAqgBAmB,KAAKlB,MAAO,EACZkB,KAAKjB,SAAW,KAEhBiB,KAAKtB,OAAS,OACdsB,KAAKrB,SAzgBLE,EA2gBAmB,KAAKgC,WAAWzB,QAAQ2B,IAEnB2B,EACH,IAAK,IAAIb,KAAQhD,KAEQ,MAAnBgD,EAAKe,OAAO,IACZpH,EAAOiD,KAAKI,KAAMgD,KACjBT,OAAOS,EAAKgB,MAAM,MACrBhE,KAAKgD,QAnhBXnE,IAyhBFoF,KAAM,WACJjE,KAAKlB,MAAO,EAEZ,IACIoF,EADYlE,KAAKgC,WAAW,GACLG,WAC3B,GAAwB,UAApB+B,EAAWzE,KACb,MAAMyE,EAAWvF,IAGnB,OAAOqB,KAAKmE,MAGd9E,kBAAmB,SAAS+E,GAC1B,GAAIpE,KAAKlB,KACP,MAAMsF,EAGR,IAAI9F,EAAU0B,KACd,SAASqE,EAAOC,EAAKC,GAYnB,OAXAhF,EAAOE,KAAO,QACdF,EAAOZ,IAAMyF,EACb9F,EAAQiD,KAAO+C,EAEXC,IAGFjG,EAAQI,OAAS,OACjBJ,EAAQK,SApjBZE,KAujBY0F,EAGZ,IAAK,IAAI9B,EAAIzC,KAAKgC,WAAWQ,OAAS,EAAGC,GAAK,IAAKA,EAAG,CACpD,IAAId,EAAQ3B,KAAKgC,WAAWS,GACxBlD,EAASoC,EAAMQ,WAEnB,GAAqB,SAAjBR,EAAMC,OAIR,OAAOyC,EAAO,OAGhB,GAAI1C,EAAMC,QAAU5B,KAAK8D,KAAM,CAC7B,IAAIU,EAAW7H,EAAOiD,KAAK+B,EAAO,YAC9B8C,EAAa9H,EAAOiD,KAAK+B,EAAO,cAEpC,GAAI6C,GAAYC,EAAY,CAC1B,GAAIzE,KAAK8D,KAAOnC,EAAME,SACpB,OAAOwC,EAAO1C,EAAME,UAAU,GACzB,GAAI7B,KAAK8D,KAAOnC,EAAMG,WAC3B,OAAOuC,EAAO1C,EAAMG,iBAGjB,GAAI0C,GACT,GAAIxE,KAAK8D,KAAOnC,EAAME,SACpB,OAAOwC,EAAO1C,EAAME,UAAU,OAG3B,CAAA,IAAI4C,EAMT,MAAM,IAAI7F,MAAM,0CALhB,GAAIoB,KAAK8D,KAAOnC,EAAMG,WACpB,OAAOuC,EAAO1C,EAAMG,gBAU9BxC,OAAQ,SAASG,EAAMd,GACrB,IAAK,IAAI8D,EAAIzC,KAAKgC,WAAWQ,OAAS,EAAGC,GAAK,IAAKA,EAAG,CACpD,IAAId,EAAQ3B,KAAKgC,WAAWS,GAC5B,GAAId,EAAMC,QAAU5B,KAAK8D,MACrBnH,EAAOiD,KAAK+B,EAAO,eACnB3B,KAAK8D,KAAOnC,EAAMG,WAAY,CAChC,IAAI4C,EAAe/C,EACnB,OAIA+C,IACU,UAATjF,GACS,aAATA,IACDiF,EAAa9C,QAAUjD,GACvBA,GAAO+F,EAAa5C,aAGtB4C,EAAe,MAGjB,IAAInF,EAASmF,EAAeA,EAAavC,WAAa,GAItD,OAHA5C,EAAOE,KAAOA,EACdF,EAAOZ,IAAMA,EAET+F,GACF1E,KAAKtB,OAAS,OACdsB,KAAKuB,KAAOmD,EAAa5C,WAClB5C,GAGFc,KAAK2E,SAASpF,IAGvBoF,SAAU,SAASpF,EAAQwC,GACzB,GAAoB,UAAhBxC,EAAOE,KACT,MAAMF,EAAOZ,IAcf,MAXoB,UAAhBY,EAAOE,MACS,aAAhBF,EAAOE,KACTO,KAAKuB,KAAOhC,EAAOZ,IACM,WAAhBY,EAAOE,MAChBO,KAAKmE,KAAOnE,KAAKrB,IAAMY,EAAOZ,IAC9BqB,KAAKtB,OAAS,SACdsB,KAAKuB,KAAO,OACa,WAAhBhC,EAAOE,MAAqBsC,IACrC/B,KAAKuB,KAAOQ,GAGP7C,GAGT0F,OAAQ,SAAS9C,GACf,IAAK,IAAIW,EAAIzC,KAAKgC,WAAWQ,OAAS,EAAGC,GAAK,IAAKA,EAAG,CACpD,IAAId,EAAQ3B,KAAKgC,WAAWS,GAC5B,GAAId,EAAMG,aAAeA,EAGvB,OAFA9B,KAAK2E,SAAShD,EAAMQ,WAAYR,EAAMI,UACtCG,EAAcP,GACPzC,IAKb2F,MAAS,SAASjD,GAChB,IAAK,IAAIa,EAAIzC,KAAKgC,WAAWQ,OAAS,EAAGC,GAAK,IAAKA,EAAG,CACpD,IAAId,EAAQ3B,KAAKgC,WAAWS,GAC5B,GAAId,EAAMC,SAAWA,EAAQ,CAC3B,IAAIrC,EAASoC,EAAMQ,WACnB,GAAoB,UAAhB5C,EAAOE,KAAkB,CAC3B,IAAIqF,EAASvF,EAAOZ,IACpBuD,EAAcP,GAEhB,OAAOmD,GAMX,MAAM,IAAIlG,MAAM,0BAGlBmG,cAAe,SAAS1C,EAAUf,EAAYE,GAa5C,OAZAxB,KAAKjB,SAAW,CACd/B,SAAUoD,EAAOiC,GACjBf,WAAYA,EACZE,QAASA,GAGS,SAAhBxB,KAAKtB,SAGPsB,KAAKrB,SA7rBPE,GAgsBOK,IAQJ3C,GAOsByI,EAAOzI,SAGtC,IACE0I,mBAAqB3I,EACrB,MAAO4I,GAUPC,SAAS,IAAK,yBAAdA,CAAwC7I,yCCttB1B8I,aACdC,eAIOC,EACJC,4BAJHC,UAIuCC,aAAa,KAAM,CACtDJ,mBANM,+BAONK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA+BA,YAC/B,SAACnI,SACAA,cChBIoI,aACdZ,eAIOC,EACJC,4BAJHC,UAIuCC,eAAe,KAAM,CACxDJ,mBANM,+BAONK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAiCA,YACjC,SAACnI,SACAA,cCVIqI,aACdb,eAIOC,EACJa,KAAK,qBAJRC,KAIkC,CAC9Bf,mBANM,+BAONK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA+BA,YAC/B,SAACnI,SACAA,cCbIwI,aACdhB,eAIOC,EACJgB,IAAI,mBAAoB,CACvBjB,mBANM,+BAONkB,SALJA,OAMIC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,WAAWC,OAAQ,sBARvBD,SASIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,OACMA,EAAKC,QAAS,OAAOD,EAAKA,KAAK3E,UAE9ByF,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,GAChBD,EAAKC,EAAOrB,IAAMqB,EAClBF,EAAI3E,KAAK6E,EAAOrB,OAGX,CAAEmB,IAAAA,EAAKC,KAAAA,EAAME,KAAM,CAAEC,MAAOlB,EAAKmB,WAAWzE,cAIxDvB,MAAK,SAAC+E,UAA8BA,YAC9B,SAACnI,SACAA,cCjCIqJ,aACd7B,eAKOC,EACJC,4BALHC,UAKuCC,KAJvCW,KAImD,CAC/Cf,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA+BA,YAC/B,SAACnI,SACAA,cC7BIsJ,aAAqB9B,eAC5BC,EACJgB,IAAI,0BAA2B,CAC9BjB,mBAHyC,+BAIzCkB,SAJuEA,OAKvEb,WAAWC,OAAQ,sBAL4DD,SAM/EE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UACKA,EAAKC,QAAgBD,EAAKA,KAEvBA,EAAKA,KAAK3E,WAItBF,MAAK,SAAC+E,UAAyBA,YACzB,SAACnI,SACAA,cCdIuJ,aAAuB/B,eAC9BC,EACJa,KAAK,8BAFqEC,KAElC,CACvCf,mBAH2C,+BAI3CK,QAAS,CAAEC,OAAQ,kCAAoC,oBACvDC,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UACKA,EAAKC,QAAgBD,EAAKA,KAEvBA,EAAKA,KAAK3E,WAItBF,MAAK,SAAC+E,UAA2BA,YAC3B,SAACnI,SACAA,cChBIwJ,aAAoBhC,eAC3BC,EACJgB,IAAI,yBAA0B,CAC7BjB,mBAHwC,+BAIxCK,WAAWC,OAAQ,sBAJmDD,SAKtEE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA4DA,EAAKA,UAGrE7E,MAAK,SAAC+E,UAAwCA,YACxC,SAACnI,SACAA,cCEIyJ,aACdjC,eAIOC,EACJa,KAAK,yBAJRC,KAIsC,CAClCf,mBANM,+BAONK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UACKA,EAAKC,QAAgBD,EAAKA,KAEvBA,EAAKA,KAAK3E,WAItBF,MAAK,SAAC+E,UAAkCA,YAClC,SAACnI,SACAA,cCrBI0J,aACdlC,eAIOC,EACJgB,IAAI,uBAAwB,CAC3BjB,mBANM,+BAONkB,SALJA,OAMIC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,WAAWC,OAAQ,sBARvBD,SASIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,MACKA,EAAKC,QAAS,KACVa,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,GAChBD,EAAKC,EAAOrB,IAAMqB,EAClBF,EAAI3E,KAAK6E,EAAOrB,OAGX,CAAEmB,IAAAA,EAAKC,KAAAA,EAAME,KAAM,CAAEC,MAAOlB,EAAKmB,WAAWzE,gBAG9CsD,EAAKA,KAAK3E,OAAS2E,EAAKA,KAAK0B,aAIzCvG,MAAK,SAAC+E,UAAgCA,YAChC,SAACnI,SACAA,cC9BI4J,aACdpC,eAKOC,EACJC,MAAM,0BALTC,UAK6CC,KAJ7CW,KAIuD,CACnDf,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAkCA,YAClC,SAACnI,SACAA,cC/BI6J,aACdrC,eAIOC,SACG,0BAJVE,UAI8CC,GAAI,CAC9CJ,mBANM,+BAONK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAkCA,YAClC,SAACnI,SACAA,cCPI8J,aAAoBtC,eAC3BC,EACJa,KAAK,cAFkEC,KAE/C,CACvBf,mBAHwC,+BAIxCK,WAAWC,OAAQ,kCAAoC,sBAJqBD,SAK5EE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAwBA,YACxB,SAACnI,SACAA,cCMI+J,aAAmBvC,eAC1BC,EACJgB,IAAI,iBAAkB,CACrBjB,mBAHuC,+BAIvCkB,SAJ8EA,OAK9EC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,WAAWC,OAAQ,sBANkDD,SAOrEE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,OACMA,EAAKC,QAAS,OAAOD,EAAKA,KAAK3E,OAAS2E,EAAKA,KAAK0B,YAEjDZ,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,OACVe,EAAMC,WACZjB,EAAKgB,QAAYf,GAAQe,IAAAA,IACzBjB,EAAI3E,KAAK4F,MAGJ,CAAEjB,IAAAA,EAAKC,KAAAA,EAAME,KAAM,CAAEC,MAAOlB,EAAKmB,WAAWzE,cAIxDvB,MAAK,SAAC+E,UAAuBA,YACvB,SAACnI,SACAA,cC3CIkK,aACd1C,eAIOC,EACJgB,IAAI,mCAAoC,CACvCjB,mBANM,+BAONkB,SALJA,OAMIC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,WAAWC,OAAQ,sBARvBD,SASIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,cACKA,EAAKC,QAAS,KACVa,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,OACVe,EAAMC,WACZjB,EAAKgB,QAAYf,GAAQe,IAAAA,IACzBjB,EAAI3E,KAAK4F,MAGJ,CAAEjB,IAAAA,EAAKC,KAAAA,EAAME,KAAM,CAAEC,MAAOlB,EAAKA,KAAKtD,yBAGxCsD,EAAKA,eAAM3E,kBAAS2E,EAAKA,aAALkC,EAAWR,cAI3CvG,MAAK,SAAC+E,UAAmCA,YACnC,SAACnI,SACAA,cC3CIoK,aACd5C,eAIOC,EACJa,8BAJHX,UAKqCC,GACjC,GACA,CACEJ,mBATI,+BAUJK,WAAWC,OAAQ,kCAAoC,sBAR7DD,SASME,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAIxGF,MAAK,SAAC+E,UAA2BA,YAC3B,SAACnI,SACAA,cCZIqK,aACd7C,eAKOC,EACJ6C,oBALH3C,UAK+BC,cAJ/BW,KAIiD,CAC7Cf,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAwBA,YACxB,SAACnI,SACAA,cCpBIuK,aAAqB/C,eAC5BC,EACJgB,IAAI,mBAAoB,CACvBjB,mBAHyC,+BAIzCkB,SAJgFA,OAKhFC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,WAAWC,OAAQ,sBANoDD,SAOvEE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UACKA,EAAKC,QACAD,EAAKA,KAGPA,EAAKA,KAAK3E,WAItBF,MAAK,SAAC+E,UAAyBA,YACzB,SAACnI,SACAA,cCfIwK,aAAqBhD,eAC5BC,EACJa,KAAK,eAFmEC,KAE/C,CACxBf,mBAHyC,+BAIzCK,WAAWC,OAAQ,kCAAoC,sBAJsBD,SAK7EE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAyBA,YACzB,SAACnI,SACAA,cCjBIyK,aACdjD,QAAAA,aAAU,+BACVG,IAAAA,UACAE,IAAAA,QACAa,IAAAA,OAEMgC,EAAkBC,EAAMjC,EAAOkC,SAEjC,OADIhC,EAAGC,UAAU,CAAE+B,QAASlC,EAAOkC,SAAW,CAAE9B,YAAa,oBAG1DrB,EACJgB,kBAAkBd,EAAUC,GAAK8C,EAAkB,CAClDlD,QAAAA,EACAK,WAAWC,OAAQ,oBAAuBD,GAC1CE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA2BA,YAC3B,SAACnI,SACAA,cC5BI6K,aACdrD,eAGOC,EACJgB,IAAI,4BAA6B,CAChCjB,mBALM,+BAMNK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,MACKA,EAAKC,QAAS,KACVa,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,GAChBD,EAAKC,EAAOrB,IAAMqB,EAClBF,EAAI3E,KAAK6E,EAAOrB,OAGX,CAAEmB,IAAAA,EAAKC,KAAAA,EAAME,KAAM,CAAEC,MAAOJ,EAAIpE,gBAGlCsD,EAAKA,KAAK3E,WAItBF,MAAK,SAAC+E,UAAoCA,YACpC,SAACnI,SACAA,cCxBI8K,aACdtD,eAKOC,EACJgB,8BALHd,UAKyCoD,6DAA6D,CAClGvD,mBAPM,+BAQNkB,SANJA,OAOIC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,WAAWC,OAAQ,sBAPvBD,SAQIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,gBAA6DA,EAAKC,iBAAUD,EAAKA,QAAQ,GAAKA,EAAKA,KAAK3E,WAG5GF,MAAK,SAAC+E,UAAqDA,YACrD,SAACnI,SACAA,cCfIgL,aACdxD,eAKOC,EACJgB,8BALHd,UAKyCoD,2CAA2C,CAChFvD,mBAPM,+BAQNkB,SANJA,OAOIC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,WAAWC,OAAQ,sBAPvBD,SAQIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA4CA,YAC5C,SAACnI,SACAA,cCpBIiL,aACdzD,eAKOC,EACJgB,oBALHd,UAK+BC,aAAa,CACxCJ,mBAPM,+BAQNkB,SALJA,OAMIC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,WAAWC,OAAQ,sBARvBD,SASIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,MACKA,EAAKC,QAAS,KACVa,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,GAChBD,EAAKC,EAAOrB,IAAMqB,EAClBF,EAAI3E,KAAK6E,EAAOrB,OAGX,CAAEmB,IAAAA,EAAKC,KAAAA,EAAME,KAAM,CAAEC,MAAOlB,EAAKmB,WAAWzE,gBAG9CsD,EAAKA,KAAK3E,WAItBF,MAAK,SAAC+E,UAA+BA,YAC/B,SAACnI,SACAA,cCxCIkL,aACd1D,eAGOC,EACJgB,+BAAgC,CAC/BjB,mBALM,+BAMNK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,MACKA,EAAKC,QAAS,KACVa,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,OACVe,EAAMC,WACZjB,EAAKgB,QAAYf,GAAQe,IAAAA,IACzBjB,EAAI3E,KAAK4F,MAGJ,CAAEjB,IAAAA,EAAKC,KAAAA,EAAME,KAAM,CAAEC,MAAOJ,EAAIpE,gBAGlCsD,EAAKA,KAAK3E,WAItBF,MAAK,SAAC+E,UAAmCA,YACnC,SAACnI,SACAA,cCEImL,aAAoB3D,eAC3BC,EACJgB,IAAI,aAAc,CACjBjB,mBAHwC,+BAIxCkB,SAJ+EA,OAK/EC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,WAAWC,OAAQ,sBANmDD,SAOtEE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,MACKA,EAAKC,QAAS,KACVa,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,GAChBD,EAAKC,EAAOrB,IAAMqB,EAClBF,EAAI3E,KAAK6E,EAAOrB,OAGX,CAAEmB,IAAAA,EAAKC,KAAAA,EAAME,KAAM,CAAEC,MAAOlB,EAAKmB,WAAWzE,gBAG9CsD,EAAKA,KAAK3E,WAItBF,MAAK,SAAC+E,UAAwBA,YACxB,SAACnI,SACAA,cC3DIoL,aACd5D,eAIOC,EACJC,sBAJHC,UAK4BC,mBACxB,GACA,CACEJ,mBATI,+BAUJK,WAAWC,OAAQ,kCAAoC,sBAR7DD,SASME,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAIxGF,MAAK,SAAC+E,UAAmCA,YACnC,SAACnI,SACAA,cCnBIqL,aACd7D,eAKOC,EACJ6C,oBALH3C,UAK+BC,cAJ/BW,KAIiD,CAC7Cf,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAU,KAAOD,EAAKA,KAAK3E,WAGjGF,MAAK,SAAC+E,UAAwBA,YACxB,SAACnI,SACAA,cCTIsL,aACd9D,eAKOC,EACJ6C,oBAJH3C,UAI+BC,KAL/BW,KAK2C,CACvCf,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAyBA,YACzB,SAACnI,SACAA,cCxBIuL,aACd/D,eAKOC,EACJa,oBAHHX,UAG+BC,gBAL/BW,KAKmD,CAC/Cf,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAN3DD,SAOIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,gBAA6DA,EAAKC,cAAUD,SAAAA,EAAMA,cAAOA,EAAKA,aAALuD,EAAWlI,WAGxGF,MAAK,SAAC+E,UAA+BA,YAC/B,SAACnI,SACAA,cClBIyL,aACdjE,eAIOC,EACJgB,oBAJHd,UAI+BC,GAAM,CACjCJ,mBANM,+BAONK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA0BA,YAC1B,SAACnI,SACAA,cCkBI0L,aAAmBlE,eAC1BC,EACJgB,IAAI,aAAc,CACjBjB,mBAHuC,+BAIvCkB,SAJ8EA,OAK9EC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,WAAWC,OAAQ,sBANkDD,SAOrEE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,OACMA,EAAKC,QAAS,OAAOD,EAAKA,KAAK3E,UAE9ByF,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,GAChBD,EAAKC,EAAOrB,IAAMqB,EAClBF,EAAI3E,KAAK6E,EAAOrB,OAGX,CAAEmB,IAAAA,EAAKC,KAAAA,EAAME,KAAM,CAAEC,MAAOlB,EAAKmB,WAAWzE,cAIxDvB,MAAK,SAAC+E,UAAuBA,YACvB,SAACnI,SACAA,cCjDI2L,aACdnE,eAIOC,EACJgB,IAAI,oCAAqC,CACxCjB,mBANM,+BAONkB,SALJA,OAMIC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,QAAS8C,WAAW,KACpF/D,WAAWC,OAAQ,sBARvBD,SASIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UACMA,EAAKC,QAEHD,EAAKA,KAFcA,EAAKA,KAAK3E,WAMzCF,MAAK,SAAC+E,UAA2CA,YAC3C,SAACnI,SACAA,cC7BI6L,aACdrE,eAIOC,EACJgB,IAAI,8BAA+B,CAClCjB,mBANM,+BAONkB,SALJA,OAMIC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,WAAWC,OAAQ,kCAAoC,sBAR3DD,SASIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,MACKA,EAAKC,QAAS,KACVa,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,GAChBD,EAAKC,EAAOrB,IAAMqB,EAClBF,EAAI3E,KAAK6E,EAAOrB,OAGX,CAAEmB,IAAAA,EAAKC,KAAAA,EAAME,KAAM,CAAEC,MAAOlB,EAAKmB,WAAWzE,gBAG9CsD,EAAKA,KAAK3E,OAAS2E,EAAKA,KAAK0B,aAIzCvG,MAAK,SAAC+E,UAAwCA,YACxC,SAACnI,SACAA,cCtCI8L,aAAoBtE,eAC3BC,EACJC,MAAM,qBAFiEa,KAEvC,CAC/Bf,mBAHwC,+BAIxCK,WAAWC,OAAQ,kCAAoC,sBAJqBD,SAK5EE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,gBAA6DA,EAAKC,QAAU,cAAOD,EAAKA,aAALuD,EAAWlI,WAGlGF,MAAK,SAAC+E,UAAwBA,YACxB,SAACnI,SACAA,cCbI+L,aAA0BvE,eACjCC,SACG,kBAAmB,CACzBD,mBAH8C,+BAI9CK,WAAWC,OAAQ,kCAAoC,sBAJqBD,SAK5EE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,SAAsE,KAATA,EAAc,KAAOA,EAAKA,KAAK3E,WAGhGF,MAAK,SAAC+E,UAA8BA,YAC9B,SAACnI,SACAA,cCLIgM,aAAuBxE,eAC9BC,EACJa,KAAK,oBAF8EC,KAErD,CAC7Bf,mBAH2C,+BAI3CK,WAAWC,OAAQ,kCAAoC,sBAJkBD,SAKzEE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA2BA,YAC3B,SAACnI,SACAA,cCvBIiM,aACdzE,eAGOC,EACJa,KAAK,iCAA6BtH,EAAW,CAC5CwG,mBALM,+BAMNK,WAAWC,OAAQ,iCALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UACKA,EAAKC,QAAgB,KAElBD,EAAKA,KAAK3E,WAItBF,MAAK,SAAC+E,UAAgCA,YAChC,SAACnI,SACAA,cCnBIkM,aAA2B1E,eAClCC,EACJgB,IAAI,4BAA6B,CAChCjB,mBAH+C,+BAI/CK,WAAWC,OAAQ,iCAJ0DD,SAK7EE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UACKA,EAAKC,QAAgBD,EAAKA,KAEvBA,EAAKA,KAAK3E,WAItBF,MAAK,SAAC+E,UAA+BA,YAC/B,SAACnI,SACAA,cCZImM,aAA2B3E,eAClCC,EACJa,KAAK,kCAA8BtH,EAAW,CAC7CwG,mBAH+C,+BAI/CK,WAAWC,OAAQ,iCAJ0DD,SAK7EE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UACMA,EAAKC,QAEHD,EAAKA,KAFcA,EAAKA,KAAK3E,WAMzCF,MAAK,SAAC+E,UAA+BA,YAC/B,SAACnI,SACAA,cCdIoM,aACd5E,eAIOC,EACJ6C,8BAJH3C,UAIyCC,QAAM5G,EAAW,CACtDwG,mBANM,+BAONK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UACKA,EAAKC,QAAgBD,EAAKA,KAEvBA,EAAKA,KAAK3E,WAItBF,MAAK,SAAC+E,UAA0BA,YAC1B,SAACnI,SACAA,cCpBIqM,aACd7E,eAIOC,EACJa,mCAJHX,UAK0CC,GACtC,GACA,CACEJ,mBATI,+BAUJK,WAAWC,OAAQ,kCAAoC,sBAR7DD,SASME,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UACKA,EAAKC,QAAgBD,EAAKA,KAEvBA,EAAKA,KAAK3E,WAKxBF,MAAK,SAAC+E,UAA0BA,YAC1B,SAACnI,SACAA,cCxBIsM,aACd9E,QACAG,IAAAA,iBAGOF,EACJa,mCAC+BX,EAAUC,YAAWD,EAAU4E,SAC7D,GACA,CACE/E,mBATI,+BAUJK,WAAWC,OAAQ,kCAAoC,sBAR7DD,SASME,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UACKA,EAAKC,QAAgBD,EAAKA,KAEvBA,EAAKA,KAAK3E,WAKxBF,MAAK,SAAC+E,UAAgCA,YAChC,SAACnI,SACAA,cCtBIwM,cACdhF,eAKOC,EACJ6C,+BALH3C,UAK0CC,KAH1CW,KAGsD,CAClDf,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAN3DD,SAOIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UACKA,EAAKC,QAAgBD,EAAKA,KAEvBA,EAAKA,KAAK3E,WAItBF,MAAK,SAAC+E,UAA2BA,YAC3B,SAACnI,SACAA,cCJIyM,cAAwBjF,eAC/BC,EACJa,KAAK,oBAFsEC,KAE7C,CAC7Bf,mBAH4C,+BAI5CK,WAAWC,OAAQ,kCAAoC,sBAJyBD,SAKhFE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UACKA,EAAKC,QAAgB,CAAED,KAAMA,EAAKA,KAAMiB,KAAMjB,EAAKiB,MAEhDjB,EAAKA,KAAK3E,WAItBF,MAAK,SAAC+E,UAA4BA,YAC5B,SAACnI,SACAA,cClCI0M,cACdlF,eAIOC,EACJgB,yBAJHd,UAIoCC,GAAM,CACtCJ,mBANM,+BAONK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA8BA,YAC9B,SAACnI,SACAA,cCAI2M,cACdnF,eAIOC,EACJgB,iCAAkC,CACjCjB,mBANM,+BAONkB,SANJA,OAOIC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,WAAWC,OAAQ,sBAPvBD,SAQIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAoCA,YACpC,SAACnI,SACAA,cCfI4M,cAAuBpF,eAC9BC,EACJgB,IAAI,kBAAmB,CACtBjB,mBAH2C,+BAI3CkB,SAJkFA,OAKlFC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,WAAWC,OAAQ,kCAAoC,sBANkBD,SAOzEE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,MACKA,EAAKC,QAAS,KACVa,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,GAChBD,EAAKC,EAAOrB,IAAMqB,EAClBF,EAAI3E,KAAK6E,EAAOrB,OAGX,CAAEmB,IAAAA,EAAKC,KAAAA,EAAME,KAAM,CAAEC,MAAOlB,EAAKmB,WAAWzE,gBAG9CsD,EAAKA,KAAK3E,OAAS2E,EAAKA,KAAK0B,aAIzCvG,MAAK,SAAC+E,UAA2BA,YAC3B,SAACnI,SACAA,cC/BI6M,cACdrF,eAIOC,EACJgB,IAAI,uBAAwB,CAC3BjB,mBANM,+BAONkB,SALJA,OAMIC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,WAAWC,OAAQ,kCAAoC,sBAR3DD,SASIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,gBACCA,EAAKC,QAAU,CAAE4E,YAAO7E,YAAAA,EAAMA,aAANuD,EAAYsB,OAAU7E,EAAKA,KAAK3E,OAAS2E,EAAKA,KAAK0B,aAGhFvG,MAAK,SAAC+E,UAAgCA,YAChC,SAACnI,SACAA,cCpCI+M,cACdvF,QACAG,IAAAA,iBAGOF,EACJa,mCAC+BX,EAAUC,YAAWD,EAAU4E,SAC7D,GACA,CACE/E,mBATI,+BAUJK,WAAWC,OAAQ,kCAAoC,sBAR7DD,SASME,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UACKA,EAAKC,QAAgBD,EAAKA,KAEvBA,EAAKA,KAAK3E,WAKxBF,MAAK,SAAC+E,UAA8BA,YAC9B,SAACnI,SACAA,cCxBIgN,cACdxF,eAIOC,EACJa,qCAJHX,UAK4CC,oBACxC,GACA,CACEJ,mBATI,+BAUJK,WAAWC,OAAQ,kCAAoC,sBAR7DD,SASME,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UACKA,EAAKC,QAAgBD,EAAKA,KAEvBA,EAAKA,KAAK3E,WAKxBF,MAAK,SAAC+E,UAAgCA,YAChC,SAACnI,SACAA,cCtBIiN,cACdzF,eAKOC,EACJ6C,+BALH3C,UAK0CC,KAH1CW,KAGsD,CAClDf,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAN3DD,SAOIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UACKA,EAAKC,QAAgBD,EAAKA,KAEvBA,EAAKA,KAAK3E,WAItBF,MAAK,SAAC+E,UAA2BA,YAC3B,SAACnI,SACAA,cClBIkN,cACd1F,eAKOC,EACJ6C,yBALH3C,UAKoCC,KAJpCW,KAIgD,CAC5Cf,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UACKA,EAAKC,QAAgBD,EAAKA,KAEvBA,EAAKA,KAAK3E,WAItBF,MAAK,SAAC+E,UAA4BA,YAC5B,SAACnI,SACAA,cCzBImN,cACd3F,eAIOC,EACJgB,8BAJHd,UAIyCoD,+BAA+B,CACpEvD,mBANM,+BAONK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA6CA,YAC7C,SAACnI,SACAA,cCnBIoN,cACd5F,eAGOC,EACJgB,IAAI,6BAA8B,CACjCjB,mBALM,+BAMNK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,OACMA,EAAKC,QAAS,OAAOD,EAAKA,KAAK3E,UAE9ByF,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,GAChBD,EAAKC,EAAOrB,IAAMqB,EAClBF,EAAI3E,KAAK6E,EAAOrB,OAGX,CAAEmB,IAAAA,EAAKC,KAAAA,QAInB5F,MAAK,SAAC+E,UAAoCA,YACpC,SAACnI,SACAA,cCjBIqN,cACd7F,eAKOC,EACJC,gCALHC,UAK2CoD,iCAJ3CxC,KAIgF,CAC5Ef,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA6BA,YAC7B,SAACnI,SACAA,cCfIsN,cACd9F,QACAG,IAAAA,iBAIOF,EACJC,8BACyBC,EAAU4F,2BAA0B5F,EAAU6F,kBAAiB7F,EAAU8F,SALrGlF,KAOI,CACEf,mBAVI,+BAWJK,WAAWC,OAAQ,kCAAoC,sBAR7DD,SASME,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAIxGF,MAAK,SAAC+E,UAAiCA,YACjC,SAACnI,SACAA,cCzBI0N,cAAsBlG,eAC7BC,EACJgB,IAAI,eAAgB,CACnBjB,mBAH0C,+BAI1CkB,SAJiFA,OAKjFC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,WAAWC,OAAQ,sBANqDD,SAOxEE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,OACMA,EAAKC,QAAS,OAAOD,EAAKA,KAAK3E,UAE9ByF,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,GAChBD,EAAKC,EAAOrB,IAAMqB,EAClBF,EAAI3E,KAAK6E,EAAOrB,OAGX,CAAEmB,IAAAA,EAAKC,KAAAA,EAAME,KAAM,CAAEC,MAAOlB,EAAKmB,WAAWzE,cAIxDvB,MAAK,SAAC+E,UAA0BA,YAC1B,SAACnI,SACAA,cChCI2N,cAAuBnG,eAC9BC,EACJa,sBAF0EC,KAE/C,CAC1Bf,mBAH2C,+BAI3CK,WAAWC,OAAQ,kCAAoC,sBAJwBD,SAK/EE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA2BA,YAC3B,SAACnI,SACAA,cCCI4N,cAAuBpG,eAC9BC,EACJgB,IAAI,eAAgB,CACnBjB,mBAH2C,+BAI3CkB,SAJkFA,OAKlFC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,WAAWC,OAAQ,sBANsDD,SAOzEE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,aACMA,EAAKC,QAAS,OAAOD,EAAKA,KAAK3E,UAE9ByF,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,GAChBD,EAAKC,EAAOrB,IAAMqB,EAClBF,EAAI3E,KAAK6E,EAAOrB,OAGX,CAAEmB,IAAAA,EAAKC,KAAAA,EAAME,KAAM,CAAEC,gBAAOlB,EAAKmB,qBAAYzE,SAAUoE,EAAIpE,cAIvEvB,MAAK,SAAC+E,UAA2BA,YAC3B,SAACnI,SACAA,cCtCI6N,cACdrG,eAIOC,EACJgB,sBAJHd,UAIiCC,GAAM,CACnCJ,mBANM,+BAONK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA6BA,YAC7B,SAACnI,SACAA,cCbI8N,cACdtG,eAKOC,EACJC,wBALHC,UAKmCC,KAJnCW,KAI+C,CAC3Cf,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA2BA,YAC3B,SAACnI,SACAA,cCnBI+N,cACdvG,eAKOC,EACJC,yCALHC,UAKoDC,KAJpDW,KAIgE,CAC5Df,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,gBAA6DA,EAAKC,QAAUD,EAAKA,cAAOA,EAAKA,aAALuD,EAAWlI,WAGvGF,MAAK,SAAC+E,UAA6BA,YAC7B,SAACnI,SACAA,cCjBIgO,cAAwBxG,eAC/BC,EACJa,uBAF2EC,KAE/C,CAC3Bf,mBAH4C,+BAI5CK,WAAWC,OAAQ,kCAAoC,sBAJyBD,SAKhFE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA4BA,YAC5B,SAACnI,SACAA,cCfIiO,cACdzG,eAIOC,EACJa,wBAJHX,UAImCC,qBAAqB,KAAM,CAC1DJ,mBANM,+BAONK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAU,KAAOD,EAAKA,KAAK3E,WAGjGF,MAAK,SAAC+E,UAAyCA,YACzC,SAACnI,SACAA,cCbIkO,cACd1G,eAKOC,EACJC,yCALHC,UAKoDC,KAJpDW,KAIgE,CAC5Df,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,gBAA6DA,EAAKC,QAAUD,EAAKA,cAAOA,EAAKA,aAALuD,EAAWlI,WAGvGF,MAAK,SAAC+E,UAA6BA,YAC7B,SAACnI,SACAA,cClBImO,cACd3G,eAIOC,EACJgB,uBAJHd,UAIkCC,GAAM,CACpCJ,mBANM,+BAONK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA8BA,YAC9B,SAACnI,SACAA,cChBIoO,cACd5G,eAIOC,EACJgB,uBAJHd,UAIkCC,eAAe,CAC7CJ,mBANM,+BAONK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA8CA,YAC9C,SAACnI,SACAA,cChBIqO,cACd7G,eAIOC,EACJgB,uBAJHd,UAIkCC,qBAAqB,CACnDJ,mBANM,+BAONK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAmDA,YACnD,SAACnI,SACAA,cCZIsO,cAAuB9G,eAC9BC,EACJgB,IAAI,gBAAiB,CACpBjB,mBAH2C,+BAI3CkB,SAJkFA,OAKlFC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,WAAWC,OAAQ,sBANsDD,SAOzEE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,OACMA,EAAKC,QAAS,OAAOD,EAAKA,KAAK3E,OAAS2E,EAAKA,KAAK0B,YAEjDZ,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,GAChBD,EAAKC,EAAOrB,IAAMqB,EAClBF,EAAI3E,KAAK6E,EAAOrB,OAGX,CAAEmB,IAAAA,EAAKC,KAAAA,EAAME,KAAM,CAAEC,MAAOlB,EAAKmB,WAAWzE,cAIxDvB,MAAK,SAAC+E,UAA2BA,YAC3B,SAACnI,SACAA,cC3BIuO,cACd/G,eAKOC,EACJC,uCALHC,UAKkDC,KAJlDW,KAI8D,CAC1Df,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA0BA,YAC1B,SAACnI,SACAA,cCnBIwO,cACdhH,eAKOC,EACJC,0CALHC,UAKqDC,KAJrDW,KAIiE,CAC7Df,mBAPM,+BAQNK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA+BA,YAC/B,SAACnI,SACAA,cCPIyO,cACdjH,eAKOC,EACJ6C,uBALH3C,UAKkCC,KAJlCW,KAI8C,CAC1Cf,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA4BA,YAC5B,SAACnI,SACAA,cC1BI0O,cACdlH,eAKOC,EACJ6C,uBALH3C,UAKkCC,iBAJlCW,KAIuD,CACnDf,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,SAAsE,KAATA,EAAc,KAAOA,EAAKA,KAAK3E,WAGhGF,MAAK,SAAC+E,UAAoCA,YACpC,SAACnI,SACAA,cChBI2O,cACdnH,eAKOC,EACJC,iCALHC,UAK4CC,KAJ5CW,KAIwD,CACpDf,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA6BA,YAC7B,SAACnI,SACAA,cClBI4O,cACdpH,eAIOC,EACJa,KAAK,yBAJRC,KAIsC,CAClCf,mBANM,+BAONK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAU,KAAOD,EAAKA,KAAK3E,WAGjGF,MAAK,SAAC+E,UAAkCA,YAClC,SAACnI,SACAA,cCpBI6O,cACdrH,QACAG,IAAAA,iBAGOF,4BACsBE,EAAUoD,4BAA2BpD,EAAUmH,SAAY,CACpFtH,mBANM,+BAONK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAU,KAAOD,EAAKA,KAAK3E,WAGjGF,MAAK,SAAC+E,UAA6BA,YAC7B,SAACnI,SACAA,cCfI+O,cACdvH,eAIOC,EACJgB,yBAJHd,UAIoCoD,iBAAoB,CACpDvD,mBANM,+BAONK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,aACMA,EAAKC,wBACDD,EAAKA,aAALuD,EAAWlI,UAGdyF,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,GAChBD,EAAKC,EAAOrB,IAAMqB,EAClBF,EAAI3E,KAAK6E,EAAOrB,OAGX,CAAEmB,IAAAA,EAAKC,KAAAA,QAInB5F,MAAK,SAAC+E,UAA2BA,YAC3B,SAACnI,SACAA,cCvBIgP,cACdxH,QACAG,IAAAA,iBAIOF,EACJC,yBAAyBC,EAAUoD,4BAA2BpD,EAAUmH,WAJ3EvG,KAI6F,CACzFf,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA6BA,YAC7B,SAACnI,SACAA,cCxBIiP,cAAwBzH,eAC/BC,EACJa,KAAK,sBAFsEC,KAE3C,CAC/Bf,mBAH4C,+BAI5CK,WAAWC,OAAQ,kCAAoC,sBAJyBD,SAKhFE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA4BA,YAC5B,SAACnI,SACAA,cCdIkP,cACd1H,eAGOC,EACJgB,IAAI,wCAAyC,CAC5CjB,mBALM,+BAMNK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAgCA,YAChC,SAACnI,SACAA,cCOImP,cAAoB3H,eAC3BC,EACJa,mBAFuEC,KAE/C,CACvBf,mBAHwC,+BAIxCK,WAAWC,OAAQ,kCAAoC,sBAJqBD,SAK5EE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAwBA,YACxB,SAACnI,SACAA,cClBIoP,cACd5H,eAKOC,EACJa,oBALHX,UAK+BC,aAJ/BW,KAIgD,CAC5Cf,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,gBAA6DA,EAAKC,QAAUD,EAAKA,cAAOA,EAAKA,aAALuD,EAAWlI,WAGvGF,MAAK,SAAC+E,UAAuCA,YACvC,SAACnI,SACAA,cC7BIqP,cACd7H,eAKOC,EACJC,uCALHC,UAKkDC,KAHlDW,KAG8D,CAC1Df,mBAPM,+BAQNK,WAAWC,OAAQ,sBANvBD,SAOIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAwCA,YACxC,SAACnI,SACAA,cCpBIsP,cACd9H,QACAG,IAAAA,iBAGOF,sBACgBE,EAAU4H,gBAAe5H,EAAUC,GAAM,CAC5DJ,mBANM,+BAONK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,gBAA6DA,IAASA,EAAKC,iBAAUD,EAAKA,aAALuD,EAAWlI,MAAQ,UAG5GF,MAAK,SAAC+E,UAAuCA,YACvC,SAACnI,SACAA,cCdIwP,cACdhI,eAIOC,EACJgB,mBAJHd,UAI8BC,GAAM,CAChCJ,mBANM,+BAONK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA0BA,YAC1B,SAACnI,SACAA,cCRIyP,cACdjI,eAKOC,EACJgB,mBALHd,UAK8BC,WAAW,CACrCJ,mBAPM,+BAQNkB,SALJA,OAMIC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,WAAWC,OAAQ,sBARvBD,SASIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,YACKA,EAAKC,QAAS,KACVa,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,GAChBD,EAAKC,EAAOrB,IAAMqB,EAClBF,EAAI3E,KAAK6E,EAAOrB,OAGX,CAAEmB,IAAAA,EAAKC,KAAAA,EAAME,KAAM,CAAEC,MAAOlB,EAAKmB,WAAWzE,yBAG9CsD,EAAKA,aAALuD,EAAWlI,WAIvBF,MAAK,SAAC+E,UAAsCA,YACtC,SAACnI,SACAA,cCxCI0P,cACdlI,eAKOC,EACJgB,mBAHHd,UAG8BC,uBAAuB,CACjDJ,mBAPM,+BAQNkB,SANJA,OAOIC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,WAAWC,OAAQ,sBATvBD,SAUIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAsCA,YACtC,SAACnI,SACAA,cCuCI2P,cAAmBnI,eAC1BC,EACJgB,IAAI,YAAa,CAChBjB,mBAHuC,+BAIvCkB,SAJ8EA,OAK9EC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,WAAWC,OAAQ,sBANkDD,SAOrEE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,OACMA,EAAKC,QAAS,OAAOD,EAAKA,KAAK3E,UAE9ByF,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,GAChBD,EAAKC,EAAOrB,IAAMqB,EAClBF,EAAI3E,KAAK6E,EAAOrB,OAGX,CAAEmB,IAAAA,EAAKC,KAAAA,EAAME,UAAWjB,EAAKiB,MAAMC,MAAOlB,EAAKmB,WAAWzE,eAItEvB,MAAK,SAAC+E,UAAuBA,YACvB,SAACnI,SACAA,cCnFI4P,cACdpI,eAKOC,EACJa,yCALHX,UAKoDC,KAHpDW,KAGgE,CAC5Df,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAN3DD,SAOIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAwCA,YACxC,SAACnI,SACAA,cCnBI6P,cACdrI,eAIOC,EACJC,sCAJHC,UAIiDC,GAAM,KAAM,CACzDJ,mBANM,+BAONK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA8BA,YAC9B,SAACnI,SACAA,cChBI8P,cACdtI,eAIOC,EACJC,4CAJHC,UAIuDC,GAAM,KAAM,CAC/DJ,mBANM,+BAONK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAwCA,YACxC,SAACnI,SACAA,cCdI+P,cACdvI,eAKOC,EACJa,uCALHX,UAKkDC,KAHlDW,KAG8D,CAC1Df,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAN3DD,SAOIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAsCA,YACtC,SAACnI,SACAA,cCfIgQ,cACdxI,eAKOC,EACJC,oCALHC,UAK+CC,KAJ/CW,KAI2D,CACvDf,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAgCA,YAChC,SAACnI,SACAA,cCfIiQ,cACdzI,eAKOC,EACJC,oCALHC,UAK+CC,KAJ/CW,KAI2D,CACvDf,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAoCA,YACpC,SAACnI,SACAA,cCjBIkQ,cACd1I,eAKOC,EACJC,uCALHC,UAKkDC,KAJlDW,KAI8D,CAC1Df,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAoCA,YACpC,SAACnI,SACAA,cClBImQ,cACd3I,eAKOC,EACJC,yCALHC,UAKoDC,KAJpDW,KAIgE,CAC5Df,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAqCA,YACrC,SAACnI,SACAA,cChBIoQ,cACd5I,eAKOC,EACJC,wCALHC,UAKmDC,KAJnDW,KAI+D,CAC3Df,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAgCA,YAChC,SAACnI,SACAA,cCrBIqQ,cACd7I,eAKOC,EACJC,uCALHC,UAKkDC,KAJlDW,KAI8D,CAC1Df,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA2BA,YAC3B,SAACnI,SACAA,cC4BIsQ,cACd9I,eAKOC,EACJC,qBALHC,UAKgCC,KAJhCW,KAI4C,CACxCf,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAwBA,YACxB,SAACnI,SACAA,cC1DIuQ,cAAqB/I,eAC5BC,EACJa,KAAK,cAFmEC,KAEhD,CACvBf,mBAHyC,+BAIzCK,WAAWC,OAAQ,kCAAoC,sBAJsBD,SAK7EE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAyBA,YACzB,SAACnI,SACAA,cCpBIwQ,cAAoBhJ,eAC3BC,wBADmEE,UAEzCC,GAAM,CACnCJ,mBAHwC,+BAIxCK,WAAWC,OAAQ,sBAJ8DD,SAKjFE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,SAAsE,KAATA,EAAc,KAAOA,EAAKA,KAAK3E,WAGhGF,MAAK,SAAC+E,UAAwBA,YACxB,SAACnI,SACAA,cCAIyQ,cAAmBjJ,eAC1BC,EACJgB,IAAI,YAAa,CAChBjB,mBAHuC,+BAIvCkB,SAJ8EA,OAK9EC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,WAAWC,OAAQ,sBANkDD,SAOrEE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,MACKA,EAAKC,QAAS,KACVa,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,GAChBD,EAAKC,EAAOrB,IAAMqB,EAClBF,EAAI3E,KAAK6E,EAAOrB,OAGX,CAAEmB,IAAAA,EAAKC,KAAAA,EAAME,KAAM,CAAEC,MAAOlB,EAAKmB,WAAWzE,gBAG9CsD,EAAKA,KAAK3E,WAItBF,MAAK,SAAC+E,UAAuBA,YACvB,SAACnI,SACAA,cCjCI0Q,cACdlJ,eAKOC,EACJC,qBALHC,UAKgCC,KAJhCW,KAI4C,CACxCf,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAwBA,YACxB,SAACnI,SACAA,cCjBI2Q,cAAqBnJ,eAC5BC,EACJa,KAAK,oBAFmEC,KAE1C,CAC7Bf,mBAHyC,+BAIzCK,WAAWC,OAAQ,kCAAoC,sBAJsBD,SAK7EE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAyBA,YACzB,SAACnI,SACAA,cCnBI4Q,cAAqBpJ,eAC5BC,8BADoEE,UAEpCC,GAAM,CACzCJ,mBAHyC,+BAIzCK,WAAWC,OAAQ,sBAJ+DD,SAKlFE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAyBA,YACzB,SAACnI,SACAA,cCVI6Q,cACdrJ,eAIOC,EACJgB,yBAJHd,UAIoCC,GAAM,CACtCJ,mBANM,+BAONK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA2BA,YAC3B,SAACnI,SACAA,cCPI8Q,cAAoBtJ,eAC3BC,EACJgB,IAAI,kBAAmB,CACtBjB,mBAHwC,+BAIxCkB,SAJ+EA,OAK/EC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,WAAWC,OAAQ,sBANmDD,SAOtEE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,MACKA,EAAKC,QAAS,KACVa,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,GAChBD,EAAKC,EAAOrB,IAAMqB,EAClBF,EAAI3E,KAAK6E,EAAOrB,OAGX,CAAEmB,IAAAA,EAAKC,KAAAA,EAAME,KAAM,CAAEC,MAAOlB,EAAKmB,WAAWzE,gBAG9CsD,EAAKA,KAAK3E,WAItBF,MAAK,SAAC+E,UAAwBA,YACxB,SAACnI,SACAA,cC3BI+Q,cACdvJ,eAKOC,EACJC,2BALHC,UAKsCC,KAJtCW,KAIkD,CAC9Cf,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAyBA,YACzB,SAACnI,SACAA,cClBIgR,cAA4BxJ,eACnCC,EACJa,KAAK,4BAF0EC,KAEzC,CACrCf,mBAHgD,+BAIhDK,QAAS,CAAEC,OAAQ,kCAAoC,oBACvDC,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAgCA,YAChC,SAACnI,SACAA,cCLIiR,cACdzJ,eAIOC,EACJgB,IAAI,0BAA2B,CAC9BjB,mBANM,+BAONkB,SALJA,OAMIC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,WAAWC,OAAQ,sBARvBD,SASIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,MACKA,EAAKC,QAAS,KACVa,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,GAChBD,EAAKC,EAAOrB,IAAMqB,EAClBF,EAAI3E,KAAK6E,EAAOrB,OAGX,CAAEmB,IAAAA,EAAKC,KAAAA,EAAME,KAAM,CAAEC,MAAOlB,EAAKmB,WAAWzE,gBAG9CsD,EAAKA,KAAK3E,WAItBF,MAAK,SAAC+E,UAA+BA,YAC/B,SAACnI,SACAA,cC1CIkR,cACd1J,eAKOC,EACJC,mCALHC,UAK8CC,KAJ9CW,KAI0D,CACtDf,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAgCA,YAChC,SAACnI,SACAA,cC1BImR,cACd3J,eAIOC,EACJa,KAAK,qBAHRC,KAGkC,CAC9Bf,mBANM,+BAONK,WAAWC,OAAQ,kCAAoC,sBAN3DD,WAQGzE,MAAK,SAAC+E,SAA2D,CAAEF,KAAME,EAAIF,KAAKA,gBAC5E,SAACjI,eACAsD,EAAgD,IAAIvC,MAAMf,EAAI2J,eACpErG,EAAM8N,yBAASpR,EAAIqR,iBAAJC,EAAcF,UAAU,IACvC9N,EAAM2E,uBAAOjI,EAAIqR,iBAAJE,EAActJ,KAAKA,KAAK3E,SAAS,gBAExCA,cCJIkO,cACdhK,eAKOC,EACJa,sBALHX,UAKiC4E,qBAJjChE,KAI0D,CACtDf,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAgCA,YAChC,SAACnI,SACAA,cCzBIyR,cACdjK,eAIOC,EACJgB,IAAI,iBAJPd,UAIkCC,GAAI,CAAEJ,mBAL9B,+BAKuCK,WAAWC,OAAQ,sBAHpED,WAIGzE,MAAK,SAAC+E,SAAyD,CAAEF,KAAME,EAAIF,KAAKA,gBAC1E,SAACjI,eACAsD,EAA8C,IAAIvC,MAAMf,EAAI2J,eAClErG,EAAM8N,yBAASpR,EAAIqR,iBAAJC,EAAcF,UAAU,IACvC9N,EAAM2E,uBAAOjI,EAAIqR,iBAAJE,EAActJ,KAAKA,KAAK3E,SAAS,gBAExCA,cCjBIoO,cACdlK,eAIOC,EACJgB,IAAI,sBAJPd,UAIuCC,GAAI,CAAEJ,mBALnC,+BAK4CK,WAAWC,OAAQ,sBAHzED,WAIGzE,MAAK,SAAC+E,SAA6D,CAAEF,KAAME,EAAIF,KAAKA,gBAC9E,SAACjI,eACAsD,EAAkD,IAAIvC,MAAMf,EAAI2J,eACtErG,EAAM8N,yBAASpR,EAAIqR,iBAAJC,EAAcF,UAAU,IACvC9N,EAAM2E,uBAAOjI,EAAIqR,iBAAJE,EAActJ,KAAKA,KAAK3E,SAAS,gBAExCA,cCfIqO,cAAyBnK,eAChCC,EACJgB,IAAI,mBAAoB,CACvBjB,mBAH6C,+BAI7CK,WAAWC,OAAQ,sBAJwDD,WAM5EzE,MACC,SAAC+E,OACOF,EAA4B,CAAEA,KAAM,CAAEe,KAAM,GAAID,IAAK,IAAMG,KAAM,CAAEC,MAAOhB,EAAIF,KAAKmB,WAAWzE,gBAEpGwD,EAAIF,KAAKA,KAAKvF,SAAQ,SAAAuG,GACpBhB,EAAKA,KAAKe,KAAKC,EAAOrB,IAAMqB,EAC5BhB,EAAKA,KAAKc,IAAI3E,KAAK6E,EAAOrB,OAGrBK,YAGJ,SAACjI,eACAsD,EAA+C,IAAIvC,MAAMf,EAAI2J,eACnErG,EAAM8N,yBAASpR,EAAIqR,iBAAJC,EAAcF,UAAU,IACvC9N,EAAM2E,uBAAOjI,EAAIqR,iBAAJE,EAActJ,KAAKA,KAAK3E,SAAS,gBAExCA,cCXIsO,cAAqBpK,eAC5BC,EACJgB,IAAI,eAAgB,CACnBjB,mBAHyC,+BAIzCkB,SAJuEA,OAKvEC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,QAAS,CAAEC,OAAQ,oBACnBC,4BACMN,EAAMO,SAASD,mBACnB,SAACE,OACMA,EAAKC,QAAS,OAAOD,EAAKA,KAAK3E,UAE9ByF,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,GAChBD,EAAKC,EAAOrB,IAAMqB,EAClBF,EAAI3E,KAAK6E,EAAOrB,OAGX,CAAEmB,IAAAA,EAAKC,KAAAA,EAAME,KAAM,CAAEC,MAAOlB,EAAKmB,WAAWzE,cAIxDvB,MAAK,SAAC+E,UAAyBA,YACzB,SAACnI,SACAA,cCzBI6R,cACdrK,eAGOC,EACJgB,IAAI,yBAA0B,CAC7BjB,mBALM,+BAMNkB,SALJA,OAMIC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,QAAS,CAAEC,OAAQ,oBACnBC,4BACMN,EAAMO,SAASD,mBACnB,SAACE,MACKA,EAAKC,QAAS,KACVa,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,GAChBD,EAAKC,EAAOrB,IAAMqB,EAClBF,EAAI3E,KAAK6E,EAAOrB,OAGX,CAAEmB,IAAAA,EAAKC,KAAAA,EAAME,KAAM,CAAEC,MAAOlB,EAAKmB,WAAWzE,gBAG9CsD,EAAKA,KAAK3E,WAItBF,MAAK,SAAC+E,UAAkCA,YAClC,SAACnI,SACAA,cCxCI8R,cACdtK,eAKOC,EACJC,qBALHC,UAKgCC,KAJhCW,KAI4C,CACxCf,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAL3DD,WAOGzE,MAAK,SAAC+E,SAA2D,CAAEF,KAAME,EAAIF,KAAKA,gBAC5E,SAACjI,eACAsD,EAAgD,IAAIvC,MAAMf,EAAI2J,eACpErG,EAAM8N,yBAASpR,EAAIqR,iBAAJC,EAAcF,UAAU,IACvC9N,EAAM2E,uBAAOjI,EAAIqR,iBAAJE,EAActJ,KAAKA,KAAK3E,SAAS,gBAExCA,cCPIyO,cACdvK,QACAG,IAAAA,iBAIOF,EACJC,qBAAqBC,EAAU4E,oBAAmB5E,EAAUqK,WAJ/DzJ,KAIiF,CAC7Ef,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAgCA,YAChC,SAACnI,SACAA,cCHIiS,cACdzK,eAIOC,EACJgB,IAAI,4BAA6B,CAChCjB,mBANM,+BAONkB,SALJA,OAMIC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,WAAWC,OAAQ,sBARvBD,SASIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,MACKA,EAAKC,QAAS,SACVa,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,GAChBD,EAAKC,EAAOrB,IAAMqB,EAClBF,EAAI3E,KAAK6E,EAAOrB,OAGX,CAAEmB,IAAAA,EAAKC,KAAAA,EAAME,UAAWjB,EAAKiB,MAAMC,wBAAOlB,EAAKmB,mBAAL8I,EAAiBvN,UAAU,YAGvEsD,EAAKA,KAAK3E,OAAS2E,EAAKA,KAAK0B,aAIzCvG,MAAK,SAAC+E,UAAkCA,YAClC,SAACnI,SACAA,cCtCImS,cACd3K,eAIOC,EACJgB,IAAI,+BAAgC,CACnCjB,mBANM,+BAONkB,SALJA,OAMIC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,WAAWC,OAAQ,sBARvBD,SASIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,MACKA,EAAKC,QAAS,KACVa,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,OACVe,EAAMC,WACZjB,EAAKgB,QAAYf,GAAQe,IAAAA,IACzBjB,EAAI3E,KAAK4F,MAGJ,CAAEjB,IAAAA,EAAKC,KAAAA,UAGTf,EAAKA,KAAK3E,OAAS2E,EAAKA,KAAK0B,aAIzCvG,MAAK,SAAC+E,UAAuCA,YACvC,SAACnI,SACAA,cChDIoS,cACd5K,eAIOC,EACJa,4BAJHC,KAIoC,CAChCf,mBANM,+BAONK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA+BA,YAC/B,SAACnI,SACAA,cCPIqS,cACd7K,eAIOC,EACJgB,IAAI,oBAAqB,CACxBjB,mBANM,+BAONkB,SALJA,OAMIC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,WAAWC,OAAQ,sBARvBD,SASIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,MACKA,EAAKC,QAAS,OACVa,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,GAChBD,EAAKC,EAAOrB,IAAMqB,EAClBF,EAAI3E,KAAK6E,EAAOrB,OAGX,CAAEmB,IAAAA,EAAKC,KAAAA,EAAME,KAAM,CAAEC,gBAAOlB,EAAKmB,qBAAYzE,SAAU,WAGzDsD,EAAKA,KAAK3E,WAItBF,MAAK,SAAC+E,UAA8BA,YAC9B,SAACnI,SACAA,cCvCIsS,cACd9K,eAIOC,EACJgB,2BAJHd,UAIsC4E,SAAY,CAC9C/E,mBANM,+BAONmB,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,WAAWC,OAAQ,sBANvBD,SAOIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAwCA,YACxC,SAACnI,SACAA,cCrBIuS,cAAqB/K,QAAAA,aAAU,+BAA8Be,IAAAA,KAAMV,IAAAA,QAC3E2K,EAAW,IAAIC,YAED,IAAhBlK,EAAK5D,aACD,IAAI5D,MAAM,6BAGlBwH,EAAK7F,SAAQ,SAACgQ,EAAMC,GAClBH,EAASI,cAAcD,EAASD,MAG3BjL,EACJa,KAAK,mBAAoBkK,EAAU,CAClChL,QAAAA,EACAK,WAAWC,OAAQ,kCAAoC,uBAA0BD,GACjFE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,OACMA,EAAKC,QAAS,OAAOD,EAAKA,KAAK3E,OAAS2E,EAAKA,KAAK0B,YAEjDZ,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,GAChBD,EAAKC,EAAOrB,IAAMqB,EAClBF,EAAI3E,KAAK6E,EAAOrB,OAGX,CAAEmB,IAAAA,EAAKC,KAAAA,QAInB5F,MAAK,SAAC+E,UAAyBA,YACzB,SAACnI,SACAA,cC7BI6S,cAAsBrL,eAC7BC,EACJa,KAAK,gBAFoEC,KAE/C,CACzBf,mBAH0C,+BAI1CK,WAAWC,OAAQ,kCAAoC,sBAJuBD,SAK9EE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA0BA,YAC1B,SAACnI,SACAA,cCnBI8S,cACdtL,eAIOC,0BAHPE,UAImCC,GAAM,CACrCJ,mBANM,+BAONK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAU,KAAOD,EAAKA,KAAK3E,WAGjGF,MAAK,SAAC+E,UAA0BA,YAC1B,SAACnI,SACAA,cCXI+S,cACdvL,eAKOC,EACJa,wCALHX,UAKmDoD,mBAJnDxC,KAI6E,CACzEf,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,gBACEA,EAAKC,QAAiD,WAArBD,EAAKA,KAAKmJ,gBAAsBnJ,EAAKA,KAAK+K,cAAc,GAAK/K,EAAKA,KAApFA,EAAKA,KAAK3E,WAG/BF,MAAK,SAAC+E,UAAqCA,YACrC,SAACnI,SACAA,cCtBIiT,cACdzL,eAIOC,EACJgB,IAAI,iCAAkC,CACrCjB,mBANM,+BAONkB,SALJA,OAMIC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,WAAWC,OAAQ,sBARvBD,SASIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,OACMA,EAAKC,QAAS,OAAOD,EAAKA,KAAK3E,UAE9ByF,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,GAChBD,EAAKC,EAAO8B,kBAAoB9B,EAChCF,EAAI3E,KAAK6E,EAAO8B,qBAGX,CAAEhC,IAAAA,EAAKC,KAAAA,QAInB5F,MAAK,SAAC+E,UAAuCA,YACvC,SAACnI,SACAA,cC9BIkT,cACd1L,eAIOC,EACJgB,wCAJHd,UAImDoD,iBAAoB,CACnEvD,mBANM,+BAONK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,aACMA,EAAKC,wBACDD,EAAKA,aAALuD,EAAWlI,UAGdyF,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,GAChBD,EAAKC,EAAOrB,IAAMqB,EAClBF,EAAI3E,KAAK6E,EAAOrB,OAGX,CAAEmB,IAAAA,EAAKC,KAAAA,QAInB5F,MAAK,SAAC+E,UAAoCA,YACpC,SAACnI,SACAA,cC1BImT,cACd3L,eAKOC,EACJC,2CALHC,UAKsDC,KAJtDW,KAIkE,CAC9Df,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,gBACEA,EAAKC,QAAiD,WAArBD,EAAKA,KAAKmJ,gBAAsBnJ,EAAKA,KAAK+K,cAAc,GAAK/K,EAAKA,KAApFA,EAAKA,KAAK3E,WAG/BF,MAAK,SAAC+E,UAAqCA,YACrC,SAACnI,SACAA,cChBIoT,cACd5L,eAIOC,EACJa,KAAK,sCAJRC,KAImD,CAC/Cf,mBANM,+BAONK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAuCA,YACvC,SAACnI,SACAA,cCvBIqT,cACd7L,eAIOC,gDAHPE,UAIyDC,GAAM,CAC3DJ,mBANM,+BAONK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAuCA,YACvC,SAACnI,SACAA,cCXIsT,cACd9L,eAIOC,EACJgB,IAAI,oCAAqC,CACxCjB,mBANM,+BAONkB,SALJA,OAMIC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,WAAWC,OAAQ,sBARvBD,SASIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,MACKA,EAAKC,QAAS,SACVa,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,GAChBD,EAAKC,EAAOrB,IAAMqB,EAClBF,EAAI3E,KAAK6E,EAAOrB,OAGX,CAAEmB,IAAAA,EAAKC,KAAAA,EAAME,KAAM,CAAEC,wBAAOlB,EAAKmB,mBAAL8I,EAAiBvN,UAAU,WAGzDsD,EAAKA,KAAK3E,OAAS2E,EAAKA,KAAK0B,aAIzCvG,MAAK,SAAC+E,UAAsCA,YACtC,SAACnI,SACAA,cC7BIuT,cACd/L,eAKOC,EACJC,6CALHC,UAKwDC,KAJxDW,KAIoE,CAChEf,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAuCA,YACvC,SAACnI,SACAA,cCvBIwT,cACdhM,eAGOC,EACJgB,IAAI,2BAA4B,CAC/BjB,mBALM,+BAMNK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAoCA,YACpC,SAACnI,SACAA,cCPIyT,cACdjM,eAIOC,EACJgB,gCAJHd,UAI2C4E,SAAY,CACnD/E,mBANM,+BAONK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA4CA,YAC5C,SAACnI,SACAA,cCfI0T,cACdlM,eAIOC,EACJa,KAAK,+BAJRC,KAI4C,CACxCf,mBANM,+BAONK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA2CA,YAC3C,SAACnI,SACAA,cCbI2T,cAAsBnM,eAC7BC,EACJgB,IAAI,eAAgB,CACnBjB,mBAH0C,+BAI1CkB,SAJiFA,OAKjFC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,WAAWC,OAAQ,sBANqDD,SAOxEE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UACMA,EAAKC,QAEH,CAAED,KAAMA,EAAKA,KAAMiB,KAAM,CAAEC,MAAOlB,EAAKmB,WAAWzE,SAF/BsD,EAAKA,KAAK3E,WAMzCF,MAAK,SAAC+E,UAA0BA,YAC1B,SAACnI,SACAA,cC9BI4T,cACdpM,eAIOC,EACJgB,sBAJHd,UAIiCC,GAAM,CACnCJ,mBANM,+BAONK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA6BA,YAC7B,SAACnI,SACAA,cCXI6T,cACdrM,eAKOC,EACJa,uBALHX,UAKkCC,KAJlCW,KAI8C,CAC1Cf,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA2BA,YAC3B,SAACnI,SACAA,cCnBI8T,cAAoBtM,eAC3BC,EACJgB,IAAI,aAAc,CACjBjB,mBAHwC,+BAIxCkB,SAJ+EA,OAK/EC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,WAAWC,OAAQ,sBANmDD,SAOtEE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,MACKA,EAAKC,QAAS,SACVa,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,GAChBD,EAAKC,EAAOrB,IAAMqB,EAClBF,EAAI3E,KAAK6E,EAAOrB,OAGX,CAAEmB,IAAAA,EAAKC,KAAAA,EAAME,KAAM,CAAEC,wBAAOlB,EAAKmB,mBAAL8I,EAAiBvN,UAAU,WAGzDsD,EAAKA,KAAK3E,OAAS2E,EAAKA,KAAK0B,aAIzCvG,MAAK,SAAC+E,UAAwBA,YACxB,SAACnI,SACAA,cChCI+T,cACdvM,eAIOC,EACJa,8BAJHX,UAIyCqM,YAAe,KAAM,CAC1DxM,mBANM,+BAONK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA2BA,YAC3B,SAACnI,SACAA,cCfIiU,cAAoBzM,eAC3BC,EACJC,sBAFuEC,UAEzCC,YAAY,KAAM,CAC/CJ,mBAHwC,+BAIxCK,WAAWC,OAAQ,kCAAoC,sBAJ0BD,SAKjFE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAwBA,YACxB,SAACnI,SACAA,cCZIkU,cACd1M,eAIOC,EACJC,sBAJHC,UAIiCC,cAAc,KAAM,CACjDJ,mBANM,+BAONK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA0BA,YAC1B,SAACnI,SACAA,cCVImU,cACd3M,eAIOC,EACJa,KAAK,oBAJRC,KAIiC,CAC7Bf,mBANM,+BAONK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAoCA,YACpC,SAACnI,SACAA,cCxBIoU,cACd5M,eAIOC,8BAHPE,UAIuCC,GAAM,CACzCJ,mBANM,+BAONK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAU,KAAOD,EAAKA,KAAK3E,WAGjGF,MAAK,SAAC+E,UAAoCA,YACpC,SAACnI,SACAA,cCLIqU,cACd7M,eAIOC,EACJgB,IAAI,kBAAmB,CACtBjB,mBANM,+BAONkB,SALJA,OAMIC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,WAAWC,OAAQ,sBARvBD,SASIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,OACMA,EAAKC,QAAS,OAAOD,EAAKA,KAAK3E,OAAS2E,EAAKA,KAAK0B,YAEjDZ,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,GAChBD,EAAKC,EAAOrB,IAAMqB,EAClBF,EAAI3E,KAAK6E,EAAOrB,OAGX,CAAEmB,IAAAA,EAAKC,KAAAA,EAAME,KAAM,CAAEC,MAAOlB,EAAKmB,WAAWzE,cAIxDvB,MAAK,SAAC+E,UAAmCA,YACnC,SAACnI,SACAA,cC/BIsU,cACd9M,eAKOC,EACJC,2BALHC,UAKsCC,KAJtCW,KAIkD,CAC9Cf,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAoCA,YACpC,SAACnI,SACAA,cCfIuU,cACd/M,eAIOC,EACJa,KAAK,sBAJRC,KAImC,CAC/Bf,mBANM,+BAONK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA8BA,YAC9B,SAACnI,SACAA,cCnBIwU,cACdhN,eAIOC,EACJgB,IAAI,oBAAqB,CACxBjB,mBANM,+BAONkB,SALJA,OAMIC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,WAAWC,OAAQ,sBARvBD,SASIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,OACMA,EAAKC,QAAS,OAAOD,EAAKA,KAAK3E,OAAS2E,EAAKA,KAAK0B,YAEjDZ,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,GAChBD,EAAKC,EAAOrB,IAAMqB,EAClBF,EAAI3E,KAAK6E,EAAOrB,OAGX,CAAEmB,IAAAA,EAAKC,KAAAA,QAInB5F,MAAK,SAAC+E,UAA6BA,YAC7B,SAACnI,SACAA,cCvCIyU,cACdjN,eAIOC,EACJC,6BAJHC,UAIwCC,eAAe,KAAM,CACzDJ,mBANM,+BAONK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAU,KAAOD,EAAKA,KAAK3E,WAGjGF,MAAK,SAAC+E,UAAoCA,YACpC,SAACnI,SACAA,cChBI0U,cACdlN,eAIOC,EACJC,6BAJHC,UAIwCC,gBAAgB,KAAM,CAC1DJ,mBANM,+BAONK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAU,KAAOD,EAAKA,KAAK3E,WAGjGF,MAAK,SAAC+E,UAAiCA,YACjC,SAACnI,SACAA,cChBI2U,cACdnN,eAIOC,EACJC,6BAJHC,UAIwCC,eAAe,KAAM,CACzDJ,mBANM,+BAONK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAU,KAAOD,EAAKA,KAAK3E,WAGjGF,MAAK,SAAC+E,UAAgCA,YAChC,SAACnI,SACAA,cCPI4U,cACdpN,QAEAkB,IAAAA,cAEOjB,EACJgB,IAAI,wBAAyB,CAC5BjB,mBANM,+BAONK,WAAWC,OAAQ,sBANvBD,SAOIa,OAAAA,EACAC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEf,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAiCA,YACjC,SAACnI,SACAA,cCpBI6U,cACdrN,QAEAkB,IAAAA,cAEOjB,EACJgB,IAAI,0BAA2B,CAC9BjB,mBANM,+BAONK,WAAWC,OAAQ,sBANvBD,SAOIa,OAAAA,EACAC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEf,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAoCA,YACpC,SAACnI,SACAA,cC3BI8U,cACdtN,eAGOC,EACJgB,6BAHHd,UAGwCC,GAAM,CAC1CJ,mBALM,+BAMNK,QAAS,CAAEC,OAAQ,oBACnBC,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAsCA,YACtC,SAACnI,SACAA,cCXI+U,cACdvN,eAGOC,EACJa,KAAK,6BAHRC,KAG0C,CACtCf,mBALM,+BAMNK,QAAS,CAAEC,OAAQ,oBACnBC,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAU,KAAOD,EAAKA,KAAK3E,WAGjGF,MAAK,SAAC+E,UAAsCA,YACtC,SAACnI,SACAA,cCVIgV,cAAqBxN,eAC5BC,EACJgB,IAAI,8BAA+B,CAClCjB,mBAHyC,+BAIzCkB,SAJgFA,OAKhFC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,WAAWC,OAAQ,sBANoDD,SAOvEE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,OACMA,EAAKC,QAAS,OAAOD,EAAKA,KAAK3E,UAE9ByF,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,GAChBD,EAAKC,EAAO8B,kBAAoB9B,EAChCF,EAAI3E,KAAK6E,EAAO8B,qBAGX,CAAEhC,IAAAA,EAAKC,KAAAA,QAInB5F,MAAK,SAAC+E,UAAyBA,YACzB,SAACnI,SACAA,cC7BIiV,cACdzN,eAKOC,EACJa,+BALHX,UAK0C4F,6BAJ1ChF,KAI2E,CACvEf,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAwCA,YACxC,SAACnI,SACAA,cCfIkV,cACd1N,eAKOC,EACJC,8CALHC,UAKyDC,KAJzDW,KAIqE,CACjEf,mBAPM,+BAQNK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAwCA,YACxC,SAACnI,SACAA,cCtBImV,cACd3N,eAIOC,EACJa,wCAJHX,UAImDoD,iBAAoB,KAAM,CACzEvD,mBANM,+BAONK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAoCA,YACpC,SAACnI,SACAA,cCZIoV,cACd5N,QAAAA,aAAU,+BACVG,IAAAA,UAEAE,IAAAA,eAEOJ,EACJC,sCACiCC,EAAUoD,wBAL9CxC,MAMeX,GAAID,EAAUoD,mBACzB,CACEvD,QAAAA,EACAK,WAAWC,OAAQ,oBAAuBD,GAC1CE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAU,KAAOD,EAAKA,KAAK3E,WAInGF,MAAK,SAAC+E,UAAyCA,YACzC,SAACnI,SACAA,cCdIqV,cACd7N,eAKOC,EACJC,sCALHC,UAKiDC,KAJjDW,KAI6D,CACzDf,mBAPM,+BAQNK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAiCA,YACjC,SAACnI,SACAA,cC7BIsV,cACd9N,eAIOC,EACJC,gCAJHC,UAI2CC,sBAAsB,KAAM,CACnEJ,mBANM,+BAONK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAU,KAAOD,EAAKA,KAAK3E,WAGjGF,MAAK,SAAC+E,UAA8CA,YAC9C,SAACnI,SACAA,cCfIuV,cACd/N,eAIOC,EACJa,KAAK,qCAJRC,KAIkD,CAC9Cf,mBANM,+BAONK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA4CA,YAC5C,SAACnI,SACAA,cCEIwV,cACdhO,eAIOC,EACJa,8BAJHC,KAIsC,CAClCf,mBANM,+BAONK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAkCA,YAClC,SAACnI,SACAA,cC7BIyV,cACdjO,eAIOC,EACJa,KAAK,kCAJRC,KAI+C,CAC3Cf,mBANM,+BAONK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA0CA,YAC1C,SAACnI,SACAA,cCrBI0V,cACdlO,eAIOC,EACJa,uDAJHX,UAK8DC,GAC1D,GACA,CACEJ,mBATI,+BAUJK,WAAWC,OAAQ,kCAAoC,sBAR7DD,SASME,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAIxGF,MAAK,SAAC+E,UAA+CA,YAC/C,SAACnI,SACAA,cCRI2V,cACdnO,eAKOC,EACJa,+BALHX,UAK0CC,aAJ1CW,KAI2D,CACvDf,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,gBAA6DA,EAAKC,QAAUD,EAAKA,cAAOA,EAAKA,aAALuD,EAAWlI,WAGvGF,MAAK,SAAC+E,UAAiDA,YACjD,SAACnI,SACAA,cCxBI4V,cACdpO,eAIOC,EACJa,KAAK,kCAJRC,KAI+C,CAC3Cf,mBANM,+BAONK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAU,KAAOD,EAAKA,KAAK3E,WAGjGF,MAAK,SAAC+E,UAA0CA,YAC1C,SAACnI,SACAA,cCjBI6V,cACdrO,eAIOC,EACJa,KAAK,gCAJRC,KAI6C,CACzCf,mBANM,+BAONK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAU,KAAOD,EAAKA,KAAK3E,WAGjGF,MAAK,SAAC+E,UAAwCA,YACxC,SAACnI,SACAA,cCjBI8V,cACdtO,eAKOC,EACJa,+BAHHX,UAG0CC,0BAL1CW,KAKwE,CACpEf,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAN3DD,SAOIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA8CA,YAC9C,SAACnI,SACAA,cCrBI+V,cACdvO,eAIOC,EACJC,MAAM,qCAJTa,KAImD,CAC/Cf,mBANM,+BAONK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,gBAA6DA,EAAKC,QAAU,cAAOD,EAAKA,aAALuD,EAAWlI,WAGlGF,MAAK,SAAC+E,UAAiCA,YACjC,SAACnI,SACAA,cChBIgW,cACdxO,QACAG,IAAAA,iBAGOF,iCAC2BE,EAAUoD,0BAAyBpD,EAAUC,GAAM,CACjFJ,mBANM,+BAONK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,gBAA6DA,IAASA,EAAKC,iBAAUD,EAAKA,aAALuD,EAAWlI,MAAQ,UAG5GF,MAAK,SAAC+E,UAAiDA,YACjD,SAACnI,SACAA,cChBIiW,cACdzO,QACAG,IAAAA,iBAGOF,iCAC2BE,EAAUoD,uCAAsCpD,EAAUC,GAAM,CAC9FJ,mBANM,+BAONK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,gBAA6DA,EAAKC,QAAU,cAAOD,EAAKA,aAALuD,EAAWlI,WAGlGF,MAAK,SAAC+E,UAAiDA,YACjD,SAACnI,SACAA,cCVIkW,cACd1O,eAKOC,EACJa,yCALHX,UAKoDC,KAJpDW,KAIgE,CAC5Df,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,gBAA6DA,EAAKC,QAAU,cAAOD,EAAKA,aAALuD,EAAWlI,WAGlGF,MAAK,SAAC+E,UAAqCA,YACrC,SAACnI,SACAA,cCtBImW,cACd3O,eAIOC,EACJC,iDAJHC,UAKuDC,GACnD,GACA,CACEJ,mBATI,+BAUJK,WAAWC,OAAQ,sBARzBD,SASME,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAIxGF,MAAK,SAAC+E,UAA2CA,YAC3C,SAACnI,SACAA,cCnBIoW,cACd5O,eAIOC,EACJC,gCAJHC,UAI2CC,wBAAwB,KAAM,CACrEJ,mBANM,+BAONK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA4CA,YAC5C,SAACnI,SACAA,cChBIqW,cACd7O,eAIOC,EACJC,gCAJHC,UAI2CC,wBAAwB,KAAM,CACrEJ,mBANM,+BAONK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA4CA,YAC5C,SAACnI,SACAA,cCbIsW,cACd9O,eAIOC,EACJgB,qCAJHd,UAIgDoD,iBAAoB,CAChEvD,mBANM,+BAONK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,OACMA,EAAKC,eACDD,EAAKA,KAAK3E,OAAS2E,EAAKA,KAAK0B,YAGhCZ,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,OACVe,EAAMC,WACZjB,EAAKgB,QAAYf,GAAQe,IAAAA,IACzBjB,EAAI3E,KAAK4F,MAGJ,CAAEjB,IAAAA,EAAKC,KAAAA,EAAME,KAAM,CAAEC,MAAOJ,EAAIpE,cAI5CvB,MAAK,SAAC+E,UAA2CA,YAC3C,SAACnI,SACAA,cC3BIuW,cACd/O,eAIOC,EACJgB,IAAI,gCAAiC,CACpCjB,mBANM,+BAONkB,SALJA,OAMIC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,WAAWC,OAAQ,sBARvBD,SASIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,MACKA,EAAKC,QAAS,KACVa,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,GAChBD,EAAKC,EAAOrB,IAAMqB,EAClBF,EAAI3E,KAAK6E,EAAOrB,OAGX,CAAEmB,IAAAA,EAAKC,KAAAA,EAAME,KAAM,CAAEC,MAAOlB,EAAKmB,WAAWzE,gBAG9CsD,EAAKA,KAAK3E,OAAS2E,EAAKA,KAAK0B,aAIzCvG,MAAK,SAAC+E,UAA0CA,YAC1C,SAACnI,SACAA,cCvCIwW,cACdhP,eAIOC,EACJgB,8BAJHd,UAIyCC,GAAM,CAC3CJ,mBANM,+BAONK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAoCA,YACpC,SAACnI,SACAA,cCdIyW,cACdjP,QACAG,IAAAA,iBAGOF,EACJgB,4BAA4Bd,EAAUC,YAAWD,EAAU+O,6BAA6B,CACvFlP,mBANM,+BAONK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,gBACCA,EAAKC,uBAAUD,SAAAA,EAAMA,QAAQ,KAAOA,EAAKA,KAAK3E,WAGnDF,MAAK,SAAC+E,UAA0DA,YAC1D,SAACnI,SACAA,cCPI2W,cACdnP,eAKOC,EACJgB,8BALHd,UAKyCC,WAAW,CAChDJ,mBAPM,+BAQNkB,SALJA,OAMIC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,WAAWC,OAAQ,sBARvBD,SASIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,YACKA,EAAKC,QAAS,KACVa,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,GAChBD,EAAKC,EAAOrB,IAAMqB,EAClBF,EAAI3E,KAAK6E,EAAOrB,OAGX,CAAEmB,IAAAA,EAAKC,KAAAA,EAAME,KAAM,CAAEC,MAAOlB,EAAKmB,WAAWzE,yBAG9CsD,EAAKA,aAALuD,EAAWlI,WAIvBF,MAAK,SAAC+E,UAAgDA,YAChD,SAACnI,SACAA,cCvCI4W,cACdpP,eAKOC,EACJgB,uCAJHd,UAIkDC,cAAc,CAC5DJ,mBAPM,+BAQNkB,SALJA,OAMIC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,WAAWC,OAAQ,sBATvBD,SAUIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA4CA,YAC5C,SAACnI,SACAA,cC3BI6W,cACdrP,eAIOC,EACJgB,0DAJHd,UAIqEC,GAAM,CACvEJ,mBANM,+BAONK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,cAAUD,SAAAA,EAAMA,KAAOA,EAAKA,KAAK3E,WAGvGF,MAAK,SAAC+E,UAAyDA,YACzD,SAACnI,SACAA,cCTI8W,cACdtP,eAIOC,EACJa,wCAJHC,KAIgD,CAC5Cf,mBANM,+BAONK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,OACMA,EAAKC,QAAS,OAAOD,EAAKA,KAAK3E,UAE9ByF,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,GAChBD,EAAKC,EAAOrB,IAAMqB,EAClBF,EAAI3E,KAAK6E,EAAOrB,OAGX,CAAEmB,IAAAA,EAAKC,KAAAA,QAInB5F,MAAK,SAAC+E,UAA0CA,YAC1C,SAACnI,SACAA,cCzBI+W,cACdvP,eAKOC,EACJgB,8BALHd,UAKyCC,wBAAwB,CAC7DJ,mBAPM,+BAQNkB,SALJA,OAMIC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,WAAWC,OAAQ,sBARvBD,SASIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,OACMA,EAAKC,QAAS,OAAOD,EAAKA,KAAK3E,UAE9ByF,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,GAChBD,EAAKC,EAAOrB,IAAMqB,EAClBF,EAAI3E,KAAK6E,EAAOrB,OAGX,CAAEmB,IAAAA,EAAKC,KAAAA,EAAME,KAAM,CAAEC,MAAOlB,EAAKmB,WAAWzE,cAIxDvB,MAAK,SAAC+E,UAA6CA,YAC7C,SAACnI,SACAA,cCjBIgX,cACdxP,eAIOC,EACJgB,iCAAkC,CACjCjB,mBANM,+BAONkB,SALJA,OAMIC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,WAAWC,OAAQ,sBARvBD,SASIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,eACMA,EAAKC,QAAS,gBAAOD,EAAKA,aAALuD,EAAWlI,UAE/ByF,EAAyB,GACzBC,EAA2B,mBAEhCf,EAAKA,QAAQ,IAAIvF,SAAQ,SAAAuG,GACxBD,EAAKC,EAAOrB,IAAMqB,EAClBF,EAAI3E,KAAK6E,EAAOrB,OAGX,CAAEmB,IAAAA,EAAKC,KAAAA,EAAME,KAAM,CAAEC,MAAOlB,EAAKmB,WAAWzE,cAIxDvB,MAAK,SAAC+E,UAAyCA,YACzC,SAACnI,SACAA,cC9CIiX,cACdzP,eAIOC,EACJgB,+CAJHd,UAI0DC,GAAM,CAC5DJ,mBANM,+BAONK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAiDA,YACjD,SAACnI,SACAA,cChBIkX,cACd1P,eAIOC,EACJgB,oCAJHd,UAI+CC,GAAM,CACjDJ,mBANM,+BAONK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA6CA,YAC7C,SAACnI,SACAA,cCrBImX,cACd3P,eAIOC,EACJgB,yCAJHd,UAIoDC,GAAM,CACtDJ,mBANM,+BAONK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA8CA,YAC9C,SAACnI,SACAA,cCoCIoX,cACd5P,eAIOC,EACJgB,IAAI,uBAAwB,CAC3BjB,mBANM,+BAONkB,SALJA,OAMIC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,WAAWC,OAAQ,sBARvBD,SASIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,OACMA,EAAKC,QAAS,OAAOD,EAAKA,KAAK3E,UAE9ByF,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,GAChBD,EAAKC,EAAOrB,IAAMqB,EAClBF,EAAI3E,KAAK6E,EAAOrB,OAGX,CAAEmB,IAAAA,EAAKC,KAAAA,EAAME,KAAM,CAAEC,MAAOlB,EAAKmB,WAAWzE,cAIxDvB,MAAK,SAAC+E,UAAiCA,YACjC,SAACnI,SACAA,cCjCIqX,cACd7P,eAIOC,EACJgB,IAAI,8BAA+B,CAClCjB,mBANM,+BAONkB,SALJA,OAMIC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,WAAWC,OAAQ,sBARvBD,SASIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,OACMA,EAAKC,QAAS,OAAOD,EAAKA,KAAK3E,UAE9ByF,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,GAChBD,EAAKC,EAAOrB,IAAMqB,EAClBF,EAAI3E,KAAK6E,EAAOrB,OAGX,CAAEmB,IAAAA,EAAKC,KAAAA,EAAME,KAAM,CAAEC,MAAOlB,EAAKmB,WAAWzE,cAIxDvB,MAAK,SAAC+E,UAAuCA,YACvC,SAACnI,SACAA,cClFIsX,cACd9P,eAIOC,EACJa,uCAJHX,UAK8CC,GAC1C,GACA,CACEJ,mBATI,+BAUJK,WAAWC,OAAQ,kCAAoC,sBAR7DD,SASME,4BACMN,EAAMO,SAASD,mBACnB,SAACE,gBAA6DA,EAAKC,QAAU,cAAOD,EAAKA,aAALuD,EAAWlI,WAIpGF,MAAK,SAAC+E,UAAmCA,YACnC,SAACnI,SACAA,cCnBIuX,cACd/P,QACAG,IAAAA,iBAGOF,iCAC2BE,EAAU4F,4BAA2B5F,EAAU6P,KAAQ,CACrFhQ,mBANM,+BAONK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA2CA,YAC3C,SAACnI,SACAA,cCjBIyX,cACdjQ,eAIOC,EACJC,wCAJHC,UAK8CC,GAC1C,GACA,CACEJ,mBATI,+BAUJK,WAAWC,OAAQ,kCAAoC,sBAR7DD,SASME,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAIxGF,MAAK,SAAC+E,UAAmCA,YACnC,SAACnI,SACAA,cCpBI0X,cACdlQ,eAIOC,EACJC,MAAM,sCAJTa,KAIoD,CAChDf,mBANM,+BAONK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,gBAA6DA,EAAKC,QAAU,cAAOD,EAAKA,aAALuD,EAAWlI,WAGlGF,MAAK,SAAC+E,UAA0CA,YAC1C,SAACnI,SACAA,cChBI2X,cACdnQ,eAIOC,EACJC,gCAJHC,UAI2CC,sBAAsB,KAAM,CACnEJ,mBANM,+BAONK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAU,KAAOD,EAAKA,KAAK3E,WAGjGF,MAAK,SAAC+E,UAA4CA,YAC5C,SAACnI,SACAA,cCdI4X,cACdpQ,eAIOC,EACJC,gCAJHC,UAI2CC,wBAAwB,KAAM,CACrEJ,mBANM,+BAONK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA4CA,YAC5C,SAACnI,SACAA,cClBI6X,cACdrQ,eAIOC,EACJC,gCAJHC,UAI2CC,sBAAsB,KAAM,CACnEJ,mBANM,+BAONK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAU,KAAOD,EAAKA,KAAK3E,WAGjGF,MAAK,SAAC+E,UAA2CA,YAC3C,SAACnI,SACAA,cChBI8X,cACdtQ,eAIOC,EACJC,gCAJHC,UAI2CC,kCAAkC,KAAM,CAC/EJ,mBANM,+BAONK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAU,KAAOD,EAAKA,KAAK3E,WAGjGF,MAAK,SAAC+E,UAAuDA,YACvD,SAACnI,SACAA,cCdI+X,cACdvQ,eAKOC,EACJ6C,uCALH3C,UAKkDC,KAJlDW,KAI8D,CAC1Df,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,gBAA6DA,EAAKC,QAAU,cAAOD,EAAKA,aAALuD,EAAWlI,WAGlGF,MAAK,SAAC+E,UAAoCA,YACpC,SAACnI,SACAA,cCHIgY,cACdxQ,eAKOC,EACJ6C,8BALH3C,UAKyCC,KAJzCW,KAIqD,CACjDf,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAkCA,YAClC,SAACnI,SACAA,cC3BIiY,cACdzQ,QACAG,IAAAA,iBAIOF,EACJC,8BAA8BC,EAAU4F,4BAA2B5F,EAAU6P,OAJhFjP,KAI8F,CAC1Ff,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAmDA,YACnD,SAACnI,SACAA,cChBIkY,cACd1Q,eAKOC,EACJC,0CALHC,UAKqD4F,OAJrDhF,KAImE,CAC/Df,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA0CA,YAC1C,SAACnI,SACAA,cC3BImY,cACd3Q,eAIOC,EACJa,KAAK,2BAJRC,KAIwC,CACpCf,mBANM,+BAONK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,SAAsE,KAATA,EAAc,KAAOA,EAAKA,KAAK3E,WAGhGF,MAAK,SAAC+E,UAA8BA,YAC9B,SAACnI,SACAA,cCXIoY,cAA2B5Q,eAClCC,EACJgB,IAAI,sBAAuB,CAC1BjB,mBAH+C,+BAI/CK,WAAWC,OAAQ,sBAJ0DD,SAK7EE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA+BA,YAC/B,SAACnI,SACAA,cCPIqY,cACd7Q,eAIOC,EACJgB,IAAI,oBAAqB,CACxBjB,mBANM,+BAONkB,SALJA,OAMIC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,WAAWC,OAAQ,sBARvBD,SASIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,eACMA,EAAKC,QAAS,OAAOD,EAAKA,KAAK3E,UAE9ByF,EAAyB,GACzBC,EAA2B,mBAEhCf,EAAKA,QAAQ,IAAIvF,SAAQ,SAAAuG,OAClBe,EAAMC,WACZjB,EAAKgB,QAAYf,GAAQe,IAAAA,IACzBjB,EAAI3E,KAAK4F,MAGJ,CAAEjB,IAAAA,EAAKC,KAAAA,EAAME,KAAM,CAAEC,gBAAQlB,EAAKA,QAAQ,IAAItD,cAI1DvB,MAAK,SAAC+E,UAA6BA,YAC7B,SAACnI,SACAA,cC/BIsY,cACd9Q,eAIOC,EACJgB,IAAI,8BAA+B,CAClCjB,mBANM,+BAONkB,SALJA,OAMIC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,WAAWC,OAAQ,sBARvBD,SASIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,eACMA,EAAKC,QAAS,OAAOD,EAAKA,KAAK3E,UAE9ByF,EAAyB,GACzBC,EAA2B,mBAEhCf,EAAKA,QAAQ,IAAIvF,SAAQ,SAAAuG,OAClBe,EAAMC,WACZjB,EAAKgB,QAAYf,GAAQe,IAAAA,IACzBjB,EAAI3E,KAAK4F,MAGJ,CAAEjB,IAAAA,EAAKC,KAAAA,EAAME,KAAM,CAAEC,gBAAQlB,EAAKA,QAAQ,IAAItD,cAI1DvB,MAAK,SAAC+E,UAAqCA,YACrC,SAACnI,SACAA,cCpCIuY,cACd/Q,eAKOC,EACJ6C,IAAI,yBALP3C,UAK0CC,KAJ1CW,KAIoD,CAChDf,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAoCA,YACpC,SAACnI,SACAA,cCVIwY,cAAoBhR,eAC3BC,EACJa,KAAK,cAF2EC,KAExD,CACvBf,mBAHwC,+BAIxCK,WAAWC,OAAQ,kCAAoC,sBAJeD,SAKtEE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAwBA,YACxB,SAACnI,SACAA,cCpBIyY,cAAoBjR,eAC3BC,EACJC,4BAFuEC,UAEnCC,GAAM,KAAM,CAC/CJ,mBAHwC,+BAIxCK,WAAWC,OAAQ,sBAJ8DD,SAKjFE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAwBA,YACxB,SAACnI,SACAA,cChBI0Y,cACdlR,YAEAK,eAEOJ,EACJgB,IAAI,eAJPd,UAIgCC,GAAI,CAChCJ,mBANM,+BAONK,WAAWC,OAAQ,+BALb,MAMNC,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA0BA,YAC1B,SAACnI,SACAA,cCbI2Y,cACdnR,eAIOC,EACJgB,4BAJHd,UAIuCC,GAAM,CACzCJ,mBANM,+BAONK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAkCA,YAClC,SAACnI,SACAA,cCKI4Y,cAAmBpR,QAAiDkB,IAAAA,cAC3EjB,EACJgB,IAAI,YAAa,CAChBjB,mBAHuC,+BAIvCK,WAAWC,OAAQ,sBAJkDD,SAKrEa,OAAAA,EACAC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEf,4BACMN,EAAMO,SAASD,mBACnB,SAACE,OACMA,EAAKC,QAAS,OAAOD,EAAKA,KAAK3E,UAE9ByF,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,GAChBD,EAAKC,EAAOrB,IAAMqB,EAClBF,EAAI3E,KAAK6E,EAAOrB,OAGX,CAAEmB,IAAAA,EAAKC,KAAAA,EAAME,KAAM,CAAEC,MAAOlB,EAAKmB,WAAWzE,cAIxDvB,MAAK,SAAC+E,UAAuBA,YACvB,SAACnI,SACAA,cC/CI6Y,cACdrR,eAIOC,EACJgB,4BAJHd,UAIuCC,GAAM,CACzCJ,mBANM,+BAONK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA+BA,YAC/B,SAACnI,SACAA,cCPI8Y,cAAkBtR,eACzBC,EACJC,MAAM,oBAF+DC,UAEjCC,KAFqDW,KAE3C,CAC7Cf,mBAHsC,+BAItCK,WAAWC,OAAQ,kCAAoC,sBAJwBD,SAK/EE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAU,KAAOD,EAAKA,KAAK3E,WAGjGF,MAAK,SAAC+E,UAAsBA,YACtB,SAACnI,SACAA,cCiBI+Y,cACdvR,eAKOC,EACJC,MAAM,eALTC,UAKkCC,KAHlCW,KAG4C,CACxCf,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAN3DD,SAOIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAwBA,YACxB,SAACnI,SACAA,cC/CIgZ,cAAoBxR,eAC3BC,EACJa,KAAK,cAFkEC,KAE/C,CACvBf,mBAHwC,+BAIxCK,WAAWC,OAAQ,kCAAoC,sBAJqBD,SAK5EE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAwBA,YACxB,SAACnI,SACAA,cCTIiZ,cAAmBzR,eAC1BC,EACJgB,IAAI,YAAa,CAChBjB,mBAHuC,+BAIvCkB,SAJ8EA,OAK9EC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,WAAWC,OAAQ,sBANkDD,SAOrEE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,OACMA,EAAKC,QAAS,OAAOD,EAAKA,KAAK3E,UAE9ByF,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,GAChBD,EAAKC,EAAOrB,IAAMqB,EAClBF,EAAI3E,KAAK6E,EAAOrB,OAGX,CAAEmB,IAAAA,EAAKC,KAAAA,EAAME,KAAM,CAAEC,MAAOlB,EAAKmB,WAAWzE,cAIxDvB,MAAK,SAAC+E,UAAuBA,YACvB,SAACnI,SACAA,cCnCIkZ,cACd1R,eAIOC,EACJgB,mBAJHd,UAI8BC,GAAM,CAChCJ,mBANM,+BAONK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA0BA,YAC1B,SAACnI,SACAA,cCRImZ,cACd3R,eAKOC,EACJ6C,mBALH3C,UAK8BC,KAJ9BW,KAI0C,CACtCf,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAwBA,YACxB,SAACnI,SACAA,cCzBIoZ,cAAqB5R,eAC5BC,EACJC,qCAFwEC,UAE3BC,GAAM,KAAM,CACxDJ,mBAHyC,+BAIzCK,WAAWC,OAAQ,kCAAoC,sBAJ2BD,SAKlFE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAyBA,YACzB,SAACnI,SACAA,cCbIqZ,cACd7R,eAIOC,EACJC,0BAJHC,UAIqCoD,8BAA8B,KAAM,CACrEvD,mBANM,+BAONK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAgCA,YAChC,SAACnI,SACAA,cCNIsZ,cACd9R,eAIOC,EACJa,KAAK,mBAJRC,KAIgC,CAC5Bf,mBANM,+BAONK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA6BA,YAC7B,SAACnI,SACAA,cCxBIuZ,cACd/R,QACAG,IAAAA,iBAIOF,EACJ6C,sBAAsB3C,EAAUoD,4BAA2BpD,EAAUmH,WAJxEvG,KAI0F,CACtFf,mBAPM,+BAQNK,WAAWC,OAAQ,kCAAoC,sBAL3DD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAU,KAAOD,EAAKA,KAAK3E,WAGjGF,MAAK,SAAC+E,UAA0CA,YAC1C,SAACnI,SACAA,cCfIwZ,cACdhS,YAEAK,eAGOJ,EACJgB,wBALHd,UAKmCC,GAAM,CACrCJ,mBAPM,+BAQNkB,SALJA,OAMIC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,cAChEjB,WAAWC,OAAQ,+BARb,MASNC,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAA6CA,YAC7C,SAACnI,SACAA,cCtBIyZ,cACdjS,eAIOC,EACJgB,wBAJHd,UAImCoD,yBAAyB,CACxDvD,mBANM,+BAONK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAUD,EAAKA,KAAOA,EAAKA,KAAK3E,WAGtGF,MAAK,SAAC+E,UAAiDA,YACjD,SAACnI,SACAA,cCfI0Z,cACdlS,eAKOC,EACJC,+BALHC,UAK0CyJ,SAJ1C7I,KAI0D,CACtDf,mBAPM,+BAQNK,WAAWC,OAAQ,sBALvBD,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKC,QAAU,KAAOD,EAAKA,KAAK3E,WAGjGF,MAAK,SAAC+E,UAAuCA,YACvC,SAACnI,SACAA,SCtCA2Z,GAMAC,GASAC,GCbAC,GAMAC,GAMAC,GCRAC,GAMAC,GAMAC,GAkCAC,GAWAC,GAOAC,GCpEAC,GAMAC,GCJAC,GAUAC,GAMAC,GCjBAC,GAMAC,GCJAC,GAOAC,GAUAC,GAyBAC,GAQAC,GAWAC,GAOAC,GCtEAC,GCHAC,GCIAC,GAOAC,GAeAC,GCxBAC,GAcAC,GAQAC,GCxBAC,GAOAC,GCPAC,GCAAC,GCSAC,GAsBAC,GAOAC,GAKAC,GAKAC,GC9CAC,GCFAC,GAKAC,GCDAC,GCFAC,GAKAC,GCJAC,GCHAC,GAOAC,GCLAC,GCFAC,GCAAC,GCEAC,GC4BAC,GC9BAC,GAKAC,GCHAC,GAaAC,GAOAC,GClBAC,GAMAC,GASAC,GAQAC,GAQAC,GAKAC,GAUAC,GAOAC,GAOAC,GAMAC,GAQAC,GCjEAC,GASAC,GAOAC,GAiBAC,GAMAC,GAMAC,GAKAC,GAiBAC,GC5EAC,GCFAC,GCFAC,GCSAC,GCTAC,GCGAC,GAQAC,GAKAC,GCPAC,GAIAC,GAQAC,GAKAC,GAQAC,GAoBAC,GAOAC,GAkCAC,GAMAC,GAYAC,GCjHAC,GCAAC,GAMAC,47NtCNZ,SAAYrG,GACVA,kBACAA,0BACAA,4BAHF,CAAYA,KAAAA,QAMZ,SAAYC,GACVA,gBACAA,sBACAA,wBACAA,kBACAA,gBACAA,gBANF,CAAYA,KAAAA,QASZ,SAAYC,GACVA,cACAA,oBACAA,gBACAA,YACAA,4BACAA,kBACAA,oBACAA,oCARF,CAAYA,KAAAA,QCbZ,SAAYC,GACVA,cACAA,kBACAA,kBAHF,CAAYA,KAAAA,QAMZ,SAAYC,GACVA,oBACAA,wBACAA,wBAHF,CAAYA,KAAAA,QAMZ,SAAYC,GACVA,oBACAA,gBACAA,gBACAA,gBACAA,YALF,CAAYA,KAAAA,QCRZ,SAAYC,GACVA,oBACAA,qCACAA,gBAHF,CAAYA,KAAAA,QAMZ,SAAYC,GACVA,cACAA,kBACAA,cAHF,CAAYA,KAAAA,QAMZ,SAAYC,GACVA,gCACAA,iDACAA,qDACAA,kCACAA,kEACAA,oCACAA,8CACAA,8CACAA,iCACAA,mCACAA,wCACAA,0CACAA,kCACAA,sCACAA,oCACAA,sDACAA,6DACAA,sCACAA,gFACAA,kFACAA,uDACAA,+BACAA,gEACAA,iEACAA,gEACAA,0DACAA,gDACAA,kDACAA,yDAEAA,sBA/BF,CAAYA,KAAAA,QAkCZ,SAAYC,GACVA,uFACAA,6BACAA,0CACAA,+BACAA,0BACAA,qCACAA,2BACAA,6CARF,CAAYA,KAAAA,QAWZ,SAAYC,GACVA,gBACAA,oBACAA,wCACAA,kBAJF,CAAYA,KAAAA,QAOZ,SAAYC,GACVA,kBACAA,oBACAA,yBACAA,kBAJF,CAAYA,KAAAA,QCpEZ,SAAYC,GACVA,oDACAA,6BACAA,0CAHF,CAAYA,KAAAA,QAMZ,SAAYC,GACVA,gBADF,CAAYA,KAAAA,QCJZ,SAAYC,GACVA,sBACAA,uCACAA,iCACAA,+BACAA,uBACAA,oBACAA,kBAPF,CAAYA,KAAAA,QAUZ,SAAYC,GACVA,wBACAA,wBACAA,sBAHF,CAAYA,KAAAA,QAMZ,SAAYC,GACVA,qCACAA,2CAFF,CAAYA,KAAAA,QCjBZ,SAAYC,GACVA,YACAA,UACAA,4BAHF,CAAYA,KAAAA,QAMZ,SAAYC,GACVA,0BACAA,oBAFF,CAAYA,KAAAA,QCJZ,SAAYC,GACVA,kBACAA,0BACAA,qBACAA,6BAJF,CAAYA,KAAAA,QAOZ,SAAYC,GACVA,cACAA,kBACAA,kBACAA,cACAA,cACAA,kBACAA,sBAPF,CAAYA,KAAAA,QAUZ,SAAYC,GACVA,gBACAA,uBACAA,kBACAA,gBACAA,+CACAA,mCACAA,yBACAA,2BACAA,6CACAA,kCACAA,wCACAA,oCACAA,kDACAA,6CACAA,6BACAA,yBACAA,kDACAA,2CACAA,wBACAA,0BACAA,cACAA,gBAtBF,CAAYA,KAAAA,QAyBZ,SAAYC,GACVA,qCACAA,mCACAA,wCACAA,4BACAA,+BALF,CAAYA,KAAAA,QAQZ,SAAYC,GACVA,2CACAA,2CACAA,uBACAA,6BACAA,2EACAA,cACAA,qCACAA,iCARF,CAAYA,KAAAA,QAWZ,SAAYC,GACVA,gBACAA,kBACAA,4CACAA,gBAJF,CAAYA,KAAAA,QAOZ,SAAYC,GACVA,kBACAA,cAFF,CAAYA,KAAAA,QCtEZ,SAAYC,GACVA,kBACAA,kBACAA,0BAHF,CAAYA,KAAAA,QCHZ,SAAYC,GACVA,gBACAA,sBACAA,YACAA,sBACAA,wBACAA,kBACAA,sBACAA,gCACAA,gBACAA,gCACAA,oCACAA,qBACAA,iCACAA,sBACAA,UACAA,2BACAA,sBAjBF,CAAYA,KAAAA,QCIZ,SAAYC,GACVA,YACAA,cACAA,2BACAA,yBAJF,CAAYA,KAAAA,QAOZ,SAAYC,GACVA,kBACAA,sBACAA,sBACAA,kBACAA,0BACAA,qCACAA,yCACAA,+BACAA,oBACAA,2BACAA,0BACAA,uBAZF,CAAYA,KAAAA,QAeZ,SAAYC,GACVA,+BACAA,wBACAA,yBACAA,+BAJF,CAAYA,KAAAA,QCxBZ,SAAYC,GACVA,YACAA,kBACAA,8CACAA,sCACAA,oCACAA,4CACAA,0CACAA,wCACAA,0CACAA,0BACAA,gCAXF,CAAYA,KAAAA,QAcZ,SAAYC,GACVA,cACAA,wBACAA,gBACAA,gCACAA,gCALF,CAAYA,KAAAA,QAQZ,SAAYC,GACVA,cACAA,YAFF,CAAYA,KAAAA,QCxBZ,SAAYC,GACVA,8BACAA,wBACAA,gBACAA,sBAJF,CAAYA,KAAAA,QAOZ,SAAYC,GACVA,cACAA,0CAFF,CAAYA,KAAAA,QCPZ,SAAYC,GACVA,gBACAA,gBACAA,kBAHF,CAAYA,KAAAA,QCAZ,SAAYC,GACVA,YACAA,YACAA,YACAA,YACAA,YACAA,YACAA,YACAA,YACAA,YATF,CAAYA,KAAAA,QCSZ,SAAYC,GACVA,8BACAA,cACAA,2CACAA,cACAA,YACAA,+BACAA,+CACAA,yBACAA,4BACAA,YACAA,6CACAA,mDACAA,+BACAA,6BACAA,2CACAA,kEACAA,0DACAA,kBACAA,gBAnBF,CAAYA,KAAAA,QAsBZ,SAAYC,GACVA,6BACAA,6BACAA,0CACAA,oDAJF,CAAYA,KAAAA,QAOZ,SAAYC,GACVA,iCACAA,oCAFF,CAAYA,KAAAA,QAKZ,SAAYC,GACVA,yCACAA,yCAFF,CAAYA,KAAAA,QAKZ,SAAYC,GACVA,yCACAA,+BACAA,oBACAA,2BACAA,0BACAA,uBACAA,0BAPF,CAAYA,KAAAA,QC9CZ,SAAYC,GACVA,YACAA,+BACAA,8BACAA,YACAA,cACAA,4BACAA,yBACAA,kBACAA,kEACAA,gBACAA,+CACAA,2CACAA,2CACAA,6CACAA,mDACAA,+BACAA,6BACAA,cACAA,0DAnBF,CAAYA,KAAAA,QCFZ,SAAYC,GACVA,gBACAA,kBAFF,CAAYA,KAAAA,QAKZ,SAAYC,GACVA,gBACAA,kBACAA,+BACAA,sBACAA,kBACAA,sBACAA,gBAPF,CAAYA,KAAAA,QCDZ,SAAYC,GACVA,kCACAA,kEACAA,oCACAA,iDACAA,qDACAA,mCACAA,0CACAA,kCACAA,8CACAA,iCACAA,sDACAA,6DACAA,sCACAA,gFACAA,kFACAA,uDACAA,+BACAA,gEACAA,iEACAA,gEACAA,0DACAA,gDACAA,kDACAA,yDAEAA,sBA1BF,CAAYA,KAAAA,QCFZ,SAAYC,GACVA,yBACAA,uCAFF,CAAYA,KAAAA,QAKZ,SAAYC,GACVA,UACAA,aACAA,YACAA,iBAJF,CAAYA,KAAAA,QCJZ,SAAYC,GACVA,kBACAA,kBACAA,kBACAA,cAJF,CAAYA,KAAAA,QCHZ,SAAYC,GACVA,gBACAA,gBACAA,gBACAA,sBAJF,CAAYA,KAAAA,QAOZ,SAAYC,GACVA,8BACAA,cACAA,2CAHF,CAAYA,KAAAA,QCLZ,SAAYC,GACVA,cACAA,sBAFF,CAAYA,KAAAA,QCFZ,SAAYC,GACVA,oBACAA,wBACAA,kBAHF,CAAYA,KAAAA,QCAZ,SAAYC,GACVA,sBACAA,sBACAA,oBAHF,CAAYA,KAAAA,QCEZ,SAAYC,GACVA,sBACAA,qCACAA,+CACAA,oBAJF,CAAYA,KAAAA,QC4BZ,SAAYC,GACVA,cACAA,+BACAA,mBACAA,+BAJF,CAAYA,KAAAA,QC9BZ,SAAYC,GACVA,gBACAA,kBAFF,CAAYA,KAAAA,QAKZ,SAAYC,GACVA,cACAA,0BAFF,CAAYA,KAAAA,QCHZ,SAAYC,GACVA,oBACAA,oBACAA,mCACAA,uBACAA,qCACAA,cACAA,yCACAA,gDACAA,oBACAA,0BAVF,CAAYA,KAAAA,QAaZ,SAAYC,GACVA,kBACAA,sBACAA,cACAA,cAJF,CAAYA,KAAAA,QAOZ,SAAYC,GACVA,sBACAA,sBAFF,CAAYA,KAAAA,QClBZ,SAAYC,GACVA,iCACAA,qBACAA,gBAHF,CAAYA,KAAAA,QAMZ,SAAYC,GACVA,cACAA,kBACAA,sBACAA,cACAA,iCACAA,mCANF,CAAYA,KAAAA,QASZ,SAAYC,GACVA,cACAA,wBACAA,kBACAA,sBACAA,0BALF,CAAYA,KAAAA,QAQZ,SAAYC,GACVA,wBACAA,gBACAA,oBACAA,cACAA,kBALF,CAAYA,KAAAA,QAQZ,SAAYC,GACVA,oBACAA,wBAFF,CAAYA,KAAAA,QAKZ,SAAYC,GACVA,YACAA,YACAA,YACAA,YACAA,cACAA,kBACAA,gCAPF,CAAYA,KAAAA,QAUZ,SAAYC,GACVA,cACAA,0BACAA,gBACAA,gBAJF,CAAYA,KAAAA,QAOZ,SAAYC,GACVA,cACAA,wBACAA,sBACAA,0BAJF,CAAYA,KAAAA,QAOZ,SAAYC,GACVA,cACAA,cACAA,cAHF,CAAYA,KAAAA,QAMZ,SAAYC,GACVA,cACAA,sBACAA,kBACAA,YACAA,oBALF,CAAYA,KAAAA,QAQZ,SAAYC,GACVA,kBACAA,cACAA,cAHF,CAAYA,KAAAA,QCjEZ,SAAYC,GACVA,4BACAA,0BACAA,cACAA,cACAA,YACAA,YANF,CAAYA,KAAAA,QASZ,SAAYC,GACVA,cACAA,cACAA,kBACAA,cAJF,CAAYA,KAAAA,QAOZ,SAAYC,GACVA,sBACAA,kBACAA,qCACAA,uBACAA,2BACAA,sBACAA,qBACAA,2BACAA,+BACAA,oBACAA,yCACAA,0BACAA,kBACAA,0BAdF,CAAYA,KAAAA,QAiBZ,SAAYC,GACVA,cACAA,cACAA,cAHF,CAAYA,KAAAA,QAMZ,SAAYC,GACVA,YACAA,cACAA,uBAHF,CAAYA,KAAAA,QAMZ,SAAYC,GACVA,kBACAA,cAFF,CAAYA,KAAAA,QAKZ,SAAYC,GACVA,2CACAA,uCACAA,yCACAA,6BACAA,8BACAA,gBAGAA,4CACAA,iCACAA,uCACAA,yBACAA,oCACAA,yBAdF,CAAYA,KAAAA,QAiBZ,SAAYC,GACVA,YACAA,oCACAA,8BACAA,sCACAA,oCACAA,wBACAA,cACAA,gBARF,CAAYA,KAAAA,QC5EZ,SAAYC,GACVA,oBACAA,cACAA,sBACAA,cACAA,cACAA,sBACAA,2CACAA,uBACAA,wBACAA,4BACAA,4BACAA,+BACAA,wCACAA,qCACAA,sCACAA,8CACAA,8CACAA,8CACAA,4BAnBF,CAAYA,KAAAA,QCFZ,SAAYC,GACVA,+BACAA,6BACAA,yBACAA,sBACAA,8BACAA,cACAA,UACAA,gBACAA,gDACAA,mDACAA,2CACAA,mCACAA,cAbF,CAAYA,KAAAA,QCFZ,SAAYC,GACVA,2BACAA,wBACAA,gBACAA,wCAJF,CAAYA,KAAAA,QCSZ,SAAYC,GACVA,mDACAA,gBACAA,oBACAA,sBACAA,gBACAA,gCANF,CAAYA,KAAAA,QCTZ,SAAYC,GACVA,gBACAA,qBACAA,iCAHF,CAAYA,KAAAA,QCGZ,SAAYC,GACVA,YACAA,2BACAA,sBACAA,kBACAA,oBALF,CAAYA,KAAAA,QAQZ,SAAYC,GACVA,kBACAA,cAFF,CAAYA,KAAAA,QAKZ,SAAYC,GACVA,oBACAA,gBACAA,gBACAA,gBACAA,YALF,CAAYA,KAAAA,QCPZ,SAAYC,GACVA,YADF,CAAYA,KAAAA,QAIZ,SAAYC,GACVA,kBACAA,+BACAA,gBACAA,oBACAA,0BALF,CAAYA,KAAAA,QAQZ,SAAYC,GACVA,kBACAA,cAFF,CAAYA,KAAAA,QAKZ,SAAYC,GACVA,kBACAA,yBACAA,4BACAA,yBACAA,0BALF,CAAYA,KAAAA,QAQZ,SAAYC,GACVA,qBACAA,gCACAA,iCACAA,oCACAA,gBACAA,gBACAA,kBACAA,YACAA,sBACAA,sBACAA,sBACAA,sBACAA,sBACAA,UACAA,gCACAA,wBACAA,2BAjBF,CAAYA,KAAAA,QAoBZ,SAAYC,GACVA,wBACAA,kBACAA,0BACAA,wBAJF,CAAYA,KAAAA,QAOZ,SAAYC,GACVA,gBACAA,+BACAA,6BACAA,8CACAA,6BACAA,wBACAA,kBACAA,qCACAA,oBACAA,6BACAA,yBACAA,UACAA,kBACAA,kBACAA,2BACAA,kDACAA,kBACAA,wBACAA,qCACAA,kBACAA,yBACAA,0BACAA,sBACAA,6BACAA,oBACAA,cACAA,qDACAA,sDACAA,qDACAA,+CACAA,qCA/BF,CAAYA,KAAAA,QAkCZ,SAAYC,GACVA,gBACAA,gBACAA,wBAHF,CAAYA,KAAAA,QAMZ,SAAYC,GACVA,wCACAA,kCACAA,wDACAA,kDACAA,4CACAA,gCACAA,oBACAA,uBACAA,yCATF,CAAYA,KAAAA,QAYZ,SAAYC,GACVA,oCACAA,mCACAA,oCACAA,oCACAA,4BACAA,2CACAA,wBACAA,cACAA,sBACAA,oBACAA,gBAXF,CAAYA,KAAAA,QCjHZ,SAAYC,GACVA,YACAA,cACAA,cACAA,cACAA,2BALF,CAAYA,KAAAA,QCAZ,SAAYC,GACVA,yBACAA,2BACAA,iCAHF,CAAYA,KAAAA,QAMZ,SAAYC,GACVA,YACAA,6BACAA,oBACAA,sBACAA,sBALF,CAAYA,KAAAA,oRCaAC,GChBAC,0BCAV,SAAoB1Y,2BAAAA,oDAIA,WAAOG,EAA2CE,8EAC7DsY,QAA+BxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAA/CD,iMAGS,WACpBI,EACAE,8EAEOsY,QAAiCxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAAjDY,iMAGO,WAAOG,EAAiCV,8EACnDsY,QAA+B5X,OAAMV,WAAwBuY,EAAK5Y,wCAAnCe,UAAMV,aAASL,qCAA1Ca,8LAGM,WAAOK,EAAoCb,8EACrDsY,QAA8BzX,OAAQb,WAAwBuY,EAAK5Y,wCAArCkB,YAAQb,aAASL,qCAA3CgB,8LAGO,WAClBb,EACAY,EACAV,8EAEOsY,QAA+BxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAArD6B,2LAKC,WAAOX,EAA+Bb,8EAC3CsY,QAAyBzX,OAAQb,WAAwBuY,EAAK5Y,wCAArCkB,YAAQb,aAASL,qCAAtC8B,qLAGG,WAAOf,8EACd4X,QAA2B5X,WAAqB6X,EAAK5Y,wCAA1Be,UAAMf,qCAA7B+B,kLAGA,WAAO1B,8EACXsY,QAAwBtY,WAAwBuY,EAAK5Y,wCAA7BK,aAASL,qCAA7BgC,yLAKU,WAAOjB,EAAoCV,8EACzDsY,QAAkC5X,OAAMV,WAAwBuY,EAAK5Y,wCAAnCe,UAAMV,aAASL,qCAA7CiC,mMAGQ,WAAOf,EAAsCb,8EACzDsY,QAAgCzX,OAAQb,WAAwBuY,EAAK5Y,wCAArCkB,YAAQb,aAASL,qCAA7CkC,mMAGU,WACrB/B,EACAY,EACAV,8EAEOsY,QAAkCxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAAxDoC,uMAGU,WACrBjC,EACAE,8EAEOsY,QAAkCxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAAlDqC,2LAKA,WAAOtB,EAA0BV,8EACrCsY,QAAwB5X,OAAMV,WAAwBuY,EAAK5Y,wCAAnCe,UAAMV,aAASL,qCAAnCsC,gLAGD,WAAOpB,EAA6Bb,8EACvCsY,QAAuBzX,OAAQb,WAAwBuY,EAAK5Y,wCAArCkB,YAAQb,aAASL,qCAApCuC,2LAKW,WACtBrB,EACAb,8EAEOsY,QAAmCzX,OAAQb,WAAwBuY,EAAK5Y,wCAArCkB,YAAQb,aAASL,qCAAhD0C,+LAKG,WAAOvC,EAAuCE,8EACrDsY,QAA2BxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAA3C4C,oLAGA,WAAOzC,EAAoCY,EAA0BV,8EACzEsY,QAAwBxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAA9C6C,oLAGC,WAAO3B,EAA+Bb,8EAC3CsY,QAAyBzX,OAAQb,WAAwBuY,EAAK5Y,wCAArCkB,YAAQb,aAASL,qCAAtC+C,mLAGC,WAAOhC,EAA2BV,8EACvCsY,QAAyB5X,OAAMV,WAAwBuY,EAAK5Y,wCAAnCe,UAAMV,aAASL,qCAApCgD,8LAGY,WAAO3C,8EACvBsY,QAAoCtY,WAAwBuY,EAAK5Y,wCAA7BK,aAASL,qCAAzCqD,wNAG6B,WACxClD,EACAe,EACAb,8EAEOsY,QACLxY,OACAe,OACAb,WACeuY,EAAK5Y,wCAHpBG,eACAe,YACAb,aACAL,qCAJSsD,oOAQoB,WAC/BnD,EACAe,EACAb,8EAEOsY,QACLxY,OACAe,OACAb,WACeuY,EAAK5Y,wCAHpBG,eACAe,YACAb,aACAL,qCAJSwD,8MAQO,WAClBrD,EACAe,EACAb,8EAEOsY,QAA+BtY,OAASa,OAAQf,WAA0ByY,EAAK5Y,wCAAhDK,aAASa,YAAQf,eAAWH,qCAAvDyD,qMAGW,WAAOpD,8EACtBsY,QAAmCtY,WAAwBuY,EAAK5Y,wCAA7BK,aAASL,qCAAxC0D,0LAGA,WAAOxC,EAA8Bb,8EACzCsY,QAAwBzX,OAAQb,WAAwBuY,EAAK5Y,wCAArCkB,YAAQb,aAASL,qCAArC2D,oLAGG,WACdxD,EACAe,EACAb,8EAEOsY,QAA2BxY,OAAWe,OAAQb,WAAwBuY,EAAK5Y,wCAAhDG,eAAWe,YAAQb,aAASL,qCAAnDiD,iMAGW,WACtB9C,EACAE,8EAEOsY,QAAmCxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAAnD4D,4LAGA,WAAOzD,EAAoCY,EAA0BV,8EACzEsY,QAAwBxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAA9C6D,oLAGC,WACZ1D,EACAY,EACAV,8EAEOsY,QAAyBxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAA/C8D,2LAKO,WAClB3D,EACAY,EACAV,8EAEOsY,QAA+BxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAArD+D,4LAGE,WAAO5D,EAAsCE,8EACnDsY,QAA0BxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAA1CiE,kLAGD,WAAO/C,EAA6Bb,8EACvCsY,QAAuBzX,OAAQb,WAAwBuY,EAAK5Y,wCAArCkB,YAAQb,aAASL,qCAApCkE,mMAGmB,WAC9BhD,EACAb,8EAEOsY,QAA2CzX,OAAQb,WAAwBuY,EAAK5Y,wCAArCkB,YAAQb,aAASL,qCAAxDmE,oNAGgB,WAC3BjD,EACAb,8EAEOsY,QAAwCzX,OAAQb,WAAwBuY,EAAK5Y,wCAArCkB,YAAQb,aAASL,qCAArDqE,iMAGA,WAAOtD,EAA0BV,8EACrCsY,QAAwB5X,OAAMV,WAAwBuY,EAAK5Y,wCAAnCe,UAAMV,aAASL,qCAAnCsE,uLAGM,WAAOjE,8EACjBsY,QAA8BtY,WAAwBuY,EAAK5Y,wCAA7BK,aAASL,qCAAnCuE,wLAGG,WAAOxD,EAA6BV,8EAC3CsY,QAA2B5X,OAAMV,WAAwBuY,EAAK5Y,wCAAnCe,UAAMV,aAASL,qCAAtCwE,4LAKQ,WAAOnE,8EACnBsY,QAAgCtY,WAAwBuY,EAAK5Y,wCAA7BK,aAASL,qCAArCyE,8LAGO,WAAOpE,8EAClBsY,QAA+BtY,WAAwBuY,EAAK5Y,wCAA7BK,aAASL,qCAApC2E,6LAGO,WAAOtE,8EAClBsY,QAA+BtY,WAAwBuY,EAAK5Y,wCAA7BK,aAASL,qCAApC0E,wLAKE,WAAOvE,EAAsCE,8EACnDsY,QAA0BxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAA1C4E,qLAGE,WAAOzE,EAAsCE,8EACnDsY,QAA0BxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAA1C6E,2LAGQ,WAAO1E,EAA4CE,8EAC/DsY,QAAgCxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAAhD8E,4LAGG,WACd3E,EACAY,EACAV,8EAEOsY,QAA2BxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAAjDgF,0LAGI,WAAOjE,EAA8BV,8EAC7CsY,QAA4B5X,OAAMV,WAAwBuY,EAAK5Y,wCAAnCe,UAAMV,aAASL,qCAAvCiF,2LAGM,WAAO9E,EAAsCE,8EACvDsY,QAA8BxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAA9CkF,mMAGY,WACvBhE,EACAb,8EAEOsY,QAAoCzX,OAAQb,WAAwBuY,EAAK5Y,wCAArCkB,YAAQb,aAASL,qCAAjDmF,gMAGG,WAAOjE,EAAiCb,8EAC/CsY,QAA2BzX,OAAQb,WAAwBuY,EAAK5Y,wCAArCkB,YAAQb,aAASL,qCAAxCoF,4LAGQ,WAAOlE,EAAsCb,8EACzDsY,QAAgCzX,OAAQb,WAAwBuY,EAAK5Y,wCAArCkB,YAAQb,aAASL,qCAA7CqF,+LAGM,WAAOlF,EAA0CE,8EAC3DsY,QAA8BxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAA9CuF,+LAGQ,WAAOpF,EAA4CE,8EAC/DsY,QAAgCxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAAhDwF,4LAGG,WACdrF,EACAY,EACAV,8EAEOsY,QAA2BxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAAjDyF,0LAGI,WACftF,EACAY,EACAV,8EAEOsY,QAA4BxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAAlD0F,4MAKqB,WAChCvF,EACAE,8EAEOsY,QAA6CxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAA7D2F,6NAGuB,WAAOtF,8EAClCsY,QAA+CtY,WAAwBuY,EAAK5Y,wCAA7BK,aAASL,qCAApD4F,2MAGK,WAChBzF,EACAY,EACAV,8EAEOsY,QAA6BxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAAnD6F,iMAGS,WACpB1F,EACAY,EACAV,8EAEOsY,QAAiCxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAAvD8F,8LAKE,WAAO5E,EAAgCb,8EAC7CsY,QAA0BzX,OAAQb,WAAwBuY,EAAK5Y,wCAArCkB,YAAQb,aAASL,qCAAvCkG,sLAKG,WAAOnF,EAA6BV,8EAC3CsY,QAA2B5X,OAAMV,WAAwBuY,EAAK5Y,wCAAnCe,UAAMV,aAASL,qCAAtCmG,uLAGG,WAAOjF,EAAiCb,8EAC/CsY,QAA2BzX,OAAQb,WAAwBuY,EAAK5Y,wCAArCkB,YAAQb,aAASL,qCAAxCoG,yLAGK,WAAOjG,EAAyCE,8EACzDsY,QAA6BxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAA7CqG,yLAGG,WACdlG,EACAY,EACAV,8EAEOsY,QAA2BxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAAjDsG,2LAKK,WAChBnG,EACAY,EACAV,8EAEOsY,QAA6BxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAAnDuG,4LAGI,WAAOxF,EAA8BV,8EAC7CsY,QAA4B5X,OAAMV,WAAwBuY,EAAK5Y,wCAAnCe,UAAMV,aAASL,qCAAvCwG,sMAGiB,WAC5BrG,EACAE,8EAEOsY,QAAyCxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAAzDyG,uMAGK,WAChBtG,EACAY,EACAV,8EAEOsY,QAA6BxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAAnD0G,2LAGG,WAAOxF,EAAiCb,8EAC/CsY,QAA2BzX,OAAQb,WAAwBuY,EAAK5Y,wCAArCkB,YAAQb,aAASL,qCAAxC8G,0LAGM,WAAO3G,EAA0CE,8EAC3DsY,QAA8BxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAA9C2G,6MAGsB,WACjCxG,EACAE,8EAEOsY,QAA8CxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAA9D4G,kOAG2B,WACtCzG,EACAE,8EAEOsY,QAAmDxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAAnE6G,8MAGE,WACb1G,EACAY,EACAV,8EAEOsY,QAA0BxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAAhD+G,4LAGO,WAClB5G,EACAY,EACAV,8EAEOsY,QAA+BxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAArDgH,8LAGI,WACf7G,EACAY,EACAV,8EAEOsY,QAA4BxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAAlDiH,mMAGY,WACvB9G,EACAY,EACAV,8EAEOsY,QAAoCxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAA1DkH,oMAGK,WAChB/G,EACAY,EACAV,8EAEOsY,QAA6BxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAAnDmH,kMAKU,WAAOpG,EAAoCV,8EACzDsY,QAAkC5X,OAAMV,WAAwBuY,EAAK5Y,wCAAnCe,UAAMV,aAASL,qCAA7CoH,gMAKK,WAAOjH,EAAyCE,8EACzDsY,QAA6BxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAA7CqH,yLAGG,WAAOlH,EAAuCE,8EACrDsY,QAA2BxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAA3CuH,yLAGK,WAChBpH,EACAY,EACAV,8EAEOsY,QAA6BxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAAnDwH,4LAKI,WAAOzG,EAA8BV,8EAC7CsY,QAA4B5X,OAAMV,WAAwBuY,EAAK5Y,wCAAnCe,UAAMV,aAASL,qCAAvCyH,6LAGQ,WAAOpH,8EACnBsY,QAAgCtY,WAAwBuY,EAAK5Y,wCAA7BK,aAASL,qCAArC0H,uLAKA,WAAO3G,EAA0BV,8EACrCsY,QAAwB5X,OAAMV,WAAwBuY,EAAK5Y,wCAAnCe,UAAMV,aAASL,qCAAnC2H,gMAGe,WAC1BxH,EACAY,EACAV,8EAEOsY,QAAuCxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAA7D4H,kNAGgB,WAC3BzH,EACAY,EACAV,8EAEOsY,QAAwCxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAA9D6H,kNAGe,WAC1B1H,EACAE,8EAEOsY,QAAuCxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAAvD8H,kMAGE,WAAO3H,EAAsCE,8EACnDsY,QAA0BxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAA1CgI,iMAGc,WACzB7H,EACAe,EACAb,8EAEOsY,QAAsCxY,OAAWe,OAAQb,WAAwBuY,EAAK5Y,wCAAhDG,eAAWe,YAAQb,aAASL,qCAA9DiI,+MAGc,WACzB9H,EACAe,EACAb,8EAEOsY,QAAsCxY,OAAWe,OAAQb,WAAwBuY,EAAK5Y,wCAAhDG,eAAWe,YAAQb,aAASL,qCAA9DkI,gMAGD,WAAOhH,EAA6Bb,8EACvCsY,QAAuBzX,OAAQb,WAAwBuY,EAAK5Y,wCAArCkB,YAAQb,aAASL,qCAApCmI,gMAGgB,WAC3BhI,EACAY,EACAV,8EAEOsY,QAAwCxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAA9DoI,yMAGM,WAAOjI,EAA0CE,8EAC3DsY,QAA8BxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAA9CqI,uMAGgB,WAC3BlI,EACAE,8EAEOsY,QAAwCxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAAxDsI,+MAGc,WACzBnI,EACAY,EACAV,8EAEOsY,QAAsCxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAA5DuI,yMAGQ,WACnBpI,EACAY,EACAV,8EAEOsY,QAAgCxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAAtDwI,uMAGY,WACvBrI,EACAY,EACAV,8EAEOsY,QAAoCxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAA1DyI,2MAGY,WACvBtI,EACAY,EACAV,8EAEOsY,QAAoCxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAA1D0I,uMAGQ,WACnBvI,EACAY,EACAV,8EAEOsY,QAAgCxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAAtD4I,wMAGa,WACxBzI,EACAY,EACAV,8EAEOsY,QAAqCxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAA3D2I,mMAGG,WACdxI,EACAY,EACAV,8EAEOsY,QAA2BxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAAjD6I,sLAGA,WAAO1I,EAAoCY,EAA0BV,8EACzEsY,QAAwBxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAA9C8I,oLAKC,WAAO/H,EAA2BV,8EACvCsY,QAAyB5X,OAAMV,WAAwBuY,EAAK5Y,wCAAnCe,UAAMV,aAASL,qCAApC+I,kLAGA,WAAO5I,EAAoCE,8EAC/CsY,QAAwBxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAAxCgJ,gLAGD,WAAO9H,EAA6Bb,8EACvCsY,QAAuBzX,OAAQb,WAAwBuY,EAAK5Y,wCAArCkB,YAAQb,aAASL,qCAApCiJ,gLAGA,WAAO9I,EAAoCY,EAA0BV,8EACzEsY,QAAwBxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAA9CkJ,oLAKC,WAAOnI,EAA2BV,8EACvCsY,QAAyB5X,OAAMV,WAAwBuY,EAAK5Y,wCAAnCe,UAAMV,aAASL,qCAApCmJ,mLAGC,WAAOhJ,EAAqCE,8EACjDsY,QAAyBxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAAzCoJ,qLAGG,WAAOjJ,EAAuCE,8EACrDsY,QAA2BxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAA3CqJ,oLAGA,WAAOnI,EAA8Bb,8EACzCsY,QAAwBzX,OAAQb,WAAwBuY,EAAK5Y,wCAArCkB,YAAQb,aAASL,qCAArCsJ,kLAGC,WACZnJ,EACAY,EACAV,8EAEOsY,QAAyBxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAA/CuJ,4LAKQ,WAAOxI,8EACnB4X,QAAgC5X,WAAqB6X,EAAK5Y,wCAA1Be,UAAMf,qCAAlCwJ,8LAGO,WAAOtI,EAAqCb,8EACvDsY,QAA+BzX,OAAQb,WAAwBuY,EAAK5Y,wCAArCkB,YAAQb,aAASL,qCAA5CyJ,gMAGQ,WACnBtJ,EACAY,EACAV,8EAEOsY,QAAgCxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAAtD0J,iMAKM,WAAO3I,EAAgCV,8EACjDsY,QAA8B5X,OAAMV,WAAwBuY,EAAK5Y,wCAAnCe,UAAMV,aAASL,qCAAzC2J,+LAGQ,WACnBxJ,EACAY,EACAV,8EAEOsY,QAAgCxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAAtDgK,+LAGI,WAAO7J,EAAwCE,8EACvDsY,QAA4BxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAA5CiK,6LAGQ,WAAO9J,EAA4CE,8EAC/DsY,QAAgCxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAAhDkK,8LAGK,WAAO7J,8EAChBsY,QAA6BtY,WAAwBuY,EAAK5Y,wCAA7BK,aAASL,qCAAlCmK,qLAGC,WAAOjJ,8EACZyX,QAAyBzX,WAAuB0X,EAAK5Y,wCAA5BkB,YAAQlB,qCAA7BoK,0LAGU,WAAOlJ,8EACrByX,QAAkCzX,WAAuB0X,EAAK5Y,wCAA5BkB,YAAQlB,qCAAtCqK,+LAGM,WACjBlK,EACAY,EACAV,8EAEOsY,QAA8BxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAApDsK,iMAGQ,WACnBnK,EACAY,EACAV,8EAEOsY,QAAgCxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAAtDuK,qMAKU,WAAOrJ,EAAwCb,8EAC7DsY,QAAkCzX,OAAQb,WAAwBuY,EAAK5Y,wCAArCkB,YAAQb,aAASL,qCAA/CyK,0MAGe,WAC1BvJ,EACAb,8EAEOsY,QAAuCzX,OAAQb,WAAwBuY,EAAK5Y,wCAArCkB,YAAQb,aAASL,qCAApD2K,uMAKO,WAAO5J,EAAiCV,8EACnDsY,QAA+B5X,OAAMV,WAAwBuY,EAAK5Y,wCAAnCe,UAAMV,aAASL,qCAA1C4K,8LAGM,WAAO1J,EAAoCb,8EACrDsY,QAA8BzX,OAAQb,WAAwBuY,EAAK5Y,wCAArCkB,YAAQb,aAASL,qCAA3C6K,uMAGgB,WAC3B1K,EACAE,8EAEOsY,QAAwCxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAAxD8K,kMAKC,WAAO/J,EAA2BV,8EACvCsY,QAAyB5X,OAAMV,WAAwBuY,EAAK5Y,wCAAnCe,UAAMV,aAASL,qCAApC+K,oLAKE,WAAOhK,EAA4BV,8EACzCsY,QAA0B5X,OAAMV,WAAwBuY,EAAK5Y,wCAAnCe,UAAMV,aAASL,qCAArCqL,qLAGE,WAAOlL,EAAsCE,8EACnDsY,QAA0BxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAA1CsL,gMAKa,WACxBnL,EACAY,EACAV,8EAEOsY,QAAqCxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAA3DuL,+MAGe,WAC1BrK,EACAb,8EAEOsY,QAAuCzX,OAAQb,WAAwBuY,EAAK5Y,wCAArCkB,YAAQb,aAASL,qCAApDyL,4MAGY,WACvBtL,EACAE,8EAEOsY,QAAoCxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAApD0L,0MAGa,WACxBvL,EACAY,EACAV,8EAEOsY,QAAqCxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAA3D2L,+MAKe,WAC1B5K,EACAV,8EAEOsY,QAAuC5X,OAAMV,WAAwBuY,EAAK5Y,wCAAnCe,UAAMV,aAASL,qCAAlD4L,+MAGe,WAC1BzL,EACAE,8EAEOsY,QAAuCxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAAvD6L,8MAGc,WACzB3K,EACAb,8EAEOsY,QAAsCzX,OAAQb,WAAwBuY,EAAK5Y,wCAArCkB,YAAQb,aAASL,qCAAnD8L,8MAGe,WAC1B3L,EACAY,EACAV,8EAEOsY,QAAuCxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAA7D+L,qNAKmB,WAC9BhL,EACAV,8EAEOsY,QAA2C5X,OAAMV,WAAwBuY,EAAK5Y,wCAAnCe,UAAMV,aAASL,qCAAtDkM,gNAKY,WAAO7L,8EACvBsY,QAAoCtY,WAAwBuY,EAAK5Y,wCAA7BK,aAASL,qCAAzCgM,+MAKoB,WAC/B7L,EACAE,8EAEOsY,QAA4CxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAA5DiM,uMAKE,WAAO/K,EAAgCb,8EAC7CsY,QAA0BzX,OAAQb,WAAwBuY,EAAK5Y,wCAArCkB,YAAQb,aAASL,qCAAvCmM,wLAGK,WAAOhM,EAAyCE,8EACzDsY,QAA6BxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAA7CoM,yLAGG,WACdjM,EACAY,EACAV,8EAEOsY,QAA2BxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAAjDqM,sLAKA,WAAOlM,EAAoCE,8EAC/CsY,QAAwBxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAAxCyM,oLAGG,WAAOtM,EAAuCE,8EACrDsY,QAA2BxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAA3CuM,oLAGA,WAAOrL,EAA8Bb,8EACzCsY,QAAwBzX,OAAQb,WAAwBuY,EAAK5Y,wCAArCkB,YAAQb,aAASL,qCAArCsM,mLAGE,WAAOnM,EAAsCE,8EACnDsY,QAA0BxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAA1C0M,+LAKY,WAAO3L,EAAsCV,8EAC7DsY,QAAoC5X,OAAMV,WAAwBuY,EAAK5Y,wCAAnCe,UAAMV,aAASL,qCAA/C2M,wMAGW,WACtBzL,EACAb,8EAEOsY,QAAmCzX,OAAQb,WAAwBuY,EAAK5Y,wCAArCkB,YAAQb,aAASL,qCAAhD6M,wMAGY,WACvB1M,EACAY,EACAV,8EAEOsY,QAAoCxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAA1D8M,2MAGY,WACvB3M,EACAE,8EAEOsY,QAAoCxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAApD4M,mMAKM,WAAO7L,EAAgCV,8EACjDsY,QAA8B5X,OAAMV,WAAwBuY,EAAK5Y,wCAAnCe,UAAMV,aAASL,qCAAzC+M,4LAGK,WAAO7L,EAAmCb,8EACnDsY,QAA6BzX,OAAQb,WAAwBuY,EAAK5Y,wCAArCkB,YAAQb,aAASL,qCAA1CgN,kMAGY,WACvB7M,EACAE,8EAEOsY,QAAoCxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAApDiN,qMAGQ,WAAO9M,EAA4CE,8EAC/DsY,QAAgCxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAAhDmN,kMAGS,WACpBhN,EACAE,8EAEOsY,QAAiCxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAAjDkN,mMAKS,WAAOhM,EAAuCb,8EAC3DsY,QAAiCzX,OAAQb,WAAwBuY,EAAK5Y,wCAArCkB,YAAQb,aAASL,qCAA9CoN,sMAGY,WACvBlM,EACAb,8EAEOsY,QAAoCzX,OAAQb,WAAwBuY,EAAK5Y,wCAArCkB,YAAQb,aAASL,qCAAjDqN,2MAGc,WAAOlN,8EACzBwY,QAA+BxY,WAA0ByY,EAAK5Y,wCAA/BG,eAAWH,qCAAtCsN,oMAGc,WAAOvM,8EACzB4X,QAAsC5X,WAAqB6X,EAAK5Y,wCAA1Be,UAAMf,qCAAxCuN,8LAKC,WAAOrM,EAA+Bb,8EAC3CsY,QAAyBzX,OAAQb,WAAwBuY,EAAK5Y,wCAArCkB,YAAQb,aAASL,qCAAtCwN,kMAKgB,WAC3BrN,EACAY,EACAV,8EAEOsY,QAAwCxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAA9DyN,mNAGgB,WAC3BtN,EACAY,EACAV,8EAEOsY,QAAwCxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAA9D0N,+MAGY,WACvBvN,EACAE,8EAEOsY,QAAoCxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAApD2N,8MAGiB,WAC5BxN,EACAY,EACAV,8EAEOsY,QAAyCxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAA/D4N,6MAGS,WACpBzN,EACAY,EACAV,8EAEOsY,QAAiCxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAAvD6N,kNAGsB,WACjC1N,EACAE,8EAEOsY,QAA8CxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAA9D8N,iNAGU,WAAO/M,EAAoCV,8EACzDsY,QAAkC5X,OAAMV,WAAwBuY,EAAK5Y,wCAAnCe,UAAMV,aAASL,qCAA7CgO,+MAGoB,WAC/BjN,EACAV,8EAEOsY,QAA4C5X,OAAMV,WAAwBuY,EAAK5Y,wCAAnCe,UAAMV,aAASL,qCAAvD+N,4NAGuB,WAClC5N,EACAE,8EAEOsY,QAA+CxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAA/DkO,0NAGkB,WAC7BnN,EACAV,8EAEOsY,QAA0C5X,OAAMV,WAAwBuY,EAAK5Y,wCAAnCe,UAAMV,aAASL,qCAArDiO,4NAGyB,WACpC9N,EACAY,EACAV,8EAEOsY,QACLxY,OACAY,OACAV,WACeuY,EAAK5Y,wCAHpBG,eACAY,UACAV,aACAL,qCAJSmO,8NAQkB,WAC7BpN,EACAV,8EAEOsY,QACL5X,OACAV,WACeuY,EAAK5Y,wCAFpBe,UACAV,aACAL,qCAHSoO,mNAOgB,WAC3BrN,EACAV,8EAEOsY,QACL5X,OACAV,WACeuY,EAAK5Y,wCAFpBe,UACAV,aACAL,qCAHSqO,uNAOsB,WACjClO,EACAY,EACAV,8EAEOsY,QACLxY,OACAY,OACAV,WACeuY,EAAK5Y,wCAHpBG,eACAY,UACAV,aACAL,qCAJSsO,kNAQS,WAAOvN,EAAmCV,8EACvDsY,QAAiC5X,OAAMV,WAAwBuY,EAAK5Y,wCAAnCe,UAAMV,aAASL,qCAA5CuO,mNAGyB,WACpCpO,EACAE,8EAEOsY,QAAiDxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAAjEwO,mOAGyB,WACpCrO,EACAE,8EAEOsY,QAAiDxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAAjEyO,uNAGa,WACxBtO,EACAE,EACAU,8EAEO4X,QAA8BxY,OAAWE,OAASU,WAAqB6X,EAAK5Y,wCAA9CG,eAAWE,aAASU,UAAMf,qCAApD0O,4MAGmB,WAC9BvO,EACAE,8EAEOsY,QAA2CxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAA3D2O,+NAG2B,WACtCxO,EACAE,8EAEOsY,QAA4CxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAA5D4O,yNAGoB,WAC/BzO,EACAE,8EAEOsY,QAA4CxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAA5D6O,uNAGkB,WAC7B3N,EACAb,8EAEOsY,QAA0CzX,OAAQb,WAAwBuY,EAAK5Y,wCAArCkB,YAAQb,aAASL,qCAAvD+O,+MAGY,WACvB5O,EACAE,8EAEOsY,QAAoCxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAApDgP,+MAGkB,WAC7BjO,EACAV,8EAEOsY,QAA0C5X,OAAMV,WAAwBuY,EAAK5Y,wCAAnCe,UAAMV,aAASL,qCAArDsP,4MAGS,WAAOpO,EAAuCb,8EAC3DsY,QAAiCzX,OAAQb,WAAwBuY,EAAK5Y,wCAArCkB,YAAQb,aAASL,qCAA9C4P,yMAGe,WAC1B1O,EACAb,8EAEOsY,QAAuCzX,OAAQb,WAAwBuY,EAAK5Y,wCAArCkB,YAAQb,aAASL,qCAApD6P,iNAGiB,WAC5B3O,EACAb,8EAEOsY,QAAyCzX,OAAQb,WAAwBuY,EAAK5Y,wCAArCkB,YAAQb,aAASL,qCAAtDwP,2NAGyB,WACpCrP,EACAE,8EAEOsY,QAAiDxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAAjEyP,+NAGqB,WAChCtP,EACAE,8EAEOsY,QAA6CxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAA7D0P,4NAGsB,WACjCvP,EACAE,8EAEOsY,QAA8CxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAA9D2P,+NAGwB,WACnCxP,EACAe,EACAb,8EAEOsY,QACLxY,OACAe,OACAb,WACeuY,EAAK5Y,wCAHpBG,eACAe,YACAb,aACAL,qCAJSmP,+NAQoB,WAC/BhP,EACAE,EACAa,8EAEOyX,QACLxY,OACAe,OACAb,WACeuY,EAAK5Y,wCAHpBG,eACAe,YACAb,aACAL,qCAJSoP,wOAQiC,WAC5CjP,EACAE,8EAEOsY,QACLxY,OACAE,WACeuY,EAAK5Y,wCAFpBG,eACAE,aACAL,qCAHSqP,oPAOkC,WAC7ClP,EACAE,8EAEOsY,QACLxY,OACAE,WACeuY,EAAK5Y,wCAFpBG,eACAE,aACAL,qCAHSiP,sOAOmB,WAC9B9O,EACAE,8EAEOsY,QAA2CxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAA3D8O,yNAGqB,WAChC3O,EACAe,EACAb,8EAEOsY,QACLxY,OACAe,OACAb,WACeuY,EAAK5Y,wCAHpBG,eACAe,YACAb,aACAL,qCAJSuP,mNAQW,WACtBpP,EACAE,8EAEOsY,QAA4BxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAA5C8P,wMAGmB,WAC9B3P,EACAE,8EAEOsY,QAA2CxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAA3D+P,+MAGW,WACtB5P,EACAE,8EAEOsY,QAA4BxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAA5CiQ,uMAGkB,WAC7BlP,EACAV,8EAEOsY,QAA0C5X,OAAMV,WAAwBuY,EAAK5Y,wCAAnCe,UAAMV,aAASL,qCAArDkQ,uNAGoB,WAC/B/P,EACAE,8EAEOsY,QAA4CxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAA5DmQ,yNAGoB,WAC/BhQ,EACAE,8EAEOsY,QAA4CxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAA5DoQ,wNAGmB,WAC9BjQ,EACAE,8EAEOsY,QAA2CxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAA3DqQ,mOAG+B,WAC1ClQ,EACAE,8EAEOsY,QACLxY,OACAE,WACeuY,EAAK5Y,wCAFpBG,eACAE,aACAL,qCAHSsQ,4NAOY,WACvBnQ,EACAY,EACAV,8EAEOsY,QAA6BxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAAnDuQ,kMAGU,WACrBpQ,EACAY,EACAV,8EAEOsY,QAAkCxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAAxDwQ,wNAG2B,WACtCrQ,EACAY,EACAV,8EAEOsY,QAAmDxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAAzEyQ,gOAGkB,WAC7BtQ,EACAY,EACAV,8EAEOsY,QAA0CxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAAhE0Q,2MAKM,WAAO3P,EAAgCV,8EACjDsY,QAA8B5X,OAAMV,WAAwBuY,EAAK5Y,wCAAnCe,UAAMV,aAASL,qCAAzC2Q,8LAKO,WAAOtQ,8EAClBsY,QAA+BtY,WAAwBuY,EAAK5Y,wCAA7BK,aAASL,qCAApC4Q,2LAKK,WAAO1P,EAAmCb,8EACnDsY,QAA6BzX,OAAQb,WAAwBuY,EAAK5Y,wCAArCkB,YAAQb,aAASL,qCAA1C6Q,mMAGa,WACxB3P,EACAb,8EAEOsY,QAAqCzX,OAAQb,WAAwBuY,EAAK5Y,wCAArCkB,YAAQb,aAASL,qCAAlD8Q,6LAKD,WAAO5P,EAA6Bb,8EACvCsY,QAAuBzX,OAAQb,WAAwBuY,EAAK5Y,wCAArCkB,YAAQb,aAASL,qCAApCyR,kLAGE,WAAOtR,EAAsCE,8EACnDsY,QAA0BxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAA1C0R,mLAGA,WAAO3Q,EAA0BV,8EACrCsY,QAAwB5X,OAAMV,WAAwBuY,EAAK5Y,wCAAnCe,UAAMV,aAASL,qCAAnCwR,iLAGA,WAAOrR,EAAoCY,EAA0BV,8EACzEsY,QAAwBxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAA9C2R,oLAGC,WAAOxR,EAAqCE,8EACjDsY,QAAyBxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAAzC4R,8LAKY,WACvBzR,EACAY,EACAV,8EAEOsY,QAAoCxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAA1D+Q,+LAGA,WAAOhQ,EAA0BV,8EACrCsY,QAAwB5X,OAAMV,WAAwBuY,EAAK5Y,wCAAnCe,UAAMV,aAASL,qCAAnCgR,iLAGA,WAAO7Q,EAAoCE,8EAC/CsY,QAAwBxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAAxCiR,mLAGE,WAAO9Q,EAAsCE,8EACnDsY,QAA0BxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAA1CkR,6LAGU,WACrB/Q,EACAE,8EAEOsY,QAAkCxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAAlDmR,0LAGD,WAAOjQ,EAA6Bb,8EACvCsY,QAAuBzX,OAAQb,WAAwBuY,EAAK5Y,wCAArCkB,YAAQb,aAASL,qCAApCoR,uLAGO,WAAOjR,EAA2CE,8EAC7DsY,QAA+BxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAA/CqR,sLAGF,WAAOlR,EAAkCY,EAAwBV,8EACnEsY,QAAsBxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAA5CsR,iLAGA,WAAOnR,EAAoCY,EAA0BV,8EACzEsY,QAAwBxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAA9CuR,2LAKQ,WAAOpR,EAA4CE,8EAC/DsY,QAAgCxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAAhD6R,8LAGK,WAAO9Q,EAA+BV,8EAC/CsY,QAA6B5X,OAAMV,WAAwBuY,EAAK5Y,wCAAnCe,UAAMV,aAASL,qCAAxC8R,wMAGkB,WAC7B3R,EACAY,EACAV,8EAEOsY,QAA0CxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAAhE+R,0NAGqB,WAChC5R,EACAe,EACAb,8EAEOsY,QACLxY,OACAe,OACAb,WACeuY,EAAK5Y,wCAHpBG,eACAe,YACAb,aACAL,qCAJSgS,iOAQyB,WACpC7R,EACAE,8EAEOsY,QAAiDxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAAjEiS,yNAGe,WAC1B9R,EACAY,EACAV,8EAEOsY,QAAuCxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAA7DkS,8kOCr+C2B,CACxC2G,kBACG1G,GAAwB2G,QAAS,cACjC3G,GAAwB4G,YAAa,oBACrC5G,GAAwB6G,aAAc,gBAEzCC,wBACG7G,GAA8B8G,OAAQ,eACtC9G,GAA8B+G,UAAW,gBACzC/G,GAA8BgH,WAAY,yBAC1ChH,GAA8BiH,QAAS,gBACvCjH,GAA8BkH,OAAQ,eACtClH,GAA8BmH,OAAQ,cAEzCC,sBACGnH,GAA4BoH,MAAO,SACnCpH,GAA4BqH,SAAU,iBACtCrH,GAA4BsH,OAAQ,eACpCtH,GAA4BuH,KAAM,aAClCvH,GAA4BwH,aAAc,mBAC1CxH,GAA4ByH,QAAS,oBACrCzH,GAA4B0H,SAAU,UACtC1H,GAA4B2H,iBAAkB,mDCtBd,CACnCC,gBACG3H,GAAiB4H,MAAO,iBACxB5H,GAAiB6H,QAAS,aAC1B7H,GAAiB8H,QAAS,aAE7BC,2BACG7H,GAA4B8H,SAAU,WACtC9H,GAA4B+H,OAAQ,iBACpC/H,GAA4BgI,OAAQ,YACpChI,GAA4BiI,OAAQ,eACpCjI,GAA4BkI,KAAM,oBAErCC,iBACGpI,GAAkBqI,SAAU,mBAC5BrI,GAAkBsI,WAAY,eAC9BtI,GAAkBuI,WAAY,yCCTK,CACtCC,qBACGtI,GAAyBuI,SAAU,WACnCvI,GAAyBwI,iBAAkB,oBAC3CxI,GAAyByI,OAAQ,aAEpCC,mBACGxI,GAAuByI,cAAe,wBACtCzI,GAAuB0I,sBAAuB,+BAC9C1I,GAAuB2I,wBAAyB,yBAChD3I,GAAuB4I,gBAAiB,4BACxC5I,GAAuB6I,eAAgB,6BACvC7I,GAAuB8I,8BAA+B,kDACtD9I,GAAuB+I,qBAAsB,qBAC7C/I,GAAuBgJ,qBAAsB,uCAC7ChJ,GAAuBiJ,eAAgB,oBACvCjJ,GAAuBkJ,gBAAiB,yBACxClJ,GAAuBmJ,kBAAmB,uBAC1CnJ,GAAuBoJ,mBAAoB,+BAC3CpJ,GAAuBqJ,eAAgB,yBACvCrJ,GAAuBsJ,iBAAkB,oBACzCtJ,GAAuBuJ,gBAAiB,8BACxCvJ,GAAuBwJ,yBAA0B,iCACjDxJ,GAAuByJ,4BAA6B,sCACpDzJ,GAAuB0J,iBAAkB,wBACzC1J,GAAuB2J,qCAAsC,2CAC7D3J,GAAuB4J,sCAAuC,4CAC9D5J,GAAuB6J,yBAA0B,iCACjD7J,GAAuB8J,gBAAiB,mBACxC9J,GAAuB+J,kCAAmC,yBAC1D/J,GAAuBgK,mCAAoC,wBAC3DhK,GAAuBiK,kCAAmC,wBAC1DjK,GAAuBkK,2BAA4B,+CACnDlK,GAAuBmK,sBAAuB,2CAC9CnK,GAAuBoK,uBAAwB,0BAC/CpK,GAAuBqK,0BAA2B,gCAElDrK,GAAuBsK,UAAW,uCAErCC,sBACGtK,GAA0BuK,wCAAyC,mCACnEvK,GAA0BwK,aAAc,qBACxCxK,GAA0ByK,mBAAoB,wBAC9CzK,GAA0B0K,cAAe,wBACzC1K,GAA0B2K,YAAa,gBACvC3K,GAA0B4K,iBAAkB,4BAC5C5K,GAA0B6K,YAAa,wBACvC7K,GAA0B8K,qBAAsB,8BAEnDzH,qBACGpD,GAAyB8K,OAAQ,aACjC9K,GAAyB+K,SAAU,gBACnC/K,GAAyBgL,kBAAmB,4BAC5ChL,GAAyBiL,QAAS,eAErCC,oBACGjL,GAAwBkL,QAAS,WACjClL,GAAwBmL,SAAU,aAClCnL,GAAwBoL,WAAY,SACpCpL,GAAwBqL,QAAS,cAEpCC,sBACG1L,GAA0B2L,MAAO,yBACjC3L,GAA0B4L,QAAS,0BACnC5L,GAA0B6L,MAAO,6CCvER,CAC5BC,sBACGzL,GAAgB0L,wBAAyB,wCACzC1L,GAAgB2L,aAAc,0BAC9B3L,GAAgB4L,mBAAoB,4BAEvCC,sBACG5L,GAAgB6L,OAAQ,0BCPE,CAC7B5L,sBACGA,GAAY6L,UAAW,wBACvB7L,GAAY8L,kBAAmB,8BAC/B9L,GAAY+L,eAAgB,oBAC5B/L,GAAYgM,cAAe,sCAC3BhM,GAAYiM,UAAW,kCACvBjM,GAAYkM,SAAU,WACtBlM,GAAYmM,QAAS,wCCRI,CAC5BC,oBACGjM,GAASkM,KAAM,eACflM,GAASmM,IAAK,cACdnM,GAASoM,aAAc,mBAE1BC,2BACGpM,GAAqBqM,YAAa,gBAClCrM,GAAqBsM,SAAU,kCCAF,CAChCC,mBACGtM,GAAiBuM,KAAM,YACvBvM,GAAiBwM,SAAU,aAC3BxM,GAAiByM,MAAO,aACxBzM,GAAiB0M,UAAW,oBAE/BX,oBACGzL,GAAkBqM,QAAS,qBAC3BrM,GAAkBsM,MAAO,qBAE5BvF,iBACGpH,GAAe4M,MAAO,mBACtB5M,GAAe6M,QAAS,iBACxB7M,GAAe8M,QAAS,eACxB9M,GAAe+M,MAAO,SACtB/M,GAAegN,MAAO,UACtBhN,GAAe6L,QAAS,aACxB7L,GAAeiN,UAAW,uBAE7BC,iBACGjN,GAAekN,UAAW,0BAC1BlN,GAAemN,QAAS,WACxBnN,GAAeoN,OAAQ,WACvBpN,GAAeqN,qBAAsB,UACrCrN,GAAesN,eAAgB,sBAC/BtN,GAAeuN,WAAY,4BAC3BvN,GAAewN,YAAa,uBAC5BxN,GAAeyN,oBAAqB,yBACpCzN,GAAe0N,eAAgB,yBAC/B1N,GAAe2N,kBAAmB,6BAClC3N,GAAe4N,gBAAiB,sBAChC5N,GAAe6N,uBAAwB,8BACvC7N,GAAe8N,oBAAqB,yBACpC9N,GAAe+N,aAAc,kBAC7B/N,GAAegO,WAAY,mBAC3BhO,GAAeiO,uBAAwB,gCACvCjO,GAAekO,mBAAoB,2BACnClO,GAAemO,WAAY,YAC3BnO,GAAeoO,YAAa,8BAC5BpO,GAAeqO,MAAO,UACtBrO,GAAe0H,OAAQ,aAE1B4G,qBACGrO,GAAmBsO,iBAAkB,8BACrCtO,GAAmBuO,gBAAiB,gCACpCvO,GAAmBwO,kBAAmB,wCACtCxO,GAAmByO,YAAa,+BAChCzO,GAAmB0O,cAAe,6BAErCC,2BACG1O,GAAyB2O,oBAAqB,wBAC9C3O,GAAyB4O,oBAAqB,4BAC9C5O,GAAyB6O,UAAW,aACpC7O,GAAyB8O,aAAc,YACvC9O,GAAyB+O,mCAAoC,wCAC7D/O,GAAyB4M,MAAO,oBAChC5M,GAAyBgP,iBAAkB,yCAC3ChP,GAAyBiP,eAAgB,mCAE5CC,eACGjP,GAAakP,OAAQ,gBACrBlP,GAAamP,QAAS,cACtBnP,GAAaoP,oBAAqB,SAClCpP,GAAauH,OAAQ,8BCxEO,CAC/B0H,eACG9O,GAAYkP,SAAU,4BACtBlP,GAAYmP,cAAe,sBAC3BnP,GAAYoP,eAAgB,6BAC5BpP,GAAYqP,gBAAiB,0BAC7BrP,GAAYsP,OAAQ,YACpBtP,GAAYuP,UAAW,cACvBvP,GAAYwP,KAAM,SAClBxP,GAAYyP,UAAW,cACvBzP,GAAY0P,WAAY,eACxB1P,GAAY2P,QAAS,YACrB3P,GAAY4P,UAAW,cACvB5P,GAAY6P,eAAgB,mBAC5B7P,GAAY8P,OAAQ,WACpB9P,GAAY+P,UAAW,cACvB/P,GAAYgQ,IAAK,eACjBhQ,GAAYiQ,YAAa,6BACzBjQ,GAAYkQ,UAAW,mCClBM,CAChCpB,eACG7O,GAAakQ,KAAM,aACnBlQ,GAAamQ,MAAO,aACpBnQ,GAAaoQ,YAAa,2BAC1BpQ,GAAaqQ,WAAY,4BAE5BzJ,iBACG3G,GAAeoM,QAAS,4BACxBpM,GAAeqQ,UAAW,0BAC1BrQ,GAAesQ,UAAW,4BAC1BtQ,GAAeuQ,QAAS,aACxBvQ,GAAewQ,YAAa,mBAC5BxQ,GAAeyQ,iBAAkB,iBACjCzQ,GAAe0Q,mBAAoB,wBACnC1Q,GAAe2Q,cAAe,qCAC9B3Q,GAAe4Q,SAAU,6BACzB5Q,GAAe6Q,YAAa,sBAC5B7Q,GAAe8Q,YAAa,gCAC5B9Q,GAAeuO,UAAW,qBAE7BwC,eACG9Q,GAAa+Q,cAAe,kBAC5B/Q,GAAagR,WAAY,eACzBhR,GAAaiR,WAAY,YACzBjR,GAAakR,cAAe,gDCzBS,CACxCJ,eACG5Q,GAAqB+F,MAAO,cAC5B/F,GAAqBiR,WAAY,iBACjCjR,GAAqBkR,OAAQ,SAC7BlR,GAAqBmR,eAAgB,8BACrCnR,GAAqBoR,eAAgB,uBAExCC,kBACGtR,GAAwB+P,KAAM,oBAC9B/P,GAAwBuR,QAAS,6BACjCvR,GAAwBwR,sBAAuB,4BAC/CxR,GAAwByR,kBAAmB,0BAC3CzR,GAAwB0R,iBAAkB,wBAC1C1R,GAAwB2R,qBAAsB,8BAC9C3R,GAAwB4R,oBAAqB,qBAC7C5R,GAAwB6R,mBAAoB,iCAC5C7R,GAAwB8R,oBAAqB,uBAC7C9R,GAAwB+R,YAAa,+BACrC/R,GAAwBgS,eAAgB,qDCnBE,CAC7CvL,iBACGtG,GAA4B8R,UAAW,wBACvC9R,GAA4B+R,cAAe,8BAC3C/R,GAA4BgS,WAAY,uBACxChS,GAA4BiS,OAAQ,qBAEvC1D,eACGtO,GAA0BiS,MAAO,UACjCjS,GAA0BkS,oBAAqB,iDCTjB,CACjCC,yBACGlS,GAAwBmS,OAAQ,iBAChCnS,GAAwBqM,OAAQ,mBAChCrM,GAAwBoS,QAAS,6CCHnCnS,GAASoS,KAAM,sBACfpS,GAASqS,KAAM,yBACfrS,GAASsS,KAAM,UACftS,GAASuS,KAAM,yBACfvS,GAASwS,KAAM,gBACfxS,GAASyS,KAAM,sBACfzS,GAAS0S,KAAM,yBACf1S,GAAS2S,KAAM,iBACf3S,GAAS4S,KAAM,yCCTY,CAC5BzS,6BACGA,GAAmB0S,eAAgB,qDACnC1S,GAAmB2S,gBAAiB,uBAEvC1S,8BACGA,GAAoB2S,mBAAoB,4CACxC3S,GAAoB4S,mBAAoB,4CAE3C/S,2BACGA,GAAiBgT,cAAe,2CAChChT,GAAiB8R,MAAO,UACxB9R,GAAiB+R,oBAAqB,4BACtC/R,GAAiBiT,MAAO,uBACxBjT,GAAiBkT,KAAM,oBACvBlT,GAAiBmT,cAAe,cAChCnT,GAAiBoT,sBAAuB,+CACxCpT,GAAiBqT,WAAY,oBAC7BrT,GAAiBsT,aAAc,iBAC/BtT,GAAiBuT,KAAM,kCACvBvT,GAAiBwT,oBAAqB,yCACtCxT,GAAiByT,uBAAwB,qDACzCzT,GAAiB0T,cAAe,iBAChC1T,GAAiB2T,aAAc,gBAC/B3T,GAAiB4T,oBAAqB,+CACtC5T,GAAiB6T,+BAAgC,mDACjD7T,GAAiB8T,2BAA4B,mCAC7C9T,GAAiB+T,QAAS,6BAC1B/T,GAAiByG,OAAQ,sBAE5BxG,8BACGA,GAAoB+T,aAAc,2DAClC/T,GAAoBgK,aAAc,sCAClChK,GAAoBiK,mBAAoB,uCACxCjK,GAAoB+J,wBAAyB,yCAEhD5J,qBACGA,GAAW6P,mBAAoB,wBAC/B7P,GAAW8P,cAAe,qCAC1B9P,GAAW+P,SAAU,6BACrB/P,GAAWgQ,YAAa,sBACxBhQ,GAAWiQ,YAAa,gCACxBjQ,GAAW0N,UAAW,oBACtB1N,GAAW2P,YAAa,mDC3CgB,CAC3CkE,mBACG5T,GAA4BkT,KAAM,kCAClClT,GAA4BiT,aAAc,iBAC1CjT,GAA4BgT,WAAY,oBACxChT,GAA4B0T,QAAS,6BACrC1T,GAA4BwT,+BAAgC,mDAC5DxT,GAA4BoG,OAAQ,qBACpCpG,GAA4B+S,sBAAuB,+CACnD/S,GAA4BuT,oBAAqB,+CACjDvT,GAA4BmT,oBAAqB,yCACjDnT,GAA4BoT,uBAAwB,qDACpDpT,GAA4BqT,cAAe,iBAC3CrT,GAA4BsT,aAAc,gBAC1CtT,GAA4ByT,2BAA4B,mCACxDzT,GAA4B6S,KAAM,oBAClC7S,GAA4B8S,cAAe,wBAC3C9S,GAA4B4S,MAAO,uBACnC5S,GAA4B2S,cAAe,2CAC3C3S,GAA4B0R,oBAAqB,4BACjD1R,GAA4ByR,MAAO,sCCpBC,CACvCxR,8BACGA,GAAoB8N,OAAQ,gBAC5B9N,GAAoB+N,QAAS,eAEhC9N,kCACGA,GAAwB4L,OAAQ,WAChC5L,GAAwB2T,QAAS,WACjC3T,GAAwB4T,cAAe,qBACvC5T,GAAwB6T,UAAW,iBACnC7T,GAAwB8N,QAAS,cACjC9N,GAAwB8T,UAAW,cACnC9T,GAAwBkG,OAAQ,6BCZP,CAC5BgC,sBACGjI,GAAgBuG,eAAgB,oBAChCvG,GAAgBwG,8BAA+B,yCAC/CxG,GAAgBsG,gBAAiB,mBACjCtG,GAAgBoG,sBAAuB,sBACvCpG,GAAgBqG,wBAAyB,eACzCrG,GAAgB4G,gBAAiB,yBACjC5G,GAAgB8G,mBAAoB,+BACpC9G,GAAgB+G,eAAgB,yBAChC/G,GAAgB0G,qBAAsB,uCACtC1G,GAAgB2G,eAAgB,oBAChC3G,GAAgBkH,yBAA0B,iCAC1ClH,GAAgBmH,4BAA6B,6BAC7CnH,GAAgBoH,iBAAkB,eAClCpH,GAAgBqH,qCAAsC,kCACtDrH,GAAgBsH,sCAAuC,mCACvDtH,GAAgBuH,yBAA0B,wBAC1CvH,GAAgBwH,gBAAiB,mBACjCxH,GAAgByH,kCAAmC,gBACnDzH,GAAgB0H,mCAAoC,gBACpD1H,GAAgB2H,kCAAmC,gBACnD3H,GAAgB4H,2BAA4B,uCAC5C5H,GAAgB6H,sBAAuB,mCACvC7H,GAAgB8H,uBAAwB,0BACxC9H,GAAgB+H,0BAA2B,gCAE3C/H,GAAgBgI,UAAW,iEC3BQ,CACtC8L,qBACG7T,GAAyB8T,WAAY,aACrC9T,GAAyB+T,kBAAmB,cAE/CP,mBACGvT,GAAuB+T,KAAM,aAC7B/T,GAAuBgU,QAAS,YAChChU,GAAuBiU,OAAQ,aAC/BjU,GAAuBkU,YAAa,2CCTJ,CACnCzG,eACGxN,GAAgBkU,QAAS,YACzBlU,GAAgBmU,QAAS,YACzBnU,GAAgBoU,QAAS,YACzBpU,GAAgBqU,MAAO,2BCLE,CAC5B7G,eACGvN,GAASqU,OAAQ,iBACjBrU,GAASsU,OAAQ,iBACjBtU,GAASuU,OAAQ,WACjBvU,GAASwU,UAAW,eAEvBnB,mBACGpT,GAAamS,cAAe,8CAC5BnS,GAAawU,MAAO,UACpBxU,GAAakR,oBAAqB,qDCVD,CACpC5D,eACGrN,GAAiBwU,MAAO,cACxBxU,GAAiByU,UAAW,6CCHY,CAC3CvJ,iBACG/K,GAA0BuU,UAAW,YACrCvU,GAA0BwU,iBAAkB,iBAC5CxU,GAA0ByU,sBAAuB,2CACjDzU,GAA0B0U,SAAU,yCCLC,CACxCxH,eACGhN,GAAqBiN,OAAQ,gBAC7BjN,GAAqBkN,QAAS,eAEjCuH,oBACGxU,GAA0BkU,MAAO,cACjClU,GAA0ByU,YAAa,2CCPR,CAClC3P,iBACG7E,GAAiByU,SAAU,2CAC3BzU,GAAiB0U,SAAU,oBAC3B1U,GAAiB2U,gBAAiB,4CAClC3U,GAAiB4U,UAAW,+BAC5B5U,GAAiB6U,iBAAkB,yBACnC7U,GAAiB8U,MAAO,6BACxB9U,GAAiB+U,mBAAoB,qBACrC/U,GAAiBgV,sBAAuB,wBACxChV,GAAiBiV,SAAU,sBAC3BjV,GAAiB0O,YAAa,sBAEjCwG,qBACGjV,GAAqBkV,QAAS,eAC9BlV,GAAqBmV,UAAW,mBAChCnV,GAAqBoV,MAAO,UAC5BpV,GAAqB0D,MAAO,oCCLD,CAC9BmJ,eACG3M,GAAWmV,eAAgB,cAC3BnV,GAAWoV,SAAU,iBACrBpV,GAAWoP,OAAQ,UAEtBiG,yBACGpV,GAAqBuD,MAAO,iBAC5BvD,GAAqB+U,QAAS,eAC9B/U,GAAqBgV,UAAW,mBAChChV,GAAqBiV,MAAO,UAC5BjV,GAAqBqV,eAAgB,sBACrCrV,GAAqBsV,gBAAiB,uBAEzC5R,cACGzD,GAAUsD,MAAO,SACjBtD,GAAUsV,WAAY,gBACtBtV,GAAUuV,QAAS,gBACnBvV,GAAUwV,UAAW,cACrBxV,GAAUyV,YAAa,iBAE1BC,oBACGzV,GAAgB0V,WAAY,cAC5B1V,GAAgBiP,OAAQ,SACxBjP,GAAgB2V,SAAU,aAC1B3V,GAAgB4V,MAAO,gBACvB5V,GAAgB6V,QAAS,cAE5BC,oBACG7V,GAAgB8V,SAAU,gBAC1B9V,GAAgB+V,WAAY,mBAE/BC,wBACG/V,GAAoBgW,KAAM,SAC1BhW,GAAoBiW,KAAM,sCAC1BjW,GAAoBkW,KAAM,8CAC1BlW,GAAoBmW,KAAM,qDAC1BnW,GAAoBoW,MAAO,0BAC3BpW,GAAoBqW,QAAS,iBAC7BrW,GAAoBsW,eAAgB,mBAEvCC,iBACGtW,GAAa2D,MAAO,YACpB3D,GAAauW,YAAa,iCAC1BvW,GAAawW,OAAQ,WACrBxW,GAAayW,OAAQ,YAExBnT,sBACGrD,GAAkBiD,MAAO,SACzBjD,GAAkBiV,WAAY,gBAC9BjV,GAAkBmV,UAAW,cAC7BnV,GAAkBoV,YAAa,iBAElCqB,oBACGxW,GAAgBgD,MAAO,iBACvBhD,GAAgByW,MAAO,2BACvBzW,GAAgBuV,MAAO,2BAE1BmB,mBACGzW,GAAe+C,MAAO,SACtB/C,GAAe0W,UAAW,mBAC1B1W,GAAe2W,QAAS,YACxB3W,GAAe4W,KAAM,sCACrB5W,GAAegD,SAAU,kBAE5B6T,qBACG5W,GAAiB6W,QAAS,cAC1B7W,GAAiB8W,MAAO,aACxB9W,GAAiB+W,MAAO,8CCxEW,CACtChF,mBACG9R,GAAuB+W,aAAc,iBACrC/W,GAAuBgX,YAAa,kBACpChX,GAAuBiX,MAAO,cAC9BjX,GAAuBkX,MAAO,YAC9BlX,GAAuBmX,KAAM,WAC7BnX,GAAuBoX,KAAM,cAEhCC,2BACGpX,GAA+B4C,MAAO,SACtC5C,GAA+BqX,MAAO,eACtCrX,GAA+BuJ,QAAS,mBACxCvJ,GAA+BsX,MAAO,YAEzCxT,iBACG7D,GAAqBsX,YAAa,+BAClCtX,GAAqBuX,SAAU,+BAC/BvX,GAAqBsJ,QAAS,4BAC9BtJ,GAAqBuN,UAAW,0BAChCvN,GAAqBwN,UAAW,2BAChCxN,GAAqByN,QAAS,uBAC9BzN,GAAqB0N,YAAa,yBAClC1N,GAAqB2N,iBAAkB,iBACvC3N,GAAqB6N,cAAe,qCACpC7N,GAAqB4N,mBAAoB,wBACzC5N,GAAqB8N,SAAU,6BAC/B9N,GAAqB+N,YAAa,sBAClC/N,GAAqBgO,YAAa,gCAClChO,GAAqByL,UAAW,qBAEnCK,eACG5L,GAAmBiN,KAAM,aACzBjN,GAAmBkN,MAAO,aAC1BlN,GAAmBsX,UAAW,0BAEjCC,qBACGtX,GAAyBuX,QAAS,0BAClCvX,GAAyBiN,MAAO,2BAEnCuK,0BACGvX,GAA8BwX,oBAAqB,8BACnDxX,GAA8ByX,kBAAmB,6BACjDzX,GAA8B0X,kBAAmB,mCACjD1X,GAA8B2X,aAAc,oBAC5C3X,GAA8B4X,aAAc,yCAC5C5X,GAA8BgE,OAAQ,YAGtChE,GAA8B6X,oBAAqB,oCACnD7X,GAA8B8X,eAAgB,8CAC9C9X,GAA8B+X,kBAAmB,8CACjD/X,GAA8BgY,WAAY,qDAC1ChY,GAA8BiY,gBAAiB,gCAC/CjY,GAA8BkY,WAAY,mBAE7CC,iBACGlY,GAAqBmY,KAAM,SAC3BnY,GAAqBoY,iBAAkB,kBACvCpY,GAAqBqY,cAAe,kBACpCrY,GAAqBsY,kBAAmB,sBACxCtY,GAAqBuY,iBAAkB,qBACvCvY,GAAqBwY,WAAY,eACjCxY,GAAqB0K,MAAO,UAC5B1K,GAAqB+D,OAAQ,+CCxEc,CAC9C0H,eACGxL,GAA2BwY,SAAU,iBACrCxY,GAA2ByY,MAAO,eAClCzY,GAA2B0Y,UAAW,aACtC1Y,GAA2B2Y,MAAO,YAClC3Y,GAA2B4Y,MAAO,YAClC5Y,GAA2B6Y,UAAW,cACtC7Y,GAA2B8Y,oBAAqB,2BAChD9Y,GAA2B+Y,UAAW,cACtC/Y,GAA2BgZ,WAAY,gBACvChZ,GAA2BiZ,aAAc,0BACzCjZ,GAA2BuW,aAAc,yBACzCvW,GAA2BkZ,cAAe,mBAC1ClZ,GAA2BmZ,kBAAmB,6BAC9CnZ,GAA2BoZ,iBAAkB,6BAC7CpZ,GAA2BqZ,iBAAkB,wBAC7CrZ,GAA2BsZ,qBAAsB,gCACjDtZ,GAA2BuZ,qBAAsB,4BACjDvZ,GAA2BwZ,qBAAsB,2BACjDxZ,GAA2ByZ,aAAc,uDCpBS,CACrDnI,mBACGrR,GAAsCyZ,cAAe,2BACrDzZ,GAAsC0Z,aAAc,qBACpD1Z,GAAsC2Z,WAAY,yBAClD3Z,GAAsC4Y,UAAW,4BACjD5Y,GAAsC4Z,IAAK,iBAC3C5Z,GAAsC6D,OAAQ,kBAC9C7D,GAAsC6Z,sBAAuB,iCAC7D7Z,GAAsC8Z,wBAAyB,mCAC/D9Z,GAAsC+Z,gBAAiB,2CACvD/Z,GAAsCkP,MAAO,UAC7ClP,GAAsCoQ,cAAe,8CACrDpQ,GAAsCmP,oBAAqB,4BAC3DnP,GAAsCqQ,MAAO,yCCdnB,CAC7B9E,eACGrL,GAAU8Z,wBAAyB,4BACnC9Z,GAAUgC,OAAQ,aAClBhC,GAAU+Z,SAAU,iBACpB/Z,GAAUga,UAAW,WACrBha,GAAU8N,OAAQ,YAClB9N,GAAUia,eAAgB,iCCPD,CAC5BC,qBACG/Z,GAAega,QAAS,aACxBha,GAAeqI,MAAO,cAEzB1F,2BACG1C,GAAqB2C,SAAU,WAC/B3C,GAAqB4C,OAAQ,iBAC7B5C,GAAqB6C,OAAQ,YAC7B7C,GAAqB8C,OAAQ,eAC7B9C,GAAqB+C,KAAM,oBAE9BC,iBACGlD,GAAWka,YAAa,cACxBla,GAAWma,UAAW,eACtBna,GAAW2H,QAAS,8BCFK,CAC5ByS,wBACGja,GAAkBka,KAAM,UAE3BC,sBACGxc,GAAiBwU,MAAO,cACxBxU,GAAiByU,UAAW,cAE/BK,oBACG/R,GAAc0Z,KAAM,gBACpB1Z,GAAcyR,MAAO,cACrBzR,GAAc2Z,MAAO,aACrB3Z,GAAc4Z,MAAO,cACrB5Z,GAAc6Z,YAAa,8BAE9BC,0BACGpa,GAAoBgL,SAAU,4BAC9BhL,GAAoBiL,cAAe,sBACnCjL,GAAoBkL,eAAgB,6BACpClL,GAAoBmL,gBAAiB,0BACrCnL,GAAoB4L,OAAQ,WAC5B5L,GAAoBoL,OAAQ,YAC5BpL,GAAoByL,QAAS,YAC7BzL,GAAoBqa,KAAM,SAC1Bra,GAAoBsa,UAAW,cAC/Bta,GAAoB6L,UAAW,cAC/B7L,GAAoBua,UAAW,cAC/Bva,GAAoBqL,UAAW,cAC/BrL,GAAoBwa,UAAW,cAC/Bxa,GAAoBya,IAAK,eACzBza,GAAoB2L,eAAgB,mBACpC3L,GAAoBwL,WAAY,eAChCxL,GAAoB+L,YAAa,8BAEpC1E,oBACGxH,GAAciG,QAAS,cACvBjG,GAAc6a,cAAe,iBAC7B7a,GAAc8F,OAAQ,mBACtB9F,GAAc8a,SAAU,kBACxB9a,GAAc+J,YAAa,gCAE9BgR,iBACG9a,GAAW+a,QAAS,aACpB/a,GAAWgb,MAAO,cAErBC,gBACGhb,GAAUmG,WAAY,0BACtBnG,GAAUib,YAAa,gCACvBjb,GAAUkb,aAAc,yBACxBlb,GAAUoG,QAAS,aACnBpG,GAAUmb,WAAY,sBAEzB/Y,iBACGlC,GAAWkb,WAAY,aACvBlb,GAAWgI,QAAS,YACpBhI,GAAWmb,YAAa,gBACxBnb,GAAWob,WAAY,gBAE1BC,eACGpb,GAASqb,MAAO,kBAChBrb,GAASsb,WAAY,eACrBtb,GAASub,YAAa,iBACtBvb,GAASkS,SAAU,YACnBlS,GAASiG,QAAS,aAClBjG,GAASwb,QAAS,eAClBxb,GAASsQ,QAAS,4BAClBtQ,GAASyb,UAAW,gCACpBzb,GAAS0b,WAAY,yBACrB1b,GAAS2b,cAAe,cACxB3b,GAAS4b,OAAQ,mBACjB5b,GAAS6b,WAAY,iBACrB7b,GAASyQ,QAAS,WAClBzQ,GAAS8b,YAAa,mBACtB9b,GAAS+b,SAAU,UACnB/b,GAASgc,aAAc,iCACvBhc,GAASic,iBAAkB,qBAC3Bjc,GAASkc,iBAAkB,eAC3Blc,GAASmc,qBAAsB,qBAC/Bnc,GAASgG,WAAY,0BACrBhG,GAASoc,aAAc,kBACvBpc,GAASqc,uBAAwB,+BACjCrc,GAASsc,aAAc,0BACvBtc,GAASuc,aAAc,kBACvBvc,GAASwc,QAAS,kBAClBxc,GAASyc,IAAK,QACdzc,GAAS0c,6BAA8B,UACvC1c,GAAS2c,8BAA+B,UACxC3c,GAAS4c,6BAA8B,UACvC5c,GAAS6c,sBAAuB,gCAChC7c,GAAS8c,iBAAkB,6BAE9BC,oBACG9c,GAAc+c,OAAQ,YACtB/c,GAAcgd,OAAQ,6BACtBhd,GAAcid,WAAY,uBAE7BC,sBACGjd,GAAgBkd,kBAAmB,4BACnCld,GAAgBmd,eAAgB,sBAChCnd,GAAgBod,yBAA0B,wBAC1Cpd,GAAgBqd,uBAAwB,2BACxCrd,GAAgBsd,oBAAqB,+BACrCtd,GAAgBud,cAAe,uBAC/Bvd,GAAgBwd,SAAU,iBAC1Bxd,GAAgByd,cAAe,0BAC/Bzd,GAAgB0d,mBAAoB,2BAEvCC,4BACG1d,GAAsBkX,iBAAkB,kBACxClX,GAAsB2d,gBAAiB,oBACvC3d,GAAsB4d,gBAAiB,sBACvC5d,GAAsB6d,gBAAiB,sBACvC7d,GAAsB8d,YAAa,kBACnC9d,GAAsB+d,oBAAqB,uBAC3C/d,GAAsBsX,WAAY,eAClCtX,GAAsBge,MAAO,UAC7Bhe,GAAsBie,UAAW,iBACjCje,GAAsBke,SAAU,aAChCle,GAAsB6C,OAAQ,kCCnIA,CACjC0H,eACGtK,GAAc0Z,KAAM,gBACpB1Z,GAAcyR,MAAO,cACrBzR,GAAc2Z,MAAO,aACrB3Z,GAAc4Z,MAAO,cACrB5Z,GAAc6Z,YAAa,orHCsBhBqE,cAAuBx2B,eAC9BC,EACJa,KAAK,oBAFqEC,KAE5C,CAC7Bf,mBAH2C,+BAI3CK,WAAWC,OAAQ,0CAA4C,8BAJgBD,SAK/EE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKg2B,OAASh2B,EAAKg2B,OAASh2B,EAAKA,UAGlG7E,MAAK,SAAC+E,UAA2BA,YAC3B,SAACnI,SACAA,cCpBIk+B,cACd12B,eAIOC,EACJa,KAAK,wBAJRC,KAIqC,CACjCf,mBANM,+BAONK,WAAWC,OAAQ,0CAA4C,8BALnED,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKg2B,OAASh2B,EAAKg2B,OAASh2B,EAAKA,UAGlG7E,MAAK,SAAC+E,UAA8BA,YAC9B,SAACnI,SACAA,cClBIm+B,cACd32B,eAGOC,EACJgB,6BAHHd,UAGwCC,GAAM,CAC1CJ,mBALM,+BAMNK,QAAS,CAAEC,OAAQ,4BACnBC,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKg2B,OAASh2B,EAAKg2B,OAASh2B,EAAKA,UAGlG7E,MAAK,SAAC+E,UAAgCA,YAChC,SAACnI,SACAA,cCXIo+B,cACd52B,eAKOC,EACJC,+BALHC,UAK0CC,KAJ1CW,KAIsD,CAClDf,mBAPM,+BAQNK,WAAWC,OAAQ,0CAA4C,8BALnED,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKg2B,OAASh2B,EAAKg2B,OAASh2B,EAAKA,UAGlG7E,MAAK,SAAC+E,UAA8BA,YAC9B,SAACnI,SACAA,cCTIq+B,cACd72B,QAEAkB,IAAAA,cAGOjB,EACJgB,yBALHd,UAKoCC,GAAM,CACtCJ,mBAPM,+BAQNK,WAAWC,OAAQ,8BALvBD,SAMIa,OAAAA,EACAC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,QAAS8C,WAAW,KACpF7D,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UACKA,EAAKg2B,OAAeh2B,EAAKg2B,OAEtB,CACLh2B,KAAMA,EAAKA,KACXq2B,SAAUr2B,EAAKq2B,eAKtBl7B,MAAK,SAAC+E,UAA6BA,YAC7B,SAACnI,SACAA,cCvBIu+B,cACd/2B,QAEAkB,IAAAA,cAGOjB,EACJgB,iCALHd,UAK4CC,GAAM,CAC9CJ,mBAPM,+BAQNK,WAAWC,OAAQ,8BALvBD,SAMIa,OAAAA,EACAC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,QAAS8C,WAAW,KACpF7D,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UACKA,EAAKg2B,OAAeh2B,EAAKg2B,OAEtB,CACLh2B,UAAWA,EAAKA,MAAMiB,KAAMjB,EAAKA,KAAKiB,OACtCo1B,SAAUr2B,EAAKq2B,eAKtBl7B,MAAK,SAAC+E,UAA2CA,YAC3C,SAACnI,SACAA,cCzBIw+B,cAAuBh3B,eAC9BC,EACJgB,IAAI,kBAAmB,CACtBjB,mBAH2C,+BAI3CkB,SAJyEA,OAKzEC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,QAAS8C,WAAW,KACpF/D,WAAWC,OAAQ,8BAN8DD,SAOjFE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,MACKA,EAAKg2B,OAAQ,OAAOh2B,EAAKg2B,WAEvBl1B,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,GAChBD,EAAKC,EAAOrB,IAAMqB,EAClBF,EAAI3E,KAAK6E,EAAOrB,OAGX,CAAEmB,IAAAA,EAAKC,KAAAA,EAAMs1B,SAAUr2B,EAAKq2B,SAAUp1B,KAAMjB,EAAKiB,WAI7D9F,MAAK,SAAC+E,UAA2BA,YAC3B,SAACnI,SACAA,cC1BIy+B,cACdj3B,eAIOC,EACJgB,IAAI,0BAA2B,CAC9BjB,mBANM,+BAONkB,SANJA,OAOIC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,QAAS8C,WAAW,KACpF/D,WAAWC,OAAQ,8BAPvBD,SAQIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,MACKA,EAAKg2B,OAAQ,OAAOh2B,EAAKg2B,WAEvBl1B,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,GAChBD,EAAKC,EAAOrB,IAAMqB,EAClBF,EAAI3E,KAAK6E,EAAOrB,OAGX,CAAEmB,IAAAA,EAAKC,KAAAA,EAAME,KAAMjB,EAAKiB,WAIpC9F,MAAK,SAAC+E,UAAkCA,YAClC,SAACnI,SACAA,cChDI0+B,cAAsBl3B,eAC7BC,EACJgB,IAAI,kBAAmB,CACtBjB,mBAH0C,+BAI1CK,QAAS,CAAEC,OAAQ,4BACnBC,4BACMN,EAAMO,SAASD,mBACnB,SAACE,MACKA,EAAKg2B,OAAQ,OAAOh2B,EAAKg2B,WAEvBl1B,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,GAChBD,EAAKC,EAAOrB,IAAMqB,EAClBF,EAAI3E,KAAK6E,EAAOrB,OAGX,CAAEmB,IAAAA,EAAKC,KAAAA,QAInB5F,MAAK,SAAC+E,UAA0BA,YAC1B,SAACnI,SACAA,cCxBI2+B,cAA2Bn3B,eAClCC,EACJgB,IAAI,wBAAyB,CAC5BjB,mBAH+C,+BAI/CK,QAAS,CAAEC,OAAQ,4BACnBC,4BACMN,EAAMO,SAASD,mBACnB,SAACE,MACKA,EAAKg2B,OAAQ,OAAOh2B,EAAKg2B,WAEvBl1B,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,GAChBD,EAAKC,EAAOrB,IAAMqB,EAClBF,EAAI3E,KAAK6E,EAAOrB,OAGX,CAAEmB,IAAAA,EAAKC,KAAAA,QAInB5F,MAAK,SAAC+E,UAA+BA,YAC/B,SAACnI,SACAA,cCJI4+B,cAAsBp3B,eAC7BC,EACJa,KAAK,mBAFoEC,KAE5C,CAC5Bf,mBAH0C,+BAI1CK,WAAWC,OAAQ,0CAA4C,8BAJeD,SAK9EE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKg2B,OAASh2B,EAAKg2B,OAASh2B,EAAKA,UAGlG7E,MAAK,SAAC+E,UAA0BA,YAC1B,SAACnI,SACAA,cC5BI6+B,cACdr3B,eAIOC,EACJa,KAAK,mCAJRC,KAIgD,CAC5Cf,mBANM,+BAONK,WAAWC,OAAQ,0CAA4C,8BALnED,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKg2B,OAASh2B,EAAKg2B,OAASh2B,EAAKA,UAGlG7E,MAAK,SAAC+E,UAA8CA,YAC9C,SAACnI,SACAA,cCVI8+B,cACdt3B,eAIOC,EACJa,KAAK,yBAJRC,KAIsC,CAClCf,mBANM,+BAONK,WAAWC,OAAQ,0CAA4C,8BALnED,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKg2B,OAASh2B,EAAKg2B,OAASh2B,EAAKA,UAGlG7E,MAAK,SAAC+E,UAA+BA,YAC/B,SAACnI,SACAA,cCtBI++B,cACdv3B,eAIOC,EACJa,KAAK,kCAJRC,KAI+C,CAC3Cf,mBANM,+BAONK,WAAWC,OAAQ,0CAA4C,8BALnED,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKg2B,OAASh2B,EAAKg2B,OAASh2B,EAAKA,UAGlG7E,MAAK,SAAC+E,UAAuCA,YACvC,SAACnI,SACAA,cCjBIg/B,cACdx3B,eAIOC,mCAHPE,UAI4CC,GAAM,CAC9CJ,mBANM,+BAONK,WAAWC,OAAQ,0CAA4C,8BALnED,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,gBAA6DA,GAAAA,EAAMg2B,OAASh2B,EAAKg2B,OAAS,UAG9F76B,MAAK,SAAC+E,UAA+BA,YAC/B,SAACnI,SACAA,cCiFIi/B,cACdz3B,QAAAA,aAAU,+BACVkB,IAAAA,OACAb,IAAAA,QACAq3B,IAAAA,QAEQv2B,SAAqBu2B,EAAAA,EAAW,IAAhCv2B,oBAE8B,oBAAlCA,SAAAA,EAAkBG,cAA8Bq2B,MAAMC,cAAQ12B,SAAAA,EAAQkC,eAClE,IAAI7J,MACR,kJAIG0G,EACJgB,IAAI,iBAAkB,CACrBjB,QAAAA,EACAkB,OAAAA,EACAC,iBAAkB,SAAAD,gBAChBE,EAAGC,UAAUH,EAAQ,CACnBI,mBAAaH,SAAAA,EAAkBG,cAAe,QAC9C8C,yBAAWjD,SAAAA,EAAkBiD,iBAEjC/D,WAAWC,OAAQ,4BAA+BD,GAClDE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,MACKA,EAAKg2B,OAAQ,OAAOh2B,EAAKg2B,WAEvBl1B,EAAyB,GACzBC,EAA2B,UAEjCf,EAAKA,KAAKvF,SAAQ,SAAAuG,GAChBD,EAAKC,EAAOrB,IAAMqB,EAClBF,EAAI3E,KAAK6E,EAAOrB,OAGX,CAAEmB,IAAAA,EAAKC,KAAAA,EAAMs1B,SAAUr2B,EAAKq2B,SAAUp1B,KAAMjB,EAAKiB,WAI7D9F,MAAK,SAAC+E,UAA0BA,YAC1B,SAACnI,SACAA,clDnEIq/B,cACd73B,QAEAkB,IAAAA,cAGOjB,EACJgB,wBALHd,UAKmCC,GAAM,CACrCJ,mBAPM,+BAQNK,WAAWC,OAAQ,8BALvBD,SAMIa,OAAAA,EACAC,iBAAkB,SAAAD,UAAUE,EAAGC,UAAUH,EAAQ,CAAEI,YAAa,QAAS8C,WAAW,KACpF7D,4BACMN,EAAMO,SAASD,mBACnB,SAACE,kBACKA,EAAKg2B,OAAeh2B,EAAKg2B,OAEtB,CACLh2B,UACKA,EAAKA,MACRiB,UACKjB,EAAKA,KAAKiB,MACbo2B,qBAAar3B,EAAKA,KAAKiB,KAAKo2B,eAAe,GAC3CC,sBAAct3B,EAAKA,KAAKiB,KAAKq2B,gBAAgB,OAGjDjB,SAAUr2B,EAAKq2B,eAKtBl7B,MAAK,SAAC+E,UAA4BA,YAC5B,SAACnI,SACAA,cCxEIw/B,cACdh4B,eAKOC,EACJC,0BALHC,UAKqCC,KAJrCW,KAIiD,CAC7Cf,mBAPM,+BAQNK,WAAWC,OAAQ,0CAA4C,8BALnED,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,kBACKA,EAAKg2B,OAAeh2B,EAAKg2B,YAGxBh2B,EAAKA,MACRiB,UACKjB,EAAKA,KAAKiB,MACbo2B,qBAAar3B,EAAKA,KAAKiB,KAAKo2B,eAAe,GAC3CC,sBAAct3B,EAAKA,KAAKiB,KAAKq2B,gBAAgB,YAMtDn8B,MAAK,SAAC+E,UAA0BA,YAC1B,SAACnI,SACAA,ckD3DIy/B,cACdj4B,eAKOC,EACJC,0CALHC,UAKqDC,KAJrDW,KAIiE,CAC7Df,mBAPM,+BAQNK,WAAWC,OAAQ,0CAA4C,8BALnED,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKg2B,OAASh2B,EAAKg2B,OAASh2B,EAAKA,UAGlG7E,MAAK,SAAC+E,UAA8CA,YAC9C,SAACnI,SACAA,cCXI0/B,cACdl4B,eAKOC,EACJC,gCALHC,UAK2CC,KAJ3CW,KAIuD,CACnDf,mBAPM,+BAQNK,WAAWC,OAAQ,0CAA4C,8BALnED,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKg2B,OAASh2B,EAAKg2B,OAASh2B,EAAKA,UAGlG7E,MAAK,SAAC+E,UAA+BA,YAC/B,SAACnI,SACAA,cCvBI2/B,cACdn4B,eAKOC,EACJC,yCALHC,UAKoDC,KAJpDW,KAIgE,CAC5Df,mBAPM,+BAQNK,WAAWC,OAAQ,0CAA4C,8BALnED,SAMIE,4BACMN,EAAMO,SAASD,mBACnB,SAACE,UAA6DA,EAAKg2B,OAASh2B,EAAKg2B,OAASh2B,EAAKA,UAGlG7E,MAAK,SAAC+E,UAAuCA,YACvC,SAACnI,SACAA,MrDtBZ,SAAYigB,GACVA,oBACAA,iCACAA,2BACAA,wBACAA,qCALF,CAAYA,KAAAA,QChBZ,SAAYC,GACVA,oBACAA,iCACAA,2BACAA,wBACAA,qCALF,CAAYA,KAAAA,YqDHAtG,GASAC,GCTA+lB,GCAAniB,GAMAoiB,GAKAC,GAOApiB,GAOAqiB,GAMAC,GAMAC,GAQAC,GAKA/hB,GAMAgiB,GAIAniB,GAOAL,GAQAyiB,GAWAtiB,GAUAuiB,GAUAxiB,GAKAE,GAOAuiB,GAQApiB,GAQAN,GAQA2iB,GAcAtiB,GAMAuiB,GAKAC,GCvKAC,GCAAC,2uBJAZ,SAAY/mB,GACVA,gBACAA,sBACAA,wBACAA,kBACAA,gBACAA,gBANF,CAAYA,KAAAA,QASZ,SAAYC,GACVA,cACAA,oBACAA,gBACAA,YACAA,4BACAA,kBANF,CAAYA,KAAAA,QCTZ,SAAY+lB,GACVA,YACAA,cAFF,CAAYA,KAAAA,QCAZ,SAAYniB,GACVA,iCACAA,qBACAA,gBAHF,CAAYA,KAAAA,QAMZ,SAAYoiB,GACVA,cACAA,4BAFF,CAAYA,KAAAA,QAKZ,SAAYC,GACVA,8BACAA,YACAA,YACAA,sCAJF,CAAYA,KAAAA,QAOZ,SAAYpiB,GACVA,cACAA,kBACAA,sBACAA,cAJF,CAAYA,KAAAA,QAOZ,SAAYqiB,GACVA,cACAA,iCACAA,mCAHF,CAAYA,KAAAA,QAMZ,SAAYC,GACVA,oBACAA,wBACAA,qBAHF,CAAYA,KAAAA,QAMZ,SAAYC,GACVA,cACAA,4BACAA,kBACAA,0BACAA,cALF,CAAYA,KAAAA,QAQZ,SAAYC,GACVA,cACAA,wBAFF,CAAYA,KAAAA,QAKZ,SAAY/hB,GACVA,kBACAA,cACAA,cAHF,CAAYA,KAAAA,QAMZ,SAAYgiB,GACVA,sBADF,CAAYA,KAAAA,QAIZ,SAAYniB,GACVA,cACAA,wBACAA,sBACAA,0BAJF,CAAYA,KAAAA,QAOZ,SAAYL,GACVA,cACAA,wBACAA,kBACAA,sBACAA,0BALF,CAAYA,KAAAA,QAQZ,SAAYyiB,GACVA,cACAA,oBACAA,gBACAA,YACAA,4BACAA,kBACAA,oBACAA,oCARF,CAAYA,KAAAA,QAWZ,SAAYtiB,GACVA,YACAA,YACAA,YACAA,YACAA,cACAA,kBACAA,gCAPF,CAAYA,KAAAA,QAUZ,SAAYuiB,GACVA,4BACAA,8BACAA,0BACAA,oBACAA,cACAA,8BACAA,oBAPF,CAAYA,KAAAA,QAUZ,SAAYxiB,GACVA,oBACAA,wBAFF,CAAYA,KAAAA,QAKZ,SAAYE,GACVA,cACAA,0BACAA,gBACAA,gBAJF,CAAYA,KAAAA,QAOZ,SAAYuiB,GACVA,cACAA,oBACAA,cACAA,cACAA,kBALF,CAAYA,KAAAA,QAQZ,SAAYpiB,GACVA,cACAA,sBACAA,kBACAA,YACAA,oBALF,CAAYA,KAAAA,QAQZ,SAAYN,GACVA,wBACAA,gBACAA,oBACAA,cACAA,kBALF,CAAYA,KAAAA,QAQZ,SAAY2iB,GACVA,gBACAA,kBACAA,cACAA,qCACAA,2CACAA,2BACAA,yBACAA,yBACAA,mCACAA,kBACAA,sBAXF,CAAYA,KAAAA,QAcZ,SAAYtiB,GACVA,cACAA,cACAA,cAHF,CAAYA,KAAAA,QAMZ,SAAYuiB,GACVA,kBACAA,wBAFF,CAAYA,KAAAA,QAKZ,SAAYC,GACVA,YACAA,YAFF,CAAYA,KAAAA,QCvKZ,SAAYC,GACVA,gBACAA,cAFF,CAAYA,KAAAA,QCAZ,SAAYC,GACVA,YACAA,cAFF,CAAYA,KAAAA,iHCIV,SAAoBn5B,2BAAAA,gDAIJ,WAAOe,EAA6BV,8EAC3CsY,QAA2B5X,OAAMV,WAAwBuY,EAAK5Y,wCAAnCe,UAAMV,aAASL,qCAAtCw2B,0LAKM,WAAOz1B,EAAgCV,8EACjDsY,QAA8B5X,OAAMV,WAAwBuY,EAAK5Y,wCAAnCe,UAAMV,aAASL,qCAAzC02B,+LAGQ,WAAOv2B,8EACnBwY,QAAgCxY,WAA0ByY,EAAK5Y,wCAA/BG,eAAWH,qCAAvC22B,6LAGM,WACjBx2B,EACAY,EACAV,8EAEOsY,QAA8BxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAApD42B,8LAKK,WAChBz2B,EACAe,EACAb,8EAEOsY,QAA6BxY,OAAWe,OAAQb,WAAwBuY,EAAK5Y,wCAAhDG,eAAWe,YAAQb,aAASL,qCAArD62B,2LAGG,WAAO31B,EAAiCb,8EAC/CsY,QAA2BzX,OAAQb,WAAwBuY,EAAK5Y,wCAArCkB,YAAQb,aAASL,qCAAxCg3B,uMAGmB,WAC9B72B,EACAe,EACAb,8EAEOsY,QAA2CxY,OAAWe,OAAQb,WAAwBuY,EAAK5Y,wCAAhDG,eAAWe,YAAQb,aAASL,qCAAnE+2B,gNAKU,WAAO71B,EAAwCb,8EAC7DsY,QAAkCzX,OAAQb,WAAwBuY,EAAK5Y,wCAArCkB,YAAQb,aAASL,qCAA/Ci3B,4KAKE,wFACNte,YAAyCC,EAAK5Y,wCAApBA,qCAAtBk3B,iHAKO,wFACXve,YAA8CC,EAAK5Y,wCAApBA,qCAA3Bm3B,kIAKE,WAAOp2B,EAA4BV,8EACzCsY,QAA0B5X,OAAMV,WAAwBuY,EAAK5Y,wCAAnCe,UAAMV,aAASL,qCAArCo3B,yMAGsB,WACjCr2B,EACAV,8EAEOsY,QAA8C5X,OAAMV,WAAwBuY,EAAK5Y,wCAAnCe,UAAMV,aAASL,qCAAzDq3B,8MAGO,WAAOt2B,EAAiCV,8EACnDsY,QAA+B5X,OAAMV,WAAwBuY,EAAK5Y,wCAAnCe,UAAMV,aAASL,qCAA1Cs3B,uMAGe,WAC1Bv2B,EACAV,8EAEOsY,QAAuC5X,OAAMV,WAAwBuY,EAAK5Y,wCAAnCe,UAAMV,aAASL,qCAAlDu3B,uMAGO,WAAOp3B,EAA2CE,8EAC7DsY,QAA+BxY,OAAWE,WAAwBuY,EAAK5Y,wCAAxCG,eAAWE,aAASL,qCAA/Cw3B,0LAGE,WACbt2B,EACAb,EACAq3B,8EAEO/e,QAA0BzX,OAAQb,OAASq3B,WAAwB9e,EAAK5Y,wCAA9CkB,YAAQb,aAASq3B,aAAS13B,qCAAhDy3B,yLAGI,WACft3B,EACAe,EACAb,8EAEOsY,QAA4BxY,OAAWe,OAAQb,WAAwBuY,EAAK5Y,wCAAhDG,eAAWe,YAAQb,aAASL,qCAApD63B,yLAGE,WACb13B,EACAY,EACAV,8EAEOsY,QAA0BxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAAhDg4B,2MAGsB,WACjC73B,EACAY,EACAV,8EAEOsY,QAA8CxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAApEi4B,gNAGO,WAClB93B,EACAY,EACAV,8EAEOsY,QAA+BxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAArDk4B,yMAGe,WAC1B/3B,EACAY,EACAV,8EAEOsY,QAAuCxY,OAAWY,OAAMV,WAAwBuY,EAAK5Y,wCAA9CG,eAAWY,UAAMV,aAASL,qCAA7Dm4B,g4BC7I2B,CACxClf,wBACG7G,GAA8B8G,OAAQ,eACtC9G,GAA8B+G,UAAW,gBACzC/G,GAA8BgH,WAAY,yBAC1ChH,GAA8BiH,QAAS,gBACvCjH,GAA8BkH,OAAQ,eACtClH,GAA8BmH,OAAQ,cAEzCC,sBACGnH,GAA4BoH,MAAO,SACnCpH,GAA4BqH,SAAU,iBACtCrH,GAA4BsH,OAAQ,eACpCtH,GAA4BuH,KAAM,aAClCvH,GAA4BwH,aAAc,mBAC1CxH,GAA4ByH,QAAS,qBAExCsf,OAAQ,GACH,cACA,cACA,cACA,iBACA,aACA,SACA,UACA,QACA,aACC,WACA,YACA,UACA,WACA,UACA,YACA,WACA,cACA,UACA,WACA,eACA,WACA,YACA,WACA,eACA,WACA,aACA,qBACA,WACA,WACA,aACA,iBACA,kBACA,aACA,aACA,cACA,cACA,cACA,eACA,UACA,aACA,YACA,YACA,aACA,oBACA,eACA,gBACA,kBACA,eACA,eACA,aACA,YACA,aACA,iBACA,cACA,cACA,gBACA,SACA,SACA,UACA,UACA,aACA,SACA,UACA,QACA,SACA,YACA,YACA,cACA,cACA,SACA,SACA,iBACA,eACA,eACA,QACA,YACA,mBACA,YACA,YACA,YACA,WACA,WACA,cACA,WACA,WACA,WACA,aACA,WACA,WACA,kBACA,aACA,aACA,aACA,cACA,cACA,aACA,iBACA,aACA,cACC,YACA,eACA,YACA,YACA,YACA,YACA,YACA,cACA,YACA,eACA,mBACA,gCACA,kBACA,mBACA,kBACA,kBACA,mBACA,iBACA,kBACA,kBACA,iBACA,kBACA,kBACA,eACA,iBACA,eACA,eACA,mBACA,cACA,aACA,YACA,YACA,YACA,YACA,kBACA,YACA,aACA,mBACA,aACA,YACA,iBACA,iBACA,aACA,aACA,YACA,eACA,iBACA,YACA,sBACA,YACA,eACA,qBACA,qBACA,kBACA,qBACA,mBACA,eACA,mBACA,mBACA,mBACA,eACA,eACA,qBACA,wBACA,eACA,YACA,WACA,cACA,cACA,aACA,YACA,mBACA,iBACA,eACA,SACA,YACA,QACA,UACA,uBACA,UACA,WACA,WACA,cACA,cACA,YACA,WACA,UACA,WACA,aACA,UACA,aACA,aACA,aACA,cACA,YACA,aACA,YACA,cACA,cACA,cACA,cACA,aACA,cACA,aACA,iBACA,YACA,eACA,aACA,aACA,YACA,WACA,aACA,YACA,YACA,eACA,eACA,YACA,aACA,WACA,WACA,YACA,aACA,aACA,YACA,cACA,cACA,YACA,aACA,cACA,SACA,aACA,aACA,UACA,aACA,cACA,YACA,oBACA,mBACA,WACA,cACA,cACA,cACA,iBACA,aACA,mBACA,iBACA,qBACA,WACA,SACA,eACA,iBACA,YACA,cACA,WACA,aACA,UACA,cACA,WACA,aACA,eACA,WACA,YACA,YACA,aACA,UACA,SACA,YACA,sBACA,aACA,kBACA,YACA,YACA,cACA,cACA,aACA,WACA,YACA,WACA,cACA,WACA,YACA,WACA,YACA,UACA,WACA,gBACA,WACA,aACA,aACA,WACA,aACA,WACA,WACA,YACA,sBACA,UACA,YACA,WACA,WACA,cACA,WACA,cACA,YACA,mBACA,aACA,kBACA,YACA,cACA,YACA,YACA,cACA,mBACA,mBACA,eACA,gBACA,cACA,aACA,gBACA,wBACA,aACA,WACA,cACA,YACA,YACA,YACA,YACA,WACA,WACA,gBACA,YACA,YACA,WACA,gBACA,YACA,YACA,WACA,WACA,WACA,cACA,iBACA,WACA,WACA,WACA,gBACA,cACA,YACA,YACA,YACA,WACA,gBACA,YACA,YACA,SACA,aACA,aACA,aACA,YACA,aACA,WACA,YACA,eACA,YACA,YACA,YACA,aACA,iBACA,qBACA,WACA,cACA,YACA,SACA,eACA,YACA,iBACA,cACA,yCCxYqC,CAC5CC,iBACGjB,GAA2BkB,KAAM,eACjClB,GAA2BmB,MAAO,+BCqBP,CAC9B3W,eACG3M,GAAWmV,eAAgB,cAC3BnV,GAAWoV,SAAU,iBACrBpV,GAAWoP,OAAQ,UAEtBmU,mBACGnB,GAAeoB,MAAO,uBACtBpB,GAAeqB,aAAc,mBAEhCC,0BACGrB,GAAsBsB,cAAe,qBACrCtB,GAAsBuB,KAAM,SAC5BvB,GAAsBwB,KAAM,SAC5BxB,GAAsByB,iBAAkB,4CAE3CzO,yBACGpV,GAAqBuD,MAAO,iBAC5BvD,GAAqB+U,QAAS,eAC9B/U,GAAqBgV,UAAW,mBAChChV,GAAqBiV,MAAO,WAE/B6O,gCACGzB,GAA4B9e,MAAO,iBACnC8e,GAA4BhN,eAAgB,sBAC5CgN,GAA4B/M,gBAAiB,uBAEhDyO,mBACGzB,GAAe0B,SAAU,aACzB1B,GAAe2B,WAAY,cAC3B3B,GAAe4B,SAAU,oBAE5BC,sBACG5B,GAAkBtY,MAAO,cACzBsY,GAAkBzf,aAAc,eAChCyf,GAAkB3f,QAAS,cAC3B2f,GAAkB1f,YAAa,oBAC/B0f,GAAkB6B,MAAO,eAE5BC,mBACG7B,GAAexe,MAAO,cACtBwe,GAAetT,WAAY,kBAE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"}
1
+ {"version":3,"file":"api-queries.cjs.production.min.js","sources":["../node_modules/regenerator-runtime/runtime.js","../src/clients/v1/api/appointment/cancelAppointment.ts","../src/clients/v1/api/appointment/completeAppointment.ts","../src/clients/v1/api/appointment/createAppointment.ts","../src/clients/v1/api/appointment/findAppointments.ts","../src/clients/v1/api/appointment/updateAppointment.ts","../src/clients/v1/api/auth/getPassword/index.ts","../src/clients/v1/api/auth/checkPassword/index.ts","../src/clients/v1/api/auth/checkToken/index.ts","../src/clients/v1/api/availableFunds/createAvailableFunds/index.ts","../src/clients/v1/api/availableFunds/findAvailableFunds/index.ts","../src/clients/v1/api/availableFunds/updateAvailableFunds/index.ts","../src/clients/v1/api/availableFunds/deleteAvailableFunds/index.ts","../src/clients/v1/api/bill/createBill/index.ts","../src/clients/v1/api/bill/findBills/index.ts","../src/clients/v1/api/bonusCalculation/findBonusCalculations/index.ts","../src/clients/v1/api/buyer/callbackBuyer/index.ts","../src/clients/v1/api/buyer/closeBuyer/index.ts","../src/clients/v1/api/buyer/countBuyers/index.ts","../src/clients/v1/api/buyer/createBuyer/index.ts","../src/clients/v1/api/buyer/findBuyerById/index.ts","../src/clients/v1/api/buyer/findBuyerClosingReason/index.ts","../src/clients/v1/api/buyer/findBuyerRejectionReasonStatisticBySrId/index.ts","../src/clients/v1/api/buyer/findBuyerStatusStatisticBySrId/index.ts","../src/clients/v1/api/buyer/findBuyerStatuses/index.ts","../src/clients/v1/api/buyer/findBuyerUniquePhones/index.ts","../src/clients/v1/api/buyer/findBuyers/index.ts","../src/clients/v1/api/buyer/resetBuyerStatusTimer/index.ts","../src/clients/v1/api/buyer/shareBuyer/index.ts","../src/clients/v1/api/buyer/updateBuyer/index.ts","../src/clients/v1/api/call/createCallComment/index.ts","../src/clients/v1/api/call/findCallById/index.ts","../src/clients/v1/api/call/findCalls/index.ts","../src/clients/v1/api/call/findFirstSuccessOutgoingCalls/index.ts","../src/clients/v1/api/call/findQualityAssessmentCalls/index.ts","../src/clients/v1/api/call/markupCall/index.ts","../src/clients/v1/api/call/removeProxyPhone/index.ts","../src/clients/v1/api/call/setProxyPhone/index.ts","../src/clients/v1/api/callCenter/finishOperatorWork/index.ts","../src/clients/v1/api/callCenter/getOperatorStatus/index.ts","../src/clients/v1/api/callCenter/startOperatorWork/index.ts","../src/clients/v1/api/callTask/bookCallTask.ts","../src/clients/v1/api/callTask/callCallTask.ts","../src/clients/v1/api/callTask/callCallTaskExpert.ts","../src/clients/v1/api/callTask/closeCallTask.ts","../src/clients/v1/api/callTask/createCallTask.ts","../src/clients/v1/api/callTask/findCallTaskById.ts","../src/clients/v1/api/callTask/findCallTaskSourceInfo.ts","../src/clients/v1/api/callTask/findCallTasks.ts","../src/clients/v1/api/callTask/findCallTasksCount.ts","../src/clients/v1/api/callTask/joinCallTaskCall.ts","../src/clients/v1/api/callTask/returnCallTaskCall.ts","../src/clients/v1/api/callTask/shiftCallTask.ts","../src/clients/v1/api/callTask/updateCallTask.ts","../src/clients/v1/api/checklist/findChecklistByServiceRequestId.ts","../src/clients/v1/api/checklist/findChecklistQuestionDictionaries.ts","../src/clients/v1/api/checklist/updateChecklist.ts","../src/clients/v1/api/checklist/updateChecklistTask.ts","../src/clients/v1/api/comment/findComments/index.ts","../src/clients/v1/api/company/createCompany/index.ts","../src/clients/v1/api/company/findCompanies/index.ts","../src/clients/v1/api/company/findCompanyById/index.ts","../src/clients/v1/api/company/updateCompany/index.ts","../src/clients/v1/api/contract/approveContract/index.ts","../src/clients/v1/api/contract/createContract/index.ts","../src/clients/v1/api/contract/createContractLegalDocument/index.ts","../src/clients/v1/api/contract/declineContract/index.ts","../src/clients/v1/api/contract/findContractById/index.ts","../src/clients/v1/api/contract/findContractDocumentByContractId/index.ts","../src/clients/v1/api/contract/findContractLegalDocumentByContractId/index.ts","../src/clients/v1/api/contract/findContracts/index.ts","../src/clients/v1/api/contract/signContract/index.ts","../src/clients/v1/api/contract/terminateContract/index.ts","../src/clients/v1/api/contract/updateContract/index.ts","../src/clients/v1/api/contract/updateContractDocument/index.ts","../src/clients/v1/api/contract/upgradeContract/index.ts","../src/clients/v1/api/cottageComplex/createCottageComplex/index.ts","../src/clients/v1/api/crossSale/deleteCrossSale/index.ts","../src/clients/v1/api/crossSale/findCrossSales/index.ts","../src/clients/v1/api/crossSale/updateCrossSale/index.ts","../src/clients/v1/api/currency/getRubleAmount.ts","../src/clients/v1/api/currency/getCurrencyCourses.ts","../src/clients/v1/api/deal/createDeal/index.ts","../src/clients/v1/api/deal/createDealCategorizedFile/index.ts","../src/clients/v1/api/deal/createDealInvestPrepayment/index.ts","../src/clients/v1/api/deal/deleteDealCategorizedFile/index.ts","../src/clients/v1/api/deal/findDealById/index.ts","../src/clients/v1/api/deal/findDealCategorizedFiles/index.ts","../src/clients/v1/api/deal/findDealExpertStatistics/index.ts","../src/clients/v1/api/deal/findDeals/index.ts","../src/clients/v1/api/deal/setDealClassificationScore/index.ts","../src/clients/v1/api/deal/setDealDoneState/index.ts","../src/clients/v1/api/deal/setDealFinanceConfirmState/index.ts","../src/clients/v1/api/deal/setDealGuaranteedPayment/index.ts","../src/clients/v1/api/deal/setDealPrepaidDate/index.ts","../src/clients/v1/api/deal/setDealPrepaymentState/index.ts","../src/clients/v1/api/deal/setDealRegisteredState/index.ts","../src/clients/v1/api/deal/setDealSignPlannedState/index.ts","../src/clients/v1/api/deal/setDealSignedState/index.ts","../src/clients/v1/api/deal/terminateDeal/index.ts","../src/clients/v1/api/deal/updateDeal/index.ts","../src/clients/v1/api/debt/createDebts.ts","../src/clients/v1/api/debt/deleteDebt.ts","../src/clients/v1/api/debt/findDebts.ts","../src/clients/v1/api/debt/updateDebt.ts","../src/clients/v1/api/event/createEvent/index.ts","../src/clients/v1/api/event/deleteEvent/index.ts","../src/clients/v1/api/event/findEventById/index.ts","../src/clients/v1/api/event/findEvents/index.ts","../src/clients/v1/api/event/updateEvent/index.ts","../src/clients/v1/api/eventRequest/createEventRequest/index.ts","../src/clients/v1/api/eventRequest/findEventRequests/index.ts","../src/clients/v1/api/eventRequest/updateEventRequest/index.tsx","../src/clients/v1/api/expert/createExpertCase/index.ts","../src/clients/v1/api/expert/createExpertReview/index.ts","../src/clients/v1/api/expert/findExpertById/index.ts","../src/clients/v1/api/expert/findExpertCaseById/index.ts","../src/clients/v1/api/expert/findExpertCases/index.ts","../src/clients/v1/api/expert/findExperts/index.ts","../src/clients/v1/api/expert/findPublishedExperts/index.ts","../src/clients/v1/api/expert/updateExpertCase/index.ts","../src/clients/v1/api/expert/updateExpertReview/index.ts","../src/clients/v1/api/expertCategory/findExpertCategories.ts","../src/clients/v1/api/expertCategory/findExpertCategoryHistory.ts","../src/clients/v1/api/expertGrade/createExpertGrade.ts","../src/clients/v1/api/expertGrade/findExpertGrades.ts","../src/clients/v1/api/expertGrade/findExpertGradesByExpertId.ts","../src/clients/v1/api/file/uploadFiles/index.ts","../src/clients/v1/api/income/createIncome/index.ts","../src/clients/v1/api/income/deleteIncome/index.ts","../src/clients/v1/api/internalCrossSale/createInternalCrossSale/index.ts","../src/clients/v1/api/internalCrossSale/findInternalCrossSaleInfo/index.ts","../src/clients/v1/api/internalCrossSale/findInternalCrossSales/index.ts","../src/clients/v1/api/internalCrossSale/updateInternalCrossSale/index.ts","../src/clients/v1/api/leadAssignmentBlock/createLeadAssignmentBlock.ts","../src/clients/v1/api/leadAssignmentBlock/deleteLeadAssignmentBlock.ts","../src/clients/v1/api/leadAssignmentBlock/findLeadAssignmentBlocks.ts","../src/clients/v1/api/leadAssignmentBlock/updateLeadAssignmentBlock.ts","../src/clients/v1/api/motivation/findMotivationGlossary/index.ts","../src/clients/v1/api/motivation/findMotivationStatusByExpertId/index.ts","../src/clients/v1/api/motivation/сalculateMotivationCommission/index.ts","../src/clients/v1/api/payslip/findPayslips.ts","../src/clients/v1/api/payslip/findPayslipById.ts","../src/clients/v1/api/payslip/updatePayslip.ts","../src/clients/v1/api/phone/findPhones.ts","../src/clients/v1/api/phone/callbackPhone.ts","../src/clients/v1/api/phone/blockPhone.ts","../src/clients/v1/api/phone/unblockPhone.ts","../src/clients/v1/api/phoneBookContact/createPhoneBookContact/index.ts","../src/clients/v1/api/phoneBookContact/deletePhoneBookContact/index.ts","../src/clients/v1/api/phoneBookContact/findPhoneBookContacts/index.ts","../src/clients/v1/api/phoneBookContact/updatePhoneBookContact/index.ts","../src/clients/v1/api/photoOrder/createPhotoOrder/index.ts","../src/clients/v1/api/photoOrder/findPhotoOrders/index.ts","../src/clients/v1/api/photoOrder/sendPhotoOrderFeedback/index.ts","../src/clients/v1/api/photoOrder/terminatePhotoOrder/index.ts","../src/clients/v1/api/photoOrder/completePhotoOrder/index.ts","../src/clients/v1/api/realty/findRealtyDuplicate/index.ts","../src/clients/v1/api/realty/findRealtyPriceHistory/index.ts","../src/clients/v1/api/realty/findSimilarRealtyIdsById/index.ts","../src/clients/v1/api/realty/subscribeToRealtyUpdates/index.ts","../src/clients/v1/api/scoring/findScoring/index.tsx","../src/clients/v1/api/serviceRequest/addServiceRequestAssistant.ts","../src/clients/v1/api/serviceRequest/approveCloseServiceRequest.ts","../src/clients/v1/api/serviceRequest/callbackServiceRequest.ts","../src/clients/v1/api/serviceRequest/changeServiceRequestCompany.ts","../src/clients/v1/api/serviceRequest/closeServiceRequest.ts","../src/clients/v1/api/serviceRequest/completeServiceRequestModeration.ts","../src/clients/v1/api/serviceRequest/createInvestSellServiceRequest.ts","../src/clients/v1/api/serviceRequest/createServiceRequest.ts","../src/clients/v1/api/serviceRequest/createServiceRequestActivity.ts","../src/clients/v1/api/serviceRequest/createServiceRequestByCrossSaleId.ts","../src/clients/v1/api/serviceRequest/createServiceRequestCategorizedFile.ts","../src/clients/v1/api/serviceRequest/createServiceRequestFeedback.ts","../src/clients/v1/api/serviceRequest/createServiceRequestReview.ts","../src/clients/v1/api/serviceRequest/createServiceRequestSellerReport.ts","../src/clients/v1/api/serviceRequest/deferServiceRequest.ts","../src/clients/v1/api/serviceRequest/deleteServiceRequestCategorizedFile.ts","../src/clients/v1/api/serviceRequest/deleteServiceRequestReportForSeller.ts","../src/clients/v1/api/serviceRequest/depublishServiceRequest.ts","../src/clients/v1/api/serviceRequest/disapproveCloseServiceRequest.ts","../src/clients/v1/api/serviceRequest/doneServiceRequestVerification.ts","../src/clients/v1/api/serviceRequest/failServiceRequestVerification.ts","../src/clients/v1/api/serviceRequest/findPriceHistoryAnalyticsById.ts","../src/clients/v1/api/serviceRequest/findServiceRequestActivities.ts","../src/clients/v1/api/serviceRequest/findServiceRequestById.ts","../src/clients/v1/api/serviceRequest/findServiceRequestCategorizedFileCreatedDate.ts","../src/clients/v1/api/serviceRequest/findServiceRequestCategorizedFiles.ts","../src/clients/v1/api/serviceRequest/findServiceRequestCategoryById.ts","../src/clients/v1/api/serviceRequest/findServiceRequestDiscountEfficiencyPercent.ts","../src/clients/v1/api/serviceRequest/findServiceRequestDuplicates.ts","../src/clients/v1/api/serviceRequest/findServiceRequestSellerReports.ts","../src/clients/v1/api/serviceRequest/findServiceRequestShortInfo.ts","../src/clients/v1/api/serviceRequest/findServiceRequestShortInfoByDealId.ts","../src/clients/v1/api/serviceRequest/findServiceRequestShortInfoById.ts","../src/clients/v1/api/serviceRequest/findServiceRequestStatisticsById.ts","../src/clients/v1/api/serviceRequest/findServiceRequests.ts","../src/clients/v1/api/serviceRequest/findServiceRequestsKanban.ts","../src/clients/v1/api/serviceRequest/publishServiceRequest.ts","../src/clients/v1/api/serviceRequest/removeServiceRequestAssistant.ts","../src/clients/v1/api/serviceRequest/restoreServiceRequest.ts","../src/clients/v1/api/serviceRequest/returnDeferredServiceRequest.ts","../src/clients/v1/api/serviceRequest/sendServiceRequestToModeration.ts","../src/clients/v1/api/serviceRequest/sendServiceRequestVerification.ts","../src/clients/v1/api/serviceRequest/startServiceRequestModeration.ts","../src/clients/v1/api/serviceRequest/startServiceRequestModerationForOldRealty.ts","../src/clients/v1/api/serviceRequest/transferServiceRequest.ts","../src/clients/v1/api/serviceRequest/updateServiceRequest.ts","../src/clients/v1/api/serviceRequest/updateServiceRequestPersonalAssistant.ts","../src/clients/v1/api/serviceRequest/updateServiceRequestPlanDraw.ts","../src/clients/v1/api/slack/createCianRating/index.ts","../src/clients/v1/api/soldStatistic/findSoldStatistic/index.ts","../src/clients/v1/api/stats/findMarkupCalls/index.ts","../src/clients/v1/api/stats/findMarkupBySourceCalls/index.ts","../src/clients/v1/api/user/assignSubordinateUsers/index.ts","../src/clients/v1/api/user/createUser/index.ts","../src/clients/v1/api/user/deleteUser/index.tsx","../src/clients/v1/api/user/findUserById/index.ts","../src/clients/v1/api/user/findUserPasswordById/index.ts","../src/clients/v1/api/user/findUsers/index.ts","../src/clients/v1/api/user/findUserTokenById/index.ts","../src/clients/v1/api/user/fireUser/index.ts","../src/clients/v1/api/user/updateUser/index.ts","../src/clients/v1/api/task/createTask/index.ts","../src/clients/v1/api/task/findTasks/index.ts","../src/clients/v1/api/task/findTaskById/index.ts","../src/clients/v1/api/task/updateTask/index.ts","../src/clients/v1/api/task/resolveTask/index.ts","../src/clients/v1/api/valuation/actualizeValuation/index.ts","../src/clients/v1/api/valuation/createValuation/index.ts","../src/clients/v1/api/valuation/createValuationRealtyComment/index.ts","../src/clients/v1/api/valuation/findValuationByServiceRequestId/index.ts","../src/clients/v1/api/valuation/findValuationNewsByServiceRequestId/index.ts","../src/clients/v1/api/valuation/updateValuationNewsStatus/index.ts","../src/clients/v1/types/AddressBTIParams.ts","../src/clients/v1/types/Appointment.ts","../src/clients/v1/types/AvailableFunds.ts","../src/clients/v1/types/Bill.ts","../src/clients/v1/types/Buyer.ts","../src/clients/v1/types/Call.ts","../src/clients/v1/types/CallTask.ts","../src/clients/v1/types/Checklist.ts","../src/clients/v1/types/Contact.ts","../src/clients/v1/types/Contract.ts","../src/clients/v1/types/ContractDocument.ts","../src/clients/v1/types/ContractLegalDocument.ts","../src/clients/v1/types/CrossSale.ts","../src/clients/v1/types/Currency.ts","../src/clients/v1/types/Deal.ts","../src/clients/v1/types/DealCategorizedFile.ts","../src/clients/v1/types/DealParticipant.ts","../src/clients/v1/types/Debt.ts","../src/clients/v1/types/ExpertCategory.ts","../src/clients/v1/types/ExpertGrade.ts","../src/clients/v1/types/File.ts","../src/clients/v1/types/GalleryImage.ts","../src/clients/v1/types/Image.ts","../src/clients/v1/types/InternalCrossSale.ts","../src/clients/v1/types/LeadAssignmentBlock.ts","../src/clients/v1/types/Motivation.ts","../src/clients/v1/types/PhoneBookContact.ts","../src/clients/v1/types/PhotoOrder.ts","../src/clients/v1/types/Realty.ts","../src/clients/v1/types/ServiceRequest.ts","../src/clients/v1/types/ServiceRequestActivity.ts","../src/clients/v1/types/ServiceRequestCategorizedFile.ts","../src/clients/v1/types/ServiceRequestFeedback.ts","../src/clients/v1/types/Shape.ts","../src/clients/v1/types/SoldStatistic.ts","../src/clients/v1/types/Task.ts","../src/clients/v1/types/User.ts","../src/clients/v1/types/UserPhone.ts","../src/clients/v1/types/ValuationNews.ts","../src/clients/v2/api/realty/findRealtyById/index.ts","../src/clients/v2/api/realty/updateRealty/index.ts","../src/clients/v1/index.ts","../src/clients/v1/dictionaries/AddressBTIParams.ts","../src/clients/v1/dictionaries/Appointment.ts","../src/clients/v1/dictionaries/AvailableFunds.ts","../src/clients/v1/dictionaries/Bill.ts","../src/clients/v1/dictionaries/Buyer.ts","../src/clients/v1/dictionaries/Call.ts","../src/clients/v1/dictionaries/CallTask.ts","../src/clients/v1/dictionaries/Contact.ts","../src/clients/v1/dictionaries/Contract.ts","../src/clients/v1/dictionaries/ContractDocument.ts","../src/clients/v1/dictionaries/ContractLegalDocument.ts","../src/clients/v1/dictionaries/CrossSale.ts","../src/clients/v1/dictionaries/Currency.ts","../src/clients/v1/dictionaries/Deal.ts","../src/clients/v1/dictionaries/DealCategorizedFile.ts","../src/clients/v1/dictionaries/DealParticipant.ts","../src/clients/v1/dictionaries/Debt.ts","../src/clients/v1/dictionaries/ExpertCategory.ts","../src/clients/v1/dictionaries/ExpertGrade.ts","../src/clients/v1/dictionaries/File.ts","../src/clients/v1/dictionaries/GalleryImage.ts","../src/clients/v1/dictionaries/LeadAssignmentBlock.ts","../src/clients/v1/dictionaries/PhoneBookContact.ts","../src/clients/v1/dictionaries/PhotoOrder.ts","../src/clients/v1/dictionaries/Realty.ts","../src/clients/v1/dictionaries/ServiceRequest.ts","../src/clients/v1/dictionaries/ServiceRequestActivity.ts","../src/clients/v1/dictionaries/ServiceRequestCategorizedFile.ts","../src/clients/v1/dictionaries/Shape.ts","../src/clients/v1/dictionaries/Task.ts","../src/clients/v1/dictionaries/User.ts","../src/clients/v1/dictionaries/UserPhone.ts","../src/clients/v2/api/address/createAddress/index.ts","../src/clients/v2/api/addressBti/createAddressBti/index.ts","../src/clients/v2/api/addressBti/findAddressBtiById/index.ts","../src/clients/v2/api/addressBti/updateAddressBti/index.ts","../src/clients/v2/api/complex/findComplexById/index.ts","../src/clients/v2/api/complex/findComplexHousingByComplexId/index.ts","../src/clients/v2/api/complex/findComplexes/index.ts","../src/clients/v2/api/cottageComplex/findCottageComplexes/index.ts","../src/clients/v2/api/highway/findHighways/index.ts","../src/clients/v2/api/metroStation/findMetroStations/index.ts","../src/clients/v2/api/realty/createRealty/index.ts","../src/clients/v2/api/realty/createRealtyHouseHighwayDistance/index.ts","../src/clients/v2/api/realty/createRealtyImage/index.ts","../src/clients/v2/api/realty/createRealtyMetroDistance/index.ts","../src/clients/v2/api/realty/deleteRealtyImage/index.ts","../src/clients/v2/api/realty/findRealties/index.ts","../src/clients/v2/api/realty/updateRealtyHouseHighwayDistance/index.ts","../src/clients/v2/api/realty/updateRealtyImage/index.ts","../src/clients/v2/api/realty/updateRealtyMetroDistance/index.ts","../src/clients/v2/types/AddressBTIParams.ts","../src/clients/v2/types/AddressMetroDistance.ts","../src/clients/v2/types/Realty.ts","../src/clients/v2/types/RealtyImage.ts","../src/clients/v2/types/RealtyMetroDistance.ts","../src/clients/v2/index.ts","../src/clients/v2/dictionaries/AddressBTIParams.ts","../src/clients/v2/dictionaries/AddressMetroDistance.ts","../src/clients/v2/dictionaries/Realty.ts","../src/clients/v2/dictionaries/RealtyImage.ts","../src/clients/v2/dictionaries/RealtyMetroDistance.ts","../src/publisher/v1/api/findActualEventsRow/index.ts","../src/publisher/v1/api/findEventsRow/index.ts","../src/publisher/v1/api/findExternalLinks/index.ts","../src/publisher/v1/api/findHomeappStatisticRowByRealtyId/index.ts","../src/publisher/v1/api/findNewBuildings/index.ts","../src/publisher/v1/api/findPlannedEventsRow/index.ts","../src/publisher/v1/api/findScoring/index.ts","../src/publisher/v1/api/findStatisticRow/index.ts","../src/publisher/v1/api/getFirstPublishedAt/index.ts","../src/publisher/v1/api/getPublishedDays/index.ts","../src/publisher/v1/api/updateRealtyPublicId/index.ts","../src/publisher/v1/api/uploadResume/index.ts","../src/publisher/v1/types/ActualEventsRow.ts","../src/publisher/v1/types/PlannedEventsRow.ts","../src/publisher/v1/index.ts","../src/publisher/v1/dictionaries/ActualEventsRow.ts","../src/registry/v1/api/address/createAddress/index.ts","../src/registry/v1/api/address/findAddressById/index.ts","../src/registry/v1/api/address/findAddressesByRealtyParams/index.ts","../src/registry/v1/api/complex/findComplexIds/index.ts","../src/registry/v1/api/image/uploadImages/index.ts","../src/registry/v1/api/realty/findRealties/index.ts","../src/registry/v1/api/valuation/calculateValuation/index.ts","../src/registry/v1/types/AddressBTIParams.ts","../src/registry/v1/types/Image.ts","../src/registry/v1/types/Realty.ts","../src/registry/v1/types/Shape.ts","../src/registry/v1/types/Valuation.ts","../src/registry/v1/index.ts","../src/registry/v1/dictionaries/AddressBTIParams.ts","../src/registry/v1/dictionaries/Realty.ts","../src/registry/v1/dictionaries/Shape.ts","../src/registry/v1/dictionaries/Valuation.ts","../src/search/v1/api/apartments/countApartments/index.ts","../src/search/v1/api/apartments/findApartments/index.ts","../src/search/v1/api/complexes/findComplexes/index.ts","../src/search/v1/api/complexes/findComplexById/index.ts","../src/search/v1/api/buildings/findBuildingCoordinates/index.ts","../src/search/v1/api/buildings/findBuildingOffers/index.ts","../src/search/v1/types/Apartment.ts","../src/search/v1/index.ts","../src/search/v1/dictionaries/Apartment.ts","../src/external/api/dadata/findDadataSuggestions.ts","../src/external/api/yandex/findYandexSuggestions.ts","../src/external/api/yandex/yandexGeocode.ts","../src/external/index.ts"],"sourcesContent":["/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Appointment } from '../../types';\n\ntype SuccessData = { success: true; data: Appointment };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CancelAppointmentUrlParams = { id: number };\nexport type CancelAppointmentHeaders = { 'x-auth-hc': string };\n\nexport type CancelAppointmentData = AxiosResponse<ResultData>;\nexport type CancelAppointmentError = AxiosError<ResultError>;\nexport type CancelAppointmentConfig = {\n baseURL?: string;\n urlParams: CancelAppointmentUrlParams;\n headers: CancelAppointmentHeaders;\n};\n\nexport function cancelAppointmentRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: CancelAppointmentConfig) {\n return axios\n .patch(`/api/appointment/${urlParams.id}/cancel`, null, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CancelAppointmentData) => res)\n .catch((err: CancelAppointmentError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Appointment } from '../../types';\n\ntype SuccessData = { success: true; data: Appointment };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CompleteAppointmentUrlParams = { id: number };\nexport type CompleteAppointmentHeaders = { 'x-auth-hc': string };\n\nexport type CompleteAppointmentData = AxiosResponse<ResultData>;\nexport type CompleteAppointmentError = AxiosError<ResultError>;\nexport type CompleteAppointmentConfig = {\n baseURL?: string;\n urlParams: CompleteAppointmentUrlParams;\n headers: CompleteAppointmentHeaders;\n};\n\nexport function completeAppointmentRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: CompleteAppointmentConfig) {\n return axios\n .patch(`/api/appointment/${urlParams.id}/complete`, null, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CompleteAppointmentData) => res)\n .catch((err: CompleteAppointmentError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Appointment, ServiceRequest } from '../../types';\n\ntype SuccessData = { success: true; data: Appointment };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateAppointmentHeaders = { 'x-auth-hc': string };\nexport type CreateAppointmentBody = {\n notificationType: NonNullable<Appointment['notificationType']>;\n place: NonNullable<Appointment['place']>;\n plannedAt: NonNullable<Appointment['plannedAt']>;\n serviceRequest: Required<Pick<ServiceRequest, 'id'>>;\n status: NonNullable<Appointment['status']>;\n};\n\nexport type CreateAppointmentData = AxiosResponse<ResultData>;\nexport type CreateAppointmentError = AxiosError<ResultError>;\nexport type CreateAppointmentConfig = {\n baseURL?: string;\n headers: CreateAppointmentHeaders;\n body: CreateAppointmentBody;\n};\n\nexport function createAppointmentRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n}: CreateAppointmentConfig) {\n return axios\n .post('/api/appointment', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreateAppointmentData) => res)\n .catch((err: CreateAppointmentError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { Appointment, AppointmentStatus } from '../../types';\n\ntype SuccessData = { success: true; data: Appointment[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, Appointment>; meta: { total: number } };\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindAppointmentsParams = {\n filter?: {\n 'serviceRequest.curator.id'?: number;\n plannedAt?: { from?: string; to?: string };\n status?: AppointmentStatus;\n };\n sorting?: { type: 'plannedAt'; direction: 'asc' | 'desc' };\n limits?: { page?: number; count: number | 'all' };\n};\n\nexport type FindAppointmentsHeaders = { 'x-auth-hc': string };\nexport type FindAppointmentsData = AxiosResponse<ResultData>;\nexport type FindAppointmentsError = AxiosError<ResultError>;\nexport type FindAppointmentsConfig = {\n baseURL?: string;\n params: FindAppointmentsParams;\n headers: FindAppointmentsHeaders;\n};\n\nexport function findAppointmentsRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n params,\n}: FindAppointmentsConfig) {\n return axios\n .get('/api/appointment', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n },\n ],\n })\n .then((res: FindAppointmentsData) => res)\n .catch((err: FindAppointmentsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Appointment } from '../../types';\n\ntype SuccessData = { success: true; data: Appointment };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdateAppointmentUrlParams = { id: number };\nexport type UpdateAppointmentHeaders = { 'x-auth-hc': string };\nexport type UpdateAppointmentBody = {\n notificationType?: Appointment['notificationType'];\n place?: Appointment['place'];\n plannedAt?: Appointment['plannedAt'];\n};\n\nexport type UpdateAppointmentData = AxiosResponse<ResultData>;\nexport type UpdateAppointmentError = AxiosError<ResultError>;\nexport type UpdateAppointmentConfig = {\n baseURL?: string;\n urlParams: UpdateAppointmentUrlParams;\n headers: UpdateAppointmentHeaders;\n body: UpdateAppointmentBody;\n};\n\nexport function updateAppointmentRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateAppointmentConfig) {\n return axios\n .patch(`/api/appointment/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: UpdateAppointmentData) => res)\n .catch((err: UpdateAppointmentError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true; data: { expiresAt: string } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type GetPasswordHeaders = { hs?: string };\nexport type GetPasswordParams = { phone: string; rtoken?: string };\nexport type GetPasswordData = AxiosResponse<ResultData>;\nexport type GetPasswordError = AxiosError<ResultError>;\nexport type GetPasswordConfig = { baseURL?: string; params: GetPasswordParams; headers?: GetPasswordHeaders };\n\nexport function getPasswordRequest({ baseURL = 'https://clients.homeapp.ru', params, headers }: GetPasswordConfig) {\n return axios\n .get('/api/user/auth/get-pass', {\n baseURL,\n params,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) return data.data;\n\n return data.data.error;\n },\n ],\n })\n .then((res: GetPasswordData) => res)\n .catch((err: GetPasswordError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { User } from '../../../types';\n\ntype SuccessData = {\n success: true;\n data: { createdAt: string; expiresAt: string; key: string; user: Partial<User> & { id: number } };\n};\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CheckPasswordBody = { phone: string; password: string };\nexport type CheckPasswordData = AxiosResponse<ResultData>;\nexport type CheckPasswordError = AxiosError<ResultError>;\nexport type CheckPasswordConfig = { baseURL?: string; body: CheckPasswordBody };\n\nexport function checkPasswordRequest({ baseURL = 'https://clients.homeapp.ru', body }: CheckPasswordConfig) {\n return axios\n .post('/api/user/auth/check-pass', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json' },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) return data.data;\n\n return data.data.error;\n },\n ],\n })\n .then((res: CheckPasswordData) => res)\n .catch((err: CheckPasswordError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { User } from '../../../types';\n\ntype SuccessData = {\n success: true;\n data: { createdAt: string; expiresAt: string; key: string; user: Partial<User> & { id: number } };\n};\ntype ErrorData = { success: false; data: string };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data'];\n\nexport type CheckTokenHeaders = { 'x-auth-hc': string };\nexport type CheckTokenData = AxiosResponse<ResultData>;\nexport type CheckTokenError = AxiosError<ResultError>;\nexport type CheckTokenConfig = { baseURL?: string; headers: CheckTokenHeaders };\n\nexport function checkTokenRequest({ baseURL = 'https://clients.homeapp.ru', headers }: CheckTokenConfig) {\n return axios\n .get('/api/user/auth/session', {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => data.data,\n ],\n })\n .then((res: CheckTokenData): CheckTokenData => res)\n .catch((err: CheckTokenError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { AvailableFunds } from '../../../types';\n\ntype SuccessData = { success: true; data: AvailableFunds };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateAvailableFundsHeaders = { 'x-auth-hc': string };\nexport type CreateAvailableFundsBody = {\n amount: Required<AvailableFunds>['amount'];\n incomeType: Required<AvailableFunds>['incomeType'];\n paymentType: Required<AvailableFunds>['paymentType'];\n realtyType: Required<AvailableFunds>['realtyType'];\n receivedAt: Required<AvailableFunds>['receivedAt'];\n serviceRequestId: number;\n comment?: AvailableFunds['comment'];\n companyName?: AvailableFunds['companyName'];\n payerType?: AvailableFunds['payerType'];\n dealId?: number;\n};\n\nexport type CreateAvailableFundsData = AxiosResponse<ResultData>;\nexport type CreateAvailableFundsError = AxiosError<ResultError>;\nexport type CreateAvailableFundsConfig = {\n baseURL?: string;\n headers: CreateAvailableFundsHeaders;\n body: CreateAvailableFundsBody;\n};\n\nexport function createAvailableFundsRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n}: CreateAvailableFundsConfig) {\n return axios\n .post('/api/available-funds', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) return data.data;\n\n return data.data.error;\n },\n ],\n })\n .then((res: CreateAvailableFundsData) => res)\n .catch((err: CreateAvailableFundsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { AvailableFunds } from '../../../types';\n\ntype SuccessData = { success: true; data: AvailableFunds[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: Record<'error' | 'message', string> };\n\ntype ResultData = { ids: number[]; byId: Record<string, AvailableFunds>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindAvailableFundsHeaders = { 'x-auth-hc': string };\nexport type FindAvailableFundsParams = {\n filter?: {\n deal?: number | number[];\n 'serviceRequest.contract.formalId'?: string;\n 'serviceRequest.curator'?: number | number[];\n 'serviceRequest.id'?: number | number[];\n 'company.id'?: number | number[];\n };\n limits?: { page?: number; count: number | 'all' };\n sorting?: { direction: 'asc' | 'desc'; type: 'createdAt' | 'id' | 'receivedAt' | 'serviceRequest' | 'deal' };\n};\nexport type FindAvailableFundsData = AxiosResponse<ResultData>;\nexport type FindAvailableFundsError = AxiosError<ResultError>;\nexport type FindAvailableFundsConfig = {\n baseURL?: string;\n headers: FindAvailableFundsHeaders;\n params: FindAvailableFundsParams;\n};\n\nexport function findAvailableFundsRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n params,\n}: FindAvailableFundsConfig) {\n return axios\n .get('/api/available-funds', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n }\n\n return data.data.error || data.data.message;\n },\n ],\n })\n .then((res: FindAvailableFundsData) => res)\n .catch((err: FindAvailableFundsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\nimport { AvailableFunds } from '../../../types';\n\ntype SuccessData = { success: true; data: AvailableFunds };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdateAvailableFundsUrlParams = { id: number };\nexport type UpdateAvailableFundsHeaders = { 'x-auth-hc': string };\nexport type UpdateAvailableFundsBody = {\n amount?: AvailableFunds['amount'];\n incomeType?: AvailableFunds['incomeType'];\n paymentType?: AvailableFunds['paymentType'];\n realtyType?: AvailableFunds['realtyType'];\n receivedAt?: AvailableFunds['receivedAt'];\n payerType?: AvailableFunds['payerType'];\n comment?: AvailableFunds['comment'];\n companyName?: AvailableFunds['companyName'];\n};\n\nexport type UpdateAvailableFundsData = AxiosResponse<ResultData>;\nexport type UpdateAvailableFundsError = AxiosError<ResultError>;\nexport type UpdateAvailableFundsConfig = {\n baseURL?: string;\n urlParams: UpdateAvailableFundsUrlParams;\n headers: UpdateAvailableFundsHeaders;\n body: UpdateAvailableFundsBody;\n};\n\nexport function updateAvailableFundsRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateAvailableFundsConfig) {\n return axios\n .patch('/api/available-funds/' + urlParams.id, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: UpdateAvailableFundsData) => res)\n .catch((err: UpdateAvailableFundsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true; data: string };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type DeleteAvailableFundsHeaders = { 'x-auth-hc': string };\nexport type DeleteAvailableFundsUrlParams = { id: number };\nexport type DeleteAvailableFundsData = AxiosResponse<ResultData>;\nexport type DeleteAvailableFundsError = AxiosError<ResultError>;\nexport type DeleteAvailableFundsConfig = {\n baseURL?: string;\n urlParams: DeleteAvailableFundsUrlParams;\n headers: DeleteAvailableFundsHeaders;\n};\n\nexport function deleteAvailableFundsRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: DeleteAvailableFundsConfig) {\n return axios\n .delete('/api/available-funds/' + urlParams.id, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: DeleteAvailableFundsData) => res)\n .catch((err: DeleteAvailableFundsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Bill } from '../../../types';\n\ntype SuccessData = { success: true; data: Bill };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateBillHeaders = { 'x-auth-hc': string };\nexport type CreateBillBody = {\n payer: Required<Bill>['payer'];\n services: Required<Bill>['services'];\n dealId?: Required<Bill>['dealId'];\n contractId?: Required<Bill>['contractId'];\n acceptanceAgreementDate?: Required<Bill>['acceptanceAgreementDate'];\n acceptanceAgreementNumber?: Required<Bill>['acceptanceAgreementNumber'];\n};\n\nexport type CreateBillData = AxiosResponse<ResultData>;\nexport type CreateBillError = AxiosError<ResultError>;\nexport type CreateBillConfig = {\n baseURL?: string;\n headers: CreateBillHeaders;\n body: CreateBillBody;\n};\n\nexport function createBillRequest({ baseURL = 'https://clients.homeapp.ru', body, headers }: CreateBillConfig) {\n return axios\n .post('/api/bill', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreateBillData) => res)\n .catch((err: CreateBillError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { nanoid } from 'nanoid/non-secure';\nimport qs from 'qs';\nimport { Bill } from '../../../types';\n\ntype SuccessData = { success: true; data: Bill[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: Record<'error' | 'message', string> };\n\ntype ResultData = { ids: string[]; byId: Record<string, Bill & { _id: string }>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindBillsHeaders = { 'x-auth-hc': string };\nexport type FindBillsParams = {\n filter?: {\n commonId?: string;\n 'createdBy.id'?: string;\n 'deal.contract.formalId'?: string;\n 'deal.contract.id'?: string;\n 'deal.contract.serviceRequest.id'?: string;\n 'deal.id'?: string;\n number?: string;\n };\n limits?: { page?: number; count: number | 'all' };\n sorting?: {\n direction: 'asc' | 'desc';\n type:\n | 'id'\n | 'number'\n | 'createdAt'\n | 'deal.id'\n | 'deal.contract.id'\n | 'deal.contract.formalId'\n | 'deal.contract.serviceRequest.id'\n | 'createdById'\n | 'deal.lawyer.name';\n };\n};\nexport type FindBillsData = AxiosResponse<ResultData>;\nexport type FindBillsError = AxiosError<ResultError>;\nexport type FindBillsConfig = {\n baseURL?: string;\n headers: FindBillsHeaders;\n params: FindBillsParams;\n};\n\nexport function findBillsRequest({ baseURL = 'https://clients.homeapp.ru', headers, params }: FindBillsConfig) {\n return axios\n .get('/api/bill/list', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error || data.data.message;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n const _id = nanoid();\n byId[_id] = { ...entity, _id };\n ids.push(_id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n },\n ],\n })\n .then((res: FindBillsData) => res)\n .catch((err: FindBillsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { nanoid } from 'nanoid/non-secure';\nimport qs from 'qs';\nimport { BonusCalculations } from '../../../index';\n\ntype Data = BonusCalculations & { _id: string };\n\ntype SuccessData = { success: true; data: BonusCalculations[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: Record<'error' | 'message', string> };\n\ntype ResultData = { ids: string[]; byId: Record<string, Data>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindBonusCalculationsHeaders = { 'x-auth-hc': string };\nexport type FindBonusCalculationsParams = {\n filter?: {\n 'deal.closingDate'?: { from: string; to: string };\n };\n limits?: { page?: number; count: number | 'all' };\n sorting?: { direction: 'asc' | 'desc'; type: 'closingDate' };\n};\nexport type FindBonusCalculationsData = AxiosResponse<ResultData>;\nexport type FindBonusCalculationsError = AxiosError<ResultError>;\nexport type FindBonusCalculationsConfig = {\n baseURL?: string;\n headers: FindBonusCalculationsHeaders;\n params: FindBonusCalculationsParams;\n};\n\nexport function findBonusCalculationsRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n params,\n}: FindBonusCalculationsConfig) {\n return axios\n .get('/api/analytics/bonus-calculation', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n const _id = nanoid();\n byId[_id] = { ...entity, _id };\n ids.push(_id);\n });\n\n return { ids, byId, meta: { total: data.data.length } };\n }\n\n return data.data?.error || data.data?.message;\n },\n ],\n })\n .then((res: FindBonusCalculationsData) => res)\n .catch((err: FindBonusCalculationsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Call } from '../../../types';\n\ntype SuccessData = { success: true; data: Call };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CallbackBuyerUrlParams = { id: number };\nexport type CallbackBuyerHeaders = { 'x-auth-hc': string };\nexport type CallbackBuyerData = AxiosResponse<ResultData>;\nexport type CallbackBuyerError = AxiosError<ResultError>;\nexport type CallbackBuyerConfig = {\n baseURL?: string;\n urlParams: CallbackBuyerUrlParams;\n headers: CallbackBuyerHeaders;\n};\n\nexport function callbackBuyerRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: CallbackBuyerConfig) {\n return axios\n .post(\n `/api/buyer/callback/${urlParams.id}`,\n {},\n {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n }\n )\n .then((res: CallbackBuyerData) => res)\n .catch((err: CallbackBuyerError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Buyer } from '../../../types';\n\ntype SuccessData = { success: true; data: Buyer };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CloseBuyerUrlParams = { id: number };\nexport type CloseBuyerHeaders = { 'x-auth-hc': string };\nexport type CloseBuyerBody = {\n closingQuestionaryAnswers?: Array<{\n questionId: string;\n answerId: string;\n comment?: string;\n }>;\n};\nexport type CloseBuyerData = AxiosResponse<ResultData>;\nexport type CloseBuyerError = AxiosError<ResultError>;\nexport type CloseBuyerConfig = {\n baseURL?: string;\n urlParams: CloseBuyerUrlParams;\n headers: CloseBuyerHeaders;\n body: CloseBuyerBody;\n};\n\nexport function closeBuyerRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: CloseBuyerConfig) {\n return axios\n .put(`/api/buyer/${urlParams.id}/close`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CloseBuyerData) => res)\n .catch((err: CloseBuyerError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\n\ntype SuccessData = { success: true; data: number };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = number;\ntype ResultError = string;\n\nexport type CountBuyersHeaders = { 'x-auth-hc': string };\nexport type CountBuyersParams = {\n filter?: {\n 'serviceRequest.id'?: number;\n everHadStatus?: 'show_complete';\n };\n};\nexport type CountBuyersData = AxiosResponse<ResultData>;\nexport type CountBuyersError = AxiosError<ResultError>;\nexport type CountBuyersConfig = {\n baseURL?: string;\n headers: CountBuyersHeaders;\n params: CountBuyersParams;\n};\n\nexport function countBuyersRequest({ baseURL = 'https://clients.homeapp.ru', headers, params }: CountBuyersConfig) {\n return axios\n .get('/api/buyer/count', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n return data.data;\n }\n\n return data.data.error;\n },\n ],\n })\n .then((res: CountBuyersData) => res)\n .catch((err: CountBuyersError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Buyer, BuyerStatus } from '../../../types';\n\ntype SuccessData = { success: true; data: Buyer };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateBuyerHeaders = { 'x-auth-hc': string };\nexport type CreateBuyerBody = {\n phone: string;\n serviceRequest: { id: number } | { realtyExtId: number };\n comment?: string;\n contacts?: Array<{ type: string; value: string }>;\n name?: string;\n offer?: number;\n source?: string;\n status?: BuyerStatus;\n};\n\nexport type CreateBuyerData = AxiosResponse<ResultData>;\nexport type CreateBuyerError = AxiosError<ResultError>;\nexport type CreateBuyerConfig = {\n baseURL?: string;\n headers?: CreateBuyerHeaders;\n body: CreateBuyerBody;\n};\n\nexport function createBuyerRequest({ baseURL = 'https://clients.homeapp.ru', body, headers }: CreateBuyerConfig) {\n return axios\n .post('/api/buyer', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreateBuyerData) => res)\n .catch((err: CreateBuyerError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Buyer } from '../../../types';\nimport qs from 'qs';\nimport isNil from 'lodash/isNil';\n\ntype SuccessData = { success: true; data: Buyer };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindBuyerByIdUrlParams = { id: number };\nexport type FindBuyerByIdParams = { include?: Array<'sharing.fromExpert'> };\nexport type FindBuyerByIdHeaders = { 'x-auth-hc': string };\nexport type FindBuyerByIdData = AxiosResponse<ResultData>;\nexport type FindBuyerByIdError = AxiosError<ResultError>;\n\nexport type FindBuyerByIdConfig = {\n baseURL?: string;\n urlParams: FindBuyerByIdUrlParams;\n headers: FindBuyerByIdHeaders;\n params: FindBuyerByIdParams;\n};\n\nexport function findBuyerByIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n params,\n}: FindBuyerByIdConfig) {\n const includePostfix = !isNil(params.include)\n ? `?${qs.stringify({ include: params.include }, { arrayFormat: 'brackets' })}`\n : '';\n\n return axios\n .get(`/api/buyer/${urlParams.id}${includePostfix}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindBuyerByIdData) => res)\n .catch((err: FindBuyerByIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { BuyerClosingReason } from '../../../types';\n\ntype SuccessData = { success: true; data: BuyerClosingReason[] };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: string[]; byId: Record<string, BuyerClosingReason>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindBuyerClosingReasonHeaders = { 'x-auth-hc': string };\nexport type FindBuyerClosingReasonData = AxiosResponse<ResultData>;\nexport type FindBuyerClosingReasonError = AxiosError<ResultError>;\nexport type FindBuyerClosingReasonConfig = {\n baseURL?: string;\n headers: FindBuyerClosingReasonHeaders;\n};\n\nexport function findBuyerClosingReasonRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n}: FindBuyerClosingReasonConfig) {\n return axios\n .get('/api/buyer/closing-reason', {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: ids.length } };\n }\n\n return data.data.error;\n },\n ],\n })\n .then((res: FindBuyerClosingReasonData) => res)\n .catch((err: FindBuyerClosingReasonError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\n\ntype SuccessData = { success: true; data: { text: string; count: number }[] };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindBuyerRejectionReasonStatisticBySrIdUrlParams = { serviceRequestId: number };\nexport type FindBuyerRejectionReasonStatisticBySrIdParams = { from?: string; to?: string };\nexport type FindBuyerRejectionReasonStatisticBySrIdHeaders = { 'x-auth-hc': string };\nexport type FindBuyerRejectionReasonStatisticBySrIdData = AxiosResponse<ResultData>;\nexport type FindBuyerRejectionReasonStatisticBySrIdError = AxiosError<ResultError>;\n\nexport type FindBuyerRejectionReasonStatisticBySrIdConfig = {\n baseURL?: string;\n urlParams: FindBuyerRejectionReasonStatisticBySrIdUrlParams;\n params: FindBuyerRejectionReasonStatisticBySrIdParams;\n headers: FindBuyerRejectionReasonStatisticBySrIdHeaders;\n};\n\nexport function findBuyerRejectionReasonStatisticBySrIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n params,\n headers,\n}: FindBuyerRejectionReasonStatisticBySrIdConfig) {\n return axios\n .get(`/api/service-request/${urlParams.serviceRequestId}/buyer/closing/rejection-reason/statistic`, {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data ?? [] : data.data.error),\n ],\n })\n .then((res: FindBuyerRejectionReasonStatisticBySrIdData) => res)\n .catch((err: FindBuyerRejectionReasonStatisticBySrIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { BuyerStatus } from '../../../types';\nimport qs from 'qs';\n\ntype SuccessData = {\n success: true;\n data: { status: BuyerStatus; values: { buyerId: number; count: number }[] }[];\n};\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindBuyerStatusStatisticBySrIdUrlParams = { serviceRequestId: number };\nexport type FindBuyerStatusStatisticBySrIdParams = { from?: string; to?: string };\nexport type FindBuyerStatusStatisticBySrIdHeaders = { 'x-auth-hc': string };\nexport type FindBuyerStatusStatisticBySrIdData = AxiosResponse<ResultData>;\nexport type FindBuyerStatusStatisticBySrIdError = AxiosError<ResultError>;\n\nexport type FindBuyerStatusStatisticBySrIdConfig = {\n baseURL?: string;\n urlParams: FindBuyerStatusStatisticBySrIdUrlParams;\n params: FindBuyerStatusStatisticBySrIdParams;\n headers: FindBuyerStatusStatisticBySrIdHeaders;\n};\n\nexport function findBuyerStatusStatisticBySrIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n params,\n headers,\n}: FindBuyerStatusStatisticBySrIdConfig) {\n return axios\n .get(`/api/service-request/${urlParams.serviceRequestId}/buyer/status/statistic`, {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindBuyerStatusStatisticBySrIdData) => res)\n .catch((err: FindBuyerStatusStatisticBySrIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { BuyerStatusHistory } from '../../../types';\n\ntype SuccessData = { success: true; data: BuyerStatusHistory[]; pageParams: { length: number; page: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, BuyerStatusHistory>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindBuyerStatusesHeaders = { 'x-auth-hc': string };\nexport type FindBuyerStatusesParams = {\n limits?: { page?: number; count?: number | 'all' };\n sorting?: { type: 'changedAt' | 'deadlineAt'; direction: 'asc' | 'desc' };\n};\nexport type FindBuyerStatusesData = AxiosResponse<ResultData>;\nexport type FindBuyerStatusesError = AxiosError<ResultError>;\nexport type FindBuyerStatusesUrlParams = { id: number };\nexport type FindBuyerStatusesConfig = {\n baseURL?: string;\n headers: FindBuyerStatusesHeaders;\n urlParams: FindBuyerStatusesUrlParams;\n params: FindBuyerStatusesParams;\n};\n\nexport function findBuyerStatusesRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n params,\n}: FindBuyerStatusesConfig) {\n return axios\n .get(`/api/buyer/${urlParams.id}/status`, {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n }\n\n return data.data.error;\n },\n ],\n })\n .then((res: FindBuyerStatusesData) => res)\n .catch((err: FindBuyerStatusesError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { BuyerPhone } from '../../../types';\nimport { nanoid } from 'nanoid/non-secure';\n\ntype SuccessData = { success: true; data: BuyerPhone[] };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: string[]; byId: Record<string, BuyerPhone & { _id: string }>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindBuyerUniquePhonesHeaders = { 'x-auth-hc': string };\nexport type FindBuyerUniquePhonesData = AxiosResponse<ResultData>;\nexport type FindBuyerUniquePhonesError = AxiosError<ResultError>;\nexport type FindBuyerUniquePhonesConfig = {\n baseURL?: string;\n headers: FindBuyerUniquePhonesHeaders;\n};\n\nexport function findBuyerUniquePhonesRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n}: FindBuyerUniquePhonesConfig) {\n return axios\n .get(`/api/buyer/unique-phones`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n const _id = nanoid();\n byId[_id] = { ...entity, _id };\n ids.push(_id);\n });\n\n return { ids, byId, meta: { total: ids.length } };\n }\n\n return data.data.error;\n },\n ],\n })\n .then((res: FindBuyerUniquePhonesData) => res)\n .catch((err: FindBuyerUniquePhonesError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { Buyer, BuyerStatus } from '../../../types';\n\ntype SuccessData = { success: true; data: Buyer[]; pageParams: { length: number; page: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, Buyer>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindBuyersHeaders = { 'x-auth-hc': string };\nexport type FindBuyersParams = {\n filter?: {\n 'serviceRequest.id'?: number;\n 'serviceRequest.realty.address.fullAddress'?: string;\n 'serviceRequest.curator.groupLead.id'?: number | 'null' | 'notnull';\n query?: string;\n 'serviceRequest.curator.id'?: string;\n status?: BuyerStatus | BuyerStatus[];\n id?: string;\n name?: string;\n statusDeadlineAt?:\n | {\n from?: string;\n to?: string;\n }\n | 'notnull';\n createdAt?: {\n from?: string;\n to?: string;\n };\n };\n limits?: {\n page?: number;\n count: number | 'all';\n };\n sorting?: {\n type: 'createdAt';\n direction: 'asc' | 'desc';\n };\n include?: Array<'sharing.fromExpert'>;\n};\nexport type FindBuyersData = AxiosResponse<ResultData>;\nexport type FindBuyersError = AxiosError<ResultError>;\nexport type FindBuyersConfig = {\n baseURL?: string;\n headers: FindBuyersHeaders;\n params: FindBuyersParams;\n};\n\nexport function findBuyersRequest({ baseURL = 'https://clients.homeapp.ru', headers, params }: FindBuyersConfig) {\n return axios\n .get('/api/buyer', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n }\n\n return data.data.error;\n },\n ],\n })\n .then((res: FindBuyersData) => res)\n .catch((err: FindBuyersError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Buyer } from '../../../types';\n\ntype SuccessData = { success: true; data: Buyer };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type ResetBuyerStatusTimerUrlParams = { id: number };\nexport type ResetBuyerStatusTimerHeaders = { 'x-auth-hc': string };\nexport type ResetBuyerStatusTimerData = AxiosResponse<ResultData>;\nexport type ResetBuyerStatusTimerError = AxiosError<ResultError>;\nexport type ResetBuyerStatusTimerConfig = {\n baseURL?: string;\n urlParams: ResetBuyerStatusTimerUrlParams;\n headers: ResetBuyerStatusTimerHeaders;\n};\n\nexport function resetBuyerStatusTimerRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: ResetBuyerStatusTimerConfig) {\n return axios\n .patch(\n `/api/buyer/${urlParams.id}/reset-status`,\n {},\n {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n }\n )\n .then((res: ResetBuyerStatusTimerData) => res)\n .catch((err: ResetBuyerStatusTimerError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true; data: null };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type ShareBuyerUrlParams = { id: number };\nexport type ShareBuyerHeaders = { 'x-auth-hc': string };\nexport type ShareBuyerBody = { serviceRequestId: number; comment?: string };\nexport type ShareBuyerData = AxiosResponse<ResultData>;\nexport type ShareBuyerError = AxiosError<ResultError>;\nexport type ShareBuyerConfig = {\n baseURL?: string;\n urlParams: ShareBuyerUrlParams;\n headers: ShareBuyerHeaders;\n body: ShareBuyerBody;\n};\n\nexport function shareBuyerRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: ShareBuyerConfig) {\n return axios\n .put(`/api/buyer/${urlParams.id}/share`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data.error),\n ],\n })\n .then((res: ShareBuyerData) => res)\n .catch((err: ShareBuyerError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Buyer, BuyerStatus } from '../../../types';\n\ntype SuccessData = { success: true; data: Buyer };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdateBuyerUrlParams = { id: number };\nexport type UpdateBuyerHeaders = { 'x-auth-hc': string };\nexport type UpdateBuyerData = AxiosResponse<ResultData>;\nexport type UpdateBuyerError = AxiosError<ResultError>;\nexport type UpdateBuyerBody = {\n name?: string;\n status?: BuyerStatus;\n comment?: string;\n realtyShow?: {\n scheduledAt: string;\n };\n};\nexport type UpdateBuyerConfig = {\n baseURL?: string;\n urlParams: UpdateBuyerUrlParams;\n headers: UpdateBuyerHeaders;\n body: UpdateBuyerBody;\n};\n\nexport function updateBuyerRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n urlParams,\n headers,\n}: UpdateBuyerConfig) {\n return axios\n .put(`/api/buyer/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: UpdateBuyerData) => res)\n .catch((err: UpdateBuyerError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Call } from '../../../types';\n\ntype SuccessData = { success: true; data: Call };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateCallCommentHeaders = { 'x-auth-hc': string };\nexport type CreateCallCommentUrlParams = { id: number };\nexport type CreateCallCommentBody = { comment: string };\nexport type CreateCallCommentData = AxiosResponse<ResultData>;\nexport type CreateCallCommentError = AxiosError<ResultError>;\nexport type CreateCallCommentConfig = {\n baseURL?: string;\n headers: CreateCallCommentHeaders;\n body: CreateCallCommentBody;\n urlParams: CreateCallCommentUrlParams;\n};\n\nexport function createCallCommentRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n urlParams,\n}: CreateCallCommentConfig) {\n return axios\n .post(`/api/call/${urlParams.id}/comment`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data?.data : data.data?.error),\n ],\n })\n .then((res: CreateCallCommentData) => res)\n .catch((err: CreateCallCommentError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Call } from '../../../types';\n\ntype SuccessData = { success: true; data: Call };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindCallByIdUrlParams = { id: number };\nexport type FindCallByIdHeaders = { 'x-auth-hc': string };\nexport type FindCallByIdData = AxiosResponse<ResultData>;\nexport type FindCallByIdError = AxiosError<ResultError>;\n\nexport type FindCallByIdConfig = {\n baseURL?: string;\n urlParams: FindCallByIdUrlParams;\n headers: FindCallByIdHeaders;\n};\n\nexport function findCallByIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindCallByIdConfig) {\n return axios\n .get(`/api/calls/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindCallByIdData) => res)\n .catch((err: FindCallByIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { Call, CallTaskType, CallType } from '../../../types';\n\ntype SuccessData = { success: true; data: Call[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, Call>; meta: { total: number } };\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindCallsParams = {\n filter?: {\n allByNumber?: string;\n 'operator.groupLead.id'?: number | 'null' | 'notnull';\n 'callTask.serviceRequest.id'?: number | number[];\n 'callTask.type'?: CallTaskType;\n createdAt?: string | { from?: string; to?: string };\n id?: number | number[];\n hasComments?: boolean;\n 'operator.id'?: number | number[];\n 'to.number'?: string;\n type?: CallType;\n success?: boolean;\n };\n limits?: { page?: number; count: number | 'all' };\n sorting?: {\n direction: 'asc' | 'desc';\n type:\n | 'id'\n | 'extId'\n | 'type'\n | 'from'\n | 'to'\n | 'to.id'\n | 'to.number'\n | 'success'\n | 'createdAt'\n | 'responseAt'\n | 'endedAt'\n | 'duration'\n | 'recordLink'\n | 'callTask.id';\n };\n};\n\nexport type FindCallsHeaders = { 'x-auth-hc': string };\nexport type FindCallsData = AxiosResponse<ResultData>;\nexport type FindCallsError = AxiosError<ResultError>;\nexport type FindCallsConfig = {\n baseURL?: string;\n params: FindCallsParams;\n headers: FindCallsHeaders;\n};\n\nexport function findCallsRequest({ baseURL = 'https://clients.homeapp.ru', headers, params }: FindCallsConfig) {\n return axios\n .get('/api/calls', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n },\n ],\n })\n .then((res: FindCallsData) => res)\n .catch((err: FindCallsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { Call } from '../../../types';\n\ntype SuccessData = {\n success: true;\n data: Array<{\n serviceRequestId: number;\n call: Partial<Call> & { id: number };\n }>;\n};\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindFirstSuccessOutgoingCallsParams = {\n filter: {\n serviceRequestId: string | string[];\n };\n};\n\nexport type FindFirstSuccessOutgoingCallsHeaders = { 'x-auth-hc': string };\nexport type FindFirstSuccessOutgoingCallsData = AxiosResponse<ResultData>;\nexport type FindFirstSuccessOutgoingCallsError = AxiosError<ResultError>;\nexport type FindFirstSuccessOutgoingCallsConfig = {\n baseURL?: string;\n params: FindFirstSuccessOutgoingCallsParams;\n headers: FindFirstSuccessOutgoingCallsHeaders;\n};\n\nexport function findFirstSuccessOutgoingCallsRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n params,\n}: FindFirstSuccessOutgoingCallsConfig) {\n return axios\n .get('/api/calls/first-success-outgoing', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'comma', skipNulls: true }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error;\n\n return data.data;\n },\n ],\n })\n .then((res: FindFirstSuccessOutgoingCallsData) => res)\n .catch((err: FindFirstSuccessOutgoingCallsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { Call } from '../../../types';\n\ntype SuccessData = { success: true; data: Call[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: Record<'error' | 'message', string> };\n\ntype ResultData = { ids: number[]; byId: Record<string, Call>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindQualityAssessmentCallsHeaders = { 'x-auth-hc': string };\nexport type FindQualityAssessmentCallsParams = {\n filter?: { 'to.number'?: string };\n limits?: { page?: number; count: number | 'all' };\n sorting?: { direction: 'asc' | 'desc'; type: 'createdAt' };\n};\nexport type FindQualityAssessmentCallsData = AxiosResponse<ResultData>;\nexport type FindQualityAssessmentCallsError = AxiosError<ResultError>;\nexport type FindQualityAssessmentCallsConfig = {\n baseURL?: string;\n headers: FindQualityAssessmentCallsHeaders;\n params: FindQualityAssessmentCallsParams;\n};\n\nexport function findQualityAssessmentCallsRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n params,\n}: FindQualityAssessmentCallsConfig) {\n return axios\n .get('/api/calls/quality-assessor', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n }\n\n return data.data.error || data.data.message;\n },\n ],\n })\n .then((res: FindQualityAssessmentCallsData) => res)\n .catch((err: FindQualityAssessmentCallsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type MarkupCallHeaders = { 'x-auth-hc': string };\nexport type MarkupCallBody = { serviceRequest: { id: number }; call: { id: number } };\nexport type MarkupCallData = AxiosResponse<ResultData>;\nexport type MarkupCallError = AxiosError<ResultError>;\nexport type MarkupCallConfig = {\n baseURL?: string;\n headers: MarkupCallHeaders;\n body: MarkupCallBody;\n};\n\nexport function markupCallRequest({ baseURL = 'https://clients.homeapp.ru', body, headers }: MarkupCallConfig) {\n return axios\n .patch('/api/call/markup', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data?.error),\n ],\n })\n .then((res: MarkupCallData) => res)\n .catch((err: MarkupCallError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = '';\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type RemoveProxyPhoneHeaders = { 'x-auth-hc': string };\n\nexport type RemoveProxyPhoneData = AxiosResponse<ResultData>;\nexport type RemoveProxyPhoneError = AxiosError<ResultError>;\nexport type RemoveProxyPhoneConfig = {\n baseURL?: string;\n headers: RemoveProxyPhoneHeaders;\n};\n\nexport function removeProxyPhoneRequest({ baseURL = 'https://clients.homeapp.ru', headers }: RemoveProxyPhoneConfig) {\n return axios\n .delete('/api/call-proxy', {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data === '' ? null : data.data.error),\n ],\n })\n .then((res: RemoveProxyPhoneData) => res)\n .catch((err: RemoveProxyPhoneError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { CallProxy } from '../../../types';\n\ntype SuccessData = { success: true; data: CallProxy };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type SetProxyPhoneHeaders = { 'x-auth-hc': string };\nexport type SetProxyPhoneBody = {\n purposePhone: { number: string };\n serviceRequest?: { id: number };\n buyer?: { id: number };\n};\n\nexport type SetProxyPhoneData = AxiosResponse<ResultData>;\nexport type SetProxyPhoneError = AxiosError<ResultError>;\nexport type SetProxyPhoneConfig = {\n baseURL?: string;\n headers: SetProxyPhoneHeaders;\n body: SetProxyPhoneBody;\n};\n\nexport function setProxyPhoneRequest({ baseURL = 'https://clients.homeapp.ru', headers, body }: SetProxyPhoneConfig) {\n return axios\n .post('/api/call-proxy', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: SetProxyPhoneData) => res)\n .catch((err: SetProxyPhoneError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true; data: Array<unknown> };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type FinishOperatorWorkHeaders = { 'x-auth-hc': string };\nexport type FinishOperatorWorkData = AxiosResponse<ResultData>;\nexport type FinishOperatorWorkError = AxiosError<ResultError>;\nexport type FinishOperatorWorkConfig = { baseURL?: string; headers: FinishOperatorWorkHeaders };\n\nexport function finishOperatorWorkRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n}: FinishOperatorWorkConfig) {\n return axios\n .post('/api/call/operator/finish', undefined, {\n baseURL,\n headers: { Accept: 'application/json; version=1', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) return null;\n\n return data.data.error;\n },\n ],\n })\n .then((res: FinishOperatorWorkData) => res)\n .catch((err: FinishOperatorWorkError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true; data: { isActive: boolean } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type GetOperatorStatusHeaders = { 'x-auth-hc': string };\nexport type GetOperatorStatusData = AxiosResponse<ResultData>;\nexport type GetOperatorStatusError = AxiosError<ResultError>;\nexport type GetOperatorStatusConfig = { baseURL?: string; headers: GetOperatorStatusHeaders };\n\nexport function getOperatorStatusRequest({ baseURL = 'https://clients.homeapp.ru', headers }: GetOperatorStatusConfig) {\n return axios\n .get('/api/call/operator/status', {\n baseURL,\n headers: { Accept: 'application/json; version=1', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) return data.data;\n\n return data.data.error;\n },\n ],\n })\n .then((res: GetOperatorStatusData) => res)\n .catch((err: GetOperatorStatusError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { User } from '../../../types';\n\ntype SuccessData = {\n success: true;\n data: { finishedAt: string; id: number; startedAt: string; user: Partial<User> & { id: number } };\n};\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type StartOperatorWorkHeaders = { 'x-auth-hc': string };\nexport type StartOperatorWorkData = AxiosResponse<ResultData>;\nexport type StartOperatorWorkError = AxiosError<ResultError>;\nexport type StartOperatorWorkConfig = { baseURL?: string; headers: StartOperatorWorkHeaders };\n\nexport function startOperatorWorkRequest({ baseURL = 'https://clients.homeapp.ru', headers }: StartOperatorWorkConfig) {\n return axios\n .post('/api/call/operator/prolong', undefined, {\n baseURL,\n headers: { Accept: 'application/json; version=1', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error;\n\n return data.data;\n },\n ],\n })\n .then((res: StartOperatorWorkData) => res)\n .catch((err: StartOperatorWorkError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { CallTask } from '../../types';\n\ntype SuccessData = { success: true; data: CallTask };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type BookCallTaskHeaders = { 'x-auth-hc'?: string };\nexport type BookCallTaskUrlParams = { id: number };\nexport type BookCallTaskData = AxiosResponse<ResultData>;\nexport type BookCallTaskError = AxiosError<ResultError>;\nexport type BookCallTaskConfig = {\n baseURL?: string;\n headers?: BookCallTaskHeaders;\n urlParams: BookCallTaskUrlParams;\n};\n\nexport function bookCallTaskRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: BookCallTaskConfig) {\n return axios\n .put(`/api/calls/task/book/${urlParams.id}`, undefined, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) return data.data;\n\n return data.data.error;\n },\n ],\n })\n .then((res: BookCallTaskData) => res)\n .catch((err: BookCallTaskError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Call } from '../../types';\n\ntype SuccessData = { success: true; data: Call };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CallCallTaskHeaders = { 'x-auth-hc'?: string };\nexport type CallCallTaskUrlParams = { id: number };\nexport type CallCallTaskData = AxiosResponse<ResultData>;\nexport type CallCallTaskError = AxiosError<ResultError>;\nexport type CallCallTaskConfig = {\n baseURL?: string;\n headers?: CallCallTaskHeaders;\n urlParams: CallCallTaskUrlParams;\n};\n\nexport function callCallTaskRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: CallCallTaskConfig) {\n return axios\n .post(\n `/api/calls/task/callback/${urlParams.id}`,\n {},\n {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) return data.data;\n\n return data.data.error;\n },\n ],\n }\n )\n .then((res: CallCallTaskData) => res)\n .catch((err: CallCallTaskError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Call } from '../../types';\n\ntype SuccessData = { success: true; data: Call };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CallCallTaskExpertHeaders = { 'x-auth-hc'?: string };\nexport type CallCallTaskExpertUrlParams = { id: number; expertId: number };\nexport type CallCallTaskExpertData = AxiosResponse<ResultData>;\nexport type CallCallTaskExpertError = AxiosError<ResultError>;\nexport type CallCallTaskExpertConfig = {\n baseURL?: string;\n headers?: CallCallTaskExpertHeaders;\n urlParams: CallCallTaskExpertUrlParams;\n};\n\nexport function callCallTaskExpertRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: CallCallTaskExpertConfig) {\n return axios\n .post(\n `/api/call-center/call-task/${urlParams.id}/call/${urlParams.expertId}`,\n {},\n {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) return data.data;\n\n return data.data.error;\n },\n ],\n }\n )\n .then((res: CallCallTaskExpertData) => res)\n .catch((err: CallCallTaskExpertError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { CallTask } from '../../types';\n\ntype SuccessData = { success: true; data: CallTask };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CloseCallTaskHeaders = { 'x-auth-hc'?: string };\nexport type CloseCallTaskUrlParams = { id: number };\nexport type CloseCallTaskBody = { id: number; tags?: string[]; closingReason?: string; comment?: string };\nexport type CloseCallTaskData = AxiosResponse<ResultData>;\nexport type CloseCallTaskError = AxiosError<ResultError>;\nexport type CloseCallTaskConfig = {\n baseURL?: string;\n headers?: CloseCallTaskHeaders;\n urlParams: CloseCallTaskUrlParams;\n body: CloseCallTaskBody;\n};\n\nexport function closeCallTaskRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n body,\n}: CloseCallTaskConfig) {\n return axios\n .put(`/api/calls/task/close/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) return data.data;\n\n return data.data.error;\n },\n ],\n })\n .then((res: CloseCallTaskData) => res)\n .catch((err: CloseCallTaskError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { CallTask, CallTaskDirection } from '../../types';\n\ntype SuccessData = { success: true; data: CallTask; meta?: { reCaptchaScore: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { data: SuccessData['data']; meta: SuccessData['meta'] };\ntype ResultError = string;\n\nexport type CreateCallTaskHeaders = { 'x-auth-hc'?: string };\nexport type CreateCallTaskBody = {\n name: CallTask['name'];\n phone: CallTask['phone'];\n rtoken: string;\n comment?: CallTask['comment'];\n cookies?: Record<string, string>;\n complexId?: number;\n direction?: CallTaskDirection;\n sourceInfo?: CallTask['sourceInfo'];\n expertId?: number;\n realtyId?: number;\n source?: CallTask['source'];\n utmInfo?: CallTask['utmInfo'];\n referrer?: CallTask['referrer'];\n ipAddress?: CallTask['ipAddress'];\n userAgent?: CallTask['userAgent'];\n userAgentInfo?: CallTask['userAgentInfo'];\n partner?: { login: string; firstName: string };\n};\n\nexport type CreateCallTaskData = AxiosResponse<ResultData>;\nexport type CreateCallTaskError = AxiosError<ResultError>;\nexport type CreateCallTaskConfig = {\n baseURL?: string;\n headers?: CreateCallTaskHeaders;\n body: CreateCallTaskBody;\n};\n\nexport function createCallTaskRequest({ baseURL = 'https://clients.homeapp.ru', body, headers }: CreateCallTaskConfig) {\n return axios\n .post('/api/calls/task', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) return { data: data.data, meta: data.meta };\n\n return data.data.error;\n },\n ],\n })\n .then((res: CreateCallTaskData) => res)\n .catch((err: CreateCallTaskError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { CallTask } from '../../types';\n\ntype SuccessData = { success: true; data: CallTask };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindCallTaskByIdUrlParams = { id: number };\nexport type FindCallTaskByIdHeaders = { 'x-auth-hc': string };\nexport type FindCallTaskByIdData = AxiosResponse<ResultData>;\nexport type FindCallTaskByIdError = AxiosError<ResultError>;\n\nexport type FindCallTaskByIdConfig = {\n baseURL?: string;\n urlParams: FindCallTaskByIdUrlParams;\n headers: FindCallTaskByIdHeaders;\n};\n\nexport function findCallTaskByIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindCallTaskByIdConfig) {\n return axios\n .get(`/api/calls/task/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindCallTaskByIdData) => res)\n .catch((err: FindCallTaskByIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\n\ntype SuccessData = {\n success: true;\n data: {\n source: { source: string; cnt: number }[];\n campaign: { campaign: string; cnt: number }[];\n content: { content: string; cnt: number }[];\n };\n};\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindCallTaskSourceInfoParams = {\n filter?: {\n 'sourceInfo.source'?: string;\n 'sourceInfo.campaign'?: string;\n 'sourceInfo.content'?: string;\n direction?: string;\n };\n limits?: { page?: number; count: number | 'all' };\n sorting?: { direction: 'asc' | 'desc'; type: 'createdAt' | 'id' };\n};\nexport type FindCallTaskSourceInfoHeaders = { 'x-auth-hc': string };\nexport type FindCallTaskSourceInfoData = AxiosResponse<ResultData>;\nexport type FindCallTaskSourceInfoError = AxiosError<ResultError>;\n\nexport type FindCallTaskSourceInfoConfig = {\n baseURL?: string;\n params: FindCallTaskSourceInfoParams;\n headers: FindCallTaskSourceInfoHeaders;\n};\n\nexport function findCallTaskSourceInfoRequest({\n baseURL = 'https://clients.homeapp.ru',\n params,\n headers,\n}: FindCallTaskSourceInfoConfig) {\n return axios\n .get(`/api/calls/task/sourceInfo`, {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindCallTaskSourceInfoData) => res)\n .catch((err: FindCallTaskSourceInfoError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { CallTask, CallTaskStatus, CallTaskTriggeredByEvent } from '../../types';\n\ntype Data = Partial<CallTask> & Required<Pick<CallTask, 'id' | 'status' | 'createdAt'>>;\n\ntype SuccessData = { success: true; data: Data[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: Record<'error' | 'message', string> };\n\ntype ResultData = { ids: number[]; byId: Record<string, Data>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindCallTasksHeaders = { 'x-auth-hc': string };\nexport type FindCallTasksParams = {\n filter?: {\n 'serviceRequest.id'?: string;\n 'curator.id'?: string;\n actualAt?: string | { from: string; to: string };\n createdAt?: string | { from: string; to: string };\n hasAccessTags?: string[];\n hasNoAccessTags?: string[];\n id?: number | number[];\n isObjectRequest?: boolean;\n qualityAssurance?: boolean;\n query?: string;\n status?: CallTaskStatus | CallTaskStatus[];\n triggeredByEvent?: CallTaskTriggeredByEvent;\n };\n limits?: { page?: number; count: number | 'all' };\n sorting?: { direction: 'asc' | 'desc'; type: 'createdAt' | 'id' | 'source' };\n};\nexport type FindCallTasksData = AxiosResponse<ResultData>;\nexport type FindCallTasksError = AxiosError<ResultError>;\nexport type FindCallTasksConfig = {\n baseURL?: string;\n headers: FindCallTasksHeaders;\n params: FindCallTasksParams;\n};\n\nexport function findCallTasksRequest({ baseURL = 'https://clients.homeapp.ru', headers, params }: FindCallTasksConfig) {\n return axios\n .get('/api/calls/task', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n }\n\n return data.data.error || data.data.message;\n },\n ],\n })\n .then((res: FindCallTasksData) => res)\n .catch((err: FindCallTasksError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { CallTaskStatus, CallTaskTriggeredByEvent } from '../../types';\n\ntype SuccessData = { success: true; data: { count: number } };\ntype ErrorData = { success: false; data: Record<'error' | 'message', string> };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = string;\n\nexport type FindCallTasksCountHeaders = { 'x-auth-hc': string };\nexport type FindCallTasksCountParams = {\n filter?: {\n 'serviceRequest.id'?: string;\n actualAt?: string | { from: string; to: string };\n createdAt?: string | { from: string; to: string };\n hasAccessTags?: string[];\n hasNoAccessTags?: string[];\n id?: number | number[];\n isObjectRequest?: boolean;\n qualityAssurance?: boolean;\n query?: string;\n status?: CallTaskStatus | CallTaskStatus[];\n triggeredByEvent?: CallTaskTriggeredByEvent;\n lastRequestDate?: string;\n };\n limits?: { page?: number; count: number | 'all' };\n};\nexport type FindCallTasksCountData = AxiosResponse<ResultData>;\nexport type FindCallTasksCountError = AxiosError<ResultError>;\nexport type FindCallTasksCountConfig = {\n baseURL?: string;\n headers: FindCallTasksCountHeaders;\n params: FindCallTasksCountParams;\n};\n\nexport function findCallTasksCountRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n params,\n}: FindCallTasksCountConfig) {\n return axios\n .get('/api/calls/task/last', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError =>\n data.success ? { count: data?.data?.count } : data.data.error || data.data.message,\n ],\n })\n .then((res: FindCallTasksCountData) => res)\n .catch((err: FindCallTasksCountError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Call } from '../../types';\n\ntype SuccessData = { success: true; data: Call };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type JoinCallTaskCallHeaders = { 'x-auth-hc'?: string };\nexport type JoinCallTaskCallUrlParams = { id: number; expertId: number };\nexport type JoinCallTaskCallData = AxiosResponse<ResultData>;\nexport type JoinCallTaskCallError = AxiosError<ResultError>;\nexport type JoinCallTaskCallConfig = {\n baseURL?: string;\n headers?: JoinCallTaskCallHeaders;\n urlParams: JoinCallTaskCallUrlParams;\n};\n\nexport function joinCallTaskCallRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: JoinCallTaskCallConfig) {\n return axios\n .post(\n `/api/call-center/call-task/${urlParams.id}/join/${urlParams.expertId}`,\n {},\n {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) return data.data;\n\n return data.data.error;\n },\n ],\n }\n )\n .then((res: JoinCallTaskCallData) => res)\n .catch((err: JoinCallTaskCallError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Call } from '../../types';\n\ntype SuccessData = { success: true; data: Call };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type ReturnCallTaskCallHeaders = { 'x-auth-hc'?: string };\nexport type ReturnCallTaskCallUrlParams = { id: number };\nexport type ReturnCallTaskCallData = AxiosResponse<ResultData>;\nexport type ReturnCallTaskCallError = AxiosError<ResultError>;\nexport type ReturnCallTaskCallConfig = {\n baseURL?: string;\n headers?: ReturnCallTaskCallHeaders;\n urlParams: ReturnCallTaskCallUrlParams;\n};\n\nexport function returnCallTaskCallRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: ReturnCallTaskCallConfig) {\n return axios\n .post(\n `/api/call-center/call-task/${urlParams.id}/return/client`,\n {},\n {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) return data.data;\n\n return data.data.error;\n },\n ],\n }\n )\n .then((res: ReturnCallTaskCallData) => res)\n .catch((err: ReturnCallTaskCallError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { CallTask } from '../../types';\n\ntype SuccessData = { success: true; data: CallTask };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type ShiftCallTaskHeaders = { 'x-auth-hc'?: string };\nexport type ShiftCallTaskUrlParams = { id: number };\nexport type ShiftCallTaskBody = { id: number; actualAt: string; comment?: string };\nexport type ShiftCallTaskData = AxiosResponse<ResultData>;\nexport type ShiftCallTaskError = AxiosError<ResultError>;\nexport type ShiftCallTaskConfig = {\n baseURL?: string;\n headers?: ShiftCallTaskHeaders;\n urlParams: ShiftCallTaskUrlParams;\n body: ShiftCallTaskBody;\n};\n\nexport function shiftCallTaskRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n body,\n}: ShiftCallTaskConfig) {\n return axios\n .put(`/api/calls/task/shift/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) return data.data;\n\n return data.data.error;\n },\n ],\n })\n .then((res: ShiftCallTaskData) => res)\n .catch((err: ShiftCallTaskError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { CallTask } from '../../types';\n\ntype SuccessData = { success: true; data: CallTask };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = CallTask;\ntype ResultError = string;\n\nexport type UpdateCallTaskHeaders = { 'x-auth-hc'?: string };\nexport type UpdateCallTaskUrlParams = { id: number };\nexport type UpdateCallTaskBody = Partial<Omit<CallTask, 'partner'>> & {\n partner?: { login: string; firstName: string };\n};\n\nexport type UpdateCallTaskData = AxiosResponse<ResultData>;\nexport type UpdateCallTaskError = AxiosError<ResultError>;\nexport type UpdateCallTaskConfig = {\n baseURL?: string;\n headers?: UpdateCallTaskHeaders;\n body: UpdateCallTaskBody;\n urlParams: UpdateCallTaskUrlParams;\n};\n\nexport function updateCallTaskRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateCallTaskConfig) {\n return axios\n .put(`/api/calls/task/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) return data.data;\n\n return data.data.error;\n },\n ],\n })\n .then((res: UpdateCallTaskData) => res)\n .catch((err: UpdateCallTaskError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Checklist } from '../../types';\n\ntype SuccessData = { success: true; data: Checklist };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindChecklistByServiceRequestIdUrlParams = { serviceRequestId: number };\nexport type FindChecklistByServiceRequestIdHeaders = { 'x-auth-hc'?: string };\nexport type FindChecklistByServiceRequestIdData = AxiosResponse<ResultData>;\nexport type FindChecklistByServiceRequestIdError = AxiosError<ResultError>;\n\nexport type FindChecklistByServiceRequestIdConfig = {\n baseURL?: string;\n urlParams: FindChecklistByServiceRequestIdUrlParams;\n headers?: FindChecklistByServiceRequestIdHeaders;\n};\n\nexport function findChecklistByServiceRequestIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindChecklistByServiceRequestIdConfig) {\n return axios\n .get(`/api/service-request/${urlParams.serviceRequestId}/check-list`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindChecklistByServiceRequestIdData) => res)\n .catch((err: FindChecklistByServiceRequestIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ChecklistQuestionDictionary } from '../../types';\n\ntype SuccessData = { success: true; data: ChecklistQuestionDictionary[] };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, ChecklistQuestionDictionary> };\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindChecklistQuestionsHeaders = { 'x-auth-hc': string };\nexport type FindChecklistQuestionsData = AxiosResponse<ResultData>;\nexport type FindChecklistQuestionsError = AxiosError<ResultError>;\nexport type FindChecklistQuestionsConfig = {\n baseURL?: string;\n headers: FindChecklistQuestionsHeaders;\n};\n\nexport function findChecklistQuestionDictionariesRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n}: FindChecklistQuestionsConfig) {\n return axios\n .get('/api/check-list/dictionary', {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId };\n },\n ],\n })\n .then((res: FindChecklistQuestionsData) => res)\n .catch((err: FindChecklistQuestionsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Checklist, ChecklistQuestionDictionary, ChecklistAnswerDictionary } from '../../types';\n\ntype SuccessData = { success: true; data: Checklist };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdateChecklistUrlParams = { serviceRequestId: number };\nexport type UpdateChecklistHeaders = { 'x-auth-hc': string };\nexport type UpdateChecklistBody = {\n checkListAnswers?: Array<{\n question: Required<Pick<ChecklistQuestionDictionary, 'id'>>;\n answer: Required<Pick<ChecklistAnswerDictionary, 'id'>>;\n }>;\n};\n\nexport type UpdateChecklistData = AxiosResponse<ResultData>;\nexport type UpdateChecklistError = AxiosError<ResultError>;\nexport type UpdateChecklistConfig = {\n baseURL?: string;\n urlParams: UpdateChecklistUrlParams;\n headers: UpdateChecklistHeaders;\n body: UpdateChecklistBody;\n};\n\nexport function updateChecklistRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateChecklistConfig) {\n return axios\n .patch(`/api/service-request/${urlParams.serviceRequestId}/check-list`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: UpdateChecklistData) => res)\n .catch((err: UpdateChecklistError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ChecklistTask, File } from '../../types';\n\ntype SuccessData = { success: true; data: ChecklistTask };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdateChecklistTaskUrlParams = {\n srId: number;\n answerId: number;\n taskId: number;\n};\nexport type UpdateChecklistTaskHeaders = { 'x-auth-hc': string };\nexport type UpdateChecklistTaskBody = {\n comment?: string;\n files?: Array<Pick<File, 'id' | 'type' | 'name' | 'url'>>;\n};\n\nexport type UpdateChecklistTaskData = AxiosResponse<ResultData>;\nexport type UpdateChecklistTaskError = AxiosError<ResultError>;\nexport type UpdateChecklistTaskConfig = {\n baseURL?: string;\n urlParams: UpdateChecklistTaskUrlParams;\n headers: UpdateChecklistTaskHeaders;\n body: UpdateChecklistTaskBody;\n};\n\nexport function updateChecklistTaskRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateChecklistTaskConfig) {\n return axios\n .patch(\n `/api/service-request/${urlParams.srId}/check-list/answer/${urlParams.answerId}/task/${urlParams.taskId}`,\n body,\n {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n }\n )\n .then((res: UpdateChecklistTaskData) => res)\n .catch((err: UpdateChecklistTaskError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { Comment } from '../../../types';\n\ntype SuccessData = { success: true; data: Comment[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, Comment>; meta: { total: number } };\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindCommentsParams = {\n filter?: { 'call.id'?: string };\n sorting?: { type: 'createdAt'; direction: 'asc' | 'desc' };\n limits?: { page?: number; count?: number | 'all' };\n};\n\nexport type FindCommentsHeaders = { 'x-auth-hc': string };\nexport type FindCommentsData = AxiosResponse<ResultData>;\nexport type FindCommentsError = AxiosError<ResultError>;\nexport type FindCommentsConfig = {\n baseURL?: string;\n params: FindCommentsParams;\n headers: FindCommentsHeaders;\n};\n\nexport function findCommentsRequest({ baseURL = 'https://clients.homeapp.ru', headers, params }: FindCommentsConfig) {\n return axios\n .get('/api/comment', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n },\n ],\n })\n .then((res: FindCommentsData) => res)\n .catch((err: FindCommentsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Company } from '../../../types';\n\ntype SuccessData = { success: true; data: Company };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateCompanyHeaders = { 'x-auth-hc': string };\nexport type CreateCompanyBody = Partial<Omit<Company, 'id'>>;\nexport type CreateCompanyData = AxiosResponse<ResultData>;\nexport type CreateCompanyError = AxiosError<ResultError>;\nexport type CreateCompanyConfig = {\n baseURL?: string;\n headers: CreateCompanyHeaders;\n body: CreateCompanyBody;\n};\n\nexport function createCompanyRequest({ baseURL = 'https://clients.homeapp.ru', body, headers }: CreateCompanyConfig) {\n return axios\n .post(`/api/company`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreateCompanyData) => res)\n .catch((err: CreateCompanyError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { Company } from '../../../types';\n\ntype SuccessData = { success: true; data: Company[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, Company>; meta: { total: number } };\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindCompaniesParams = {\n filter?: {\n 'user.id'?: number | number[];\n id?: number | number[];\n title?: string;\n };\n limits?: { page?: number; count: number | 'all' };\n sorting?: {\n direction: 'asc' | 'desc';\n type: string;\n };\n};\n\nexport type FindCompaniesHeaders = { 'x-auth-hc': string };\nexport type FindCompaniesData = AxiosResponse<ResultData>;\nexport type FindCompaniesError = AxiosError<ResultError>;\nexport type FindCompaniesConfig = {\n baseURL?: string;\n params: FindCompaniesParams;\n headers: FindCompaniesHeaders;\n};\n\nexport function findCompaniesRequest({ baseURL = 'https://clients.homeapp.ru', headers, params }: FindCompaniesConfig) {\n return axios\n .get('/api/company', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams?.length || ids.length } };\n },\n ],\n })\n .then((res: FindCompaniesData) => res)\n .catch((err: FindCompaniesError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Company } from '../../../types';\n\ntype SuccessData = { success: true; data: Company };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindCompanyByIdUrlParams = { id: number };\nexport type FindCompanyByIdHeaders = { 'x-auth-hc': string };\nexport type FindCompanyByIdData = AxiosResponse<ResultData>;\nexport type FindCompanyByIdError = AxiosError<ResultError>;\n\nexport type FindCompanyByIdConfig = {\n baseURL?: string;\n urlParams: FindCompanyByIdUrlParams;\n headers: FindCompanyByIdHeaders;\n};\n\nexport function findCompanyByIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindCompanyByIdConfig) {\n return axios\n .get(`/api/company/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindCompanyByIdData) => res)\n .catch((err: FindCompanyByIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Company } from '../../../types';\n\ntype SuccessData = { success: true; data: Company };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdateCompanyUrlParams = { id: number };\nexport type UpdateCompanyHeaders = { 'x-auth-hc': string };\nexport type UpdateCompanyBody = Partial<\n Omit<Company, 'id' | 'createdAt' | 'dealCount' | 'yearIncomes' | 'receiptAmount' | 'commissionSum'>\n>;\nexport type UpdateCompanyData = AxiosResponse<ResultData>;\nexport type UpdateCompanyError = AxiosError<ResultError>;\nexport type UpdateCompanyConfig = {\n baseURL?: string;\n urlParams: UpdateCompanyUrlParams;\n headers: UpdateCompanyHeaders;\n body: UpdateCompanyBody;\n};\n\nexport function updateCompanyRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateCompanyConfig) {\n return axios\n .patch(`/api/company/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: UpdateCompanyData) => res)\n .catch((err: UpdateCompanyError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Contract } from '../../../types';\n\ntype SuccessData = { success: true; data: Partial<Contract> & { id: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type ApproveContractHeaders = { 'x-auth-hc': string };\nexport type ApproveContractUrlParams = { id: number };\nexport type ApproveContractBody = { viewedAt: string; approvedAt?: string };\nexport type ApproveContractData = AxiosResponse<ResultData>;\nexport type ApproveContractError = AxiosError<ResultError>;\nexport type ApproveContractConfig = {\n baseURL?: string;\n urlParams: ApproveContractUrlParams;\n headers: ApproveContractHeaders;\n body: ApproveContractBody;\n};\n\nexport function approveContractRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: ApproveContractConfig) {\n return axios\n .patch(`/api/contract/status/approved/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data?.error),\n ],\n })\n .then((res: ApproveContractData) => res)\n .catch((err: ApproveContractError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Contract, ServiceRequest } from '../../../types';\n\ntype SuccessData = { success: true; data: Contract };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateContractHeaders = { 'x-auth-hc': string };\nexport type CreateContractBody = Pick<Contract, 'amount' | 'duration' | 'isFixedCashCommission' | 'kind' | 'type'> & {\n serviceRequest: Pick<ServiceRequest, 'id'>;\n};\nexport type CreateContractData = AxiosResponse<ResultData>;\nexport type CreateContractError = AxiosError<ResultError>;\nexport type CreateContractConfig = {\n baseURL?: string;\n body: CreateContractBody;\n headers: CreateContractHeaders;\n};\n\nexport function createContractRequest({ baseURL = 'https://clients.homeapp.ru', body, headers }: CreateContractConfig) {\n return axios\n .post(`/api/contract`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreateContractData) => res)\n .catch((err: CreateContractError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateContractLegalDocumentHeaders = { 'x-auth-hc': string };\nexport type CreateContractLegalDocumentUrlParams = { id: number };\nexport type CreateContractLegalDocumentData = AxiosResponse<ResultData>;\nexport type CreateContractLegalDocumentError = AxiosError<ResultError>;\nexport type CreateContractLegalDocumentConfig = {\n baseURL?: string;\n urlParams: CreateContractLegalDocumentUrlParams;\n headers: CreateContractLegalDocumentHeaders;\n};\n\nexport function createContractLegalDocumentRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: CreateContractLegalDocumentConfig) {\n return axios\n .post(`/api/contract/${urlParams.id}/legal-document`, null, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data.error),\n ],\n })\n .then((res: CreateContractLegalDocumentData) => res)\n .catch((err: CreateContractLegalDocumentError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Contract } from '../../../types';\n\ntype SuccessData = { success: true; data: Partial<Contract> & { id: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type DeclineContractHeaders = { 'x-auth-hc': string };\nexport type DeclineContractUrlParams = { id: number };\nexport type DeclineContractBody = { viewedAt: string; declinedAt?: string };\nexport type DeclineContractData = AxiosResponse<ResultData>;\nexport type DeclineContractError = AxiosError<ResultError>;\nexport type DeclineContractConfig = {\n baseURL?: string;\n urlParams: DeclineContractUrlParams;\n headers: DeclineContractHeaders;\n body: DeclineContractBody;\n};\n\nexport function declineContractRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: DeclineContractConfig) {\n return axios\n .patch(`/api/contract/status/declined/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data?.error),\n ],\n })\n .then((res: DeclineContractData) => res)\n .catch((err: DeclineContractError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Contract } from '../../../types';\n\ntype SuccessData = { success: true; data: Contract };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindContractByIdUrlParams = { id: number };\nexport type FindContractByIdHeaders = { 'x-auth-hc': string };\nexport type FindContractByIdData = AxiosResponse<ResultData>;\nexport type FindContractByIdError = AxiosError<ResultError>;\n\nexport type FindContractByIdConfig = {\n baseURL?: string;\n urlParams: FindContractByIdUrlParams;\n headers: FindContractByIdHeaders;\n};\n\nexport function findContractByIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindContractByIdConfig) {\n return axios\n .get(`/api/contract/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindContractByIdData) => res)\n .catch((err: FindContractByIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ContractDocument } from '../../../types';\n\ntype SuccessData = { success: true; data: ContractDocument };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindContractDocumentByContractIdUrlParams = { id: number };\nexport type FindContractDocumentByContractIdHeaders = { 'x-auth-hc': string };\nexport type FindContractDocumentByContractIdData = AxiosResponse<ResultData>;\nexport type FindContractDocumentByContractIdError = AxiosError<ResultError>;\n\nexport type FindContractDocumentByContractIdConfig = {\n baseURL?: string;\n urlParams: FindContractDocumentByContractIdUrlParams;\n headers: FindContractDocumentByContractIdHeaders;\n};\n\nexport function findContractDocumentByContractIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindContractDocumentByContractIdConfig) {\n return axios\n .get(`/api/contract/${urlParams.id}/document`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindContractDocumentByContractIdData) => res)\n .catch((err: FindContractDocumentByContractIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ContractLegalDocument } from '../../../types';\n\ntype SuccessData = { success: true; data: ContractLegalDocument };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindContractLegalDocumentByContractIdUrlParams = { id: number };\nexport type FindContractLegalDocumentByContractIdHeaders = { 'x-auth-hc': string };\nexport type FindContractLegalDocumentByContractIdData = AxiosResponse<ResultData>;\nexport type FindContractLegalDocumentByContractIdError = AxiosError<ResultError>;\n\nexport type FindContractLegalDocumentByContractIdConfig = {\n baseURL?: string;\n urlParams: FindContractLegalDocumentByContractIdUrlParams;\n headers: FindContractLegalDocumentByContractIdHeaders;\n};\n\nexport function findContractLegalDocumentByContractIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindContractLegalDocumentByContractIdConfig) {\n return axios\n .get(`/api/contract/${urlParams.id}/legal-document`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindContractLegalDocumentByContractIdData) => res)\n .catch((err: FindContractLegalDocumentByContractIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { Contract } from '../../../types';\n\ntype SuccessData = { success: true; data: Contract[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: Record<'error' | 'message', string> };\n\ntype ResultData = { ids: number[]; byId: Record<string, Contract>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindContractsHeaders = { 'x-auth-hc': string };\nexport type FindContractsParams = {\n filter?: { id?: number | number[] };\n limits?: { page?: number; count: number | 'all' };\n sorting?: { direction: 'asc' | 'desc'; type: 'id' };\n};\nexport type FindContractsData = AxiosResponse<ResultData>;\nexport type FindContractsError = AxiosError<ResultError>;\nexport type FindContractsConfig = {\n baseURL?: string;\n headers: FindContractsHeaders;\n params: FindContractsParams;\n};\n\nexport function findContractsRequest({ baseURL = 'https://clients.homeapp.ru', headers, params }: FindContractsConfig) {\n return axios\n .get('/api/contract', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error || data.data.message;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n },\n ],\n })\n .then((res: FindContractsData) => res)\n .catch((err: FindContractsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Contract } from '../../../types';\n\ntype Data = Partial<Contract> & { id: number };\n\ntype SuccessData = { success: true; data: Data };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = Data;\ntype ResultError = string;\n\nexport type SignContractHeaders = { 'x-auth-hc': string };\nexport type SignContractUrlParams = { id: number };\nexport type SignContractBody = { signedAt: string; expiresAt: string };\nexport type SignContractData = AxiosResponse<ResultData>;\nexport type SignContractError = AxiosError<ResultError>;\nexport type SignContractConfig = {\n baseURL?: string;\n urlParams: SignContractUrlParams;\n headers: SignContractHeaders;\n body: SignContractBody;\n};\n\nexport function signContractRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: SignContractConfig) {\n return axios\n .patch(`/api/contract/status/signed/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: SignContractData) => res)\n .catch((err: SignContractError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Contract } from '../../../types';\n\ntype SuccessData = { success: true; data: Partial<Contract> & Required<Pick<Contract, 'id'>> };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type TerminateContractHeaders = { 'x-auth-hc': string };\nexport type TerminateContractUrlParams = { id: number };\nexport type TerminateContractBody = { reason: string; amountPenalty?: Contract['amountPenalty'] };\nexport type TerminateContractData = AxiosResponse<ResultData>;\nexport type TerminateContractError = AxiosError<ResultError>;\nexport type TerminateContractConfig = {\n baseURL?: string;\n urlParams: TerminateContractUrlParams;\n body: TerminateContractBody;\n headers: TerminateContractHeaders;\n};\n\nexport function terminateContractRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: TerminateContractConfig) {\n return axios\n .patch(`/api/contract/status/terminate/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: TerminateContractData) => res)\n .catch((err: TerminateContractError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Contract } from '../../../types';\n\ntype SuccessData = { success: true; data: Contract };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdateContractUrlParams = { id: number };\nexport type UpdateContractHeaders = { 'x-auth-hc': string };\nexport type UpdateContractBody = Partial<Contract> & {\n amount: NonNullable<Contract['amount']>;\n duration: NonNullable<Contract['duration']>;\n formalId: NonNullable<Contract['formalId']>;\n isFixedCashCommission: NonNullable<Contract['isFixedCashCommission']>;\n kind: NonNullable<Contract['kind']>;\n serviceRequest: Pick<NonNullable<Contract['serviceRequest']>, 'id'>;\n status: NonNullable<Contract['status']>;\n type: NonNullable<Contract['type']>;\n};\n\nexport type UpdateContractData = AxiosResponse<ResultData>;\nexport type UpdateContractError = AxiosError<ResultError>;\nexport type UpdateContractConfig = {\n baseURL?: string;\n urlParams: UpdateContractUrlParams;\n headers: UpdateContractHeaders;\n body: UpdateContractBody;\n};\n\nexport function updateContractRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateContractConfig) {\n return axios\n .put(`/api/contract/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: UpdateContractData) => res)\n .catch((err: UpdateContractError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ContractDocument } from '../../../types';\n\ntype SuccessData = '';\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdateContractDocumentUrlParams = { id: number };\nexport type UpdateContractDocumentHeaders = { 'x-auth-hc': string };\nexport type UpdateContractDocumentBody = Omit<ContractDocument, 'type' | 'contractNumber' | 'requisites'>;\n\nexport type UpdateContractDocumentData = AxiosResponse<ResultData>;\nexport type UpdateContractDocumentError = AxiosError<ResultError>;\nexport type UpdateContractDocumentConfig = {\n baseURL?: string;\n urlParams: UpdateContractDocumentUrlParams;\n headers: UpdateContractDocumentHeaders;\n body: UpdateContractDocumentBody;\n};\n\nexport function updateContractDocumentRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateContractDocumentConfig) {\n return axios\n .put(`/api/contract/${urlParams.id}/document`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data === '' ? null : data.data.error),\n ],\n })\n .then((res: UpdateContractDocumentData) => res)\n .catch((err: UpdateContractDocumentError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Contract, ContractKind } from '../../../types';\n\ntype Data = Partial<Contract> & { id: number };\n\ntype SuccessData = { success: true; data: Data };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = Data;\ntype ResultError = string;\n\nexport type UpgradeContractHeaders = { 'x-auth-hc': string };\nexport type UpgradeContractUrlParams = { id: number };\nexport type UpgradeContractBody = { kind: ContractKind };\nexport type UpgradeContractData = AxiosResponse<ResultData>;\nexport type UpgradeContractError = AxiosError<ResultError>;\nexport type UpgradeContractConfig = {\n baseURL?: string;\n urlParams: UpgradeContractUrlParams;\n headers: UpgradeContractHeaders;\n body: UpgradeContractBody;\n};\n\nexport function upgradeContractRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpgradeContractConfig) {\n return axios\n .patch(`/api/contract/upgrade/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: UpgradeContractData) => res)\n .catch((err: UpgradeContractError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateCottageComplexHeaders = { 'x-auth-hc': string };\nexport type CreateCottageComplexBody = {\n cianId: number;\n name: string;\n};\n\nexport type CreateCottageComplexData = AxiosResponse<ResultData>;\nexport type CreateCottageComplexError = AxiosError<ResultError>;\nexport type CreateCottageComplexConfig = {\n baseURL?: string;\n headers: CreateCottageComplexHeaders;\n body: CreateCottageComplexBody;\n};\n\nexport function createCottageComplexRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n}: CreateCottageComplexConfig) {\n return axios\n .post('/api/cottage-complex', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data.error),\n ],\n })\n .then((res: CreateCottageComplexData) => res)\n .catch((err: CreateCottageComplexError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type DeleteCrossSaleHeaders = { 'x-auth-hc': string };\nexport type DeleteCrossSaleUrlParams = { serviceRequestId: number; realtyId: number };\nexport type DeleteCrossSaleData = AxiosResponse<ResultData>;\nexport type DeleteCrossSaleError = AxiosError<ResultError>;\nexport type DeleteCrossSaleConfig = {\n baseURL?: string;\n urlParams: DeleteCrossSaleUrlParams;\n headers: DeleteCrossSaleHeaders;\n};\n\nexport function deleteCrossSaleRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: DeleteCrossSaleConfig) {\n return axios\n .delete(`/api/cross-sale/${urlParams.serviceRequestId}/realty/${urlParams.realtyId}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data.error),\n ],\n })\n .then((res: DeleteCrossSaleData) => res)\n .catch((err: DeleteCrossSaleError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { CrossSale } from '../../../types';\n\ntype SuccessData = { success: true; data: CrossSale[] };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, CrossSale> };\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindCrossSaleHeaders = { 'x-auth-hc': string };\nexport type FindCrossSaleUrlParams = { serviceRequestId: number };\nexport type FindCrossSaleData = AxiosResponse<ResultData>;\nexport type FindCrossSaleError = AxiosError<ResultError>;\nexport type FindCrossSaleConfig = {\n baseURL?: string;\n headers: FindCrossSaleHeaders;\n urlParams: FindCrossSaleUrlParams;\n};\n\nexport function findCrossSaleRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindCrossSaleConfig) {\n return axios\n .get(`/api/cross-sale/${urlParams.serviceRequestId}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) {\n return data.data?.error;\n }\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId };\n },\n ],\n })\n .then((res: FindCrossSaleData) => res)\n .catch((err: FindCrossSaleError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { CrossSale, CrossSaleContractorType } from '../../../types';\n\ntype SuccessData = { success: true; data: CrossSale };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdateCrossSaleUrlParams = { serviceRequestId: number; realtyId: number };\nexport type UpdateCrossSaleHeaders = { 'x-auth-hc': string };\nexport type UpdateCrossSaleBody = {\n contractorType?: CrossSaleContractorType | null;\n phone?: { number: string } | null;\n commission?: number;\n comment?: string | null;\n};\nexport type UpdateCrossSaleData = AxiosResponse<ResultData>;\nexport type UpdateCrossSaleError = AxiosError<ResultError>;\nexport type UpdateCrossSaleConfig = {\n baseURL?: string;\n urlParams: UpdateCrossSaleUrlParams;\n headers: UpdateCrossSaleHeaders;\n body: UpdateCrossSaleBody;\n};\n\nexport function updateCrossSaleRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateCrossSaleConfig) {\n return axios\n .patch(`/api/cross-sale/${urlParams.serviceRequestId}/realty/${urlParams.realtyId}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: UpdateCrossSaleData) => res)\n .catch((err: UpdateCrossSaleError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { MoneyAmount } from '../../types';\n\ntype SuccessData = { success: true; data: MoneyAmount };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type GetRubleAmountHeaders = { 'x-auth-hc': string };\nexport type GetRubleAmountBody = Array<MoneyAmount>;\nexport type GetRubleAmountData = AxiosResponse<ResultData>;\nexport type GetRubleAmountError = AxiosError<ResultError>;\nexport type GetRubleAmountConfig = {\n baseURL?: string;\n body: GetRubleAmountBody;\n headers: GetRubleAmountHeaders;\n};\n\nexport function getRubleAmountRequest({ baseURL = 'https://clients.homeapp.ru', body, headers }: GetRubleAmountConfig) {\n return axios\n .post('/api/money/add-up', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: GetRubleAmountData) => res)\n .catch((err: GetRubleAmountError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { CurrencyCourses } from '../../types';\n\ntype SuccessData = { success: true; data: CurrencyCourses[] };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type GetCurrencyCoursesHeaders = { 'x-auth-hc': string };\nexport type GetCurrencyCoursesData = AxiosResponse<ResultData>;\nexport type GetCurrencyCoursesError = AxiosError<ResultError>;\nexport type GetCurrencyCoursesConfig = {\n baseURL?: string;\n headers: GetCurrencyCoursesHeaders;\n};\n\nexport function getCurrencyCoursesRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n}: GetCurrencyCoursesConfig) {\n return axios\n .get('/api/currency-rate/get-last-available', {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: GetCurrencyCoursesData) => res)\n .catch((err: GetCurrencyCoursesError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Deal, DealParticipant } from '../../../types';\n\ntype SuccessData = { success: true; data: Deal };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateDealHeaders = { 'x-auth-hc': string };\nexport type CreateDealBody = {\n invest: { isInvestBuyout: boolean } | null;\n participants: Partial<DealParticipant>[];\n clientCommission: NonNullable<Deal['clientCommission']>;\n\n plannedCommission?: NonNullable<Deal['plannedCommission']>;\n buyer?: { id?: number; name: string; phone: string };\n buyParams?: { address?: string; flatNumber?: number; cadastralNumber?: string };\n comment?: Deal['comment'];\n companyDedicatedCommission?: Deal['companyDedicatedCommission'];\n contract?: Pick<NonNullable<Deal['contract']>, 'id'>;\n dealSignPlannedAt?: Deal['dealSignPlannedAt'];\n developerCommission?: Deal['developerCommission'];\n finalPrice?: Deal['finalPrice'];\n hasPrepayment?: Deal['hasPrepayment'];\n partnerCommission?: Deal['partnerCommission'];\n partnerDealType?: Deal['partnerDealType'];\n prepaymentPlannedAt?: Deal['prepaymentPlannedAt'];\n prepaymentPlannedPlace?: Deal['prepaymentPlannedPlace'];\n};\n\nexport type CreateDealData = AxiosResponse<ResultData>;\nexport type CreateDealError = AxiosError<ResultError>;\nexport type CreateDealConfig = {\n baseURL?: string;\n headers: CreateDealHeaders;\n body: CreateDealBody;\n};\n\nexport function createDealRequest({ baseURL = 'https://clients.homeapp.ru', body, headers }: CreateDealConfig) {\n return axios\n .post(`/api/deal`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreateDealData) => res)\n .catch((err: CreateDealError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { DealCategorizedFile, DealCategorizedFileCategory } from '../../../types';\n\ntype SuccessData = { success: true; data: DealCategorizedFile };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateDealCategorizedFileHeaders = { 'x-auth-hc': string };\nexport type CreateDealCategorizedFileUrlParams = { id: number };\nexport type CreateDealCategorizedFileBody = {\n file: { id: number };\n category: Exclude<\n DealCategorizedFileCategory,\n | DealCategorizedFileCategory.Act\n | DealCategorizedFileCategory.ActDeveloper\n | DealCategorizedFileCategory.Risk\n | DealCategorizedFileCategory.DeleteReason\n | DealCategorizedFileCategory.OwnershipTransfers\n | DealCategorizedFileCategory.Egrn\n >;\n};\n\nexport type CreateDealCategorizedFileData = AxiosResponse<ResultData>;\nexport type CreateDealCategorizedFileError = AxiosError<ResultError>;\nexport type CreateDealCategorizedFileConfig = {\n baseURL?: string;\n urlParams: CreateDealCategorizedFileUrlParams;\n headers: CreateDealCategorizedFileHeaders;\n body: CreateDealCategorizedFileBody;\n};\n\nexport function createDealCategorizedFileRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: CreateDealCategorizedFileConfig) {\n return axios\n .post(`/api/deal/${urlParams.id}/file`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data?.error),\n ],\n })\n .then((res: CreateDealCategorizedFileData) => res)\n .catch((err: CreateDealCategorizedFileError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Deal } from '../../../types';\n\ntype SuccessData = { success: true; data: Partial<Deal> & { id: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateDealInvestPrepaymentHeaders = { 'x-auth-hc': string };\nexport type CreateDealInvestPrepaymentUrlParams = { id: number };\nexport type CreateDealInvestPrepaymentBody = { investBuyoutPrepaymentSum: number; investBuyoutPrepaymentAt: string };\nexport type CreateDealInvestPrepaymentData = AxiosResponse<ResultData>;\nexport type CreateDealInvestPrepaymentError = AxiosError<ResultError>;\nexport type CreateDealInvestPrepaymentConfig = {\n baseURL?: string;\n urlParams: CreateDealInvestPrepaymentUrlParams;\n headers: CreateDealInvestPrepaymentHeaders;\n body: CreateDealInvestPrepaymentBody;\n};\n\nexport function createDealInvestPrepaymentRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n body,\n}: CreateDealInvestPrepaymentConfig) {\n return axios\n .patch(`/api/deal/invest-prepayment/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreateDealInvestPrepaymentData) => res)\n .catch((err: CreateDealInvestPrepaymentError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = never;\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type DeleteDealCategorizedFileHeaders = { 'x-auth-hc': string };\nexport type DeleteDealCategorizedFileUrlParams = { dealId: number; id: number };\nexport type DeleteDealCategorizedFileData = AxiosResponse<ResultData>;\nexport type DeleteDealCategorizedFileError = AxiosError<ResultError>;\nexport type DeleteDealCategorizedFileConfig = {\n baseURL?: string;\n urlParams: DeleteDealCategorizedFileUrlParams;\n headers: DeleteDealCategorizedFileHeaders;\n};\n\nexport function deleteDealCategorizedFileRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: DeleteDealCategorizedFileConfig) {\n return axios\n .delete(`/api/deal/${urlParams.dealId}/file/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data && !data.success ? data.data?.error : null),\n ],\n })\n .then((res: DeleteDealCategorizedFileData) => res)\n .catch((err: DeleteDealCategorizedFileError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Deal } from '../../../types';\n\ntype SuccessData = { success: true; data: Deal };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindDealByIdUrlParams = { id: number };\nexport type FindDealByIdHeaders = { 'x-auth-hc': string };\nexport type FindDealByIdData = AxiosResponse<ResultData>;\nexport type FindDealByIdError = AxiosError<ResultError>;\n\nexport type FindDealByIdConfig = {\n baseURL?: string;\n urlParams: FindDealByIdUrlParams;\n headers: FindDealByIdHeaders;\n};\n\nexport function findDealByIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindDealByIdConfig) {\n return axios\n .get(`/api/deal/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindDealByIdData) => res)\n .catch((err: FindDealByIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { DealCategorizedFile } from '../../../types';\n\ntype SuccessData = { success: true; data: DealCategorizedFile[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, DealCategorizedFile>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindDealCategorizedFilesHeaders = { 'x-auth-hc': string };\nexport type FindDealCategorizedFilesUrlParams = { id: number };\nexport type FindDealCategorizedFilesParams = {\n filter?: {\n id?: number | number[];\n };\n limits?: { page?: number; count: number | 'all' };\n sorting?: { direction: 'asc' | 'desc'; type: 'file.createdAt' };\n};\nexport type FindDealCategorizedFilesData = AxiosResponse<ResultData>;\nexport type FindDealCategorizedFilesError = AxiosError<ResultError>;\nexport type FindDealCategorizedFilesConfig = {\n baseURL?: string;\n urlParams: FindDealCategorizedFilesUrlParams;\n headers: FindDealCategorizedFilesHeaders;\n params: FindDealCategorizedFilesParams;\n};\n\nexport function findDealCategorizedFilesRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n params,\n}: FindDealCategorizedFilesConfig) {\n return axios\n .get(`/api/deal/${urlParams.id}/file`, {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n }\n\n return data.data?.error;\n },\n ],\n })\n .then((res: FindDealCategorizedFilesData) => res)\n .catch((err: FindDealCategorizedFilesError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\n\ntype SuccessData = { success: true; data: { month: string; count: number; commission: number }[] };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindDealExpertStatisticsParams = { filter?: { from: string; to: string } };\nexport type FindDealExpertStatisticsUrlParams = { id: number };\nexport type FindDealExpertStatisticsHeaders = { 'x-auth-hc': string };\nexport type FindDealExpertStatisticsData = AxiosResponse<ResultData>;\nexport type FindDealExpertStatisticsError = AxiosError<ResultError>;\nexport type FindDealExpertStatisticsConfig = {\n baseURL?: string;\n headers: FindDealExpertStatisticsHeaders;\n params: FindDealExpertStatisticsParams;\n urlParams: FindDealExpertStatisticsUrlParams;\n};\n\nexport function findDealExpertStatisticsRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n params,\n urlParams,\n}: FindDealExpertStatisticsConfig) {\n return axios\n .get(`/api/deal/${urlParams.id}/expert-statistic`, {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindDealExpertStatisticsData) => res)\n .catch((err: FindDealExpertStatisticsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { ContractStatus, Deal, DealStatus, ServiceRequestType } from '../../../types';\nimport { RealtyType } from '../../../../v2';\n\ntype SuccessData = {\n success: true;\n data: Deal[];\n meta: { plannedCommissionSum: number; receivedCommissionSum: number };\n pageParams: { page: number; length: number };\n};\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = {\n ids: number[];\n byId: Record<string, Deal>;\n meta: { total: number; plannedCommissionSum: number; receivedCommissionSum: number };\n};\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindDealsParams = {\n filter?: {\n actSignedAt?: { from?: string; to?: string };\n address?: string;\n 'contract.serviceRequest.curator.office'?: string;\n 'contract.serviceRequest.id'?: number | 'null' | 'notnull';\n 'contract.serviceRequest.investBuyoutDeal.id'?: number | 'null' | 'notnull';\n 'contract.serviceRequest.realtyType'?: RealtyType;\n 'contract.serviceRequest.type'?: ServiceRequestType;\n 'contract.signedAt'?: { from?: string; to?: string };\n 'contract.status'?: ContractStatus;\n commonId?: string;\n createdAt?: { from?: string; to?: string };\n dealDoneAt?: { from?: string; to?: string };\n dealSignedAt?: { from?: string; to?: string };\n 'expert.id'?: number | 'null' | 'notnull';\n 'expert.supervisor.id'?: number | 'null' | 'notnull';\n financeConfirmAt?: { from?: string; to?: string } | 'null' | 'notnull';\n hasPassedDate?: boolean;\n hasPrepayment?: boolean;\n id?: number | number[] | 'null' | 'notnull';\n isInvestBuyout?: boolean;\n isLawyerRequired?: boolean;\n 'lawyer.id'?: number | 'null' | 'notnull';\n lawyerNotRequiredReason?: string;\n prepaidAt?: { from?: string; to?: string };\n prepaymentPlannedAt?: { from?: string; to?: string };\n registeredAt?: { from?: string; to?: string };\n status?: DealStatus | DealStatus[];\n terminatedAt?: { from?: string; to?: string };\n withTerminated?: boolean;\n };\n limits?: { page?: number; count: number | 'all' };\n sorting?: {\n direction: 'asc' | 'desc';\n type:\n | 'commissionAt'\n | 'commissionPlannedAt'\n | 'createdAt'\n | 'dealDoneAt'\n | 'dealSignPlannedAt'\n | 'dealSignedAt'\n | 'prepaidAt'\n | 'prepaymentPlannedAt'\n | 'registerPlannedAt'\n | 'registeredAt'\n | 'terminationRequestedAt';\n };\n};\n\nexport type FindDealsHeaders = { 'x-auth-hc': string };\nexport type FindDealsData = AxiosResponse<ResultData>;\nexport type FindDealsError = AxiosError<ResultError>;\nexport type FindDealsConfig = {\n baseURL?: string;\n headers: FindDealsHeaders;\n params: FindDealsParams;\n};\n\nexport function findDealsRequest({ baseURL = 'https://clients.homeapp.ru', headers, params }: FindDealsConfig) {\n return axios\n .get('/api/deal', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { ...data.meta, total: data.pageParams.length } };\n },\n ],\n })\n .then((res: FindDealsData) => res)\n .catch((err: FindDealsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Deal } from '../../../types';\n\ntype SuccessData = { success: true; data: Partial<Deal> & { id: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type SetDealClassificationScoreHeaders = { 'x-auth-hc': string };\nexport type SetDealClassificationScoreUrlParams = { id: number };\nexport type SetDealClassificationScoreBody = { dealId: number; classificationScore: number };\n\nexport type SetDealClassificationScoreData = AxiosResponse<ResultData>;\nexport type SetDealClassificationScoreError = AxiosError<ResultError>;\nexport type SetDealClassificationScoreConfig = {\n baseURL?: string;\n urlParams: SetDealClassificationScoreUrlParams;\n headers: SetDealClassificationScoreHeaders;\n body: SetDealClassificationScoreBody;\n};\n\nexport function setDealClassificationScoreRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n body,\n}: SetDealClassificationScoreConfig) {\n return axios\n .post(`/api/deal/classification-score/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: SetDealClassificationScoreData) => res)\n .catch((err: SetDealClassificationScoreError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Deal } from '../../../types';\n\ntype SuccessData = { success: true; data: Partial<Deal> & { id: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type SetDealDoneStateUrlParams = { id: number };\nexport type SetDealDoneStateHeaders = { 'x-auth-hc': string };\n\nexport type SetDealDoneStateData = AxiosResponse<ResultData>;\nexport type SetDealDoneStateError = AxiosError<ResultError>;\nexport type SetDealDoneStateConfig = {\n baseURL?: string;\n urlParams: SetDealDoneStateUrlParams;\n headers: SetDealDoneStateHeaders;\n};\n\nexport function setDealDoneStateRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: SetDealDoneStateConfig) {\n return axios\n .patch(`/api/deal/status/deal-done/${urlParams.id}`, null, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: SetDealDoneStateData) => res)\n .catch((err: SetDealDoneStateError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Deal } from '../../../types';\n\ntype SuccessData = { success: true; data: Partial<Deal> & { id: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type SetDealFinanceConfirmStateUrlParams = { id: number };\nexport type SetDealFinanceConfirmStateHeaders = { 'x-auth-hc': string };\n\nexport type SetDealFinanceConfirmStateData = AxiosResponse<ResultData>;\nexport type SetDealFinanceConfirmStateError = AxiosError<ResultError>;\nexport type SetDealFinanceConfirmStateConfig = {\n baseURL?: string;\n urlParams: SetDealFinanceConfirmStateUrlParams;\n headers: SetDealFinanceConfirmStateHeaders;\n};\n\nexport function setDealFinanceConfirmStateRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: SetDealFinanceConfirmStateConfig) {\n return axios\n .patch(`/api/deal/status/finance-confirm/${urlParams.id}`, null, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: SetDealFinanceConfirmStateData) => res)\n .catch((err: SetDealFinanceConfirmStateError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Deal } from '../../../types';\n\ntype SuccessData = { success: true; data: Partial<Deal> & { id: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type SetDealGuaranteedPaymentHeaders = { 'x-auth-hc': string };\nexport type SetDealGuaranteedPaymentUrlParams = { id: number };\nexport type SetDealGuaranteedPaymentBody = { dealId: number; guaranteedPayment: boolean };\n\nexport type SetDealGuaranteedPaymentData = AxiosResponse<ResultData>;\nexport type SetDealGuaranteedPaymentError = AxiosError<ResultError>;\nexport type SetDealGuaranteedPaymentConfig = {\n baseURL?: string;\n urlParams: SetDealGuaranteedPaymentUrlParams;\n headers: SetDealGuaranteedPaymentHeaders;\n body: SetDealGuaranteedPaymentBody;\n};\n\nexport function setDealGuaranteedPaymentRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n body,\n}: SetDealGuaranteedPaymentConfig) {\n return axios\n .post(`/api/deal/guaranteed-payment/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: SetDealGuaranteedPaymentData) => res)\n .catch((err: SetDealGuaranteedPaymentError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Deal } from '../../../types';\n\ntype SuccessData = { success: true; data: Partial<Deal> & { id: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type SetDealPrepaidDateUrlParams = { id: number };\nexport type SetDealPrepaidDateHeaders = { 'x-auth-hc': string };\nexport type SetDealPrepaidDateBody = {\n prepaidAt: string;\n};\n\nexport type SetDealPrepaidDateData = AxiosResponse<ResultData>;\nexport type SetDealPrepaidDateError = AxiosError<ResultError>;\nexport type SetDealPrepaidDateConfig = {\n baseURL?: string;\n urlParams: SetDealPrepaidDateUrlParams;\n headers: SetDealPrepaidDateHeaders;\n body: SetDealPrepaidDateBody;\n};\n\nexport function setDealPrepaidDateRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: SetDealPrepaidDateConfig) {\n return axios\n .patch(`/api/deal/set-prepaid-at/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: SetDealPrepaidDateData) => res)\n .catch((err: SetDealPrepaidDateError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Deal } from '../../../types';\n\ntype SuccessData = { success: true; data: Partial<Deal> & { id: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type SetDealPrepaymentStateUrlParams = { id: number };\nexport type SetDealPrepaymentStateHeaders = { 'x-auth-hc': string };\nexport type SetDealPrepaymentStateBody = {\n rollbackReason?: string;\n prepaidAt?: string;\n dealSignPlannedAt?: string;\n};\n\nexport type SetDealPrepaymentStateData = AxiosResponse<ResultData>;\nexport type SetDealPrepaymentStateError = AxiosError<ResultError>;\nexport type SetDealPrepaymentStateConfig = {\n baseURL?: string;\n urlParams: SetDealPrepaymentStateUrlParams;\n headers: SetDealPrepaymentStateHeaders;\n body: SetDealPrepaymentStateBody;\n};\n\nexport function setDealPrepaymentStateRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: SetDealPrepaymentStateConfig) {\n return axios\n .patch(`/api/deal/status/prepaid/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: SetDealPrepaymentStateData) => res)\n .catch((err: SetDealPrepaymentStateError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Deal } from '../../../types';\n\ntype SuccessData = { success: true; data: Partial<Deal> & { id: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type SetDealRegisteredStateUrlParams = { id: number };\nexport type SetDealRegisteredStateHeaders = { 'x-auth-hc': string };\nexport type SetDealRegisteredStateBody = {\n rollbackReason?: string;\n registeredAt?: string;\n commissionPlannedAt?: string;\n};\n\nexport type SetDealRegisteredStateData = AxiosResponse<ResultData>;\nexport type SetDealRegisteredStateError = AxiosError<ResultError>;\nexport type SetDealRegisteredStateConfig = {\n baseURL?: string;\n urlParams: SetDealRegisteredStateUrlParams;\n headers: SetDealRegisteredStateHeaders;\n body: SetDealRegisteredStateBody;\n};\n\nexport function setDealRegisteredStateRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: SetDealRegisteredStateConfig) {\n return axios\n .patch(`/api/deal/status/registered/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: SetDealRegisteredStateData) => res)\n .catch((err: SetDealRegisteredStateError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Deal } from '../../../types';\n\ntype SuccessData = { success: true; data: Partial<Deal> & { id: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type SetDealSignPlannedStateUrlParams = { id: number };\nexport type SetDealSignPlannedStateHeaders = { 'x-auth-hc': string };\nexport type SetDealSignPlannedStateBody = {\n rollbackReason?: string;\n dealSignPlannedAt?: string;\n};\n\nexport type SetDealSignPlannedStateData = AxiosResponse<ResultData>;\nexport type SetDealSignPlannedStateError = AxiosError<ResultError>;\nexport type SetDealSignPlannedStateConfig = {\n baseURL?: string;\n urlParams: SetDealSignPlannedStateUrlParams;\n headers: SetDealSignPlannedStateHeaders;\n body: SetDealSignPlannedStateBody;\n};\n\nexport function setDealSignPlannedStateRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: SetDealSignPlannedStateConfig) {\n return axios\n .patch(`/api/deal/status/deal-planned/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: SetDealSignPlannedStateData) => res)\n .catch((err: SetDealSignPlannedStateError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Deal } from '../../../types';\n\ntype SuccessData = { success: true; data: Partial<Deal> & { id: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type SetDealSignedStateUrlParams = { id: number };\nexport type SetDealSignedStateHeaders = { 'x-auth-hc': string };\nexport type SetDealSignedStateBody = {\n rollbackReason?: string;\n dealSignedAt?: string;\n registerPlannedAt?: string;\n};\n\nexport type SetDealSignedStateData = AxiosResponse<ResultData>;\nexport type SetDealSignedStateError = AxiosError<ResultError>;\nexport type SetDealSignedStateConfig = {\n baseURL?: string;\n urlParams: SetDealSignedStateUrlParams;\n headers: SetDealSignedStateHeaders;\n body: SetDealSignedStateBody;\n};\n\nexport function setDealSignedStateRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: SetDealSignedStateConfig) {\n return axios\n .patch(`/api/deal/status/deal-signed/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: SetDealSignedStateData) => res)\n .catch((err: SetDealSignedStateError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Deal } from '../../../types';\n\ntype SuccessData = { success: true; data: Deal };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type TerminateDealUrlParams = { id: number };\nexport type TerminateDealHeaders = { 'x-auth-hc': string };\nexport type TerminateDealBody = { terminationReason: string };\n\nexport type TerminateDealData = AxiosResponse<ResultData>;\nexport type TerminateDealError = AxiosError<ResultError>;\nexport type TerminateDealConfig = {\n baseURL?: string;\n urlParams: TerminateDealUrlParams;\n headers: TerminateDealHeaders;\n body: TerminateDealBody;\n};\n\nexport function terminateDealRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: TerminateDealConfig) {\n return axios\n .patch(`/api/deal/status/terminated/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: TerminateDealData) => res)\n .catch((err: TerminateDealError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport {\n Deal,\n DealNoLawyerReason,\n DealPartnerDealType,\n DealCategorizedFileCategory,\n DealParticipant,\n} from '../../../types';\n\ntype SuccessData = { success: true; data: Deal };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdateDealUrlParams = { id: number };\nexport type UpdateDealHeaders = { 'x-auth-hc': string };\nexport type UpdateDealBody = {\n actDeveloperSignedAt?: string | null;\n actSignedAt?: string | null;\n comment?: string;\n commissionPlannedAt?: string;\n companyDedicatedCommission?: Deal['companyDedicatedCommission'];\n dataChangeReason?: string;\n dealSignedAt?: string;\n dealSignPlannedAt?: string;\n developerCommission?: Deal['developerCommission'];\n files?: Array<{\n category: DealCategorizedFileCategory;\n id?: number;\n name: string;\n type: string;\n url: string;\n }>;\n finalPrice?: Deal['finalPrice'];\n invest?: { isInvestBuyout: boolean };\n isDayOff?: boolean;\n isLawyerRequired?: boolean;\n lawyer?: { id: number } | null;\n lawyerNotRequiredReason?: DealNoLawyerReason | null;\n partnerCommission?: Deal['partnerCommission'] | null;\n partnerDealType?: DealPartnerDealType | null;\n plannedCommission?: Deal['plannedCommission'];\n clientCommission?: Deal['clientCommission'];\n prepaidAt?: string;\n participants?: Partial<DealParticipant>[];\n prepaymentPlannedAt?: string;\n registeredAt?: string;\n registerPlannedAt?: string;\n terminationRequestedAt?: string | null;\n withLawyer?: boolean;\n withLegalChecks?: boolean;\n dealBuy?: Deal['dealBuy'];\n expertPartner?: Deal['expertPartner'];\n percentExpertPartner?: Deal['percentExpertPartner'];\n costsLegalCheck?: Deal['costsLegalCheck'];\n};\n\nexport type UpdateDealData = AxiosResponse<ResultData>;\nexport type UpdateDealError = AxiosError<ResultError>;\nexport type UpdateDealConfig = {\n baseURL?: string;\n urlParams: UpdateDealUrlParams;\n headers: UpdateDealHeaders;\n body: UpdateDealBody;\n};\n\nexport function updateDealRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateDealConfig) {\n return axios\n .patch(`/api/deal/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: UpdateDealData) => res)\n .catch((err: UpdateDealError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Debt } from '../../types';\n\ntype SuccessData = { success: true; data: { dealId: number; debts: Debt[] } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateDebtsHeaders = { 'x-auth-hc': string };\nexport type CreateDebtsBody = {\n dealId: number;\n debts: Array<{\n amount: NonNullable<Debt['amount']>;\n paymentType: NonNullable<Debt['paymentType']>;\n }>;\n};\n\nexport type CreateDebtsData = AxiosResponse<ResultData>;\nexport type CreateDebtsError = AxiosError<ResultError>;\nexport type CreateDebtsConfig = {\n baseURL?: string;\n headers: CreateDebtsHeaders;\n body: CreateDebtsBody;\n};\n\nexport function createDebtsRequest({ baseURL = 'https://clients.homeapp.ru', body, headers }: CreateDebtsConfig) {\n return axios\n .post('/api/debt', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreateDebtsData) => res)\n .catch((err: CreateDebtsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = '';\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type DeleteDebtHeaders = { 'x-auth-hc': string };\nexport type DeleteDebtUrlParams = { id: number };\nexport type DeleteDebtData = AxiosResponse<ResultData>;\nexport type DeleteDebtError = AxiosError<ResultError>;\nexport type DeleteDebtConfig = {\n baseURL?: string;\n urlParams: DeleteDebtUrlParams;\n headers: DeleteDebtHeaders;\n};\n\nexport function deleteDebtRequest({ baseURL = 'https://clients.homeapp.ru', urlParams, headers }: DeleteDebtConfig) {\n return axios\n .delete(`/api/debt/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data === '' ? null : data.data.error),\n ],\n })\n .then((res: DeleteDebtData) => res)\n .catch((err: DeleteDebtError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { Debt, DebtPaymentType } from '../../types';\n\ntype SuccessData = { success: true; data: Debt[]; pageParams: { length: number; page: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, Debt>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindDebtsHeaders = { 'x-auth-hc'?: string };\nexport type FindDebtsParams = {\n filter?: {\n 'personalAssistant.id'?: number;\n 'serviceRequest.curator.id'?: number;\n 'serviceRequest.id'?: number;\n isRepaid?: boolean;\n paymentType?: DebtPaymentType | DebtPaymentType[];\n };\n limits?: { page?: number; count?: number | 'all' };\n sorting?: { type: 'createdAt'; direction: 'asc' | 'desc' };\n};\nexport type FindDebtsData = AxiosResponse<ResultData>;\nexport type FindDebtsError = AxiosError<ResultError>;\nexport type FindDebtsConfig = {\n baseURL?: string;\n headers?: FindDebtsHeaders;\n params: FindDebtsParams;\n};\n\nexport function findDebtsRequest({ baseURL = 'https://clients.homeapp.ru', headers, params }: FindDebtsConfig) {\n return axios\n .get('/api/debt', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n }\n\n return data.data.error;\n },\n ],\n })\n .then((res: FindDebtsData) => res)\n .catch((err: FindDebtsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Debt } from '../../types';\n\ntype SuccessData = { success: true; data: Debt };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdateDebtHeaders = { 'x-auth-hc': string };\nexport type UpdateDebtUrlParams = { id: number };\nexport type UpdateDebtBody = {\n amount?: NonNullable<Debt['amount']>;\n paymentType?: NonNullable<Debt['paymentType']>;\n};\n\nexport type UpdateDebtData = AxiosResponse<ResultData>;\nexport type UpdateDebtError = AxiosError<ResultError>;\nexport type UpdateDebtConfig = {\n baseURL?: string;\n headers: UpdateDebtHeaders;\n urlParams: UpdateDebtUrlParams;\n body: UpdateDebtBody;\n};\n\nexport function updateDebtRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateDebtConfig) {\n return axios\n .patch(`/api/debt/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: UpdateDebtData) => res)\n .catch((err: UpdateDebtError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Event } from '../../../types';\n\ntype SuccessData = { success: true; data: Event };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateEventHeaders = { 'x-auth-hc': string };\nexport type CreateEventBody = {\n description: Event['description'];\n name: Event['name'];\n promoImage: Event['promoImage'];\n scheduledAt: Event['scheduledAt'];\n};\n\nexport type CreateEventData = AxiosResponse<ResultData>;\nexport type CreateEventError = AxiosError<ResultError>;\nexport type CreateEventConfig = {\n baseURL?: string;\n headers: CreateEventHeaders;\n body: CreateEventBody;\n};\n\nexport function createEventRequest({ baseURL = 'https://clients.homeapp.ru', body, headers }: CreateEventConfig) {\n return axios\n .post('/api/site/event', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreateEventData) => res)\n .catch((err: CreateEventError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true; data: string };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type DeleteEventHeaders = { 'x-auth-hc': string };\nexport type DeleteEventUrlParams = { id: number };\nexport type DeleteEventData = AxiosResponse<ResultData>;\nexport type DeleteEventError = AxiosError<ResultError>;\nexport type DeleteEventConfig = {\n baseURL?: string;\n urlParams: DeleteEventUrlParams;\n headers: DeleteEventHeaders;\n};\n\nexport function deleteEventRequest({ baseURL = 'https://clients.homeapp.ru', urlParams, headers }: DeleteEventConfig) {\n return axios\n .delete(`/api/site/event/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: DeleteEventData) => res)\n .catch((err: DeleteEventError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Event } from '../../../types';\n\ntype SuccessData = { success: true; data: Event };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindEventByIdUrlParams = { id: number };\nexport type FindEventByIdHeaders = { 'x-auth-hc'?: string };\nexport type FindEventByIdData = AxiosResponse<ResultData>;\nexport type FindEventByIdError = AxiosError<ResultError>;\n\nexport type FindEventByIdConfig = {\n baseURL?: string;\n urlParams: FindEventByIdUrlParams;\n headers?: FindEventByIdHeaders;\n};\n\nexport function findEventByIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindEventByIdConfig) {\n return axios\n .get(`/api/site/event/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindEventByIdData) => res)\n .catch((err: FindEventByIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { Event } from '../../../types';\n\ntype SuccessData = { success: true; data: Event[]; pageParams: { length: number; page: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, Event>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindEventsHeaders = { 'x-auth-hc'?: string };\nexport type FindEventsParams = {\n filter?: {\n hasFiles?: boolean;\n id?: number;\n name?: string;\n scheduledAt?: { from?: string; to?: string };\n };\n limits?: { page?: number; count?: number | 'all' };\n sorting?: { type: 'id' | 'scheduledAt'; direction: 'asc' | 'desc' };\n};\nexport type FindEventsData = AxiosResponse<ResultData>;\nexport type FindEventsError = AxiosError<ResultError>;\nexport type FindEventsConfig = {\n baseURL?: string;\n headers?: FindEventsHeaders;\n params: FindEventsParams;\n};\n\nexport function findEventsRequest({ baseURL = 'https://clients.homeapp.ru', headers, params }: FindEventsConfig) {\n return axios\n .get('/api/site/event', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n }\n\n return data.data.error;\n },\n ],\n })\n .then((res: FindEventsData) => res)\n .catch((err: FindEventsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Event } from '../../../types';\n\ntype SuccessData = { success: true; data: Event };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdateEventUrlParams = { id: number };\nexport type UpdateEventHeaders = { 'x-auth-hc': string };\nexport type UpdateEventBody = {\n description?: Event['description'];\n name?: Event['name'];\n promoImage?: Event['promoImage'];\n scheduledAt?: Event['scheduledAt'];\n videoUrl?: Event['videoUrl'];\n videoPreviewImage?: Event['videoPreviewImage'];\n files?: Event['files'];\n};\n\nexport type UpdateEventData = AxiosResponse<ResultData>;\nexport type UpdateEventError = AxiosError<ResultError>;\nexport type UpdateEventConfig = {\n baseURL?: string;\n urlParams: UpdateEventUrlParams;\n headers: UpdateEventHeaders;\n body: UpdateEventBody;\n};\n\nexport function updateEventRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateEventConfig) {\n return axios\n .patch(`/api/site/event/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: UpdateEventData) => res)\n .catch((err: UpdateEventError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { EventRequest } from '../../../types';\n\ntype SuccessData = { success: true; data: EventRequest };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateEventRequestBody = {\n email: EventRequest['email'];\n event: Required<Pick<EventRequest['event'], 'id'>>;\n experience: EventRequest['experience'];\n member: EventRequest['member'];\n originSource: EventRequest['originSource'];\n phoneNumber: EventRequest['phoneNumber'];\n referrer?: EventRequest['referrer'];\n utmCampaign?: EventRequest['utmCampaign'];\n utmContent?: EventRequest['utmContent'];\n utmMedium?: EventRequest['utmMedium'];\n};\n\nexport type CreateEventRequestData = AxiosResponse<ResultData>;\nexport type CreateEventRequestError = AxiosError<ResultError>;\nexport type CreateEventRequestConfig = {\n baseURL?: string;\n body: CreateEventRequestBody;\n};\n\nexport function createEventRequestRequest({ baseURL = 'https://clients.homeapp.ru', body }: CreateEventRequestConfig) {\n return axios\n .post('/api/site/event/request', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json' },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreateEventRequestData) => res)\n .catch((err: CreateEventRequestError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { EventRequest } from '../../../types';\n\ntype SuccessData = { success: true; data: EventRequest[]; pageParams: { length: number; page: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, EventRequest>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindEventRequestsHeaders = { 'x-auth-hc'?: string };\nexport type FindEventRequestsParams = {\n filter?: {\n 'event.id'?: number;\n 'event.scheduledAt'?: { from?: string; to?: string };\n createdAt?: { from?: string; to?: string };\n isArrivalConfirmed?: boolean;\n isCame?: boolean;\n isEmployed?: boolean;\n member?: string;\n phoneNumber?: string;\n utmCampaign?: string;\n utmContent?: string;\n utmMedium?: string;\n };\n limits?: { page?: number; count?: number | 'all' };\n sorting?: { type: 'createdAt' | 'event.scheduledAt' | 'referrer'; direction: 'asc' | 'desc' };\n};\nexport type FindEventRequestsData = AxiosResponse<ResultData>;\nexport type FindEventRequestsError = AxiosError<ResultError>;\nexport type FindEventRequestsConfig = {\n baseURL?: string;\n headers?: FindEventRequestsHeaders;\n params: FindEventRequestsParams;\n};\n\nexport function findEventRequestsRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n params,\n}: FindEventRequestsConfig) {\n return axios\n .get('/api/site/event/request', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n }\n\n return data.data.error;\n },\n ],\n })\n .then((res: FindEventRequestsData) => res)\n .catch((err: FindEventRequestsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { EventRequest } from '../../../types';\n\ntype SuccessData = { success: true; data: EventRequest };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdateEventRequestUrlParams = { id: number };\nexport type UpdateEventRequestHeaders = { 'x-auth-hc': string };\nexport type UpdateEventRequestBody = {\n comment?: NonNullable<EventRequest['comment']> | null;\n isArrivalConfirmed?: EventRequest['isArrivalConfirmed'];\n isCame?: EventRequest['isCame'];\n isEmployed?: EventRequest['isEmployed'];\n};\nexport type UpdateEventRequestData = AxiosResponse<ResultData>;\nexport type UpdateEventRequestError = AxiosError<ResultError>;\nexport type UpdateEventRequestConfig = {\n baseURL?: string;\n urlParams: UpdateEventRequestUrlParams;\n headers: UpdateEventRequestHeaders;\n body: UpdateEventRequestBody;\n};\n\nexport function updateEventRequestRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateEventRequestConfig) {\n return axios\n .patch(`/api/site/event/request/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: UpdateEventRequestData) => res)\n .catch((err: UpdateEventRequestError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError } from 'axios';\nimport { UserCase } from '../../../types';\n\ntype SuccessData = { success: true; data: UserCase };\ntype ErrorData = { success: false; data: { error: string } };\n\nexport type CreateExpertCaseHeaders = { 'x-auth-hc': string };\nexport type CreateExpertCaseBody = Partial<Omit<UserCase, 'id'>>;\n\nexport type CreateExpertCaseData = { data: UserCase };\nexport type CreateExpertCaseError = { status: number; data: string };\nexport type CreateExpertCaseConfig = {\n baseURL?: string;\n headers?: CreateExpertCaseHeaders;\n body: CreateExpertCaseBody;\n};\n\nexport function createExpertCaseRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n body,\n}: CreateExpertCaseConfig) {\n return axios\n .post('/api/expert/case', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n })\n .then((res: AxiosResponse<SuccessData>): CreateExpertCaseData => ({ data: res.data.data }))\n .catch((err: AxiosError<ErrorData>) => {\n const error: Error & Partial<CreateExpertCaseError> = new Error(err.message);\n error.status = err.response?.status ?? 520;\n error.data = err.response?.data.data.error ?? 'Unknown Error';\n\n throw error;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ExpertReview } from '../../../types';\n\ntype SuccessData = { success: true; data: ExpertReview };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateExpertReviewHeaders = { 'x-auth-hc': string };\nexport type CreateExpertReviewUrlParams = { expertId: number };\nexport type CreateExpertReviewBody = {\n url: string;\n firstName?: string;\n lastName?: string;\n review?: string;\n source?: string;\n previewUrl?: string;\n};\n\nexport type CreateExpertReviewData = AxiosResponse<ResultData>;\nexport type CreateExpertReviewError = AxiosError<ResultError>;\nexport type CreateExpertReviewConfig = {\n baseURL?: string;\n headers: CreateExpertReviewHeaders;\n urlParams: CreateExpertReviewUrlParams;\n body: CreateExpertReviewBody;\n};\n\nexport function createExpertReviewRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: CreateExpertReviewConfig) {\n return axios\n .post(`/api/expert/${urlParams.expertId}/review`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreateExpertReviewData) => res)\n .catch((err: CreateExpertReviewError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError } from 'axios';\nimport { User } from '../../../types';\n\ntype SuccessData = { success: true; data: Partial<User> & { id: number } };\n\ntype ErrorData = { success: false; data: { error: string } };\n\nexport type FindExpertByIdUrlParams = { id: number };\n\nexport type FindExpertByIdHeaders = { 'x-auth-hc'?: string };\n\nexport type FindExpertByIdData = { data: SuccessData['data'] };\n\nexport type FindExpertByIdError = { status: number; data: string };\n\nexport type FindExpertByIdConfig = {\n baseURL?: string;\n urlParams: FindExpertByIdUrlParams;\n headers?: FindExpertByIdHeaders;\n};\n\nexport function findExpertByIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindExpertByIdConfig) {\n return axios\n .get('/api/expert/' + urlParams.id, { baseURL, headers: { Accept: 'application/json', ...headers } })\n .then((res: AxiosResponse<SuccessData>): FindExpertByIdData => ({ data: res.data.data }))\n .catch((err: AxiosError<ErrorData>) => {\n const error: Error & Partial<FindExpertByIdError> = new Error(err.message);\n error.status = err.response?.status ?? 520;\n error.data = err.response?.data.data.error ?? 'Unknown Error';\n\n throw error;\n });\n}\n","import axios, { AxiosResponse, AxiosError } from 'axios';\nimport { UserCase } from '../../../types';\n\ntype SuccessData = { success: true; data: UserCase };\ntype ErrorData = { success: false; data: { error: string } };\n\nexport type FindExpertCaseByIdUrlParams = { id: number };\nexport type FindExpertCaseByIdHeaders = { 'x-auth-hc': string };\n\nexport type FindExpertCaseByIdData = { data: UserCase };\nexport type FindExpertCaseByIdError = { status: number; data: string };\nexport type FindExpertCaseByIdConfig = {\n baseURL?: string;\n urlParams: FindExpertCaseByIdUrlParams;\n headers?: FindExpertCaseByIdHeaders;\n};\n\nexport function findExpertCaseByIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindExpertCaseByIdConfig) {\n return axios\n .get('/api/expert/case/' + urlParams.id, { baseURL, headers: { Accept: 'application/json', ...headers } })\n .then((res: AxiosResponse<SuccessData>): FindExpertCaseByIdData => ({ data: res.data.data }))\n .catch((err: AxiosError<ErrorData>) => {\n const error: Error & Partial<FindExpertCaseByIdError> = new Error(err.message);\n error.status = err.response?.status ?? 520;\n error.data = err.response?.data.data.error ?? 'Unknown Error';\n\n throw error;\n });\n}\n","import axios, { AxiosResponse, AxiosError } from 'axios';\nimport { UserCase } from '../../../types';\n\ntype SuccessData = { success: true; data: UserCase[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\nexport type FindExpertCasesHeaders = { 'x-auth-hc': string };\n\nexport type FindExpertCasesData = { data: { ids: number[]; byId: Record<string, UserCase> }; meta: { total: number } };\nexport type FindExpertCasesError = { status: number; data: string };\nexport type FindExpertCasesConfig = {\n baseURL?: string;\n headers?: FindExpertCasesHeaders;\n};\n\nexport function findExpertCasesRequest({ baseURL = 'https://clients.homeapp.ru', headers }: FindExpertCasesConfig) {\n return axios\n .get('/api/expert/case', {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n })\n .then(\n (res: AxiosResponse<SuccessData>): FindExpertCasesData => {\n const data: FindExpertCasesData = { data: { byId: {}, ids: [] }, meta: { total: res.data.pageParams.length } };\n\n res.data.data.forEach(entity => {\n data.data.byId[entity.id] = entity;\n data.data.ids.push(entity.id);\n });\n\n return data;\n }\n )\n .catch((err: AxiosError<ErrorData>) => {\n const error: Error & Partial<FindExpertCasesError> = new Error(err.message);\n error.status = err.response?.status ?? 520;\n error.data = err.response?.data.data.error ?? 'Unknown Error';\n\n throw error;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { User } from '../../../types';\nimport qs from 'qs';\n\ntype SuccessData = {\n success: true;\n data: Partial<User> & { id: number }[];\n pageParams: { page: number; length: number };\n};\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, Partial<User> & { id: number }>; meta: { total: number } };\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindExpertsParams = {\n filter?: {\n id?: number | number[];\n realtyId?: number;\n };\n limits?: { page?: number; count: number | 'all' };\n sorting?: { direction: 'asc' | 'desc'; type: 'id' | 'createdAt' };\n};\n\nexport type FindExpertsData = AxiosResponse<ResultData>;\nexport type FindExpertsError = AxiosError<ResultError>;\nexport type FindExpertsConfig = { baseURL?: string; params: FindExpertsParams };\n\nexport function findExpertsRequest({ baseURL = 'https://clients.homeapp.ru', params }: FindExpertsConfig) {\n return axios\n .get('/api/experts', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json' },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n },\n ],\n })\n .then((res: FindExpertsData) => res)\n .catch((err: FindExpertsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { User, UserDirection, UserOffice } from '../../../types';\n\ntype SuccessData = {\n success: true;\n data: Partial<User> & { id: number }[];\n pageParams: { page: number; length: number };\n};\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, Partial<User> & { id: number }>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindPublishedExpertsParams = {\n filter?: {\n id?: number | number[];\n direction?: UserDirection;\n fullName?: string;\n office?: UserOffice;\n };\n limits?: { page?: number; count: number | 'all' };\n sorting?: { direction: 'asc' | 'desc'; type: 'id' | 'firstName' | 'lastName' | 'expert.scoring' };\n};\nexport type FindPublishedExpertsData = AxiosResponse<ResultData>;\nexport type FindPublishedExpertsError = AxiosError<ResultError>;\nexport type FindPublishedExpertsConfig = { baseURL?: string; params: FindPublishedExpertsParams };\n\nexport function findPublishedExpertsRequest({\n baseURL = 'https://clients.homeapp.ru',\n params,\n}: FindPublishedExpertsConfig) {\n return axios\n .get('/api/experts/published', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json' },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n }\n\n return data.data.error;\n },\n ],\n })\n .then((res: FindPublishedExpertsData) => res)\n .catch((err: FindPublishedExpertsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError } from 'axios';\nimport { UserCase } from '../../../types';\n\ntype SuccessData = { success: true; data: UserCase };\ntype ErrorData = { success: false; data: { error: string } };\n\nexport type UpdateExpertCaseUrlParams = { id: number };\nexport type UpdateExpertCaseHeaders = { 'x-auth-hc': string };\nexport type UpdateExpertCaseBody = Partial<Omit<UserCase, 'id'>>;\n\nexport type UpdateExpertCaseData = { data: UserCase };\nexport type UpdateExpertCaseError = { status: number; data: string };\nexport type UpdateExpertCaseConfig = {\n baseURL?: string;\n urlParams: UpdateExpertCaseUrlParams;\n headers: UpdateExpertCaseHeaders;\n body: UpdateExpertCaseBody;\n};\n\nexport function updateExpertCaseRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateExpertCaseConfig) {\n return axios\n .patch(`/api/user/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n })\n .then((res: AxiosResponse<SuccessData>): UpdateExpertCaseData => ({ data: res.data.data }))\n .catch((err: AxiosError<ErrorData>) => {\n const error: Error & Partial<UpdateExpertCaseError> = new Error(err.message);\n error.status = err.response?.status ?? 520;\n error.data = err.response?.data.data.error ?? 'Unknown Error';\n\n throw error;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ExpertReview } from '../../../types';\n\ntype SuccessData = { success: true; data: ExpertReview };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdateExpertReviewHeaders = { 'x-auth-hc': string };\nexport type UpdateExpertReviewUrlParams = { expertId: number; reviewId: number };\nexport type UpdateExpertReviewBody = {\n url?: string;\n firstName?: string;\n lastName?: string;\n review?: string;\n source?: string;\n previewUrl?: string;\n};\n\nexport type UpdateExpertReviewData = AxiosResponse<ResultData>;\nexport type UpdateExpertReviewError = AxiosError<ResultError>;\nexport type UpdateExpertReviewConfig = {\n baseURL?: string;\n urlParams: UpdateExpertReviewUrlParams;\n headers: UpdateExpertReviewHeaders;\n body: UpdateExpertReviewBody;\n};\n\nexport function updateExpertReviewRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateExpertReviewConfig) {\n return axios\n .patch(`/api/expert/${urlParams.expertId}/review/${urlParams.reviewId}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: UpdateExpertReviewData) => res)\n .catch((err: UpdateExpertReviewError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { ExpertCategory, ExpertCategoryCategory, ExpertCategoryExpertType } from '../../types';\n\ntype SuccessData = {\n success: true;\n data: ExpertCategory[];\n pageParams: { page: number; length: number };\n meta: {\n cntRed: number;\n cntYellow: number;\n cntGreen: number;\n cntNoCategory: number;\n };\n};\ntype ErrorData = { success: false; data: Record<'error' | 'message', string> };\n\ntype ResultData = {\n ids: number[];\n byId: Record<string, ExpertCategory>;\n meta: SuccessData['meta'] & { total: number };\n};\ntype ResultError = string;\n\nexport type FindExpertCategoriesHeaders = { 'x-auth-hc': string };\nexport type FindExpertCategoriesParams = {\n filter?: {\n 'expert.id'?: number;\n 'supervisor.id'?: number;\n category?: ExpertCategoryCategory;\n expertType?: ExpertCategoryExpertType;\n needAttention?: boolean;\n };\n limits?: { page?: number; count: number | 'all' };\n};\nexport type FindExpertCategoriesData = AxiosResponse<ResultData>;\nexport type FindExpertCategoriesError = AxiosError<ResultError>;\nexport type FindExpertCategoriesConfig = {\n baseURL?: string;\n headers: FindExpertCategoriesHeaders;\n params: FindExpertCategoriesParams;\n};\n\nexport function findExpertCategoriesRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n params,\n}: FindExpertCategoriesConfig) {\n return axios\n .get('/api/expert-category/list', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { ...data.meta, total: data.pageParams?.length ?? 0 } };\n }\n\n return data.data.error || data.data.message;\n },\n ],\n })\n .then((res: FindExpertCategoriesData) => res)\n .catch((err: FindExpertCategoriesError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { nanoid } from 'nanoid/non-secure';\nimport qs from 'qs';\nimport { ExpertCategoryCategory, ExpertCategoryExpertType } from '../../types';\n\ntype HistoryData = {\n createdAt: string;\n cntRed: number;\n cntYellow: number;\n cntGreen: number;\n cntNoCategory: number;\n};\n\ntype SuccessData = { success: true; data: Array<HistoryData> };\ntype ErrorData = { success: false; data: Record<'error' | 'message', string> };\n\ntype ResultData = { ids: string[]; byId: Record<string, HistoryData & { _id: string }> };\ntype ResultError = string;\n\nexport type FindExpertCategoryHistoryHeaders = { 'x-auth-hc': string };\nexport type FindExpertCategoryHistoryParams = {\n filter?: {\n 'expert.id'?: number;\n 'supervisor.id'?: number;\n category?: ExpertCategoryCategory;\n expertType?: ExpertCategoryExpertType;\n needAttention?: boolean;\n };\n};\nexport type FindExpertCategoryHistoryData = AxiosResponse<ResultData>;\nexport type FindExpertCategoryHistoryError = AxiosError<ResultError>;\nexport type FindExpertCategoryHistoryConfig = {\n baseURL?: string;\n headers: FindExpertCategoryHistoryHeaders;\n params: FindExpertCategoryHistoryParams;\n};\n\nexport function findExpertCategoryHistoryRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n params,\n}: FindExpertCategoryHistoryConfig) {\n return axios\n .get('/api/expert-category/history', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n const _id = nanoid();\n byId[_id] = { ...entity, _id };\n ids.push(_id);\n });\n\n return { ids, byId };\n }\n\n return data.data.error || data.data.message;\n },\n ],\n })\n .then((res: FindExpertCategoryHistoryData) => res)\n .catch((err: FindExpertCategoryHistoryError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ExpertGrade, User, ExpertGradeType } from '../../types';\n\ntype SuccessData = { success: true; data: ExpertGrade };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateExpertGradeHeaders = { 'x-auth-hc': string };\nexport type CreateExpertGradeBody = {\n expert: Partial<User> & { id: number };\n grade: ExpertGradeType;\n};\nexport type CreateExpertGradeData = AxiosResponse<ResultData>;\nexport type CreateExpertGradeError = AxiosError<ResultError>;\nexport type CreateExpertGradeConfig = {\n baseURL?: string;\n headers: CreateExpertGradeHeaders;\n body: CreateExpertGradeBody;\n};\n\nexport function createExpertGradeRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n}: CreateExpertGradeConfig) {\n return axios\n .post(`/api/expert/grade/`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreateExpertGradeData) => res)\n .catch((err: CreateExpertGradeError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { ExpertGrade, ExpertGradeType } from '../../types';\n\ntype SuccessData = { success: true; data: ExpertGrade[]; pageParams: { length: number; page: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, ExpertGrade>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindExpertGradesHeaders = { 'x-auth-hc'?: string };\nexport type FindExpertGradesParams = {\n filter?: {\n 'expert.id'?: number;\n 'supervisor.id'?: number;\n grade?: ExpertGradeType;\n };\n limits?: { page?: number; count: number | 'all' };\n sorting?: {\n direction: 'asc' | 'desc';\n type: 'grade' | 'currentSeasonGross' | 'lastSeasonGross' | 'lastTwoSeasonGross' | 'lastFourSeasonGross';\n };\n};\nexport type FindExpertGradesData = AxiosResponse<ResultData>;\nexport type FindExpertGradesError = AxiosError<ResultError>;\nexport type FindExpertGradesConfig = {\n baseURL?: string;\n headers?: FindExpertGradesHeaders;\n params: FindExpertGradesParams;\n};\n\nexport function findExpertGradesRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n params,\n}: FindExpertGradesConfig) {\n return axios\n .get('/api/expert/grade', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams?.length || 0 } };\n }\n\n return data.data.error;\n },\n ],\n })\n .then((res: FindExpertGradesData) => res)\n .catch((err: FindExpertGradesError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { ShortExpertGrade } from '../../types';\n\ntype SuccessData = {\n success: true;\n data: { grades: Array<ShortExpertGrade> };\n};\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindExpertGradesByExpertIdHeaders = { 'x-auth-hc': string };\nexport type FindExpertGradesByExpertIdUrlParams = { expertId: number };\nexport type FindExpertGradesByExpertIdData = AxiosResponse<ResultData>;\nexport type FindExpertGradesByExpertIdError = AxiosError<ResultError>;\n\nexport type FindExpertGradesByExpertIdConfig = {\n baseURL?: string;\n urlParams: FindExpertGradesByExpertIdUrlParams;\n headers: FindExpertGradesByExpertIdHeaders;\n};\n\nexport function findExpertGradesByExpertIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindExpertGradesByExpertIdConfig) {\n return axios\n .get(`/api/expert/grade/${urlParams.expertId}`, {\n baseURL,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindExpertGradesByExpertIdData) => res)\n .catch((err: FindExpertGradesByExpertIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { File } from '../../../types';\n\ntype SuccessData = { success: true; data: File[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: Record<'error' | 'message', string> };\n\ntype ResultData = { ids: number[]; byId: Record<string, File> };\ntype ResultError = string;\n\nexport type UploadFilesHeaders = { 'x-auth-hc': string };\nexport type UploadFilesBody = Blob[];\n\nexport type UploadFilesData = AxiosResponse<ResultData>;\nexport type UploadFilesError = AxiosError<ResultError>;\nexport type UploadFilesConfig = {\n baseURL?: string;\n headers: UploadFilesHeaders;\n body: UploadFilesBody;\n};\n\nexport function uploadFilesRequest({ baseURL = 'https://clients.homeapp.ru', body, headers }: UploadFilesConfig) {\n const formData = new FormData();\n\n if (body.length === 0) {\n throw new Error('Список файлов пуст');\n }\n\n body.forEach((file, index) => {\n formData.append(`file${index}`, file);\n });\n\n return axios\n .post('/api/file/upload', formData, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'multipart/form-data', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error || data.data.message;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId };\n },\n ],\n })\n .then((res: UploadFilesData) => res)\n .catch((err: UploadFilesError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Income, File } from '../../../types';\n\ntype SuccessData = { success: true; data: Income };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateIncomeHeaders = { 'x-auth-hc': string };\nexport type CreateIncomeBody = {\n amount: NonNullable<Income['amount']>;\n deal: Pick<NonNullable<Income['deal']>, 'id'>;\n receivedAt: NonNullable<Income['receivedAt']>;\n files?: Array<Pick<File, 'id' | 'name' | 'type' | 'url'>>;\n};\n\nexport type CreateIncomeData = AxiosResponse<ResultData>;\nexport type CreateIncomeError = AxiosError<ResultError>;\nexport type CreateIncomeConfig = {\n baseURL?: string;\n headers: CreateIncomeHeaders;\n body: CreateIncomeBody;\n};\n\nexport function createIncomeRequest({ baseURL = 'https://clients.homeapp.ru', body, headers }: CreateIncomeConfig) {\n return axios\n .post('/api/income', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreateIncomeData) => res)\n .catch((err: CreateIncomeError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true; data: unknown };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type DeleteIncomeHeaders = { 'x-auth-hc': string };\nexport type DeleteIncomeUrlParams = { id: number };\nexport type DeleteIncomeData = AxiosResponse<ResultData>;\nexport type DeleteIncomeError = AxiosError<ResultError>;\nexport type DeleteIncomeConfig = {\n baseURL?: string;\n urlParams: DeleteIncomeUrlParams;\n headers: DeleteIncomeHeaders;\n};\n\nexport function deleteIncomeRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: DeleteIncomeConfig) {\n return axios\n .delete(`/api/income/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data.error),\n ],\n })\n .then((res: DeleteIncomeData) => res)\n .catch((err: DeleteIncomeError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true; data: { status: string; errMessage?: string } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateInternalCrossSaleHeaders = { 'x-auth-hc': string };\nexport type CreateInternalCrossSaleUrlParams = { serviceRequestId: number };\nexport type CreateInternalCrossSaleBody = {\n similarServiceRequestId: number;\n curatorId: number;\n};\nexport type CreateInternalCrossSaleData = AxiosResponse<ResultData>;\nexport type CreateInternalCrossSaleError = AxiosError<ResultError>;\nexport type CreateInternalCrossSaleConfig = {\n baseURL?: string;\n urlParams: CreateInternalCrossSaleUrlParams;\n body: CreateInternalCrossSaleBody;\n headers: CreateInternalCrossSaleHeaders;\n};\n\nexport function createInternalCrossSaleRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: CreateInternalCrossSaleConfig) {\n return axios\n .post(`/api/analytics/cross-sale-add/${urlParams.serviceRequestId}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError =>\n !data.success ? data.data.error : data.data.status === 'failed' ? data.data.errMessage ?? '' : data.data,\n ],\n })\n .then((res: CreateInternalCrossSaleData) => res)\n .catch((err: CreateInternalCrossSaleError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\n\ntype SuccessData = { success: true; data: Array<{ serviceRequestId: number; cntWaiting: number; cntTotal: number }> };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, SuccessData['data'][0]> };\ntype ResultError = string;\n\nexport type FindInternalCrossSaleInfoHeaders = { 'x-auth-hc': string };\nexport type FindInternalCrossSaleInfoParams = { serviceRequestId: number | number[] };\nexport type FindInternalCrossSaleInfoData = AxiosResponse<ResultData>;\nexport type FindInternalCrossSaleInfoError = AxiosError<ResultError>;\nexport type FindInternalCrossSaleInfoConfig = {\n baseURL?: string;\n headers: FindInternalCrossSaleInfoHeaders;\n params: FindInternalCrossSaleInfoParams;\n};\n\nexport function findInternalCrossSaleInfoRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n params,\n}: FindInternalCrossSaleInfoConfig) {\n return axios\n .get('/api/analytics/cross-sale-info', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.serviceRequestId] = entity;\n ids.push(entity.serviceRequestId);\n });\n\n return { ids, byId };\n },\n ],\n })\n .then((res: FindInternalCrossSaleInfoData) => res)\n .catch((err: FindInternalCrossSaleInfoError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { InternalCrossSale } from '../../../types';\n\ntype SuccessData = { success: true; data: InternalCrossSale[] };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, InternalCrossSale> };\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindInternalCrossSalesHeaders = { 'x-auth-hc': string };\nexport type FindInternalCrossSalesUrlParams = { serviceRequestId: number };\nexport type FindInternalCrossSalesData = AxiosResponse<ResultData>;\nexport type FindInternalCrossSalesError = AxiosError<ResultError>;\nexport type FindInternalCrossSalesConfig = {\n baseURL?: string;\n headers: FindInternalCrossSalesHeaders;\n urlParams: FindInternalCrossSalesUrlParams;\n};\n\nexport function findInternalCrossSalesRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindInternalCrossSalesConfig) {\n return axios\n .get(`/api/analytics/cross-sale-list/${urlParams.serviceRequestId}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) {\n return data.data?.error;\n }\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId };\n },\n ],\n })\n .then((res: FindInternalCrossSalesData) => res)\n .catch((err: FindInternalCrossSalesError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { InternalCrossSaleStatus } from '../../../types';\n\ntype SuccessData = { success: true; data: { status: string; errMessage?: string } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdateInternalCrossSaleUrlParams = { id: number };\nexport type UpdateInternalCrossSaleHeaders = { 'x-auth-hc': string };\nexport type UpdateInternalCrossSaleBody = {\n status: InternalCrossSaleStatus.Accepted | InternalCrossSaleStatus.Rejected;\n};\nexport type UpdateInternalCrossSaleData = AxiosResponse<ResultData>;\nexport type UpdateInternalCrossSaleError = AxiosError<ResultError>;\nexport type UpdateInternalCrossSaleConfig = {\n baseURL?: string;\n urlParams: UpdateInternalCrossSaleUrlParams;\n headers: UpdateInternalCrossSaleHeaders;\n body: UpdateInternalCrossSaleBody;\n};\n\nexport function updateInternalCrossSaleRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateInternalCrossSaleConfig) {\n return axios\n .patch(`/api/analytics/cross-sale-patch/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError =>\n !data.success ? data.data.error : data.data.status === 'failed' ? data.data.errMessage ?? '' : data.data,\n ],\n })\n .then((res: UpdateInternalCrossSaleData) => res)\n .catch((err: UpdateInternalCrossSaleError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { LeadAssignmentBlock } from '../../types';\n\ntype SuccessData = { success: true; data: LeadAssignmentBlock };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateLeadAssignmentBlockHeaders = { 'x-auth-hc': string };\nexport type CreateLeadAssignmentBlockBody = {\n curator: LeadAssignmentBlock['curator'];\n dateFrom: LeadAssignmentBlock['dateFrom'];\n dateTo: LeadAssignmentBlock['dateTo'] | null;\n reason: LeadAssignmentBlock['reason'];\n};\n\nexport type CreateLeadAssignmentBlockData = AxiosResponse<ResultData>;\nexport type CreateLeadAssignmentBlockError = AxiosError<ResultError>;\nexport type CreateLeadAssignmentBlockConfig = {\n baseURL?: string;\n headers: CreateLeadAssignmentBlockHeaders;\n body: CreateLeadAssignmentBlockBody;\n};\n\nexport function createLeadAssignmentBlockRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n}: CreateLeadAssignmentBlockConfig) {\n return axios\n .post('/api/expert/lead-assignment-block', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreateLeadAssignmentBlockData) => res)\n .catch((err: CreateLeadAssignmentBlockError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true; data: string };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type DeleteLeadAssignmentBlockHeaders = { 'x-auth-hc': string };\nexport type DeleteLeadAssignmentBlockUrlParams = { id: number };\nexport type DeleteLeadAssignmentBlockData = AxiosResponse<ResultData>;\nexport type DeleteLeadAssignmentBlockError = AxiosError<ResultError>;\nexport type DeleteLeadAssignmentBlockConfig = {\n baseURL?: string;\n urlParams: DeleteLeadAssignmentBlockUrlParams;\n headers: DeleteLeadAssignmentBlockHeaders;\n};\n\nexport function deleteLeadAssignmentBlockRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: DeleteLeadAssignmentBlockConfig) {\n return axios\n .delete(`/api/expert/lead-assignment-block/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: DeleteLeadAssignmentBlockData) => res)\n .catch((err: DeleteLeadAssignmentBlockError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { LeadAssignmentBlock } from '../../types';\n\ntype SuccessData = { success: true; data: LeadAssignmentBlock[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: Record<'error' | 'message', string> };\n\ntype ResultData = { ids: number[]; byId: Record<string, LeadAssignmentBlock>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindLeadAssignmentBlocksHeaders = { 'x-auth-hc': string };\nexport type FindLeadAssignmentBlocksParams = {\n filter?: { 'curator.id'?: number };\n limits?: { page?: number; count: number | 'all' };\n};\nexport type FindLeadAssignmentBlocksData = AxiosResponse<ResultData>;\nexport type FindLeadAssignmentBlocksError = AxiosError<ResultError>;\nexport type FindLeadAssignmentBlocksConfig = {\n baseURL?: string;\n headers: FindLeadAssignmentBlocksHeaders;\n params: FindLeadAssignmentBlocksParams;\n};\n\nexport function findLeadAssignmentBlocksRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n params,\n}: FindLeadAssignmentBlocksConfig) {\n return axios\n .get('/api/expert/lead-assignment-block', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams?.length ?? 0 } };\n }\n\n return data.data.error || data.data.message;\n },\n ],\n })\n .then((res: FindLeadAssignmentBlocksData) => res)\n .catch((err: FindLeadAssignmentBlocksError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { LeadAssignmentBlock } from '../../types';\n\ntype SuccessData = { success: true; data: LeadAssignmentBlock };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdateLeadAssignmentBlockUrlParams = { id: number };\nexport type UpdateLeadAssignmentBlockHeaders = { 'x-auth-hc': string };\nexport type UpdateLeadAssignmentBlockBody = {\n dateFrom?: LeadAssignmentBlock['dateFrom'];\n dateTo?: LeadAssignmentBlock['dateTo'] | null;\n reason?: LeadAssignmentBlock['reason'];\n};\n\nexport type UpdateLeadAssignmentBlockData = AxiosResponse<ResultData>;\nexport type UpdateLeadAssignmentBlockError = AxiosError<ResultError>;\nexport type UpdateLeadAssignmentBlockConfig = {\n baseURL?: string;\n urlParams: UpdateLeadAssignmentBlockUrlParams;\n headers: UpdateLeadAssignmentBlockHeaders;\n body: UpdateLeadAssignmentBlockBody;\n};\n\nexport function updateLeadAssignmentBlockRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateLeadAssignmentBlockConfig) {\n return axios\n .patch(`/api/expert/lead-assignment-block/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: UpdateLeadAssignmentBlockData) => res)\n .catch((err: UpdateLeadAssignmentBlockError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { MotivationMinCommission, MotivationStep } from '../../../types';\n\ntype SuccessData = {\n success: true;\n data: { minCommission: MotivationMinCommission; highCommissionBonusPercent: number; steps: MotivationStep[] };\n};\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindMotivationGlossaryHeaders = { 'x-auth-hc': string };\nexport type FindMotivationGlossaryData = AxiosResponse<ResultData>;\nexport type FindMotivationGlossaryError = AxiosError<ResultError>;\nexport type FindMotivationGlossaryConfig = {\n baseURL?: string;\n headers: FindMotivationGlossaryHeaders;\n};\n\nexport function findMotivationGlossaryRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n}: FindMotivationGlossaryConfig) {\n return axios\n .get('/api/motivation-glossary', {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindMotivationGlossaryData) => res)\n .catch((err: FindMotivationGlossaryError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = {\n success: true;\n data: {\n count: number; // количество закрытых сделок за 3 месяца + текущий месяц\n val: number; // суммарная комиссия по сделкам, закрытым за последние 3 месяца + текущий месяц, в руб.\n step: string;\n bonus: number;\n nextBonus?: number;\n neededVal?: number; // необходимая комиссия до следующей ступени, в руб.\n };\n};\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindMotivationStatusByExpertIdHeaders = { 'x-auth-hc': string };\nexport type FindMotivationStatusByExpertIdUrlParams = { expertId: number };\nexport type FindMotivationStatusByExpertIdData = AxiosResponse<ResultData>;\nexport type FindMotivationStatusByExpertIdError = AxiosError<ResultError>;\nexport type FindMotivationStatusByExpertIdConfig = {\n baseURL?: string;\n headers: FindMotivationStatusByExpertIdHeaders;\n urlParams: FindMotivationStatusByExpertIdUrlParams;\n};\n\nexport function findMotivationStatusByExpertIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindMotivationStatusByExpertIdConfig) {\n return axios\n .get(`/api/motivation-status/${urlParams.expertId}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindMotivationStatusByExpertIdData) => res)\n .catch((err: FindMotivationStatusByExpertIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { MotivationCommission, MotivationServiceTypeValues } from '../../../types';\n\ntype SuccessData = { success: true; data: MotivationCommission };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CalculateMotivationCommissionHeaders = { 'x-auth-hc': string };\nexport type CalculateMotivationCommissionBody = {\n serviceType: MotivationServiceTypeValues;\n price: number;\n commission: number;\n val: number;\n partnerCommission?: number;\n developerCommission?: number;\n legalDiligenceCount?: number;\n isLowCommissionBonusFineByROP?: boolean;\n isTrainee?: boolean;\n};\nexport type CalculateMotivationCommissionData = AxiosResponse<ResultData>;\nexport type CalculateMotivationCommissionError = AxiosError<ResultError>;\nexport type CalculateMotivationCommissionConfig = {\n baseURL?: string;\n body: CalculateMotivationCommissionBody;\n headers: CalculateMotivationCommissionHeaders;\n};\n\nexport function calculateMotivationCommissionRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n}: CalculateMotivationCommissionConfig) {\n return axios\n .post('/api/motivation-calculator', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CalculateMotivationCommissionData) => res)\n .catch((err: CalculateMotivationCommissionError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { Payslip } from '../../types';\n\ntype SuccessData = { success: true; data: Payslip[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { data: SuccessData['data']; meta: { total: number } };\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindPayslipsParams = {\n filter?: {\n dealId?: string | string[];\n 'serviceRequest.id'?: string | string[];\n 'serviceRequest.contract.formalId'?: string;\n 'serviceRequest.curator.id'?: string;\n 'serviceRequest.curator.supervisor.id'?: string;\n closingDate?: string | { from?: string; to?: string };\n };\n sorting?: { type: 'closingDate'; direction: 'asc' | 'desc' };\n limits?: { page?: number; count?: number | 'all' };\n};\n\nexport type FindPayslipsHeaders = { 'x-auth-hc': string };\nexport type FindPayslipsData = AxiosResponse<ResultData>;\nexport type FindPayslipsError = AxiosError<ResultError>;\nexport type FindPayslipsConfig = {\n baseURL?: string;\n params: FindPayslipsParams;\n headers: FindPayslipsHeaders;\n};\n\nexport function findPayslipsRequest({ baseURL = 'https://clients.homeapp.ru', headers, params }: FindPayslipsConfig) {\n return axios\n .get('/api/payslip', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error;\n\n return { data: data.data, meta: { total: data.pageParams.length } };\n },\n ],\n })\n .then((res: FindPayslipsData) => res)\n .catch((err: FindPayslipsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Payslip } from '../../types';\n\ntype SuccessData = { success: true; data: Payslip };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindPayslipByIdUrlParams = { id: number };\nexport type FindPayslipByIdHeaders = { 'x-auth-hc': string };\nexport type FindPayslipByIdData = AxiosResponse<ResultData>;\nexport type FindPayslipByIdError = AxiosError<ResultError>;\n\nexport type FindPayslipByIdConfig = {\n baseURL?: string;\n urlParams: FindPayslipByIdUrlParams;\n headers: FindPayslipByIdHeaders;\n};\n\nexport function findPayslipByIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindPayslipByIdConfig) {\n return axios\n .get(`/api/payslip/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindPayslipByIdData) => res)\n .catch((err: FindPayslipByIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Payslip } from '../../types';\n\ntype SuccessData = { success: true; data: Payslip };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdatePayslipHeaders = { 'x-auth-hc': string };\nexport type UpdatePayslipUrlParams = { id: number };\nexport type UpdatePayslipBody = {\n financeAdjustment?: string;\n financeComment?: string;\n ifFinalNotification: boolean;\n};\nexport type UpdatePayslipData = AxiosResponse<ResultData>;\nexport type UpdatePayslipError = AxiosError<ResultError>;\nexport type UpdatePayslipConfig = {\n baseURL?: string;\n body: UpdatePayslipBody;\n urlParams: UpdatePayslipUrlParams;\n headers: UpdatePayslipHeaders;\n};\n\nexport function updatePayslipRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdatePayslipConfig) {\n return axios\n .post(`/api/payslip/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: UpdatePayslipData) => res)\n .catch((err: UpdatePayslipError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { Phone } from '../../types';\n\ntype SuccessData = { success: true; data: Phone[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: Record<'error' | 'message', string> };\n\ntype ResultData = { ids: number[]; byId: Record<string, Phone>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindPhonesHeaders = { 'x-auth-hc': string };\nexport type FindPhonesParams = {\n filter?: { number?: string; isBlacklisted?: boolean };\n limits?: { page?: number; count: number | 'all' };\n};\nexport type FindPhonesData = AxiosResponse<ResultData>;\nexport type FindPhonesError = AxiosError<ResultError>;\nexport type FindPhonesConfig = {\n baseURL?: string;\n headers: FindPhonesHeaders;\n params: FindPhonesParams;\n};\n\nexport function findPhonesRequest({ baseURL = 'https://clients.homeapp.ru', headers, params }: FindPhonesConfig) {\n return axios\n .get('/api/phone', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams?.length ?? 0 } };\n }\n\n return data.data.error || data.data.message;\n },\n ],\n })\n .then((res: FindPhonesData) => res)\n .catch((err: FindPhonesError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Call } from '../../types';\n\ntype SuccessData = { success: true; data: Partial<Call> & Required<Pick<Call, 'id'>> };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CallbackPhoneHeaders = { 'x-auth-hc': string };\nexport type CallbackPhoneUrlParams = { phoneNumber: string };\nexport type CallbackPhoneData = AxiosResponse<ResultData>;\nexport type CallbackPhoneError = AxiosError<ResultError>;\nexport type CallbackPhoneConfig = {\n baseURL?: string;\n urlParams: CallbackPhoneUrlParams;\n headers: CallbackPhoneHeaders;\n};\n\nexport function callbackPhoneRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: CallbackPhoneConfig) {\n return axios\n .post(`/api/phone/callback/${urlParams.phoneNumber}`, null, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CallbackPhoneData) => res)\n .catch((err: CallbackPhoneError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Phone } from '../../types';\n\ntype SuccessData = { success: true; data: Phone };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type BlockPhoneUrlParams = { id: number };\nexport type BlockPhoneHeaders = { 'x-auth-hc': string };\n\nexport type BlockPhoneData = AxiosResponse<ResultData>;\nexport type BlockPhoneError = AxiosError<ResultError>;\nexport type BlockPhoneConfig = {\n baseURL?: string;\n urlParams: BlockPhoneUrlParams;\n headers: BlockPhoneHeaders;\n};\n\nexport function blockPhoneRequest({ baseURL = 'https://clients.homeapp.ru', urlParams, headers }: BlockPhoneConfig) {\n return axios\n .patch(`/api/phone/${urlParams.id}/block`, null, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: BlockPhoneData) => res)\n .catch((err: BlockPhoneError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Phone } from '../../types';\n\ntype SuccessData = { success: true; data: Phone };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UnblockPhoneUrlParams = { id: number };\nexport type UnblockPhoneHeaders = { 'x-auth-hc': string };\n\nexport type UnblockPhoneData = AxiosResponse<ResultData>;\nexport type UnblockPhoneError = AxiosError<ResultError>;\nexport type UnblockPhoneConfig = {\n baseURL?: string;\n urlParams: UnblockPhoneUrlParams;\n headers: UnblockPhoneHeaders;\n};\n\nexport function unblockPhoneRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: UnblockPhoneConfig) {\n return axios\n .patch(`/api/phone/${urlParams.id}/unblock`, null, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: UnblockPhoneData) => res)\n .catch((err: UnblockPhoneError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { PhoneBookContact, PhoneBookContactPhoneType } from '../../../types';\n\ntype SuccessData = { success: true; data: PhoneBookContact };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreatePhoneBookContactHeaders = { 'x-auth-hc': string };\nexport type CreatePhoneBookContactBody = {\n isFavorite: NonNullable<PhoneBookContact['isFavorite']>;\n name: NonNullable<PhoneBookContact['name']>;\n phones: Array<{ type: PhoneBookContactPhoneType; phone: string }>;\n type: NonNullable<PhoneBookContact['type']>;\n comment?: PhoneBookContact['comment'];\n};\n\nexport type CreatePhoneBookContactData = AxiosResponse<ResultData>;\nexport type CreatePhoneBookContactError = AxiosError<ResultError>;\nexport type CreatePhoneBookContactConfig = {\n baseURL?: string;\n headers: CreatePhoneBookContactHeaders;\n body: CreatePhoneBookContactBody;\n};\n\nexport function createPhoneBookContactRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n}: CreatePhoneBookContactConfig) {\n return axios\n .post('/api/phone-book', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreatePhoneBookContactData) => res)\n .catch((err: CreatePhoneBookContactError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type DeletePhoneBookContactHeaders = { 'x-auth-hc': string };\nexport type DeletePhoneBookContactUrlParams = { id: number };\nexport type DeletePhoneBookContactData = AxiosResponse<ResultData>;\nexport type DeletePhoneBookContactError = AxiosError<ResultError>;\nexport type DeletePhoneBookContactConfig = {\n baseURL?: string;\n urlParams: DeletePhoneBookContactUrlParams;\n headers: DeletePhoneBookContactHeaders;\n};\n\nexport function deletePhoneBookContactRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: DeletePhoneBookContactConfig) {\n return axios\n .delete(`/api/phone-book/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data.error),\n ],\n })\n .then((res: DeletePhoneBookContactData) => res)\n .catch((err: DeletePhoneBookContactError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { PhoneBookContact, PhoneBookContactType } from '../../../types';\n\ntype SuccessData = { success: true; data: PhoneBookContact[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: Record<'error' | 'message', string> };\n\ntype ResultData = { ids: number[]; byId: Record<string, PhoneBookContact>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindPhoneBookContactsHeaders = { 'x-auth-hc': string };\nexport type FindPhoneBookContactsParams = {\n filter?: {\n 'phone.number'?: string;\n isFavorite?: boolean;\n search?: string;\n type?: PhoneBookContactType;\n };\n limits?: { page?: number; count: number | 'all' };\n sorting?: { direction: 'asc' | 'desc'; type: 'name' };\n};\nexport type FindPhoneBookContactsData = AxiosResponse<ResultData>;\nexport type FindPhoneBookContactsError = AxiosError<ResultError>;\nexport type FindPhoneBookContactsConfig = {\n baseURL?: string;\n headers: FindPhoneBookContactsHeaders;\n params: FindPhoneBookContactsParams;\n};\n\nexport function findPhoneBookContactsRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n params,\n}: FindPhoneBookContactsConfig) {\n return axios\n .get('/api/phone-book', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error || data.data.message;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n },\n ],\n })\n .then((res: FindPhoneBookContactsData) => res)\n .catch((err: FindPhoneBookContactsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { PhoneBookContact, PhoneBookContactPhoneType } from '../../../types';\n\ntype SuccessData = { success: true; data: PhoneBookContact };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdatePhoneBookContactUrlParams = { id: number };\nexport type UpdatePhoneBookContactHeaders = { 'x-auth-hc': string };\nexport type UpdatePhoneBookContactBody = {\n comment?: PhoneBookContact['comment'];\n isFavorite?: PhoneBookContact['isFavorite'];\n name?: PhoneBookContact['name'];\n phones?: Array<{ phone: string; type: PhoneBookContactPhoneType; id?: number }>;\n type?: PhoneBookContact['type'];\n};\n\nexport type UpdatePhoneBookContactData = AxiosResponse<ResultData>;\nexport type UpdatePhoneBookContactError = AxiosError<ResultError>;\nexport type UpdatePhoneBookContactConfig = {\n baseURL?: string;\n urlParams: UpdatePhoneBookContactUrlParams;\n headers: UpdatePhoneBookContactHeaders;\n body: UpdatePhoneBookContactBody;\n};\n\nexport function updatePhoneBookContactRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdatePhoneBookContactConfig) {\n return axios\n .patch(`/api/phone-book/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: UpdatePhoneBookContactData) => res)\n .catch((err: UpdatePhoneBookContactError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { PhotoOrder } from '../../../types';\n\ntype SuccessData = { success: true; data: PhotoOrder };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreatePhotoOrderHeaders = { 'x-auth-hc': string };\nexport type CreatePhotoOrderBody = {\n type: NonNullable<PhotoOrder['type']>;\n serviceRequestId: NonNullable<PhotoOrder['serviceRequestId']>;\n addressId: NonNullable<PhotoOrder['addressId']>;\n scheduledAt: NonNullable<PhotoOrder['scheduledAt']>;\n renovation: NonNullable<PhotoOrder['renovation']>;\n expertPhone: NonNullable<PhotoOrder['expertPhone']>;\n hasAccessToFlat: NonNullable<PhotoOrder['hasAccessToFlat']>;\n comment?: PhotoOrder['comment'];\n internalUser?: { id: number };\n};\n\nexport type CreatePhotoOrderData = AxiosResponse<ResultData>;\nexport type CreatePhotoOrderError = AxiosError<ResultError>;\nexport type CreatePhotoOrderConfig = {\n baseURL?: string;\n headers: CreatePhotoOrderHeaders;\n body: CreatePhotoOrderBody;\n};\n\nexport function createPhotoOrderRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n}: CreatePhotoOrderConfig) {\n return axios\n .post('/api/order-photos', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreatePhotoOrderData) => res)\n .catch((err: CreatePhotoOrderError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { PhotoOrder, PhotoOrderStatus } from '../../../types';\n\ntype SuccessData = { success: true; data: PhotoOrder[] };\ntype ErrorData = { success: false; data: Record<'error' | 'message', string> };\n\ntype ResultData = { ids: string[]; byId: Record<string, PhotoOrder> };\ntype ResultError = string;\n\nexport type FindPhotoOrdersHeaders = { 'x-auth-hc': string };\nexport type FindPhotoOrdersParams = {\n filter?: {\n 'serviceRequest.id'?: string;\n status?: PhotoOrderStatus;\n };\n limits?: { page?: number; count: number | 'all' };\n sorting?: { direction: 'asc' | 'desc'; type: 'createdAt' };\n};\nexport type FindPhotoOrdersData = AxiosResponse<ResultData>;\nexport type FindPhotoOrdersError = AxiosError<ResultError>;\nexport type FindPhotoOrdersConfig = {\n baseURL?: string;\n headers: FindPhotoOrdersHeaders;\n params: FindPhotoOrdersParams;\n};\n\nexport function findPhotoOrdersRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n params,\n}: FindPhotoOrdersConfig) {\n return axios\n .get('/api/order-photos', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error || data.data.message;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId };\n },\n ],\n })\n .then((res: FindPhotoOrdersData) => res)\n .catch((err: FindPhotoOrdersError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type SendPhotoOrderFeedbackHeaders = { 'x-auth-hc': string };\nexport type SendPhotoOrderFeedbackUrlParams = { id: string };\nexport type SendPhotoOrderFeedbackData = AxiosResponse<ResultData>;\nexport type SendPhotoOrderFeedbackError = AxiosError<ResultError>;\nexport type SendPhotoOrderFeedbackConfig = {\n baseURL?: string;\n urlParams: SendPhotoOrderFeedbackUrlParams;\n headers: SendPhotoOrderFeedbackHeaders;\n};\n\nexport function sendPhotoOrderFeedbackRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: SendPhotoOrderFeedbackConfig) {\n return axios\n .patch(`/api/order-photos/${urlParams.id}/feedback`, null, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data.error),\n ],\n })\n .then((res: SendPhotoOrderFeedbackData) => res)\n .catch((err: SendPhotoOrderFeedbackError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type TerminatePhotoOrderHeaders = { 'x-auth-hc': string };\nexport type TerminatePhotoOrderUrlParams = { id: string };\nexport type TerminatePhotoOrderData = AxiosResponse<ResultData>;\nexport type TerminatePhotoOrderError = AxiosError<ResultError>;\nexport type TerminatePhotoOrderConfig = {\n baseURL?: string;\n urlParams: TerminatePhotoOrderUrlParams;\n headers: TerminatePhotoOrderHeaders;\n};\n\nexport function terminatePhotoOrderRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: TerminatePhotoOrderConfig) {\n return axios\n .patch(`/api/order-photos/${urlParams.id}/terminate`, null, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data.error),\n ],\n })\n .then((res: TerminatePhotoOrderData) => res)\n .catch((err: TerminatePhotoOrderError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type CompletePhotoOrderHeaders = { 'x-auth-hc': string };\nexport type CompletePhotoOrderUrlParams = { id: string };\nexport type CompletePhotoOrderData = AxiosResponse<ResultData>;\nexport type CompletePhotoOrderError = AxiosError<ResultError>;\nexport type CompletePhotoOrderConfig = {\n baseURL?: string;\n urlParams: CompletePhotoOrderUrlParams;\n headers: CompletePhotoOrderHeaders;\n};\n\nexport function completePhotoOrderRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: CompletePhotoOrderConfig) {\n return axios\n .patch(`/api/order-photos/${urlParams.id}/complete`, null, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data.error),\n ],\n })\n .then((res: CompletePhotoOrderData) => res)\n .catch((err: CompletePhotoOrderError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { RealtyType } from '../../../types';\nimport qs from 'qs';\n\ntype SuccessData = { success: true; data: { realtyId: number; serviceRequestId: number; formalId: string } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindRealtyDuplicateParams = Partial<{\n fullAddress: string;\n roomCount: number;\n serviceRequestId: number;\n realtyType: RealtyType;\n floor: number;\n}>;\n\nexport type FindRealtyDuplicateHeaders = { 'x-auth-hc': string };\nexport type FindRealtyDuplicateData = AxiosResponse<ResultData>;\nexport type FindRealtyDuplicateError = AxiosError<ResultError>;\nexport type FindRealtyDuplicateConfig = {\n baseURL?: string;\n params: FindRealtyDuplicateParams;\n headers: FindRealtyDuplicateHeaders;\n};\n\nexport function findRealtyDuplicateRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n params,\n}: FindRealtyDuplicateConfig) {\n return axios\n .get('/api/realty/duplicate', {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindRealtyDuplicateData) => res)\n .catch((err: FindRealtyDuplicateError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { PriceHistory } from '../../../types';\nimport qs from 'qs';\n\ntype SuccessData = { success: true; data: PriceHistory[] };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindRealtyPriceHistoryParams = {\n filter?: { realtyId?: number | number[]; dateCreated?: { from?: string; to?: string } };\n limits?: { page?: number; count?: number | 'all' };\n sorting?: { type?: 'id' | 'realtyId' | 'dateCreated'; direction?: 'asc' | 'desc' };\n};\n\nexport type FindRealtyPriceHistoryHeaders = { 'x-auth-hc': string };\nexport type FindRealtyPriceHistoryData = AxiosResponse<ResultData>;\nexport type FindRealtyPriceHistoryError = AxiosError<ResultError>;\nexport type FindRealtyPriceHistoryConfig = {\n baseURL?: string;\n params: FindRealtyPriceHistoryParams;\n headers: FindRealtyPriceHistoryHeaders;\n};\n\nexport function findRealtyPriceHistoryRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n params,\n}: FindRealtyPriceHistoryConfig) {\n return axios\n .get('/api/crud/price-history', {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindRealtyPriceHistoryData) => res)\n .catch((err: FindRealtyPriceHistoryError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true; data: number[] };\ntype ErrorData = { success: false; data: Record<'error' | 'message', string> };\n\ntype ResultData = number[];\ntype ResultError = string;\n\nexport type FindSimilarRealtyIdsByIdUrlParams = { id: number };\nexport type FindSimilarRealtyIdsByIdData = AxiosResponse<ResultData>;\nexport type FindSimilarRealtyIdsByIdError = AxiosError<ResultError>;\nexport type FindSimilarRealtyIdsByIdConfig = {\n baseURL?: string;\n urlParams: FindSimilarRealtyIdsByIdUrlParams;\n};\n\nexport function findSimilarRealtyIdsById({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n}: FindSimilarRealtyIdsByIdConfig) {\n return axios\n .get(`/api/realty/similar/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json' },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindSimilarRealtyIdsByIdData) => res)\n .catch((err: FindSimilarRealtyIdsByIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type SubscribeToRealtyUpdatesBody = {\n email: string;\n realtyExtId: number;\n events: Array<'price_changed' | 'published' | 'depublished'>;\n};\nexport type SubscribeToRealtyUpdatesData = AxiosResponse<ResultData>;\nexport type SubscribeToRealtyUpdatesError = AxiosError<ResultError>;\nexport type SubscribeToRealtyUpdatesConfig = {\n baseURL?: string;\n body: SubscribeToRealtyUpdatesBody;\n};\n\nexport function subscribeToRealtyUpdatesRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n}: SubscribeToRealtyUpdatesConfig) {\n return axios\n .post('/api/realty-subscription', body, {\n baseURL,\n headers: { Accept: 'application/json' },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data.error),\n ],\n })\n .then((res: SubscribeToRealtyUpdatesData) => res)\n .catch((err: SubscribeToRealtyUpdatesError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\n\ntype Scoring = {\n serviceRequestId: number;\n score: number;\n inRotation: boolean;\n};\n\ntype SuccessData = { success: true; data: Array<Scoring> };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, Scoring> };\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindScoringHeaders = { 'x-auth-hc': string };\nexport type FindScoringParams = { srId: number[] };\nexport type FindScoringData = AxiosResponse<ResultData>;\nexport type FindScoringError = AxiosError<ResultError>;\nexport type FindScoringConfig = {\n baseURL?: string;\n headers: FindScoringHeaders;\n params: FindScoringParams;\n};\n\nexport function findScoringRequest({ baseURL = 'https://clients.homeapp.ru', headers, params }: FindScoringConfig) {\n return axios\n .get('/api/analytics/scoring-info', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.serviceRequestId] = entity;\n ids.push(entity.serviceRequestId);\n });\n\n return { ids, byId };\n },\n ],\n })\n .then((res: FindScoringData) => res)\n .catch((err: FindScoringError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ServiceRequest } from '../../types';\n\ntype SuccessData = { success: true; data: ServiceRequest };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type AddServiceRequestAssistantHeaders = { 'x-auth-hc': string };\nexport type AddServiceRequestAssistantUrlParams = { srId: number };\nexport type AddServiceRequestAssistantBody = { id: number };\n\nexport type AddServiceRequestAssistantData = AxiosResponse<ResultData>;\nexport type AddServiceRequestAssistantError = AxiosError<ResultError>;\nexport type AddServiceRequestAssistantConfig = {\n baseURL?: string;\n urlParams: AddServiceRequestAssistantUrlParams;\n body: AddServiceRequestAssistantBody;\n headers: AddServiceRequestAssistantHeaders;\n};\n\nexport function addServiceRequestAssistantRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: AddServiceRequestAssistantConfig) {\n return axios\n .post(`/api/service-request/${urlParams.srId}/personal-assistant`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: AddServiceRequestAssistantData) => res)\n .catch((err: AddServiceRequestAssistantError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ServiceRequest } from '../../types';\n\ntype SuccessData = { success: true; data: Partial<ServiceRequest> & Required<Pick<ServiceRequest, 'id'>> };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type ApproveCloseServiceRequestHeaders = { 'x-auth-hc': string };\nexport type ApproveCloseServiceRequestUrlParams = { id: number };\nexport type ApproveCloseServiceRequestBody = {\n reason?: string;\n contract?: { amountPenalty?: number };\n};\nexport type ApproveCloseServiceRequestData = AxiosResponse<ResultData>;\nexport type ApproveCloseServiceRequestError = AxiosError<ResultError>;\nexport type ApproveCloseServiceRequestConfig = {\n baseURL?: string;\n urlParams: ApproveCloseServiceRequestUrlParams;\n body: ApproveCloseServiceRequestBody;\n headers: ApproveCloseServiceRequestHeaders;\n};\n\nexport function approveCloseServiceRequestRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: ApproveCloseServiceRequestConfig) {\n return axios\n .patch(`/api/service-request/approve-close/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: ApproveCloseServiceRequestData) => res)\n .catch((err: ApproveCloseServiceRequestError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Call } from '../../types';\n\ntype SuccessData = { success: true; data: Partial<Call> & Required<Pick<Call, 'id'>> };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CallbackServiceRequestHeaders = { 'x-auth-hc': string };\nexport type CallbackServiceRequestUrlParams = { serviceRequestId: number };\nexport type CallbackServiceRequestData = AxiosResponse<ResultData>;\nexport type CallbackServiceRequestError = AxiosError<ResultError>;\nexport type CallbackServiceRequestConfig = {\n baseURL?: string;\n urlParams: CallbackServiceRequestUrlParams;\n headers: CallbackServiceRequestHeaders;\n};\n\nexport function callbackServiceRequestRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: CallbackServiceRequestConfig) {\n return axios\n .post(`/api/service-request/callback/${urlParams.serviceRequestId}`, null, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CallbackServiceRequestData) => res)\n .catch((err: CallbackServiceRequestError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Company } from '../../types';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type ChangeServiceRequestCompanyHeaders = { 'x-auth-hc': string };\nexport type ChangeServiceRequestCompanyUrlParams = { serviceRequestId: number };\nexport type ChangeServiceRequestCompanyBody = {\n company: Required<Pick<Company, 'id'>>;\n};\nexport type ChangeServiceRequestCompanyData = AxiosResponse<ResultData>;\nexport type ChangeServiceRequestCompanyError = AxiosError<ResultError>;\nexport type ChangeServiceRequestCompanyConfig = {\n baseURL?: string;\n urlParams: ChangeServiceRequestCompanyUrlParams;\n body: ChangeServiceRequestCompanyBody;\n headers: ChangeServiceRequestCompanyHeaders;\n};\n\nexport function changeServiceRequestCompanyRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: ChangeServiceRequestCompanyConfig) {\n return axios\n .patch(\n `/api/service-request/company/${urlParams.serviceRequestId}`,\n { ...body, id: urlParams.serviceRequestId },\n {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data.error),\n ],\n }\n )\n .then((res: ChangeServiceRequestCompanyData) => res)\n .catch((err: ChangeServiceRequestCompanyError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ServiceRequest, ServiceRequestCategorizedFileCategory } from '../../types';\n\ntype SuccessData = { success: true; data: Partial<ServiceRequest> & { id: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CloseServiceRequestHeaders = { 'x-auth-hc': string };\nexport type CloseServiceRequestUrlParams = { id: number };\nexport type CloseServiceRequestBody = {\n reason?: string;\n files?: Array<{\n category: ServiceRequestCategorizedFileCategory;\n id: number;\n name: string;\n type: string;\n url: string;\n }>;\n};\nexport type CloseServiceRequestData = AxiosResponse<ResultData>;\nexport type CloseServiceRequestError = AxiosError<ResultError>;\nexport type CloseServiceRequestConfig = {\n baseURL?: string;\n urlParams: CloseServiceRequestUrlParams;\n body: CloseServiceRequestBody;\n headers: CloseServiceRequestHeaders;\n};\n\nexport function closeServiceRequestRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: CloseServiceRequestConfig) {\n return axios\n .patch(`/api/service-request/close/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CloseServiceRequestData) => res)\n .catch((err: CloseServiceRequestError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type CompleteServiceRequestModerationHeaders = { 'x-auth-hc': string };\nexport type CompleteServiceRequestModerationUrlParams = { id: string };\nexport type CompleteServiceRequestModerationData = AxiosResponse<ResultData>;\nexport type CompleteServiceRequestModerationError = AxiosError<ResultError>;\nexport type CompleteServiceRequestModerationConfig = {\n baseURL?: string;\n urlParams: CompleteServiceRequestModerationUrlParams;\n headers: CompleteServiceRequestModerationHeaders;\n};\n\nexport function completeServiceRequestModerationRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: CompleteServiceRequestModerationConfig) {\n return axios\n .patch(`/api/service-request/${urlParams.id}/moderation/done`, null, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data.error),\n ],\n })\n .then((res: CompleteServiceRequestModerationData) => res)\n .catch((err: CompleteServiceRequestModerationError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ServiceRequest } from '../../types';\n\ntype SuccessData = { success: true; data: Partial<ServiceRequest> & { id: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = Partial<ServiceRequest> & { id: number };\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateInvestSellServiceRequestHeaders = { 'x-auth-hc': string };\nexport type CreateInvestSellServiceRequestBody = { dealId: number };\nexport type CreateInvestSellServiceRequestData = AxiosResponse<ResultData>;\nexport type CreateInvestSellServiceRequestError = AxiosError<ResultError>;\nexport type CreateInvestSellServiceRequestConfig = {\n baseURL?: string;\n headers: CreateInvestSellServiceRequestHeaders;\n body: CreateInvestSellServiceRequestBody;\n};\n\nexport function createInvestSellServiceRequestRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n}: CreateInvestSellServiceRequestConfig) {\n return axios\n .post('/api/service-request/invest/sell', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreateInvestSellServiceRequestData) => res)\n .catch((err: CreateInvestSellServiceRequestError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Appointment, CallTask, ServiceRequest, Task, User } from '../../types';\nimport { RealtyType } from '../../../v2/types';\n\ntype SuccessData = { success: true; data: ServiceRequest };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = ServiceRequest;\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateServiceRequestHeaders = { 'x-auth-hc': string };\nexport type CreateServiceRequestBody = Pick<\n ServiceRequest,\n 'type' | 'description' | 'source' | 'hasDeveloperCommission'\n> & {\n user: Required<Pick<User, 'login' | 'firstName'>> & Partial<Pick<User, 'lastName'>>;\n task: Required<Pick<Task, 'text' | 'status' | 'expiresAt' | 'notificationType' | 'importance'>>;\n appointment?: Required<Pick<Appointment, 'place' | 'status' | 'plannedAt' | 'notificationType'>>;\n callTask?: Required<Pick<CallTask, 'id'>>;\n curator?: Required<Pick<User, 'id'>>;\n sellParams?: {\n realtyType?: RealtyType;\n address?: string;\n roomsNumber?: number;\n area?: number;\n price?: number;\n floor?: number;\n };\n};\nexport type CreateServiceRequestData = AxiosResponse<ResultData>;\nexport type CreateServiceRequestError = AxiosError<ResultError>;\nexport type CreateServiceRequestConfig = {\n baseURL?: string;\n body: CreateServiceRequestBody;\n headers: CreateServiceRequestHeaders;\n};\n\nexport function createServiceRequestRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n}: CreateServiceRequestConfig) {\n return axios\n .post(`/api/service-request`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreateServiceRequestData) => res)\n .catch((err: CreateServiceRequestError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ServiceRequestActivity, ServiceRequestActivityType } from '../../types';\n\ntype SuccessData = { success: true; data: ServiceRequestActivity };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateServiceRequestActivityHeaders = { 'x-auth-hc': string };\nexport type CreateServiceRequestActivityBody = {\n serviceRequest: { id: number };\n text: string;\n type: ServiceRequestActivityType;\n};\n\nexport type CreateServiceRequestActivityData = AxiosResponse<ResultData>;\nexport type CreateServiceRequestActivityError = AxiosError<ResultError>;\nexport type CreateServiceRequestActivityConfig = {\n baseURL?: string;\n headers: CreateServiceRequestActivityHeaders;\n body: CreateServiceRequestActivityBody;\n};\n\nexport function createServiceRequestActivityRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n}: CreateServiceRequestActivityConfig) {\n return axios\n .post('/api/service-request/activity', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreateServiceRequestActivityData) => res)\n .catch((err: CreateServiceRequestActivityError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ServiceRequest } from '../../types';\n\ntype SuccessData = { success: true; data: ServiceRequest };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = ServiceRequest;\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateServiceRequestByCrossSaleIdHeaders = { 'x-auth-hc': string };\nexport type CreateServiceRequestByCrossSaleIdUrlParams = { id: number };\nexport type CreateServiceRequestByCrossSaleIdData = AxiosResponse<ResultData>;\nexport type CreateServiceRequestByCrossSaleIdError = AxiosError<ResultError>;\nexport type CreateServiceRequestByCrossSaleIdConfig = {\n baseURL?: string;\n urlParams: CreateServiceRequestByCrossSaleIdUrlParams;\n headers: CreateServiceRequestByCrossSaleIdHeaders;\n};\n\nexport function createServiceRequestByCrossSaleIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: CreateServiceRequestByCrossSaleIdConfig) {\n return axios\n .post(\n `/api/cross-sale/create-child-service-request/${urlParams.id}`,\n {},\n {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n }\n )\n .then((res: CreateServiceRequestByCrossSaleIdData) => res)\n .catch((err: CreateServiceRequestByCrossSaleIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ServiceRequestCategorizedFile, ServiceRequestCategorizedFileCategory } from '../../types';\n\ntype SuccessData = { success: true; data: ServiceRequestCategorizedFile };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateServiceRequestCategorizedFileHeaders = { 'x-auth-hc': string };\nexport type CreateServiceRequestCategorizedFileUrlParams = { id: number };\nexport type CreateServiceRequestCategorizedFileBody = {\n file: { id: number };\n category: Exclude<\n ServiceRequestCategorizedFileCategory,\n | ServiceRequestCategorizedFileCategory.Egrn\n | ServiceRequestCategorizedFileCategory.DeleteReason\n | ServiceRequestCategorizedFileCategory.OwnershipTransfers\n | ServiceRequestCategorizedFileCategory.Risk\n >;\n};\n\nexport type CreateServiceRequestCategorizedFileData = AxiosResponse<ResultData>;\nexport type CreateServiceRequestCategorizedFileError = AxiosError<ResultError>;\nexport type CreateServiceRequestCategorizedFileConfig = {\n baseURL?: string;\n urlParams: CreateServiceRequestCategorizedFileUrlParams;\n headers: CreateServiceRequestCategorizedFileHeaders;\n body: CreateServiceRequestCategorizedFileBody;\n};\n\nexport function createServiceRequestCategorizedFileRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: CreateServiceRequestCategorizedFileConfig) {\n return axios\n .post(`/api/service-request/${urlParams.id}/file`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data?.error),\n ],\n })\n .then((res: CreateServiceRequestCategorizedFileData) => res)\n .catch((err: CreateServiceRequestCategorizedFileError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ServiceRequestFeedback } from '../../types';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateServiceRequestFeedbackHeaders = { 'x-auth-hc': string };\nexport type CreateServiceRequestFeedbackBody = {\n serviceRequestId: NonNullable<ServiceRequestFeedback['serviceRequestId']>;\n category: NonNullable<ServiceRequestFeedback['category']>;\n text?: ServiceRequestFeedback['text'];\n};\n\nexport type CreateServiceRequestFeedbackData = AxiosResponse<ResultData>;\nexport type CreateServiceRequestFeedbackError = AxiosError<ResultError>;\nexport type CreateServiceRequestFeedbackConfig = {\n baseURL?: string;\n headers: CreateServiceRequestFeedbackHeaders;\n body: CreateServiceRequestFeedbackBody;\n};\n\nexport function createServiceRequestFeedbackRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n}: CreateServiceRequestFeedbackConfig) {\n return axios\n .post('/api/service-request/feedback', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data.error),\n ],\n })\n .then((res: CreateServiceRequestFeedbackData) => res)\n .catch((err: CreateServiceRequestFeedbackError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateServiceRequestReviewHeaders = { 'x-auth-hc': string };\nexport type CreateServiceRequestReviewBody = {\n serviceRequestId: number;\n rating: number;\n text?: string;\n};\n\nexport type CreateServiceRequestReviewData = AxiosResponse<ResultData>;\nexport type CreateServiceRequestReviewError = AxiosError<ResultError>;\nexport type CreateServiceRequestReviewConfig = {\n baseURL?: string;\n headers: CreateServiceRequestReviewHeaders;\n body: CreateServiceRequestReviewBody;\n};\n\nexport function createServiceRequestReviewRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n}: CreateServiceRequestReviewConfig) {\n return axios\n .post('/api/service-request/review', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data.error),\n ],\n })\n .then((res: CreateServiceRequestReviewData) => res)\n .catch((err: CreateServiceRequestReviewError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ServiceRequestSellerReport } from '../../types';\n\ntype SuccessData = { success: true; data: ServiceRequestSellerReport };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateServiceRequestSellerReportHeaders = { 'x-auth-hc': string };\nexport type CreateServiceRequestSellerReportUrlParams = { id: number };\nexport type CreateServiceRequestSellerReportBody = Partial<ServiceRequestSellerReport>;\n\nexport type CreateServiceRequestSellerReportData = AxiosResponse<ResultData>;\nexport type CreateServiceRequestSellerReportError = AxiosError<ResultError>;\nexport type CreateServiceRequestSellerReportConfig = {\n baseURL?: string;\n headers: CreateServiceRequestSellerReportHeaders;\n body: CreateServiceRequestSellerReportBody;\n urlParams: CreateServiceRequestSellerReportUrlParams;\n};\n\nexport function createServiceRequestSellerReportRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n urlParams,\n}: CreateServiceRequestSellerReportConfig) {\n return axios\n .post(`/api/service-request/${urlParams.id}/report-for-seller`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreateServiceRequestSellerReportData) => res)\n .catch((err: CreateServiceRequestSellerReportError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type DeferServiceRequestHeaders = { 'x-auth-hc': string };\nexport type DeferServiceRequestBody = { id: number[] };\nexport type DeferServiceRequestData = AxiosResponse<ResultData>;\nexport type DeferServiceRequestError = AxiosError<ResultError>;\nexport type DeferServiceRequestConfig = {\n baseURL?: string;\n headers: DeferServiceRequestHeaders;\n body: DeferServiceRequestBody;\n};\n\nexport function deferServiceRequestRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n}: DeferServiceRequestConfig) {\n return axios\n .patch('/api/service-request/deferred/on', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data?.error),\n ],\n })\n .then((res: DeferServiceRequestData) => res)\n .catch((err: DeferServiceRequestError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = never;\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type DeleteServiceRequestCategorizedFileHeaders = { 'x-auth-hc': string };\nexport type DeleteServiceRequestCategorizedFileUrlParams = { serviceRequestId: number; id: number };\nexport type DeleteServiceRequestCategorizedFileData = AxiosResponse<ResultData>;\nexport type DeleteServiceRequestCategorizedFileError = AxiosError<ResultError>;\nexport type DeleteServiceRequestCategorizedFileConfig = {\n baseURL?: string;\n urlParams: DeleteServiceRequestCategorizedFileUrlParams;\n headers: DeleteServiceRequestCategorizedFileHeaders;\n};\n\nexport function deleteServiceRequestCategorizedFileRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: DeleteServiceRequestCategorizedFileConfig) {\n return axios\n .delete(`/api/service-request/${urlParams.serviceRequestId}/file/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data && !data.success ? data.data?.error : null),\n ],\n })\n .then((res: DeleteServiceRequestCategorizedFileData) => res)\n .catch((err: DeleteServiceRequestCategorizedFileError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type DeleteServiceRequestReportForSellerHeaders = { 'x-auth-hc': string };\nexport type DeleteServiceRequestReportForSellerUrlParams = { serviceRequestId: number; id: string };\nexport type DeleteServiceRequestReportForSellerData = AxiosResponse<ResultData>;\nexport type DeleteServiceRequestReportForSellerError = AxiosError<ResultError>;\nexport type DeleteServiceRequestReportForSellerConfig = {\n baseURL?: string;\n urlParams: DeleteServiceRequestReportForSellerUrlParams;\n headers: DeleteServiceRequestReportForSellerHeaders;\n};\n\nexport function deleteServiceRequestReportForSellerRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: DeleteServiceRequestReportForSellerConfig) {\n return axios\n .delete(`/api/service-request/${urlParams.serviceRequestId}/report-for-seller/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data?.error),\n ],\n })\n .then((res: DeleteServiceRequestReportForSellerData) => res)\n .catch((err: DeleteServiceRequestReportForSellerError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ServiceRequest } from '../../types';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type DepublishServiceRequestHeaders = { 'x-auth-hc': string };\nexport type DepublishServiceRequestUrlParams = { id: number };\nexport type DepublishServiceRequestBody = {\n depublishReason: NonNullable<ServiceRequest['depublishReason']>;\n depublishComment?: NonNullable<ServiceRequest['depublishComment']>;\n};\nexport type DepublishServiceRequestData = AxiosResponse<ResultData>;\nexport type DepublishServiceRequestError = AxiosError<ResultError>;\nexport type DepublishServiceRequestConfig = {\n baseURL?: string;\n headers: DepublishServiceRequestHeaders;\n urlParams: DepublishServiceRequestUrlParams;\n body: DepublishServiceRequestBody;\n};\n\nexport function depublishServiceRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: DepublishServiceRequestConfig) {\n return axios\n .post(`/api/service-request/depublish/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data?.error),\n ],\n })\n .then((res: DepublishServiceRequestData) => res)\n .catch((err: DepublishServiceRequestError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ServiceRequest } from '../../types';\n\ntype SuccessData = { success: true; data: Partial<ServiceRequest> & Required<Pick<ServiceRequest, 'id'>> };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type DisapproveCloseServiceRequestHeaders = { 'x-auth-hc': string };\nexport type DisapproveCloseServiceRequestUrlParams = { id: number };\nexport type DisapproveCloseServiceRequestData = AxiosResponse<ResultData>;\nexport type DisapproveCloseServiceRequestError = AxiosError<ResultError>;\nexport type DisapproveCloseServiceRequestConfig = {\n baseURL?: string;\n urlParams: DisapproveCloseServiceRequestUrlParams;\n headers: DisapproveCloseServiceRequestHeaders;\n};\n\nexport function disapproveCloseServiceRequestRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: DisapproveCloseServiceRequestConfig) {\n return axios\n .patch(\n `/api/service-request/disapprove-close/${urlParams.id}`,\n {},\n {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n }\n )\n .then((res: DisapproveCloseServiceRequestData) => res)\n .catch((err: DisapproveCloseServiceRequestError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ServiceRequest } from '../../types';\n\ntype SuccessData = { success: true; data: ServiceRequest };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type DoneServiceRequestVerificationUrlParams = { id: number };\nexport type DoneServiceRequestVerificationHeaders = { 'x-auth-hc': string };\n\nexport type DoneServiceRequestVerificationData = AxiosResponse<ResultData>;\nexport type DoneServiceRequestVerificationError = AxiosError<ResultError>;\nexport type DoneServiceRequestVerificationConfig = {\n baseURL?: string;\n urlParams: DoneServiceRequestVerificationUrlParams;\n headers: DoneServiceRequestVerificationHeaders;\n};\n\nexport function doneServiceRequestVerificationRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: DoneServiceRequestVerificationConfig) {\n return axios\n .patch(`/api/service-request/${urlParams.id}/verification/done`, null, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: DoneServiceRequestVerificationData) => res)\n .catch((err: DoneServiceRequestVerificationError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ServiceRequest } from '../../types';\n\ntype SuccessData = { success: true; data: ServiceRequest };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FailServiceRequestVerificationUrlParams = { id: number };\nexport type FailServiceRequestVerificationHeaders = { 'x-auth-hc': string };\n\nexport type FailServiceRequestVerificationData = AxiosResponse<ResultData>;\nexport type FailServiceRequestVerificationError = AxiosError<ResultError>;\nexport type FailServiceRequestVerificationConfig = {\n baseURL?: string;\n urlParams: FailServiceRequestVerificationUrlParams;\n headers: FailServiceRequestVerificationHeaders;\n};\n\nexport function failServiceRequestVerificationRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FailServiceRequestVerificationConfig) {\n return axios\n .patch(`/api/service-request/${urlParams.id}/verification/fail`, null, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FailServiceRequestVerificationData) => res)\n .catch((err: FailServiceRequestVerificationError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { nanoid } from 'nanoid/non-secure';\nimport { PriceHistoryAnalytics } from '../../types';\n\ntype SuccessData = { success: true; data: PriceHistoryAnalytics[] };\ntype ErrorData = { success: false; data: Record<'error' | 'message', string> };\ntype ResultData = {\n ids: string[];\n byId: Record<string, PriceHistoryAnalytics & { _id: string }>;\n meta: { total: number };\n};\ntype ResultError = string;\n\nexport type FindPriceHistoryAnalyticsByIdUrlParams = { serviceRequestId: number };\nexport type FindPriceHistoryAnalyticsByIdHeaders = { 'x-auth-hc': string };\nexport type FindPriceHistoryAnalyticsByIdData = AxiosResponse<ResultData>;\nexport type FindPriceHistoryAnalyticsByIdError = AxiosError<ResultError>;\nexport type FindPriceHistoryAnalyticsByIdConfig = {\n baseURL?: string;\n headers: FindPriceHistoryAnalyticsByIdHeaders;\n urlParams: FindPriceHistoryAnalyticsByIdUrlParams;\n};\n\nexport function findPriceHistoryAnalyticsByIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindPriceHistoryAnalyticsByIdConfig) {\n return axios\n .get(`api/analytics/price-history/${urlParams.serviceRequestId}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) {\n return data.data.error || data.data.message;\n }\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n const _id = nanoid();\n byId[_id] = { ...entity, _id };\n ids.push(_id);\n });\n\n return { ids, byId, meta: { total: ids.length } };\n },\n ],\n })\n .then((res: FindPriceHistoryAnalyticsByIdData) => res)\n .catch((err: FindPriceHistoryAnalyticsByIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { ServiceRequestActivity, ServiceRequestActivityType } from '../../types';\n\ntype SuccessData = { success: true; data: ServiceRequestActivity[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: Record<'error' | 'message', string> };\n\ntype ResultData = { ids: number[]; byId: Record<string, ServiceRequestActivity>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindServiceRequestActivitiesHeaders = { 'x-auth-hc': string };\nexport type FindServiceRequestActivitiesParams = {\n filter?: {\n 'serviceRequest.id': number;\n type?: ServiceRequestActivityType;\n };\n limits?: { page?: number; count: number | 'all' };\n sorting?: { direction: 'asc' | 'desc'; type: 'createdAt' };\n};\nexport type FindServiceRequestActivitiesData = AxiosResponse<ResultData>;\nexport type FindServiceRequestActivitiesError = AxiosError<ResultError>;\nexport type FindServiceRequestActivitiesConfig = {\n baseURL?: string;\n headers: FindServiceRequestActivitiesHeaders;\n params: FindServiceRequestActivitiesParams;\n};\n\nexport function findServiceRequestActivitiesRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n params,\n}: FindServiceRequestActivitiesConfig) {\n return axios\n .get('/api/service-request/activity', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n }\n\n return data.data.error || data.data.message;\n },\n ],\n })\n .then((res: FindServiceRequestActivitiesData) => res)\n .catch((err: FindServiceRequestActivitiesError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ServiceRequest } from '../../types';\n\ntype SuccessData = { success: true; data: ServiceRequest };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindServiceRequestByIdUrlParams = { id: number };\nexport type FindServiceRequestByIdHeaders = { 'x-auth-hc': string };\nexport type FindServiceRequestByIdData = AxiosResponse<ResultData>;\nexport type FindServiceRequestByIdError = AxiosError<ResultError>;\n\nexport type FindServiceRequestByIdConfig = {\n baseURL?: string;\n urlParams: FindServiceRequestByIdUrlParams;\n headers: FindServiceRequestByIdHeaders;\n};\n\nexport function findServiceRequestByIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindServiceRequestByIdConfig) {\n return axios\n .get(`/api/service-request/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindServiceRequestByIdData) => res)\n .catch((err: FindServiceRequestByIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { DealCategorizedFileCategory, ServiceRequestCategorizedFileCategory } from '../../types';\n\ntype SuccessData = { success: true; data: string };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'] | null;\ntype ResultError = string;\n\nexport type FindServiceRequestCategorizedFileCreatedDateHeaders = { 'x-auth-hc': string };\nexport type FindServiceRequestCategorizedFileCreatedDateUrlParams = {\n id: number;\n category: DealCategorizedFileCategory | ServiceRequestCategorizedFileCategory;\n};\nexport type FindServiceRequestCategorizedFileCreatedDateData = AxiosResponse<ResultData>;\nexport type FindServiceRequestCategorizedFileCreatedDateError = AxiosError<ResultError>;\nexport type FindServiceRequestCategorizedFileCreatedDateConfig = {\n baseURL?: string;\n urlParams: FindServiceRequestCategorizedFileCreatedDateUrlParams;\n headers: FindServiceRequestCategorizedFileCreatedDateHeaders;\n};\n\nexport function findServiceRequestCategorizedFileCreatedDateRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindServiceRequestCategorizedFileCreatedDateConfig) {\n return axios\n .get(`/api/service-request/${urlParams.id}/file/${urlParams.category}/first-created-at`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError =>\n data.success ? data?.data ?? null : data.data.error,\n ],\n })\n .then((res: FindServiceRequestCategorizedFileCreatedDateData) => res)\n .catch((err: FindServiceRequestCategorizedFileCreatedDateError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { ServiceRequestCategorizedFile } from '../../types';\n\ntype SuccessData = {\n success: true;\n data: ServiceRequestCategorizedFile[];\n pageParams: { page: number; length: number };\n};\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, ServiceRequestCategorizedFile>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindServiceRequestCategorizedFilesHeaders = { 'x-auth-hc': string };\nexport type FindServiceRequestCategorizedFilesUrlParams = { id: number };\nexport type FindServiceRequestCategorizedFilesParams = {\n filter?: {\n id?: number | number[];\n };\n limits?: { page?: number; count: number | 'all' };\n sorting?: { direction: 'asc' | 'desc'; type: 'file.createdAt' };\n};\nexport type FindServiceRequestCategorizedFilesData = AxiosResponse<ResultData>;\nexport type FindServiceRequestCategorizedFilesError = AxiosError<ResultError>;\nexport type FindServiceRequestCategorizedFilesConfig = {\n baseURL?: string;\n urlParams: FindServiceRequestCategorizedFilesUrlParams;\n headers: FindServiceRequestCategorizedFilesHeaders;\n params: FindServiceRequestCategorizedFilesParams;\n};\n\nexport function findServiceRequestCategorizedFilesRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n params,\n}: FindServiceRequestCategorizedFilesConfig) {\n return axios\n .get(`/api/service-request/${urlParams.id}/file`, {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n }\n\n return data.data?.error;\n },\n ],\n })\n .then((res: FindServiceRequestCategorizedFilesData) => res)\n .catch((err: FindServiceRequestCategorizedFilesError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { ServiceRequestCategory } from '../../types';\n\ntype SuccessData = { success: true; data: { category: ServiceRequestCategory; movedAt: string }[] };\ntype ErrorData = { success: false; data: Record<'error' | 'message', string> };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindServiceRequestCategoryByIdHeaders = { 'x-auth-hc': string };\nexport type FindServiceRequestCategoryByIdUrlParams = { id: number };\nexport type FindServiceRequestCategoryByIdParams = {\n filter?: { category?: ServiceRequestCategory };\n limits?: { page?: number; count: number | 'all' };\n sorting?: { direction: 'asc' | 'desc'; type: 'createdAt' };\n};\nexport type FindServiceRequestCategoryByIdData = AxiosResponse<ResultData>;\nexport type FindServiceRequestCategoryByIdError = AxiosError<ResultError>;\nexport type FindServiceRequestCategoryByIdConfig = {\n baseURL?: string;\n params?: FindServiceRequestCategoryByIdParams;\n urlParams: FindServiceRequestCategoryByIdUrlParams;\n headers: FindServiceRequestCategoryByIdHeaders;\n};\n\nexport function findServiceRequestCategoryByIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n urlParams,\n params,\n}: FindServiceRequestCategoryByIdConfig) {\n return axios\n .get(`/api/service-request-category/${urlParams.id}/grouped`, {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindServiceRequestCategoryByIdData) => res)\n .catch((err: FindServiceRequestCategoryByIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true; data: { percent?: number | null } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = string;\n\nexport type FindServiceRequestDiscountEfficiencyPercentHeaders = { 'x-auth-hc': string };\nexport type FindServiceRequestDiscountEfficiencyPercentUrlParams = { id: number };\nexport type FindServiceRequestDiscountEfficiencyPercentData = AxiosResponse<ResultData>;\nexport type FindServiceRequestDiscountEfficiencyPercentError = AxiosError<ResultError>;\nexport type FindServiceRequestDiscountEfficiencyPercentConfig = {\n baseURL?: string;\n urlParams: FindServiceRequestDiscountEfficiencyPercentUrlParams;\n headers: FindServiceRequestDiscountEfficiencyPercentHeaders;\n};\n\nexport function findServiceRequestDiscountEfficiencyPercentRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindServiceRequestDiscountEfficiencyPercentConfig) {\n return axios\n .get(`/api/service-request/discount-efficiency-percent/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data?.data : data.data.error),\n ],\n })\n .then((res: FindServiceRequestDiscountEfficiencyPercentData) => res)\n .catch((err: FindServiceRequestDiscountEfficiencyPercentError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ServiceRequest, Realty, User } from '../../types';\n\ntype SuccessData = { success: true; data: Array<Partial<ServiceRequest> & { id: number }> };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = {\n ids: number[];\n byId: Record<string, Partial<ServiceRequest> & Required<Pick<ServiceRequest, 'id'>>>;\n};\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindServiceRequestDuplicatesHeaders = { 'x-auth-hc': string };\nexport type FindServiceRequestDuplicatesBody = {\n user: Required<Pick<User, 'login' | 'firstName'>> & Partial<Pick<User, 'lastName'>>;\n realty?: Pick<Realty, 'area' | 'floor' | 'floorsNumber'> & { address: Pick<Realty['address'], 'fullAddress'> };\n};\nexport type FindServiceRequestDuplicatesData = AxiosResponse<ResultData>;\nexport type FindServiceRequestDuplicatesError = AxiosError<ResultError>;\nexport type FindServiceRequestDuplicatesConfig = {\n baseURL?: string;\n body: FindServiceRequestDuplicatesBody;\n headers: FindServiceRequestDuplicatesHeaders;\n};\n\nexport function findServiceRequestDuplicatesRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n}: FindServiceRequestDuplicatesConfig) {\n return axios\n .post(`/api/service-request/duplicate`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId };\n },\n ],\n })\n .then((res: FindServiceRequestDuplicatesData) => res)\n .catch((err: FindServiceRequestDuplicatesError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ServiceRequestSellerReport } from '../../types';\nimport qs from 'qs';\n\ntype SuccessData = { success: true; data: ServiceRequestSellerReport[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: string[]; byId: Record<string, ServiceRequestSellerReport>; meta: { total: number } };\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindServiceRequestSellerReportsParams = {\n sorting?: {\n type: 'createdAt';\n direction: 'asc' | 'desc';\n };\n limits?: { page?: number; count?: number | 'all' };\n};\nexport type FindServiceRequestSellerReportsUrlParams = { id: number };\nexport type FindServiceRequestSellerReportsHeaders = { 'x-auth-hc': string };\nexport type FindServiceRequestSellerReportsData = AxiosResponse<ResultData>;\nexport type FindServiceRequestSellerReportsError = AxiosError<ResultError>;\nexport type FindServiceRequestSellerReportsConfig = {\n baseURL?: string;\n urlParams: FindServiceRequestSellerReportsUrlParams;\n params: FindServiceRequestSellerReportsParams;\n headers?: FindServiceRequestSellerReportsHeaders;\n};\n\nexport function findServiceRequestSellerReportsRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n params,\n}: FindServiceRequestSellerReportsConfig) {\n return axios\n .get(`/api/service-request/${urlParams.id}/report-for-seller`, {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n },\n ],\n })\n .then((res: FindServiceRequestSellerReportsData) => res)\n .catch((err: FindServiceRequestSellerReportsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { ServiceRequestCategory, ServiceRequestShortInfo, ServiceRequestStatus, ServiceRequestType } from '../../types';\n\ntype SuccessData = { success: true; data: ServiceRequestShortInfo[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, ServiceRequestShortInfo>; meta: { total: number } };\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindServiceRequestsShortInfoParams = {\n filter?: {\n address?: string;\n category?: ServiceRequestCategory | ServiceRequestCategory[];\n 'contract.formalId'?: string;\n 'contract.isSigned'?: boolean;\n 'curator.id'?: string;\n hasPublishedValuations?: boolean;\n id?: number | number[];\n idOrFormalId?: string;\n isPublished?: boolean;\n realtyExtId?: number;\n 'realty.price'?: number | { from?: number; to?: number };\n showTrainees?: boolean;\n status?: ServiceRequestStatus | ServiceRequestStatus[];\n statusDate?: string | { from?: string; to?: string };\n type?: ServiceRequestType | ServiceRequestType[];\n 'user.phones.phone.number'?: string;\n };\n sorting?: { direction: 'asc' | 'desc'; type: string };\n limits?: { page?: number; count: number | 'all' };\n};\n\nexport type FindServiceRequestShortInfoHeaders = { 'x-auth-hc': string };\nexport type FindServiceRequestShortInfoData = AxiosResponse<ResultData>;\nexport type FindServiceRequestShortInfoError = AxiosError<ResultError>;\nexport type FindServiceRequestShortInfoConfig = {\n baseURL?: string;\n params: FindServiceRequestsShortInfoParams;\n headers: FindServiceRequestShortInfoHeaders;\n};\n\nexport function findServiceRequestShortInfoRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n params,\n}: FindServiceRequestShortInfoConfig) {\n return axios\n .get(`/api/service-request/short`, {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data?.error;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n (data.data ?? []).forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n },\n ],\n })\n .then((res: FindServiceRequestShortInfoData) => res)\n .catch((err: FindServiceRequestShortInfoError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ServiceRequest, Realty, User } from '../../types';\n\ntype SuccessData = {\n success: true;\n data: Pick<ServiceRequest, 'id' | 'curator' | 'publicationTestPeriodDays' | 'realtyExtId'> & {\n realty?: Pick<Realty, 'price' | 'roomsNumber' | 'floorsNumber' | 'area' | 'realtyType'>;\n user?: Pick<User, 'firstName'> & { phonePostfix: string };\n };\n};\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindServiceRequestShortInfoByDealIdUrlParams = { id: number };\nexport type FindServiceRequestShortInfoByDealIdHeaders = { 'x-auth-hc': string };\nexport type FindServiceRequestShortInfoByDealIdData = AxiosResponse<ResultData>;\nexport type FindServiceRequestShortInfoByDealIdError = AxiosError<ResultError>;\n\nexport type FindServiceRequestShortInfoByDealIdConfig = {\n baseURL?: string;\n urlParams: FindServiceRequestShortInfoByDealIdUrlParams;\n headers: FindServiceRequestShortInfoByDealIdHeaders;\n};\n\nexport function findServiceRequestShortInfoByDealIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindServiceRequestShortInfoByDealIdConfig) {\n return axios\n .get(`/api/service-request-by-deal-id/short/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindServiceRequestShortInfoByDealIdData) => res)\n .catch((err: FindServiceRequestShortInfoByDealIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ServiceRequest, Realty, User } from '../../types';\n\ntype SuccessData = {\n success: true;\n data: Pick<ServiceRequest, 'curator' | 'publicationTestPeriodDays' | 'realtyExtId'> & {\n realty?: Pick<Realty, 'price' | 'roomsNumber' | 'floor' | 'floorsNumber' | 'area' | 'realtyType' | 'images'>;\n user?: Pick<User, 'firstName' | 'lastName'> & { phonePostfix: string };\n };\n};\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindServiceRequestShortInfoByIdUrlParams = { id: number };\nexport type FindServiceRequestShortInfoByIdHeaders = { 'x-auth-hc': string };\nexport type FindServiceRequestShortInfoByIdData = AxiosResponse<ResultData>;\nexport type FindServiceRequestShortInfoByIdError = AxiosError<ResultError>;\n\nexport type FindServiceRequestShortInfoByIdConfig = {\n baseURL?: string;\n urlParams: FindServiceRequestShortInfoByIdUrlParams;\n headers: FindServiceRequestShortInfoByIdHeaders;\n};\n\nexport function findServiceRequestShortInfoByIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindServiceRequestShortInfoByIdConfig) {\n return axios\n .get(`/api/service-request/short/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindServiceRequestShortInfoByIdData) => res)\n .catch((err: FindServiceRequestShortInfoByIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = {\n success: true;\n data: { expositionCount: number; markedCount: number; offerCount: number };\n};\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindServiceRequestStatisticsByIdUrlParams = { id: number };\nexport type FindServiceRequestStatisticsByIdHeaders = { 'x-auth-hc'?: string };\nexport type FindServiceRequestStatisticsByIdData = AxiosResponse<ResultData>;\nexport type FindServiceRequestStatisticsByIdError = AxiosError<ResultError>;\nexport type FindServiceRequestStatisticsByIdConfig = {\n baseURL?: string;\n urlParams: FindServiceRequestStatisticsByIdUrlParams;\n headers: FindServiceRequestStatisticsByIdHeaders;\n};\n\nexport function findServiceRequestStatisticsByIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindServiceRequestStatisticsByIdConfig) {\n return axios\n .get(`/api/service-request/statistics/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindServiceRequestStatisticsByIdData) => res)\n .catch((err: FindServiceRequestStatisticsByIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport {\n ServiceRequest,\n ServiceRequestCategory,\n ServiceRequestStatus,\n ServiceRequestType,\n ServiceRequestVerificationStatus,\n UserRole,\n} from '../../types';\n\ntype SuccessData = { success: true; data: ServiceRequest[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, ServiceRequest>; meta: { total: number } };\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindServiceRequestsParams = {\n filter?: {\n 'contract.formalId'?: string;\n 'contract.id'?: number;\n 'contract.isSigned'?: boolean;\n 'createdBy.id'?: number;\n 'curator.groupLead.id'?: number | 'null' | 'notnull';\n 'curator.id'?: number;\n 'curator.roles'?: UserRole[];\n 'curator.supervisor'?: number;\n 'personalAssistant.user.id'?: number;\n 'realty.price'?: number | { from?: number; to?: number };\n 'tasks.expiresAt'?: string | { from?: string; to?: string };\n 'tasks.status'?: string;\n 'user.id'?: number;\n 'user.phones.phone.number'?: string;\n acceptsIncomingRequests?: 'personalAssistant' | 'expert';\n address?: string;\n category?: ServiceRequestCategory | ServiceRequestCategory[];\n closedAt?: string;\n closeRequestedAt?: string;\n createdAt?: string;\n hasParentCrossSale?: boolean;\n hasPublishedValuations?: boolean;\n hasValuation?: boolean;\n id?: number | number[];\n idOrFormalId?: string;\n index?: string;\n isDeferred?: boolean;\n isPublished?: boolean;\n onlyExpiredTask?: boolean;\n onlyTeamLeaderExpiredTask?: boolean;\n realtyExtId?: number;\n scoring?: number | number[];\n showTrainees?: boolean;\n source?: string;\n status?: ServiceRequestStatus | ServiceRequestStatus[];\n statusDate?: string | { from?: string; to?: string };\n teamleadId?: number;\n type?: ServiceRequestType | ServiceRequestType[];\n verificationStatus?: ServiceRequestVerificationStatus;\n withRealty?: boolean;\n };\n limits?: { page?: number; count: number | 'all' };\n sorting?: { direction: 'asc' | 'desc'; type: 'createdAt' | 'id' };\n};\n\nexport type FindServiceRequestsHeaders = { 'x-auth-hc': string };\nexport type FindServiceRequestsData = AxiosResponse<ResultData>;\nexport type FindServiceRequestsError = AxiosError<ResultError>;\nexport type FindServiceRequestsConfig = {\n baseURL?: string;\n params: FindServiceRequestsParams;\n headers: FindServiceRequestsHeaders;\n};\n\nexport function findServiceRequestsRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n params,\n}: FindServiceRequestsConfig) {\n return axios\n .get('/api/service-request', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n },\n ],\n })\n .then((res: FindServiceRequestsData) => res)\n .catch((err: FindServiceRequestsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport {\n ServiceRequest,\n ServiceRequestCategory,\n ServiceRequestStatus,\n ServiceRequestType,\n ServiceRequestVerificationStatus,\n} from '../../types';\n\ntype SuccessData = { success: true; data: ServiceRequest[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, ServiceRequest>; meta: { total: number } };\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindServiceRequestsKanbanParams = {\n filter?: {\n 'contract.formalId'?: string;\n 'contract.id'?: number;\n 'contract.isSigned'?: boolean;\n 'createdBy.id'?: number;\n 'curator.groupLead.id'?: number | 'null' | 'notnull';\n 'curator.id'?: number;\n 'curator.supervisor'?: number;\n 'realty.price'?: number | { from?: number; to?: number };\n 'tasks.expiresAt'?: string | { from?: string; to?: string };\n 'tasks.status'?: string;\n 'user.id'?: number;\n 'user.phones.phone.number'?: string;\n acceptsIncomingRequests?: 'personalAssistant' | 'expert';\n address?: string;\n category?: ServiceRequestCategory | ServiceRequestCategory[];\n closedAt?: string;\n closeRequestedAt?: string;\n createdAt?: string;\n hasParentCrossSale?: boolean;\n hasPlannedAppointment?: boolean;\n hasPublishedValuations?: boolean;\n hasValuation?: boolean;\n id?: number | number[];\n idOrFormalId?: string;\n index?: string;\n isDeferred?: boolean;\n isPublished?: boolean;\n onlyExpiredTask?: boolean;\n onlyTeamLeaderExpiredTask?: boolean;\n realtyExtId?: number;\n scoring?: number | number[];\n showTrainees?: boolean;\n source?: string;\n status?: ServiceRequestStatus | ServiceRequestStatus[];\n statusDate?: string | { from?: string; to?: string };\n type?: ServiceRequestType | ServiceRequestType[];\n verificationStatus?: ServiceRequestVerificationStatus | ServiceRequestVerificationStatus[];\n withRealty?: boolean;\n };\n limits?: { page?: number; count: number | 'all' };\n sorting?: { direction: 'asc' | 'desc'; type: 'createdAt' | 'id' };\n};\n\nexport type FindServiceRequestsKanbanHeaders = { 'x-auth-hc': string };\nexport type FindServiceRequestsKanbanData = AxiosResponse<ResultData>;\nexport type FindServiceRequestsKanbanError = AxiosError<ResultError>;\nexport type FindServiceRequestsKanbanConfig = {\n baseURL?: string;\n params: FindServiceRequestsKanbanParams;\n headers: FindServiceRequestsKanbanHeaders;\n};\n\nexport function findServiceRequestsKanbanRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n params,\n}: FindServiceRequestsKanbanConfig) {\n return axios\n .get('/api/service-request/kanban', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n },\n ],\n })\n .then((res: FindServiceRequestsKanbanData) => res)\n .catch((err: FindServiceRequestsKanbanError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type PublishServiceRequestUrlParams = { id: number };\nexport type PublishServiceRequestHeaders = { 'x-auth-hc': string };\nexport type PublishServiceRequestData = AxiosResponse<ResultData>;\nexport type PublishServiceRequestError = AxiosError<ResultError>;\nexport type PublishServiceRequestConfig = {\n baseURL?: string;\n headers: PublishServiceRequestHeaders;\n urlParams: PublishServiceRequestUrlParams;\n};\n\nexport function publishServiceRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: PublishServiceRequestConfig) {\n return axios\n .post(\n `/api/service-request/publish/${urlParams.id}`,\n {},\n {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data?.error),\n ],\n }\n )\n .then((res: PublishServiceRequestData) => res)\n .catch((err: PublishServiceRequestError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ServiceRequest } from '../../types';\n\ntype SuccessData = { success: true; data: ServiceRequest };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type RemoveServiceRequestAssistantHeaders = { 'x-auth-hc': string };\nexport type RemoveServiceRequestAssistantUrlParams = { srId: number; paId: number };\nexport type RemoveServiceRequestAssistantData = AxiosResponse<ResultData>;\nexport type RemoveServiceRequestAssistantError = AxiosError<ResultError>;\nexport type RemoveServiceRequestAssistantConfig = {\n baseURL?: string;\n urlParams: RemoveServiceRequestAssistantUrlParams;\n headers: RemoveServiceRequestAssistantHeaders;\n};\n\nexport function removeServiceRequestAssistantRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: RemoveServiceRequestAssistantConfig) {\n return axios\n .delete(`/api/service-request/${urlParams.srId}/personal-assistant/${urlParams.paId}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: RemoveServiceRequestAssistantData) => res)\n .catch((err: RemoveServiceRequestAssistantError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true; data: undefined };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type RestoreServiceRequestUrlParams = { id: number };\nexport type RestoreServiceRequestHeaders = { 'x-auth-hc': string };\nexport type RestoreServiceRequestData = AxiosResponse<ResultData>;\nexport type RestoreServiceRequestError = AxiosError<ResultError>;\nexport type RestoreServiceRequestConfig = {\n baseURL?: string;\n urlParams: RestoreServiceRequestUrlParams;\n headers: RestoreServiceRequestHeaders;\n};\n\nexport function restoreServiceRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: RestoreServiceRequestConfig) {\n return axios\n .patch(\n `/api/service-request/restore/${urlParams.id}`,\n {},\n {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n }\n )\n .then((res: RestoreServiceRequestData) => res)\n .catch((err: RestoreServiceRequestError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type ReturnDeferredServiceRequestHeaders = { 'x-auth-hc': string };\nexport type ReturnDeferredServiceRequestBody = { id: number[] };\nexport type ReturnDeferredServiceRequestData = AxiosResponse<ResultData>;\nexport type ReturnDeferredServiceRequestError = AxiosError<ResultError>;\nexport type ReturnDeferredServiceRequestConfig = {\n baseURL?: string;\n headers: ReturnDeferredServiceRequestHeaders;\n body: ReturnDeferredServiceRequestBody;\n};\n\nexport function returnDeferredServiceRequestRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n}: ReturnDeferredServiceRequestConfig) {\n return axios\n .patch('/api/service-request/deferred/off', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data?.error),\n ],\n })\n .then((res: ReturnDeferredServiceRequestData) => res)\n .catch((err: ReturnDeferredServiceRequestError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type SendServiceRequestToModerationHeaders = { 'x-auth-hc': string };\nexport type SendServiceRequestToModerationUrlParams = { id: string };\nexport type SendServiceRequestToModerationData = AxiosResponse<ResultData>;\nexport type SendServiceRequestToModerationError = AxiosError<ResultError>;\nexport type SendServiceRequestToModerationConfig = {\n baseURL?: string;\n urlParams: SendServiceRequestToModerationUrlParams;\n headers: SendServiceRequestToModerationHeaders;\n};\n\nexport function sendServiceRequestToModerationRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: SendServiceRequestToModerationConfig) {\n return axios\n .patch(`/api/service-request/${urlParams.id}/moderation/send`, null, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data.error),\n ],\n })\n .then((res: SendServiceRequestToModerationData) => res)\n .catch((err: SendServiceRequestToModerationError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ServiceRequest } from '../../types';\n\ntype SuccessData = { success: true; data: ServiceRequest };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type SendServiceRequestVerificationUrlParams = { id: number };\nexport type SendServiceRequestVerificationHeaders = { 'x-auth-hc': string };\n\nexport type SendServiceRequestVerificationData = AxiosResponse<ResultData>;\nexport type SendServiceRequestVerificationError = AxiosError<ResultError>;\nexport type SendServiceRequestVerificationConfig = {\n baseURL?: string;\n urlParams: SendServiceRequestVerificationUrlParams;\n headers: SendServiceRequestVerificationHeaders;\n};\n\nexport function sendServiceRequestVerificationRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: SendServiceRequestVerificationConfig) {\n return axios\n .patch(`/api/service-request/${urlParams.id}/verification/send`, null, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: SendServiceRequestVerificationData) => res)\n .catch((err: SendServiceRequestVerificationError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type StartServiceRequestModerationHeaders = { 'x-auth-hc': string };\nexport type StartServiceRequestModerationUrlParams = { id: string };\nexport type StartServiceRequestModerationData = AxiosResponse<ResultData>;\nexport type StartServiceRequestModerationError = AxiosError<ResultError>;\nexport type StartServiceRequestModerationConfig = {\n baseURL?: string;\n urlParams: StartServiceRequestModerationUrlParams;\n headers: StartServiceRequestModerationHeaders;\n};\n\nexport function startServiceRequestModerationRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: StartServiceRequestModerationConfig) {\n return axios\n .patch(`/api/service-request/${urlParams.id}/moderation/book`, null, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data.error),\n ],\n })\n .then((res: StartServiceRequestModerationData) => res)\n .catch((err: StartServiceRequestModerationError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type StartServiceRequestModerationForOldRealtyHeaders = { 'x-auth-hc': string };\nexport type StartServiceRequestModerationForOldRealtyUrlParams = { id: string };\nexport type StartServiceRequestModerationForOldRealtyData = AxiosResponse<ResultData>;\nexport type StartServiceRequestModerationForOldRealtyError = AxiosError<ResultError>;\nexport type StartServiceRequestModerationForOldRealtyConfig = {\n baseURL?: string;\n urlParams: StartServiceRequestModerationForOldRealtyUrlParams;\n headers: StartServiceRequestModerationForOldRealtyHeaders;\n};\n\nexport function startServiceRequestModerationForOldRealtyRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: StartServiceRequestModerationForOldRealtyConfig) {\n return axios\n .patch(`/api/service-request/${urlParams.id}/moderation/change-moderator`, null, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data.error),\n ],\n })\n .then((res: StartServiceRequestModerationForOldRealtyData) => res)\n .catch((err: StartServiceRequestModerationForOldRealtyError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type TransferServiceRequestUrlParams = { id: number };\nexport type TransferServiceRequestBody = { curator: { id: number } };\nexport type TransferServiceRequestHeaders = { 'x-auth-hc': string };\nexport type TransferServiceRequestData = AxiosResponse<ResultData>;\nexport type TransferServiceRequestError = AxiosError<ResultError>;\nexport type TransferServiceRequestConfig = {\n baseURL?: string;\n headers: TransferServiceRequestHeaders;\n urlParams: TransferServiceRequestUrlParams;\n body: TransferServiceRequestBody;\n};\n\nexport function transferServiceRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: TransferServiceRequestConfig) {\n return axios\n .put(`/api/service-request/transfer/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data?.error),\n ],\n })\n .then((res: TransferServiceRequestData) => res)\n .catch((err: TransferServiceRequestError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ServiceRequest, RealtyType, File } from '../../types';\n\ntype SuccessData = { success: true; data: ServiceRequest };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdateServiceRequestUrlParams = { id: number };\nexport type UpdateServiceRequestHeaders = { 'x-auth-hc': string };\nexport type UpdateServiceRequestBody = {\n id: ServiceRequest['id'];\n advLink?: ServiceRequest['advLink'];\n buyParams?: { budget?: number | null; place?: string | null };\n description?: ServiceRequest['description'];\n files?: Array<File>;\n hasDeveloperCommission?: ServiceRequest['hasDeveloperCommission'];\n invest?: { investType?: NonNullable<ServiceRequest['invest']>['investType'] | null };\n realty?: { id: number; realtyType: RealtyType };\n sellParams?: ServiceRequest['sellParams'];\n source?: string;\n type?: ServiceRequest['type'];\n};\n\nexport type UpdateServiceRequestData = AxiosResponse<ResultData>;\nexport type UpdateServiceRequestError = AxiosError<ResultError>;\nexport type UpdateServiceRequestConfig = {\n baseURL?: string;\n urlParams: UpdateServiceRequestUrlParams;\n headers: UpdateServiceRequestHeaders;\n body: UpdateServiceRequestBody;\n};\n\nexport function updateServiceRequestRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateServiceRequestConfig) {\n return axios\n .put(`/api/service-request/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: UpdateServiceRequestData) => res)\n .catch((err: UpdateServiceRequestError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ServiceRequest } from '../../types';\n\ntype SuccessData = { success: true; data: ServiceRequest };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdateServiceRequestPersonalAssistantUrlParams = { srId: number; paId: number };\nexport type UpdateServiceRequestPersonalAssistantHeaders = { 'x-auth-hc': string };\nexport type UpdateServiceRequestPersonalAssistantBody = {\n acceptsIncomingRequests: boolean;\n};\n\nexport type UpdateServiceRequestPersonalAssistantData = AxiosResponse<ResultData>;\nexport type UpdateServiceRequestPersonalAssistantError = AxiosError<ResultError>;\nexport type UpdateServiceRequestPersonalAssistantConfig = {\n baseURL?: string;\n urlParams: UpdateServiceRequestPersonalAssistantUrlParams;\n headers: UpdateServiceRequestPersonalAssistantHeaders;\n body: UpdateServiceRequestPersonalAssistantBody;\n};\n\nexport function updateServiceRequestPersonalAssistantRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateServiceRequestPersonalAssistantConfig) {\n return axios\n .patch(`/api/service-request/${urlParams.srId}/personal-assistant/${urlParams.paId}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: UpdateServiceRequestPersonalAssistantData) => res)\n .catch((err: UpdateServiceRequestPersonalAssistantError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ServiceRequest } from '../../types';\n\ntype SuccessData = { success: true; data: ServiceRequest };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdateServiceRequestPlanDrawUrlParams = { srId: number };\nexport type UpdateServiceRequestPlanDrawHeaders = { 'x-auth-hc': string };\nexport type UpdateServiceRequestPlanDrawBody = {\n planDrawSum?: ServiceRequest['planDrawSum'];\n planDrawComment?: ServiceRequest['planDrawComment'] | null;\n};\n\nexport type UpdateServiceRequestPlanDrawData = AxiosResponse<ResultData>;\nexport type UpdateServiceRequestPlanDrawError = AxiosError<ResultError>;\nexport type UpdateServiceRequestPlanDrawConfig = {\n baseURL?: string;\n urlParams: UpdateServiceRequestPlanDrawUrlParams;\n headers: UpdateServiceRequestPlanDrawHeaders;\n body: UpdateServiceRequestPlanDrawBody;\n};\n\nexport function updateServiceRequestPlanDrawRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateServiceRequestPlanDrawConfig) {\n return axios\n .patch(`/api/service-request/plan-draw/${urlParams.srId}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: UpdateServiceRequestPlanDrawData) => res)\n .catch((err: UpdateServiceRequestPlanDrawError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = '';\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateCianRatingHeaders = { 'x-auth-hc': string };\nexport type CreateCianRatingBody = { id: number; urls: string[] };\n\nexport type CreateCianRatingData = AxiosResponse<ResultData>;\nexport type CreateCianRatingError = AxiosError<ResultError>;\nexport type CreateCianRatingConfig = { baseURL?: string; headers: CreateCianRatingHeaders; body: CreateCianRatingBody };\n\nexport function createCianRatingRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n}: CreateCianRatingConfig) {\n return axios\n .post('/api/slack/cian-rating', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data === '' ? null : data.data.error),\n ],\n })\n .then((res: CreateCianRatingData) => res)\n .catch((err: CreateCianRatingError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { SoldStatistic } from '../../../types';\n\ntype SuccessData = {\n success: true;\n data: SoldStatistic[];\n};\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindSoldStatisticHeaders = { 'x-auth-hc'?: string };\nexport type FindSoldStatisticData = AxiosResponse<ResultData>;\nexport type FindSoldStatisticError = AxiosError<ResultError>;\nexport type FindSoldStatisticConfig = {\n baseURL?: string;\n headers?: FindSoldStatisticHeaders;\n};\n\nexport function findSoldStatisticRequest({ baseURL = 'https://clients.homeapp.ru', headers }: FindSoldStatisticConfig) {\n return axios\n .get('/api/sold/statistic', {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindSoldStatisticData) => res)\n .catch((err: FindSoldStatisticError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { Markup } from '../../../types';\nimport { nanoid } from 'nanoid/non-secure';\n\ntype SuccessData = { success: true; data: Markup[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: string[]; byId: Record<string, Markup & { _id: string }>; meta: { total: number } };\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindMarkupCallsParams = {\n filter?: { date?: string | { from?: string; to?: string } };\n limits?: { page?: number; count: number | 'all' };\n};\n\nexport type FindMarkupCallsHeaders = { 'x-auth-hc': string };\nexport type FindMarkupCallsData = AxiosResponse<ResultData>;\nexport type FindMarkupCallsError = AxiosError<ResultError>;\nexport type FindMarkupCallsConfig = {\n baseURL?: string;\n params: FindMarkupCallsParams;\n headers: FindMarkupCallsHeaders;\n};\n\nexport function findMarkupCallsRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n params,\n}: FindMarkupCallsConfig) {\n return axios\n .get('/api/stats/markup', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n (data.data ?? []).forEach(entity => {\n const _id = nanoid();\n byId[_id] = { ...entity, _id };\n ids.push(_id);\n });\n\n return { ids, byId, meta: { total: (data.data ?? []).length } };\n },\n ],\n })\n .then((res: FindMarkupCallsData) => res)\n .catch((err: FindMarkupCallsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { MarkupBySource } from '../../../types';\nimport { nanoid } from 'nanoid/non-secure';\n\ntype SuccessData = { success: true; data: MarkupBySource[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: string[]; byId: Record<string, MarkupBySource & { _id: string }>; meta: { total: number } };\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindMarkupBySourceCallsParams = {\n filter?: { date?: string | { from?: string; to?: string } };\n limits?: { page?: number; count: number | 'all' };\n};\n\nexport type FindMarkupBySourceCallsHeaders = { 'x-auth-hc': string };\nexport type FindMarkupBySourceCallsData = AxiosResponse<ResultData>;\nexport type FindMarkupBySourceCallsError = AxiosError<ResultError>;\nexport type FindMarkupBySourceCallsConfig = {\n baseURL?: string;\n params: FindMarkupBySourceCallsParams;\n headers: FindMarkupBySourceCallsHeaders;\n};\n\nexport function findMarkupBySourceCallsRequest({\n baseURL = 'https://clients.homeapp.ru',\n headers,\n params,\n}: FindMarkupBySourceCallsConfig) {\n return axios\n .get('/api/stats/markup-by-source', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n (data.data ?? []).forEach(entity => {\n const _id = nanoid();\n byId[_id] = { ...entity, _id };\n ids.push(_id);\n });\n\n return { ids, byId, meta: { total: (data.data ?? []).length } };\n },\n ],\n })\n .then((res: FindMarkupBySourceCallsData) => res)\n .catch((err: FindMarkupBySourceCallsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true; data: number[] };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type AssignSubordinateUsersUrlParams = { id: number };\nexport type AssignSubordinateUsersHeaders = { 'x-auth-hc': string };\nexport type AssignSubordinateUsersBody = { userIds: number[] };\nexport type AssignSubordinateUsersData = AxiosResponse<ResultData>;\nexport type AssignSubordinateUsersError = AxiosError<ResultError>;\nexport type AssignSubordinateUsersConfig = {\n baseURL?: string;\n urlParams: AssignSubordinateUsersUrlParams;\n headers: AssignSubordinateUsersHeaders;\n body: AssignSubordinateUsersBody;\n};\n\nexport function assignSubordinateUsersRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: AssignSubordinateUsersConfig) {\n return axios\n .put('/api/user/supervise/' + urlParams.id, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: AssignSubordinateUsersData) => res)\n .catch((err: AssignSubordinateUsersError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { User, Contact, UserPhone } from '../../../types';\n\ntype SuccessData = { success: true; data: Partial<User> & { id: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateUserHeaders = { 'x-auth-hc': string };\nexport type CreateUserBody = Partial<\n Omit<\n User,\n | 'id'\n | 'contactInfo'\n | 'createdAt'\n | 'defaultVirtualPhone'\n | 'phones'\n | 'realtyIds'\n | 'transliteratedFullName'\n | 'updatedAt'\n >\n> & { login: string; contactInfo?: Array<Omit<Contact, 'id'>>; phones?: Array<Omit<UserPhone, 'id'>> };\nexport type CreateUserData = AxiosResponse<ResultData>;\nexport type CreateUserError = AxiosError<ResultError>;\nexport type CreateUserConfig = { baseURL?: string; headers: CreateUserHeaders; body: CreateUserBody };\n\nexport function createUserRequest({ baseURL = 'https://clients.homeapp.ru', headers, body }: CreateUserConfig) {\n return axios\n .post('/api/user', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreateUserData) => res)\n .catch((err: CreateUserError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { User } from '../../../types';\n\ntype SuccessData = { success: true; data: User };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type DeleteUserHeaders = { 'x-auth-hc': string };\nexport type DeleteUserUrlParams = { id: number };\nexport type DeleteUserData = AxiosResponse<ResultData>;\nexport type DeleteUserError = AxiosError<ResultError>;\nexport type DeleteUserConfig = {\n baseURL?: string;\n urlParams: DeleteUserUrlParams;\n headers: DeleteUserHeaders;\n};\n\nexport function deleteUserRequest({ baseURL = 'https://clients.homeapp.ru', urlParams, headers }: DeleteUserConfig) {\n return axios\n .patch(`/api/user/delete/${urlParams.id}`, null, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: DeleteUserData) => res)\n .catch((err: DeleteUserError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { User } from '../../../types';\n\ntype SuccessData = { success: true; data: Partial<User> & { id: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindUserByIdUrlParams = { id: number };\nexport type FindUserByIdHeaders = { 'x-auth-hc'?: string };\nexport type FindUserByIdData = AxiosResponse<ResultData>;\nexport type FindUserByIdError = AxiosError<ResultError>;\nexport type FindUserByIdConfig = { baseURL?: string; urlParams: FindUserByIdUrlParams; headers?: FindUserByIdHeaders };\n\nexport function findUserByIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers = {},\n}: FindUserByIdConfig) {\n return axios\n .get('/api/user/' + urlParams.id, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindUserByIdData) => res)\n .catch((err: FindUserByIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true; data: { text: string } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindUserPasswordByIdUrlParams = { id: number };\nexport type FindUserPasswordByIdHeaders = { 'x-auth-hc'?: string };\nexport type FindUserPasswordByIdData = AxiosResponse<ResultData>;\nexport type FindUserPasswordByIdError = AxiosError<ResultError>;\nexport type FindUserPasswordByIdConfig = {\n baseURL?: string;\n urlParams: FindUserPasswordByIdUrlParams;\n headers?: FindUserPasswordByIdHeaders;\n};\n\nexport function findUserPasswordByIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindUserPasswordByIdConfig) {\n return axios\n .get(`/api/user/password/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindUserPasswordByIdData) => res)\n .catch((err: FindUserPasswordByIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { User, UserRole } from '../../../types';\n\ntype SuccessData = {\n success: true;\n data: User[];\n pageParams: { page: number; length: number };\n};\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, User>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindUsersHeaders = { 'x-auth-hc': string };\nexport type FindUsersParams = {\n filter?: {\n banned?: boolean;\n enabled?: boolean;\n fullName?: string;\n id?: number | number[];\n login?: string;\n phone?: number;\n 'supervisor.id'?: number;\n 'roles.role'?: UserRole[];\n mentor?: number;\n experts?: number;\n personalAssistants?: number;\n };\n limits?: { page?: number; count: number | 'all' };\n sorting?: {\n direction: 'asc' | 'desc';\n type: 'createdAt' | 'firstName' | 'lastName' | 'hiredAt' | 'firedAt' | 'updatedAt' | 'id' | 'login';\n };\n};\nexport type FindUsersData = AxiosResponse<ResultData>;\nexport type FindUsersError = AxiosError<ResultError>;\nexport type FindUsersConfig = { baseURL?: string; headers: FindUsersHeaders; params: FindUsersParams };\n\nexport function findUsersRequest({ baseURL = 'https://clients.homeapp.ru', headers, params }: FindUsersConfig) {\n return axios\n .get('/api/user', {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n },\n ],\n })\n .then((res: FindUsersData) => res)\n .catch((err: FindUsersError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true; data: { key: string } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindUserTokenByIdUrlParams = { id: number };\nexport type FindUserTokenByIdHeaders = { 'x-auth-hc'?: string };\nexport type FindUserTokenByIdData = AxiosResponse<ResultData>;\nexport type FindUserTokenByIdError = AxiosError<ResultError>;\nexport type FindUserTokenByIdConfig = {\n baseURL?: string;\n urlParams: FindUserTokenByIdUrlParams;\n headers?: FindUserTokenByIdHeaders;\n};\n\nexport function findUserTokenByIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindUserTokenByIdConfig) {\n return axios\n .get(`/api/session/token/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindUserTokenByIdData) => res)\n .catch((err: FindUserTokenByIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { User } from '../../../types';\n\ntype SuccessData = { success: true; data: unknown[] };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type FireUserUrlParams = { id: number };\nexport type FireUserHeaders = { 'x-auth-hc': string };\nexport type FireUserBody = {\n firedAt: NonNullable<NonNullable<User['employeeInfo']>['firedAt']>;\n firedType?: NonNullable<User['employeeInfo']>['firedType'];\n firedReason?: NonNullable<User['employeeInfo']>['firedReason'];\n firedComment?: NonNullable<User['employeeInfo']>['firedComment'];\n};\n\nexport type FireUserData = AxiosResponse<ResultData>;\nexport type FireUserError = AxiosError<ResultError>;\nexport type FireUserConfig = {\n baseURL?: string;\n urlParams: FireUserUrlParams;\n headers: FireUserHeaders;\n body: FireUserBody;\n};\n\nexport function fireUserRequest({ baseURL = 'https://clients.homeapp.ru', urlParams, headers, body }: FireUserConfig) {\n return axios\n .patch('/api/user/fire/' + urlParams.id, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data.error),\n ],\n })\n .then((res: FireUserData) => res)\n .catch((err: FireUserError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { User, UserPhone, Contact } from '../../../types';\n\ntype SuccessData = { success: true; data: Partial<User> & { id: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdateUserUrlParams = { id: number };\nexport type UpdateUserHeaders = { 'x-auth-hc': string };\nexport type UpdateUserBody = {\n banned?: Required<User>['banned'];\n bornAt?: Required<User>['bornAt'];\n cases?: Required<User>['cases'];\n comment?: Required<User>['comment'];\n contactInfo?: Array<Omit<Contact, 'id'>>;\n courses?: Required<User>['courses'];\n defaultTelephony?: Required<User>['defaultTelephony'] | null;\n description?: Required<User>['description'];\n direction?: Required<User>['direction'];\n districts?: Required<User>['districts'];\n educations?: Required<User>['educations'];\n employeeInfo?: Required<User>['employeeInfo'];\n enabled?: Required<User>['enabled'];\n firstName?: Required<User>['firstName'] | null;\n gallery?: Required<User>['gallery'];\n gender?: Required<User>['gender'];\n groupLead?: Required<User>['groupLead'] | null;\n hiredAt?: Required<User>['hiredAt'];\n isPublished?: Required<User>['isPublished'];\n lastName?: Required<User>['lastName'] | null;\n level?: Required<User>['level'];\n login?: Required<User>['login'];\n mentor?: Required<User>['mentor'] | null;\n office?: Required<User>['office'];\n patronymic?: Required<User>['patronymic'] | null;\n phones?: Array<Omit<UserPhone, 'id'>>;\n roles?: Required<User>['roles'];\n supervisor?: Required<User>['supervisor'] | null;\n textReviews?: Required<User>['textReviews'];\n videoReviews?: Required<User>['videoReviews'];\n personalAssistants?: Array<{ id: number }>;\n companies?: Array<{ id: number; isMain: boolean }>;\n};\n\nexport type UpdateUserData = AxiosResponse<ResultData>;\nexport type UpdateUserError = AxiosError<ResultError>;\n\nexport type UpdateUserConfig = {\n baseURL?: string;\n urlParams: UpdateUserUrlParams;\n headers: UpdateUserHeaders;\n body: UpdateUserBody;\n};\n\nexport function updateUserRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n body,\n}: UpdateUserConfig) {\n return axios\n .patch('/api/user/' + urlParams.id, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: UpdateUserData) => res)\n .catch((err: UpdateUserError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Task, TaskImportance, TaskNotificationType } from '../../../types';\n\ntype SuccessData = { success: true; data: Task };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateTaskHeaders = { 'x-auth-hc': string };\nexport type CreateTaskBody = {\n expiresAt: string;\n importance: TaskImportance;\n notificationType: TaskNotificationType;\n serviceRequest: { id: number };\n text: string;\n};\n\nexport type CreateTaskData = AxiosResponse<ResultData>;\nexport type CreateTaskError = AxiosError<ResultError>;\nexport type CreateTaskConfig = {\n baseURL?: string;\n headers: CreateTaskHeaders;\n body: CreateTaskBody;\n};\n\nexport function createTaskRequest({ baseURL = 'https://clients.homeapp.ru', body, headers }: CreateTaskConfig) {\n return axios\n .post('/api/task', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreateTaskData) => res)\n .catch((err: CreateTaskError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { Task, TaskStatus } from '../../../types';\n\ntype SuccessData = { success: true; data: Task[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, Task>; meta: { total: number } };\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindTasksParams = {\n filter?: {\n assignee?: number;\n expiresAt?: { from?: string; to?: string };\n status?: TaskStatus;\n };\n sorting?: { type: 'expiresAt'; direction: 'asc' | 'desc' };\n limits?: { page?: number; count: number | 'all' };\n};\n\nexport type FindTasksHeaders = { 'x-auth-hc': string };\nexport type FindTasksData = AxiosResponse<ResultData>;\nexport type FindTasksError = AxiosError<ResultError>;\nexport type FindTasksConfig = {\n baseURL?: string;\n params: FindTasksParams;\n headers: FindTasksHeaders;\n};\n\nexport function findTasksRequest({ baseURL = 'https://clients.homeapp.ru', headers, params }: FindTasksConfig) {\n return axios\n .get('/api/task', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n },\n ],\n })\n .then((res: FindTasksData) => res)\n .catch((err: FindTasksError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Task } from '../../../types';\n\ntype SuccessData = { success: true; data: Task };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindTaskByIdUrlParams = { id: number };\nexport type FindTaskByIdHeaders = { 'x-auth-hc': string };\nexport type FindTaskByIdData = AxiosResponse<ResultData>;\nexport type FindTaskByIdError = AxiosError<ResultError>;\n\nexport type FindTaskByIdConfig = {\n baseURL?: string;\n urlParams: FindTaskByIdUrlParams;\n headers: FindTaskByIdHeaders;\n};\n\nexport function findTaskByIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindTaskByIdConfig) {\n return axios\n .get(`/api/task/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindTaskByIdData) => res)\n .catch((err: FindTaskByIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Task, TaskImportance, TaskNotificationType } from '../../../types';\n\ntype SuccessData = { success: true; data: Task };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdateTaskUrlParams = { id: number };\nexport type UpdateTaskHeaders = { 'x-auth-hc': string };\nexport type UpdateTaskBody = {\n expiresAt: string;\n importance: TaskImportance;\n notificationType: TaskNotificationType;\n serviceRequest: { id: number };\n text: string;\n};\n\nexport type UpdateTaskData = AxiosResponse<ResultData>;\nexport type UpdateTaskError = AxiosError<ResultError>;\nexport type UpdateTaskConfig = {\n baseURL?: string;\n urlParams: UpdateTaskUrlParams;\n headers: UpdateTaskHeaders;\n body: UpdateTaskBody;\n};\n\nexport function updateTaskRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateTaskConfig) {\n return axios\n .put(`/api/task/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: UpdateTaskData) => res)\n .catch((err: UpdateTaskError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Task } from '../../../types';\n\ntype SuccessData = { success: true; data: Task };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type ResolveTaskUrlParams = { id: number };\nexport type ResolveTaskHeaders = { 'x-auth-hc': string };\n\nexport type ResolveTaskData = AxiosResponse<ResultData>;\nexport type ResolveTaskError = AxiosError<ResultError>;\nexport type ResolveTaskConfig = {\n baseURL?: string;\n urlParams: ResolveTaskUrlParams;\n headers: ResolveTaskHeaders;\n};\n\nexport function resolveTaskRequest({ baseURL = 'https://clients.homeapp.ru', urlParams, headers }: ResolveTaskConfig) {\n return axios\n .patch(`/api/task/status/resolved/${urlParams.id}`, null, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: ResolveTaskData) => res)\n .catch((err: ResolveTaskError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Valuation } from '../../../types';\n\ntype SuccessData = { success: true; data: Valuation };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type ActualizeValuationHeaders = { 'x-auth-hc': string };\nexport type ActualizeValuationUrlParams = { serviceRequestId: number };\nexport type ActualizeValuationData = AxiosResponse<ResultData>;\nexport type ActualizeValuationError = AxiosError<ResultError>;\nexport type ActualizeValuationConfig = {\n baseURL?: string;\n urlParams: ActualizeValuationUrlParams;\n headers: ActualizeValuationHeaders;\n};\n\nexport function actualizeValuationRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: ActualizeValuationConfig) {\n return axios\n .patch(`/api/valuation/${urlParams.serviceRequestId}/actualize`, null, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: ActualizeValuationData) => res)\n .catch((err: ActualizeValuationError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Valuation } from '../../../types';\n\ntype SuccessData = { success: true; data: Valuation };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateValuationHeaders = { 'x-auth-hc': string };\nexport type CreateValuationBody = Partial<{\n serviceRequest: NonNullable<Valuation['serviceRequest']>;\n addresses: Valuation['addresses'];\n calculationData: Valuation['calculationData'];\n comment: Valuation['comment'];\n filter: Valuation['filter'];\n isDraft: Valuation['isDraft'];\n isOnlyInMarketRangeShown: Valuation['isOnlyInMarketRangeShown'];\n realtyParams: Valuation['realtyParams'];\n}>;\n\nexport type CreateValuationData = AxiosResponse<ResultData>;\nexport type CreateValuationError = AxiosError<ResultError>;\nexport type CreateValuationConfig = {\n baseURL?: string;\n headers: CreateValuationHeaders;\n body: CreateValuationBody;\n};\n\nexport function createValuationRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n}: CreateValuationConfig) {\n return axios\n .post('/api/valuation', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreateValuationData) => res)\n .catch((err: CreateValuationError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateValuationRealtyCommentUrlParams = { serviceRequestId: number; realtyId: number };\nexport type CreateValuationRealtyCommentHeaders = { 'x-auth-hc': string };\nexport type CreateValuationRealtyCommentBody = { comment: string };\n\nexport type CreateValuationRealtyCommentData = AxiosResponse<ResultData>;\nexport type CreateValuationRealtyCommentError = AxiosError<ResultError>;\nexport type CreateValuationRealtyCommentConfig = {\n baseURL?: string;\n urlParams: CreateValuationRealtyCommentUrlParams;\n headers: CreateValuationRealtyCommentHeaders;\n body: CreateValuationRealtyCommentBody;\n};\n\nexport function createValuationRealtyCommentRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: CreateValuationRealtyCommentConfig) {\n return axios\n .put(`/api/valuation/${urlParams.serviceRequestId}/realty/${urlParams.realtyId}`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data.error),\n ],\n })\n .then((res: CreateValuationRealtyCommentData) => res)\n .catch((err: CreateValuationRealtyCommentError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { Valuation } from '../../../types';\n\ntype SuccessData = { success: true; data: Valuation };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindValuationByServiceRequestIdHeaders = { 'x-auth-hc'?: string };\nexport type FindValuationByServiceRequestIdUrlParams = { id: number };\nexport type FindValuationByServiceRequestIdParams = { withDrafts?: boolean };\nexport type FindValuationByServiceRequestIdData = AxiosResponse<ResultData>;\nexport type FindValuationByServiceRequestIdError = AxiosError<ResultError>;\n\nexport type FindValuationByServiceRequestIdConfig = {\n baseURL?: string;\n urlParams: FindValuationByServiceRequestIdUrlParams;\n headers?: FindValuationByServiceRequestIdHeaders;\n params?: FindValuationByServiceRequestIdParams;\n};\n\nexport function findValuationByServiceRequestIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers = {},\n params,\n}: FindValuationByServiceRequestIdConfig) {\n return axios\n .get(`/api/valuation/${urlParams.id}`, {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindValuationByServiceRequestIdData) => res)\n .catch((err: FindValuationByServiceRequestIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ValuationNews } from '../../../types';\n\ntype SuccessData = { success: true; data: ValuationNews[] };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindValuationNewsByServiceRequestIdHeaders = { 'x-auth-hc': string };\nexport type FindValuationNewsByServiceRequestIdUrlParams = { serviceRequestId: number };\nexport type FindValuationNewsByServiceRequestIdData = AxiosResponse<ResultData>;\nexport type FindValuationNewsByServiceRequestIdError = AxiosError<ResultError>;\n\nexport type FindValuationNewsByServiceRequestIdConfig = {\n baseURL?: string;\n urlParams: FindValuationNewsByServiceRequestIdUrlParams;\n headers: FindValuationNewsByServiceRequestIdHeaders;\n};\n\nexport function findValuationNewsByServiceRequestIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: FindValuationNewsByServiceRequestIdConfig) {\n return axios\n .get(`/api/valuation/${urlParams.serviceRequestId}/news`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindValuationNewsByServiceRequestIdData) => res)\n .catch((err: FindValuationNewsByServiceRequestIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ValuationNewsStatus } from '../../../types';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = null;\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdateValuationNewsStatusHeaders = { 'x-auth-hc': string };\nexport type UpdateValuationNewsStatusUrlParams = { status: ValuationNewsStatus.Ignored | ValuationNewsStatus.Accepted };\nexport type UpdateValuationNewsStatusBody = { id: number[] };\nexport type UpdateValuationNewsStatusData = AxiosResponse<ResultData>;\nexport type UpdateValuationNewsStatusError = AxiosError<ResultError>;\nexport type UpdateValuationNewsStatusConfig = {\n baseURL?: string;\n urlParams: UpdateValuationNewsStatusUrlParams;\n body: UpdateValuationNewsStatusBody;\n headers: UpdateValuationNewsStatusHeaders;\n};\n\nexport function updateValuationNewsStatusRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateValuationNewsStatusConfig) {\n return axios\n .patch(`/api/valuation/news/${urlParams.status}`, body, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data.error),\n ],\n })\n .then((res: UpdateValuationNewsStatusData) => res)\n .catch((err: UpdateValuationNewsStatusError) => {\n throw err;\n });\n}\n","export enum AddressBTIParamsParking {\n Ground = 'ground',\n Multilevel = 'multilevel',\n Underground = 'underground',\n}\n\nexport enum AddressBTIParamsWallsMaterial {\n Brick = 'brick',\n Monolith = 'monolith',\n Monobrick = 'monobrick',\n Timber = 'timber',\n Panel = 'panel',\n Block = 'block',\n}\n\nexport enum AddressBTIParamsHeatingType {\n None = 'none',\n Central = 'central',\n Local = 'local',\n Gas = 'gas',\n Electricity = 'electricity',\n Liquid = 'liquid',\n Furnace = 'furnace',\n SolidFuelBoiler = 'solidFuelBoiler',\n}\n\nexport type AddressBTIParams = {\n buildYear?: number;\n cargoLifts?: number;\n ceilingHeight?: number;\n deliveryQuarter?: number;\n deliveryYear?: number;\n emergency?: boolean;\n floors?: number;\n garbageChute?: boolean;\n heatingType?: AddressBTIParamsHeatingType;\n id?: number;\n isDelivered?: boolean;\n isUpToDate?: boolean;\n parking?: AddressBTIParamsParking;\n passengerLifts?: number;\n series?: string;\n wallsMaterial?: AddressBTIParamsWallsMaterial;\n};\n","import { ServiceRequest } from './ServiceRequest';\n\nexport enum AppointmentPlace {\n Flat = 'flat',\n Office = 'office',\n Online = 'online',\n}\n\nexport enum AppointmentStatus {\n Planned = 'planned',\n Completed = 'completed',\n Cancelled = 'cancelled',\n}\n\nexport enum AppointmentNotificationType {\n Morning = 'morning',\n Min15 = 'min15',\n Hour1 = 'hour1',\n Hour2 = 'hour2',\n Nil = 'nil',\n}\n\nexport type Appointment = {\n createdAt: string;\n id: number;\n notificationType: AppointmentNotificationType;\n place: AppointmentPlace;\n plannedAt: string;\n serviceRequest: Partial<ServiceRequest> & Required<Pick<ServiceRequest, 'id'>>;\n status: AppointmentStatus;\n\n updatedAt?: string;\n};\n","import { MoneyAmount } from './Currency';\nimport { User } from './User';\nimport { ServiceRequest } from './ServiceRequest';\nimport { Deal } from './Deal';\nimport { Company } from './Company';\n\nexport enum AvailableFundsIncomeType {\n Cashbox = 'cashbox',\n CheckingAccount = 'checking_account',\n Other = 'other',\n}\n\nexport enum AvailableFundsCompanyName {\n RuCo = 'RuCo',\n VietCo = 'VietCo',\n KzCo = 'KzCo',\n}\n\nexport enum AvailableFundsCostType {\n BillOfCredit = 'bill_of_credit',\n BonusPaymentToMentor = 'bonus_payment_to_mentor',\n BonusPaymentToTeamlead = 'bonus_payment_to_teamlead',\n BonusToExpert = 'bonus_to_expert',\n InternalPartnerBonusToExpert = 'internal_partner_bonus_to_expert',\n BonusToTrainee = 'bonus_to_trainee',\n ChargingBankAccount = 'charging_bank_account',\n LegalSupportPayment = 'legal_support_payment',\n OtherPayments = 'other_payments',\n PartnerCharges = 'partner_charges',\n RealtyLegalCheck = 'realty_legal_check',\n ReferralForExpert = 'referral_for_expert',\n ReferralForPA = 'referral_for_pa',\n RefundOfAdvance = 'refund_of_advance',\n SafeDepositBox = 'safe_deposit_box',\n DeveloperDepositPayment = 'developer_deposit_payment',\n BonusPaymentAsiaConsultant = 'bonus_payment_asia_consultant',\n SpsBonusPayment = 'sps_bonus_payment',\n BonusPaymentInventoryDepartmentHead = 'bonus_payment_inventory_department_head',\n BonusPaymentInventoryDepartmentAdmin = 'bonus_payment_inventory_department_admin',\n BonusPaymentOfficeAdmin = 'bonus_payment_office_admin',\n DealNdsPayment = 'nds_by_deal',\n BonusPersonalAssistantFirstLevel = 'bonus_personal_assistant_1',\n BonusPersonalAssistantSecondLevel = 'bonus_personal_assistant_2',\n BonusPersonalAssistantThirdLevel = 'bonus_personal_assistant_3',\n BonusPortfolioCoordinator = 'bonus_portfolio_coordinator',\n BonusExpoCoordinator = 'bonus_expo_coordinator',\n PaymentForPhotography = 'payment_for_photography',\n PaymentForAttractingLead = 'payment_for_attracting_lead',\n // неактуально, но оставлено для обратной совместимости\n Referral = 'referral',\n}\n\nexport enum AvailableFundsPaymentType {\n AdvancePaymentUnderTheAdvanceAgreement = 'advance_payment_under_the_advance_agreement',\n ClosingDeal = 'closing_deal',\n LetterOfGuarantee = 'letter_of_guarantee',\n OtherPayment = 'other_payment',\n Prepayment = 'prepayment',\n SecurityPayment = 'security_payment',\n DouPayment = 'dou_payment',\n DeveloperCommission = 'developer_commission',\n}\n\nexport enum AvailableFundsRealtyType {\n Elite = 'elite',\n Foreign = 'foreign',\n NewFlatDeveloper = 'new_flat/developer',\n Resale = 'resale',\n}\n\nexport enum AvailableFundsPayerType {\n Common = 'common',\n Homeapp = 'homeapp',\n SalesHead = 'sales_head',\n Expert = 'expert',\n}\n\nexport type AvailableFunds = {\n amount: MoneyAmount;\n author: Partial<User>;\n createdAt: string;\n id: number;\n incomeType: AvailableFundsIncomeType;\n paymentType: AvailableFundsCostType | AvailableFundsPaymentType;\n realtyType: AvailableFundsRealtyType;\n receivedAt: string;\n serviceRequest: Partial<ServiceRequest> & { id: number };\n payerType?: AvailableFundsPayerType;\n deal?: Partial<Deal> & { id: number };\n comment?: string;\n company?: Partial<Company> & Required<Pick<Company, 'id'>>;\n companyName?: AvailableFundsCompanyName;\n};\n","import { Company } from './Company';\n\nexport enum BillServiceType {\n SecurityDepositPayment = 'security_deposit_payment',\n FullPayment = 'full_payment',\n BuyServicePayment = 'buy_service_payment',\n}\n\nexport enum BillServiceUnit {\n Piece = 'piece',\n}\n\nexport type Bill = {\n contractId: number;\n createdAt: string;\n createdById: number;\n number: string;\n payer: string;\n qrString: string;\n requisites: Company;\n services: Array<{\n count: number;\n price: number;\n tax: number;\n type: BillServiceType;\n unit: BillServiceUnit;\n }>;\n\n acceptanceAgreementDate?: string;\n acceptanceAgreementNumber?: string;\n dealId?: number;\n};\n","import { ServiceRequest } from './ServiceRequest';\nimport { User } from './User';\nimport { Call } from './Call';\n\nexport enum BuyerStatus {\n Incoming = 'incoming',\n ShowCoordination = 'show_coordination',\n ShowScheduled = 'show_scheduled',\n ShowComplete = 'show_complete',\n GotOffer = 'got_offer',\n Advance = 'advance',\n Closed = 'closed',\n}\n\nexport enum BuyerRealtyShowStatus {\n Scheduled = 'scheduled',\n Cancelled = 'cancelled',\n Complete = 'complete',\n}\n\nexport enum BuyerQuestionType {\n RejectionReason = 'rejection-reason',\n AdditionalServices = 'additional-services',\n}\n\nexport type Buyer = {\n createdAt: string;\n id: number;\n name: string;\n phone: string;\n serviceRequest: Partial<ServiceRequest> & Required<Pick<ServiceRequest, 'id'>>;\n serviceRequests: Array<Partial<ServiceRequest> & Required<Pick<ServiceRequest, 'id'>>>;\n status: BuyerStatus;\n\n closedAt?: string;\n closingQuestionaryAnswers?: Array<{\n answerId: string;\n questionId: string;\n questionType: BuyerQuestionType;\n comment?: string;\n }>;\n comment?: string;\n offer?: string;\n realtyShow?: {\n scheduledAt: string;\n status: BuyerRealtyShowStatus;\n };\n sharing?: {\n createdAt?: string;\n fromExpert?: Partial<User> & Required<Pick<User, 'id'>>;\n };\n source?: string;\n statusDeadlineAt?: string;\n updatedAt?: string;\n calls: Call[];\n};\n","import { CallTask } from './CallTask';\nimport { User } from './User';\n\nexport enum CallType {\n Out = 'out',\n In = 'in',\n Transferred = 'transferred',\n}\n\nexport enum CallDefaultTelephony {\n Voximplant = 'voximplant',\n Zadarma = 'zadarma',\n}\n\nexport type Call = {\n callTask?: Partial<CallTask> & { id: number };\n createdAt: string;\n duration: number;\n extId: string;\n from: { id: number; number: string };\n hasComments?: boolean;\n id: number;\n inProgress: boolean;\n redirectCount: number;\n success: boolean;\n to: { id: number; number: string };\n type: CallType;\n user: Partial<User> & { id: number };\n\n parentId?: number;\n recordLink?: string;\n responseAt?: string;\n endedAt?: string;\n};\n","import { Call } from './Call';\nimport { Realty } from './Realty';\nimport { ServiceRequest } from './ServiceRequest';\nimport { User } from './User';\n\nexport enum CallTaskPriority {\n Low = 10,\n Default = 50,\n High = 100,\n VeryHigh = 200,\n}\n\nexport enum CallTaskStatus {\n Open = 'open',\n Booked = 'booked',\n Markup = 'markup',\n Lead = 'lead',\n Spam = 'spam',\n Closed = 'closed',\n Outgoing = 'outgoing',\n}\n\nexport enum CallTaskReason {\n Error = 'error',\n WrongGeo = 'wrong_geo',\n Double = 'double',\n Agent = 'agent',\n BuyingOrSellingPart = 'buying_or_selling_part',\n NotReadyToPay = 'not_ready_to_pay',\n CantReach = 'cant_reach',\n ClientCall = 'client_call',\n NotBuyingOrSelling = 'not_buying_or_selling',\n NoPhoneNumber = 'no_phone_number',\n WrongPhoneNumber = 'wrong_phone_number',\n GotWrongNumber = 'got_wrong_number',\n MistakenlyLeftRequest = 'mistakenly_left_request',\n DidNotLeaveRequest = 'did_not_leave_request',\n NotRelevant = 'not_relevant',\n LowBudget = 'low_budget',\n RemoveFromAdvertising = 'remove_from_advertising',\n NoAddressInMarkup = 'no_address_in_markup',\n Complaint = 'complaint',\n Commercial = 'commercial',\n Test = 'test',\n Other = 'other',\n}\n\nexport enum CallTaskColdReason {\n InadequateOwner = 'inadequate_owner',\n UnsuitableDeal = 'unsuitable_deal',\n AgentsNotAllowed = 'agents_not_allowed',\n NotAnOwner = 'not_an_owner',\n BadDocuments = 'bad_documents',\n}\n\nexport enum CallTaskTriggeredByEvent {\n PublishedFortnight = 'published_fortnight',\n TerminatedContract = 'terminated_contract',\n DealDone = 'deal_done',\n DealCreated = 'deal_created',\n TerminatedContractAfterPrepayment = 'terminated_contract_after_prepayment',\n Lead = 'lead',\n WarmDepublished = 'warm_depublished',\n WarmPublished = 'warm_published',\n}\n\nexport enum CallTaskType {\n Buyer = 'buyer',\n Seller = 'seller',\n ActiveClientSearch = 'active_client_search',\n Other = 'other',\n}\n\nexport enum CallTaskDirection {\n Moscow = 'moscow',\n Asia = 'asia',\n}\n\nexport type CallTask = {\n actualAt: string;\n calls: Array<Partial<Call> & { id: number }>;\n createdAt: string;\n direction: CallTaskDirection;\n id: number;\n isIncoming: boolean;\n name: string;\n phone: string;\n priority: CallTaskPriority;\n serviceRequest: Partial<ServiceRequest> & { id: number };\n source: string;\n status: CallTaskStatus;\n tags: string[];\n type: CallTaskType;\n updatedAt: string;\n viewsCount: number;\n\n bookedBy?: Partial<User> & { id: string };\n bookingExpiresAt?: string;\n closedAt?: string;\n closingReason?: string;\n comment?: string;\n complexId?: number;\n curator?: Partial<User> & { id: number };\n ipAddress?: string;\n isAgent?: boolean;\n lastBookingAt?: string;\n partner?: Partial<User> & { id: number };\n realty?: Partial<Realty> & { id: number };\n referrer?: string;\n sourceInfo?: {\n source?: string;\n campaign?: string;\n content?: string;\n tranId?: string; // с тильды поле с уникальным номером заявки\n formId?: string; // с тильды поле с номером блока, с которого была отправка\n };\n triggeredByEvent?: CallTaskTriggeredByEvent;\n user?: Partial<User> & { id: number };\n userAgent?: string;\n userAgentInfo?: Record<string, any>;\n utmInfo?: {\n type?: string;\n url?: string;\n utmCampaign?: string;\n utmContent?: string;\n utmMedium?: string;\n utmSource?: string;\n utmTerm?: string;\n };\n};\n","import { File } from './File';\nimport { ServiceRequest } from './ServiceRequest';\n\nexport enum ChecklistTaskDictionaryDirectedFor {\n Expert = 'expert',\n Lawyer = 'lawyer',\n Supervisor = 'supervisor',\n}\n\nexport type ChecklistTaskDictionary = {\n answerId: number;\n directedFor: ChecklistTaskDictionaryDirectedFor;\n id: number;\n isFileRequired: boolean;\n text: string;\n};\n\nexport type ChecklistAnswerDictionary = {\n id: number;\n isPositive: boolean;\n questionId: number;\n tasks: Array<ChecklistTaskDictionary>;\n text: string;\n};\n\nexport type ChecklistQuestionDictionary = {\n id: number;\n possibleAnswers: Array<ChecklistAnswerDictionary>;\n text: string;\n};\n\nexport type ChecklistTask = {\n createdAt: string;\n files: File[];\n id: number;\n taskDictionary: ChecklistTaskDictionary;\n comment?: string;\n};\n\nexport type ChecklistAnswer = {\n createdAt: string;\n id: number;\n question: Partial<ChecklistQuestionDictionary> & Required<Pick<ChecklistQuestionDictionary, 'id'>>;\n tasks: ChecklistTask[];\n answer?: ChecklistAnswerDictionary;\n updatedAt?: string;\n};\n\nexport type Checklist = {\n checkListAnswers: Array<ChecklistAnswer>;\n createdAt: string;\n id: number;\n isComplete: boolean;\n problemCount: number;\n serviceRequest: Partial<ServiceRequest> & Required<Pick<ServiceRequest, 'id'>>;\n};\n","export enum ContactType {\n Email = 'email',\n Facebook = 'facebook',\n ICQ = 'icq',\n IMessage = 'imessage',\n Instagram = 'instagram',\n Jabber = 'jabber',\n LinkedIn = 'linkedin',\n Odnoklassniki = 'odnoklassniki',\n Skype = 'skype',\n SlackGroupId = 'slack-group-id',\n SlackGroupName = 'slack-group-name',\n SlackId = 'slack-id',\n SlackUsername = 'slack-username',\n Telegram = 'telegram',\n VK = 'vk',\n VoxAccount = 'vox-account',\n WhatsApp = 'whatsapp',\n}\n\nexport type Contact = {\n id: number;\n type: ContactType;\n value: string;\n};\n","import { MoneyAmount } from './Currency';\nimport { Deal } from './Deal';\nimport { ServiceRequest } from './ServiceRequest';\n\nexport enum ContractType {\n Buy = 'buy',\n Sell = 'sell',\n EscortSell = 'escort_sell',\n EscortBuy = 'escort_buy',\n}\n\nexport enum ContractStatus {\n Booked = 'booked',\n Approved = 'approved',\n Declined = 'declined',\n Signed = 'signed',\n Terminated = 'terminated',\n BookingCanceled = 'booking_canceled',\n PrepaymentPlanned = 'prepayment_planned',\n NoPrepayment = 'no_prepayment',\n Prepaid = 'prepaid',\n DealSigned = 'deal_signed',\n Registered = 'registered',\n DealDone = 'deal_done',\n}\n\nexport enum ContractKind {\n NotExclusive = 'not-exclusive',\n Exclusive = 'exclusive',\n OnAdvance = 'on-advance',\n LegalSupport = 'legal-support',\n}\n\nexport type Contract = {\n amount: MoneyAmount;\n createdAt: string;\n duration: number;\n expiresAt: string;\n formalId: string;\n id: number;\n isFixedCashCommission: boolean;\n kind: ContractKind;\n participants: any[];\n serviceRequest: Partial<ServiceRequest> & { id: number };\n status: ContractStatus;\n type: ContractType;\n accountingDoc?: string;\n amountDue?: number;\n amountPenalty?: MoneyAmount;\n amountReceived?: MoneyAmount;\n approvedAt?: string;\n comment?: string;\n canTerminate?: boolean;\n deal?: Partial<Deal> & { id: number };\n declinedAt?: string;\n reason?: string;\n signPlannedAt?: string;\n signedAt?: string;\n terminatedAt?: string;\n};\n","import { Company } from './Company';\n\nexport enum ContractDocumentSubject {\n Buy = 'buy',\n Escort = 'escort',\n RealtyHistoryAnalyze = 'realtyHistoryAnalyze',\n ContractCreating = 'contractCreating',\n MortgageSupport = 'mortgageSupport',\n MortgageRefinancing = 'mortgageRefinancing',\n DocumentCollecting = 'documentCollecting',\n RealtorConsulting = 'realtorConsulting',\n DocumentSubmitting = 'documentSubmitting',\n LawSupport = 'lawSupport',\n OtherServices = 'otherServices',\n}\n\nexport enum ContractDocumentKind {\n Flat = 'flat',\n Apartment = 'apartment',\n House = 'house',\n HouseWithLand = 'houseWithLand',\n RightToDemand = 'rightToDemand',\n}\n\nexport enum ContractDocumentType {\n Sell = 'sell',\n Buy = 'buy',\n}\n\nexport type ContractDocument = {\n type: ContractDocumentType;\n\n address?: string;\n buyer?: string;\n commission?: number;\n commonArea?: number;\n contractNumber?: string;\n contractSubject?: Array<ContractDocumentSubject>;\n customers?: Array<{\n actualResidenceAddress?: string;\n addressRegistered?: string;\n bornAt?: string;\n code?: string;\n email?: string;\n givenAt?: string;\n givenBy?: string;\n name?: string;\n passportNumber?: string;\n phone?: string;\n }>;\n requisites: Company;\n endedAt?: string;\n expertEmail?: string;\n expertName?: string;\n expertPhone?: string;\n extraSubject?: string;\n isValid?: boolean;\n kind?: ContractDocumentKind;\n legalDiligencePrice?: number;\n owners?: string[];\n price?: number;\n residueCommission?: number;\n restrictions?: string;\n signedAt?: string;\n supplyPayment?: number;\n};\n","export enum ContractLegalDocumentStatus {\n NotRequested = 'notRequested',\n Requested = 'requested',\n Ready = 'ready',\n NotFound = 'notFound',\n}\n\nexport enum ContractLegalDocumentType {\n Egrn = 'egrn',\n OwnershipTransfers = 'ownershipTransfers',\n}\n\nexport type ContractLegalDocument = {\n isLegalDocumentRequestAllowed: boolean;\n documents: Array<{\n status: ContractLegalDocumentStatus;\n type: ContractLegalDocumentType;\n explanation?: string[];\n requestedDate?: string;\n }>;\n};\n","export enum CrossSaleContractorType {\n Owner = 'owner',\n Agent = 'agent',\n Agency = 'agency',\n}\n\nexport type CrossSale = {\n createdAt: string;\n id: number;\n mainServiceRequest: { id: number };\n realtyExtId: number;\n commission: number;\n childRealtyExtId?: number;\n childServiceRequest?: { id: number };\n comment?: string;\n contractorType?: CrossSaleContractorType;\n phone?: { id: number; number: string };\n realtyServiceRequest?: { id: number };\n updatedAt?: string;\n};\n","export enum Currency {\n Rub = 'RUB',\n Usd = 'USD',\n Eur = 'EUR',\n Kzt = 'KZT',\n Aed = 'AED',\n Vnd = 'VND',\n Idr = 'IDR',\n Thb = 'THB',\n Khr = 'KHR',\n}\n\nexport type MoneyAmount = { amount: number; currency: Currency };\n\nexport type CurrencyCourses = {\n currency: {\n code: Currency;\n name: string;\n isUsed: boolean;\n };\n rate: number;\n};\n","import { Contract } from './Contract';\nimport { MoneyAmount } from './Currency';\nimport { Income } from './Income';\nimport { File } from './File';\nimport { User } from './User';\nimport { DealParticipant } from './DealParticipant';\nimport { Buyer } from './Buyer';\nimport { Debt } from './Debt';\n\nexport enum DealFileCategory {\n DeleteReason = 'deleteReason',\n Egrn = 'egrn',\n OwnershipTransfers = 'ownership_transfers',\n Risk = 'risk',\n Act = 'act',\n ActDeveloper = 'act_developer',\n OwnershipCertificate = 'ownership_certificate',\n FloorPlan = 'floor_plan',\n Explication = 'explication',\n Egd = 'egd',\n ReferenceNoDebtGku = 'reference_no_debt_gku',\n ReferenceNoDebtRepair = 'reference_no_debt_repair',\n ReferencePnd = 'reference_pnd',\n ReferenceNd = 'reference_nd',\n PassportContractor = 'passport_contractor',\n MarriageCertificateContractor = 'marriage_certificate_contractor',\n SpouseAgreementContractor = 'spouse_agreement_contractor',\n Invest = 'invest',\n Other = 'other',\n}\n\nexport enum DealBillServiceType {\n PartPayment = 'part_payment',\n FullPayment = 'full_payment',\n BuyServicePayment = 'buy_service_payment',\n SecurityDepositPayment = 'security_deposit_payment',\n}\n\nexport enum DealNoLawyerReason {\n FromDeveloper = 'from_developer',\n NoLawyerOffice = 'no_lawyer_office',\n}\n\nexport enum DealPartnerDealType {\n PartnerCommission = 'partner_commission',\n HomeappCommission = 'homeapp_commission',\n}\n\nexport enum DealStatus {\n PrepaymentPlanned = 'prepayment_planned',\n NoPrepayment = 'no_prepayment',\n Prepaid = 'prepaid',\n DealSigned = 'deal_signed',\n Registered = 'registered',\n DealDone = 'deal_done',\n Terminated = 'terminated',\n}\n\nexport type Deal = {\n buyer: Partial<Buyer> & Required<Pick<Buyer, 'id'>>;\n clientCommission: MoneyAmount; // alias for `plannedCommission` with foreign currency\n createdAt: string;\n debts: Debt[];\n developerCommission: MoneyAmount;\n finalPrice: MoneyAmount;\n hasPrepayment: boolean;\n id: number;\n incomes: Array<Partial<Income> & Required<Pick<Income, 'id'>>>;\n isDayOff: boolean;\n participants: Array<Partial<DealParticipant> & Required<Pick<DealParticipant, 'id'>>>;\n partnerCommission: MoneyAmount;\n receivedCommission: MoneyAmount;\n status: DealStatus;\n withLawyer: boolean;\n withLegalChecks: boolean;\n\n buyParams?: { address?: string; flatNumber?: number; cadastralNumber?: string };\n actDeveloperSignedAt?: string;\n actSignedAt?: string;\n canBeDealDone?: boolean;\n classificationScore?: number;\n classificationScoreDate?: string;\n costsLegalCheck?: MoneyAmount;\n comment?: string;\n commissionAt?: string;\n commissionPlannedAt?: string;\n companyDedicatedCommission?: MoneyAmount;\n contract?: Partial<Contract> & Required<Pick<Contract, 'id'>>;\n dealDoneAt?: string;\n dealBuy?: Partial<Deal>;\n dealSignedAt?: string;\n dealSignPlannedAt?: string;\n dealSingedAt?: string;\n expertPartner?: Partial<User> & Required<Pick<User, 'id'>>;\n files?: Array<Partial<File> & Required<Pick<File, 'id'>>>;\n filesInDeal?: { id: number };\n financeConfirmAt?: string;\n guaranteedPayment?: boolean;\n internalPartnerCommission?: MoneyAmount;\n invest?: {\n investBuyoutPrepaymentAt?: string;\n investBuyoutPrepaymentSum?: number;\n investSellServiceRequest?: { id: number };\n isInvestBuyout?: boolean;\n };\n isLawyerRequired?: string;\n lawyer?: Partial<User> & Required<Pick<User, 'id'>>;\n lawyerNotRequiredReason?: DealNoLawyerReason;\n partnerDealType?: DealPartnerDealType | null;\n percentExpertPartner?: number;\n plannedCommission?: MoneyAmount;\n prepaidAt?: string;\n prepaymentPlannedAt?: string;\n prepaymentPlannedPlace?: string;\n registeredAt?: string;\n registerPlannedAt?: string;\n terminatedAt?: string;\n terminationReason?: string;\n terminationRequestedAt?: string;\n updatedAt?: string;\n};\n","import { File } from './File';\n\nexport enum DealCategorizedFileCategory {\n Act = 'act',\n ActDeveloper = 'act_developer',\n DeleteReason = 'deleteReason',\n Egd = 'egd',\n Egrn = 'egrn',\n Explication = 'explication',\n FloorPlan = 'floor_plan',\n Invest = 'invest',\n MarriageCertificateContractor = 'marriage_certificate_contractor',\n Other = 'other',\n OwnershipCertificate = 'ownership_certificate',\n OwnershipTransfers = 'ownership_transfers',\n PassportContractor = 'passport_contractor',\n ReferenceNoDebtGku = 'reference_no_debt_gku',\n ReferenceNoDebtRepair = 'reference_no_debt_repair',\n ReferencePnd = 'reference_pnd',\n ReferenceNd = 'reference_nd',\n Risk = 'risk',\n SpouseAgreementContractor = 'spouse_agreement_contractor',\n}\n\nexport type DealCategorizedFile = {\n id: number;\n file: Partial<File> & { id: number };\n deal: { id: number };\n category: DealCategorizedFileCategory;\n isRemovable: boolean;\n};\n","export enum DealParticipantSide {\n Buyer = 'buyer',\n Seller = 'seller',\n}\n\nexport enum DealParticipantPosition {\n Agent = 'agent',\n Lawyer = 'lawyer',\n BankEmployee = 'bank-employee',\n Relative = 'relative',\n Seller = 'seller',\n Investor = 'investor',\n Other = 'other',\n}\n\nexport type DealParticipant = {\n id: number;\n name: string;\n phone: { id?: number; number: string };\n position: DealParticipantPosition;\n side: DealParticipantSide;\n other?: string;\n};\n","import { MoneyAmount } from './Currency';\nimport { ServiceRequest } from './ServiceRequest';\nimport { User } from './User';\n\nexport enum DebtPaymentType {\n BonusToExpert = 'bonus_to_expert',\n InternalPartnerBonusToExpert = 'internal_partner_bonus_to_expert',\n BonusToTrainee = 'bonus_to_trainee',\n BonusPaymentToMentor = 'bonus_payment_to_mentor',\n BonusPaymentToTeamlead = 'bonus_payment_to_teamlead',\n PartnerCharges = 'partner_charges',\n ReferralForExpert = 'referral_for_expert',\n ReferralForPA = 'referral_for_pa',\n LegalSupportPayment = 'legal_support_payment',\n OtherPayments = 'other_payments',\n DeveloperDepositPayment = 'developer_deposit_payment',\n BonusPaymentAsiaConsultant = 'bonus_payment_asia_consultant',\n SpsBonusPayment = 'sps_bonus_payment',\n BonusPaymentInventoryDepartmentHead = 'bonus_payment_inventory_department_head',\n BonusPaymentInventoryDepartmentAdmin = 'bonus_payment_inventory_department_admin',\n BonusPaymentOfficeAdmin = 'bonus_payment_office_admin',\n DealNdsPayment = 'nds_by_deal',\n BonusPersonalAssistantFirstLevel = 'bonus_personal_assistant_1',\n BonusPersonalAssistantSecondLevel = 'bonus_personal_assistant_2',\n BonusPersonalAssistantThirdLevel = 'bonus_personal_assistant_3',\n BonusPortfolioCoordinator = 'bonus_portfolio_coordinator',\n BonusExpoCoordinator = 'bonus_expo_coordinator',\n PaymentForPhotography = 'payment_for_photography',\n PaymentForAttractingLead = 'payment_for_attracting_lead',\n // неактуально, но оставлено для обратной совместимости\n Referral = 'referral',\n}\n\nexport type Debt = {\n amount: MoneyAmount;\n createdAt: string;\n id: number;\n isRepaid: boolean;\n paymentType: DebtPaymentType;\n serviceRequest: Partial<ServiceRequest> & Required<Pick<ServiceRequest, 'id'>>;\n debtToUser?: Partial<User> & Required<Pick<User, 'id'>>;\n};\n","import { User } from './User';\n\nexport enum ExpertCategoryExpertType {\n NewExpert = 'new_expert',\n ExperienceExpert = 'experience_expert',\n}\n\nexport enum ExpertCategoryCategory {\n Red = '1',\n Yellow = '2',\n Green = '3',\n NoCategory = '4',\n}\n\nexport type ExpertCategory = {\n category: ExpertCategoryCategory;\n cntDaysInCurrentCategory: number;\n expert: Partial<User> & Required<Pick<User, 'id'>>;\n expertType: ExpertCategoryExpertType;\n id: number;\n needAttention: boolean;\n supervisor: Partial<User> & Required<Pick<User, 'id'>>;\n};\n","import { MoneyAmount } from './Currency';\nimport { User } from './User';\n\nexport enum ExpertGradeType {\n Junior = 'junior',\n Bronze = 'bronze',\n Silver = 'silver',\n Gold = 'gold',\n}\n\nexport type ExpertGrade = {\n amount: MoneyAmount;\n createdAt: string;\n currentSeasonGross: MoneyAmount;\n expert: Partial<User> & Required<Pick<User, 'id'>>;\n grade: ExpertGradeType;\n gradePercent: number;\n id: number;\n lastFourSeasonGross: MoneyAmount;\n lastSeasonGross: MoneyAmount;\n lastTwoSeasonGross: MoneyAmount;\n supervisor: Partial<User> & Required<Pick<User, 'id'>>;\n\n createdBy?: Partial<User> & Required<Pick<User, 'id'>>;\n};\n\nexport type ShortExpertGrade = Pick<\n ExpertGrade,\n 'createdAt' | 'expert' | 'id' | 'grade' | 'gradePercent' | 'supervisor'\n> & {\n gross: number;\n};\n","export enum FileType {\n Image = 'image',\n Audio = 'audio',\n Video = 'video',\n Document = 'document',\n}\n\nexport enum FileCategory {\n DeleteReason = 'deleteReason',\n EGRN = 'egrn',\n OwnershipTransfers = 'ownership_transfers',\n}\n\nexport type File = {\n id: number;\n type: string;\n name: string;\n url: string;\n createdAt: string;\n category?: string | FileCategory;\n isRemovable?: boolean;\n};\n","import { Image } from './Image';\n\nexport enum GalleryImageType {\n Main = 'main',\n Portrait = 'portrait',\n}\n\nexport type GalleryImage = {\n id: number;\n image: Partial<Image> & { id: number };\n type: string | GalleryImageType;\n};\n","export enum ImageType {\n Complex = 'complex',\n Apartment = 'apartment',\n Layout = 'layout',\n}\n\nexport type Image = {\n id: number;\n storagePath: string;\n type: string | ImageType;\n thumbnailPath: string;\n properties: { oldId?: number; maxSize?: string };\n};\n","export enum InternalCrossSaleStatus {\n Accepted = 'ACCEPTED',\n Rejected = 'REJECTED',\n Waiting = 'WAITING',\n}\n\nexport type InternalCrossSale = {\n id: number;\n serviceRequestId: number;\n apartmentId: number;\n apartmentInfo: string;\n presentationUrl: string;\n fullAddress: string;\n roomsNumber: number;\n area: number;\n price: number;\n fullCuratorName: string;\n curatorId: number;\n cntBuyerTotal: number;\n floor: number;\n realtyType: string;\n cntDaysPublished: number;\n commissionAmount: number;\n storagePath: string;\n status: InternalCrossSaleStatus;\n};\n","import { User } from './User';\n\nexport enum LeadAssignmentBlockReason {\n Vacation = 'vacation',\n RequestTeamlead = 'request_teamlead',\n ViolationRegulations = 'violation_regulations',\n Trainee = 'trainee',\n}\n\nexport type LeadAssignmentBlock = {\n createdAt: string;\n curator: Partial<User> & Required<Pick<User, 'id'>>;\n dateFrom: string;\n id: number;\n reason: LeadAssignmentBlockReason;\n user: Partial<User> & Required<Pick<User, 'id'>>;\n dateTo?: string;\n updatedAt?: string;\n};\n","export type MotivationSellMinCommission = {\n categoryName: string;\n minPrice: number;\n minCommissionPercent: number;\n recommendedCommissionPercent: number;\n minCommissionAmount: number;\n};\n\nexport type MotivationCommonMinCommission = {\n categoryName: string;\n minPrice: number;\n minCommission: number;\n minCommissionUnit: string;\n legalDiligencePrice: number;\n totalMinCommission: number;\n};\n\nexport type MotivationMinCommission = {\n sell: Array<MotivationSellMinCommission>;\n buySecondary: Array<MotivationCommonMinCommission>;\n legalSupport: Array<MotivationCommonMinCommission>;\n};\n\nexport type MotivationStep = {\n name: string;\n val: number;\n bonus: number;\n bonusTrainee?: number;\n};\n\nexport enum MotivationServiceTypeValues {\n Sell = 'sell',\n BuySecondary = 'buy_secondary',\n BuyNew = 'buy_new',\n LegalSupport = 'legal_support',\n}\n\nexport type MotivationExpertBonusCalculatingData = {\n stepName: string;\n commissionPart: number;\n bonusPercent: number;\n bonus: number;\n};\n\nexport type MotivationCommission = {\n minCommission: number;\n recommendedCommission: number;\n commission: number;\n lowCommissionBonusFine: number;\n additionalHighCommissionBonus: number;\n additionalBonusOver2M: number;\n expertBonusBySteps: number;\n expertBonusPercentBySteps: number;\n expertBonus: number;\n expertBonusPercent: number;\n expertBonusPercentCalculation: MotivationExpertBonusCalculatingData[];\n legalDiligencePrice?: number;\n mentorLowCommissionBonusFine?: number;\n mentorAdditionalHighCommissionBonus?: number;\n mentorBonus?: number;\n mentorBonusPercent?: number;\n mentorBonusBySteps?: number;\n mentorBonusPercentBySteps?: number;\n};\n","export enum PhoneBookContactType {\n Buyer = 'buyer',\n Seller = 'seller',\n}\n\nexport enum PhoneBookContactPhoneType {\n Main = 'main',\n Additional = 'additional',\n}\n\nexport type PhoneBookContact = {\n createdAt: string;\n id: number;\n isFavorite: boolean;\n name: string;\n phones: Array<{ id: number; type: PhoneBookContactPhoneType; phone: string }>;\n type: PhoneBookContactType;\n comment?: string;\n};\n","import { User } from './User';\n\nexport enum PhotoOrderStatus {\n Aborted = 'aborted',\n Created = 'created',\n CreationFailed = 'creation_failed',\n EpicFail = 'epic_fail',\n ExecutionFailed = 'execution_failed',\n Init = 'init',\n PhotographerFound = 'photographer_found',\n PhotographerNotFound = 'photographer_not_found',\n Success = 'success',\n Terminated = 'terminated',\n}\n\nexport enum PhotoOrderRenovation {\n Author = 'author',\n Cosmetic = 'cosmetic',\n Euro = 'euro',\n None = 'none',\n}\n\nexport enum PhotoOrderTypes {\n Internal = 'internal',\n External = 'external',\n}\n\nexport type PhotoOrder = {\n type: PhotoOrderTypes;\n addressId: number;\n expertPhone: string;\n hasAccessToFlat: boolean;\n id: string;\n isOutCKAD: boolean;\n renovation: PhotoOrderRenovation;\n scheduledAt: string;\n serviceRequestId: number;\n status: PhotoOrderStatus;\n\n internalUser?: Partial<User> & { id: number };\n comment?: string;\n photographerName?: string;\n photographerPhone?: string;\n url?: string;\n};\n","import { Address } from './Address';\nimport { Image } from './Image';\nimport { RealtyOffer } from './RealtyOffer';\n\nexport enum RealtyType {\n FlatSecondary = 'flat_secondary',\n FlatNew = 'flat_new',\n House = 'house',\n}\n\nexport enum RealtyRenovationType {\n None = 'none',\n Author = 'author',\n Cosmetic = 'cosmetic',\n Euro = 'euro',\n FineFinishing = 'fine_finishing',\n RoughFinishing = 'rough_finishing',\n}\n\nexport enum RealtyGas {\n None = 'none',\n Connected = 'connected',\n Border = 'border',\n Possible = 'possible',\n Autonomous = 'autonomous',\n}\n\nexport enum RealtyHouseType {\n Townhouse = 'townhouse',\n House = 'house',\n Cottage = 'cottage',\n Part = 'part',\n Duplex = 'duplex',\n}\n\nexport enum RealtyLandShape {\n Regular = 'regular',\n Irregular = 'irregular',\n}\n\nexport enum RealtyLandUsageType {\n IGS = 'igs',\n LPH = 'lph',\n DNP = 'dnp',\n SNT = 'snt',\n Farm = 'farm',\n Garden = 'garden',\n Investproject = 'investproject',\n}\n\nexport enum RealtyRelief {\n Flat = 'flat',\n Elevations = 'elevations',\n Slope = 'slope',\n Hills = 'hills',\n}\n\nexport enum RealtyElectricity {\n None = 'none',\n Connected = 'connected',\n Possible = 'possible',\n Autonomous = 'autonomous',\n}\n\nexport enum RealtyFurniture {\n None = 'none',\n Full = 'full',\n Part = 'part',\n}\n\nexport enum RealtySewerage {\n None = 'none',\n Cesspool = 'cesspool',\n Septic = 'septic',\n Bio = 'bio',\n Central = 'central',\n}\n\nexport enum RealtyWindowView {\n Street = 'street',\n Yard = 'yard',\n Both = 'both',\n}\n\nexport type Realty = {\n address: Partial<Address> & { id: number };\n addressId: number;\n area: number;\n floor: number;\n id: number;\n images: Array<Partial<Image> & { id: number }>;\n price: number;\n realtyType: RealtyType;\n renovationType: RealtyRenovationType;\n roomsNumber: number;\n type: RealtyType;\n isNewFlat: boolean;\n\n balconyCount?: number;\n burden?: boolean;\n ceilingHeight?: number;\n chambers?: string;\n cityDistance?: number;\n createdAt?: string;\n documentationUrl?: number;\n electricity?: RealtyElectricity;\n features?: string[];\n floorsNumber?: number;\n furniture?: RealtyFurniture;\n gas?: RealtyGas;\n houseType?: RealtyHouseType;\n isDevelopersOffer?: boolean;\n kitchenArea?: number;\n landArea?: number;\n landShape?: RealtyLandShape;\n landUsageType?: RealtyLandUsageType;\n livingArea?: number;\n mainOffer?: Partial<RealtyOffer> & { id: number };\n number?: number;\n relief?: RealtyRelief;\n separatedRoomsNumber?: number;\n sewerage?: RealtySewerage;\n soldAt?: string;\n windowView?: RealtyWindowView;\n};\n","import { Appointment } from './Appointment';\nimport { Contract } from './Contract';\nimport { File } from './File';\nimport { Realty, RealtyType } from './Realty';\nimport { RealtyType as RealtyTypeV2 } from '../../v2/types/Realty';\nimport { Task } from './Task';\nimport { User } from './User';\nimport { CallTaskDirection } from './CallTask';\nimport { Company } from './Company';\nimport { Checklist } from './Checklist';\nimport { ServiceRequestPersonalAssistant } from './ServiceRequestPersonalAssistant';\nimport { MoneyAmount } from './Currency';\n\nexport enum ServiceRequestCategory {\n Depublished = 'depublished',\n Discounted = 'discounted',\n Cold = 'cold',\n Warm = 'warm',\n New = 'new',\n Hot = 'hot',\n}\n\nexport enum ServiceRequestModerationStatus {\n None = 'none',\n Sent = 'sent',\n Booked = 'booked',\n Done = 'done',\n}\n\nexport enum ServiceRequestStatus {\n Approved = 'approved',\n Booked = 'booked',\n BookingCanceled = 'booking_canceled',\n DealDone = 'deal_done',\n DealSigned = 'deal_signed',\n Declined = 'declined',\n LeadAdv = 'lead_adv',\n LeadExpert = 'lead_expert',\n NoPrepayment = 'no_prepayment',\n Prepaid = 'prepaid',\n PrepaymentPlanned = 'prepayment_planned',\n Registered = 'registered',\n Signed = 'signed',\n Terminated = 'terminated',\n}\n\nexport enum ServiceRequestVerificationStatus {\n None = 'none',\n Sent = 'sent',\n Done = 'done',\n}\n\nexport enum ServiceRequestType {\n Buy = 'buy',\n Sell = 'sell',\n AsiaSell = 'asia_sell',\n}\n\nexport enum ServiceRequestInvestType {\n Buyout = 'buyout',\n Sell = 'sell',\n}\n\nexport enum ServiceRequestDepublishReason {\n TemporaryDepublish = 'temporary_depublish',\n ForeverDepublish = 'forever_depublish',\n HardToSellObject = 'hard_to_sell_object',\n SoldListing = 'sold_listing',\n SoldByOwner = 'sold_by_owner',\n Other = 'other',\n\n // легаси значения, которые больше не используются, но оставлены для обратной совместимости\n DepublishOnAdvance = 'depublish_on_advance',\n ClientRequest = 'client_request',\n DeveloperRequest = 'developer_request',\n BadObject = 'bad_object',\n BadObjectElite = 'bad_object_elite',\n CrossSell = 'cross_sell',\n}\n\nexport enum ServiceRequestSource {\n Apk = 'apk',\n Recommendations = 'recommendations',\n ColdCCMoscow = 'coldCCMoscow',\n ColdCCZelenograd = 'coldCCZelenograd',\n ColdCCZhukovsky = 'coldCCZhukovsky',\n Marketing = 'marketing',\n Test = 'test',\n Other = 'other',\n}\n\nexport type ServiceRequest = {\n advLink?: string;\n buyParams: { budget?: number; place?: string } | any[];\n category: ServiceRequestCategory;\n createdAt: string;\n curator: Partial<User> & { id: number };\n files: Array<Partial<File> & { id: number }>;\n hasNotifications: boolean;\n hasPublishedValuations: boolean;\n hasValuations: boolean;\n id: number;\n isLaunchedOnOldPublisher: boolean;\n isPublished: boolean;\n isTerminationRequestNeeded: boolean;\n moderationStatus: ServiceRequestModerationStatus;\n personalAssistants: Array<ServiceRequestPersonalAssistant>;\n sellParams:\n | any[]\n | {\n realtyType?: RealtyTypeV2;\n address?: string;\n area?: number;\n floor?: number;\n roomsNumber?: string | number;\n price?: number;\n };\n source: string;\n status: ServiceRequestStatus;\n type: ServiceRequestType;\n user: Partial<User> & { id: number };\n verificationStatus: ServiceRequestVerificationStatus;\n\n appointment?: Partial<Appointment> & Required<Pick<Appointment, 'id'>>;\n canBePublishedAt?: string;\n checkList?: Pick<Checklist, 'id' | 'isComplete' | 'problemCount'>;\n closedAt?: string;\n closeRequestedAt?: string;\n closingReason?: string;\n company?: Partial<Company> & Required<Pick<Company, 'id'>>;\n contract?: Partial<Contract> & { id: number };\n createdBy?: Partial<User> & { id: number };\n crossSaleCount?: number;\n currentScore?: number;\n depublishComment?: string;\n depublishReason?: ServiceRequestDepublishReason;\n description?: string;\n discountedAt?: string;\n externalLinksCount?: number;\n hasDeveloperCommission?: boolean;\n hasMainAdLinksProblem?: boolean;\n hasReportsForSeller?: boolean;\n invest?: { investType?: ServiceRequestInvestType; investBuyoutDeal?: { id: number } };\n isActuallyDepublished?: boolean;\n lastDepublishedAt?: string;\n lastPublishedAt?: string;\n parentCallTaskDirection?: CallTaskDirection;\n planDrawComment?: string;\n planDrawDate?: string;\n planDrawSum?: MoneyAmount;\n publicationTestPeriodDays?: number;\n realty?: Partial<Realty> & { id: number };\n realtyExtId?: number;\n realtyType?: RealtyType;\n sentToVerifyAt?: string;\n task?: Partial<Task> & { id: number };\n teamLeadTask?: Partial<Task> & { id: number };\n valuationProblems?: string[];\n verifiedAt?: string;\n};\n","import { Call } from './Call';\nimport { ServiceRequest } from './ServiceRequest';\nimport { User } from './User';\n\nexport enum ServiceRequestActivityType {\n Comment = 'comment',\n Edit = 'edit',\n Transfer = 'transfer',\n Call = 'call',\n Task = 'task',\n Contract = 'contract',\n PublicationProblem = 'publication-problem',\n MarkedUp = 'marked-up',\n Published = 'published',\n Republished = 'republished',\n Depublished = 'depublished',\n PriceChanged = 'price-changed',\n RequestPriceDown = 'request-price-down',\n ContractExpired = 'contract-expired',\n CallTaskCreated = 'call-task-created',\n RealtyShowScheduled = 'realty-show-scheduled',\n RealtyShowCompleted = 'realty-show-completed',\n RealtyShowCancelled = 'realty-show-cancelled',\n Appointment = 'appointment',\n}\n\nexport type ServiceRequestActivity = {\n createdAt: string;\n id: number;\n text: string;\n type: ServiceRequestActivityType;\n author?: Partial<User> & Required<Pick<User, 'id'>>;\n buyer?: { name: string };\n call?: Partial<Call> & Required<Pick<Call, 'id'>>;\n serviceRequest?: Partial<ServiceRequest> & Required<Pick<ServiceRequest, 'id'>>;\n user?: Partial<User> & Required<Pick<User, 'id'>>;\n viewedAt?: string;\n};\n","import { File } from './File';\n\nexport enum ServiceRequestCategorizedFileCategory {\n AdvAgreement = 'adv_agreement',\n AdvanceForm = 'advance_form',\n CheckList = 'check_list',\n Contract = 'contract',\n DeleteReason = 'deleteReason',\n Egrn = 'egrn',\n Kc = 'kc',\n Other = 'other',\n OwnershipCheckReport = 'ownership_check_report',\n OwnershipJustification = 'ownership_justification',\n OwnershipTransfers = 'ownership_transfers',\n PassportClient = 'passport_client',\n Risk = 'risk',\n}\n\nexport type ServiceRequestCategorizedFile = {\n id: number;\n file: Partial<File> & { id: number };\n serviceRequest: { id: number };\n category: ServiceRequestCategorizedFileCategory;\n isRemovable: boolean;\n};\n","export enum ServiceRequestFeedbackCategory {\n ExpertWork = 'expert_work',\n Technical = 'technical',\n Other = 'other',\n PriceDownRequest = 'price_down_request',\n}\n\nexport type ServiceRequestFeedback = {\n id: number;\n category: ServiceRequestFeedbackCategory;\n serviceRequestId: number;\n text?: string;\n};\n","type Coordinates = number[];\n\ntype Polygon = { type: 'Polygon'; coordinates: Array<Coordinates> };\n\ntype MultiPolygon = {\n type: 'MultiPolygon';\n coordinates: Array<Array<Coordinates>>;\n};\n\nexport enum ShapeType {\n AdministrativeDistrict = 'administrative_district',\n Block = 'block',\n Complex = 'complex',\n District = 'district',\n House = 'house',\n Microdistrict = 'microdistrict',\n}\n\nexport type Shape = {\n geometry: Polygon | MultiPolygon;\n id: number;\n name: string;\n type: ShapeType;\n};\n","export enum SoldStatisticTypes {\n House = 'house',\n FlatNew = 'flat_new',\n FlatSecondary = 'flat_secondary',\n}\n\nexport type SoldStatistic = {\n type: SoldStatisticTypes;\n price: number;\n};\n","import { ServiceRequest } from './ServiceRequest';\nimport { User } from './User';\n\nexport enum TaskStatus {\n New = 'new',\n InProgress = 'in_progress',\n Resolved = 'resolved',\n Closed = 'closed',\n Expired = 'expired',\n}\n\nexport enum TaskImportance {\n Normal = 'normal',\n High = 'high',\n}\n\nexport enum TaskNotificationType {\n Morning = 'morning',\n Min15 = 'min15',\n Hour1 = 'hour1',\n Hour2 = 'hour2',\n Nil = 'nil',\n}\n\nexport type Task = {\n assignee: Partial<User> & { id: number };\n author: Partial<User> & { id: number };\n createdAt: string;\n expiresAt: string;\n id: number;\n importance: TaskImportance;\n notificationType: TaskNotificationType;\n serviceRequest: Partial<ServiceRequest> & { id: number };\n status: TaskStatus;\n text: string;\n\n closedAt?: string;\n resolvedAt?: string;\n updatedAt?: string;\n};\n","import { Shape } from './Shape';\nimport { GalleryImage } from './GalleryImage';\nimport { UserPhone } from './UserPhone';\nimport { UserCase } from './UserCase';\nimport { Contact } from './Contact';\nimport { CallProxy } from './CallProxy';\nimport { ExpertReview } from './ExpertReview';\nimport { Company } from './Company';\n\nexport enum UserTelephonyType {\n Vox = 'vox',\n}\n\nexport enum UserDirection {\n Resale = 'resale',\n NewBuildings = 'new-buildings',\n Elite = 'elite',\n Private = 'private',\n Commercial = 'commercial',\n}\n\nexport enum UserGender {\n Female = 'female',\n Male = 'male',\n}\n\nexport enum UserLevel {\n Expert = 'expert',\n TopExpert = 'top_expert',\n Groupleader = 'groupleader',\n SalesHead = 'sales_head',\n Teamleader = 'teamleader',\n}\n\nexport enum UserContactInfoType {\n SlackId = 'slack-id',\n SlackGroupId = 'slack-group-id',\n SlackUsername = 'slack-username',\n SlackGroupName = 'slack-group-name',\n Skype = 'skype',\n Email = 'email',\n Jabber = 'jabber',\n Icq = 'icq',\n Imessage = 'imessage',\n Telegram = 'telegram',\n Whatsapp = 'whatsapp',\n Facebook = 'facebook',\n Linkedin = 'linkedin',\n Vk = 'vk',\n Odnoklassniki = 'odnoklassniki',\n Instagram = 'instagram',\n VoxAccount = 'vox-account',\n}\n\nexport enum UserOffice {\n Lyubertsy = 'lyubertsy',\n Moscow = 'moscow',\n Zelenograd = 'zelenograd',\n Zhukovsky = 'zhukovsky',\n}\n\nexport enum UserRole {\n Admin = 'admin',\n CallOperator = 'call_operator',\n CashManager = 'cash_manager',\n ChatQualityAssessor = 'chat_quality_assessor',\n DataScience = 'data_science',\n Developer = 'developer',\n Expert = 'expert',\n ExternalPartner = 'external_partner',\n Finance = 'finance',\n FinanceHead = 'finance_head',\n GroupLead = 'group_lead',\n HR = 'hr',\n Invest = 'invest',\n Lawyer = 'lawyer',\n LawyerHead = 'lawyer_head',\n LiquidityReportReader = 'liquidity_report_reader',\n Mentor = 'mentor',\n Moderator = 'moderator',\n QualityAssessor = 'quality_assessor',\n Reader = 'reader',\n SalesHead = 'sales_head',\n Supervisor = 'supervisor',\n Teamlead = 'teamlead',\n TechSupport = 'tech_support',\n Trainee = 'trainee',\n User = 'user',\n PersonalAssistantFirstLevel = 'personal_assistant_1',\n PersonalAssistantSecondLevel = 'personal_assistant_2',\n PersonalAssistantThirdLevel = 'personal_assistant_3',\n PortfolioCoordinator = 'portfolio_coordinator',\n ExpoCoordinator = 'expo_coordinator',\n}\n\nexport enum UserFiredType {\n Fired = 'fired',\n Quite = 'quite',\n Agreement = 'agreement',\n}\n\nexport enum UserFiredReason {\n LeavesRealEstate = 'leaves_real_estate',\n WentToAnother = 'went_to_another',\n FailureToFulfillThePlan = 'failure_to_fulfill_the_plan',\n ToxicityAndNegativity = 'toxicity_and_negativity',\n ForPersonalReasons = 'for_personal_reasons',\n LackOfSalary = 'lack_of_salary',\n Burnout = 'burnout',\n OtherComment = 'other',\n TemporaryBlocking = 'temporary_blocking',\n}\n\nexport enum UserAttractionChannel {\n Recommendations = 'recommendations',\n PartnersOffice = 'partners_office',\n HeadhunterXOHR = 'headhunter_XO_HR',\n HeadhunterXOKC = 'headhunter_XO_KC',\n KCCianBase = 'kc_cian_base',\n HeadhunterResponse = 'headhunter_response',\n Marketing = 'marketing',\n Site = 'site',\n Activity = 'activity',\n Webinar = 'webinar',\n Other = 'other',\n}\n\nexport type UserCourse = {\n name?: string;\n city?: string;\n author?: string;\n imageIds: number[];\n};\n\nexport type UserEducation = {\n university?: string;\n city?: string;\n faculty?: string;\n speciality?: string;\n imageIds: number[];\n};\n\nexport type User = {\n banned: boolean;\n cases: Array<Partial<UserCase> & { id: number }>;\n contactInfo: Array<Partial<Contact> & { id: number }>;\n courses: UserCourse[];\n createdAt: string;\n defaultTelephony: UserTelephonyType;\n districts: Array<Shape>;\n educations: UserEducation[];\n enabled: boolean;\n gallery: Array<Partial<GalleryImage> & { id: number }>;\n id: number;\n isPublished: boolean;\n login: string;\n phones: Array<Partial<UserPhone> & { id: number }>;\n realtyIds: number[];\n roles: UserRole[];\n\n personalAssistants?: Array<Partial<User> & { id: number }>;\n experts?: Array<Partial<User> & { id: number }>;\n bornAt?: string;\n comment?: string;\n defaultVirtualPhone?: string;\n description?: string;\n direction?: UserDirection;\n employeeInfo?: {\n attractionChannel: UserAttractionChannel;\n /**\n * заполняется, если `attractionChannel` равен `other` или `recommendations`\n */\n attractionChannelExplain?: string;\n attractionUser?: { id: number };\n callProxy?: CallProxy;\n firedAt?: string;\n firedComment?: string;\n firedReason?: UserFiredReason;\n firedType?: UserFiredType;\n companies?: Array<Partial<Company> & { id: number; isMain: boolean }>;\n };\n firstName?: string;\n fullNameTranslit?: string;\n gender?: UserGender;\n groupLead?: User;\n hiredAt?: string;\n lastName?: string;\n level?: UserLevel;\n mentor?: User;\n office?: UserOffice;\n patronymic?: string;\n supervisor?: User;\n textReviews?: ExpertReview[];\n transliteratedFullName?: string;\n updatedAt?: string;\n videoReviews?: ExpertReview[];\n};\n","export enum UserPhoneType {\n Sip = 'sip',\n Main = 'main',\n Work = 'work',\n Home = 'home',\n VirtualVox = 'virtual_vox',\n}\n\nexport type UserPhone = {\n id: number;\n number: string;\n type: UserPhoneType;\n};\n","export enum ValuationNewsActionType {\n NewRealty = 'new_realty',\n RealtySold = 'realty_sold',\n RealtyExpired = 'realty_expired',\n}\n\nexport enum ValuationNewsStatus {\n New = 'new',\n NewOutdated = 'new_outdated',\n Ignored = 'ignored',\n Accepted = 'accepted',\n Outdated = 'outdated',\n}\n\nexport type ValuationNews = {\n actionType: ValuationNewsActionType;\n createdAt: string;\n id: number;\n realtyExtId: number;\n serviceRequest: { id: number };\n status: ValuationNewsStatus;\n};\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport {\n Realty,\n Address,\n AddressBTIParams,\n Complex,\n ComplexHousing,\n RealtyImage,\n Image,\n RealtyHouseHighwayDistance,\n RealtyMetroDistance,\n ExternalLink,\n PriceHistory,\n Highway,\n MetroStation,\n CottageComplex,\n} from '../../../types';\n\nexport enum FindRealtyByIdDataMetaRealtyAccess {\n Curator = 'curator',\n CuratorMentor = 'curator_mentor',\n CuratorRop = 'curator_rop',\n Moderator = 'moderator',\n BookedModerator = 'booked_moderator',\n}\n\ntype SuccessData = {\n data: Realty & {\n meta: {\n createdAt: string;\n isPresentationReady: boolean;\n consistency?: Array<{ message: string; fields: string[] }>;\n presentation?: Array<{ message: string; fields: string[] }>;\n realtyAccess?: Array<FindRealtyByIdDataMetaRealtyAccess>;\n updatedAt?: string;\n serviceRequestId?: number;\n };\n };\n included?: Array<\n | Address\n | AddressBTIParams\n | Complex\n | ComplexHousing\n | ExternalLink\n | Image\n | RealtyHouseHighwayDistance\n | RealtyImage\n | RealtyMetroDistance\n | PriceHistory\n | Highway\n | MetroStation\n | CottageComplex\n >;\n errors: never;\n};\ntype ErrorData = {\n data: never;\n included: never;\n errors: Array<{ source?: { parameter: string }; detail: string; description?: string }>;\n};\n\ntype ResultData = {\n data: Realty & {\n meta: SuccessData['data']['meta'] & Required<Pick<SuccessData['data']['meta'], 'consistency' | 'realtyAccess'>>;\n };\n included?: SuccessData['included'];\n};\ntype ResultError = ErrorData['errors'];\n\nexport type RealtyInclude =\n | 'address.bti'\n | 'complex'\n | 'complexHousing'\n | 'metroDistance.metroStation'\n | 'address.metroDistance.metroStation'\n | 'highwayDistance.highway'\n | 'realtyImage.image'\n | 'externalLink'\n | 'priceHistory'\n | 'cottageComplex';\n\nexport type FindRealtyByIdHeaders = { 'x-auth-hc': string };\nexport type FindRealtyByIdUrlParams = { id: string };\nexport type FindRealtyByIdParams = { include?: Array<RealtyInclude> };\nexport type FindRealtyByIdData = AxiosResponse<ResultData>;\nexport type FindRealtyByIdError = AxiosError<ResultError>;\nexport type FindRealtyByIdConfig = {\n baseURL?: string;\n urlParams: FindRealtyByIdUrlParams;\n params?: FindRealtyByIdParams;\n headers?: FindRealtyByIdHeaders;\n};\n\nexport function findRealtyByIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n params,\n headers,\n}: FindRealtyByIdConfig) {\n return axios\n .get(`/api/v2/realty/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/vnd.api+json', ...headers },\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'comma', skipNulls: true }),\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.errors) return data.errors;\n\n return {\n data: {\n ...data.data,\n meta: {\n ...data.data.meta,\n consistency: data.data.meta.consistency ?? [],\n realtyAccess: data.data.meta.realtyAccess ?? [],\n },\n },\n included: data.included,\n };\n },\n ],\n })\n .then((res: FindRealtyByIdData) => res)\n .catch((err: FindRealtyByIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Realty } from '../../../types';\n\nexport enum UpdateRealtyDataMetaRealtyAccess {\n Curator = 'curator',\n CuratorMentor = 'curator_mentor',\n CuratorRop = 'curator_rop',\n Moderator = 'moderator',\n BookedModerator = 'booked_moderator',\n}\n\ntype SuccessData = {\n data: Realty & {\n meta: {\n consistency?: Array<{ message: string; fields: string[] }>;\n realtyAccess?: Array<UpdateRealtyDataMetaRealtyAccess>;\n updatedAt?: string;\n };\n };\n errors: never;\n};\ntype ErrorData = {\n data: never;\n errors: Array<{ source?: { pointer: string }; detail: string; description?: string }>;\n};\n\ntype ResultData = Realty & {\n meta: SuccessData['data']['meta'] & Required<Pick<SuccessData['data']['meta'], 'consistency' | 'realtyAccess'>>;\n};\ntype ResultError = ErrorData['errors'];\n\ntype Nullable<T> = { [P in keyof T]: T[P] | null };\ntype RequiredAttributes = 'area' | 'price' | 'realtyType' | 'roomCount';\n\nexport type UpdateRealtyHeaders = { 'x-auth-hc': string };\nexport type UpdateRealtyUrlParams = { id: string };\nexport type UpdateRealtyBody = {\n data: {\n id: Realty['id'];\n type: Realty['type'];\n attributes?: Pick<Realty['attributes'], RequiredAttributes> &\n Nullable<Omit<Realty['attributes'], RequiredAttributes>>;\n relationships?: Realty['relationships'];\n meta: { refreshedAt?: string };\n };\n};\nexport type UpdateRealtyData = AxiosResponse<ResultData>;\nexport type UpdateRealtyError = AxiosError<ResultError>;\nexport type UpdateRealtyConfig = {\n baseURL?: string;\n urlParams: UpdateRealtyUrlParams;\n body: UpdateRealtyBody;\n headers: UpdateRealtyHeaders;\n};\n\nexport function updateRealtyRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateRealtyConfig) {\n return axios\n .patch(`/api/v2/realty/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/vnd.api+json', 'Content-Type': 'application/vnd.api+json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.errors) return data.errors;\n\n return {\n ...data.data,\n meta: {\n ...data.data.meta,\n consistency: data.data.meta.consistency ?? [],\n realtyAccess: data.data.meta.realtyAccess ?? [],\n },\n };\n },\n ],\n })\n .then((res: UpdateRealtyData) => res)\n .catch((err: UpdateRealtyError) => {\n throw err;\n });\n}\n","import * as api from './api';\n\nexport class Api {\n constructor(private baseURL: Promise<string | undefined> | string | undefined) {}\n\n // appointment\n\n cancelAppointment = async (urlParams: api.CancelAppointmentUrlParams, headers: api.CancelAppointmentHeaders) => {\n return api.cancelAppointmentRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n completeAppointment = async (\n urlParams: api.CompleteAppointmentUrlParams,\n headers: api.CompleteAppointmentHeaders\n ) => {\n return api.completeAppointmentRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n createAppointment = async (body: api.CreateAppointmentBody, headers: api.CreateAppointmentHeaders) => {\n return api.createAppointmentRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n findAppointments = async (params: api.FindAppointmentsParams, headers: api.FindAppointmentsHeaders) => {\n return api.findAppointmentsRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n updateAppointment = async (\n urlParams: api.UpdateAppointmentUrlParams,\n body: api.UpdateAppointmentBody,\n headers: api.UpdateAppointmentHeaders\n ) => {\n return api.updateAppointmentRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n // auth\n\n getPassword = async (params: api.GetPasswordParams, headers?: api.GetPasswordHeaders) => {\n return api.getPasswordRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n checkPassword = async (body: api.CheckPasswordBody) => {\n return api.checkPasswordRequest({ body, baseURL: await this.baseURL });\n };\n\n checkToken = async (headers: api.CheckTokenHeaders) => {\n return api.checkTokenRequest({ headers, baseURL: await this.baseURL });\n };\n\n // available funds\n\n createAvailableFunds = async (body: api.CreateAvailableFundsBody, headers: api.CreateAvailableFundsHeaders) => {\n return api.createAvailableFundsRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n findAvailableFunds = async (params: api.FindAvailableFundsParams, headers: api.FindAvailableFundsHeaders) => {\n return api.findAvailableFundsRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n updateAvailableFunds = async (\n urlParams: api.UpdateAvailableFundsUrlParams,\n body: api.UpdateAvailableFundsBody,\n headers: api.UpdateAvailableFundsHeaders\n ) => {\n return api.updateAvailableFundsRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n deleteAvailableFunds = async (\n urlParams: api.DeleteAvailableFundsUrlParams,\n headers: api.DeleteAvailableFundsHeaders\n ) => {\n return api.deleteAvailableFundsRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n // bill\n\n createBill = async (body: api.CreateBillBody, headers: api.CreateBillHeaders) => {\n return api.createBillRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n findBills = async (params: api.FindBillsParams, headers: api.FindBillsHeaders) => {\n return api.findBillsRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n // bonus calculation\n\n findBonusCalculations = async (\n params: api.FindBonusCalculationsParams,\n headers: api.FindBonusCalculationsHeaders\n ) => {\n return api.findBonusCalculationsRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n // buyer\n\n callbackBuyer = async (urlParams: api.CallbackBuyerUrlParams, headers: api.CallbackBuyerHeaders) => {\n return api.callbackBuyerRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n closeBuyer = async (urlParams: api.CloseBuyerUrlParams, body: api.CloseBuyerBody, headers: api.CloseBuyerHeaders) => {\n return api.closeBuyerRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n countBuyers = async (params: api.CountBuyersParams, headers: api.CountBuyersHeaders) => {\n return api.countBuyersRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n createBuyer = async (body: api.CreateBuyerBody, headers?: api.CallbackBuyerHeaders) => {\n return api.createBuyerRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n findBuyerClosingReason = async (headers: api.FindBuyerClosingReasonHeaders) => {\n return api.findBuyerClosingReasonRequest({ headers, baseURL: await this.baseURL });\n };\n\n findBuyerRejectionReasonStatisticBySrId = async (\n urlParams: api.FindBuyerRejectionReasonStatisticBySrIdUrlParams,\n params: api.FindBuyerRejectionReasonStatisticBySrIdParams,\n headers: api.FindBuyerRejectionReasonStatisticBySrIdHeaders\n ) => {\n return api.findBuyerRejectionReasonStatisticBySrIdRequest({\n urlParams,\n params,\n headers,\n baseURL: await this.baseURL,\n });\n };\n\n findBuyerStatusStatisticBySrId = async (\n urlParams: api.FindBuyerStatusStatisticBySrIdUrlParams,\n params: api.FindBuyerStatusStatisticBySrIdParams,\n headers: api.FindBuyerStatusStatisticBySrIdHeaders\n ) => {\n return api.findBuyerStatusStatisticBySrIdRequest({\n urlParams,\n params,\n headers,\n baseURL: await this.baseURL,\n });\n };\n\n findBuyerStatuses = async (\n urlParams: api.FindBuyerStatusesUrlParams,\n params: api.FindBuyerStatusesParams,\n headers: api.FindBuyerStatusesHeaders\n ) => {\n return api.findBuyerStatusesRequest({ headers, params, urlParams, baseURL: await this.baseURL });\n };\n\n findBuyerUniquePhones = async (headers: api.FindBuyerUniquePhonesHeaders) => {\n return api.findBuyerUniquePhonesRequest({ headers, baseURL: await this.baseURL });\n };\n\n findBuyers = async (params: api.FindBuyersParams, headers: api.FindBuyersHeaders) => {\n return api.findBuyersRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findBuyerById = async (\n urlParams: api.FindBuyerByIdUrlParams,\n params: api.FindBuyerByIdParams,\n headers: api.FindBuyerByIdHeaders\n ) => {\n return api.findBuyerByIdRequest({ urlParams, params, headers, baseURL: await this.baseURL });\n };\n\n resetBuyerStatusTimer = async (\n urlParams: api.ResetBuyerStatusTimerUrlParams,\n headers: api.ResetBuyerStatusTimerHeaders\n ) => {\n return api.resetBuyerStatusTimerRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n shareBuyer = async (urlParams: api.ShareBuyerUrlParams, body: api.ShareBuyerBody, headers: api.ShareBuyerHeaders) => {\n return api.shareBuyerRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n updateBuyer = async (\n urlParams: api.UpdateBuyerUrlParams,\n body: api.UpdateBuyerBody,\n headers: api.UpdateBuyerHeaders\n ) => {\n return api.updateBuyerRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n // call\n\n createCallComment = async (\n urlParams: api.CreateCallCommentUrlParams,\n body: api.CreateCallCommentBody,\n headers: api.CreateCallCommentHeaders\n ) => {\n return api.createCallCommentRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n findCallById = async (urlParams: api.FindCallByIdUrlParams, headers: api.FindCallByIdHeaders) => {\n return api.findCallByIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findCalls = async (params: api.FindCallsParams, headers: api.FindCallsHeaders) => {\n return api.findCallsRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findFirstSuccessOutgoingCalls = async (\n params: api.FindFirstSuccessOutgoingCallsParams,\n headers: api.FindFirstSuccessOutgoingCallsHeaders\n ) => {\n return api.findFirstSuccessOutgoingCallsRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findQualityAssessmentCalls = async (\n params: api.FindQualityAssessmentCallsParams,\n headers: api.FindQualityAssessmentCallsHeaders\n ) => {\n return api.findQualityAssessmentCallsRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n markupCall = async (body: api.MarkupCallBody, headers: api.MarkupCallHeaders) => {\n return api.markupCallRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n removeProxyPhone = async (headers: api.RemoveProxyPhoneHeaders) => {\n return api.removeProxyPhoneRequest({ headers, baseURL: await this.baseURL });\n };\n\n setProxyPhone = async (body: api.SetProxyPhoneBody, headers: api.SetProxyPhoneHeaders) => {\n return api.setProxyPhoneRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n // call center\n\n finishOperatorWork = async (headers: api.FinishOperatorWorkHeaders) => {\n return api.finishOperatorWorkRequest({ headers, baseURL: await this.baseURL });\n };\n\n startOperatorWork = async (headers: api.StartOperatorWorkHeaders) => {\n return api.startOperatorWorkRequest({ headers, baseURL: await this.baseURL });\n };\n\n getOperatorStatus = async (headers: api.GetOperatorStatusHeaders) => {\n return api.getOperatorStatusRequest({ headers, baseURL: await this.baseURL });\n };\n\n // call task\n\n bookCallTask = async (urlParams: api.BookCallTaskUrlParams, headers?: api.BookCallTaskHeaders) => {\n return api.bookCallTaskRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n callCallTask = async (urlParams: api.CallCallTaskUrlParams, headers?: api.CreateCallTaskHeaders) => {\n return api.callCallTaskRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n callCallTaskExpert = async (urlParams: api.CallCallTaskExpertUrlParams, headers?: api.CallCallTaskExpertHeaders) => {\n return api.callCallTaskExpertRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n closeCallTask = async (\n urlParams: api.CallCallTaskUrlParams,\n body: api.CloseCallTaskBody,\n headers?: api.CreateCallTaskHeaders\n ) => {\n return api.closeCallTaskRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n createCallTask = async (body: api.CreateCallTaskBody, headers?: api.CreateCallTaskHeaders) => {\n return api.createCallTaskRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n findCallTaskById = async (urlParams: api.FindCallByIdUrlParams, headers: api.FindCallTaskByIdHeaders) => {\n return api.findCallTaskByIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findCallTaskSourceInfo = async (\n params: api.FindCallTaskSourceInfoParams,\n headers: api.FindCallTaskSourceInfoHeaders\n ) => {\n return api.findCallTaskSourceInfoRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findCallTasks = async (params: api.FindCallTasksParams, headers: api.FindCallTasksHeaders) => {\n return api.findCallTasksRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findCallTasksCount = async (params: api.FindCallTasksCountParams, headers: api.FindCallTasksCountHeaders) => {\n return api.findCallTasksCountRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n joinCallTaskCall = async (urlParams: api.JoinCallTaskCallUrlParams, headers?: api.JoinCallTaskCallHeaders) => {\n return api.joinCallTaskCallRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n returnCallTaskCall = async (urlParams: api.ReturnCallTaskCallUrlParams, headers?: api.ReturnCallTaskCallHeaders) => {\n return api.returnCallTaskCallRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n shiftCallTask = async (\n urlParams: api.ShiftCallTaskUrlParams,\n body: api.ShiftCallTaskBody,\n headers?: api.ShiftCallTaskHeaders\n ) => {\n return api.shiftCallTaskRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n updateCallTask = async (\n urlParams: api.UpdateCallTaskUrlParams,\n body: api.UpdateCallTaskBody,\n headers: api.FindCallTasksHeaders\n ) => {\n return api.updateCallTaskRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n // checklist\n\n findChecklistByServiceRequestId = async (\n urlParams: api.FindChecklistByServiceRequestIdUrlParams,\n headers: api.FindChecklistByServiceRequestIdHeaders\n ) => {\n return api.findChecklistByServiceRequestIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findChecklistQuestionDictionaries = async (headers: api.FindChecklistQuestionsHeaders) => {\n return api.findChecklistQuestionDictionariesRequest({ headers, baseURL: await this.baseURL });\n };\n\n updateChecklist = async (\n urlParams: api.UpdateChecklistUrlParams,\n body: api.UpdateChecklistBody,\n headers: api.UpdateChecklistHeaders\n ) => {\n return api.updateChecklistRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n updateChecklistTask = async (\n urlParams: api.UpdateChecklistTaskUrlParams,\n body: api.UpdateChecklistTaskBody,\n headers: api.UpdateChecklistTaskHeaders\n ) => {\n return api.updateChecklistTaskRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n // comment\n\n findComments = async (params: api.FindCommentsParams, headers: api.FindCommentsHeaders) => {\n return api.findCommentsRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n //company\n\n createCompany = async (body: api.CreateCompanyBody, headers: api.CreateCompanyHeaders) => {\n return api.createCompanyRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n findCompanies = async (params: api.FindCompaniesParams, headers: api.FindCompaniesHeaders) => {\n return api.findCompaniesRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findCompanyById = async (urlParams: api.FindCompanyByIdUrlParams, headers: api.FindCompanyByIdHeaders) => {\n return api.findCompanyByIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n updateCompany = async (\n urlParams: api.UpdateCompanyUrlParams,\n body: api.UpdateCompanyBody,\n headers: api.UpdateCompanyHeaders\n ) => {\n return api.updateCompanyRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n // contract\n\n approveContract = async (\n urlParams: api.ApproveContractUrlParams,\n body: api.ApproveContractBody,\n headers: api.ApproveContractHeaders\n ) => {\n return api.approveContractRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n createContract = async (body: api.CreateContractBody, headers: api.CreateContractHeaders) => {\n return api.createContractRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n createContractLegalDocument = async (\n urlParams: api.CreateContractLegalDocumentUrlParams,\n headers: api.CreateContractLegalDocumentHeaders\n ) => {\n return api.createContractLegalDocumentRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n declineContract = async (\n urlParams: api.DeclineContractUrlParams,\n body: api.DeclineContractBody,\n headers: api.DeclineContractHeaders\n ) => {\n return api.declineContractRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n findContracts = async (params: api.FindContractsParams, headers: api.FindContractsHeaders) => {\n return api.findContractsRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findContractById = async (urlParams: api.FindContractByIdUrlParams, headers: api.FindContractByIdHeaders) => {\n return api.findContractByIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findContractDocumentByContractId = async (\n urlParams: api.FindContractDocumentByContractIdUrlParams,\n headers: api.FindContractDocumentByContractIdHeaders\n ) => {\n return api.findContractDocumentByContractIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findContractLegalDocumentByContractId = async (\n urlParams: api.FindContractLegalDocumentByContractIdUrlParams,\n headers: api.FindContractLegalDocumentByContractIdHeaders\n ) => {\n return api.findContractLegalDocumentByContractIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n signContract = async (\n urlParams: api.SignContractUrlParams,\n body: api.SignContractBody,\n headers: api.SignContractHeaders\n ) => {\n return api.signContractRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n terminateContract = async (\n urlParams: api.TerminateContractUrlParams,\n body: api.TerminateContractBody,\n headers: api.TerminateContractHeaders\n ) => {\n return api.terminateContractRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n updateContract = async (\n urlParams: api.UpdateContractUrlParams,\n body: api.UpdateContractBody,\n headers: api.UpdateContractHeaders\n ) => {\n return api.updateContractRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n updateContractDocument = async (\n urlParams: api.UpdateContractDocumentUrlParams,\n body: api.UpdateContractDocumentBody,\n headers: api.UpdateContractDocumentHeaders\n ) => {\n return api.updateContractDocumentRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n upgradeContract = async (\n urlParams: api.UpgradeContractUrlParams,\n body: api.UpgradeContractBody,\n headers: api.UpgradeContractHeaders\n ) => {\n return api.upgradeContractRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n // cottageComplex\n\n createCottageComplex = async (body: api.CreateCottageComplexBody, headers: api.CreateCottageComplexHeaders) => {\n return api.createCottageComplexRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n // crossSale\n\n deleteCrossSale = async (urlParams: api.DeleteCrossSaleUrlParams, headers: api.DeleteCrossSaleHeaders) => {\n return api.deleteCrossSaleRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findCrossSale = async (urlParams: api.FindCrossSaleUrlParams, headers: api.FindCrossSaleHeaders) => {\n return api.findCrossSaleRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n updateCrossSale = async (\n urlParams: api.UpdateCrossSaleUrlParams,\n body: api.UpdateCrossSaleBody,\n headers: api.UpdateCrossSaleHeaders\n ) => {\n return api.updateCrossSaleRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n // currency\n\n getRubleAmount = async (body: api.GetRubleAmountBody, headers: api.GetRubleAmountHeaders) => {\n return api.getRubleAmountRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n getCurrencyCourses = async (headers: api.GetCurrencyCoursesHeaders) => {\n return api.getCurrencyCoursesRequest({ headers, baseURL: await this.baseURL });\n };\n\n // deal\n\n createDeal = async (body: api.CreateDealBody, headers: api.CreateDealHeaders) => {\n return api.createDealRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n createDealCategorizedFile = async (\n urlParams: api.CreateDealCategorizedFileUrlParams,\n body: api.CreateDealCategorizedFileBody,\n headers: api.CreateDealCategorizedFileHeaders\n ) => {\n return api.createDealCategorizedFileRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n createDealInvestPrepayment = async (\n urlParams: api.CreateDealInvestPrepaymentUrlParams,\n body: api.CreateDealInvestPrepaymentBody,\n headers: api.CreateDealInvestPrepaymentHeaders\n ) => {\n return api.createDealInvestPrepaymentRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n deleteDealCategorizedFile = async (\n urlParams: api.DeleteDealCategorizedFileUrlParams,\n headers: api.DeleteDealCategorizedFileHeaders\n ) => {\n return api.deleteDealCategorizedFileRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findDealById = async (urlParams: api.FindDealByIdUrlParams, headers: api.FindDealByIdHeaders) => {\n return api.findDealByIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findDealCategorizedFiles = async (\n urlParams: api.FindDealCategorizedFilesUrlParams,\n params: api.FindDealCategorizedFilesParams,\n headers: api.FindDealCategorizedFilesHeaders\n ) => {\n return api.findDealCategorizedFilesRequest({ urlParams, params, headers, baseURL: await this.baseURL });\n };\n\n findDealExpertStatistics = async (\n urlParams: api.FindDealExpertStatisticsUrlParams,\n params: api.FindDealExpertStatisticsParams,\n headers: api.FindDealExpertStatisticsHeaders\n ) => {\n return api.findDealExpertStatisticsRequest({ urlParams, params, headers, baseURL: await this.baseURL });\n };\n\n findDeals = async (params: api.FindDealsParams, headers: api.FindDealsHeaders) => {\n return api.findDealsRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n setDealClassificationScore = async (\n urlParams: api.SetDealClassificationScoreUrlParams,\n body: api.SetDealClassificationScoreBody,\n headers: api.SetDealClassificationScoreHeaders\n ) => {\n return api.setDealClassificationScoreRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n setDealDoneState = async (urlParams: api.SetDealDoneStateUrlParams, headers: api.SetDealDoneStateHeaders) => {\n return api.setDealDoneStateRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n setDealFinanceConfirmState = async (\n urlParams: api.SetDealFinanceConfirmStateUrlParams,\n headers: api.SetDealFinanceConfirmStateHeaders\n ) => {\n return api.setDealFinanceConfirmStateRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n setDealGuaranteedPayment = async (\n urlParams: api.SetDealGuaranteedPaymentUrlParams,\n body: api.SetDealGuaranteedPaymentBody,\n headers: api.SetDealGuaranteedPaymentHeaders\n ) => {\n return api.setDealGuaranteedPaymentRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n setDealPrepaidDate = async (\n urlParams: api.SetDealPrepaidDateUrlParams,\n body: api.SetDealPrepaidDateBody,\n headers: api.SetDealPrepaidDateHeaders\n ) => {\n return api.setDealPrepaidDateRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n setDealPrepaymentState = async (\n urlParams: api.SetDealPrepaymentStateUrlParams,\n body: api.SetDealPrepaymentStateBody,\n headers: api.SetDealPrepaymentStateHeaders\n ) => {\n return api.setDealPrepaymentStateRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n setDealRegisteredState = async (\n urlParams: api.SetDealRegisteredStateUrlParams,\n body: api.SetDealRegisteredStateBody,\n headers: api.SetDealRegisteredStateHeaders\n ) => {\n return api.setDealRegisteredStateRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n setDealSignedState = async (\n urlParams: api.SetDealSignedStateUrlParams,\n body: api.SetDealSignedStateBody,\n headers: api.SetDealSignedStateHeaders\n ) => {\n return api.setDealSignedStateRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n setDealSignPlannedState = async (\n urlParams: api.SetDealSignPlannedStateUrlParams,\n body: api.SetDealSignPlannedStateBody,\n headers: api.SetDealSignPlannedStateHeaders\n ) => {\n return api.setDealSignPlannedStateRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n terminateDeal = async (\n urlParams: api.TerminateDealUrlParams,\n body: api.TerminateDealBody,\n headers: api.TerminateDealHeaders\n ) => {\n return api.terminateDealRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n updateDeal = async (urlParams: api.UpdateDealUrlParams, body: api.UpdateDealBody, headers: api.UpdateDealHeaders) => {\n return api.updateDealRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n // debt\n\n createDebts = async (body: api.CreateDebtsBody, headers: api.CreateDebtsHeaders) => {\n return api.createDebtsRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n deleteDebt = async (urlParams: api.DeleteDebtUrlParams, headers: api.DeleteDebtHeaders) => {\n return api.deleteDebtRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findDebts = async (params: api.FindDebtsParams, headers: api.FindDebtsHeaders) => {\n return api.findDebtsRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n updateDebt = async (urlParams: api.UpdateDebtUrlParams, body: api.UpdateDebtBody, headers: api.UpdateDebtHeaders) => {\n return api.updateDebtRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n // event\n\n createEvent = async (body: api.CreateEventBody, headers: api.CreateEventHeaders) => {\n return api.createEventRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n deleteEvent = async (urlParams: api.DeleteEventUrlParams, headers: api.DeleteEventHeaders) => {\n return api.deleteEventRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findEventById = async (urlParams: api.FindEventByIdUrlParams, headers?: api.FindEventByIdHeaders) => {\n return api.findEventByIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findEvents = async (params: api.FindEventsParams, headers?: api.FindEventsHeaders) => {\n return api.findEventsRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n updateEvent = async (\n urlParams: api.UpdateEventUrlParams,\n body: api.UpdateEventBody,\n headers: api.UpdateEventHeaders\n ) => {\n return api.updateEventRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n // eventRequest\n\n createEventRequest = async (body: api.CreateEventRequestBody) => {\n return api.createEventRequestRequest({ body, baseURL: await this.baseURL });\n };\n\n findEventRequests = async (params: api.FindEventRequestsParams, headers?: api.FindEventRequestsHeaders) => {\n return api.findEventRequestsRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n updateEventRequest = async (\n urlParams: api.UpdateEventRequestUrlParams,\n body: api.UpdateEventRequestBody,\n headers: api.UpdateEventRequestHeaders\n ) => {\n return api.updateEventRequestRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n // expert\n\n createExpertCase = async (body: api.CreateExpertCaseBody, headers?: api.CreateExpertCaseHeaders) => {\n return api.createExpertCaseRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n createExpertReview = async (\n urlParams: api.CreateExpertReviewUrlParams,\n body: api.CreateExpertReviewBody,\n headers: api.CreateExpertReviewHeaders\n ) => {\n return api.createExpertReviewRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n findExpertById = async (urlParams: api.FindExpertByIdUrlParams, headers?: api.FindExpertByIdHeaders) => {\n return api.findExpertByIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findExpertCaseById = async (urlParams: api.FindExpertCaseByIdUrlParams, headers?: api.FindExpertCaseByIdHeaders) => {\n return api.findExpertCaseByIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findExpertCases = async (headers?: api.FindExpertCasesHeaders) => {\n return api.findExpertCasesRequest({ headers, baseURL: await this.baseURL });\n };\n\n findExperts = async (params: api.FindExpertsParams) => {\n return api.findExpertsRequest({ params, baseURL: await this.baseURL });\n };\n\n findPublishedExperts = async (params: api.FindPublishedExpertsParams) => {\n return api.findPublishedExpertsRequest({ params, baseURL: await this.baseURL });\n };\n\n updateExpertCase = async (\n urlParams: api.UpdateExpertCaseUrlParams,\n body: api.UpdateExpertCaseBody,\n headers: api.UpdateExpertCaseHeaders\n ) => {\n return api.updateExpertCaseRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n updateExpertReview = async (\n urlParams: api.UpdateExpertReviewUrlParams,\n body: api.UpdateExpertReviewBody,\n headers: api.UpdateExpertReviewHeaders\n ) => {\n return api.updateExpertReviewRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n // expertCategory\n\n findExpertCategories = async (params: api.FindExpertCategoriesParams, headers: api.FindExpertCategoriesHeaders) => {\n return api.findExpertCategoriesRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findExpertCategoryHistory = async (\n params: api.FindExpertCategoryHistoryParams,\n headers: api.FindExpertCategoryHistoryHeaders\n ) => {\n return api.findExpertCategoryHistoryRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n // expertGrade\n\n createExpertGrade = async (body: api.CreateExpertGradeBody, headers: api.CreateExpertGradeHeaders) => {\n return api.createExpertGradeRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n findExpertGrades = async (params: api.FindExpertGradesParams, headers: api.FindExpertGradesHeaders) => {\n return api.findExpertGradesRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findExpertGradesByExpertId = async (\n urlParams: api.FindExpertGradesByExpertIdUrlParams,\n headers: api.FindExpertGradesByExpertIdHeaders\n ) => {\n return api.findExpertGradesByExpertIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n // file\n\n uploadFiles = async (body: api.UploadFilesBody, headers: api.UploadFilesHeaders) => {\n return api.uploadFilesRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n // income\n\n createIncome = async (body: api.CreateIncomeBody, headers: api.CreateIncomeHeaders) => {\n return api.createIncomeRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n deleteIncome = async (urlParams: api.DeleteIncomeUrlParams, headers: api.DeleteIncomeHeaders) => {\n return api.deleteIncomeRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n // internalCrossSale\n\n createInternalCrossSale = async (\n urlParams: api.CreateInternalCrossSaleUrlParams,\n body: api.CreateInternalCrossSaleBody,\n headers: api.CreateInternalCrossSaleHeaders\n ) => {\n return api.createInternalCrossSaleRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n findInternalCrossSaleInfo = async (\n params: api.FindInternalCrossSaleInfoParams,\n headers: api.FindInternalCrossSaleInfoHeaders\n ) => {\n return api.findInternalCrossSaleInfoRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findInternalCrossSales = async (\n urlParams: api.FindInternalCrossSalesUrlParams,\n headers: api.FindInternalCrossSalesHeaders\n ) => {\n return api.findInternalCrossSalesRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n updateInternalCrossSale = async (\n urlParams: api.UpdateInternalCrossSaleUrlParams,\n body: api.UpdateInternalCrossSaleBody,\n headers: api.UpdateInternalCrossSaleHeaders\n ) => {\n return api.updateInternalCrossSaleRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n // lead assignment block\n\n createLeadAssignmentBlock = async (\n body: api.CreateLeadAssignmentBlockBody,\n headers: api.CreateLeadAssignmentBlockHeaders\n ) => {\n return api.createLeadAssignmentBlockRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n deleteLeadAssignmentBlock = async (\n urlParams: api.DeleteLeadAssignmentBlockUrlParams,\n headers: api.DeleteLeadAssignmentBlockHeaders\n ) => {\n return api.deleteLeadAssignmentBlockRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findLeadAssignmentBlocks = async (\n params: api.FindLeadAssignmentBlocksParams,\n headers: api.FindLeadAssignmentBlocksHeaders\n ) => {\n return api.findLeadAssignmentBlocksRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n updateLeadAssignmentBlock = async (\n urlParams: api.UpdateLeadAssignmentBlockUrlParams,\n body: api.UpdateLeadAssignmentBlockBody,\n headers: api.UpdateLeadAssignmentBlockHeaders\n ) => {\n return api.updateLeadAssignmentBlockRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n // motivation status\n\n calculateMotivationCommission = async (\n body: api.CalculateMotivationCommissionBody,\n headers: api.CalculateMotivationCommissionHeaders\n ) => {\n return api.calculateMotivationCommissionRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n // motivation glossary\n\n findMotivationGlossary = async (headers: api.FindMotivationGlossaryHeaders) => {\n return api.findMotivationGlossaryRequest({ headers, baseURL: await this.baseURL });\n };\n\n // motivation status\n\n findMotivationStatusByExpertId = async (\n urlParams: api.FindMotivationStatusByExpertIdUrlParams,\n headers: api.FindMotivationStatusByExpertIdHeaders\n ) => {\n return api.findMotivationStatusByExpertIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n // payslip\n\n findPayslips = async (params: api.FindPayslipsParams, headers: api.FindPayslipsHeaders) => {\n return api.findPayslipsRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findPayslipById = async (urlParams: api.FindPayslipByIdUrlParams, headers: api.FindPayslipByIdHeaders) => {\n return api.findPayslipByIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n updatePayslip = async (\n urlParams: api.UpdatePayslipUrlParams,\n body: api.UpdatePayslipBody,\n headers: api.UpdatePayslipHeaders\n ) => {\n return api.updatePayslipRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n // phone\n\n blockPhone = async (urlParams: api.BlockPhoneUrlParams, headers: api.BlockPhoneHeaders) => {\n return api.blockPhoneRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n callbackPhone = async (urlParams: api.CallbackPhoneUrlParams, headers: api.CallbackPhoneHeaders) => {\n return api.callbackPhoneRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findPhones = async (params: api.FindPhonesParams, headers: api.FindPayslipsHeaders) => {\n return api.findPhonesRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n unblockPhone = async (urlParams: api.UnblockPhoneUrlParams, headers: api.UnblockPhoneHeaders) => {\n return api.unblockPhoneRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n // phoneBookContact\n\n createPhoneBookContact = async (body: api.CreatePhoneBookContactBody, headers: api.CreatePhoneBookContactHeaders) => {\n return api.createPhoneBookContactRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n findPhoneBookContacts = async (\n params: api.FindPhoneBookContactsParams,\n headers: api.FindPhoneBookContactsHeaders\n ) => {\n return api.findPhoneBookContactsRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n updatePhoneBookContact = async (\n urlParams: api.UpdatePhoneBookContactUrlParams,\n body: api.UpdatePhoneBookContactBody,\n headers: api.UpdatePhoneBookContactHeaders\n ) => {\n return api.updatePhoneBookContactRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n deletePhoneBookContact = async (\n urlParams: api.DeletePhoneBookContactUrlParams,\n headers: api.DeletePhoneBookContactHeaders\n ) => {\n return api.deletePhoneBookContactRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n // photoOrder\n\n createPhotoOrder = async (body: api.CreatePhotoOrderBody, headers: api.CreatePhotoOrderHeaders) => {\n return api.createPhotoOrderRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n findPhotoOrders = async (params: api.FindPhotoOrdersParams, headers: api.FindPhotoOrdersHeaders) => {\n return api.findPhotoOrdersRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n sendPhotoOrderFeedback = async (\n urlParams: api.SendPhotoOrderFeedbackUrlParams,\n headers: api.SendPhotoOrderFeedbackHeaders\n ) => {\n return api.sendPhotoOrderFeedbackRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n completePhotoOrder = async (urlParams: api.CompletePhotoOrderUrlParams, headers: api.CompletePhotoOrderHeaders) => {\n return api.completePhotoOrderRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n terminatePhotoOrder = async (\n urlParams: api.TerminatePhotoOrderUrlParams,\n headers: api.TerminatePhotoOrderHeaders\n ) => {\n return api.terminatePhotoOrderRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n // realty\n\n findRealtyDuplicate = async (params: api.FindRealtyDuplicateParams, headers: api.FindRealtyDuplicateHeaders) => {\n return api.findRealtyDuplicateRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findRealtyPriceHistory = async (\n params: api.FindRealtyPriceHistoryParams,\n headers: api.FindRealtyPriceHistoryHeaders\n ) => {\n return api.findRealtyPriceHistoryRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findSimilarRealtyIdsById = async (urlParams: api.FindSimilarRealtyIdsByIdUrlParams) => {\n return api.findSimilarRealtyIdsById({ urlParams, baseURL: await this.baseURL });\n };\n\n subscribeToRealtyUpdates = async (body: api.SubscribeToRealtyUpdatesBody) => {\n return api.subscribeToRealtyUpdatesRequest({ body, baseURL: await this.baseURL });\n };\n\n // scoring\n\n findScoring = async (params: api.FindScoringParams, headers: api.FindScoringHeaders) => {\n return api.findScoringRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n // serviceRequest\n\n addServiceRequestAssistant = async (\n urlParams: api.AddServiceRequestAssistantUrlParams,\n body: api.AddServiceRequestAssistantBody,\n headers: api.AddServiceRequestAssistantHeaders\n ) => {\n return api.addServiceRequestAssistantRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n approveCloseServiceRequest = async (\n urlParams: api.ApproveCloseServiceRequestUrlParams,\n body: api.ApproveCloseServiceRequestBody,\n headers: api.ApproveCloseServiceRequestHeaders\n ) => {\n return api.approveCloseServiceRequestRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n callbackServiceRequest = async (\n urlParams: api.CallbackServiceRequestUrlParams,\n headers: api.CallbackServiceRequestHeaders\n ) => {\n return api.callbackServiceRequestRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n changeServiceRequestCompany = async (\n urlParams: api.ChangeServiceRequestCompanyUrlParams,\n body: api.ChangeServiceRequestCompanyBody,\n headers: api.ChangeServiceRequestCompanyHeaders\n ) => {\n return api.changeServiceRequestCompanyRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n closeServiceRequest = async (\n urlParams: api.CloseServiceRequestUrlParams,\n body: api.CloseServiceRequestBody,\n headers: api.CloseServiceRequestHeaders\n ) => {\n return api.closeServiceRequestRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n completeServiceRequestModeration = async (\n urlParams: api.CompleteServiceRequestModerationUrlParams,\n headers: api.CompleteServiceRequestModerationHeaders\n ) => {\n return api.completeServiceRequestModerationRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n createServiceRequest = async (body: api.CreateServiceRequestBody, headers: api.CreateServiceRequestHeaders) => {\n return api.createServiceRequestRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n createInvestSellServiceRequest = async (\n body: api.CreateInvestSellServiceRequestBody,\n headers: api.CreateInvestSellServiceRequestHeaders\n ) => {\n return api.createInvestSellServiceRequestRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n createServiceRequestByCrossSaleId = async (\n urlParams: api.CreateServiceRequestByCrossSaleIdUrlParams,\n headers: api.CreateServiceRequestByCrossSaleIdHeaders\n ) => {\n return api.createServiceRequestByCrossSaleIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n createServiceRequestActivity = async (\n body: api.CreateServiceRequestActivityBody,\n headers: api.CreateServiceRequestActivityHeaders\n ) => {\n return api.createServiceRequestActivityRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n createServiceRequestCategorizedFile = async (\n urlParams: api.CreateServiceRequestCategorizedFileUrlParams,\n body: api.CreateServiceRequestCategorizedFileBody,\n headers: api.CreateServiceRequestCategorizedFileHeaders\n ) => {\n return api.createServiceRequestCategorizedFileRequest({\n urlParams,\n body,\n headers,\n baseURL: await this.baseURL,\n });\n };\n\n createServiceRequestFeedback = async (\n body: api.CreateServiceRequestFeedbackBody,\n headers: api.CreateServiceRequestFeedbackHeaders\n ) => {\n return api.createServiceRequestFeedbackRequest({\n body,\n headers,\n baseURL: await this.baseURL,\n });\n };\n\n createServiceRequestReview = async (\n body: api.CreateServiceRequestReviewBody,\n headers: api.CreateServiceRequestReviewHeaders\n ) => {\n return api.createServiceRequestReviewRequest({\n body,\n headers,\n baseURL: await this.baseURL,\n });\n };\n\n createServiceRequestSellerReport = async (\n urlParams: api.CreateServiceRequestSellerReportUrlParams,\n body: api.CreateServiceRequestSellerReportBody,\n headers: api.CreateServiceRequestSellerReportHeaders\n ) => {\n return api.createServiceRequestSellerReportRequest({\n urlParams,\n body,\n headers,\n baseURL: await this.baseURL,\n });\n };\n\n deferServiceRequest = async (body: api.DeferServiceRequestBody, headers: api.DeferServiceRequestHeaders) => {\n return api.deferServiceRequestRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n deleteServiceRequestCategorizedFile = async (\n urlParams: api.DeleteServiceRequestCategorizedFileUrlParams,\n headers: api.DeleteServiceRequestCategorizedFileHeaders\n ) => {\n return api.deleteServiceRequestCategorizedFileRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n deleteServiceRequestReportForSeller = async (\n urlParams: api.DeleteServiceRequestReportForSellerUrlParams,\n headers: api.DeleteServiceRequestReportForSellerHeaders\n ) => {\n return api.deleteServiceRequestReportForSellerRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n depublishServiceRequest = async (\n urlParams: api.DepublishServiceRequestUrlParams,\n headers: api.DepublishServiceRequestHeaders,\n body: api.DepublishServiceRequestBody\n ) => {\n return api.depublishServiceRequest({ urlParams, headers, body, baseURL: await this.baseURL });\n };\n\n disapproveCloseServiceRequest = async (\n urlParams: api.DisapproveCloseServiceRequestUrlParams,\n headers: api.DisapproveCloseServiceRequestHeaders\n ) => {\n return api.disapproveCloseServiceRequestRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n doneServiceRequestVerificationRequest = async (\n urlParams: api.DoneServiceRequestVerificationUrlParams,\n headers: api.DoneServiceRequestVerificationHeaders\n ) => {\n return api.doneServiceRequestVerificationRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n failServiceRequestVerification = async (\n urlParams: api.FailServiceRequestVerificationUrlParams,\n headers: api.FailServiceRequestVerificationHeaders\n ) => {\n return api.failServiceRequestVerificationRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findServiceRequestActivities = async (\n params: api.FindServiceRequestActivitiesParams,\n headers: api.FindServiceRequestActivitiesHeaders\n ) => {\n return api.findServiceRequestActivitiesRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findServiceRequestById = async (\n urlParams: api.FindServiceRequestByIdUrlParams,\n headers: api.FindServiceRequestByIdHeaders\n ) => {\n return api.findServiceRequestByIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findServiceRequestDuplicates = async (\n body: api.FindServiceRequestDuplicatesBody,\n headers: api.FindServiceRequestDuplicatesHeaders\n ) => {\n return api.findServiceRequestDuplicatesRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n findServiceRequests = async (params: api.FindServiceRequestsParams, headers: api.FindServiceRequestsHeaders) => {\n return api.findServiceRequestsRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findServiceRequestsKanban = async (\n params: api.FindServiceRequestsKanbanParams,\n headers: api.FindServiceRequestsKanbanHeaders\n ) => {\n return api.findServiceRequestsKanbanRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findServiceRequestShortInfo = async (\n params: api.FindServiceRequestsShortInfoParams,\n headers: api.FindServiceRequestShortInfoHeaders\n ) => {\n return api.findServiceRequestShortInfoRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findServiceRequestShortInfoByDealId = async (\n urlParams: api.FindServiceRequestShortInfoByDealIdUrlParams,\n headers: api.FindServiceRequestShortInfoByDealIdHeaders\n ) => {\n return api.findServiceRequestShortInfoByDealIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findServiceRequestShortInfoById = async (\n urlParams: api.FindServiceRequestShortInfoByIdUrlParams,\n headers: api.FindServiceRequestShortInfoByIdHeaders\n ) => {\n return api.findServiceRequestShortInfoByIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findServiceRequestStatisticsById = async (\n urlParams: api.FindServiceRequestStatisticsByIdUrlParams,\n headers: api.FindServiceRequestStatisticsByIdHeaders\n ) => {\n return api.findServiceRequestStatisticsByIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findServiceRequestCategorizedFiles = async (\n urlParams: api.FindServiceRequestCategorizedFilesUrlParams,\n params: api.FindServiceRequestCategorizedFilesParams,\n headers: api.FindServiceRequestCategorizedFilesHeaders\n ) => {\n return api.findServiceRequestCategorizedFilesRequest({\n urlParams,\n params,\n headers,\n baseURL: await this.baseURL,\n });\n };\n\n findServiceRequestCategoryById = async (\n urlParams: api.FindServiceRequestCategoryByIdUrlParams,\n headers: api.FindServiceRequestCategoryByIdHeaders,\n params?: api.FindServiceRequestCategoryByIdParams\n ) => {\n return api.findServiceRequestCategoryByIdRequest({\n urlParams,\n params,\n headers,\n baseURL: await this.baseURL,\n });\n };\n\n findServiceRequestDiscountEfficiencyPercent = async (\n urlParams: api.FindServiceRequestDiscountEfficiencyPercentUrlParams,\n headers: api.FindServiceRequestDiscountEfficiencyPercentHeaders\n ) => {\n return api.findServiceRequestDiscountEfficiencyPercentRequest({\n urlParams,\n headers,\n baseURL: await this.baseURL,\n });\n };\n\n findServiceRequestCategorizedFileCreatedDate = async (\n urlParams: api.FindServiceRequestCategorizedFileCreatedDateUrlParams,\n headers: api.FindServiceRequestCategorizedFileCreatedDateHeaders\n ) => {\n return api.findServiceRequestCategorizedFileCreatedDateRequest({\n urlParams,\n headers,\n baseURL: await this.baseURL,\n });\n };\n\n findPriceHistoryAnalyticsById = async (\n urlParams: api.FindPriceHistoryAnalyticsByIdUrlParams,\n headers: api.FindPriceHistoryAnalyticsByIdHeaders\n ) => {\n return api.findPriceHistoryAnalyticsByIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findServiceRequestSellerReports = async (\n urlParams: api.FindServiceRequestSellerReportsUrlParams,\n params: api.FindServiceRequestSellerReportsParams,\n headers: api.FindServiceRequestSellerReportsHeaders\n ) => {\n return api.findServiceRequestSellerReportsRequest({\n urlParams,\n params,\n headers,\n baseURL: await this.baseURL,\n });\n };\n\n publishServiceRequest = async (\n urlParams: api.PublishServiceRequestUrlParams,\n headers: api.PublishServiceRequestHeaders\n ) => {\n return api.publishServiceRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n removeServiceRequestAssistant = async (\n urlParams: api.RemoveServiceRequestAssistantUrlParams,\n headers: api.RemoveServiceRequestAssistantHeaders\n ) => {\n return api.removeServiceRequestAssistantRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n restoreServiceRequest = async (\n urlParams: api.RestoreServiceRequestUrlParams,\n headers: api.RestoreServiceRequestHeaders\n ) => {\n return api.restoreServiceRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n returnDeferredServiceRequest = async (\n body: api.ReturnDeferredServiceRequestBody,\n headers: api.ReturnDeferredServiceRequestHeaders\n ) => {\n return api.returnDeferredServiceRequestRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n sendServiceRequestToModeration = async (\n urlParams: api.SendServiceRequestToModerationUrlParams,\n headers: api.SendServiceRequestToModerationHeaders\n ) => {\n return api.sendServiceRequestToModerationRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n sendServiceRequestVerification = async (\n urlParams: api.SendServiceRequestVerificationUrlParams,\n headers: api.SendServiceRequestVerificationHeaders\n ) => {\n return api.sendServiceRequestVerificationRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n startServiceRequestModeration = async (\n urlParams: api.StartServiceRequestModerationUrlParams,\n headers: api.StartServiceRequestModerationHeaders\n ) => {\n return api.startServiceRequestModerationRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n startServiceRequestModerationForOldRealty = async (\n urlParams: api.StartServiceRequestModerationForOldRealtyUrlParams,\n headers: api.StartServiceRequestModerationForOldRealtyHeaders\n ) => {\n return api.startServiceRequestModerationForOldRealtyRequest({\n urlParams,\n headers,\n baseURL: await this.baseURL,\n });\n };\n\n transferServiceRequest = async (\n urlParams: api.TransferServiceRequestUrlParams,\n body: api.TransferServiceRequestBody,\n headers: api.TransferServiceRequestHeaders\n ) => {\n return api.transferServiceRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n updateServiceRequest = async (\n urlParams: api.UpdateServiceRequestUrlParams,\n body: api.UpdateServiceRequestBody,\n headers: api.UpdateServiceRequestHeaders\n ) => {\n return api.updateServiceRequestRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n updateServiceRequestPersonalAssistant = async (\n urlParams: api.UpdateServiceRequestPersonalAssistantUrlParams,\n body: api.UpdateServiceRequestPersonalAssistantBody,\n headers: api.UpdateServiceRequestPersonalAssistantHeaders\n ) => {\n return api.updateServiceRequestPersonalAssistantRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n updateServiceRequestPlanDraw = async (\n urlParams: api.UpdateServiceRequestPlanDrawUrlParams,\n body: api.UpdateServiceRequestPlanDrawBody,\n headers: api.UpdateServiceRequestPlanDrawHeaders\n ) => {\n return api.updateServiceRequestPlanDrawRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n // slack\n\n createCianRating = async (body: api.CreateCianRatingBody, headers: api.CreateCianRatingHeaders) => {\n return api.createCianRatingRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n // sold\n\n findSoldStatistic = async (headers?: api.FindSoldStatisticHeaders) => {\n return api.findSoldStatisticRequest({ headers, baseURL: await this.baseURL });\n };\n\n // stats markup\n\n findMarkupCalls = async (params: api.FindMarkupCallsParams, headers: api.FindMarkupCallsHeaders) => {\n return api.findMarkupCallsRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findMarkupBySourceCalls = async (\n params: api.FindMarkupBySourceCallsParams,\n headers: api.FindMarkupBySourceCallsHeaders\n ) => {\n return api.findMarkupBySourceCallsRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n // task\n\n findTasks = async (params: api.FindTasksParams, headers: api.FindTasksHeaders) => {\n return api.findTasksRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findTaskById = async (urlParams: api.FindTaskByIdUrlParams, headers: api.FindTaskByIdHeaders) => {\n return api.findTaskByIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n createTask = async (body: api.CreateTaskBody, headers: api.CreateTaskHeaders) => {\n return api.createTaskRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n updateTask = async (urlParams: api.UpdateTaskUrlParams, body: api.UpdateTaskBody, headers: api.UpdateTaskHeaders) => {\n return api.updateTaskRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n resolveTask = async (urlParams: api.ResolveTaskUrlParams, headers: api.ResolveTaskHeaders) => {\n return api.resolveTaskRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n // user\n\n assignSubordinateUsers = async (\n urlParams: api.AssignSubordinateUsersUrlParams,\n body: api.AssignSubordinateUsersBody,\n headers: api.AssignSubordinateUsersHeaders\n ) => {\n return api.assignSubordinateUsersRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n createUser = async (body: api.CreateUserBody, headers: api.CreateUserHeaders) => {\n return api.createUserRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n deleteUser = async (urlParams: api.DeleteUserUrlParams, headers: api.DeleteUserHeaders) => {\n return api.deleteUserRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findUserById = async (urlParams: api.FindUserByIdUrlParams, headers?: api.FindUserByIdHeaders) => {\n return api.findUserByIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findUserPasswordById = async (\n urlParams: api.FindUserPasswordByIdUrlParams,\n headers?: api.FindUserPasswordByIdHeaders\n ) => {\n return api.findUserPasswordByIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findUsers = async (params: api.FindUsersParams, headers: api.FindUsersHeaders) => {\n return api.findUsersRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findUserTokenById = async (urlParams: api.FindUserTokenByIdUrlParams, headers?: api.FindUserTokenByIdHeaders) => {\n return api.findUserTokenByIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n fireUser = async (urlParams: api.FireUserUrlParams, body: api.FireUserBody, headers: api.FireUserHeaders) => {\n return api.fireUserRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n updateUser = async (urlParams: api.UpdateUserUrlParams, body: api.UpdateUserBody, headers: api.UpdateUserHeaders) => {\n return api.updateUserRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n // valuation\n\n actualizeValuation = async (urlParams: api.ActualizeValuationUrlParams, headers: api.ActualizeValuationHeaders) => {\n return api.actualizeValuationRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n createValuation = async (body: api.CreateValuationBody, headers: api.CreateValuationHeaders) => {\n return api.createValuationRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n createValuationRealtyComment = async (\n urlParams: api.CreateValuationRealtyCommentUrlParams,\n body: api.CreateValuationRealtyCommentBody,\n headers: api.CreateValuationRealtyCommentHeaders\n ) => {\n return api.createValuationRealtyCommentRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n findValuationByServiceRequestId = async (\n urlParams: api.FindValuationByServiceRequestIdUrlParams,\n params?: api.FindValuationByServiceRequestIdParams,\n headers?: api.FindValuationByServiceRequestIdHeaders\n ) => {\n return api.findValuationByServiceRequestIdRequest({\n urlParams,\n params,\n headers,\n baseURL: await this.baseURL,\n });\n };\n\n findValuationNewsByServiceRequestId = async (\n urlParams: api.FindValuationNewsByServiceRequestIdUrlParams,\n headers: api.FindValuationNewsByServiceRequestIdHeaders\n ) => {\n return api.findValuationNewsByServiceRequestIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n updateValuationNewsStatus = async (\n urlParams: api.UpdateValuationNewsStatusUrlParams,\n body: api.UpdateValuationNewsStatusBody,\n headers: api.UpdateValuationNewsStatusHeaders\n ) => {\n return api.updateValuationNewsStatusRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n}\n\nexport * from './api';\nexport * from './dictionaries';\nexport * from './types';\n","import { AddressBTIParamsParking, AddressBTIParamsWallsMaterial, AddressBTIParamsHeatingType } from '../types';\n\nexport const AddressBTIParamsDictionary = {\n Parking: {\n [AddressBTIParamsParking.Ground]: 'Наземная',\n [AddressBTIParamsParking.Multilevel]: 'Многоуровневая',\n [AddressBTIParamsParking.Underground]: 'Подземная',\n },\n WallsMaterial: {\n [AddressBTIParamsWallsMaterial.Brick]: 'Кирпичный',\n [AddressBTIParamsWallsMaterial.Monolith]: 'Монолитный',\n [AddressBTIParamsWallsMaterial.Monobrick]: 'Монолитно-кирпичный',\n [AddressBTIParamsWallsMaterial.Timber]: 'Деревянный',\n [AddressBTIParamsWallsMaterial.Panel]: 'Панельный',\n [AddressBTIParamsWallsMaterial.Block]: 'Блочный',\n },\n HeatingType: {\n [AddressBTIParamsHeatingType.None]: 'Нет',\n [AddressBTIParamsHeatingType.Central]: 'Центральное',\n [AddressBTIParamsHeatingType.Local]: 'Отдельное',\n [AddressBTIParamsHeatingType.Gas]: 'Газовое',\n [AddressBTIParamsHeatingType.Electricity]: 'Электрическое',\n [AddressBTIParamsHeatingType.Liquid]: 'Жидкое топливо',\n [AddressBTIParamsHeatingType.Furnace]: 'Печь',\n [AddressBTIParamsHeatingType.SolidFuelBoiler]: 'Твердотопливный котел',\n },\n};\n","import { AppointmentPlace, AppointmentNotificationType, AppointmentStatus } from '../types';\n\nexport const AppointmentDictionary = {\n Place: {\n [AppointmentPlace.Flat]: 'На квартире',\n [AppointmentPlace.Office]: 'В офисе',\n [AppointmentPlace.Online]: 'Онлайн',\n },\n NotificationType: {\n [AppointmentNotificationType.Morning]: 'Утром',\n [AppointmentNotificationType.Min15]: 'За 15 минут',\n [AppointmentNotificationType.Hour1]: 'За час',\n [AppointmentNotificationType.Hour2]: 'За 2 часа',\n [AppointmentNotificationType.Nil]: 'Не напоминать',\n },\n Status: {\n [AppointmentStatus.Planned]: 'Запланирована',\n [AppointmentStatus.Completed]: 'Завершена',\n [AppointmentStatus.Cancelled]: 'Отменена',\n },\n};\n","import {\n AvailableFundsIncomeType,\n AvailableFundsCostType,\n AvailableFundsPaymentType,\n AvailableFundsRealtyType,\n AvailableFundsPayerType,\n AvailableFundsCompanyName,\n} from '../types';\n\nexport const AvailableFundsDictionary = {\n IncomeType: {\n [AvailableFundsIncomeType.Cashbox]: 'Касса',\n [AvailableFundsIncomeType.CheckingAccount]: 'Расчетный счет',\n [AvailableFundsIncomeType.Other]: 'Прочее',\n },\n CostType: {\n [AvailableFundsCostType.BillOfCredit]: 'Оплата аккредитива',\n [AvailableFundsCostType.BonusPaymentToMentor]: 'Выплата бонуса наставнику',\n [AvailableFundsCostType.BonusPaymentToTeamlead]: 'Выплата бонуса РОПу',\n [AvailableFundsCostType.BonusToTrainee]: 'Выплата бонуса стажеру',\n [AvailableFundsCostType.BonusToExpert]: 'Выплата бонуса эксперту',\n [AvailableFundsCostType.InternalPartnerBonusToExpert]: 'Выплата бонуса внутреннему партнеру-эксперту',\n [AvailableFundsCostType.ChargingBankAccount]: 'Внесение на р/с',\n [AvailableFundsCostType.LegalSupportPayment]: 'Внесение за альтернативный объект',\n [AvailableFundsCostType.OtherPayments]: 'Прочие расходы',\n [AvailableFundsCostType.PartnerCharges]: 'Партнерские расходы',\n [AvailableFundsCostType.RealtyLegalCheck]: 'Проверка объектов',\n [AvailableFundsCostType.ReferralForExpert]: 'Выплата рефералу эксперта',\n [AvailableFundsCostType.ReferralForPA]: 'Выплата рефералу ПА',\n [AvailableFundsCostType.RefundOfAdvance]: 'Возврат аванса',\n [AvailableFundsCostType.SafeDepositBox]: 'Оплата банковской ячейки',\n [AvailableFundsCostType.DeveloperDepositPayment]: 'Оплата депозита застройщику',\n [AvailableFundsCostType.BonusPaymentAsiaConsultant]: 'Выплата бонуса консультанту Азия',\n [AvailableFundsCostType.SpsBonusPayment]: 'Выплата бонуса СПС',\n [AvailableFundsCostType.BonusPaymentInventoryDepartmentHead]: 'Выплата бонуса главе отдела инвентаря',\n [AvailableFundsCostType.BonusPaymentInventoryDepartmentAdmin]: 'Выплата бонуса админу отдела инвентаря',\n [AvailableFundsCostType.BonusPaymentOfficeAdmin]: 'Выплата бонуса админу офиса',\n [AvailableFundsCostType.DealNdsPayment]: 'НДС по сделке',\n [AvailableFundsCostType.BonusPersonalAssistantFirstLevel]: 'Выплата бонуса ПА 1',\n [AvailableFundsCostType.BonusPersonalAssistantSecondLevel]: 'Выплата бонус ПА 2',\n [AvailableFundsCostType.BonusPersonalAssistantThirdLevel]: 'Выплата бонус ПА 3',\n [AvailableFundsCostType.BonusPortfolioCoordinator]: 'Выплата бонус координатору набор портфеля',\n [AvailableFundsCostType.BonusExpoCoordinator]: 'Выплата бонус координатору экспозиция',\n [AvailableFundsCostType.PaymentForPhotography]: 'Оплата за фотосъемку',\n [AvailableFundsCostType.PaymentForAttractingLead]: 'Оплата за привлечение лида',\n // неактуально, но оставлено для обратной совместимости\n [AvailableFundsCostType.Referral]: 'Выплата по реферальной программе',\n },\n PaymentType: {\n [AvailableFundsPaymentType.AdvancePaymentUnderTheAdvanceAgreement]: 'Аванс по соглашению об авансе',\n [AvailableFundsPaymentType.ClosingDeal]: 'Закрытие сделки',\n [AvailableFundsPaymentType.LetterOfGuarantee]: 'Гарантийное письмо',\n [AvailableFundsPaymentType.OtherPayment]: 'Прочие поступления',\n [AvailableFundsPaymentType.Prepayment]: 'Предоплата',\n [AvailableFundsPaymentType.SecurityPayment]: 'Обеспечительный платеж',\n [AvailableFundsPaymentType.DouPayment]: 'Поступления по ДОУ',\n [AvailableFundsPaymentType.DeveloperCommission]: 'Комиссия от застройщика',\n },\n RealtyType: {\n [AvailableFundsRealtyType.Elite]: 'Элитная',\n [AvailableFundsRealtyType.Foreign]: 'Зарубежная',\n [AvailableFundsRealtyType.NewFlatDeveloper]: 'Новостройки/Застройщик',\n [AvailableFundsRealtyType.Resale]: 'Вторичка',\n },\n PayerType: {\n [AvailableFundsPayerType.Common]: 'Общий',\n [AvailableFundsPayerType.Homeapp]: 'Homeapp',\n [AvailableFundsPayerType.SalesHead]: 'РОП',\n [AvailableFundsPayerType.Expert]: 'Эксперт',\n },\n CompanyName: {\n [AvailableFundsCompanyName.RuCo]: 'Российская компания',\n [AvailableFundsCompanyName.VietCo]: 'Вьетнамская компания',\n [AvailableFundsCompanyName.KzCo]: 'Казахстанская компания',\n },\n};\n","import { BillServiceType, BillServiceUnit } from '../types';\n\nexport const BillDictionary = {\n ServiceType: {\n [BillServiceType.SecurityDepositPayment]: 'Оплата по соглашению о принятии ОП',\n [BillServiceType.FullPayment]: 'Окончательный расчет',\n [BillServiceType.BuyServicePayment]: 'Оплата оказания услуг',\n },\n ServiceUnit: {\n [BillServiceUnit.Piece]: 'шт',\n },\n};\n","import { BuyerStatus } from '../types';\n\nexport const BuyerDictionary = {\n BuyerStatus: {\n [BuyerStatus.Incoming]: 'Входящее обращение',\n [BuyerStatus.ShowCoordination]: 'Согласование даты показа',\n [BuyerStatus.ShowScheduled]: 'Показ назначен',\n [BuyerStatus.ShowComplete]: 'Показ проведен (ожидание оффера)',\n [BuyerStatus.GotOffer]: 'Оффер получен (согласование)',\n [BuyerStatus.Advance]: 'Аванс',\n [BuyerStatus.Closed]: 'Завершение работы',\n },\n};\n","import { CallType, CallDefaultTelephony } from '../types';\n\nexport const CallDictionary = {\n Direction: {\n [CallType.Out]: 'Исходящий',\n [CallType.In]: 'Входящий',\n [CallType.Transferred]: 'Переведенный',\n },\n DefaultTelephony: {\n [CallDefaultTelephony.Voximplant]: 'VoxImplant',\n [CallDefaultTelephony.Zadarma]: 'Zadarma',\n },\n};\n","import {\n CallTaskPriority,\n CallTaskStatus,\n CallTaskReason,\n CallTaskColdReason,\n CallTaskTriggeredByEvent,\n CallTaskType,\n CallTaskDirection,\n} from '../types';\n\nexport const CallTaskDictionary = {\n Priority: {\n [CallTaskPriority.Low]: 'Низкий',\n [CallTaskPriority.Default]: 'Обычный',\n [CallTaskPriority.High]: 'Высокий',\n [CallTaskPriority.VeryHigh]: 'Очень высокий',\n },\n Direction: {\n [CallTaskDirection.Moscow]: 'Московский офис',\n [CallTaskDirection.Asia]: 'Заявка по Азии',\n },\n Status: {\n [CallTaskStatus.Open]: 'Не обработано',\n [CallTaskStatus.Booked]: 'В обработке',\n [CallTaskStatus.Markup]: 'Размечено',\n [CallTaskStatus.Lead]: 'ЗОУ',\n [CallTaskStatus.Spam]: 'Спам',\n [CallTaskStatus.Closed]: 'Закрыто',\n [CallTaskStatus.Outgoing]: 'Исходящий звонок',\n },\n Reason: {\n [CallTaskReason.WrongGeo]: 'Не целевая география',\n [CallTaskReason.Double]: 'Дубль',\n [CallTaskReason.Agent]: 'Агент',\n [CallTaskReason.BuyingOrSellingPart]: 'Доля',\n [CallTaskReason.NotReadyToPay]: 'Не готов платить',\n [CallTaskReason.CantReach]: 'Не удалось дозвониться',\n [CallTaskReason.ClientCall]: 'Звонок от клиента',\n [CallTaskReason.NotBuyingOrSelling]: 'Не продаёт/покупает',\n [CallTaskReason.NoPhoneNumber]: 'Нет номера телефона',\n [CallTaskReason.WrongPhoneNumber]: 'Неверный номер телефона',\n [CallTaskReason.GotWrongNumber]: 'Ошиблись номером',\n [CallTaskReason.MistakenlyLeftRequest]: 'Ошибочно оставили заявку',\n [CallTaskReason.DidNotLeaveRequest]: 'Не оставляли заявку',\n [CallTaskReason.NotRelevant]: 'Не актуально',\n [CallTaskReason.LowBudget]: 'Низкий бюджет',\n [CallTaskReason.RemoveFromAdvertising]: 'Запрос на снятие с рекламы',\n [CallTaskReason.NoAddressInMarkup]: 'Нет адреса в разметке',\n [CallTaskReason.Complaint]: 'Жалоба',\n [CallTaskReason.Commercial]: 'Коммерческое предложение',\n [CallTaskReason.Test]: 'Тест',\n [CallTaskReason.Other]: 'Другое',\n },\n ColdReason: {\n [CallTaskColdReason.InadequateOwner]: 'Неадекватный собственник',\n [CallTaskColdReason.UnsuitableDeal]: 'Не подходят условия сделки',\n [CallTaskColdReason.AgentsNotAllowed]: 'Собственник не работает с агентами',\n [CallTaskColdReason.NotAnOwner]: 'Не является собственником',\n [CallTaskColdReason.BadDocuments]: 'Проблема с документами',\n },\n TriggeredByEvent: {\n [CallTaskTriggeredByEvent.PublishedFortnight]: 'Контракты в работе',\n [CallTaskTriggeredByEvent.TerminatedContract]: 'Расторгнутые контракты',\n [CallTaskTriggeredByEvent.DealDone]: 'Сделка',\n [CallTaskTriggeredByEvent.DealCreated]: 'Авансы',\n [CallTaskTriggeredByEvent.TerminatedContractAfterPrepayment]: 'Расторгнутые договора после аванса',\n [CallTaskTriggeredByEvent.Lead]: 'Выгрузка лидов',\n [CallTaskTriggeredByEvent.WarmDepublished]: 'Ликвидные объекты, снятые с рекламы',\n [CallTaskTriggeredByEvent.WarmPublished]: 'Ликвидные объекты, в рекламе',\n },\n Type: {\n [CallTaskType.Buyer]: 'Покупатель',\n [CallTaskType.Seller]: 'Продавец',\n [CallTaskType.ActiveClientSearch]: 'АПК',\n [CallTaskType.Other]: 'Иное',\n },\n};\n","import { ContactType } from '../types';\n\nexport const ContactDictionary = {\n Type: {\n [ContactType.SlackId]: 'ID пользователя в слак',\n [ContactType.SlackGroupId]: 'ID канала в слак',\n [ContactType.SlackUsername]: 'Имя пользователя в слак',\n [ContactType.SlackGroupName]: 'Название канала слак',\n [ContactType.Email]: 'E-mail',\n [ContactType.Facebook]: 'Facebook',\n [ContactType.ICQ]: 'ICQ',\n [ContactType.IMessage]: 'iMessage',\n [ContactType.Instagram]: 'Instagram',\n [ContactType.Jabber]: 'Jabber',\n [ContactType.LinkedIn]: 'LinkedIn',\n [ContactType.Odnoklassniki]: 'Одноклассники',\n [ContactType.Skype]: 'Skype',\n [ContactType.Telegram]: 'Telegram',\n [ContactType.VK]: 'Вконтакте',\n [ContactType.VoxAccount]: 'Аккаунт телефонии (vox)',\n [ContactType.WhatsApp]: 'WhatsApp',\n },\n};\n","import { ContractType, ContractStatus, ContractKind } from '../types';\n\nexport const ContractDictionary = {\n Type: {\n [ContractType.Buy]: 'Покупка',\n [ContractType.Sell]: 'Продажа',\n [ContractType.EscortSell]: 'Сопровождение продажи',\n [ContractType.EscortBuy]: 'Сопровождение покупки',\n },\n Status: {\n [ContractStatus.Booked]: 'Неподтверждённая бронь',\n [ContractStatus.Approved]: 'Бронь одобренная РОП',\n [ContractStatus.Declined]: 'Бронь отклонённая РОП\"',\n [ContractStatus.Signed]: 'Договор',\n [ContractStatus.Terminated]: 'Отмена сделки',\n [ContractStatus.BookingCanceled]: 'ЗОУ закрыто',\n [ContractStatus.PrepaymentPlanned]: 'Запланирован аванс',\n [ContractStatus.NoPrepayment]: 'Запланирована сделка без аванса',\n [ContractStatus.Prepaid]: 'Получен аванс по сделке',\n [ContractStatus.DealSigned]: 'Сделка подписана',\n [ContractStatus.Registered]: 'Документы зарегистрированы',\n [ContractStatus.DealDone]: 'Сделка закрыта',\n },\n Kind: {\n [ContractKind.NotExclusive]: 'Не эксклюзив',\n [ContractKind.Exclusive]: 'Эксклюзив',\n [ContractKind.OnAdvance]: 'Устный',\n [ContractKind.LegalSupport]: 'Cопровождение',\n },\n};\n","import { ContractDocumentKind, ContractDocumentSubject } from '../types';\n\nexport const ContractDocumentDictionary = {\n Kind: {\n [ContractDocumentKind.Flat]: 'Квартира',\n [ContractDocumentKind.Apartment]: 'Апартаменты',\n [ContractDocumentKind.House]: 'Дом',\n [ContractDocumentKind.HouseWithLand]: 'Дом с земельным участком',\n [ContractDocumentKind.RightToDemand]: 'Право требования',\n },\n Subject: {\n [ContractDocumentSubject.Buy]: 'Подбор объекта',\n [ContractDocumentSubject.Escort]: 'Содействие в оформлении',\n [ContractDocumentSubject.RealtyHistoryAnalyze]: 'Анализ истории объекта',\n [ContractDocumentSubject.ContractCreating]: 'Составление договора',\n [ContractDocumentSubject.MortgageSupport]: 'Оформление ипотеки',\n [ContractDocumentSubject.MortgageRefinancing]: 'Рефинансирование ипотеки',\n [ContractDocumentSubject.DocumentCollecting]: 'Сбор документов',\n [ContractDocumentSubject.RealtorConsulting]: 'Выезд специалиста на сделку',\n [ContractDocumentSubject.DocumentSubmitting]: 'Подача документов',\n [ContractDocumentSubject.LawSupport]: 'Юридическое сопровождение',\n [ContractDocumentSubject.OtherServices]: 'Другие услуги',\n },\n};\n","import { ContractLegalDocumentStatus, ContractLegalDocumentType } from '../types';\n\nexport const ContractLegalDocumentDictionary = {\n Status: {\n [ContractLegalDocumentStatus.NotFound]: 'Документ не найден',\n [ContractLegalDocumentStatus.NotRequested]: 'Документ не запрашивался',\n [ContractLegalDocumentStatus.Requested]: 'Документ запрошен',\n [ContractLegalDocumentStatus.Ready]: 'Документ готов',\n },\n Type: {\n [ContractLegalDocumentType.Egrn]: 'ЕГРН',\n [ContractLegalDocumentType.OwnershipTransfers]: 'Переход собственности',\n },\n};\n","import { CrossSaleContractorType } from '../types';\n\nexport const CrossSaleDictionary = {\n ContractorType: {\n [CrossSaleContractorType.Owner]: 'Собственник',\n [CrossSaleContractorType.Agent]: 'Частный агент',\n [CrossSaleContractorType.Agency]: 'Агентство',\n },\n};\n","import { Currency } from '../types';\n\nexport const CurrencyDictionary = {\n [Currency.Rub]: 'Российский рубль',\n [Currency.Usd]: 'Американский доллар',\n [Currency.Eur]: 'Евро',\n [Currency.Kzt]: 'Казахстанский тенге',\n [Currency.Aed]: 'Дирхам ОАЭ',\n [Currency.Vnd]: 'Вьетнамский донг',\n [Currency.Idr]: 'Индонезийская рупия',\n [Currency.Thb]: 'Тайский бат',\n [Currency.Khr]: 'Камбоджийский риель',\n};\n","import { DealBillServiceType, DealFileCategory, DealNoLawyerReason, DealPartnerDealType, DealStatus } from '../types';\n\nexport const DealDictionary = {\n DealNoLawyerReason: {\n [DealNoLawyerReason.FromDeveloper]: 'Новостройка от застройщика (не требуется юрист)',\n [DealNoLawyerReason.NoLawyerOffice]: 'Офис без юристов',\n },\n DealPartnerDealType: {\n [DealPartnerDealType.PartnerCommission]: 'Партнерская сделка (комиссия партнера)',\n [DealPartnerDealType.HomeappCommission]: 'Партнерская сделка (комиссия Homeapp)',\n },\n DealFileCategory: {\n [DealFileCategory.DeleteReason]: 'Является обоснованием закрытия сделки',\n [DealFileCategory.Egrn]: 'ЕГРН',\n [DealFileCategory.OwnershipTransfers]: 'Переходы собственности',\n [DealFileCategory.Risk]: 'Проверка на риски',\n [DealFileCategory.Act]: 'Акт с клиентом',\n [DealFileCategory.ActDeveloper]: 'Инвестор',\n [DealFileCategory.OwnershipCertificate]: 'Свид-во права собственности (при покупке)',\n [DealFileCategory.FloorPlan]: 'Поэтажный план',\n [DealFileCategory.Explication]: 'Экспликация',\n [DealFileCategory.Egd]: 'Выписка из домовой книги/ЕЖД',\n [DealFileCategory.ReferenceNoDebtGku]: 'Справка об отсутствии задолж-ти ЖКУ',\n [DealFileCategory.ReferenceNoDebtRepair]: 'Справка об отсутствии задолж-ти по кап. ремонту',\n [DealFileCategory.ReferencePnd]: 'Справки ПНД',\n [DealFileCategory.ReferenceNd]: 'Справки НД',\n [DealFileCategory.PassportContractor]: 'Паспорта контрагента (свид-ва о рождении)',\n [DealFileCategory.MarriageCertificateContractor]: 'Свидетельство о регистрации/расторжении брака',\n [DealFileCategory.SpouseAgreementContractor]: 'Нотариальное согласие супруга',\n [DealFileCategory.Invest]: 'Документы инвестпроекта',\n [DealFileCategory.Other]: 'Разное (сделка)',\n },\n DealBillServiceType: {\n [DealBillServiceType.PartPayment]: 'Частичная оплата обеспечительного платежа по договору',\n [DealBillServiceType.FullPayment]: 'Окончательный расчет по договору',\n [DealBillServiceType.BuyServicePayment]: 'Оплата по договору оказания услуг',\n [DealBillServiceType.SecurityDepositPayment]: 'Оплата по соглашению о принятии ОП',\n },\n DealStatus: {\n [DealStatus.PrepaymentPlanned]: 'Запланирован аванс',\n [DealStatus.NoPrepayment]: 'Запланирована сделка без аванса',\n [DealStatus.Prepaid]: 'Получен аванс по сделке',\n [DealStatus.DealSigned]: 'Сделка подписана',\n [DealStatus.Registered]: 'Документы зарегистрированы',\n [DealStatus.DealDone]: 'Сделка закрыта',\n [DealStatus.Terminated]: 'Отмена сделки',\n },\n};\n","import { DealCategorizedFileCategory } from '../types';\n\nexport const DealCategorizedFileDictionary = {\n Category: {\n [DealCategorizedFileCategory.Egd]: 'Выписка из домовой книги/ЕЖД',\n [DealCategorizedFileCategory.Explication]: 'Экспликация',\n [DealCategorizedFileCategory.FloorPlan]: 'Поэтажный план',\n [DealCategorizedFileCategory.Invest]: 'Документы инвестпроекта',\n [DealCategorizedFileCategory.MarriageCertificateContractor]: 'Свидетельство о регистрации/расторжении брака',\n [DealCategorizedFileCategory.Other]: 'Разное (сделка)',\n [DealCategorizedFileCategory.OwnershipCertificate]: 'Свид-во права собственности (при покупке)',\n [DealCategorizedFileCategory.PassportContractor]: 'Паспорта контрагента (свид-ва о рождении)',\n [DealCategorizedFileCategory.ReferenceNoDebtGku]: 'Справка об отсутствии задолж-ти ЖКУ',\n [DealCategorizedFileCategory.ReferenceNoDebtRepair]: 'Справка об отсутствии задолж-ти по кап. ремонту',\n [DealCategorizedFileCategory.ReferencePnd]: 'Справки ПНД',\n [DealCategorizedFileCategory.ReferenceNd]: 'Справки НД',\n [DealCategorizedFileCategory.SpouseAgreementContractor]: 'Нотариальное согласие супруга',\n [DealCategorizedFileCategory.Act]: 'Акт с клиентом',\n [DealCategorizedFileCategory.ActDeveloper]: 'Акт с застройщиком',\n [DealCategorizedFileCategory.Risk]: 'Проверка на риски',\n [DealCategorizedFileCategory.DeleteReason]: 'Является обоснованием закрытия сделки',\n [DealCategorizedFileCategory.OwnershipTransfers]: 'Переходы собственности',\n [DealCategorizedFileCategory.Egrn]: 'ЕГРН',\n },\n};\n","import { DealParticipantSide, DealParticipantPosition } from '../types';\n\nexport const DealParticipantDictionary = {\n DealParticipantSide: {\n [DealParticipantSide.Buyer]: 'Покупатель',\n [DealParticipantSide.Seller]: 'Продавец',\n },\n DealParticipantPosition: {\n [DealParticipantPosition.Agent]: 'Агент',\n [DealParticipantPosition.Lawyer]: 'Юрист',\n [DealParticipantPosition.BankEmployee]: 'Сотрудник банка',\n [DealParticipantPosition.Relative]: 'Родственник',\n [DealParticipantPosition.Seller]: 'Продавец',\n [DealParticipantPosition.Investor]: 'Инвестор',\n [DealParticipantPosition.Other]: 'Другое',\n },\n};\n","import { DebtPaymentType } from '../types';\n\nexport const DebtDictionary = {\n PaymentType: {\n [DebtPaymentType.BonusToExpert]: 'Бонус эксперта',\n [DebtPaymentType.InternalPartnerBonusToExpert]: 'Бонус внутреннему партнеру-эксперту',\n [DebtPaymentType.BonusToTrainee]: 'Бонус стажера',\n [DebtPaymentType.BonusPaymentToMentor]: 'Бонус наставника',\n [DebtPaymentType.BonusPaymentToTeamlead]: 'Бонус РОП',\n [DebtPaymentType.PartnerCharges]: 'Партнерские расходы',\n [DebtPaymentType.ReferralForExpert]: 'Выплата рефералу эксперта',\n [DebtPaymentType.ReferralForPA]: 'Выплата рефералу ПА',\n [DebtPaymentType.LegalSupportPayment]: 'Внесение за альтернативный объект',\n [DebtPaymentType.OtherPayments]: 'Прочие расходы',\n [DebtPaymentType.DeveloperDepositPayment]: 'Оплата депозита застройщику',\n [DebtPaymentType.BonusPaymentAsiaConsultant]: 'Бонус консультанту Азия',\n [DebtPaymentType.SpsBonusPayment]: 'Бонус СПС',\n [DebtPaymentType.BonusPaymentInventoryDepartmentHead]: 'Бонус главе отдела инвентаря',\n [DebtPaymentType.BonusPaymentInventoryDepartmentAdmin]: 'Бонус админу отдела инвентаря',\n [DebtPaymentType.BonusPaymentOfficeAdmin]: 'Бонус админу офиса',\n [DebtPaymentType.DealNdsPayment]: 'НДС по сделке',\n [DebtPaymentType.BonusPersonalAssistantFirstLevel]: 'Бонус ПА 1',\n [DebtPaymentType.BonusPersonalAssistantSecondLevel]: 'Бонус ПА 2',\n [DebtPaymentType.BonusPersonalAssistantThirdLevel]: 'Бонус ПА 3',\n [DebtPaymentType.BonusPortfolioCoordinator]: 'Бонус координатору набор портфеля',\n [DebtPaymentType.BonusExpoCoordinator]: 'Бонус координатору экспозиция',\n [DebtPaymentType.PaymentForPhotography]: 'Оплата за фотосъемку',\n [DebtPaymentType.PaymentForAttractingLead]: 'Оплата за привлечение лида',\n // неактуально, но оставлено для обратной совместимости\n [DebtPaymentType.Referral]: 'Выплата по реферальной программе',\n },\n};\n","import { ExpertCategoryExpertType, ExpertCategoryCategory } from '../types';\n\nexport const ExpertCategoryDictionary = {\n ExpertType: {\n [ExpertCategoryExpertType.NewExpert]: 'Новичок',\n [ExpertCategoryExpertType.ExperienceExpert]: 'Опытный',\n },\n Category: {\n [ExpertCategoryCategory.Red]: 'Красная',\n [ExpertCategoryCategory.Yellow]: 'Желтая',\n [ExpertCategoryCategory.Green]: 'Зеленая',\n [ExpertCategoryCategory.NoCategory]: 'Нет категории',\n },\n};\n","import { ExpertGradeType } from '../types/ExpertGrade';\n\nexport const ExpertGradeDictionary = {\n Type: {\n [ExpertGradeType.Junior]: 'Junior',\n [ExpertGradeType.Bronze]: 'Bronze',\n [ExpertGradeType.Silver]: 'Silver',\n [ExpertGradeType.Gold]: 'Gold',\n },\n};\n","import { FileType, FileCategory } from '../types';\n\nexport const FileDictionary = {\n Type: {\n [FileType.Image]: 'Изображение',\n [FileType.Audio]: 'Аудиозапись',\n [FileType.Video]: 'Видео',\n [FileType.Document]: 'Документ',\n },\n Category: {\n [FileCategory.DeleteReason]: 'Является обоснованием закрытия контракта',\n [FileCategory.EGRN]: 'ЕГРН',\n [FileCategory.OwnershipTransfers]: 'Переходы собственности',\n },\n};\n","import { GalleryImageType } from '../types';\n\nexport const GalleryImageDictionary = {\n Type: {\n [GalleryImageType.Main]: 'Основная',\n [GalleryImageType.Portrait]: 'Портрет',\n },\n};\n","import { LeadAssignmentBlockReason } from '../types';\n\nexport const LeadAssignmentBlockDictionary = {\n Reason: {\n [LeadAssignmentBlockReason.Vacation]: 'Отпуск',\n [LeadAssignmentBlockReason.RequestTeamlead]: 'Запрос РОПа',\n [LeadAssignmentBlockReason.ViolationRegulations]: 'Нарушение регламента по лидогенерации',\n [LeadAssignmentBlockReason.Trainee]: 'Стажер',\n },\n};\n","import { PhoneBookContactType, PhoneBookContactPhoneType } from '../types';\n\nexport const PhoneBookContactDictionary = {\n Type: {\n [PhoneBookContactType.Buyer]: 'Покупатель',\n [PhoneBookContactType.Seller]: 'Продавец',\n },\n PhoneType: {\n [PhoneBookContactPhoneType.Main]: 'Основной',\n [PhoneBookContactPhoneType.Additional]: 'Дополнительный',\n },\n};\n","import { PhotoOrderStatus, PhotoOrderRenovation } from '../types';\n\nexport const PhotoOrderDictionary = {\n Status: {\n [PhotoOrderStatus.Aborted]: 'Заявка не выполнена по вине заказчика',\n [PhotoOrderStatus.Created]: 'Заявка создана',\n [PhotoOrderStatus.CreationFailed]: 'Ошибка при создании во внешней системе',\n [PhotoOrderStatus.EpicFail]: 'Сервис отменил выполнение',\n [PhotoOrderStatus.ExecutionFailed]: 'Заявка не выполнена',\n [PhotoOrderStatus.Init]: 'Заявка инициализирована',\n [PhotoOrderStatus.PhotographerFound]: 'Фотограф найден',\n [PhotoOrderStatus.PhotographerNotFound]: 'Фотограф не найден',\n [PhotoOrderStatus.Success]: 'Заявка выполнена',\n [PhotoOrderStatus.Terminated]: 'Заявка отменена',\n },\n Renovation: {\n [PhotoOrderRenovation.Author]: 'Авторский',\n [PhotoOrderRenovation.Cosmetic]: 'Косметический',\n [PhotoOrderRenovation.Euro]: 'Евро',\n [PhotoOrderRenovation.None]: 'Без ремонта',\n },\n};\n","import {\n RealtyType,\n RealtyRenovationType,\n RealtyGas,\n RealtyHouseType,\n RealtyLandShape,\n RealtyLandUsageType,\n RealtyRelief,\n RealtyElectricity,\n RealtyFurniture,\n RealtySewerage,\n RealtyWindowView,\n} from '../types';\n\nexport const RealtyDictionary = {\n Type: {\n [RealtyType.FlatSecondary]: 'Вторичка',\n [RealtyType.FlatNew]: 'Новостройка',\n [RealtyType.House]: 'Дом',\n },\n RenovationType: {\n [RealtyRenovationType.None]: 'Без ремонта',\n [RealtyRenovationType.Author]: 'Авторский',\n [RealtyRenovationType.Cosmetic]: 'Косметический',\n [RealtyRenovationType.Euro]: 'Евро',\n [RealtyRenovationType.FineFinishing]: 'Чистовая отделка',\n [RealtyRenovationType.RoughFinishing]: 'Черновая отделка',\n },\n Gas: {\n [RealtyGas.None]: 'Нет',\n [RealtyGas.Connected]: 'Подключено',\n [RealtyGas.Border]: 'По границе',\n [RealtyGas.Possible]: 'Возможно',\n [RealtyGas.Autonomous]: 'Автономное',\n },\n HouseType: {\n [RealtyHouseType.Townhouse]: 'Таунхаус',\n [RealtyHouseType.House]: 'Дом',\n [RealtyHouseType.Cottage]: 'Коттедж',\n [RealtyHouseType.Part]: 'Часть дома',\n [RealtyHouseType.Duplex]: 'Дуплекс',\n },\n LandShape: {\n [RealtyLandShape.Regular]: 'Правильная',\n [RealtyLandShape.Irregular]: 'Неправильная',\n },\n LandUsageType: {\n [RealtyLandUsageType.IGS]: 'ИЖС',\n [RealtyLandUsageType.LPH]: 'ЛПХ (личное подсобное хозяйство)',\n [RealtyLandUsageType.DNP]: 'ДНП (дачное некоммерческое партнероство)',\n [RealtyLandUsageType.SNT]: 'СНТ (садоводческое некоммерческое товарищество)',\n [RealtyLandUsageType.Farm]: 'Фермерское хозяйство',\n [RealtyLandUsageType.Garden]: 'Садоводство',\n [RealtyLandUsageType.Investproject]: 'Инвестпроект',\n },\n Relief: {\n [RealtyRelief.Flat]: 'Ровный',\n [RealtyRelief.Elevations]: 'Значительные перепады высот',\n [RealtyRelief.Slope]: 'Склон',\n [RealtyRelief.Hills]: 'Холмы',\n },\n Electricity: {\n [RealtyElectricity.None]: 'Нет',\n [RealtyElectricity.Connected]: 'Подключено',\n [RealtyElectricity.Possible]: 'Возможно',\n [RealtyElectricity.Autonomous]: 'Автономное',\n },\n Furniture: {\n [RealtyFurniture.None]: 'Отсутствует',\n [RealtyFurniture.Full]: 'Полностью мебелирован',\n [RealtyFurniture.Part]: 'Частично мебелирован',\n },\n Sewerage: {\n [RealtySewerage.None]: 'Нет',\n [RealtySewerage.Cesspool]: 'Выгребная яма',\n [RealtySewerage.Septic]: 'Септик',\n [RealtySewerage.Bio]: 'Устройства биологической очистки',\n [RealtySewerage.Central]: 'Центральная',\n },\n WindowView: {\n [RealtyWindowView.Street]: 'На улицу',\n [RealtyWindowView.Yard]: 'Во двор',\n [RealtyWindowView.Both]: 'В обе стороны',\n },\n};\n","import {\n ServiceRequestCategory,\n ServiceRequestModerationStatus,\n ServiceRequestStatus,\n ServiceRequestType,\n ServiceRequestDepublishReason,\n ServiceRequestSource,\n ServiceRequestInvestType,\n} from '../types';\n\nexport const ServiceRequestDictionary = {\n Category: {\n [ServiceRequestCategory.Depublished]: 'Неликвидный',\n [ServiceRequestCategory.Discounted]: 'Цена снижена',\n [ServiceRequestCategory.Cold]: 'Холодный',\n [ServiceRequestCategory.Warm]: 'Тёплый',\n [ServiceRequestCategory.New]: 'Новый',\n [ServiceRequestCategory.Hot]: 'Горячий',\n },\n ModerationStatus: {\n [ServiceRequestModerationStatus.None]: 'Нет',\n [ServiceRequestModerationStatus.Sent]: 'Отправлен',\n [ServiceRequestModerationStatus.Booked]: 'Взят в работу',\n [ServiceRequestModerationStatus.Done]: 'Готов',\n },\n Status: {\n [ServiceRequestStatus.LeadExpert]: 'Лид, заведённый экспертом',\n [ServiceRequestStatus.LeadAdv]: 'Лид, пришедший от Homeapp',\n [ServiceRequestStatus.Booked]: 'Неподтверждённая бронь',\n [ServiceRequestStatus.Approved]: 'Бронь одобренная РОП',\n [ServiceRequestStatus.Declined]: 'Бронь отклонённая РОП',\n [ServiceRequestStatus.Signed]: 'Контракт подписан',\n [ServiceRequestStatus.Terminated]: 'Контракт расторгнут',\n [ServiceRequestStatus.BookingCanceled]: 'ЗОУ закрыто',\n [ServiceRequestStatus.NoPrepayment]: 'Запланирована сделка без аванса',\n [ServiceRequestStatus.PrepaymentPlanned]: 'Запланирован аванс',\n [ServiceRequestStatus.Prepaid]: 'Получен аванс по сделке',\n [ServiceRequestStatus.DealSigned]: 'Сделка подписана',\n [ServiceRequestStatus.Registered]: 'Документы зарегистрированы',\n [ServiceRequestStatus.DealDone]: 'Сделка закрыта',\n },\n Type: {\n [ServiceRequestType.Buy]: 'Покупка',\n [ServiceRequestType.Sell]: 'Продажа',\n [ServiceRequestType.AsiaSell]: 'Сбор заявок по Азии',\n },\n InvestType: {\n [ServiceRequestInvestType.Buyout]: 'Инвестпроект 1 этапа',\n [ServiceRequestInvestType.Sell]: 'Инвестпроект 2 этапа',\n },\n DepublishReason: {\n [ServiceRequestDepublishReason.TemporaryDepublish]: 'Временное снятие объекта',\n [ServiceRequestDepublishReason.ForeverDepublish]: 'Снятие объекта навсегда',\n [ServiceRequestDepublishReason.HardToSellObject]: '“Сложный“ в реализации объект',\n [ServiceRequestDepublishReason.SoldListing]: 'Продан листинг',\n [ServiceRequestDepublishReason.SoldByOwner]: 'Продан собственником самостоятельно',\n [ServiceRequestDepublishReason.Other]: 'Другое',\n\n // легаси значения, которые больше не используются, но оставлены для обратной совместимости\n [ServiceRequestDepublishReason.DepublishOnAdvance]: 'Снятие объекта на время аванса',\n [ServiceRequestDepublishReason.ClientRequest]: 'Просьба клиента убрать объект из рекламы',\n [ServiceRequestDepublishReason.DeveloperRequest]: 'Запрет застройщика на размещение рекламы',\n [ServiceRequestDepublishReason.BadObject]: 'Неликвидный объект, требуется работа с клиентом',\n [ServiceRequestDepublishReason.BadObjectElite]: 'Неликвидный элитный объект',\n [ServiceRequestDepublishReason.CrossSell]: 'Кросспродажи',\n },\n Source: {\n [ServiceRequestSource.Apk]: 'АПК',\n [ServiceRequestSource.Recommendations]: 'Рекомендации',\n [ServiceRequestSource.ColdCCMoscow]: 'ХО КЦ Москва',\n [ServiceRequestSource.ColdCCZelenograd]: 'ХО КЦ Зеленоград',\n [ServiceRequestSource.ColdCCZhukovsky]: 'ХО КЦ Жуковский',\n [ServiceRequestSource.Marketing]: 'Маркетинг',\n [ServiceRequestSource.Test]: 'Тест',\n [ServiceRequestSource.Other]: 'Другое',\n },\n};\n","import { ServiceRequestActivityType } from '../types';\n\nexport const ServiceRequestActivityDictionary = {\n Type: {\n [ServiceRequestActivityType.Comment]: 'Комментарий',\n [ServiceRequestActivityType.Edit]: 'Изменения',\n [ServiceRequestActivityType.Transfer]: 'Перевод',\n [ServiceRequestActivityType.Call]: 'Звонок',\n [ServiceRequestActivityType.Task]: 'Задача',\n [ServiceRequestActivityType.Contract]: 'Контракт',\n [ServiceRequestActivityType.PublicationProblem]: 'Ошибка при публикации',\n [ServiceRequestActivityType.MarkedUp]: 'Разметка',\n [ServiceRequestActivityType.Published]: 'Публикация',\n [ServiceRequestActivityType.Republished]: 'Повторная публикация',\n [ServiceRequestActivityType.Depublished]: 'Снятие с публикации',\n [ServiceRequestActivityType.PriceChanged]: 'Изменена цена',\n [ServiceRequestActivityType.RequestPriceDown]: 'Запрос на снижение цены',\n [ServiceRequestActivityType.ContractExpired]: 'Срок контракта истекает',\n [ServiceRequestActivityType.CallTaskCreated]: 'Обращениие создано',\n [ServiceRequestActivityType.RealtyShowScheduled]: 'Показ объекта запланирован',\n [ServiceRequestActivityType.RealtyShowCompleted]: 'Показ объекта выполнен',\n [ServiceRequestActivityType.RealtyShowCancelled]: 'Показ объекта отменен',\n [ServiceRequestActivityType.Appointment]: 'Встреча',\n },\n};\n","import { ServiceRequestCategorizedFileCategory } from '../types';\n\nexport const ServiceRequestCategorizedFileDictionary = {\n Category: {\n [ServiceRequestCategorizedFileCategory.AdvAgreement]: 'Соглашение на рекламу',\n [ServiceRequestCategorizedFileCategory.AdvanceForm]: 'Анкета на аванс',\n [ServiceRequestCategorizedFileCategory.CheckList]: 'Чек-лист со встречи',\n [ServiceRequestCategorizedFileCategory.Contract]: 'Договор оказания услуг',\n [ServiceRequestCategorizedFileCategory.Kc]: 'Файлы от КЦ',\n [ServiceRequestCategorizedFileCategory.Other]: 'Разное (ЗОУ)',\n [ServiceRequestCategorizedFileCategory.OwnershipCheckReport]: 'Отчет проверки собственника',\n [ServiceRequestCategorizedFileCategory.OwnershipJustification]: 'Основание права собственности',\n [ServiceRequestCategorizedFileCategory.PassportClient]: 'Паспорта клиента (свид-ва о рождении)',\n [ServiceRequestCategorizedFileCategory.Egrn]: 'ЕГРН',\n [ServiceRequestCategorizedFileCategory.DeleteReason]: 'Является обоснованием закрытия контракта',\n [ServiceRequestCategorizedFileCategory.OwnershipTransfers]: 'Переходы собственности',\n [ServiceRequestCategorizedFileCategory.Risk]: 'Проверка на риски',\n },\n};\n","import { ShapeType } from '../types';\n\nexport const ShapeDictionary = {\n Type: {\n [ShapeType.AdministrativeDistrict]: 'Административный округ',\n [ShapeType.Block]: 'Квартал',\n [ShapeType.Complex]: 'Новостройка',\n [ShapeType.District]: 'Район',\n [ShapeType.House]: 'Здание',\n [ShapeType.Microdistrict]: 'Микрорайон',\n },\n};\n","import { TaskImportance, TaskNotificationType, TaskStatus } from '../types';\n\nexport const TaskDictionary = {\n Importance: {\n [TaskImportance.Normal]: 'Обычная',\n [TaskImportance.High]: 'Высокая',\n },\n NotificationType: {\n [TaskNotificationType.Morning]: 'Утром',\n [TaskNotificationType.Min15]: 'За 15 минут',\n [TaskNotificationType.Hour1]: 'За час',\n [TaskNotificationType.Hour2]: 'За 2 часа',\n [TaskNotificationType.Nil]: 'Не напоминать',\n },\n Status: {\n [TaskStatus.InProgress]: 'В работе',\n [TaskStatus.Resolved]: 'Выполнена',\n [TaskStatus.Closed]: 'Закрыта',\n },\n};\n","import {\n UserTelephonyType,\n UserDirection,\n UserGender,\n UserLevel,\n UserOffice,\n UserRole,\n UserFiredType,\n UserFiredReason,\n UserAttractionChannel,\n UserPhoneType,\n UserContactInfoType,\n GalleryImageType,\n} from '../types';\n\nexport const UserDictionary = {\n TelephonyType: {\n [UserTelephonyType.Vox]: 'Vox',\n },\n GalleryType: {\n [GalleryImageType.Main]: 'Основная',\n [GalleryImageType.Portrait]: 'Портрет',\n },\n PhoneType: {\n [UserPhoneType.Sip]: 'Внутренний',\n [UserPhoneType.Main]: 'Основной',\n [UserPhoneType.Work]: 'Рабочий',\n [UserPhoneType.Home]: 'Домашний',\n [UserPhoneType.VirtualVox]: 'Общий виртуальный (VOX)',\n },\n ContactInfoType: {\n [UserContactInfoType.SlackId]: 'ID пользователя в слак',\n [UserContactInfoType.SlackGroupId]: 'ID канала в слак',\n [UserContactInfoType.SlackUsername]: 'Имя пользователя в слак',\n [UserContactInfoType.SlackGroupName]: 'Название канала слак',\n [UserContactInfoType.Skype]: 'Skype',\n [UserContactInfoType.Email]: 'E-mail',\n [UserContactInfoType.Jabber]: 'Jabber',\n [UserContactInfoType.Icq]: 'ICQ',\n [UserContactInfoType.Imessage]: 'iMessage',\n [UserContactInfoType.Telegram]: 'telegram',\n [UserContactInfoType.Whatsapp]: 'whatsapp',\n [UserContactInfoType.Facebook]: 'Facebook',\n [UserContactInfoType.Linkedin]: 'LinkedIn',\n [UserContactInfoType.Vk]: 'Вконтакте',\n [UserContactInfoType.Odnoklassniki]: 'Одноклассники',\n [UserContactInfoType.Instagram]: 'Instagram',\n [UserContactInfoType.VoxAccount]: 'Аккаунт телефонии (vox)',\n },\n Direction: {\n [UserDirection.Resale]: 'Вторичка',\n [UserDirection.NewBuildings]: 'Новостройки',\n [UserDirection.Elite]: 'Элитное жилье',\n [UserDirection.Private]: 'Частные дома',\n [UserDirection.Commercial]: 'Коммерческая недвижимость',\n },\n Gender: {\n [UserGender.Female]: 'Женщина',\n [UserGender.Male]: 'Мужчина',\n },\n Level: {\n [UserLevel.SalesHead]: 'Директор по продажам',\n [UserLevel.Teamleader]: 'Руководитель отдела продаж',\n [UserLevel.Groupleader]: 'Руководитель группы',\n [UserLevel.Expert]: 'Эксперт',\n [UserLevel.TopExpert]: 'Топовый эксперт',\n },\n Office: {\n [UserOffice.Lyubertsy]: 'Люберцы',\n [UserOffice.Moscow]: 'Москва',\n [UserOffice.Zelenograd]: 'Зеленоград',\n [UserOffice.Zhukovsky]: 'Жуковский',\n },\n Role: {\n [UserRole.User]: 'Пользователь',\n [UserRole.Moderator]: 'Модератор',\n [UserRole.Supervisor]: 'Супервайзор',\n [UserRole.Trainee]: 'Стажер',\n [UserRole.Expert]: 'Эксперт',\n [UserRole.Mentor]: 'Наставник',\n [UserRole.Invest]: 'Сотрудник инвестотдела',\n [UserRole.Teamlead]: 'Руководитель отдела продаж',\n [UserRole.GroupLead]: 'Руководитель группы',\n [UserRole.CallOperator]: 'Оператор',\n [UserRole.Admin]: 'Администратор',\n [UserRole.Developer]: 'Разработчик',\n [UserRole.Lawyer]: 'Юрист',\n [UserRole.LawyerHead]: 'Главный юрист',\n [UserRole.Finance]: 'Люба',\n [UserRole.FinanceHead]: 'Директор финансового отдела',\n [UserRole.ExternalPartner]: 'Внешний партнёр',\n [UserRole.QualityAssessor]: 'Контролёр',\n [UserRole.ChatQualityAssessor]: 'Контролёр чатов',\n [UserRole.SalesHead]: 'Директор по продажам',\n [UserRole.TechSupport]: 'Техподдержка',\n [UserRole.LiquidityReportReader]: 'Чтение отчета по портфелю',\n [UserRole.CashManager]: 'Управление наличными',\n [UserRole.DataScience]: 'Data science',\n [UserRole.Reader]: 'Чтение всего',\n [UserRole.HR]: 'HR',\n [UserRole.PersonalAssistantFirstLevel]: 'ПА-1',\n [UserRole.PersonalAssistantSecondLevel]: 'ПА-2',\n [UserRole.PersonalAssistantThirdLevel]: 'ПА-3',\n [UserRole.PortfolioCoordinator]: 'Координатор набор портфеля',\n [UserRole.ExpoCoordinator]: 'Координатор экспозиция',\n },\n FiredType: {\n [UserFiredType.Fired]: 'Уволен',\n [UserFiredType.Quite]: 'По собственному желанию',\n [UserFiredType.Agreement]: 'Обоюдное решение',\n },\n FiredReason: {\n [UserFiredReason.LeavesRealEstate]: 'Уходит из недвижимости',\n [UserFiredReason.WentToAnother]: 'Ушел в другое АН',\n [UserFiredReason.FailureToFulfillThePlan]: 'Невыполнение плана',\n [UserFiredReason.ToxicityAndNegativity]: 'Токсичность и негатив',\n [UserFiredReason.ForPersonalReasons]: 'По личным обстоятельствам',\n [UserFiredReason.LackOfSalary]: 'Отсутствие оклада',\n [UserFiredReason.Burnout]: '«Выгорание»',\n [UserFiredReason.OtherComment]: 'Другое (комментарий)',\n [UserFiredReason.TemporaryBlocking]: 'Временная блокировка',\n },\n AttractionChannel: {\n [UserAttractionChannel.Recommendations]: 'Рекомендации',\n [UserAttractionChannel.PartnersOffice]: 'Офис партнеров',\n [UserAttractionChannel.HeadhunterXOHR]: 'headhunter ХО HR',\n [UserAttractionChannel.HeadhunterXOKC]: 'headhunter ХО КЦ',\n [UserAttractionChannel.KCCianBase]: 'КЦ базы Cian',\n [UserAttractionChannel.HeadhunterResponse]: 'headhunter отклик',\n [UserAttractionChannel.Marketing]: 'Маркетинг',\n [UserAttractionChannel.Site]: 'Сайт',\n [UserAttractionChannel.Activity]: 'Мероприятия',\n [UserAttractionChannel.Webinar]: 'Вебинар',\n [UserAttractionChannel.Other]: 'Другое',\n },\n};\n","import { UserPhoneType } from '../types';\n\nexport const UserPhoneDictionary = {\n Type: {\n [UserPhoneType.Sip]: 'Внутренний',\n [UserPhoneType.Main]: 'Основной',\n [UserPhoneType.Work]: 'Рабочий',\n [UserPhoneType.Home]: 'Домашний',\n [UserPhoneType.VirtualVox]: 'Общий виртуальный (VOX)',\n },\n};\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Address } from '../../../types';\n\ntype SuccessData = {\n data: Address;\n errors: never;\n};\ntype ErrorData = {\n data: never;\n errors: Array<{ source?: { parameter: string }; detail: string; description?: string }>;\n};\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['errors'];\n\nexport type CreateAddressHeaders = { 'x-auth-hc': string };\nexport type CreateAddressBody = {\n data: {\n type: Address['type'];\n attributes: Pick<Address['attributes'], 'fullAddress' | 'lat' | 'lng'>;\n };\n};\nexport type CreateAddressData = AxiosResponse<ResultData>;\nexport type CreateAddressError = AxiosError<ResultError>;\nexport type CreateAddressConfig = {\n baseURL?: string;\n body: CreateAddressBody;\n headers: CreateAddressHeaders;\n};\n\nexport function createAddressRequest({ baseURL = 'https://clients.homeapp.ru', body, headers }: CreateAddressConfig) {\n return axios\n .post('/api/v2/address', body, {\n baseURL,\n headers: { Accept: 'application/vnd.api+json', 'Content-Type': 'application/vnd.api+json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.errors ? data.errors : data.data),\n ],\n })\n .then((res: CreateAddressData) => res)\n .catch((err: CreateAddressError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { AddressBTIParams } from '../../../types';\n\ntype SuccessData = { data: AddressBTIParams; errors: never };\ntype ErrorData = {\n data: never;\n errors: Array<{ source?: { parameter: string }; detail: string; description?: string }>;\n};\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['errors'];\n\nexport type CreateAddressBtiHeaders = { 'x-auth-hc': string };\nexport type CreateAddressBtiBody = { data: Omit<AddressBTIParams, 'id'> };\nexport type CreateAddressBtiData = AxiosResponse<ResultData>;\nexport type CreateAddressBtiError = AxiosError<ResultError>;\nexport type CreateAddressBtiConfig = {\n baseURL?: string;\n body: CreateAddressBtiBody;\n headers: CreateAddressBtiHeaders;\n};\n\nexport function createAddressBtiRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n}: CreateAddressBtiConfig) {\n return axios\n .post('/api/v2/address-bti', body, {\n baseURL,\n headers: { Accept: 'application/vnd.api+json', 'Content-Type': 'application/vnd.api+json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.errors ? data.errors : data.data),\n ],\n })\n .then((res: CreateAddressBtiData) => res)\n .catch((err: CreateAddressBtiError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { AddressBTIParams } from '../../../types';\n\ntype SuccessData = { data: AddressBTIParams; errors: never };\ntype ErrorData = {\n data: never;\n errors: Array<{ source?: { parameter: string }; detail: string; description?: string }>;\n};\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['errors'];\n\nexport type FindAddressBtiByIdUrlParams = { id: string };\nexport type FindAddressBtiByIdData = AxiosResponse<ResultData>;\nexport type FindAddressBtiByIdError = AxiosError<ResultError>;\nexport type FindAddressBtiByIdConfig = {\n baseURL?: string;\n urlParams: FindAddressBtiByIdUrlParams;\n};\n\nexport function findAddressBtiByIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n}: FindAddressBtiByIdConfig) {\n return axios\n .get(`/api/v2/address-bti/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/vnd.api+json' },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.errors ? data.errors : data.data),\n ],\n })\n .then((res: FindAddressBtiByIdData) => res)\n .catch((err: FindAddressBtiByIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { AddressBTIParams } from '../../../types';\n\ntype SuccessData = { data: AddressBTIParams; errors: never };\ntype ErrorData = {\n data: never;\n errors: Array<{ source?: { parameter: string }; detail: string; description?: string }>;\n};\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['errors'];\n\nexport type UpdateAddressBtiHeaders = { 'x-auth-hc': string };\nexport type UpdateAddressBtiUrlParams = { id: string };\nexport type UpdateAddressBtiBody = { data: Omit<AddressBTIParams, 'relationships' | 'meta'> };\nexport type UpdateAddressBtiData = AxiosResponse<ResultData>;\nexport type UpdateAddressBtiError = AxiosError<ResultError>;\nexport type UpdateAddressBtiConfig = {\n baseURL?: string;\n urlParams: UpdateAddressBtiUrlParams;\n body: UpdateAddressBtiBody;\n headers: UpdateAddressBtiHeaders;\n};\n\nexport function updateAddressBtiRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateAddressBtiConfig) {\n return axios\n .patch(`/api/v2/address-bti/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/vnd.api+json', 'Content-Type': 'application/vnd.api+json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.errors ? data.errors : data.data),\n ],\n })\n .then((res: UpdateAddressBtiData) => res)\n .catch((err: UpdateAddressBtiError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { ComplexHousing, Complex } from '../../../types';\n\ntype SuccessData = {\n data: Complex;\n included?: Array<ComplexHousing>;\n errors: never;\n};\ntype ErrorData = {\n data: never;\n included: never;\n errors: Array<{ source?: { parameter: string }; detail: string; description?: string }>;\n};\n\ntype ResultData = { data: Complex; included?: SuccessData['included'] };\ntype ResultError = ErrorData['errors'];\n\nexport type ComplexInclude = 'complexHousing';\n\nexport type FindComplexByIdHeaders = { 'x-auth-hc': string };\nexport type FindComplexByIdUrlParams = { id: number };\nexport type FindComplexByIdParams = { include?: Array<ComplexInclude> };\nexport type FindComplexByIdData = AxiosResponse<ResultData>;\nexport type FindComplexByIdError = AxiosError<ResultError>;\nexport type FindComplexByIdConfig = {\n baseURL?: string;\n urlParams: FindComplexByIdUrlParams;\n params?: FindComplexByIdParams;\n headers?: FindComplexByIdHeaders;\n};\n\nexport function findComplexByIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n params,\n headers,\n}: FindComplexByIdConfig) {\n return axios\n .get(`/api/v2/complex/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/vnd.api+json', ...headers },\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'comma', skipNulls: true }),\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.errors) return data.errors;\n\n return {\n data: data.data,\n included: data.included,\n };\n },\n ],\n })\n .then((res: FindComplexByIdData) => res)\n .catch((err: FindComplexByIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { ComplexHousing, Complex } from '../../../types';\n\ntype SuccessData = {\n data: ComplexHousing & { meta: { isReadonly?: boolean } };\n included?: Complex;\n errors: never;\n};\ntype ErrorData = {\n data: never;\n included: never;\n errors: Array<{ source?: { parameter: string }; detail: string; description?: string }>;\n};\n\ntype ResultData = {\n data: ComplexHousing & { meta: SuccessData['data']['meta'] };\n included?: SuccessData['included'];\n};\ntype ResultError = ErrorData['errors'];\n\nexport type ComplexHousingInclude = 'complex';\n\nexport type FindComplexHousingByComplexIdHeaders = { 'x-auth-hc': string };\nexport type FindComplexHousingByComplexIdUrlParams = { id: number };\nexport type FindComplexHousingByComplexIdParams = { include?: Array<ComplexHousingInclude> };\nexport type FindComplexHousingByComplexIdData = AxiosResponse<ResultData>;\nexport type FindComplexHousingByComplexIdError = AxiosError<ResultError>;\nexport type FindComplexHousingByComplexIdConfig = {\n baseURL?: string;\n urlParams: FindComplexHousingByComplexIdUrlParams;\n params?: FindComplexHousingByComplexIdParams;\n headers?: FindComplexHousingByComplexIdHeaders;\n};\n\nexport function findComplexHousingByComplexIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n params,\n headers,\n}: FindComplexHousingByComplexIdConfig) {\n return axios\n .get(`/api/v2/complex-housing/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/vnd.api+json', ...headers },\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'comma', skipNulls: true }),\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.errors) return data.errors;\n\n return {\n data: { ...data.data, meta: data.data.meta },\n included: data.included,\n };\n },\n ],\n })\n .then((res: FindComplexHousingByComplexIdData) => res)\n .catch((err: FindComplexHousingByComplexIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { Complex, ComplexHousing } from '../../../types';\n\ntype SuccessData = {\n data: Complex[];\n included?: Array<ComplexHousing>;\n meta: { page: { offset: number; count: number; total: number } };\n errors: never;\n};\ntype ErrorData = {\n data: never;\n included: never;\n meta: never;\n errors: Array<{ source?: { parameter: string }; detail: string; description?: string }>;\n};\n\ntype ResultData = {\n ids: string[];\n byId: Record<string, Complex>;\n meta: SuccessData['meta'];\n included?: SuccessData['included'];\n};\ntype ResultError = ErrorData['errors'];\n\nexport type FindComplexesInclude = 'complexHousing';\nexport type FindComplexesParams = {\n include?: FindComplexesInclude;\n filter?: { name?: string };\n page?: { offset?: number; limit?: number };\n};\nexport type FindComplexesHeaders = { 'x-auth-hc'?: string };\nexport type FindComplexesData = AxiosResponse<ResultData>;\nexport type FindComplexesError = AxiosError<ResultError>;\nexport type FindComplexesConfig = { baseURL?: string; params?: FindComplexesParams; headers?: FindComplexesHeaders };\n\nexport function findComplexesRequest({ baseURL = 'https://clients.homeapp.ru', params, headers }: FindComplexesConfig) {\n return axios\n .get('/api/v2/complex', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'comma', skipNulls: true }),\n headers: { Accept: 'application/vnd.api+json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.errors) return data.errors;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, included: data.included, meta: data.meta };\n },\n ],\n })\n .then((res: FindComplexesData) => res)\n .catch((err: FindComplexesError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { CottageComplex } from '../../../types';\n\ntype SuccessData = {\n data: CottageComplex[];\n meta: { page: { offset: number; count: number; total: number } };\n errors: never;\n};\ntype ErrorData = {\n data: never;\n included: never;\n meta: never;\n errors: Array<{ source?: { parameter: string }; detail: string; description?: string }>;\n};\n\ntype ResultData = {\n ids: string[];\n byId: Record<string, CottageComplex>;\n meta: SuccessData['meta'];\n};\ntype ResultError = ErrorData['errors'];\n\nexport type FindCottageComplexesParams = {\n filter?: { name?: string };\n page?: { offset?: number; limit?: number };\n};\nexport type FindCottageComplexesHeaders = { 'x-auth-hc'?: string };\nexport type FindCottageComplexesData = AxiosResponse<ResultData>;\nexport type FindCottageComplexesError = AxiosError<ResultError>;\nexport type FindCottageComplexesConfig = {\n baseURL?: string;\n params?: FindCottageComplexesParams;\n headers?: FindCottageComplexesHeaders;\n};\n\nexport function findCottageComplexesRequest({\n baseURL = 'https://clients.homeapp.ru',\n params,\n headers,\n}: FindCottageComplexesConfig) {\n return axios\n .get('/api/v2/cottage-complex', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'comma', skipNulls: true }),\n headers: { Accept: 'application/vnd.api+json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.errors) return data.errors;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: data.meta };\n },\n ],\n })\n .then((res: FindCottageComplexesData) => res)\n .catch((err: FindCottageComplexesError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Highway } from '../../../types';\n\ntype SuccessData = { data: Highway[]; errors: never };\ntype ErrorData = {\n data: never;\n errors: Array<{ source?: { parameter: string }; detail: string; description?: string }>;\n};\n\ntype ResultData = { ids: string[]; byId: Record<string, Highway> };\ntype ResultError = ErrorData['errors'];\n\nexport type FindHighwaysData = AxiosResponse<ResultData>;\nexport type FindHighwaysError = AxiosError<ResultError>;\nexport type FindHighwaysConfig = {\n baseURL?: string;\n};\n\nexport function findHighwaysRequest({ baseURL = 'https://clients.homeapp.ru' }: FindHighwaysConfig) {\n return axios\n .get('/api/v2/highway', {\n baseURL,\n headers: { Accept: 'application/vnd.api+json' },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.errors) return data.errors;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId };\n },\n ],\n })\n .then((res: FindHighwaysData) => res)\n .catch((err: FindHighwaysError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { MetroStation } from '../../../types';\n\ntype SuccessData = { data: MetroStation[]; errors: never };\ntype ErrorData = {\n data: never;\n errors: Array<{ source?: { parameter: string }; detail: string; description?: string }>;\n};\n\ntype ResultData = { ids: string[]; byId: Record<string, MetroStation> };\ntype ResultError = ErrorData['errors'];\n\nexport type FindMetroStationsData = AxiosResponse<ResultData>;\nexport type FindMetroStationsError = AxiosError<ResultError>;\nexport type FindMetroStationsConfig = {\n baseURL?: string;\n};\n\nexport function findMetroStationsRequest({ baseURL = 'https://clients.homeapp.ru' }: FindMetroStationsConfig) {\n return axios\n .get('/api/v2/metro-station', {\n baseURL,\n headers: { Accept: 'application/vnd.api+json' },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.errors) return data.errors;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId };\n },\n ],\n })\n .then((res: FindMetroStationsData) => res)\n .catch((err: FindMetroStationsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Realty } from '../../../types';\n\ntype SuccessData = {\n data: Realty & {\n meta: {\n createdAt?: string;\n serviceRequestExtId?: number;\n updatedAt?: string;\n };\n };\n errors: never;\n};\ntype ErrorData = {\n data: never;\n errors: Array<{ source?: { parameter: string }; detail: string; description?: string }>;\n};\n\ntype ResultData = Realty & { meta: SuccessData['data']['meta'] };\ntype ResultError = ErrorData['errors'];\n\nexport type CreateRealtyHeaders = { 'x-auth-hc': string };\nexport type CreateRealtyBody = {\n data: {\n type: Realty['type'];\n attributes: Pick<Realty['attributes'], 'realtyType' | 'area' | 'roomCount' | 'price' | 'floor'>;\n relationships: Pick<Realty['relationships'], 'address'>;\n meta: { serviceRequestExtId: number };\n };\n};\nexport type CreateRealtyData = AxiosResponse<ResultData>;\nexport type CreateRealtyError = AxiosError<ResultError>;\nexport type CreateRealtyConfig = {\n baseURL?: string;\n body: CreateRealtyBody;\n headers: CreateRealtyHeaders;\n};\n\nexport function createRealtyRequest({ baseURL = 'https://clients.homeapp.ru', body, headers }: CreateRealtyConfig) {\n return axios\n .post('/api/v2/realty', body, {\n baseURL,\n headers: { Accept: 'application/vnd.api+json', 'Content-Type': 'application/vnd.api+json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.errors ? data.errors : data.data),\n ],\n })\n .then((res: CreateRealtyData) => res)\n .catch((err: CreateRealtyError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { RealtyHouseHighwayDistance } from '../../../types';\n\ntype SuccessData = { data: RealtyHouseHighwayDistance; errors: never };\ntype ErrorData = {\n data: never;\n errors: Array<{ source?: { parameter: string }; detail: string; description?: string }>;\n};\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['errors'];\n\nexport type CreateRealtyHouseHighwayDistanceHeaders = { 'x-auth-hc': string };\nexport type CreateRealtyHouseHighwayDistanceBody = { data: Omit<RealtyHouseHighwayDistance, 'id'> };\nexport type CreateRealtyHouseHighwayDistanceData = AxiosResponse<ResultData>;\nexport type CreateRealtyHouseHighwayDistanceError = AxiosError<ResultError>;\nexport type CreateRealtyHouseHighwayDistanceConfig = {\n baseURL?: string;\n body: CreateRealtyHouseHighwayDistanceBody;\n headers: CreateRealtyHouseHighwayDistanceHeaders;\n};\n\nexport function createRealtyHouseHighwayDistanceRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n}: CreateRealtyHouseHighwayDistanceConfig) {\n return axios\n .post('/api/v2/house-highway-distance', body, {\n baseURL,\n headers: { Accept: 'application/vnd.api+json', 'Content-Type': 'application/vnd.api+json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.errors ? data.errors : data.data),\n ],\n })\n .then((res: CreateRealtyHouseHighwayDistanceData) => res)\n .catch((err: CreateRealtyHouseHighwayDistanceError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { RealtyImage } from '../../../types';\n\ntype SuccessData = { data: RealtyImage; errors: never };\ntype ErrorData = {\n data: never;\n errors: Array<{ source?: { parameter: string }; detail: string; description?: string }>;\n};\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['errors'];\n\nexport type CreateRealtyImageHeaders = { 'x-auth-hc': string };\nexport type CreateRealtyImageBody = {\n data: {\n type: RealtyImage['type'];\n attributes: Omit<RealtyImage['attributes'], 'isPinned'>;\n relationships: RealtyImage['relationships'];\n };\n};\nexport type CreateRealtyImageData = AxiosResponse<ResultData>;\nexport type CreateRealtyImageError = AxiosError<ResultError>;\nexport type CreateRealtyImageConfig = {\n baseURL?: string;\n body: CreateRealtyImageBody;\n headers: CreateRealtyImageHeaders;\n};\n\nexport function createRealtyImageRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n}: CreateRealtyImageConfig) {\n return axios\n .post('/api/v2/realty-image', body, {\n baseURL,\n headers: { Accept: 'application/vnd.api+json', 'Content-Type': 'application/vnd.api+json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.errors ? data.errors : data.data),\n ],\n })\n .then((res: CreateRealtyImageData) => res)\n .catch((err: CreateRealtyImageError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { RealtyMetroDistance } from '../../../types';\n\ntype SuccessData = { data: RealtyMetroDistance; errors: never };\ntype ErrorData = {\n data: never;\n errors: Array<{ source?: { parameter: string }; detail: string; description?: string }>;\n};\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['errors'];\n\nexport type CreateRealtyMetroDistanceHeaders = { 'x-auth-hc': string };\nexport type CreateRealtyMetroDistanceBody = { data: Omit<RealtyMetroDistance, 'id'> };\nexport type CreateRealtyMetroDistanceData = AxiosResponse<ResultData>;\nexport type CreateRealtyMetroDistanceError = AxiosError<ResultError>;\nexport type CreateRealtyMetroDistanceConfig = {\n baseURL?: string;\n body: CreateRealtyMetroDistanceBody;\n headers: CreateRealtyMetroDistanceHeaders;\n};\n\nexport function createRealtyMetroDistanceRequest({\n baseURL = 'https://clients.homeapp.ru',\n body,\n headers,\n}: CreateRealtyMetroDistanceConfig) {\n return axios\n .post('/api/v2/realty-metro-distance', body, {\n baseURL,\n headers: { Accept: 'application/vnd.api+json', 'Content-Type': 'application/vnd.api+json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.errors ? data.errors : data.data),\n ],\n })\n .then((res: CreateRealtyMetroDistanceData) => res)\n .catch((err: CreateRealtyMetroDistanceError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = undefined;\ntype ErrorData = {\n data: never;\n errors: Array<{ source?: { parameter: string }; detail: string; description?: string }>;\n};\n\ntype ResultData = null;\ntype ResultError = ErrorData['errors'];\n\nexport type DeleteRealtyImageHeaders = { 'x-auth-hc': string };\nexport type DeleteRealtyImageUrlParams = { id: string };\nexport type DeleteRealtyImageData = AxiosResponse<ResultData>;\nexport type DeleteRealtyImageError = AxiosError<ResultError>;\nexport type DeleteRealtyImageConfig = {\n baseURL?: string;\n urlParams: DeleteRealtyImageUrlParams;\n headers: DeleteRealtyImageHeaders;\n};\n\nexport function deleteRealtyImageRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n headers,\n}: DeleteRealtyImageConfig) {\n return axios\n .delete(`/api/v2/realty-image/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/vnd.api+json', 'Content-Type': 'application/vnd.api+json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data?.errors ? data.errors : null),\n ],\n })\n .then((res: DeleteRealtyImageData) => res)\n .catch((err: DeleteRealtyImageError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport {\n Realty,\n Address,\n AddressBTIParams,\n Complex,\n ComplexHousing,\n RealtyImage,\n Image,\n RealtyHouseHighwayDistance,\n RealtyMetroDistance,\n RealtyType,\n ExternalLink,\n PriceHistory,\n Highway,\n MetroStation,\n CottageComplex,\n} from '../../../types';\n\ntype RealtyMeta = {\n createdAt: string;\n isPresentationReady: boolean;\n};\n\ntype SuccessData = {\n data: Array<Realty & { meta: RealtyMeta }>;\n included?: Array<\n | Address\n | AddressBTIParams\n | Complex\n | ComplexHousing\n | ExternalLink\n | Image\n | RealtyHouseHighwayDistance\n | RealtyImage\n | RealtyMetroDistance\n | PriceHistory\n | Highway\n | MetroStation\n | CottageComplex\n >;\n meta: { page: { offset: number; count: number; total: number } };\n errors: never;\n};\ntype ErrorData = {\n data: never;\n included: never;\n meta: never;\n errors: Array<{ source?: { parameter: string }; detail: string; description?: string }>;\n};\n\ntype ResultData = {\n ids: string[];\n byId: Record<string, Realty & { meta: RealtyMeta }>;\n meta: SuccessData['meta'];\n included?: SuccessData['included'];\n};\ntype ResultError = ErrorData['errors'];\n\nexport type FindRealtiesInclude =\n | 'address'\n | 'address.bti'\n | 'complex'\n | 'complexHousing'\n | 'metroDistance.metroStation'\n | 'address.metroDistance.metroStation'\n | 'highwayDistance.highway'\n | 'realtyImage.image'\n | 'externalLink'\n | 'priceHistory'\n | 'cottageComplex';\n\ntype NumberRange = { from?: number; to?: number };\ntype IdType = number | number[] | string | string[];\n\nexport type FindRealtiesParams = {\n include?: Array<FindRealtiesInclude> | string;\n filter?: {\n id?: IdType;\n realtyType?: RealtyType | 'flat';\n district?: string;\n cityArea?: string;\n isHomeapp?: boolean;\n isSold?: boolean;\n 'address.fullAddress'?: string;\n 'address.id'?: IdType;\n roomCount?: number | number[];\n floor?: number | NumberRange;\n floorCount?: NumberRange;\n price?: NumberRange;\n area?: NumberRange;\n coordinates?: {\n topLeft: { lat: number; lng: number };\n bottomRight: { lat: number; lng: number };\n };\n updatedAt?: string;\n createdAt?: string;\n activeOrSoldAt?: { from?: string; to?: string };\n hasPinnedImage?: boolean;\n hasFreeLayout?: boolean;\n isMergesOrHasServiceRequestExtId?: boolean;\n };\n page?: { offset?: number; limit?: number };\n};\nexport type FindRealtiesOptions = {\n paramsSerializer?: { arrayFormat?: 'comma' | 'brackets'; skipNulls?: boolean };\n};\nexport type FindRealtiesHeaders = { 'x-auth-hc'?: string };\nexport type FindRealtiesData = AxiosResponse<ResultData>;\nexport type FindRealtiesError = AxiosError<ResultError>;\nexport type FindRealtiesConfig = {\n baseURL?: string;\n params?: FindRealtiesParams;\n headers?: FindRealtiesHeaders;\n options?: FindRealtiesOptions;\n};\n\nexport function findRealtiesRequest({\n baseURL = 'https://clients.homeapp.ru',\n params,\n headers,\n options,\n}: FindRealtiesConfig) {\n const { paramsSerializer } = options ?? {};\n\n if (paramsSerializer?.arrayFormat === 'brackets' && Array.isArray(params?.include)) {\n throw new Error(\n 'Для работы с опцией `arrayFormat = \"brackets\", нужно указывать `include` в виде строки! (пример: include=\\'address.bti,externalLink\\')`'\n );\n }\n\n return axios\n .get('/api/v2/realty', {\n baseURL,\n params,\n paramsSerializer: params =>\n qs.stringify(params, {\n arrayFormat: paramsSerializer?.arrayFormat || 'comma',\n skipNulls: paramsSerializer?.skipNulls ?? true,\n }),\n headers: { Accept: 'application/vnd.api+json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.errors) return data.errors;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, included: data.included, meta: data.meta };\n },\n ],\n })\n .then((res: FindRealtiesData) => res)\n .catch((err: FindRealtiesError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { RealtyHouseHighwayDistance } from '../../../types';\n\ntype SuccessData = { data: RealtyHouseHighwayDistance; errors: never };\ntype ErrorData = {\n data: never;\n errors: Array<{ source?: { parameter: string }; detail: string; description?: string }>;\n};\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['errors'];\n\nexport type UpdateRealtyHouseHighwayDistanceHeaders = { 'x-auth-hc': string };\nexport type UpdateRealtyHouseHighwayDistanceUrlParams = { id: string };\nexport type UpdateRealtyHouseHighwayDistanceBody = { data: RealtyHouseHighwayDistance };\nexport type UpdateRealtyHouseHighwayDistanceData = AxiosResponse<ResultData>;\nexport type UpdateRealtyHouseHighwayDistanceError = AxiosError<ResultError>;\nexport type UpdateRealtyHouseHighwayDistanceConfig = {\n baseURL?: string;\n urlParams: UpdateRealtyHouseHighwayDistanceUrlParams;\n body: UpdateRealtyHouseHighwayDistanceBody;\n headers: UpdateRealtyHouseHighwayDistanceHeaders;\n};\n\nexport function updateRealtyHouseHighwayDistanceRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateRealtyHouseHighwayDistanceConfig) {\n return axios\n .patch(`/api/v2/house-highway-distance/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/vnd.api+json', 'Content-Type': 'application/vnd.api+json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.errors ? data.errors : data.data),\n ],\n })\n .then((res: UpdateRealtyHouseHighwayDistanceData) => res)\n .catch((err: UpdateRealtyHouseHighwayDistanceError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { RealtyImage } from '../../../types';\n\ntype SuccessData = { data: RealtyImage; errors: never };\ntype ErrorData = {\n data: never;\n errors: Array<{ source?: { parameter: string }; detail: string; description?: string }>;\n};\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['errors'];\n\nexport type UpdateRealtyImageHeaders = { 'x-auth-hc': string };\nexport type UpdateRealtyImageUrlParams = { id: string };\nexport type UpdateRealtyImageBody = {\n data: {\n id: RealtyImage['id'];\n type: RealtyImage['type'];\n attributes: Omit<RealtyImage['attributes'], 'isPinned'>;\n };\n};\nexport type UpdateRealtyImageData = AxiosResponse<ResultData>;\nexport type UpdateRealtyImageError = AxiosError<ResultError>;\nexport type UpdateRealtyImageConfig = {\n baseURL?: string;\n urlParams: UpdateRealtyImageUrlParams;\n body: UpdateRealtyImageBody;\n headers: UpdateRealtyImageHeaders;\n};\n\nexport function updateRealtyImageRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateRealtyImageConfig) {\n return axios\n .patch(`/api/v2/realty-image/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/vnd.api+json', 'Content-Type': 'application/vnd.api+json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.errors ? data.errors : data.data),\n ],\n })\n .then((res: UpdateRealtyImageData) => res)\n .catch((err: UpdateRealtyImageError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { RealtyMetroDistance } from '../../../types';\n\ntype SuccessData = { data: RealtyMetroDistance; errors: never };\ntype ErrorData = {\n data: never;\n errors: Array<{ source?: { parameter: string }; detail: string; description?: string }>;\n};\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['errors'];\n\nexport type UpdateRealtyMetroDistanceHeaders = { 'x-auth-hc': string };\nexport type UpdateRealtyMetroDistanceUrlParams = { id: string };\nexport type UpdateRealtyMetroDistanceBody = { data: RealtyMetroDistance };\nexport type UpdateRealtyMetroDistanceData = AxiosResponse<ResultData>;\nexport type UpdateRealtyMetroDistanceError = AxiosError<ResultError>;\nexport type UpdateRealtyMetroDistanceConfig = {\n baseURL?: string;\n urlParams: UpdateRealtyMetroDistanceUrlParams;\n body: UpdateRealtyMetroDistanceBody;\n headers: UpdateRealtyMetroDistanceHeaders;\n};\n\nexport function updateRealtyMetroDistanceRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateRealtyMetroDistanceConfig) {\n return axios\n .patch(`/api/v2/realty-metro-distance/${urlParams.id}`, body, {\n baseURL,\n headers: { Accept: 'application/vnd.api+json', 'Content-Type': 'application/vnd.api+json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.errors ? data.errors : data.data),\n ],\n })\n .then((res: UpdateRealtyMetroDistanceData) => res)\n .catch((err: UpdateRealtyMetroDistanceError) => {\n throw err;\n });\n}\n","export enum AddressBTIParamsWallsMaterial {\n Brick = 'brick',\n Monolith = 'monolith',\n Monobrick = 'monobrick',\n Timber = 'timber',\n Panel = 'panel',\n Block = 'block',\n}\n\nexport enum AddressBTIParamsHeatingType {\n None = 'none',\n Central = 'central',\n Local = 'local',\n Gas = 'gas',\n Electricity = 'electricity',\n Liquid = 'liquid',\n}\n\nexport type AddressBTIParams = {\n id: string;\n type: 'addressBti';\n attributes: {\n buildYear?: number;\n cargoLifts?: number;\n heatingType?: AddressBTIParamsHeatingType;\n passengerLifts?: number;\n series?: string;\n wallsMaterial?: AddressBTIParamsWallsMaterial;\n };\n relationships: {\n address: {\n data: { id: string; type: 'address' };\n };\n };\n};\n","export enum AddressMetroDistanceMethod {\n Car = 'car',\n Foot = 'foot',\n}\n\nexport type AddressMetroDistance = {\n id: string;\n type: 'addressMetroDistance';\n attributes: {\n distance: number;\n method: AddressMetroDistanceMethod;\n time: number;\n };\n relationships: {\n metroStation: {\n data: { id: string; type: 'metroStation' };\n };\n realty: {\n data: { id: string; type: 'realty' };\n };\n };\n};\n","export enum RealtyType {\n FlatSecondary = 'flat_secondary',\n FlatNew = 'flat_new',\n House = 'house',\n}\n\nexport enum RealtyDealType {\n Free = 'free',\n Alternative = 'alternative',\n}\n\nexport enum RealtyDealTypeFlatNew {\n Reassignment = 'reassignment',\n DKP = 'DKP',\n DDU = 'DDU',\n PreSaleContract = 'pre_sale_contract',\n}\n\nexport enum RealtyRenovationType {\n None = 'none',\n Author = 'author',\n Cosmetic = 'cosmetic',\n Euro = 'euro',\n}\n\nexport enum RealtyRenovationTypeFlatNew {\n None = 'none',\n FineFinishing = 'fine_finishing',\n RoughFinishing = 'rough_finishing',\n}\n\nexport enum RealtyFlatKind {\n Typical = 'typical',\n Penthouse = 'penthouse',\n TwoTier = 'two_tier',\n}\n\nexport enum RealtyParkingType {\n Open = 'open',\n Underground = 'underground',\n Ground = 'ground',\n Multilevel = 'multilevel',\n Roof = 'roof',\n}\n\nexport enum RealtyFlatType {\n Flat = 'flat',\n Apartment = 'apartment',\n}\n\nexport enum RealtyWindowView {\n Street = 'street',\n Yard = 'yard',\n Both = 'both',\n}\n\nexport enum RealtyDDUOwnerType {\n Physical = 'physical',\n}\n\nexport enum RealtyElectricity {\n None = 'none',\n Connected = 'connected',\n Possible = 'possible',\n Autonomous = 'autonomous',\n}\n\nexport enum RealtyGas {\n None = 'none',\n Connected = 'connected',\n Border = 'border',\n Possible = 'possible',\n Autonomous = 'autonomous',\n}\n\nexport enum RealtyHeating {\n None = 'none',\n Central = 'central',\n Local = 'local',\n Gas = 'gas',\n Electricity = 'electricity',\n Liquid = 'liquid',\n Furnace = 'furnace',\n SolidFuelBoiler = 'solidFuelBoiler',\n}\n\nexport enum RealtyLandUsageType {\n IGS = 'igs',\n LPH = 'lph',\n DNP = 'dnp',\n SNT = 'snt',\n Farm = 'farm',\n Garden = 'garden',\n Investproject = 'investproject',\n}\n\nexport enum RealtyLandPurpose {\n Settlements = 'settlements',\n Agricultural = 'agricultural',\n Industrial = 'industrial',\n Forests = 'forests',\n Aqua = 'aqua',\n Reservations = 'reservations',\n Guarded = 'guarded',\n}\n\nexport enum RealtyLandShape {\n Regular = 'regular',\n Irregular = 'irregular',\n}\n\nexport enum RealtyRelief {\n Flat = 'flat',\n Elevations = 'elevations',\n Slope = 'slope',\n Hills = 'hills',\n}\n\nexport enum RealtyPlumbing {\n None = 'none',\n Central = 'central',\n Hole = 'hole',\n Well = 'well',\n Border = 'border',\n}\n\nexport enum RealtySewerage {\n None = 'none',\n Cesspool = 'cesspool',\n Septic = 'septic',\n Bio = 'bio',\n Central = 'central',\n}\n\nexport enum RealtyHouseType {\n Townhouse = 'townhouse',\n House = 'house',\n Cottage = 'cottage',\n Part = 'part',\n Duplex = 'duplex',\n}\n\nexport enum RealtyWallsMaterial {\n Brick = 'brick',\n Timber = 'timber',\n Wood = 'wood',\n AeratedConcrete = 'aerated_concrete',\n ReinforcedConcrete = 'reinforced_concrete',\n FrameMetal = 'frame_metal',\n FrameWood = 'frame_wood',\n FoamBlock = 'foam_block',\n SandwichPanels = 'sandwich_panels',\n Shield = 'shield',\n Monolith = 'monolith',\n}\n\nexport enum RealtyFurniture {\n None = 'none',\n Full = 'full',\n Part = 'part',\n}\n\nexport enum RealtyToiletKind {\n Shared = 'shared',\n Separated = 'separated',\n}\n\nexport enum RealtyAdditionalPriceCurrency {\n Eur = 'EUR',\n Usd = 'USD',\n}\n\nexport type Realty = {\n id: string;\n type: 'realty';\n attributes: RealtyAttributesFlatSecondary | RealtyAttributesFlatNew | RealtyAttributesHouse;\n relationships: RealtyRelationshipsFlatSecondary | RealtyRelationshipsFlatNew | RealtyRelationshipsHouse;\n};\n\nexport type RealtyAttributesFlatSecondary = {\n area: number;\n price: number;\n realtyType: RealtyType.FlatSecondary;\n roomCount: number;\n\n additionalPrice?: number;\n additionalPriceCurrency?: RealtyAdditionalPriceCurrency;\n balconyCount?: number;\n cadastralNumber?: string;\n ceilingHeight?: number;\n dealType?: RealtyDealType;\n description?: string;\n documents?: string;\n firstPublishedAt?: string;\n flatKind?: RealtyFlatKind;\n flatNumber?: number;\n flatType?: RealtyFlatType;\n floor?: number;\n floorCount?: number;\n hasChangedLayout?: boolean;\n hasConcierge?: boolean;\n hasFreeLayout?: boolean;\n hasGarbageChute?: boolean;\n hasGuardedParking?: boolean;\n hasInstalment?: boolean;\n hasInternet?: boolean;\n hasMortgage?: boolean;\n hasOnlineShowing?: boolean;\n hasPrivateYard?: boolean;\n hasRamp?: boolean;\n infrastructure?: string;\n isGuarded?: boolean;\n isSberDiscountRequested?: boolean;\n kitchenArea?: number;\n livingArea?: number;\n loggiaCount?: number;\n parkingType?: RealtyParkingType;\n renovationType?: RealtyRenovationType;\n rooms?: Array<number>;\n soldAt?: string;\n title?: string;\n toilets?: Array<{ kind: RealtyToiletKind; isInside?: boolean }>;\n videoUrl?: string;\n windowView?: RealtyWindowView;\n};\n\n// для complex и complexHousing data? тк они могут приходить как пустой объект\nexport type RealtyRelationshipsFlatSecondary = {\n address: { data: { id: string; type: 'address' } };\n complex?: { data?: { id: string; type: 'complex' } };\n complexHousing?: { data?: { id: string; type: 'complexHousing' } };\n externalLink?: { data: { id: string; type: 'externalLink' } };\n metroDistance?: { data: Array<{ id: string; type: 'realtyMetroDistance' }> };\n realtyImage?: { data: Array<{ id: string; type: 'realtyImage' }> };\n priceHistory?: { data: Array<{ id: string; type: 'priceHistory' }> };\n};\n\nexport type RealtyAttributesFlatNew = {\n area: number;\n price: number;\n realtyType: RealtyType.FlatNew;\n roomCount: number;\n\n additionalPrice?: number;\n additionalPriceCurrency?: RealtyAdditionalPriceCurrency;\n balconyCount?: number;\n cadastralNumber?: string;\n ceilingHeight?: number;\n dduOwner?: {\n kind: RealtyDDUOwnerType;\n inn?: string;\n firstName?: string;\n lastName?: string;\n middleName?: string;\n };\n rosreestrRegistrationNumber?: string;\n dealType?: RealtyDealTypeFlatNew;\n description?: string;\n documents?: string;\n firstPublishedAt: string;\n flatKind?: RealtyFlatKind;\n flatNumber?: number;\n flatType?: RealtyFlatType;\n floor?: number;\n floorCount?: number;\n hasChangedLayout?: boolean;\n hasConcierge?: boolean;\n hasFreeLayout?: boolean;\n hasGarbageChute?: boolean;\n hasGuardedParking?: boolean;\n hasInstalment?: boolean;\n hasInternet?: boolean;\n hasMortgage?: boolean;\n hasOnlineShowing?: boolean;\n hasPrivateYard?: boolean;\n hasRamp?: boolean;\n infrastructure?: string;\n isGuarded?: boolean;\n isSberDiscountRequested?: boolean;\n kitchenArea?: number;\n livingArea?: number;\n loggiaCount?: number;\n parkingType?: RealtyParkingType;\n renovationType?: RealtyRenovationTypeFlatNew;\n rooms?: Array<number>;\n soldAt?: string;\n title?: string;\n toilets?: Array<{ kind: RealtyToiletKind; isInside?: boolean }>;\n videoUrl?: string;\n windowView?: RealtyWindowView;\n deliveryQuarter?: number;\n deliveryYear?: number;\n isDelivered?: boolean;\n};\n\nexport type RealtyRelationshipsFlatNew = RealtyRelationshipsFlatSecondary;\n\nexport type RealtyAttributesHouse = {\n area: number;\n price: number;\n realtyType: RealtyType.House;\n roomCount: number;\n\n additionalPrice?: number;\n additionalPriceCurrency?: RealtyAdditionalPriceCurrency;\n bedroomCount?: number;\n burden?: boolean;\n cadastralNumber?: string;\n ceilingHeight?: number;\n cityDistance?: number;\n dealType?: RealtyDealType;\n description?: string;\n documents?: string;\n electricity?: RealtyElectricity;\n firstPublishedAt: string;\n floor?: never;\n floorCount?: number;\n furniture?: RealtyFurniture;\n gas?: RealtyGas;\n hasBathhouse?: boolean;\n hasGarage?: boolean;\n hasInstalment?: boolean;\n hasInternet?: boolean;\n hasMortgage?: boolean;\n hasOnlineShowing?: boolean;\n hasPool?: boolean;\n hasSauna?: boolean;\n heating?: RealtyHeating;\n houseType?: RealtyHouseType;\n infrastructure?: string;\n isGuarded?: boolean;\n isResidence?: boolean;\n isSberDiscountRequested?: boolean;\n kitchenArea?: number;\n landArea?: number;\n landCadastralNumber?: string;\n landPurpose?: RealtyLandPurpose;\n landShape?: RealtyLandShape;\n landUsageType?: RealtyLandUsageType;\n livingArea?: number;\n plumbing?: RealtyPlumbing;\n relief?: RealtyRelief;\n renovationType?: RealtyRenovationType;\n rooms?: Array<number>;\n sewerage?: RealtySewerage;\n shareSize?: number;\n soldAt?: string;\n title?: string;\n toilets?: Array<{ kind: RealtyToiletKind; isInside?: boolean }>;\n videoUrl?: string;\n wallsMaterial?: RealtyWallsMaterial;\n};\n\n// для cottageComplex data? тк он может приходить как пустой объект\nexport type RealtyRelationshipsHouse = {\n address: { data: { id: string; type: 'address' } };\n externalLink?: { data: { id: string; type: 'externalLink' } };\n highwayDistance?: { data: Array<{ id: string; type: 'houseHighwayDistance' }> };\n metroDistance?: { data: Array<{ id: string; type: 'realtyMetroDistance' }> };\n realtyImage?: { data: Array<{ id: string; type: 'realtyImage' }> };\n priceHistory?: { data: Array<{ id: string; type: 'priceHistory' }> };\n cottageComplex?: { data?: { id: string; type: 'cottageComplex' } };\n};\n","export enum RealtyImageGroup {\n Photo = 'photo',\n Plan = 'plan',\n}\n\nexport type RealtyImage = {\n id: string;\n type: 'realtyImage';\n attributes: {\n group: RealtyImageGroup;\n isPinned: boolean;\n title?: string;\n };\n relationships: {\n image: {\n data: { id: string; type: 'image' };\n };\n imageOriginal: {\n data: { id: string; type: 'image' };\n };\n realty: {\n data: { id: string; type: 'realty' };\n };\n };\n};\n","export enum RealtyMetroDistanceMethod {\n Car = 'car',\n Foot = 'foot',\n}\n\nexport type RealtyMetroDistance = {\n id: string;\n type: 'realtyMetroDistance';\n attributes: {\n distance: number;\n method: RealtyMetroDistanceMethod;\n time: number;\n };\n relationships: {\n metroStation: {\n data: { id: string; type: 'metroStation' };\n };\n realty?: {\n data: { id: string; type: 'realty' };\n };\n };\n};\n","import * as api from './api';\nimport { FindRealtiesOptions } from './api';\n\nexport class Api {\n constructor(private baseURL: Promise<string | undefined> | string | undefined) {}\n\n // address\n\n createAddress = async (body: api.CreateAddressBody, headers: api.CreateAddressHeaders) => {\n return api.createAddressRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n // addressBti\n\n createAddressBti = async (body: api.CreateAddressBtiBody, headers: api.CreateAddressBtiHeaders) => {\n return api.createAddressBtiRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n findAddressBtiById = async (urlParams: api.FindAddressBtiByIdUrlParams) => {\n return api.findAddressBtiByIdRequest({ urlParams, baseURL: await this.baseURL });\n };\n\n updateAddressBti = async (\n urlParams: api.UpdateAddressBtiUrlParams,\n body: api.UpdateAddressBtiBody,\n headers: api.UpdateAddressBtiHeaders\n ) => {\n return api.updateAddressBtiRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n // complex\n\n findComplexById = async (\n urlParams: api.FindComplexByIdUrlParams,\n params: api.FindComplexByIdParams,\n headers?: api.FindComplexByIdHeaders\n ) => {\n return api.findComplexByIdRequest({ urlParams, params, headers, baseURL: await this.baseURL });\n };\n\n findComplexes = async (params: api.FindComplexesParams, headers?: api.FindComplexesHeaders) => {\n return api.findComplexesRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findComplexHousingByComplexId = async (\n urlParams: api.FindComplexHousingByComplexIdUrlParams,\n params: api.FindComplexHousingByComplexIdParams,\n headers?: api.FindComplexHousingByComplexIdHeaders\n ) => {\n return api.findComplexHousingByComplexIdRequest({ urlParams, params, headers, baseURL: await this.baseURL });\n };\n\n // cottageComplex\n\n findCottageComplexes = async (params: api.FindCottageComplexesParams, headers?: api.FindCottageComplexesHeaders) => {\n return api.findCottageComplexesRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n // highway\n\n findHighways = async () => {\n return api.findHighwaysRequest({ baseURL: await this.baseURL });\n };\n\n // metroStation\n\n findMetroStations = async () => {\n return api.findMetroStationsRequest({ baseURL: await this.baseURL });\n };\n\n // realty\n\n createRealty = async (body: api.CreateRealtyBody, headers: api.CreateRealtyHeaders) => {\n return api.createRealtyRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n createRealtyHouseHighwayDistance = async (\n body: api.CreateRealtyHouseHighwayDistanceBody,\n headers: api.CreateRealtyHouseHighwayDistanceHeaders\n ) => {\n return api.createRealtyHouseHighwayDistanceRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n createRealtyImage = async (body: api.CreateRealtyImageBody, headers: api.CreateRealtyImageHeaders) => {\n return api.createRealtyImageRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n createRealtyMetroDistance = async (\n body: api.CreateRealtyMetroDistanceBody,\n headers: api.CreateRealtyMetroDistanceHeaders\n ) => {\n return api.createRealtyMetroDistanceRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n deleteRealtyImage = async (urlParams: api.DeleteRealtyImageUrlParams, headers: api.DeleteRealtyImageHeaders) => {\n return api.deleteRealtyImageRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findRealties = async (\n params: api.FindRealtiesParams,\n headers?: api.FindRealtiesHeaders,\n options?: FindRealtiesOptions\n ) => {\n return api.findRealtiesRequest({ params, headers, options, baseURL: await this.baseURL });\n };\n\n findRealtyById = async (\n urlParams: api.FindRealtyByIdUrlParams,\n params: api.FindRealtyByIdParams,\n headers?: api.FindRealtyByIdHeaders\n ) => {\n return api.findRealtyByIdRequest({ urlParams, params, headers, baseURL: await this.baseURL });\n };\n\n updateRealty = async (\n urlParams: api.UpdateRealtyUrlParams,\n body: api.UpdateRealtyBody,\n headers: api.UpdateRealtyHeaders\n ) => {\n return api.updateRealtyRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n updateRealtyHouseHighwayDistance = async (\n urlParams: api.UpdateRealtyHouseHighwayDistanceUrlParams,\n body: api.UpdateRealtyHouseHighwayDistanceBody,\n headers: api.UpdateRealtyHouseHighwayDistanceHeaders\n ) => {\n return api.updateRealtyHouseHighwayDistanceRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n updateRealtyImage = async (\n urlParams: api.UpdateRealtyImageUrlParams,\n body: api.UpdateRealtyImageBody,\n headers: api.UpdateRealtyImageHeaders\n ) => {\n return api.updateRealtyImageRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n updateRealtyMetroDistance = async (\n urlParams: api.UpdateRealtyMetroDistanceUrlParams,\n body: api.UpdateRealtyMetroDistanceBody,\n headers: api.UpdateRealtyMetroDistanceHeaders\n ) => {\n return api.updateRealtyMetroDistanceRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n}\n\nexport * from './api';\nexport * from './dictionaries';\nexport * from './types';\n","import { AddressBTIParamsWallsMaterial, AddressBTIParamsHeatingType } from '../types';\n\nexport const AddressBTIParamsDictionary = {\n WallsMaterial: {\n [AddressBTIParamsWallsMaterial.Brick]: 'Кирпичный',\n [AddressBTIParamsWallsMaterial.Monolith]: 'Монолитный',\n [AddressBTIParamsWallsMaterial.Monobrick]: 'Монолитно-кирпичный',\n [AddressBTIParamsWallsMaterial.Timber]: 'Деревянный',\n [AddressBTIParamsWallsMaterial.Panel]: 'Панельный',\n [AddressBTIParamsWallsMaterial.Block]: 'Блочный',\n },\n HeatingType: {\n [AddressBTIParamsHeatingType.None]: 'Нет',\n [AddressBTIParamsHeatingType.Central]: 'Центральное',\n [AddressBTIParamsHeatingType.Local]: 'Отдельное',\n [AddressBTIParamsHeatingType.Gas]: 'Газовое',\n [AddressBTIParamsHeatingType.Electricity]: 'Электрическое',\n [AddressBTIParamsHeatingType.Liquid]: 'Жидкое топливо',\n },\n Series: {\n 1: '02/П-2009',\n 2: '03/П-2008',\n 3: '06-009-12',\n 4: '07-1766-АР-1',\n 5: '10-03-74',\n 6: '10 а',\n 7: '11-03',\n 8: '111',\n 9: '111-121',\n 10: '1-115',\n 11: '111-90',\n 12: '111м',\n 13: '111-М',\n 14: '111М',\n 15: '11-49д',\n 16: '11-68',\n 17: '11-68-01',\n 18: '1-18',\n 19: '1-447',\n 20: '1-447С-5П',\n 21: '1-464',\n 22: '1-464А',\n 23: '1-510',\n 24: '15 104/м6',\n 25: '1-511',\n 26: '1-511-1',\n 27: '1-511/кирпичный',\n 28: '1-513',\n 29: '1-515',\n 30: '1-515-4',\n 31: '1-515-4/М38',\n 32: '1-515-4/М 38',\n 33: '1-515/5',\n 34: '1-515/9',\n 35: '1-515/9М',\n 36: '1-515/9ш',\n 37: '1-515/9Ш',\n 38: '1-515/9ЮЛ',\n 39: '1605',\n 40: '1605/12',\n 41: '1605/5',\n 42: '1605/9',\n 43: '1605-АМ',\n 44: '1605-АМ-04/12Ю',\n 45: '1605-АМ/1',\n 46: '1605-АМ/12',\n 47: '1605 АМ/12-Ю',\n 48: '1605-АМ/5',\n 49: '1605-АМ/9',\n 50: '1605-АН',\n 51: '1605-М',\n 52: '1МГ-601',\n 53: '1МГ-601-441',\n 54: '1МГ-601Д',\n 55: '1МГ-601Ж',\n 56: '2-18-02/12',\n 57: '222',\n 58: '249',\n 59: '2-49',\n 60: '2,65',\n 61: '2-68-01',\n 62: '2.7',\n 63: '2,75',\n 64: '30',\n 65: '3.1',\n 66: '314847',\n 67: '349ПДШ',\n 68: '39-11957',\n 69: '39-12078',\n 70: '3ПМ',\n 71: '4.2',\n 72: '430/03-1-AP',\n 73: '4-85-1012',\n 74: '4-90-2524',\n 75: '66',\n 76: '90.1.М',\n 77: '97 улучшенная',\n 78: 'B-155C',\n 79: 'H-209А',\n 80: 'I-209A',\n 81: 'I-335',\n 82: 'I-447',\n 83: 'I-447-26',\n 84: 'I-49Д',\n 85: 'I-510',\n 86: 'I-511',\n 87: 'I-511/5',\n 88: 'I 515',\n 89: 'I-515',\n 90: 'I-515-04/9юл',\n 91: 'I-515-5',\n 92: 'I-515/5',\n 93: 'I-515/9',\n 94: 'I-515/9М',\n 95: 'I-515/9ш',\n 96: 'I-601МГ',\n 97: 'I-605-04/12',\n 98: 'I605-AM',\n 99: 'I605-АМ',\n 100: 'II-01',\n 101: 'II-01/12',\n 102: 'II-03',\n 103: 'II-04',\n 104: 'II-05',\n 105: 'II-08',\n 106: 'II-14',\n 107: 'II-1777',\n 108: 'II-18',\n 109: 'II-18-01',\n 110: 'II-18-01/08б',\n 111: 'II-18-01/08Б,II-18-01/09Б',\n 112: 'II-18-01/09',\n 113: 'II-18-01/09Б',\n 114: 'II-18-01/12',\n 115: 'II-18/01/12',\n 116: 'II-18-01/12А',\n 117: 'II-18-01/9',\n 118: 'II-18-01-МН',\n 119: 'II-18/01-МН',\n 120: 'II-18-02/1',\n 121: 'II-18-02/12',\n 122: 'II-18/09МИК',\n 123: 'II-18/12',\n 124: 'II-18/12 Б',\n 125: 'II-18/22',\n 126: 'II-18-31',\n 127: 'II-18-31/12А',\n 128: 'II-18-9',\n 129: 'II-19Д',\n 130: 'II-20',\n 131: 'II-26',\n 132: 'II-28',\n 133: 'II-29',\n 134: 'II-29-41/37',\n 135: 'II-32',\n 136: 'II-323',\n 137: 'II-42 0 8/10',\n 138: 'II-46Д',\n 139: 'II-49',\n 140: 'II-49-06/9',\n 141: 'II-49-1010',\n 142: 'II-49Д',\n 143: 'II-49П',\n 144: 'II-57',\n 145: 'II-57-05',\n 146: 'II-57-05-Ю',\n 147: 'II-67',\n 148: 'II-67 Тишинская',\n 149: 'II-68',\n 150: 'II-68-01',\n 151: 'II-68-01/12-83',\n 152: 'II-68-01/14-83',\n 153: 'II-68-01/16',\n 154: 'II-68-01/16-10',\n 155: 'II-68-01/16Ю',\n 156: 'II-68-02',\n 157: 'II-68-02/12M',\n 158: 'II-68-02/12К',\n 159: 'II-68-02/16М',\n 160: 'II-68-03',\n 161: 'II-68/03',\n 162: 'II-68-03/12-10',\n 163: 'II-68-03/12Ю-2/76',\n 164: 'II-68/16',\n 165: 'II-80',\n 166: 'II-д',\n 167: 'Айсберг',\n 168: 'АМ-1605',\n 169: 'Атриум',\n 170: 'Башня',\n 171: 'Башня Вулыха',\n 172: 'Башня Копэ',\n 173: 'Бекертон',\n 174: 'БС',\n 175: 'БС-39',\n 176: 'Г',\n 177: 'ГМС',\n 178: 'ГМС-1 (ГМС-2001)',\n 179: 'ГОС',\n 180: 'Град',\n 181: 'ГРАД',\n 182: 'ГРАД-1М',\n 183: 'Град-2М',\n 184: 'ГСМ-1',\n 185: 'Д-23',\n 186: 'д25',\n 187: 'Д-25',\n 188: 'Д-25Н1',\n 189: 'Д-8',\n 190: 'Доммос',\n 191: 'ДомРик',\n 192: 'Другой',\n 193: 'Евро-Па',\n 194: 'И-111',\n 195: 'И-1414',\n 196: 'И-155',\n 197: 'И-155-Б',\n 198: 'И-155Б2',\n 199: 'И-155МК',\n 200: 'И-155ММ',\n 201: 'И-155Н',\n 202: 'И-155-С',\n 203: 'И-1723',\n 204: 'И-18-01/12',\n 205: 'И-209',\n 206: 'И-209/12',\n 207: 'И-209А',\n 208: 'И-2446',\n 209: 'И-286',\n 210: 'И-30',\n 211: 'И-491А',\n 212: 'И-510',\n 213: 'И-515',\n 214: 'И-515-5м',\n 215: 'И-515/9М',\n 216: 'И-522',\n 217: 'И-522А',\n 218: 'И-62',\n 219: 'И-68',\n 220: 'И-700',\n 221: 'И-700А',\n 222: 'И-700Н',\n 223: 'И-701',\n 224: 'И-79-99',\n 225: 'И-III-3',\n 226: 'ИП-46',\n 227: 'ИП-46М',\n 228: 'ИП-46-С',\n 229: 'ИС',\n 230: 'К-4/16',\n 231: 'К-44-т',\n 232: 'К-7',\n 233: 'К-7/16',\n 234: 'КМС-101',\n 235: 'Колос',\n 236: 'Комфотр-класс',\n 237: 'КОПЭ-Башня М',\n 238: 'КОПЭ',\n 239: 'КОПЭ-22',\n 240: 'КОПЭ-80',\n 241: 'КОПЭ-85',\n 242: 'КОПЭ-Башня',\n 243: 'КОПЭ-М',\n 244: 'КОПЭ-М Парус',\n 245: 'КОПЭ-Парус',\n 246: 'Корабль К-8/16',\n 247: 'КОЭП',\n 248: 'КП',\n 249: 'КПД-4570',\n 250: 'КП «Парус»',\n 251: 'Крост',\n 252: 'КСМ-101',\n 253: 'КТЖС',\n 254: 'КТЖС-5',\n 255: 'КУБ',\n 256: 'КУБ-2,5',\n 257: 'Лайм',\n 258: 'Лебедь',\n 259: 'литера А',\n 260: 'М111',\n 261: 'М-464',\n 262: 'Мг-60',\n 263: 'МГ-601',\n 264: 'МЖУ',\n 265: 'МК',\n 266: 'МК-55',\n 267: 'Мо-16/3В-451243',\n 268: 'МЭС-85',\n 269: 'НАД (ДСК-1)',\n 270: 'П-044',\n 271: 'П-111',\n 272: 'П-111/4',\n 273: 'П-111-М',\n 274: 'П-1144',\n 275: 'П-14',\n 276: 'П-155',\n 277: 'П-18',\n 278: 'П-18/12',\n 279: 'П-22',\n 280: 'П-22К',\n 281: 'П-29',\n 282: 'П-29Б',\n 283: 'П-3',\n 284: 'П-30',\n 285: 'П-30-3/12',\n 286: 'П-31',\n 287: 'П-3/16',\n 288: 'П-3/17',\n 289: 'П-32',\n 290: 'П-3/22',\n 291: 'П-34',\n 292: 'П-3М',\n 293: 'П-3МК',\n 294: 'П-3МК «Флагман»',\n 295: 'П-4',\n 296: 'П4/16',\n 297: 'П-42',\n 298: 'П-43',\n 299: 'П 43/16',\n 300: 'П-44',\n 301: 'П-44/16',\n 302: 'п-44Д',\n 303: 'П-44 (ДСК-1)',\n 304: 'П-44-К',\n 305: 'П-44-К-1/17',\n 306: 'П-44М',\n 307: 'П-44М25',\n 308: 'П-44С',\n 309: 'П-44Т',\n 310: 'П-44Т-1',\n 311: 'П-44Т-1/17Н1',\n 312: 'П-44Т-1/25Н1',\n 313: 'П-44Т-25',\n 314: 'П-44Т-6ТМ',\n 315: 'П-44Т/К',\n 316: 'П-44ТМ',\n 317: 'П-44ТМ/25',\n 318: 'П-44ТМ/25 (ТМ-25)',\n 319: 'П-44ТУ',\n 320: 'П—46',\n 321: 'П-46/12',\n 322: 'П-46А',\n 323: 'П-46Д',\n 324: 'П-46М',\n 325: 'П-46Т',\n 326: 'П-47',\n 327: 'П-49',\n 328: 'п-49-04/ю',\n 329: 'П-49Д',\n 330: 'п-49м',\n 331: 'П-55',\n 332: 'П-55-2/12',\n 333: 'П-55М',\n 334: 'П-56м',\n 335: 'П-57',\n 336: 'П-67',\n 337: 'П-68',\n 338: 'П-68/01',\n 339: 'П-68-01/10',\n 340: 'П-90',\n 341: 'ПД-1',\n 342: 'ПД-4',\n 343: 'ПД-4-1/16',\n 344: 'ПД-4/12',\n 345: 'ПД-44',\n 346: 'ПЗ-16',\n 347: 'ПЗ-17',\n 348: 'П-ЗМ',\n 349: 'ПЗМ-7/23Э',\n 350: 'Пик-1',\n 351: 'пк-44',\n 352: 'ПМ',\n 353: 'П-М111',\n 354: 'ПП-44Т',\n 355: 'Призма',\n 356: 'ПТ-44',\n 357: 'ПТ-44Т',\n 358: 'р-46',\n 359: 'РД-17',\n 360: 'РД-17.04',\n 361: 'РД-90',\n 362: 'С-222',\n 363: 'СМ-06',\n 364: 'Совмин',\n 365: 'Спецпроект',\n 366: 'Сталинский дом',\n 367: 'Т44п',\n 368: 'тип-441',\n 369: 'ТМ-25',\n 370: 'ЦК',\n 371: 'ЭГП-0,14',\n 372: 'ЭЖРЧС',\n 373: 'ЭП-П-07-24',\n 374: 'ЮВ-2012',\n 375: 'I-433',\n },\n};\n","import { AddressMetroDistanceMethod } from '../types';\n\nexport const AddressMetroDistanceDictionary = {\n Method: {\n [AddressMetroDistanceMethod.Car]: 'На машине',\n [AddressMetroDistanceMethod.Foot]: 'Пешком',\n },\n};\n","import {\n RealtyType,\n RealtyDealType,\n RealtyDealTypeFlatNew,\n RealtyRenovationType,\n RealtyRenovationTypeFlatNew,\n RealtyFlatKind,\n RealtyParkingType,\n RealtyFlatType,\n RealtyWindowView,\n RealtyDDUOwnerType,\n RealtyElectricity,\n RealtyGas,\n RealtyHeating,\n RealtyLandUsageType,\n RealtyLandPurpose,\n RealtyLandShape,\n RealtyRelief,\n RealtyPlumbing,\n RealtySewerage,\n RealtyHouseType,\n RealtyWallsMaterial,\n RealtyFurniture,\n RealtyAdditionalPriceCurrency,\n} from '../types';\n\nexport const RealtyDictionary = {\n Type: {\n [RealtyType.FlatSecondary]: 'Вторичка',\n [RealtyType.FlatNew]: 'Новостройка',\n [RealtyType.House]: 'Дом',\n },\n DealType: {\n [RealtyDealType.Free]: 'Свободная продажа',\n [RealtyDealType.Alternative]: 'Альтернатива',\n },\n DealTypeFlatNew: {\n [RealtyDealTypeFlatNew.Reassignment]: 'Договор уступки',\n [RealtyDealTypeFlatNew.DKP]: 'ДКП',\n [RealtyDealTypeFlatNew.DDU]: 'ДДУ',\n [RealtyDealTypeFlatNew.PreSaleContract]: 'Предварительный договор купли-продажи',\n },\n RenovationType: {\n [RealtyRenovationType.None]: 'Без ремонта',\n [RealtyRenovationType.Author]: 'Авторский',\n [RealtyRenovationType.Cosmetic]: 'Косметический',\n [RealtyRenovationType.Euro]: 'Евро',\n },\n RenovationTypeFlatNew: {\n [RealtyRenovationTypeFlatNew.None]: 'Без отделки',\n [RealtyRenovationTypeFlatNew.FineFinishing]: 'Чистовая отделка',\n [RealtyRenovationTypeFlatNew.RoughFinishing]: 'Черновая отделка',\n },\n FlatKind: {\n [RealtyFlatKind.Typical]: 'Типовое',\n [RealtyFlatKind.Penthouse]: 'Пентхаус',\n [RealtyFlatKind.TwoTier]: 'Двухуровневое',\n },\n ParkingType: {\n [RealtyParkingType.Open]: 'Открытая',\n [RealtyParkingType.Underground]: 'Подземная',\n [RealtyParkingType.Ground]: 'Наземная',\n [RealtyParkingType.Multilevel]: 'Многоуровневая',\n [RealtyParkingType.Roof]: 'На крыше',\n },\n FlatType: {\n [RealtyFlatType.Flat]: 'Квартира',\n [RealtyFlatType.Apartment]: 'Апартаменты',\n },\n WindowView: {\n [RealtyWindowView.Street]: 'На улицу',\n [RealtyWindowView.Yard]: 'Во двор',\n [RealtyWindowView.Both]: 'В обе стороны',\n },\n DDUOwnerType: {\n [RealtyDDUOwnerType.Physical]: 'Физическое лицо',\n },\n Electricity: {\n [RealtyElectricity.None]: 'Нет',\n [RealtyElectricity.Connected]: 'Подключено',\n [RealtyElectricity.Possible]: 'Возможно',\n [RealtyElectricity.Autonomous]: 'Автономное',\n },\n Gas: {\n [RealtyGas.None]: 'Нет',\n [RealtyGas.Connected]: 'Подключено',\n [RealtyGas.Border]: 'По границе',\n [RealtyGas.Possible]: 'Возможно',\n [RealtyGas.Autonomous]: 'Автономное',\n },\n Heating: {\n [RealtyHeating.None]: 'Нет',\n [RealtyHeating.Central]: 'Центральное',\n [RealtyHeating.Local]: 'Отдельное',\n [RealtyHeating.Gas]: 'Газовое',\n [RealtyHeating.Electricity]: 'Электрическое',\n [RealtyHeating.Liquid]: 'Жидкое топливо',\n [RealtyHeating.Furnace]: 'Печь',\n [RealtyHeating.SolidFuelBoiler]: 'Твердотопливный котел',\n },\n LandUsageType: {\n [RealtyLandUsageType.IGS]: 'ИЖС',\n [RealtyLandUsageType.LPH]: 'ЛПХ (личное подсобное хозяйство)',\n [RealtyLandUsageType.DNP]: 'ДНП (дачное некоммерческое партнероство)',\n [RealtyLandUsageType.SNT]: 'СНТ (садоводческое некоммерческое товарищество)',\n [RealtyLandUsageType.Farm]: 'Фермерское хозяйство',\n [RealtyLandUsageType.Garden]: 'Садоводство',\n [RealtyLandUsageType.Investproject]: 'Инвестпроект',\n },\n LandPurpose: {\n [RealtyLandPurpose.Settlements]: 'Земли поселений',\n [RealtyLandPurpose.Agricultural]: 'Сельскохозяйственного назначения',\n [RealtyLandPurpose.Industrial]: 'Промышленного назначения',\n [RealtyLandPurpose.Forests]: 'Земли лесного фонда',\n [RealtyLandPurpose.Aqua]: 'Земли водного фонда',\n [RealtyLandPurpose.Reservations]: 'Запаса',\n [RealtyLandPurpose.Guarded]: 'Особо охраняемых территорий',\n },\n LandShape: {\n [RealtyLandShape.Regular]: 'Правильная',\n [RealtyLandShape.Irregular]: 'Неправильная',\n },\n Relief: {\n [RealtyRelief.Flat]: 'Ровный',\n [RealtyRelief.Elevations]: 'Значительные перепады высот',\n [RealtyRelief.Slope]: 'Склон',\n [RealtyRelief.Hills]: 'Холмы',\n },\n Plumbing: {\n [RealtyPlumbing.None]: 'Нет',\n [RealtyPlumbing.Central]: 'Центральное',\n [RealtyPlumbing.Hole]: 'Скважина',\n [RealtyPlumbing.Well]: 'Колодец/колонка',\n [RealtyPlumbing.Border]: 'По границе',\n },\n Sewerage: {\n [RealtySewerage.None]: 'Нет',\n [RealtySewerage.Cesspool]: 'Выгребная яма',\n [RealtySewerage.Septic]: 'Септик',\n [RealtySewerage.Bio]: 'Устройства биологической очистки',\n [RealtySewerage.Central]: 'Центральная',\n },\n HouseType: {\n [RealtyHouseType.Townhouse]: 'Таунхаус',\n [RealtyHouseType.House]: 'Дом',\n [RealtyHouseType.Cottage]: 'Коттедж',\n [RealtyHouseType.Part]: 'Часть дома',\n [RealtyHouseType.Duplex]: 'Дуплекс',\n },\n WallsMaterial: {\n [RealtyWallsMaterial.Brick]: 'Кирпичный',\n [RealtyWallsMaterial.Timber]: 'Брус',\n [RealtyWallsMaterial.Wood]: 'Бревно',\n [RealtyWallsMaterial.AeratedConcrete]: 'Газобетон',\n [RealtyWallsMaterial.ReinforcedConcrete]: 'Железобетон',\n [RealtyWallsMaterial.FrameMetal]: 'Каркасный из металла',\n [RealtyWallsMaterial.FrameWood]: 'Каркасный из дерева',\n [RealtyWallsMaterial.FoamBlock]: 'Пенобетон',\n [RealtyWallsMaterial.SandwichPanels]: 'Сэндвич панели',\n [RealtyWallsMaterial.Shield]: 'Щитовой',\n [RealtyWallsMaterial.Monolith]: 'Монолитный',\n },\n Furniture: {\n [RealtyFurniture.None]: 'Отсутствует',\n [RealtyFurniture.Full]: 'Полностью мебелирован',\n [RealtyFurniture.Part]: 'Частично мебелирован',\n },\n AdditionalPriceCurrency: {\n [RealtyAdditionalPriceCurrency.Eur]: 'EUR',\n [RealtyAdditionalPriceCurrency.Usd]: 'USD',\n },\n};\n","import { RealtyImageGroup } from '../types';\n\nexport const RealtyImageDictionary = {\n Group: {\n [RealtyImageGroup.Photo]: 'Фото',\n [RealtyImageGroup.Plan]: 'План',\n },\n};\n","import { RealtyMetroDistanceMethod } from '../types';\n\nexport const RealtyMetroDistanceDictionary = {\n Method: {\n [RealtyMetroDistanceMethod.Car]: 'На машине',\n [RealtyMetroDistanceMethod.Foot]: 'Пешком',\n },\n};\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { nanoid } from 'nanoid/non-secure';\nimport qs from 'qs';\nimport { ActualEventsRow } from '../../types';\n\ntype SuccessData = { success: true; data: ActualEventsRow[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success?: false; data?: { error: string }; message?: string };\n\ntype ResultData = { ids: string[]; byId: Record<string, ActualEventsRow & { _id: string }>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindActualEventsRowHeaders = { 'x-auth-hc': string };\nexport type FindActualEventsRowParams = {\n filter?: {\n 'realty.id'?: number;\n createdAt?: { from?: string; to?: string };\n };\n limits?: { page: number; count: number | 'all' };\n};\nexport type FindActualEventsRowData = AxiosResponse<ResultData>;\nexport type FindActualEventsRowError = AxiosError<ResultError>;\n\nexport type FindActualEventsRowConfig = {\n baseURL?: string;\n headers: FindActualEventsRowHeaders;\n params: FindActualEventsRowParams;\n};\n\nexport function findActualEventsRowRequest({\n baseURL = 'https://publisher.homeapp.ru',\n headers,\n params,\n}: FindActualEventsRowConfig) {\n return axios\n .get('/api/crud/events-row', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n const _id = nanoid();\n byId[_id] = { ...entity, _id };\n ids.push(_id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n }\n\n return data.data?.error ?? data.message ?? 'Unknown Error';\n },\n ],\n })\n .then((res: FindActualEventsRowData) => res)\n .catch((err: FindActualEventsRowError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\n\ntype SuccessData = { success: true; data: { deltaSum: number } };\ntype ErrorData = { success?: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindEventsRowHeaders = { 'x-auth-hc': string };\nexport type FindEventsRowParams = { filter: { apartmentId: string; createdAt?: { from?: string; to?: string } } };\nexport type FindEventsRowData = AxiosResponse<ResultData>;\nexport type FindEventsRowError = AxiosError<ResultError>;\nexport type FindEventsRowConfig = {\n baseURL?: string;\n headers: FindEventsRowHeaders;\n params: FindEventsRowParams;\n};\n\nexport function findEventsRowRequest({\n baseURL = 'https://publisher.homeapp.ru',\n headers,\n params,\n}: FindEventsRowConfig) {\n return axios\n .get('/api/events-row/delta-view', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindEventsRowData) => res)\n .catch((err: FindEventsRowError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\n\nexport type ExternalLink = { apartmentId: number; url: string; externalSite: string };\ntype SuccessData = {\n success: true;\n data: Array<ExternalLink>;\n pageParams: { page?: number; length: number };\n};\ntype ErrorData = { success?: false; data: { error: string } };\n\ntype ResultData = {\n ids: string[];\n byId: Record<string, ExternalLink>;\n meta: { total: number };\n};\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindExternalLinksHeaders = { 'x-auth-hc'?: string };\nexport type FindExternalLinksParams = {\n filter?: { 'realty.id'?: string };\n limits?: { page?: number; count?: number | 'all' };\n};\nexport type FindExternalLinksData = AxiosResponse<ResultData>;\nexport type FindExternalLinksError = AxiosError<ResultError>;\n\nexport type FindExternalLinksConfig = {\n baseURL?: string;\n headers?: FindExternalLinksHeaders;\n params: FindExternalLinksParams;\n};\n\nexport function findExternalLinksRequest({\n baseURL = 'https://publisher.homeapp.ru',\n headers,\n params,\n}: FindExternalLinksConfig) {\n return axios\n .get('/api/crud/external-link', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.externalSite] = entity;\n ids.push(entity.externalSite);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n },\n ],\n })\n .then((res: FindExternalLinksData) => res)\n .catch((err: FindExternalLinksError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { StatisticRow } from '../../types';\n\ntype SuccessData = { success: true; data: StatisticRow };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindHomeappStatisticRowByRealtyIdUrlParams = { realtyId: number };\nexport type FindHomeappStatisticRowByRealtyIdData = AxiosResponse<ResultData>;\nexport type FindHomeappStatisticRowByRealtyIdError = AxiosError<ResultError>;\n\nexport type FindHomeappStatisticRowByRealtyIdConfig = {\n baseURL?: string;\n urlParams: FindHomeappStatisticRowByRealtyIdUrlParams;\n};\n\nexport function findHomeappStatisticRowByRealtyId({\n baseURL = 'https://registry.homeapp.ru',\n urlParams,\n}: FindHomeappStatisticRowByRealtyIdConfig) {\n return axios\n .get(`/api/crud/statistic-row/homeapp/last/${urlParams.realtyId}`, {\n baseURL,\n headers: { Accept: 'application/json' },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindHomeappStatisticRowByRealtyIdData) => res)\n .catch((err: FindHomeappStatisticRowByRealtyIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError } from 'axios';\nimport { NewBuilding } from '../../types';\n\ntype SuccessData = { success: true; data: NewBuilding[] };\n\ntype ErrorData = { success?: false; data?: { error: string }; message?: string };\n\nexport type FindNewBuildingsHeaders = { 'x-auth-hc': string };\n\nexport type FindNewBuildingsParams = { phrase: string };\n\nexport type FindNewBuildingsData = { data: { ids: string[]; byId: Record<string, NewBuilding> } };\n\nexport type FindNewBuildingsError = { status: number; data: string };\n\nexport type FindNewBuildingsConfig = {\n baseURL?: string;\n headers: FindNewBuildingsHeaders;\n params: FindNewBuildingsParams;\n};\n\nexport function findNewBuildingsRequest({\n baseURL = 'https://publisher.homeapp.ru',\n headers,\n params,\n}: FindNewBuildingsConfig) {\n return axios\n .get('/api/apartment/newBuildings', { baseURL, params, headers: { Accept: 'application/json', ...headers } })\n .then(\n (res: AxiosResponse<SuccessData>): FindNewBuildingsData => {\n const data: FindNewBuildingsData = { data: { byId: {}, ids: [] } };\n\n res.data.data.forEach(entity => {\n data.data.byId[entity.id] = entity;\n data.data.ids.push(entity.id);\n });\n\n return data;\n }\n )\n .catch((err: AxiosError<ErrorData>) => {\n const error: Error & Partial<FindNewBuildingsError> = new Error(err.message);\n error.status = err.response?.status ?? 520;\n error.data = err.response?.data.message ?? err.response?.data.data?.error ?? 'Unknown Error';\n\n throw error;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { PlannedEventsRow } from '../../types';\n\ntype SuccessData = { success: true; data: PlannedEventsRow[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success?: false; data?: { error: string }; message?: string };\n\ntype ResultData = { ids: number[]; byId: Record<string, PlannedEventsRow>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindPlannedEventsRowHeaders = { 'x-auth-hc': string };\nexport type FindPlannedEventsRowParams = {\n filter?: {\n id?: number;\n 'realty.id'?: number;\n createdAt?: { from?: string; to?: string };\n dateInterval?: { from?: string; to?: string };\n };\n limits?: { page?: number; count?: number | 'all' };\n};\nexport type FindPlannedEventsRowData = AxiosResponse<ResultData>;\nexport type FindPlannedEventsRowError = AxiosError<ResultError>;\n\nexport type FindPlannedEventsRowConfig = {\n baseURL?: string;\n headers: FindPlannedEventsRowHeaders;\n params: FindPlannedEventsRowParams;\n};\n\nexport function findPlannedEventsRowRequest({\n baseURL = 'https://publisher.homeapp.ru',\n headers,\n params,\n}: FindPlannedEventsRowConfig) {\n return axios\n .get('/api/crud/plan', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n }\n\n return data.data?.error ?? data.message ?? 'Unknown Error';\n },\n ],\n })\n .then((res: FindPlannedEventsRowData) => res)\n .catch((err: FindPlannedEventsRowError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { Scoring } from '../../types';\n\ntype SuccessData = { success: true; data: Scoring[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success?: false; data?: { error: string }; message?: string };\n\ntype ResultData = { ids: number[]; byId: Record<string, Scoring>; meta: { total: number } };\ntype ResultError = string;\n\nexport type FindScoringHeaders = { 'x-auth-hc': string };\nexport type FindScoringParams = { filter?: { 'realty.id'?: number }; limits?: { page: number; count: number } };\nexport type FindScoringData = AxiosResponse<ResultData>;\nexport type FindScoringError = AxiosError<ResultError>;\nexport type FindScoringConfig = {\n baseURL?: string;\n headers: FindScoringHeaders;\n params: FindScoringParams;\n};\n\nexport function findScoringRequest({ baseURL = 'https://publisher.homeapp.ru', headers, params }: FindScoringConfig) {\n return axios\n .get('/api/scoring', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (data.success) {\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n }\n\n return data.data?.error ?? data.message ?? 'Unknown Error';\n },\n ],\n })\n .then((res: FindScoringData) => res)\n .catch((err: FindScoringError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { StatisticRow } from '../../types';\n\ntype SuccessData = { success: true; data: StatisticRow[]; pageParams: { page?: number; length: number } };\ntype ErrorData = { success?: false; data: { error: string } };\n\ntype ResultData = { ids: string[]; byId: Record<string, StatisticRow>; meta: { total: number } };\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindStatisticRowHeaders = { 'x-auth-hc'?: string };\nexport type FindStatisticRowParams = {\n filter?: {\n 'realty.id'?: number;\n createdAt?: {\n from?: string;\n to?: string;\n };\n };\n limits?: { page?: number; count?: number | 'all' };\n};\nexport type FindStatisticRowData = AxiosResponse<ResultData>;\nexport type FindStatisticRowError = AxiosError<ResultError>;\n\nexport type FindStatisticRowConfig = {\n baseURL?: string;\n headers?: FindStatisticRowHeaders;\n params: FindStatisticRowParams;\n};\n\nexport function findStatisticRowRequest({\n baseURL = 'https://publisher.homeapp.ru',\n headers,\n params,\n}: FindStatisticRowConfig) {\n return axios\n .get('/api/crud/statistic-row', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.source] = entity;\n ids.push(entity.source);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n },\n ],\n })\n .then((res: FindStatisticRowData) => res)\n .catch((err: FindStatisticRowError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError } from 'axios';\n\ntype SuccessData = { success: true; data: { firstPublishedAt: string } };\n\ntype ErrorData = { success?: false; data?: { error: string }; message?: string };\n\nexport type GetFirstPublishedAtUrlParams = { realtyId: number };\n\nexport type GetFirstPublishedAtHeaders = { 'x-auth-hc': string };\n\nexport type GetFirstPublishedAtData = { data: SuccessData['data'] };\n\nexport type GetFirstPublishedAtError = { status: number; data: string };\n\nexport type GetFirstPublishedAtConfig = {\n baseURL?: string;\n urlParams: GetFirstPublishedAtUrlParams;\n headers: GetFirstPublishedAtHeaders;\n};\n\nexport function getFirstPublishedAtRequest({\n baseURL = 'https://publisher.homeapp.ru',\n urlParams,\n headers,\n}: GetFirstPublishedAtConfig) {\n return axios\n .get('/api/apartment/' + urlParams.realtyId + '/publication', {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n })\n .then((res: AxiosResponse<SuccessData>): GetFirstPublishedAtData => ({ data: res.data.data }))\n .catch((err: AxiosError<ErrorData>) => {\n const error: Error & Partial<GetFirstPublishedAtError> = new Error(err.message);\n error.status = err.response?.status ?? 520;\n error.data = err.response?.data.message ?? err.response?.data.data?.error ?? 'Unknown Error';\n\n throw error;\n });\n}\n","import axios, { AxiosResponse, AxiosError } from 'axios';\n\ntype SuccessData = { success: true; data: { publishedDays: number } };\n\ntype ErrorData = { success?: false; data?: { error: string }; message?: string };\n\nexport type GetPublishedDaysUrlParams = { realtyId: number };\n\nexport type GetPublishedDaysHeaders = { 'x-auth-hc': string };\n\nexport type GetPublishedDaysData = { data: SuccessData['data'] };\n\nexport type GetPublishedDaysError = { status: number; data: string };\n\nexport type GetPublishedDaysConfig = {\n baseURL?: string;\n urlParams: GetPublishedDaysUrlParams;\n headers: GetPublishedDaysHeaders;\n};\n\nexport function getPublishedDaysRequest({\n baseURL = 'https://publisher.homeapp.ru',\n urlParams,\n headers,\n}: GetPublishedDaysConfig) {\n return axios\n .get('/api/apartment/published-days/' + urlParams.realtyId, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n })\n .then((res: AxiosResponse<SuccessData>): GetPublishedDaysData => ({ data: res.data.data }))\n .catch((err: AxiosError<ErrorData>) => {\n const error: Error & Partial<GetPublishedDaysError> = new Error(err.message);\n error.status = err.response?.status ?? 520;\n error.data = err.response?.data.message ?? err.response?.data.data?.error ?? 'Unknown Error';\n\n throw error;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true; data: { newPublicId: number } };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type UpdateRealtyPublicIdUrlParams = { realtyId: number };\nexport type UpdateRealtyPublicIdHeaders = { 'x-auth-hc': string };\nexport type UpdateRealtyPublicIdBody = { serviceRequestId: number };\n\nexport type UpdateRealtyPublicIdData = AxiosResponse<ResultData>;\nexport type UpdateRealtyPublicIdError = AxiosError<ResultError>;\nexport type UpdateRealtyPublicIdConfig = {\n baseURL?: string;\n urlParams: UpdateRealtyPublicIdUrlParams;\n headers: UpdateRealtyPublicIdHeaders;\n body: UpdateRealtyPublicIdBody;\n};\n\nexport function updateRealtyPublicIdRequest({\n baseURL = 'https://clients.homeapp.ru',\n urlParams,\n body,\n headers,\n}: UpdateRealtyPublicIdConfig) {\n return axios\n .patch(`/api/publication/realty/${urlParams.realtyId}/public-id-update`, body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: UpdateRealtyPublicIdData) => res)\n .catch((err: UpdateRealtyPublicIdError) => {\n throw err;\n });\n}\n","import isNil from 'lodash/isNil';\nimport axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\n\ntype SuccessData = { success: true };\ntype ErrorData = { success?: false; data: Record<'error' | 'message', string> };\n\ntype ResultData = null;\ntype ResultError = string;\n\nexport type UploadResumeHeaders = { 'x-auth-hc'?: string };\nexport type UploadResumeBody = {\n firstname: string;\n phone: string;\n comment?: string;\n email?: string;\n file?: Blob;\n lastname?: string;\n source?: string;\n vacancy_name?: string;\n};\n\nexport type UploadResumeData = AxiosResponse<ResultData>;\nexport type UploadResumeError = AxiosError<ResultError>;\nexport type UploadResumeConfig = {\n baseURL?: string;\n headers?: UploadResumeHeaders;\n body: UploadResumeBody;\n};\n\nexport function uploadResumeRequest({ baseURL = 'https://publisher.homeapp.ru', body, headers }: UploadResumeConfig) {\n const formData = new FormData();\n\n formData.append('firstname', body?.firstname || '');\n formData.append('lastname', body?.lastname || '');\n formData.append('phone', body?.phone || '');\n formData.append('email', body?.email || '');\n formData.append('source', body?.source || '');\n formData.append('comment', body?.comment || '');\n formData.append('vacancy_name', body?.vacancy_name || '');\n\n if (!isNil(body?.file)) {\n formData.append('file', body?.file);\n }\n\n return axios\n .post('/resume', formData, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'multipart/form-data', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? null : data.data.error),\n ],\n })\n .then((res: UploadResumeData) => res)\n .catch((err: UploadResumeError) => {\n throw err;\n });\n}\n","export enum ActualEventsRowSource {\n NEDVIZHKA = 'NEDVIZHKA',\n RUCOUNTRY = 'RUCOUNTRY',\n NEDVRF = 'NEDVRF',\n FOTOMAKLER = 'FOTOMAKLER',\n HOUSE_2_YOU = 'HOUSE_2_YOU',\n AVITO = 'AVITO',\n MLSN = 'MLSN',\n MIRKVARTIR = 'MIRKVARTIR',\n EIP = 'EIP',\n YOULA = 'YOULA',\n NERS = 'NERS',\n BN = 'BN',\n DOSOK = 'DOSOK',\n IRR = 'IRR',\n FLATHOUSE = 'FLATHOUSE',\n KVADRAT = 'KVADRAT',\n CHANCE = 'CHANCE',\n CIAN = 'CIAN',\n RESTATE = 'RESTATE',\n ROSZEM = 'ROSZEM',\n REINPORT = 'REINPORT',\n NNDV = 'NNDV',\n AFY = 'AFY',\n ESTRU = 'ESTRU',\n UBU = 'UBU',\n EGENT = 'EGENT',\n EIPSPB = 'EIPSPB',\n MNEKVARTIRU = 'MNEKVARTIRU',\n RENTZILLA = 'RENTZILLA',\n VDOLEVKE = 'VDOLEVKE',\n MULTILISTING = 'MULTILISTING',\n ROSREALT = 'ROSREALT',\n FACEBOOK_OLD = 'FACEBOOK_OLD',\n DOMEX = 'DOMEX',\n REALTYMAG = 'REALTYMAG',\n YANDEX = 'YANDEX',\n HOMEAPP = 'HOMEAPP',\n MITULA = 'MITULA',\n NOVOSEL = 'NOVOSEL',\n ZIPAL = 'ZIPAL',\n ESALLE = 'ESALLE',\n FACEBOOK = 'FACEBOOK',\n AMMIS = 'AMMIS',\n QP = 'QP',\n N_1 = 'N_1',\n MAILRU = 'MAILRU',\n GDE = 'GDE',\n RAUI = 'RAUI',\n SINDOM = 'SINDOM',\n TROVIT = 'TROVIT',\n REGIONALREALTY = 'REGIONALREALTY',\n DOMCLICK = 'DOMCLICK',\n COTTAGE = 'COTTAGE',\n BESTRU = 'BESTRU',\n CITYSTAR = 'CITYSTAR',\n METRPRICE = 'METRPRICE',\n MOVE = 'MOVE',\n TVOISOTKI = 'TVOISOTKI',\n NAYDIDOM = 'NAYDIDOM',\n UNIBO = 'UNIBO',\n SINELS = 'SINELS',\n}\n\nexport type ActualEventsRow = {\n apartmentId: number;\n coverage: number;\n createdAt: string;\n likes: { value: number; delta: number };\n listingViews: { value: number; delta: number };\n phoneViews: { value: number; delta: number };\n source: ActualEventsRowSource | string;\n totalViews: { value: number; delta: number };\n views: { value: number; delta: number };\n};\n","export enum PlannedEventsRowSite {\n CIAN = 'CIAN',\n AVITO = 'AVITO',\n YANDEX = 'YANDEX',\n COMMON = 'COMMON',\n}\n\nexport type PlannedEventsRow = {\n id: number;\n site: PlannedEventsRowSite | string;\n priceFrom: number;\n priceTo: number;\n viewsPerDay: number;\n leadsPerDay: number;\n viewsTotal: number;\n leadsTotal: number;\n callConversionRate: number;\n showConversionRate: number;\n advanceConversionRate: number;\n showNeeded: number;\n};\n","import * as api from './api';\n\nexport class Api {\n constructor(private baseURL: Promise<string | undefined> | string | undefined) {}\n\n getFirstPublishedAt = async (\n urlParams: api.GetFirstPublishedAtUrlParams,\n headers: api.GetFirstPublishedAtHeaders\n ) => {\n return api.getFirstPublishedAtRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n getPublishedDays = async (urlParams: api.GetPublishedDaysUrlParams, headers: api.GetPublishedDaysHeaders) => {\n return api.getPublishedDaysRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n findEventsRow = async (params: api.FindEventsRowParams, headers: api.FindEventsRowHeaders) => {\n return api.findEventsRowRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findNewBuildings = async (params: api.FindNewBuildingsParams, headers: api.FindNewBuildingsHeaders) => {\n return api.findNewBuildingsRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findExternalLinks = async (params: api.FindExternalLinksParams, headers?: api.FindExternalLinksHeaders) => {\n return api.findExternalLinksRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findHomeappStatisticRowByRealtyId = async (urlParams: api.FindHomeappStatisticRowByRealtyIdUrlParams) => {\n return api.findHomeappStatisticRowByRealtyId({ urlParams, baseURL: await this.baseURL });\n };\n\n findStatisticRow = async (params: api.FindStatisticRowParams, headers?: api.FindStatisticRowHeaders) => {\n return api.findStatisticRowRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findActualEventsRow = async (params: api.FindActualEventsRowParams, headers: api.FindActualEventsRowHeaders) => {\n return api.findActualEventsRowRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findPlannedEventsRow = async (params: api.FindPlannedEventsRowParams, headers: api.FindPlannedEventsRowHeaders) => {\n return api.findPlannedEventsRowRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findScoring = async (params: api.FindScoringParams, headers: api.FindScoringHeaders) => {\n return api.findScoringRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n updateRealtyPublicId = async (\n urlParams: api.UpdateRealtyPublicIdUrlParams,\n body: api.UpdateRealtyPublicIdBody,\n headers: api.UpdateRealtyPublicIdHeaders\n ) => {\n return api.updateRealtyPublicIdRequest({ urlParams, body, headers, baseURL: await this.baseURL });\n };\n\n uploadResume = async (body: api.UploadResumeBody, headers?: api.UploadResumeHeaders) => {\n return api.uploadResumeRequest({ body, headers, baseURL: await this.baseURL });\n };\n}\n\nexport * from './api';\nexport * from './types';\nexport * from './dictionaries';\n","import { ActualEventsRowSource } from '../types';\n\nexport const ActualEventsRowDictionary = {\n EventsRowSource: {\n [ActualEventsRowSource.AVITO]: 'Авито',\n [ActualEventsRowSource.YANDEX]: 'Яндекс.Недвижимость',\n [ActualEventsRowSource.CIAN]: 'Циан',\n [ActualEventsRowSource.DOMCLICK]: 'ДомКлик',\n [ActualEventsRowSource.HOMEAPP]: 'HomeApp',\n [ActualEventsRowSource.FACEBOOK]: 'Facebook',\n },\n};\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Address } from '../../../types';\n\ntype SuccessData = { success: true; data: Address };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CreateAddressHeaders = { 'x-auth-hc': string };\nexport type CreateAddressBody = Partial<Address>;\n\nexport type CreateAddressData = AxiosResponse<ResultData>;\nexport type CreateAddressError = AxiosError<ResultError>;\nexport type CreateAddressConfig = {\n baseURL?: string;\n headers: CreateAddressHeaders;\n body: CreateAddressBody;\n};\n\nexport function createAddressRequest({ baseURL = 'https://registry.homeapp.ru', body, headers }: CreateAddressConfig) {\n return axios\n .post('/api/geo/address/', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CreateAddressData) => res)\n .catch((err: CreateAddressError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Address } from '../../../types';\n\ntype SuccessData = { success: true; data: Address };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type FindAddressByIdHeaders = { 'x-auth-hc'?: string };\nexport type FindAddressByIdUrlParams = { id: number };\nexport type FindAddressByIdData = AxiosResponse<ResultData>;\nexport type FindAddressByIdError = AxiosError<ResultError>;\nexport type FindAddressByIdConfig = {\n baseURL?: string;\n urlParams: FindAddressByIdUrlParams;\n headers?: FindAddressByIdHeaders;\n};\n\nexport function findAddressByIdRequest({\n baseURL = 'https://registry.homeapp.ru',\n urlParams,\n headers,\n}: FindAddressByIdConfig) {\n return axios\n .get(`/api/geo/address/${urlParams.id}`, {\n baseURL,\n headers: { Accept: 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: FindAddressByIdData) => res)\n .catch((err: FindAddressByIdError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { Address } from '../../../types';\nimport { AddressBTIParamsWallsMaterial } from '../../../../../clients/v1';\n\ntype SuccessData = { success: true; data: Address[] };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = { ids: number[]; byId: Record<string, Address>; meta: { total: number } };\ntype ResultError = ErrorData['data']['error'];\n\ntype NumberRange = { from?: number; to?: number };\n\nexport type FindAddressesByRealtyParamsHeaders = { 'x-auth-hc'?: string };\nexport type FindAddressesByRealtyParams = {\n filter?: Partial<{\n 'address.lat': NumberRange;\n 'address.lng': NumberRange;\n 'address.btiParams.wallsMaterial': Array<AddressBTIParamsWallsMaterial | 'null'>;\n roomsNumber: number[];\n area: NumberRange;\n floor: NumberRange;\n floorsNumber: NumberRange;\n activeOrSoldAt: { from?: string; to?: string };\n isMerged: boolean;\n isMergesOrHasServiceRequestExtId: boolean;\n }>;\n limits?: { page?: number; count?: number | 'all' };\n};\nexport type FindAddressesByRealtyParamsData = AxiosResponse<ResultData>;\nexport type FindAddressesByRealtyParamsError = AxiosError<ResultError>;\nexport type FindAddressesByRealtyParamsConfig = {\n baseURL?: string;\n headers?: FindAddressesByRealtyParamsHeaders;\n params: FindAddressesByRealtyParams;\n};\n\nexport function findAddressesByRealtyParamsRequest({\n baseURL = 'https://registry.homeapp.ru',\n params,\n}: FindAddressesByRealtyParamsConfig) {\n return axios\n .get('/api/realty/address', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json' },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: ids.length } };\n },\n ],\n })\n .then((res: FindAddressesByRealtyParamsData) => res)\n .catch((err: FindAddressesByRealtyParamsError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError } from 'axios';\nimport qs from 'qs';\n\ntype SuccessData = { success: true; data: Array<{ id: number; complexAddresses: Array<{ id: number }> }> };\n\ntype ErrorData = { success?: false; data?: { error: string }; message?: string };\n\nexport type FindComplexIdsParams = {\n filter?: { id?: number | number[] };\n limits?: { page?: number; count?: number };\n sorting?: { type: 'id'; direction: 'asc' | 'desc' };\n};\n\nexport type FindComplexIdsData = {\n data: { byId: Record<string, { id: number; complexAddresses: Array<{ id: number }> }>; ids: number[] };\n};\n\nexport type FindComplexIdsError = { status: number; data: string };\n\nexport type FindComplexIdsConfig = { baseURL?: string; params: FindComplexIdsParams };\n\nexport function findComplexIdsRequest({ baseURL = 'https://registry.homeapp.ru', params }: FindComplexIdsConfig) {\n return axios\n .get('/api/complex/', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json' },\n })\n .then(\n (res: AxiosResponse<SuccessData>): FindComplexIdsData => {\n const data: FindComplexIdsData = { data: { byId: {}, ids: [] } };\n\n res.data.data.forEach(entity => {\n data.data.byId[entity.id] = entity;\n data.data.ids.push(entity.id);\n });\n\n return data;\n }\n )\n .catch((err: AxiosError<ErrorData>) => {\n const error: Error & Partial<FindComplexIdsError> = new Error(err.message);\n error.status = err.response?.status ?? 520;\n error.data = err.response?.data?.message ?? err.response?.data.data?.error ?? 'Unknown Error';\n\n throw error;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { Image } from '../../../types';\n\ntype SuccessData = { success: true; data: Image[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: Record<'error' | 'message', string> };\n\ntype ResultData = { ids: number[]; byId: Record<string, Image> };\ntype ResultError = string;\n\nexport type UploadImagesHeaders = { 'x-auth-hc': string };\nexport type UploadImagesBody = Blob[];\n\nexport type UploadImagesData = AxiosResponse<ResultData>;\nexport type UploadImagesError = AxiosError<ResultError>;\nexport type UploadImagesConfig = {\n baseURL?: string;\n headers: UploadImagesHeaders;\n body: UploadImagesBody;\n};\n\nexport function uploadImagesRequest({ baseURL = 'https://registry.homeapp.ru', body, headers }: UploadImagesConfig) {\n const formData = new FormData();\n\n if (body.length === 0) {\n throw new Error('Список изображений пуст');\n }\n\n body.forEach((file, index) => {\n formData.append(`file${index}`, file);\n });\n\n return axios\n .post('/api/image/upload', formData, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'multipart/form-data', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) return data.data.error || data.data.message;\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId };\n },\n ],\n })\n .then((res: UploadImagesData) => res)\n .catch((err: UploadImagesError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport qs from 'qs';\nimport { Realty } from '../../../types';\n\ntype SuccessData = { success: true; data: Realty[]; pageParams: { page: number; length: number } };\ntype ErrorData = { success: false; data: Record<'error' | 'message', string> };\n\ntype ResultData = { ids: number[]; byId: Record<string, Realty>; meta: { total: number } };\ntype ResultError = string;\n\ntype NumberRange = { from?: number; to?: number };\n\nexport type FindRealtiesHeaders = { 'x-auth-hc'?: string };\nexport type FindRealtiesParams = {\n filter?: Partial<{\n id: number | number[];\n roomsNumber: number[];\n area: NumberRange;\n floor: NumberRange;\n floorsNumber: NumberRange;\n 'address.id': number | number[];\n activeOrSoldAt: { from?: string; to?: string };\n isMerged: boolean;\n isMergesOrHasServiceRequestExtId: boolean;\n }>;\n limits?: { page?: number; count?: number | 'all' };\n sorting?: { direction: 'asc' | 'desc'; type: 'createdAt' | 'id' | 'params.price' };\n};\nexport type FindRealtiesData = AxiosResponse<ResultData>;\nexport type FindRealtiesError = AxiosError<ResultError>;\nexport type FindRealtiesConfig = {\n baseURL?: string;\n headers?: FindRealtiesHeaders;\n params: FindRealtiesParams;\n};\n\nexport function findRealtiesRequest({ baseURL = 'https://registry.homeapp.ru', params }: FindRealtiesConfig) {\n return axios\n .get('/api/realty', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json' },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => {\n if (!data.success) {\n return data.data.error || data.data.message;\n }\n\n const ids: ResultData['ids'] = [];\n const byId: ResultData['byId'] = {};\n\n data.data.forEach(entity => {\n byId[entity.id] = entity;\n ids.push(entity.id);\n });\n\n return { ids, byId, meta: { total: data.pageParams.length } };\n },\n ],\n })\n .then((res: FindRealtiesData) => res)\n .catch((err: FindRealtiesError) => {\n throw err;\n });\n}\n","import axios, { AxiosResponse, AxiosError, AxiosResponseTransformer } from 'axios';\nimport { ValuationCalculationData } from '../../../types/Valuation';\n\ntype SuccessData = { success: true; data: ValuationCalculationData };\ntype ErrorData = { success: false; data: { error: string } };\n\ntype ResultData = SuccessData['data'];\ntype ResultError = ErrorData['data']['error'];\n\nexport type CalculateValuationHeaders = { 'x-auth-hc': string };\nexport type CalculateValuationBody = { realtyIds: number[] };\n\nexport type CalculateValuationData = AxiosResponse<ResultData>;\nexport type CalculateValuationError = AxiosError<ResultError>;\nexport type CalculateValuationConfig = {\n baseURL?: string;\n headers: CalculateValuationHeaders;\n body: CalculateValuationBody;\n};\n\nexport function calculateValuationRequest({\n baseURL = 'https://registry.homeapp.ru',\n body,\n headers,\n}: CalculateValuationConfig) {\n return axios\n .post('/api/valuate', body, {\n baseURL,\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n transformResponse: [\n ...(axios.defaults.transformResponse as AxiosResponseTransformer[]),\n (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),\n ],\n })\n .then((res: CalculateValuationData) => res)\n .catch((err: CalculateValuationError) => {\n throw err;\n });\n}\n","export enum AddressBTIParamsParking {\n Ground = 'ground',\n Multilevel = 'multilevel',\n Underground = 'underground',\n}\n\nexport enum AddressBTIParamsWallsMaterial {\n Brick = 'brick',\n Monolith = 'monolith',\n Monobrick = 'monobrick',\n Timber = 'timber',\n Panel = 'panel',\n Block = 'block',\n}\n\nexport enum AddressBTIParamsHeatingType {\n None = 'none',\n Central = 'central',\n Local = 'local',\n Gas = 'gas',\n Electricity = 'electricity',\n Liquid = 'liquid',\n}\n\nexport type AddressBTIParams = {\n buildYear?: number;\n cargoLifts?: number;\n ceilingHeight?: number;\n deliveryQuarter?: number;\n deliveryYear?: number;\n emergency?: boolean;\n floors?: number;\n garbageChute?: boolean;\n heatingType?: AddressBTIParamsHeatingType;\n id?: number;\n isDelivered?: boolean;\n isUpToDate?: boolean;\n parking?: AddressBTIParamsParking;\n passengerLifts?: number;\n series?: string;\n wallsMaterial?: AddressBTIParamsWallsMaterial;\n};\n","export enum ImageType {\n Complex = 'complex',\n Apartment = 'apartment',\n Layout = 'layout',\n}\n\nexport type Image = {\n id: number;\n properties: {\n oldId?: number;\n maxSize?: string;\n system?: { type?: string; mime?: string; size?: number };\n };\n storagePath: string;\n thumbnailPath: string;\n type?: string | ImageType;\n};\n","import { Address } from './Address';\nimport { Image } from './Image';\nimport { RealtyOffer } from './RealtyOffer';\n\nexport enum RealtyType {\n Flat = 'flat',\n House = 'house',\n}\n\nexport enum RealtyRenovationType {\n None = 'none',\n Author = 'author',\n Cosmetic = 'cosmetic',\n Euro = 'euro',\n FineFinishing = 'fine_finishing',\n RoughFinishing = 'rough_finishing',\n}\n\nexport enum RealtyGas {\n None = 'none',\n Connected = 'connected',\n Border = 'border',\n Possible = 'possible',\n Autonomous = 'autonomous',\n}\n\nexport enum RealtyHouseType {\n Townhouse = 'townhouse',\n House = 'house',\n Cottage = 'cottage',\n Part = 'part',\n Duplex = 'duplex',\n}\n\nexport enum RealtyLandShape {\n Regular = 'regular',\n Irregular = 'irregular',\n}\n\nexport enum RealtyLandUsageType {\n IGS = 'igs',\n LPH = 'lph',\n DNP = 'dnp',\n SNT = 'snt',\n Farm = 'farm',\n Garden = 'garden',\n Investproject = 'investproject',\n}\n\nexport enum RealtyRelief {\n Flat = 'flat',\n Elevations = 'elevations',\n Slope = 'slope',\n Hills = 'hills',\n}\n\nexport enum RealtyElectricity {\n None = 'none',\n Connected = 'connected',\n Possible = 'possible',\n Autonomous = 'autonomous',\n}\n\nexport enum RealtyFurniture {\n None = 'none',\n Full = 'full',\n Part = 'part',\n}\n\nexport enum RealtySewerage {\n None = 'none',\n Cesspool = 'cesspool',\n Septic = 'septic',\n Bio = 'bio',\n Central = 'central',\n}\n\nexport enum RealtyWindowView {\n Street = 'street',\n Yard = 'yard',\n Both = 'both',\n}\n\nexport type Realty = {\n address: Partial<Address> & { id: number };\n addressId: number;\n area: number;\n createdAt: string;\n firstPublishedAt: string;\n floor: number;\n id: number;\n images: Array<Partial<Image> & { id: number }>;\n price: number;\n realtyType: RealtyType;\n renovationType: RealtyRenovationType;\n roomsNumber: number;\n\n balconyCount?: number;\n burden?: boolean;\n ceilingHeight?: number;\n chambers?: string;\n cityDistance?: number;\n comment?: string;\n documentationUrl?: number;\n electricity?: RealtyElectricity;\n features?: string[];\n floorsNumber?: number;\n furniture?: RealtyFurniture;\n gas?: RealtyGas;\n houseType?: RealtyHouseType;\n isDevelopersOffer?: boolean;\n kitchenArea?: number;\n landArea?: number;\n landShape?: RealtyLandShape;\n landUsageType?: RealtyLandUsageType;\n livingArea?: number;\n mainOffer?: Partial<RealtyOffer> & { id: number };\n number?: number;\n relief?: RealtyRelief;\n separatedRoomsNumber?: number;\n sewerage?: RealtySewerage;\n soldAt?: string;\n windowView?: RealtyWindowView;\n};\n","type Coordinates = number[];\n\ntype Polygon = { type: 'Polygon'; coordinates: Array<Coordinates> };\n\ntype MultiPolygon = {\n type: 'MultiPolygon';\n coordinates: Array<Array<Coordinates>>;\n};\n\nexport enum ShapeType {\n AdministrativeDistrict = 'administrative_district',\n Block = 'block',\n Complex = 'complex',\n District = 'district',\n House = 'house',\n Microdistrict = 'microdistrict',\n}\n\nexport type Shape = {\n geometry: Polygon | MultiPolygon;\n id: number;\n name: string;\n type: ShapeType;\n};\n","export enum ValuationConcurrency {\n Low = 'low',\n Medium = 'medium',\n MediumHigh = 'medium-high',\n High = 'high',\n VeryHigh = 'very-high',\n}\n\ntype ValueRange = { max: number; min: number; p10: number; p50: number; p90: number };\n\ntype Stats = {\n count: number;\n outOfRange: number;\n area?: ValueRange;\n price?: ValueRange;\n realtyIds?: number[];\n period?: ValueRange;\n};\n\nexport type ValuationCalculationData = {\n active: Stats;\n concurrencyLevel: ValuationConcurrency;\n inventoryPerBuyer: number;\n sold: Stats;\n};\n","import * as api from './api';\n\nexport class Api {\n constructor(private baseURL: Promise<string | undefined> | string | undefined) {}\n\n // address\n\n createAddress = async (body: api.CreateAddressBody, headers: api.CreateAddressHeaders) => {\n return api.createAddressRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n findAddressById = async (urlParams: api.FindAddressByIdUrlParams, headers: api.FindAddressByIdHeaders) => {\n return api.findAddressByIdRequest({ urlParams, headers, baseURL: await this.baseURL });\n };\n\n // complex\n\n findComplexIds = async (params: api.FindComplexIdsParams) => {\n return api.findComplexIdsRequest({ params, baseURL: await this.baseURL });\n };\n\n // image\n\n uploadImages = async (body: api.UploadImagesBody, headers: api.UploadImagesHeaders) => {\n return api.uploadImagesRequest({ body, headers, baseURL: await this.baseURL });\n };\n\n // realty\n\n findRealties = async (params: api.FindRealtiesParams, headers?: api.FindRealtiesHeaders) => {\n return api.findRealtiesRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n findAddressesByRealtyParams = async (\n params: api.FindAddressesByRealtyParams,\n headers?: api.FindAddressesByRealtyParamsHeaders\n ) => {\n return api.findAddressesByRealtyParamsRequest({ params, headers, baseURL: await this.baseURL });\n };\n\n // valuation\n\n calculateValuation = async (body: api.CalculateValuationBody, headers: api.CalculateValuationHeaders) => {\n return api.calculateValuationRequest({ body, headers, baseURL: await this.baseURL });\n };\n}\n\nexport * from './api';\nexport * from './dictionaries';\nexport * from './types';\n","import { AddressBTIParamsParking, AddressBTIParamsWallsMaterial, AddressBTIParamsHeatingType } from '../types';\n\nexport const AddressBTIParamsDictionary = {\n Parking: {\n [AddressBTIParamsParking.Ground]: 'Наземная',\n [AddressBTIParamsParking.Multilevel]: 'Многоуровневая',\n [AddressBTIParamsParking.Underground]: 'Подземная',\n },\n WallsMaterial: {\n [AddressBTIParamsWallsMaterial.Brick]: 'Кирпичный',\n [AddressBTIParamsWallsMaterial.Monolith]: 'Монолитный',\n [AddressBTIParamsWallsMaterial.Monobrick]: 'Монолитно-кирпичный',\n [AddressBTIParamsWallsMaterial.Timber]: 'Деревянный',\n [AddressBTIParamsWallsMaterial.Panel]: 'Панельный',\n [AddressBTIParamsWallsMaterial.Block]: 'Блочный',\n },\n HeatingType: {\n [AddressBTIParamsHeatingType.None]: 'Нет',\n [AddressBTIParamsHeatingType.Central]: 'Центральное',\n [AddressBTIParamsHeatingType.Local]: 'Отдельное',\n [AddressBTIParamsHeatingType.Gas]: 'Газовое',\n [AddressBTIParamsHeatingType.Electricity]: 'Электрическое',\n [AddressBTIParamsHeatingType.Liquid]: 'Жидкое топливо',\n },\n};\n","import {\n RealtyType,\n RealtyRenovationType,\n RealtyGas,\n RealtyHouseType,\n RealtyLandShape,\n RealtyLandUsageType,\n RealtyRelief,\n RealtyElectricity,\n RealtyFurniture,\n RealtySewerage,\n RealtyWindowView,\n} from '../types';\n\nexport const RealtyDictionary = {\n RealtyType: {\n [RealtyType.Flat]: 'Квартира',\n [RealtyType.House]: 'Дом',\n },\n Rooms: {\n '-1': 'Студия',\n '-2': 'Свободная планировка',\n '1': '1',\n '2': '2',\n '3': '3',\n '4': '4+',\n },\n Renovation: {\n [RealtyRenovationType.None]: 'Без ремонта',\n [RealtyRenovationType.Author]: 'Авторский',\n [RealtyRenovationType.Cosmetic]: 'Косметический',\n [RealtyRenovationType.Euro]: 'Евро',\n [RealtyRenovationType.FineFinishing]: 'Чистовая отделка',\n [RealtyRenovationType.RoughFinishing]: 'Черновая отделка',\n },\n Gas: {\n [RealtyGas.None]: 'Нет',\n [RealtyGas.Connected]: 'Подключено',\n [RealtyGas.Border]: 'По границе',\n [RealtyGas.Possible]: 'Возможно',\n [RealtyGas.Autonomous]: 'Автономное',\n },\n HouseType: {\n [RealtyHouseType.Townhouse]: 'Таунхаус',\n [RealtyHouseType.House]: 'Дом',\n [RealtyHouseType.Cottage]: 'Коттедж',\n [RealtyHouseType.Part]: 'Часть дома',\n [RealtyHouseType.Duplex]: 'Дуплекс',\n },\n LandShape: {\n [RealtyLandShape.Regular]: 'Правильная',\n [RealtyLandShape.Irregular]: 'Неправильная',\n },\n LandUsageType: {\n [RealtyLandUsageType.IGS]: 'ИЖС',\n [RealtyLandUsageType.LPH]: 'ЛПХ (личное подсобное хозяйство)',\n [RealtyLandUsageType.DNP]: 'ДНП (дачное некоммерческое партнероство)',\n [RealtyLandUsageType.SNT]: 'СНТ (садоводческое некоммерческое товарищество)',\n [RealtyLandUsageType.Farm]: 'Фермерское хозяйство',\n [RealtyLandUsageType.Garden]: 'Садоводство',\n [RealtyLandUsageType.Investproject]: 'Инвестпроект',\n },\n Relief: {\n [RealtyRelief.Flat]: 'Ровный',\n [RealtyRelief.Elevations]: 'Значительные перепады высот',\n [RealtyRelief.Slope]: 'Склон',\n [RealtyRelief.Hills]: 'Холмы',\n },\n Electricity: {\n [RealtyElectricity.None]: 'Нет',\n [RealtyElectricity.Connected]: 'Подключено',\n [RealtyElectricity.Possible]: 'Возможно',\n [RealtyElectricity.Autonomous]: 'Автономное',\n },\n Furniture: {\n [RealtyFurniture.None]: 'Отсутствует',\n [RealtyFurniture.Full]: 'Полностью мебелирован',\n [RealtyFurniture.Part]: 'Частично мебелирован',\n },\n Sewerage: {\n [RealtySewerage.None]: 'Нет',\n [RealtySewerage.Cesspool]: 'Выгребная яма',\n [RealtySewerage.Septic]: 'Септик',\n [RealtySewerage.Bio]: 'Устройства биологической очистки',\n [RealtySewerage.Central]: 'Центральная',\n },\n WindowView: {\n [RealtyWindowView.Street]: 'На улицу',\n [RealtyWindowView.Yard]: 'Во двор',\n [RealtyWindowView.Both]: 'В обе стороны',\n },\n};\n","import { ShapeType } from '../types';\n\nexport const ShapeDictionary = {\n Type: {\n [ShapeType.AdministrativeDistrict]: 'Административный округ',\n [ShapeType.Block]: 'Квартал',\n [ShapeType.Complex]: 'Новостройка',\n [ShapeType.District]: 'Район',\n [ShapeType.House]: 'Здание',\n [ShapeType.Microdistrict]: 'Микрорайон',\n },\n};\n","import { ValuationConcurrency } from '../types';\n\nexport const ValuationDictionary = {\n Concurrency: {\n [ValuationConcurrency.Low]: 'Не высокий',\n [ValuationConcurrency.Medium]: 'Средний',\n [ValuationConcurrency.MediumHigh]: 'Выше среднего',\n [ValuationConcurrency.High]: 'Высокий',\n [ValuationConcurrency.VeryHigh]: 'Очень высокий',\n },\n};\n","import axios, { AxiosResponse, AxiosError } from 'axios';\nimport qs from 'qs';\nimport { FindApartmentsParams } from '../findApartments';\n\ntype SuccessData = {\n success: true;\n data: { complex: number; primary: number; secondary: number };\n pageParams: { page: number; length: number };\n};\n\ntype ErrorData = { success: false; data: { error: string } };\n\nexport type CountApartmentsParams = { filter?: FindApartmentsParams['filter'] };\n\nexport type CountApartmentsData = { data: SuccessData['data'] };\n\nexport type CountApartmentsError = { status: number; data: string };\n\nexport type CountApartmentsConfig = { baseURL?: string; params: CountApartmentsParams };\n\nexport function countApartmentsRequest({ baseURL = 'https://search.homeapp.ru', params }: CountApartmentsConfig) {\n return axios\n .get('/api/apartment/count', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json' },\n })\n .then((res: AxiosResponse<SuccessData>): CountApartmentsData => ({ data: res.data.data }))\n .catch((err: AxiosError<ErrorData>) => {\n const error: Error & Partial<CountApartmentsError> = new Error(err.message);\n error.status = err.response?.status ?? 520;\n error.data = err.response?.data.data.error ?? 'Unknown Error';\n\n throw error;\n });\n}\n","import axios, { AxiosResponse, AxiosError } from 'axios';\nimport qs from 'qs';\nimport { Apartment } from '../../../types';\n\ntype SuccessData = { success: true; data: Apartment[]; pageParams: { page: number; length: number } };\n\ntype ErrorData = { success: false; data: { error: string } };\n\nexport type FindApartmentsParams = {\n filter?: {\n area?: { from?: number; to?: number };\n buildingId?: number;\n ceilingHeight?: { from?: number; to?: number };\n coordinates?: { 'top-left': { lat: number; lng: number }; 'bottom-right': { lat: number; lng: number } };\n floor?: { from?: number; to?: number };\n kitchenArea?: { from?: number; to?: number };\n livingArea?: { from?: number; to?: number };\n price?: { from?: number; to?: number };\n roomsNumber?: number | number[];\n };\n limits?: { page?: number; count: number };\n sorting?: { direction: 'asc' | 'desc'; type: 'distance'; base: { lat: number; lng: number } };\n};\n\nexport type FindApartmentsData = { data: { ids: number[]; byId: Record<string, Apartment> }; meta: { total: number } };\nexport type FindApartmentsError = { status: number; data: string };\nexport type FindApartmentsConfig = { baseURL?: string; params: FindApartmentsParams };\n\nexport function findApartmentsRequest({ baseURL = 'https://search.homeapp.ru', params }: FindApartmentsConfig) {\n return axios\n .get('/api/apartment/', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json; version=1' },\n })\n .then(\n (res: AxiosResponse<SuccessData>): FindApartmentsData => {\n const data: FindApartmentsData = {\n data: { byId: {}, ids: [] },\n meta: { total: res.data.pageParams.length },\n };\n\n res.data.data.forEach(entity => {\n data.data.byId[entity.id] = entity;\n data.data.ids.push(entity.id);\n });\n\n return data;\n }\n )\n .catch((err: AxiosError<ErrorData>) => {\n const error: Error & Partial<FindApartmentsError> = new Error(err.message);\n error.status = err.response?.status ?? 520;\n error.data = err.response?.data.data.error ?? 'Unknown Error';\n\n throw error;\n });\n}\n","import axios, { AxiosResponse, AxiosError } from 'axios';\nimport qs from 'qs';\nimport { Complex } from '../../../types';\n\ntype SuccessData = { success: true; data: Complex[]; pageParams: { page: number; length: number } };\n\ntype ErrorData = { success: false; data: { error: string } };\n\nexport type FindComplexesParams = { filter?: { checked?: boolean }; limits?: { page: number; count: number } };\n\nexport type FindComplexesData = { data: { ids: number[]; byId: Record<string, Complex> }; meta: { total: number } };\n\nexport type FindComplexesError = { status: number; data: string };\n\nexport type FindComplexesConfig = { baseURL?: string; params: FindComplexesParams };\n\nexport function findComplexesRequest({ baseURL = 'https://search.homeapp.ru', params }: FindComplexesConfig) {\n return axios\n .get('/api/complex/', {\n baseURL,\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),\n headers: { Accept: 'application/json; version=1' },\n })\n .then(\n (res: AxiosResponse<SuccessData>): FindComplexesData => {\n const data: FindComplexesData = {\n data: { byId: {}, ids: [] },\n meta: { total: res.data.pageParams.length },\n };\n\n res.data.data.forEach(entity => {\n data.data.byId[entity.id] = entity;\n data.data.ids.push(entity.id);\n });\n\n return data;\n }\n )\n .catch((err: AxiosError<ErrorData>) => {\n const error: Error & Partial<FindComplexesError> = new Error(err.message);\n error.status = err.response?.status ?? 520;\n error.data = err.response?.data.data.error ?? 'Unknown Error';\n\n throw error;\n });\n}\n","import axios, { AxiosResponse, AxiosError } from 'axios';\nimport { Complex } from '../../../types';\n\ntype SuccessData = { success: true; data: Complex };\n\ntype ErrorData = { success: false; data: { error: string } };\n\nexport type FindComplexByIdUrlParams = { id: number };\n\nexport type FindComplexByIdData = { data: Complex };\n\nexport type FindComplexByIdError = { status: number; data: string };\n\nexport type FindComplexByIdConfig = { baseURL?: string; urlParams: FindComplexByIdUrlParams };\n\nexport function findComplexByIdRequest({ baseURL = 'https://search.homeapp.ru', urlParams }: FindComplexByIdConfig) {\n return axios\n .get(`/api/complex/` + urlParams.id, { baseURL, headers: { Accept: 'application/json; version=1' } })\n .then((res: AxiosResponse<SuccessData>): FindComplexByIdData => ({ data: res.data.data }))\n .catch((err: AxiosError<ErrorData>) => {\n const error: Error & Partial<FindComplexByIdError> = new Error(err.message);\n error.status = err.response?.status ?? 520;\n error.data = err.response?.data.data.error ?? 'Unknown Error';\n\n throw error;\n });\n}\n","import axios, { AxiosResponse, AxiosError } from 'axios';\nimport chunk from 'lodash/chunk';\n\ntype SuccessData = { success: true; data: number[][] };\ntype ErrorData = { success: false; data: { error: string } };\n\nexport type FindBuildingCoordinatesData = {\n data: {\n ids: number[];\n byId: Record<string, { id: number; lat: number; lng: number; isNewBuilding: boolean }>;\n };\n};\nexport type FindBuildingCoordinatesError = { status: number; data: string };\nexport type FindBuildingCoordinatesConfig = { baseURL?: string };\n\nexport function findBuildingCoordinatesRequest({\n baseURL = 'https://search.homeapp.ru',\n}: FindBuildingCoordinatesConfig) {\n return axios\n .get('/api/address/info', { baseURL, headers: { Accept: 'application/json; version=1' } })\n .then(\n (res: AxiosResponse<SuccessData>): FindBuildingCoordinatesData => {\n const data: FindBuildingCoordinatesData = {\n data: { byId: {}, ids: [] },\n };\n\n chunk(res.data.data[0], 3).forEach(([id, lat, lng]) => {\n data.data.byId[id] = { id, lat, lng, isNewBuilding: false };\n data.data.ids.push(id);\n });\n\n chunk(res.data.data[1], 3).forEach(([id, lat, lng]) => {\n data.data.byId[id] = { id, lat, lng, isNewBuilding: true };\n data.data.ids.push(id);\n });\n\n return data;\n }\n )\n .catch((err: AxiosError<ErrorData>) => {\n const error: Error & Partial<FindBuildingCoordinatesError> = new Error(err.message);\n error.status = err.response?.status ?? 520;\n error.data = err.response?.data.data.error ?? 'Unknown Error';\n\n throw error;\n });\n}\n","import axios, { AxiosResponse, AxiosError } from 'axios';\nimport chunk from 'lodash/chunk';\n\ntype SuccessData = { success: true; data: number[] };\ntype ErrorData = { success: false; data: { error: string } };\n\nexport type FindBuildingOffersBody = {\n filter?: {\n area?: { from?: number; to?: number };\n ceilingHeight?: { from?: number; to?: number };\n floor?: { from?: number; to?: number };\n kitchenArea?: { from?: number; to?: number };\n livingArea?: { from?: number; to?: number };\n price?: { from?: number; to?: number };\n roomsNumber?: number | number[];\n };\n};\nexport type FindBuildingOffersData = {\n data: { ids: number[]; byId: Record<string, { id: number; offersNumber: number }> };\n};\nexport type FindBuildingOffersError = { status: number; data: string };\nexport type FindBuildingOffersConfig = { baseURL?: string; body: FindBuildingOffersBody };\n\nexport function findBuildingOffersRequest({ baseURL = 'https://search.homeapp.ru', body }: FindBuildingOffersConfig) {\n return axios\n .post('/api/geodata/buildings', body, { baseURL, headers: { Accept: 'application/json; version=1' } })\n .then(\n (res: AxiosResponse<SuccessData>): FindBuildingOffersData => {\n const data: FindBuildingOffersData = { data: { byId: {}, ids: [] } };\n\n chunk(res.data.data, 2).forEach(([id, offersNumber]) => {\n data.data.byId[id] = { id, offersNumber };\n data.data.ids.push(id);\n });\n\n return data;\n }\n )\n .catch((err: AxiosError<ErrorData>) => {\n const error: Error & Partial<FindBuildingOffersError> = new Error(err.message);\n error.status = err.response?.status ?? 520;\n error.data = err.response?.data.data.error ?? 'Unknown Error';\n\n throw error;\n });\n}\n","export enum ApartmentMapPointDistanceType {\n Foot = 'foot',\n Car = 'car',\n}\n\nexport enum ApartmentMapPointType {\n Underground = 'underground',\n}\n\nexport enum RealtyRenovationType {\n None = 'none',\n Author = 'author',\n Cosmetic = 'cosmetic',\n Euro = 'euro',\n FineFinishing = 'fine_finishing',\n RoughFinishing = 'rough_finishing',\n}\n\nexport type ApartmentMapPoint = {\n distanceType: ApartmentMapPointDistanceType;\n time: number;\n title: string;\n\n coordinates?: { lat: number; lng: number };\n type?: ApartmentMapPointType;\n};\n\nexport type Apartment = {\n address: string;\n area: number;\n id: number;\n price: number;\n roomsNumber: number;\n\n buildingGroup?: string;\n buildingId?: number;\n developersOffer?: boolean;\n floor?: number;\n floorsTotal?: number;\n image?: string;\n isHomeappOwned?: boolean;\n isNewBuilding?: boolean;\n mapPoints?: ApartmentMapPoint[];\n pics?: string[];\n};\n","import * as api from './api';\n\nexport class Api {\n constructor(private baseURL: Promise<string | undefined> | string | undefined) {}\n\n // apartments\n\n findApartments = async (params: api.FindApartmentsParams) => {\n return api.findApartmentsRequest({ params, baseURL: await this.baseURL });\n };\n\n countApartments = async (params: api.CountApartmentsParams) => {\n return api.countApartmentsRequest({ params, baseURL: await this.baseURL });\n };\n\n // complexes\n\n findComplexes = async (params: api.FindComplexesParams) => {\n return api.findComplexesRequest({ params, baseURL: await this.baseURL });\n };\n\n findComplexById = async (urlParams: api.FindComplexByIdUrlParams) => {\n return api.findComplexByIdRequest({ urlParams, baseURL: await this.baseURL });\n };\n\n // buildings\n\n findBuildingCoordinates = async () => {\n return api.findBuildingCoordinatesRequest({ baseURL: await this.baseURL });\n };\n\n findBuildingOffers = async (body: api.FindBuildingOffersBody) => {\n return api.findBuildingOffersRequest({ body, baseURL: await this.baseURL });\n };\n}\n\nexport * from './api';\nexport * from './dictionaries';\nexport * from './types';\n","import { ApartmentMapPointDistanceType, ApartmentMapPointType } from '../types';\n\nexport const ApartmentDictionary = {\n MapPointDistanceType: {\n [ApartmentMapPointDistanceType.Car]: 'На машине',\n [ApartmentMapPointDistanceType.Foot]: 'Пешком',\n },\n MapPointType: {\n [ApartmentMapPointType.Underground]: 'Метро',\n },\n};\n","// документация https://dadata.ru/api/suggest/address/\nimport axios, { AxiosResponse } from 'axios';\n\ntype SuccessData = {\n suggestions: Array<{\n value: string;\n data: {\n area: string | null;\n area_fias_id: string | null;\n area_kladr_id: string | null;\n area_type: string | null;\n area_type_full: string | null;\n area_with_type: string | null;\n beltway_distance: string | null;\n beltway_hit: 'IN_MKAD' | 'OUT_MKAD' | 'IN_KAD' | 'OUT_KAD' | null;\n block: string | null;\n block_type: string | null;\n block_type_full: string | null;\n federal_district: string | null;\n capital_marker: '0' | '1' | '2' | '3' | '4';\n city: string | null;\n city_area: string | null;\n city_district: string | null;\n city_district_fias_id: string | null;\n city_district_kladr_id: string | null;\n city_district_type: string | null;\n city_district_type_full: string | null;\n city_district_with_type: string | null;\n city_fias_id: string | null;\n city_kladr_id: string | null;\n city_type: string | null;\n city_type_full: string | null;\n city_with_type: string | null;\n country: string;\n country_iso_code: string;\n fias_id: string;\n fias_level: string;\n flat: string | null;\n flat_area: string | null;\n flat_price: null;\n flat_type: string | null;\n flat_type_full: string | null;\n flat_fias_id?: string | null;\n flat_cadnum?: null;\n geo_lat: string | null;\n geo_lon: string | null;\n geoname_id: string | null;\n history_values: string[] | null;\n house: string | null;\n house_fias_id: string | null;\n house_kladr_id: string | null;\n house_type: string | null;\n house_type_full: string | null;\n house_cadnum?: null;\n entrance?: null;\n floor?: null;\n kladr_id: string;\n okato: string | null;\n oktmo: string | null;\n postal_box: string | null;\n postal_code: string | null;\n qc: null;\n qc_complete: null;\n qc_geo: '0' | '1' | '2' | '3' | '4' | '5' | null;\n qc_house: null;\n region: string;\n region_fias_id: string;\n region_kladr_id: string;\n region_type: string;\n region_type_full: string;\n region_with_type: string;\n settlement: string | null;\n settlement_fias_id: string | null;\n settlement_kladr_id: string | null;\n settlement_type: string | null;\n settlement_type_full: string | null;\n settlement_with_type: string | null;\n source: string | null;\n square_meter_price?: string | null;\n street: string | null;\n street_fias_id: string | null;\n street_kladr_id: string | null;\n street_type: string | null;\n street_type_full: string | null;\n street_with_type: string | null;\n stead?: string | null;\n stead_fias_id?: string | null;\n stead_kladr_id?: string | null;\n stead_type?: string | null;\n stead_type_full?: string | null;\n stead_cadnum?: null;\n tax_office: string | null;\n tax_office_legal: string | null;\n timezone: string | null;\n unparsed_parts: null;\n fias_code: string;\n region_iso_code: string;\n fias_actuality_state: string;\n metro: Array<{ name: string; line: string; distance: number }> | null;\n divisions?: unknown;\n };\n }>;\n};\n\ntype GranularHint = { value: 'country' | 'region' | 'area' | 'city' | 'settlement' | 'street' | 'house' | 'flat' };\n\nexport type FindDadataSuggestionsBody = {\n query: string;\n count?: number;\n language?: string;\n division?: string;\n locations?: Array<{\n country_iso_code?: string;\n region_iso_code?: string;\n kladr_id?: string;\n country?: string;\n region?: string;\n area?: string;\n city?: string;\n settlement?: string;\n street?: string;\n region_type_full?: string;\n area_type_full?: string;\n city_type_full?: string;\n settlement_type_full?: string;\n street_type_full?: string;\n fias_id?: string;\n region_fias_id?: string;\n area_fias_id?: string;\n city_fias_id?: string;\n settlement_fias_id?: string;\n street_fias_id?: string;\n }>;\n locations_geo?: Array<{\n lat: number;\n lon: number;\n radius_meters?: number;\n }>;\n locations_boost?: Array<{ kladr_id: string }>;\n from_bound?: GranularHint;\n to_bound?: GranularHint;\n};\nexport type FindDadataSuggestionsHeaders = { Authorization: string };\n\nexport type FindDadataSuggestionsData = AxiosResponse<SuccessData>;\nexport type FindDadataSuggestionsConfig = { body: FindDadataSuggestionsBody; headers: FindDadataSuggestionsHeaders };\n\nexport function findDadataSuggestionsRequest({ body, headers }: FindDadataSuggestionsConfig) {\n return axios.post<SuccessData>('https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/address', body, {\n headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },\n });\n}\n","// документация https://yandex.ru/dev/geosuggest/doc/ru/\nimport axios, { AxiosResponse } from 'axios';\nimport qs from 'qs';\n\ntype SuccessData = {\n results?: Array<{\n title: { text: string; hl?: Array<{ begin: number; end: number }> };\n tags: string[];\n subtitle?: { text: string; hl?: Array<{ begin: number; end: number }> };\n address?: {\n formatted_address: string;\n component: Array<{\n name: string;\n kind: Array<\n | 'COUNTRY'\n | 'REGION'\n | 'PROVINCE'\n | 'AREA'\n | 'LOCALITY'\n | 'DISTRICT'\n | 'STREET'\n | 'HOUSE'\n | 'HYDRO'\n | 'STATION'\n | 'METRO_STATION'\n | 'RAILWAY_STATION'\n | 'ROUTE'\n | 'VEGETATION'\n | 'AIRPORT'\n | 'OTHER'\n | 'ENTRANCE'\n | 'LEVEL'\n | 'APARTMENT'\n | 'UNKNOWN'\n >;\n }>;\n };\n distance?: { text: string; value: number };\n uri?: string;\n }>;\n};\n\nexport type FindYandexSuggestionsParams = {\n apikey: string;\n text: string;\n lang?: string;\n results?: number;\n highlight?: 0;\n ll?: string;\n spn?: number[];\n bbox?: string;\n ull?: string;\n strict_bounds?: 1;\n types?: Array<\n 'biz' | 'geo' | 'street' | 'metro' | 'district' | 'locality' | 'area' | 'province' | 'country' | 'house'\n >;\n print_address?: 1;\n org_address_kind?: 'house';\n attrs?: 'uri';\n};\n\nexport type FindYandexSuggestionsData = AxiosResponse<SuccessData>;\nexport type FindYandexSuggestionsConfig = { params: FindYandexSuggestionsParams };\n\nexport function findYandexSuggestionsRequest({ params }: FindYandexSuggestionsConfig) {\n return axios.get<SuccessData>('https://suggest-maps.yandex.ru/v1/suggest', {\n params,\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'comma' }),\n });\n}\n","// документация https://yandex.ru/dev/geocode/doc/ru/request\nimport axios, { AxiosResponse } from 'axios';\nimport qs from 'qs';\n\ntype Kind =\n | 'house'\n | 'street'\n | 'metro'\n | 'district'\n | 'locality'\n | 'area'\n | 'province'\n | 'country'\n | 'region'\n | 'hydro'\n | 'railway_station'\n | 'station'\n | 'route'\n | 'vegetation'\n | 'airport'\n | 'entrance'\n | 'other';\n\ntype SuccessData = {\n response: {\n GeoObjectCollection: {\n metaDataProperty: {\n GeocoderResponseMetaData: {\n fix?: string;\n request?: string;\n suggest?: string;\n found?: string;\n results?: string;\n skip?: string;\n };\n };\n featureMember: Array<{\n GeoObject: {\n metaDataProperty: {\n GeocoderMetaData: {\n kind: Kind;\n precision: 'exact' | 'number' | 'near' | 'range' | 'street' | 'other';\n text: string;\n Address: {\n country_code: string;\n postal_code: string;\n formatted: string;\n Components: Array<{ kind: Kind; name: string }>;\n };\n };\n };\n description: string;\n name: string;\n boundedBy: { Envelope: { lowerCorner: string; upperCorner: string } };\n Point: { pos: string };\n };\n }>;\n };\n };\n};\n\nexport type YandexGeocodeParams = {\n apikey: string;\n geocode: string;\n sco?: 'longlat' | 'latlong';\n kind?: 'house' | 'street' | 'metro' | 'district' | 'locality';\n rspn?: 0 | 1;\n ll?: string;\n spn?: string;\n bbox?: string;\n results?: number;\n skip?: number;\n lang?: string;\n uri?: string;\n};\n\nexport type YandexGeocodeData = AxiosResponse<SuccessData>;\nexport type YandexGeocodeConfig = { params: YandexGeocodeParams };\n\nexport function yandexGeocodeRequest({ params }: YandexGeocodeConfig) {\n return axios.get<SuccessData>('https://geocode-maps.yandex.ru/1.x', {\n params: { ...params, format: 'json' },\n paramsSerializer: params => qs.stringify(params, { arrayFormat: 'comma' }),\n });\n}\n","import * as api from './api';\n\nexport class Api {\n findDadataSuggestions = (body: api.FindDadataSuggestionsBody, headers: api.FindDadataSuggestionsHeaders) => {\n return api.findDadataSuggestionsRequest({ body, headers });\n };\n\n findYandexSuggestions = (params: api.FindYandexSuggestionsParams) => {\n return api.findYandexSuggestionsRequest({ params });\n };\n\n yandexGeocode = (params: api.YandexGeocodeParams) => {\n return api.yandexGeocodeRequest({ params });\n };\n}\n\nexport * from './api';\n"],"names":["runtime","exports","Op","Object","prototype","hasOwn","hasOwnProperty","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","obj","key","value","defineProperty","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","generator","create","Generator","context","Context","_invoke","state","method","arg","Error","undefined","done","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","type","makeInvokeMethod","fn","call","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","this","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","AsyncIterator","PromiseImpl","previousPromise","callInvokeWithMethodAndArg","resolve","reject","invoke","result","__await","then","unwrapped","error","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","doneResult","constructor","displayName","isGeneratorFunction","genFun","ctor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","toString","keys","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","catch","thrown","delegateYield","module","regeneratorRuntime","accidentalStrictMode","Function","cancelAppointmentRequest","baseURL","axios","patch","urlParams","id","headers","Accept","transformResponse","defaults","data","success","res","completeAppointmentRequest","createAppointmentRequest","post","body","findAppointmentsRequest","get","params","paramsSerializer","qs","stringify","arrayFormat","ids","byId","entity","meta","total","pageParams","updateAppointmentRequest","getPasswordRequest","checkPasswordRequest","checkTokenRequest","createAvailableFundsRequest","findAvailableFundsRequest","message","updateAvailableFundsRequest","deleteAvailableFundsRequest","createBillRequest","findBillsRequest","_id","nanoid","findBonusCalculationsRequest","_data$data2","callbackBuyerRequest","closeBuyerRequest","put","countBuyersRequest","createBuyerRequest","findBuyerByIdRequest","includePostfix","isNil","include","findBuyerClosingReasonRequest","findBuyerRejectionReasonStatisticBySrIdRequest","serviceRequestId","findBuyerStatusStatisticBySrIdRequest","findBuyerStatusesRequest","findBuyerUniquePhonesRequest","findBuyersRequest","resetBuyerStatusTimerRequest","shareBuyerRequest","updateBuyerRequest","createCallCommentRequest","_data$data","findCallByIdRequest","findCallsRequest","findFirstSuccessOutgoingCallsRequest","skipNulls","findQualityAssessmentCallsRequest","markupCallRequest","removeProxyPhoneRequest","setProxyPhoneRequest","finishOperatorWorkRequest","getOperatorStatusRequest","startOperatorWorkRequest","bookCallTaskRequest","callCallTaskRequest","callCallTaskExpertRequest","expertId","closeCallTaskRequest","createCallTaskRequest","findCallTaskByIdRequest","findCallTaskSourceInfoRequest","findCallTasksRequest","findCallTasksCountRequest","count","joinCallTaskCallRequest","returnCallTaskCallRequest","shiftCallTaskRequest","updateCallTaskRequest","findChecklistByServiceRequestIdRequest","findChecklistQuestionDictionariesRequest","updateChecklistRequest","updateChecklistTaskRequest","srId","answerId","taskId","findCommentsRequest","createCompanyRequest","findCompaniesRequest","findCompanyByIdRequest","updateCompanyRequest","approveContractRequest","createContractRequest","createContractLegalDocumentRequest","declineContractRequest","findContractByIdRequest","findContractDocumentByContractIdRequest","findContractLegalDocumentByContractIdRequest","findContractsRequest","signContractRequest","terminateContractRequest","updateContractRequest","updateContractDocumentRequest","upgradeContractRequest","createCottageComplexRequest","deleteCrossSaleRequest","realtyId","findCrossSaleRequest","updateCrossSaleRequest","getRubleAmountRequest","getCurrencyCoursesRequest","createDealRequest","createDealCategorizedFileRequest","createDealInvestPrepaymentRequest","deleteDealCategorizedFileRequest","dealId","findDealByIdRequest","findDealCategorizedFilesRequest","findDealExpertStatisticsRequest","findDealsRequest","setDealClassificationScoreRequest","setDealDoneStateRequest","setDealFinanceConfirmStateRequest","setDealGuaranteedPaymentRequest","setDealPrepaidDateRequest","setDealPrepaymentStateRequest","setDealRegisteredStateRequest","setDealSignPlannedStateRequest","setDealSignedStateRequest","terminateDealRequest","updateDealRequest","createDebtsRequest","deleteDebtRequest","findDebtsRequest","updateDebtRequest","createEventRequest","deleteEventRequest","findEventByIdRequest","findEventsRequest","updateEventRequest","createEventRequestRequest","findEventRequestsRequest","updateEventRequestRequest","createExpertCaseRequest","status","response","_err$response","_err$response2","createExpertReviewRequest","findExpertByIdRequest","findExpertCaseByIdRequest","findExpertCasesRequest","findExpertsRequest","findPublishedExpertsRequest","updateExpertCaseRequest","updateExpertReviewRequest","reviewId","findExpertCategoriesRequest","_data$pageParams","findExpertCategoryHistoryRequest","createExpertGradeRequest","findExpertGradesRequest","findExpertGradesByExpertIdRequest","uploadFilesRequest","formData","FormData","file","index","append","createIncomeRequest","deleteIncomeRequest","createInternalCrossSaleRequest","errMessage","findInternalCrossSaleInfoRequest","findInternalCrossSalesRequest","updateInternalCrossSaleRequest","createLeadAssignmentBlockRequest","deleteLeadAssignmentBlockRequest","findLeadAssignmentBlocksRequest","updateLeadAssignmentBlockRequest","findMotivationGlossaryRequest","findMotivationStatusByExpertIdRequest","calculateMotivationCommissionRequest","findPayslipsRequest","findPayslipByIdRequest","updatePayslipRequest","findPhonesRequest","callbackPhoneRequest","phoneNumber","blockPhoneRequest","unblockPhoneRequest","createPhoneBookContactRequest","deletePhoneBookContactRequest","findPhoneBookContactsRequest","updatePhoneBookContactRequest","createPhotoOrderRequest","findPhotoOrdersRequest","sendPhotoOrderFeedbackRequest","terminatePhotoOrderRequest","completePhotoOrderRequest","findRealtyDuplicateRequest","findRealtyPriceHistoryRequest","findSimilarRealtyIdsById","subscribeToRealtyUpdatesRequest","findScoringRequest","addServiceRequestAssistantRequest","approveCloseServiceRequestRequest","callbackServiceRequestRequest","changeServiceRequestCompanyRequest","closeServiceRequestRequest","completeServiceRequestModerationRequest","createInvestSellServiceRequestRequest","createServiceRequestRequest","createServiceRequestActivityRequest","createServiceRequestByCrossSaleIdRequest","createServiceRequestCategorizedFileRequest","createServiceRequestFeedbackRequest","createServiceRequestReviewRequest","createServiceRequestSellerReportRequest","deferServiceRequestRequest","deleteServiceRequestCategorizedFileRequest","deleteServiceRequestReportForSellerRequest","depublishServiceRequest","disapproveCloseServiceRequestRequest","doneServiceRequestVerificationRequest","failServiceRequestVerificationRequest","findPriceHistoryAnalyticsByIdRequest","findServiceRequestActivitiesRequest","findServiceRequestByIdRequest","findServiceRequestCategorizedFileCreatedDateRequest","category","findServiceRequestCategorizedFilesRequest","findServiceRequestCategoryByIdRequest","findServiceRequestDiscountEfficiencyPercentRequest","findServiceRequestDuplicatesRequest","findServiceRequestSellerReportsRequest","findServiceRequestShortInfoRequest","findServiceRequestShortInfoByDealIdRequest","findServiceRequestShortInfoByIdRequest","findServiceRequestStatisticsByIdRequest","findServiceRequestsRequest","findServiceRequestsKanbanRequest","publishServiceRequest","removeServiceRequestAssistantRequest","paId","restoreServiceRequest","returnDeferredServiceRequestRequest","sendServiceRequestToModerationRequest","sendServiceRequestVerificationRequest","startServiceRequestModerationRequest","startServiceRequestModerationForOldRealtyRequest","transferServiceRequest","updateServiceRequestRequest","updateServiceRequestPersonalAssistantRequest","updateServiceRequestPlanDrawRequest","createCianRatingRequest","findSoldStatisticRequest","findMarkupCallsRequest","findMarkupBySourceCallsRequest","assignSubordinateUsersRequest","createUserRequest","deleteUserRequest","findUserByIdRequest","findUserPasswordByIdRequest","findUsersRequest","findUserTokenByIdRequest","fireUserRequest","updateUserRequest","createTaskRequest","findTasksRequest","findTaskByIdRequest","updateTaskRequest","resolveTaskRequest","actualizeValuationRequest","createValuationRequest","createValuationRealtyCommentRequest","findValuationByServiceRequestIdRequest","findValuationNewsByServiceRequestIdRequest","updateValuationNewsStatusRequest","AddressBTIParamsParking","AddressBTIParamsWallsMaterial","AddressBTIParamsHeatingType","AppointmentPlace","AppointmentStatus","AppointmentNotificationType","AvailableFundsIncomeType","AvailableFundsCompanyName","AvailableFundsCostType","AvailableFundsPaymentType","AvailableFundsRealtyType","AvailableFundsPayerType","BillServiceType","BillServiceUnit","BuyerStatus","BuyerRealtyShowStatus","BuyerQuestionType","CallType","CallDefaultTelephony","CallTaskPriority","CallTaskStatus","CallTaskReason","CallTaskColdReason","CallTaskTriggeredByEvent","CallTaskType","CallTaskDirection","ChecklistTaskDictionaryDirectedFor","ContactType","ContractType","ContractStatus","ContractKind","ContractDocumentSubject","ContractDocumentKind","ContractDocumentType","ContractLegalDocumentStatus","ContractLegalDocumentType","CrossSaleContractorType","Currency","DealFileCategory","DealBillServiceType","DealNoLawyerReason","DealPartnerDealType","DealStatus","DealCategorizedFileCategory","DealParticipantSide","DealParticipantPosition","DebtPaymentType","ExpertCategoryExpertType","ExpertCategoryCategory","ExpertGradeType","FileType","FileCategory","GalleryImageType","ImageType","InternalCrossSaleStatus","LeadAssignmentBlockReason","MotivationServiceTypeValues","PhoneBookContactType","PhoneBookContactPhoneType","PhotoOrderStatus","PhotoOrderRenovation","PhotoOrderTypes","RealtyType","RealtyRenovationType","RealtyGas","RealtyHouseType","RealtyLandShape","RealtyLandUsageType","RealtyRelief","RealtyElectricity","RealtyFurniture","RealtySewerage","RealtyWindowView","ServiceRequestCategory","ServiceRequestModerationStatus","ServiceRequestStatus","ServiceRequestVerificationStatus","ServiceRequestType","ServiceRequestInvestType","ServiceRequestDepublishReason","ServiceRequestSource","ServiceRequestActivityType","ServiceRequestCategorizedFileCategory","ServiceRequestFeedbackCategory","ShapeType","SoldStatisticTypes","TaskStatus","TaskImportance","TaskNotificationType","UserTelephonyType","UserDirection","UserGender","UserLevel","UserContactInfoType","UserOffice","UserRole","UserFiredType","UserFiredReason","UserAttractionChannel","UserPhoneType","ValuationNewsActionType","ValuationNewsStatus","FindRealtyByIdDataMetaRealtyAccess","UpdateRealtyDataMetaRealtyAccess","api","_this","Parking","Ground","Multilevel","Underground","WallsMaterial","Brick","Monolith","Monobrick","Timber","Panel","Block","HeatingType","None","Central","Local","Gas","Electricity","Liquid","Furnace","SolidFuelBoiler","Place","Flat","Office","Online","NotificationType","Morning","Min15","Hour1","Hour2","Nil","Status","Planned","Completed","Cancelled","IncomeType","Cashbox","CheckingAccount","Other","CostType","BillOfCredit","BonusPaymentToMentor","BonusPaymentToTeamlead","BonusToTrainee","BonusToExpert","InternalPartnerBonusToExpert","ChargingBankAccount","LegalSupportPayment","OtherPayments","PartnerCharges","RealtyLegalCheck","ReferralForExpert","ReferralForPA","RefundOfAdvance","SafeDepositBox","DeveloperDepositPayment","BonusPaymentAsiaConsultant","SpsBonusPayment","BonusPaymentInventoryDepartmentHead","BonusPaymentInventoryDepartmentAdmin","BonusPaymentOfficeAdmin","DealNdsPayment","BonusPersonalAssistantFirstLevel","BonusPersonalAssistantSecondLevel","BonusPersonalAssistantThirdLevel","BonusPortfolioCoordinator","BonusExpoCoordinator","PaymentForPhotography","PaymentForAttractingLead","Referral","PaymentType","AdvancePaymentUnderTheAdvanceAgreement","ClosingDeal","LetterOfGuarantee","OtherPayment","Prepayment","SecurityPayment","DouPayment","DeveloperCommission","Elite","Foreign","NewFlatDeveloper","Resale","PayerType","Common","Homeapp","SalesHead","Expert","CompanyName","RuCo","VietCo","KzCo","ServiceType","SecurityDepositPayment","FullPayment","BuyServicePayment","ServiceUnit","Piece","Incoming","ShowCoordination","ShowScheduled","ShowComplete","GotOffer","Advance","Closed","Direction","Out","In","Transferred","DefaultTelephony","Voximplant","Zadarma","Priority","Low","Default","High","VeryHigh","Moscow","Asia","Open","Booked","Markup","Lead","Spam","Outgoing","Reason","WrongGeo","Double","Agent","BuyingOrSellingPart","NotReadyToPay","CantReach","ClientCall","NotBuyingOrSelling","NoPhoneNumber","WrongPhoneNumber","GotWrongNumber","MistakenlyLeftRequest","DidNotLeaveRequest","NotRelevant","LowBudget","RemoveFromAdvertising","NoAddressInMarkup","Complaint","Commercial","Test","ColdReason","InadequateOwner","UnsuitableDeal","AgentsNotAllowed","NotAnOwner","BadDocuments","TriggeredByEvent","PublishedFortnight","TerminatedContract","DealDone","DealCreated","TerminatedContractAfterPrepayment","WarmDepublished","WarmPublished","Type","Buyer","Seller","ActiveClientSearch","SlackId","SlackGroupId","SlackUsername","SlackGroupName","Email","Facebook","ICQ","IMessage","Instagram","Jabber","LinkedIn","Odnoklassniki","Skype","Telegram","VK","VoxAccount","WhatsApp","Buy","Sell","EscortSell","EscortBuy","Approved","Declined","Signed","Terminated","BookingCanceled","PrepaymentPlanned","NoPrepayment","Prepaid","DealSigned","Registered","Kind","NotExclusive","Exclusive","OnAdvance","LegalSupport","Apartment","House","HouseWithLand","RightToDemand","Subject","Escort","RealtyHistoryAnalyze","ContractCreating","MortgageSupport","MortgageRefinancing","DocumentCollecting","RealtorConsulting","DocumentSubmitting","LawSupport","OtherServices","NotFound","NotRequested","Requested","Ready","Egrn","OwnershipTransfers","ContractorType","Owner","Agency","Rub","Usd","Eur","Kzt","Aed","Vnd","Idr","Thb","Khr","FromDeveloper","NoLawyerOffice","PartnerCommission","HomeappCommission","DeleteReason","Risk","Act","ActDeveloper","OwnershipCertificate","FloorPlan","Explication","Egd","ReferenceNoDebtGku","ReferenceNoDebtRepair","ReferencePnd","ReferenceNd","PassportContractor","MarriageCertificateContractor","SpouseAgreementContractor","Invest","PartPayment","Category","Lawyer","BankEmployee","Relative","Investor","ExpertType","NewExpert","ExperienceExpert","Red","Yellow","Green","NoCategory","Junior","Bronze","Silver","Gold","Image","Audio","Video","Document","EGRN","Main","Portrait","Vacation","RequestTeamlead","ViolationRegulations","Trainee","PhoneType","Additional","Aborted","Created","CreationFailed","EpicFail","ExecutionFailed","Init","PhotographerFound","PhotographerNotFound","Success","Renovation","Author","Cosmetic","Euro","FlatSecondary","FlatNew","RenovationType","FineFinishing","RoughFinishing","Connected","Border","Possible","Autonomous","HouseType","Townhouse","Cottage","Part","Duplex","LandShape","Regular","Irregular","LandUsageType","IGS","LPH","DNP","SNT","Farm","Garden","Investproject","Relief","Elevations","Slope","Hills","Furniture","Full","Sewerage","Cesspool","Septic","Bio","WindowView","Street","Yard","Both","Depublished","Discounted","Cold","Warm","New","Hot","ModerationStatus","Sent","Done","LeadExpert","LeadAdv","AsiaSell","InvestType","Buyout","DepublishReason","TemporaryDepublish","ForeverDepublish","HardToSellObject","SoldListing","SoldByOwner","DepublishOnAdvance","ClientRequest","DeveloperRequest","BadObject","BadObjectElite","CrossSell","Source","Apk","Recommendations","ColdCCMoscow","ColdCCZelenograd","ColdCCZhukovsky","Marketing","Comment","Edit","Transfer","Call","Task","Contract","PublicationProblem","MarkedUp","Published","Republished","PriceChanged","RequestPriceDown","ContractExpired","CallTaskCreated","RealtyShowScheduled","RealtyShowCompleted","RealtyShowCancelled","Appointment","AdvAgreement","AdvanceForm","CheckList","Kc","OwnershipCheckReport","OwnershipJustification","PassportClient","AdministrativeDistrict","Complex","District","Microdistrict","Importance","Normal","InProgress","Resolved","TelephonyType","Vox","GalleryType","Sip","Work","Home","VirtualVox","ContactInfoType","Icq","Imessage","Whatsapp","Linkedin","Vk","NewBuildings","Private","Gender","Female","Male","Level","Teamleader","Groupleader","TopExpert","Lyubertsy","Zelenograd","Zhukovsky","Role","User","Moderator","Supervisor","Mentor","Teamlead","GroupLead","CallOperator","Admin","Developer","LawyerHead","Finance","FinanceHead","ExternalPartner","QualityAssessor","ChatQualityAssessor","TechSupport","LiquidityReportReader","CashManager","DataScience","Reader","HR","PersonalAssistantFirstLevel","PersonalAssistantSecondLevel","PersonalAssistantThirdLevel","PortfolioCoordinator","ExpoCoordinator","FiredType","Fired","Quite","Agreement","FiredReason","LeavesRealEstate","WentToAnother","FailureToFulfillThePlan","ToxicityAndNegativity","ForPersonalReasons","LackOfSalary","Burnout","OtherComment","TemporaryBlocking","AttractionChannel","PartnersOffice","HeadhunterXOHR","HeadhunterXOKC","KCCianBase","HeadhunterResponse","Site","Activity","Webinar","createAddressRequest","errors","createAddressBtiRequest","findAddressBtiByIdRequest","updateAddressBtiRequest","findComplexByIdRequest","included","findComplexHousingByComplexIdRequest","findComplexesRequest","findCottageComplexesRequest","findHighwaysRequest","findMetroStationsRequest","createRealtyRequest","createRealtyHouseHighwayDistanceRequest","createRealtyImageRequest","createRealtyMetroDistanceRequest","deleteRealtyImageRequest","findRealtiesRequest","options","Array","isArray","findRealtyByIdRequest","consistency","realtyAccess","updateRealtyRequest","updateRealtyHouseHighwayDistanceRequest","updateRealtyImageRequest","updateRealtyMetroDistanceRequest","AddressMetroDistanceMethod","RealtyDealType","RealtyDealTypeFlatNew","RealtyRenovationTypeFlatNew","RealtyFlatKind","RealtyParkingType","RealtyFlatType","RealtyDDUOwnerType","RealtyHeating","RealtyLandPurpose","RealtyPlumbing","RealtyWallsMaterial","RealtyToiletKind","RealtyAdditionalPriceCurrency","RealtyImageGroup","RealtyMetroDistanceMethod","Series","Method","Car","Foot","DealType","Free","Alternative","DealTypeFlatNew","Reassignment","DKP","DDU","PreSaleContract","RenovationTypeFlatNew","FlatKind","Typical","Penthouse","TwoTier","ParkingType","Roof","FlatType","DDUOwnerType","Physical","Heating","LandPurpose","Settlements","Agricultural","Industrial","Forests","Aqua","Reservations","Guarded","Plumbing","Hole","Well","Wood","AeratedConcrete","ReinforcedConcrete","FrameMetal","FrameWood","FoamBlock","SandwichPanels","Shield","AdditionalPriceCurrency","Group","Photo","Plan","findActualEventsRowRequest","findEventsRowRequest","findExternalLinksRequest","externalSite","findHomeappStatisticRowByRealtyId","findNewBuildingsRequest","_err$response3","_err$response3$data$d","findPlannedEventsRowRequest","findStatisticRowRequest","source","getFirstPublishedAtRequest","getPublishedDaysRequest","updateRealtyPublicIdRequest","uploadResumeRequest","firstname","lastname","phone","email","comment","vacancy_name","ActualEventsRowSource","PlannedEventsRowSite","EventsRowSource","AVITO","YANDEX","CIAN","DOMCLICK","HOMEAPP","FACEBOOK","findAddressByIdRequest","findAddressesByRealtyParamsRequest","findComplexIdsRequest","_err$response2$data","uploadImagesRequest","calculateValuationRequest","ValuationConcurrency","Rooms","Concurrency","Medium","MediumHigh","countApartmentsRequest","findApartmentsRequest","findBuildingCoordinatesRequest","chunk","lat","lng","isNewBuilding","findBuildingOffersRequest","offersNumber","ApartmentMapPointDistanceType","ApartmentMapPointType","MapPointDistanceType","MapPointType","findDadataSuggestionsRequest","findYandexSuggestionsRequest","yandexGeocodeRequest","format"],"mappings":"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ACA,gBACA,kBACA,eACA,eACA,aACA,YACA,aACA,iBACA,cACA,cACA,gBACA,SACA,SACA,UACA,UACA,aACA,SACA,UACA,QACA,SACA,YACA,YACA,cACA,cACA,SACA,SACA,iBACA,eACA,eACA,QACA,YACA,mBACA,YACA,YACA,YACA,WACA,WACA,cACA,WACA,WACA,WACA,aACA,WACA,WACA,kBACA,aACA,aACA,aACA,cACA,cACA,aACA,iBACA,aACA,cACC,YACA,eACA,YACA,YACA,YACA,YACA,YACA,cACA,YACA,eACA,mBACA,gCACA,kBACA,mBACA,kBACA,kBACA,mBACA,iBACA,kBACA,kBACA,iBACA,kBACA,kBACA,eACA,iBACA,eACA,eACA,mBACA,cACA,aACA,YACA,YACA,YACA,YACA,kBACA,YACA,aACA,mBACA,aACA,YACA,iBACA,iBACA,aACA,aACA,YACA,eACA,iBACA,YACA,sBACA,YACA,eACA,qBACA,qBACA,kBACA,qBACA,mBACA,eACA,mBACA,mBACA,mBACA,eACA,eACA,qBACA,wBACA,eACA,YACA,WACA,cACA,cACA,aACA,YACA,mBACA,iBACA,eACA,SACA,YACA,QACA,UACA,uBACA,UACA,WACA,WACA,cACA,cACA,YACA,WACA,UACA,WACA,aACA,UACA,aACA,aACA,aACA,cACA,YACA,aACA,YACA,cACA,cACA,cACA,cACA,aACA,cACA,aACA,iBACA,YACA,eACA,aACA,aACA,YACA,WACA,aACA,YACA,YACA,eACA,eACA,YACA,aACA,WACA,WACA,YACA,aACA,aACA,YACA,cACA,cACA,YACA,aACA,cACA,SACA,aACA,aACA,UACA,aACA,cACA,YACA,oBACA,mBACA,WACA,cACA,cACA,cACA,iBACA,aACA,mBACA,iBACA,qBACA,WACA,SACA,eACA,iBACA,YACA,cACA,WACA,aACA,UACA,cACA,WACA,aACA,eACA,WACA,YACA,YACA,aACA,UACA,SACA,YACA,sBACA,aACA,kBACA,YACA,YACA,cACA,cACA,aACA,WACA,YACA,WACA,cACA,WACA,YACA,WACA,YACA,UACA,WACA,gBACA,WACA,aACA,aACA,WACA,aACA,WACA,WACA,YACA,sBACA,UACA,YACA,WACA,WACA,cACA,WACA,cACA,YACA,mBACA,aACA,kBACA,YACA,cACA,YACA,YACA,cACA,mBACA,mBACA,eACA,gBACA,cACA,aACA,gBACA,wBACA,aACA,WACA,cACA,YACA,YACA,YACA,YACA,WACA,WACA,gBACA,YACA,YACA,WACA,gBACA,YACA,YACA,WACA,WACA,WACA,cACA,iBACA,WACA,WACA,WACA,gBACA,cACA,YACA,YACA,YACA,WACA,gBACA,YACA,YACA,SACA,aACA,aACA,aACA,YACA,aACA,WACA,YACA,eACA,YACA,YACA,YACA,aACA,iBACA,qBACA,WACA,cACA,YACA,SACA,eACA,YACA,iBACA,cACA,yCCxYqC,CAC5CC,iBACGjB,GAA2BkB,KAAM,eACjClB,GAA2BmB,MAAO,+BCqBP,CAC9B3W,eACG3M,GAAWmV,eAAgB,cAC3BnV,GAAWoV,SAAU,iBACrBpV,GAAWoP,OAAQ,UAEtBmU,mBACGnB,GAAeoB,MAAO,uBACtBpB,GAAeqB,aAAc,mBAEhCC,0BACGrB,GAAsBsB,cAAe,qBACrCtB,GAAsBuB,KAAM,SAC5BvB,GAAsBwB,KAAM,SAC5BxB,GAAsByB,iBAAkB,4CAE3CzO,yBACGpV,GAAqBuD,MAAO,iBAC5BvD,GAAqB+U,QAAS,eAC9B/U,GAAqBgV,UAAW,mBAChChV,GAAqBiV,MAAO,WAE/B6O,gCACGzB,GAA4B9e,MAAO,iBACnC8e,GAA4BhN,eAAgB,sBAC5CgN,GAA4B/M,gBAAiB,uBAEhDyO,mBACGzB,GAAe0B,SAAU,aACzB1B,GAAe2B,WAAY,cAC3B3B,GAAe4B,SAAU,oBAE5BC,sBACG5B,GAAkBtY,MAAO,cACzBsY,GAAkBzf,aAAc,eAChCyf,GAAkB3f,QAAS,cAC3B2f,GAAkB1f,YAAa,oBAC/B0f,GAAkB6B,MAAO,eAE5BC,mBACG7B,GAAexe,MAAO,cACtBwe,GAAetT,WAAY,kBAE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"}