PageSourceSearch

https://xn--80aaeqi9acedghr.xn--p1ai/assets/Calculator-BPfb_w_b.js

js xn--80aaeqi9acedghr.xn--p1ai collected 2026-10-08 00:54:27 UTC 51,355 bytes, 1 lines download raw bytes

1import{j as t}from"./mui-QvUlZY0i.js";import{a as d,L as O,u as Ce,h as Ae}from"./react-wCjiwzGT.js";import{a3 as n,a2 as s,b9 as D,bo as G,bH as i,dv as q,dw as E,bi as Se,dx as Ne,dy as Pe,c8 as le,dz as U,dA as Re,dB as ce,bg as de,dC as ue,a5 as ze,dD as Ie,dE as Le,dF as Oe,d0 as De}from"./index-BNHegflB.js";import{g as Ve,S as Fe,P as $e,p as Me,c as Be}from"./calculatorAPI-DE24f_yZ.js";import{z as ye,bz as qe}from"./icons-XKjhP133.js";import{T as Ue}from"./ToolPageLayout-w_A2bR9J.js";import{T as He}from"./ToolsBackLink-CEiw4Ecz.js";import{T as Ke,a as Ge,b as We}from"./ReportEmailGate-B_Vdsewt.js";import{T as Ye,a as pe,b as Ze,c as Je,d as Qe}from"./ToolHint-DQv-DYHa.js";import{f as me,p as Xe}from"./ToolNumberField-CsgmsMRA.js";import{C as et}from"./CtxBar-BoDR89l8.js";import{B as tt}from"./BigVerdict-BKbFNOkV.js";import{N as at}from"./NextTools-FhOLP38h.js";import{T as rt}from"./ToolExportButton-D4M9X_n5.js";import{c as he,a as H,b as st,i as ot}from"./calculatorLogic-B41VUaxH.js";import"./vendor-Bit1SVlG.js";import"./publicAPI-hLGAyblM.js";import"./calculatorAutoFill-BAuNsnxg.js";import"./ToolCalculateButton-DH3jiHqY.js";import"./ConfirmAction-Cpv43mY4.js";import"./leadAnalytics-C1CgNBit.js";import"./toolToApplication-Dyj4pRSB.js";import"./NormaSide-CS1BOKiT.js";import"./MobileActionBar-XNwSqI3h.js";import"./toolSources-aOP0n3j1.js";const K=({title:e,children:r,tag:u="h2"})=>{const[p,l]=d.useState(!1);return t.jsxs("div",{className:"bg-white dark:bg-slate-800 rounded-card border border-slate-100 dark:border-slate-700 shadow-card overflow-hidden",children:[t.jsxs("button",{type:"button",onClick:()=>l(!p),className:"w-full flex items-center justify-between px-5 py-4 hover:bg-slate-50 dark:hover:bg-slate-700/30 transition-colors",children:[t.jsx(u,{className:"text-sm font-bold text-slate-700 dark:text-slate-200 text-left",children:e}),t.jsx(ye,{size:18,className:`text-slate-400 shrink-0 ml-2 transition-transform duration-300 ${p?"rotate-180":""}`})]}),t.jsx("div",{className:`transition-all duration-300 ease-in-out ${p?"max-h-[2000px] opacity-100":"max-h-0 opacity-0"} overflow-hidden`,children:t.jsx("div",{className:"px-5 pb-5",children:r})})]})},it=({content:e})=>t.jsxs("div",{className:"flex flex-col gap-3 mt-6",children:[e.intro&&t.jsx("p",{className:"text-sm text-slate-500 dark:text-slate-400 leading-relaxed px-1",children:e.intro}),e.sections.map((r,u)=>t.jsx(K,{title:r.title,children:t.jsx("div",{className:"flex flex-col gap-3",children:r.paragraphs.map((p,l)=>t.jsx("p",{className:"text-sm text-slate-600 dark:text-slate-400 leading-relaxed",children:p},l))})},u)),e.advantages.length>0&&t.jsx(K,{title:"Почему ПротивПожара.РФ",children:t.jsx("ul",{className:"flex flex-col gap-2",children:e.advantages.map((r,u)=>t.jsxs("li",{className:"flex items-start gap-2 text-sm text-slate-600 dark:text-slate-400",children:[t.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-orange-500 mt-1.5 shrink-0"}),r]},u))})}),e.faq.length>0&&t.jsx(K,{title:"Часто задаваемые вопросы",children:t.jsx("div",{className:"flex flex-col gap-3",children:e.faq.map((r,u)=>t.jsx(nt,{question:r.question,answer:r.answer},u))})})]}),nt=({question:e,answer:r})=>{const[u,p]=d.useState(!1);return t.jsxs("div",{className:"border border-slate-100 dark:border-slate-600 rounded-field overflow-hidden",children:[t.jsxs("button",{type:"button",onClick:()=>p(!u),className:"w-full flex items-center justify-between px-4 py-3 hover:bg-slate-50 dark:hover:bg-slate-700/30 transition-colors",children:[t.jsx("h3",{className:"text-xs font-bold text-slate-700 dark:text-slate-300 text-left",children:e}),t.jsx(ye,{size:14,className:`text-slate-400 shrink-0 ml-2 transition-transform duration-300 ${u?"rotate-180":""}`})]}),t.jsx("div",{className:`transition-all duration-300 ease-in-out ${u?"max-h-[500px] opacity-100":"max-h-0 opacity-0"} overflow-hidden`,children:t.jsx("p",{className:"px-4 pb-3 text-xs text-slate-500 dark:text-slate-400 leading-relaxed",children:r})})]})},N=[{slug:"montazh-pozharnoj-signalizacii",activityType:s.Installation,workCategory:n.FireAlarm,title:"Стоимость монтажа пожарной сигнализации за м² | ПротивПожара.РФ",description:"Монтаж пожарной сигнализации: базовая ставка калькулятора — 220–460 ₽/м², минимум 45 000 ₽ (2026). Уточните расчёт под объект и получите КП по заявке.",keywords:"стоимость монтажа пожарной сигнализации, монтаж АПС цена за м², монтаж АПС стоимость, калькулятор монтажа АПС",h1:"Калькулятор стоимости монтажа пожарной сигнализации"},{slug:"montazh-videonablyudeniya",activityType:s.Installation,workCategory:n.VideoSurveillance,title:"Стоимость монтажа видеонаблюдения — расчёт за м² | ПротивПожара.РФ",description:"Монтаж видеонаблюдения: базовая ставка калькулятора — 
1150–310 ₽/м², минимум 30 000 ₽ (2026). Уточните расчёт под объект и получите КП по заявке.",keywords:"стоимость монтажа видеонаблюдения, монтаж видеонаблюдения цена за м², монтаж камер видеонаблюдения стоимость, калькулятор монтажа видеонаблюдения",h1:"Калькулятор стоимости монтажа видеонаблюдения"},{slug:"montazh-ops",activityType:s.Installation,workCategory:"ОПС",title:"Стоимость монтажа ОПС — расчёт за м² | ПротивПожара.РФ",description:"Монтаж ОПС: базовая ставка калькулятора — 250–520 ₽/м², минимум 70 000 ₽ (2026). Уточните расчёт под объект и получите КП по заявке.",keywords:"стоимость монтажа ОПС, монтаж ОПС цена за м², монтаж охранно-пожарной сигнализации стоимость, калькулятор монтажа ОПС",h1:"Калькулятор стоимости монтажа ОПС"},{slug:"montazh-skud",activityType:s.Installation,workCategory:n.AccessControl,title:"Стоимость монтажа СКУД — расчёт за м² | ПротивПожара.РФ",description:"Монтаж СКУД: базовая ставка калькулятора — 100–210 ₽/м², минимум 35 000 ₽ (2026). Уточните расчёт под объект и получите КП по заявке.",keywords:"стоимость монтажа СКУД, монтаж СКУД цена за м², монтаж системы контроля доступа стоимость, калькулятор монтажа СКУД",h1:"Калькулятор стоимости монтажа СКУД"},{slug:"montazh-soue",activityType:s.Installation,workCategory:n.NotificationSystems,title:"Стоимость монтажа СОУЭ — расчёт за м² | ПротивПожара.РФ",description:"Монтаж СОУЭ: базовая ставка калькулятора — 200–410 ₽/м², минимум 52 000 ₽ (2026). Уточните расчёт под объект и получите КП по заявке.",keywords:"стоимость монтажа СОУЭ, монтаж СОУЭ цена за м², монтаж системы оповещения стоимость, калькулятор монтажа СОУЭ",h1:"Калькулятор стоимости монтажа СОУЭ"},{slug:"montazh-ognezashchity",activityType:s.Installation,workCategory:n.FireProtection,title:"Стоимость огнезащитной обработки — расчёт за м² | ПротивПожара.РФ",description:"Огнезащитная обработка: базовая ставка калькулятора — 240–490 ₽/м², минимум 60 000 ₽ (2026). Уточните расчёт под объект и получите КП по заявке.",keywords:"стоимость монтажа огнезащиты, монтаж огнезащиты цена за м², монтаж огнезащитной обработки стоимость, калькулятор монтажа огнезащиты",h1:"Калькулятор стоимости огнезащитной обработки"},{slug:"montazh-pozharotusheniya",activityType:s.Installation,workCategory:n.FireExtinguishing,title:"Стоимость монтажа пожаротушения — расчёт за м² | ПротивПожара.РФ",description:"Монтаж пожаротушения: базовая ставка калькулятора — 360–740 ₽/м², минимум 150 000 ₽ (2026). Уточните расчёт под объект и получите КП по заявке.",keywords:"стоимость монтажа пожаротушения, монтаж АУПТ цена за м², монтаж АУПТ стоимость, калькулятор монтажа АУПТ",h1:"Калькулятор стоимости монтажа пожаротушения"},{slug:"montazh-dymoudaleniya",activityType:s.Installation,workCategory:n.SmokeRemoval,title:"Стоимость монтажа дымоудаления — расчёт за м² | ПротивПожара.РФ",description:"Монтаж дымоудаления: базовая ставка калькулятора — 260–530 ₽/м², минимум 120 000 ₽ (2026). Уточните расчёт под объект и получите КП по заявке.",keywords:"стоимость монтажа дымоудаления, монтаж дымоудаления цена за м², монтаж противодымной вентиляции стоимость, калькулятор монтажа дымоудаления",h1:"Калькулятор стоимости монтажа дымоудаления"},{slug:"proektirovanie-pozharnoj-signalizacii",activityType:s.Design,workCategory:n.FireAlarm,title:"Стоимость проектирования пожарной сигнализации за м² | ПротивПожара.РФ",description:"Проектирование пожарной сигнализации: базовая ставка калькулятора — 40–80 ₽/м², минимум 23 000 ₽ (2026). Уточните расчёт под объект и получите КП по заявке.",keywords:"стоимость проектирования пожарной сигнализации, проектирование АПС цена за м², проектирование АПС стоимость, калькулятор проектирования АПС",h1:"Калькулятор стоимости проектирования пожарной сигнализации"},{slug:"proektirovanie-videonablyudeniya",activityType:s.Design,workCategory:n.VideoSurveillance,title:"Стоимость проектирования видеонаблюдения за м² | ПротивПожара.РФ",description:"Проектирование видеонаблюдения: базовая ставка калькулятора — 70–140 ₽/м², минимум 10 000 ₽ (2026). Уточните расчёт под объект и получите КП по заявке.",keywords:"стоимость проектирования видеонаблюдения, проектирование видеонаблюдения цена за м², проектирование камер видеонаблюдения стоимость, калькулятор проектирования видеонаблюдения",h1:"Калькулятор стоимости проектирования видеонаблюдения"},{slug:"proektirovanie-ops",activityType:s.Design,workCategory:"ОПС",title:"Стоимость проектирования ОПС — расчёт за м² | ПротивПожара.РФ",description:"Проектирование ОПС: базовая ставка калькулятора — 50–100 ₽/м², минимум 27 000 ₽ (2026). Уточните расчёт под объект и получите КП по заявке.",keywords:"стоимость проектирования ОПС, проектирование ОПС цена за м², проектирование охранно-пожарной сигнализации стоимость, калькулятор проектирования ОПС",h1:"Калькулятор стоимости проектирования ОПС"},{slug:"proektirovanie-skud",activityType:s.Design,workCategory:n.Acce
1ssControl,title:"Стоимость проектирования СКУД — расчёт за м² | ПротивПожара.РФ",description:"Проектирование СКУД: базовая ставка калькулятора — 50–110 ₽/м², минимум 15 000 ₽ (2026). Уточните расчёт под объект и получите КП по заявке.",keywords:"стоимость проектирования СКУД, проектирование СКУД цена за м², проектирование системы контроля доступа стоимость, калькулятор проектирования СКУД",h1:"Калькулятор стоимости проектирования СКУД"},{slug:"proektirovanie-soue",activityType:s.Design,workCategory:n.NotificationSystems,title:"Стоимость проектирования СОУЭ — расчёт за м² | ПротивПожара.РФ",description:"Проектирование СОУЭ: базовая ставка калькулятора — 20–50 ₽/м², минимум 20 000 ₽ (2026). Уточните расчёт под объект и получите КП по заявке.",keywords:"стоимость проектирования СОУЭ, проектирование СОУЭ цена за м², проектирование системы оповещения стоимость, калькулятор проектирования СОУЭ",h1:"Калькулятор стоимости проектирования СОУЭ"},{slug:"proektirovanie-ognezashchity",activityType:s.Design,workCategory:n.FireProtection,title:"Стоимость проектирования огнезащиты — расчёт за м² | ПротивПожара.РФ",description:"Проектирование огнезащиты: базовая ставка калькулятора — 50–110 ₽/м², минимум 30 000 ₽ (2026). Уточните расчёт под объект и получите КП по заявке.",keywords:"стоимость проектирования огнезащиты, проектирование огнезащиты цена за м², проектирование огнезащитной обработки стоимость, калькулятор проектирования огнезащиты",h1:"Калькулятор стоимости проектирования огнезащиты"},{slug:"proektirovanie-pozharotusheniya",activityType:s.Design,workCategory:n.FireExtinguishing,title:"Стоимость проектирования пожаротушения за м² | ПротивПожара.РФ",description:"Проектирование пожаротушения: базовая ставка калькулятора — 30–70 ₽/м², минимум 50 000 ₽ (2026). Уточните расчёт под объект и получите КП по заявке.",keywords:"стоимость проектирования пожаротушения, проектирование АУПТ цена за м², проектирование АУПТ стоимость, калькулятор проектирования АУПТ",h1:"Калькулятор стоимости проектирования пожаротушения"},{slug:"proektirovanie-dymoudaleniya",activityType:s.Design,workCategory:n.SmokeRemoval,title:"Стоимость проектирования дымоудаления — расчёт за м² | ПротивПожара.РФ",description:"Проектирование дымоудаления: базовая ставка калькулятора — 70–140 ₽/м², минимум 40 000 ₽ (2026). Уточните расчёт под объект и получите КП по заявке.",keywords:"стоимость проектирования дымоудаления, проектирование дымоудаления цена за м², проектирование противодымной вентиляции стоимость, калькулятор проектирования дымоудаления",h1:"Калькулятор стоимости проектирования дымоудаления"},{slug:"obsluzhivanie-pozharnoj-signalizacii",activityType:s.Maintenance,workCategory:n.FireAlarm,title:"Стоимость ТО пожарной сигнализации в месяц и в год | ПротивПожара.РФ",description:"Обслуживание пожарной сигнализации: базовая ставка калькулятора — 
1160–320 ₽/м² за год при одном ТО, минимум 18 000 ₽. Месячная сумма — годовая, делённая на 12.",keywords:"стоимость обслуживания пожарной сигнализации, ТО АПС цена в месяц, обслуживание АПС стоимость, договор ТО АПС",h1:"Калькулятор стоимости обслуживания пожарной сигнализации"},{slug:"obsluzhivanie-videonablyudeniya",activityType:s.Maintenance,workCategory:n.VideoSurveillance,title:"Стоимость ТО видеонаблюдения в месяц и в год | ПротивПожара.РФ",description:"Обслуживание видеонаблюдения: базовая ставка калькулятора — 120–240 ₽/м² за год при одном ТО, минимум 8 000 ₽. Месячная сумма — годовая, делённая на 12.",keywords:"стоимость обслуживания видеонаблюдения, ТО видеонаблюдения цена в месяц, обслуживание камер видеонаблюдения стоимость, договор ТО видеонаблюдения",h1:"Калькулятор стоимости обслуживания видеонаблюдения"},{slug:"obsluzhivanie-ops",activityType:s.Maintenance,workCategory:"ОПС",title:"Стоимость ТО ОПС в месяц и в год | ПротивПожара.РФ",description:"Обслуживание ОПС: базовая ставка калькулятора — 160–320 ₽/м² за год при одном ТО, минимум 25 000 ₽. Месячная сумма — годовая, делённая на 12.",keywords:"стоимость обслуживания ОПС, ТО ОПС цена в месяц, обслуживание охранно-пожарной сигнализации стоимость, договор ТО ОПС",h1:"Калькулятор стоимости обслуживания ОПС"},{slug:"obsluzhivanie-skud",activityType:s.Maintenance,workCategory:n.AccessControl,title:"Стоимость ТО СКУД в месяц и в год | ПротивПожара.РФ",description:"Обслуживание СКУД: базовая ставка калькулятора — 60–130 ₽/м² за год при одном ТО, минимум 13 000 ₽. Месячная сумма — годовая, делённая на 12.",keywords:"стоимость обслуживания СКУД, ТО СКУД цена в месяц, обслуживание системы контроля доступа стоимость, договор ТО СКУД",h1:"Калькулятор стоимости обслуживания СКУД"},{slug:"obsluzhivanie-soue",activityType:s.Maintenance,workCategory:n.NotificationSystems,title:"Стоимость ТО СОУЭ в месяц и в год | ПротивПожара.РФ",description:"Обслуживание СОУЭ: базовая ставка калькулятора — 140–290 ₽/м² за год при одном ТО, минимум 21 000 ₽. Месячная сумма — годовая, делённая на 12.",keywords:"стоимость обслуживания СОУЭ, ТО СОУЭ цена в месяц, обслуживание системы оповещения стоимость, договор ТО СОУЭ",h1:"Калькулятор стоимости обслуживания СОУЭ"},{slug:"obsluzhivanie-ognezashchity",activityType:s.Maintenance,workCategory:n.FireProtection,title:"Стоимость обслуживания огнезащиты в месяц и в год | ПротивПожара.РФ",description:"Обслуживание огнезащиты: базовая ставка калькулятора — 60–120 ₽/м² за год при одном ТО, минимум 22 500 ₽. Месячная сумма — годовая, делённая на 12.",keywords:"стоимость обслуживания огнезащиты, ТО огнезащиты цена в месяц, обслуживание огнезащитной обработки стоимость, договор ТО огнезащиты",h1:"Калькулятор стоимости обслуживания огнезащиты"},{slug:"obsluzhivanie-pozharotusheniya",activityType:s.Maintenance,workCategory:n.FireExtinguishing,title:"Стоимость ТО пожаротушения в месяц и в год | ПротивПожара.РФ",description:"Обслуживание пожаротушения: базовая ставка калькулятора — 
1160–320 ₽/м² за год при одном ТО, минимум 45 000 ₽. Месячная сумма — годовая, делённая на 12.",keywords:"стоимость обслуживания пожаротушения, ТО АУПТ цена в месяц, обслуживание АУПТ стоимость, договор ТО АУПТ",h1:"Калькулятор стоимости обслуживания пожаротушения"},{slug:"obsluzhivanie-dymoudaleniya",activityType:s.Maintenance,workCategory:n.SmokeRemoval,title:"Стоимость ТО дымоудаления в месяц и в год | ПротивПожара.РФ",description:"Обслуживание дымоудаления: базовая ставка калькулятора — 100–210 ₽/м² за год при одном ТО, минимум 23 000 ₽. Месячная сумма — годовая, делённая на 12.",keywords:"стоимость обслуживания дымоудаления, ТО дымоудаления цена в месяц, обслуживание противодымной вентиляции стоимость, договор ТО дымоудаления",h1:"Калькулятор стоимости обслуживания дымоудаления"},{slug:"postavka-oborudovaniya-pozharnoj-signalizacii",activityType:s.EquipmentSupply,workCategory:n.FireAlarm,title:"Стоимость оборудования пожарной сигнализации за м² | ПротивПожара.РФ",description:"Стоимость оборудования пожарной сигнализации без монтажа: базовая ставка калькулятора — 100–210 ₽/м², минимум 22 000 ₽ (2026). Уточните расчёт под объект.",keywords:"стоимость оборудования пожарной сигнализации, оборудование АПС цена, оборудование АПС за м²",h1:"Калькулятор стоимости оборудования пожарной сигнализации"},{slug:"postavka-oborudovaniya-videonablyudeniya",activityType:s.EquipmentSupply,workCategory:n.VideoSurveillance,title:"Стоимость оборудования видеонаблюдения за м² | ПротивПожара.РФ",description:"Стоимость оборудования видеонаблюдения без монтажа: базовая ставка калькулятора — 200–420 ₽/м², минимум 15 000 ₽ (2026). Уточните расчёт под объект.",keywords:"стоимость оборудования видеонаблюдения, оборудование видеонаблюдения цена, оборудование камер видеонаблюдения за м²",h1:"Калькулятор стоимости оборудования видеонаблюдения"},{slug:"postavka-oborudovaniya-ops",activityType:s.EquipmentSupply,workCategory:"ОПС",title:"Стоимость оборудования ОПС — расчёт за м² | ПротивПожара.РФ",description:"Стоимость оборудования ОПС без монтажа: базовая ставка калькулятора — 100–210 ₽/м², минимум 28 000 ₽ (2026). Уточните расчёт под объект.",keywords:"стоимость оборудования ОПС, оборудование ОПС цена, оборудование охранно-пожарной сигнализации за м²",h1:"Калькулятор стоимости оборудования ОПС"},{slug:"postavka-oborudovaniya-skud",activityType:s.EquipmentSupply,workCategory:n.AccessControl,title:"Стоимость оборудования СКУД — расчёт за м² | ПротивПожара.РФ",description:"Стоимость оборудования СКУД без монтажа: базовая ставка калькулятора — 
1190–390 ₽/м², минимум 27 000 ₽ (2026). Уточните расчёт под объект.",keywords:"стоимость оборудования СКУД, оборудование СКУД цена, оборудование системы контроля доступа за м²",h1:"Калькулятор стоимости оборудования СКУД"},{slug:"postavka-oborudovaniya-soue",activityType:s.EquipmentSupply,workCategory:n.NotificationSystems,title:"Стоимость оборудования СОУЭ — расчёт за м² | ПротивПожара.РФ",description:"Стоимость оборудования СОУЭ без монтажа: базовая ставка калькулятора — 340–700 ₽/м², минимум 30 000 ₽ (2026). Уточните расчёт под объект.",keywords:"стоимость оборудования СОУЭ, оборудование СОУЭ цена, оборудование системы оповещения за м²",h1:"Калькулятор стоимости оборудования СОУЭ"},{slug:"postavka-oborudovaniya-ognezashchity",activityType:s.EquipmentSupply,workCategory:n.FireProtection,title:"Стоимость материалов огнезащиты — расчёт за м² | ПротивПожара.РФ",description:"Стоимость материалов огнезащиты без монтажа: базовая ставка калькулятора — 410–840 ₽/м², минимум 35 000 ₽ (2026). Уточните расчёт под объект.",keywords:"стоимость оборудования огнезащиты, оборудование огнезащиты цена, оборудование огнезащитной обработки за м²",h1:"Калькулятор стоимости материалов огнезащиты"},{slug:"postavka-oborudovaniya-pozharotusheniya",activityType:s.EquipmentSupply,workCategory:n.FireExtinguishing,title:"Стоимость оборудования пожаротушения — расчёт за м² | ПротивПожара.РФ",description:"Стоимость оборудования пожаротушения без монтажа: базовая ставка калькулятора — 1 220–2 520 ₽/м², минимум 100 000 ₽ (2026). Уточните расчёт под объект.",keywords:"стоимость оборудования пожаротушения, оборудование АУПТ цена, оборудование АУПТ за м²",h1:"Калькулятор стоимости оборудования пожаротушения"},{slug:"postavka-oborudovaniya-dymoudaleniya",activityType:s.EquipmentSupply,workCategory:n.SmokeRemoval,title:"Стоимость оборудования дымоудаления — расчёт за м² | ПротивПожара.РФ",description:"Стоимость оборудования дымоудаления без монтажа: базовая ставка калькулятора — 820–1 680 ₽/м², минимум 80 000 ₽ (2026). Уточните расчёт под объект.",keywords:"стоимость оборудования дымоудаления, оборудование дымоудаления цена, оборудование противодымной вентиляции за м²",h1:"Калькулятор стоимости оборудования дымоудаления"}],lt=new Map(N.map(e=>[e.slug,e]));function ct(e){return lt.get(e)}const S={title:"Калькулятор стоимости пожарной безопасности | ПротивПожара.РФ",description:"Онлайн-расчёт стоимости монтажа, проектирования, обслуживания и оборудования систем пожарной безопасности: базовые ставки за м², вилка цен, разбивка работ и материалов.",keywords:"калькулятор пожарной безопасности, стоимость пожарной сигнализации, расчёт стоимости монтажа АПС, цена видеонаблюдения, стоимость СКУД, стоимость СОУЭ, расчёт пожаротушения, огнезащита стоимость, дымоудаление цена",h1:"Калькулятор стоимости работ по пожарной безопасности"},W=e=>`${D}/${e}`,dt=[s.Installation,s.Design,s.Maintenance,s.EquipmentSupply];function ut(){return dt.map(e=>({activityType:e,items:N.filter(r=>r.activityType===e).map(r=>({slug:r.slug,href:W(r.slug),workCategory:r.workCategory}))})).filter(e=>e.items.length>0)}const pt=()=>{const e=ut();return t.jsxs("section",{className:"mt-10",children:[t.jsx("h2",{className:"text-base font-bold text-slate-700 dark:text-slate-200 mb-1",children:"Расчёт по виду работ и системе"}),t.jsx("p",{className:"text-xs text-slate-400 dark:text-slate-500 mb-4",children:"Отдельная страница на каждое сочетание — с ценами, регламентом и частыми вопросами по этой системе."}),t.jsx("div",{className:"grid gap-4 sm:grid-cols-2",children:e.map(r=>
1t.jsxs("div",{className:"bg-white dark:bg-slate-800 rounded-card border border-slate-100 dark:border-slate-700 shadow-card p-5",children:[t.jsx("h3",{className:"text-sm font-bold text-slate-700 dark:text-slate-200 mb-3",children:r.activityType}),t.jsx("ul",{className:"space-y-1.5",children:r.items.map(u=>t.jsx("li",{children:t.jsx(O,{to:u.href,className:"text-sm font-medium text-brand-ink hover:underline dark:text-orange-400",children:G(u.workCategory)})},u.slug))})]},r.activityType))})]})},mt=({slug:e})=>{const r=N.find(y=>y.slug===e);if(!r)return null;const u=N.filter(y=>y.slug!==e&&y.activityType===r.activityType),p=N.filter(y=>y.slug!==e&&y.workCategory===r.workCategory),l=G(r.workCategory);return t.jsxs("section",{className:"mt-8 grid gap-4 sm:grid-cols-2",children:[t.jsxs("div",{className:"bg-white dark:bg-slate-800 rounded-card border border-slate-100 dark:border-slate-700 shadow-card p-5",children:[t.jsxs("h2",{className:"text-sm font-bold text-slate-700 dark:text-slate-200 mb-3",children:[r.activityType," других систем"]}),t.jsx("ul",{className:"space-y-1.5",children:u.map(y=>t.jsx("li",{children:t.jsx(O,{to:W(y.slug),className:"text-sm font-medium text-brand-ink hover:underline dark:text-orange-400",children:G(y.workCategory)})},y.slug))})]}),t.jsxs("div",{className:"bg-white dark:bg-slate-800 rounded-card border border-slate-100 dark:border-slate-700 shadow-card p-5",children:[t.jsxs("h2",{className:"text-sm font-bold text-slate-700 dark:text-slate-200 mb-3",children:["Другие работы · ",l]}),t.jsx("ul",{className:"space-y-1.5",children:p.map(y=>t.jsx("li",{children:t.jsx(O,{to:W(y.slug),className:"text-sm font-medium text-brand-ink hover:underline dark:text-orange-400",children:y.activityType})},y.slug))}),t.jsx(O,{to:D,className:"inline-block mt-3 text-xs text-slate-400 dark:text-slate-500 hover:underline",children:"Все расчёты раздела"})]})]})},ht="2026-09-29",yt=["январь","февраль","март","апрель","май","июнь","июль","август","сентябрь","октябрь","ноябрь","декабрь"],gt=(()=>{const[e,r]=ht.split("-").map(Number);return`${yt[r-1]} ${e}`})(),xt=Object.assign({
1"./seoArticles/montazh-dymoudaleniya.ts":()=>i(()=>import("./montazh-dymoudaleniya-BQqHsWPl.js"),[]).then(e=>e.default),
1"./seoArticles/montazh-ognezashchity.ts":()=>i(()=>import("./montazh-ognezashchity-C3Umj6qY.js"),[]).then(e=>e.default),
1"./seoArticles/montazh-ops.ts":()=>i(()=>import("./montazh-ops-CTs6FdQK.js"),[]).then(e=>e.default),
1"./seoArticles/montazh-pozharnoj-signalizacii.ts":()=>i(()=>import("./montazh-pozharnoj-signalizacii-B1aGVYh8.js"),[]).then(e=>e.default),
1"./seoArticles/montazh-pozharotusheniya.ts":()=>i(()=>import("./montazh-pozharotusheniya-D-7H0t7S.js"),[]).then(e=>e.default),
1"./seoArticles/montazh-skud.ts":()=>i(()=>import("./montazh-skud-CrUUItKI.js"),[]).then(e=>e.default),
1"./seoArticles/montazh-soue.ts":()=>i(()=>import("./montazh-soue-WuJlQCjA.js"),[]).then(e=>e.default),
1"./seoArticles/montazh-videonablyudeniya.ts":()=>i(()=>import("./montazh-videonablyudeniya-DWJP-0wL.js"),[]).then(e=>e.default),
1"./seoArticles/obsluzhivanie-dymoudaleniya.ts":()=>i(()=>import("./obsluzhivanie-dymoudaleniya-jySs6QzS.js"),[]).then(e=>e.default),
1"./seoArticles/obsluzhivanie-ognezashchity.ts":()=>i(()=>import("./obsluzhivanie-ognezashchity-rIeUIIaA.js"),[]).then(e=>e.default),
1"./seoArticles/obsluzhivanie-ops.ts":()=>i(()=>import("./obsluzhivanie-ops-Bmb-4Vct.js"),[]).then(e=>e.default),
1"./seoArticles/obsluzhivanie-pozharnoj-signalizacii.ts":()=>i(()=>import("./obsluzhivanie-pozharnoj-signalizacii-Cul8PNnj.js"),[]).then(e=>e.default),
1"./seoArticles/obsluzhivanie-pozharotusheniya.ts":()=>i(()=>import("./obsluzhivanie-pozharotusheniya-8POBnsk8.js"),[]).then(e=>e.default),
1"./seoArticles/obsluzhivanie-skud.ts":()=>i(()=>import("./obsluzhivanie-skud-DYOpFf89.js"),[]).then(e=>e.default),
1"./seoArticles/obsluzhivanie-soue.ts":()=>i(()=>import("./obsluzhivanie-soue-UX7Wcbj9.js"),[]).then(e=>e.default),
1"./seoArticles/obsluzhivanie-videonablyudeniya.ts":()=>i(()=>import("./obsluzhivanie-videonablyudeniya-ClTtSyLl.js"),[]).then(e=>e.default),
1"./seoArticles/postavka-oborudovaniya-dymoudaleniya.ts":()=>i(()=>import("./postavka-oborudovaniya-dymoudaleniya-C2oAXusI.js"),[]).then(e=>e.default),
1"./seoArticles/postavka-oborudovaniya-ognezashchity.ts":()=>i(()=>import("./postavka-oborudovaniya-ognezashchity-C1l700a2.js"),[]).then(e=>e.default),
1"./seoArticles/postavka-oborudovaniya-ops.ts":()=>i(()=>import("./postavka-oborudovaniya-ops-C4_25dnt.js"),[]).then(e=>e.default),
1"./seoArticles/postavka-oborudovaniya-pozharnoj-signalizacii.ts":()=>i(()=>import("./postavka-oborudovaniya-pozharnoj-signalizacii-FyrcQ2kb.js"),[]).then(e=>e.default),
1"./seoArticles/postavka-oborudovaniya-pozharotusheniya.ts":()=>i(()=>import("./postavka-oborudovaniya-pozharotusheniya-CRTMg9bX.js"),[]).then(e=>e.default),
1"./seoArticles/postavka-oborudovaniya-skud.ts":()=>i(()=>import("./postavka-oborudovaniya-skud-BJMQrrob.js"),[]).then(e=>e.default),
1"./seoArticles/postavka-oborudovaniya-soue.ts":()=>i(()=>import("./postavka-oborudovaniya-soue-C2KxCFvA.js"),[]).then(e=>e.default),
1"./seoArticles/postavka-oborudovaniya-videonablyudeniya.ts":()=>i(()=>import("./postavka-oborudovaniya-videonablyudeniya-Dm28bQDr.js"),[]).then(e=>e.default),
1"./seoArticles/proektirovanie-dymoudaleniya.ts":()=>i(()=>import("./proektirovanie-dymoudaleniya-F3Gfz6PY.js"),[]).then(e=>e.default),
1"./seoArticles/proektirovanie-ognezashchity.ts":()=>i(()=>import("./proektirovanie-ognezashchity-gAcGbb8m.js"),[]).then(e=>e.default),
1"./seoArticles/proektirovanie-ops.ts":()=>i(()=>import("./proektirovanie-ops-DsRz51RS.js"),[]).then(e=>e.default),
1"./seoArticles/proektirovanie-pozharnoj-signalizacii.ts":()=>i(()=>import("./proektirovanie-pozharnoj-signalizacii-Dhb_Iqno.js"),[]).then(e=>e.default),
1"./seoArticles/proektirovanie-pozharotusheniya.ts":()=>i(()=>import("./proektirovanie-pozharotusheniya-D2rpJGpr.js"),[]).then(e=>e.default),
1"./seoArticles/proektirovanie-skud.ts":()=>i(()=>import("./proektirovanie-skud-CjbNpsxE.js"),[]).then(e=>e.default),
1"./seoArticles/proektirovanie-soue.ts":()=>i(()=>import("./proektirovanie-soue-BvXb4w81.js"),[]).then(e=>e.default),
1"./seoArticles/proektirovanie-videonablyudeniya.ts":()=>i(()=>import("./proektirovanie-videonablyudeniya-CB3KhcH5.js"),[])
1.then(e=>e.default)});function vt(e){const r=xt[`./seoArticles/${e}.ts`];return r?r():Promise.resolve(void 0)}function kt(e){const[r,u]=d.useState(void 0);return d.useEffect(()=>{if(u(void 0),!e)return;let p=!0;return vt(e).then(l=>{p&&u(l)}).catch(()=>{}),()=>{p=!1}},[e]),r}let L=null;const Ht=()=>{var se,oe,ie;const{slug:e}=Ce(),r=d.useMemo(()=>e?ct(e):void 0,[e]),u=kt(r==null?void 0:r.slug),p=d.useMemo(()=>r?{title:r.title,description:r.description,keywords:r.keywords,h1:r.h1,canonical:`${q}${D}/${r.slug}`,ogTitle:r.h1}:{title:S.title,description:S.description,keywords:S.keywords,h1:S.h1,canonical:`${q}${D}`,ogTitle:S.h1},[r]),{predictions:l,setPredictions:y,lastRequests:m,setLastRequests:Y,isLoading:ge,setIsLoading:Z,error:J,setError:V,premiseTypes:xe,setPremiseTypes:Q,formState:P}=E(Se(a=>({predictions:a.predictions,setPredictions:a.setPredictions,lastRequests:a.lastRequests,setLastRequests:a.setLastRequests,isLoading:a.isLoading,setIsLoading:a.setIsLoading,error:a.error,setError:a.setError,premiseTypes:a.premiseTypes,setPremiseTypes:a.setPremiseTypes,formState:a.formState}))),[ve]=d.useState(0),[X,ee]=d.useState({}),[te]=d.useState(()=>{if(L)return L;const a=ke();return L=a,a});d.useEffect(()=>{L=null},[]);function ke(){var k,x;E.getState().clearIfExpired();const a=[],c=Ne("calculator");if(c!=null&&c.data){const h=c.data,_={};if(Array.isArray(h.activityTypes)&&h.activityTypes.length>0&&(_.selectedActivityTypes=h.activityTypes,a.push(...h.activityTypes.map(f=>String(f).toLowerCase()))),Array.isArray(h.workCategories)&&h.workCategories.length>0&&(_.selectedWorkCategories=h.workCategories,a.push(...h.workCategories.map(f=>{const j=De(String(f));return j===String(f)?j.toLowerCase():j}))),typeof h.city=="string"&&h.city&&(_.city=h.city,a.push(h.city)),h.area!==void 0&&h.area!==null&&String(h.area)){_.area=me(h.area);const f=Xe(h.area)??0;f>0&&a.push(`${f.toLocaleString("ru-RU")} м²`)}return Object.keys(_).length>0&&E.getState().setFormState(_),{source:c.source??null,parts:a}}const o=Pe.getState(),b=E.getState().formState,g={};return!b.city&&((k=o.city)!=null&&k.value)&&(g.city=String(o.city.value),a.push(String(o.city.value))),!b.area&&((x=o.area)!=null&&x.value)&&(g.area=me(o.area.value),a.push(`${Number(o.area.value).toLocaleString("ru-RU")} м²`)),Object.keys(g).length>0&&E.getState().setFormState(g),{source:null,parts:a}}const F=d.useRef([]),$=d.useRef(null),ae=d.useRef(0),[fe,M]=d.useState(!1),B=d.useCallback(()=>{M(!1),Ve().then(a=>{Q(a),a.length===0&&M(!0)}).catch(a=>{M(!0),le(a,{action:"getPremiseTypes",feature:"calculator",source:"manual"})})},[Q]);d.useEffect(()=>{U("calculator",0),Re("calculator"),B()},[B]);const be=a=>{F.current.push(a),$.current&&clearTimeout($.current),$.current=setTimeout(async()=>{var f,j,ne;const c=[...F.current];F.current=[];const o=++ae.current;Z(!0),V(null);const b=await Promise.allSettled(c.map(v=>Be(v)));if(o!==ae.current)return;const g=[],k=[],x=[];if(b.forEach((v,A)=>{v.status==="fulfilled"?(g.push(v.value),k.push(c[A])):x.push({req:c[A],reason:v.reason})}),x.forEach(({reason:v})=>{le(v instanceof Error?v:new Error(String(v)),{action:"calculatorPredict",feature:"calculator",source:"manual"})}),Z(!1),g.length===0){const v=(f=x[0])==null?void 0:f.reason;V(((ne=(j=v==null?void 0:v.response)==null?void 0:j.data)==null?void 0:ne.message)||"Ошибка при расчёте. Попробуйте ещё раз.");return}if(y(g),Y(k),x.length>0){const v=x.map(({req:A})=>`${A.activityType} — ${A.workCategory}`).join(", ");V(`Часть расчётов не удалась: ${v}. Показаны успешные.`)}const h=he(k),_=H(g,k,h);U("calculator",3,{count:g.length,total:_}),ce.getState().saveResult("calculator",{predictions:g,lastRequests:k,totalPrice:Math.round(_)},E.getState().formState)},50)},T=d.useMemo(()=>he(m),[m]),_e=T.size>0,Te=a=>ot(a,T);d.useEffect(()=>{ee({})},[l]);const re=d.useMemo(()=>l.map((a,c)=>({...a,predictedPrice:X[a.predictionId??c]??a.predictedPrice})),[l,X]),we=d.useMemo(()=>H(l,m,T),[l,m,T]),C=d.useMemo(()=>H(re,m,T),[re,m,T]),je=d.useMemo(()=>l.map(a=>a.predictionId).filter(a=>!!a),[l]),Ee=Ae(),R=d.useMemo(()=>st(l,m,T),[l,m,T]),z=a=>new Intl.NumberFormat("ru-RU",{style:"currency",currency:"RUB",maximumFractionDigits:0}).format(a),I=ce(a=>a.results.calculator),w=d.useMemo(()=>{var g,k;const a=I==null?void 0:I.result;if(!a||typeof a.totalPrice!="number"||a.totalPrice<=0)return null;
1let c=0,o=0;for(const x of a.predictions??[])c+=Number((g=x==null?void 0:x.confidenceInterval)==null?void 0:g.low)||0,o+=Number((k=x==null?void 0:x.confidenceInterval)==null?void 0:k.high)||0;const b=o>c?Math.min(92,Math.max(8,(a.totalPrice-c)/(o-c)*100)):50;return{total:a.totalPrice,low:c,high:o,pos:b}},[I]);return t.jsxs(Ue,{title:p.title,description:p.description,keywords:p.keywords,canonical:p.canonical,ogTitle:p.ogTitle,ogImage:`${q}/icon.png`,maxWidth:"max-w-[1000px]",children:[t.jsx("div",{className:"mb-4 print:hidden",children:t.jsx(He,{})}),t.jsxs("div",{hidden:l.length>0,children:[t.jsx(Ye,{icon:qe,title:p.h1,subtitle:"Прогноз стоимости работ по пожарной безопасности — по открытым прайсам подрядчиков",meta:t.jsxs(t.Fragment,{children:[t.jsx(pe,{children:"1 минута"}),t.jsxs(pe,{children:["ставки: ",gt]})]})}),t.jsx(Ze,{className:"mb-4",children:"Укажите виды работ и параметры объекта, чтобы рассчитать ориентировочную стоимость работ."}),te.parts.length>0&&t.jsxs(et,{variant:"tool",className:"mb-4",children:["Подставлено: ",t.jsx("b",{children:te.parts.join(" · ")})]}),t.jsxs(Je,{children:[t.jsxs("div",{children:[t.jsx("div",{className:"bg-white dark:bg-slate-800 rounded-card border border-slate-100 dark:border-slate-700 shadow-card p-5 sm:p-6 mb-6",children:t.jsx(Fe,{premiseTypes:xe,premiseTypesFailed:fe,onRetryPremiseTypes:B,isLoading:ge,onSubmit:be,defaultActivityTypes:r!=null&&r.activityType?[r.activityType]:void 0,defaultWorkCategories:r!=null&&r.workCategory?[r.workCategory]:void 0,resetKey:ve})}),J&&t.jsx(Ke,{children:J})]}),t.jsxs(Qe,{children:[w&&t.jsxs("div",{className:"rounded-[14px] border-[1.5px] border-brand-red bg-[linear-gradient(135deg,#FFF7F1,#fff)] p-5 shadow-card dark:border-brand-red/70 dark:bg-none dark:bg-slate-800",children:[t.jsx("div",{className:"text-xs text-slate-400 dark:text-slate-500",children:"Ориентир для вашего объекта"}),t.jsx(tt,{className:"!text-[28px]",children:z(w.total)}),w.high>w.low&&t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"relative mb-1 mt-2.5 h-[9px] rounded-full bg-[linear-gradient(90deg,#FBD9BF,var(--brand),#FBD9BF)]",children:t.jsx("i",{className:"absolute -top-1 h-4 w-4 rounded-full border-[3.5px] border-brand-red bg-white",style:{left:`calc(${w.pos}% - 8px)`}})}),t.jsxs("div",{className:"mono flex justify-between text-xs text-slate-400 dark:text-slate-500",children:[t.jsx("span",{children:w.low.toLocaleString("ru-RU")}),t.jsx("span",{children:w.high.toLocaleString("ru-RU")})]})]}),t.jsx("p",{className:"mt-2 text-xs leading-relaxed text-slate-400 dark:text-slate-500",children:"Вилка широкая честно: цену двигают высота потолков, адресная или пороговая система и наличие проекта. Точный ответ дают только живые предложения."})]}),t.jsx(at,{links:[{emoji:"📐",label:"Собрать ТЗ с этими данными →",to:de,toolId:"tz-builder"}]})]})]})]}),l.length>0&&t.jsx(Ge,{toolId:"calculator",context:{area:Number((se=m.find(a=>a.area))==null?void 0:se.area)||Me(P.area)||void 0,city:((oe=m.find(a=>a.city))==null?void 0:oe.city)||P.city||void 0,score:Math.round(C),activityTypes:[...new Set(m.map(a=>a.activityType))],workCategories:[...new Set(m.map(a=>a.workCategory))],objectKind:Oe(((ie=m.find(a=>a.premiseType))==null?void 0:ie.premiseType)||P.premiseType),tags:[...new Set(m.map(a=>a.workCategory))]},hero:{title:R.high>R.low?`Ориентир для вашего объекта — ${z(C)} (${R.low.toLocaleString("ru-RU")}${ue}–${ue}${R.high.toLocaleString("ru-RU")})`:`Ориентир для вашего объекта — ${z(C)}`,subtitle:"Ориентир по открытым прайсам подрядчиков. Разбивка по работам — ниже."},norma:"calculator-result",bridgeTitle:"Соберите КП на эти работы — по одной заявке",bridgeText:"Не обзванивайте подрядчиков: отправьте расчёт одной заявкой — и профильные компании вашего города пришлют КП. Сравните цены и сроки, выберите лучшее. Бесплатно, контакты скрыты — без спама и звонков.",bridgeHint:"Это ни к чему не обязывает — просто сравните КП и выберите подрядчика.",disclaimer:"Расчёт — прогноз по открытым ценам; точный ответ дают только КП подрядчиков",secondaryActions:t.jsx("button",{type:"button",onClick:()=>{var a,c;Ie("tz-builder",{area:(a=m.find(o=>o.area))==null?void 0:a.area,workCategories:[...new Set(m.map(o=>o.workCategory))],city:((c=m.find(o=>o.city))==null?void 0:c.city)||P.city||void 0,totalPrice:Math.round(C)},"calculator"),Ee(Le(de,"tz-builder"))},className:"inline-flex items-center gap-2 rounded-field border border-slate-200 bg-white px-4 py-2.5 text-sm font-bold text-slate-700 transition-colors hover:border-brand-red hover:text-brand-ink dar
1k:border-slate-700 dark:bg-slate-800 dark:text-slate-200 dark:hover:border-brand-red dark:hover:text-brand-ink",children:"Собрать ТЗ с этими данными"}),onBack:()=>{y([]),Y([])},children:t.jsxs(t.Fragment,{children:[l.length>1&&t.jsx("div",{className:"bg-gradient-to-r from-orange-50 to-amber-50 dark:from-orange-900/20 dark:to-amber-900/20 border border-orange-200 dark:border-orange-800 rounded-card p-4 sm:p-5 mb-6",children:t.jsx("div",{className:"flex items-center justify-between flex-wrap gap-3",children:t.jsxs("div",{children:[t.jsxs("p",{className:"text-xs font-bold text-orange-600 dark:text-orange-400 uppercase tracking-wider mb-1",children:["Сводка · ",l.length," ",ze(l.length,["расчёт","расчёта","расчётов"])]}),t.jsx("p",{className:"text-2xl sm:text-3xl font-extrabold text-slate-900 dark:text-white",children:z(C)}),m.some(a=>a.activityType==="Обслуживание")&&t.jsx("p",{className:"text-xs font-medium text-slate-500 dark:text-slate-400 mt-1",children:"Обслуживание в сумме — за год"})]})})}),_e&&t.jsx("div",{className:"bg-amber-50 dark:bg-amber-900/20 border border-amber-200 dark:border-amber-800 rounded-card p-4 mb-6",children:t.jsx("p",{className:"text-sm font-medium text-amber-700 dark:text-amber-400",children:"Монтаж уже включает стоимость оборудования. Расчёт «Поставка оборудования» для тех же систем исключён из итога, чтобы избежать двойного учёта."})}),l.map((a,c)=>{const o=m[c],b=o&&Te(o);return t.jsxs("div",{className:`mb-4 ${b?"opacity-50":""}`,children:[t.jsxs("p",{className:"text-lg sm:text-xl font-extrabold text-slate-900 dark:text-white tracking-tight mb-3",children:[o==null?void 0:o.activityType," — ",o==null?void 0:o.workCategory,(o==null?void 0:o.activityType)==="Обслуживание"&&t.jsx("span",{className:"ml-2 text-sm text-slate-500 dark:text-slate-400 font-medium",children:"за год"}),b&&t.jsx("span",{className:"ml-2 text-sm text-amber-500 dark:text-amber-400 font-medium",children:"(не учтён в итого — входит в монтаж)"})]}),t.jsx($e,{prediction:a,perYear:(o==null?void 0:o.activityType)==="Обслуживание",onSelectedPriceChange:g=>ee(k=>({...k,[a.predictionId??c]:g}))})]},a.predictionId||c)}),t.jsx("div",{className:"mt-2 print:hidden",children:t.jsx(rt,{endpoint:"/api/calculator/export",input:{predictionIds:je},filenamePrefix:"calculation",variant:"full-width",label:"Получить отчёт на почту",hint:"разбивка стоимости работ в PDF",onExport:()=>U("calculator",4)})})]})},`calculator-${l.length}-${Math.round(we)}`),u&&t.jsx(it,{content:u}),r?t.jsx(mt,{slug:r.slug}):t.jsx(pt,{}),t.jsx(We,{className:"mt-8",children:"Расчёт — прогноз по открытым ценам; точный ответ дают только КП подрядчиков"})]})};export{Ht as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.