Калькулятор полива теплицы
Рассчитайте точный расход воды для полива теплицы с учётом типа культуры, почвы, сезона и частоты полива — получите норму на разовый полив, неделю, месяц и весь сезон.
—
Разовая норма полива
литров
—
Расход воды в неделю
литров
—
Расход воды в месяц
литров
—
Расход за сезон (~90 дней)
литров
—
Затраты на воду за сезон
рублей
—
С запасом 15% на сезон
литров
Как пользоваться калькулятором
1
Укажите площадь теплицы в квадратных метрах. Это может быть стандартная теплица 3×6 м (18 м²), 3×4 м (12 м²) или ваша собственная. Измерьте длину и ширину по внутреннему периметру гряд.
2
Выберите тип культуры, тип почвы и сезон. От этого зависят нормы расхода воды: огурцы в лёгкой песчаной почве летом требуют до 7–8 литров на квадратный метр за один полив, а зелень в глинистой почве весной — всего 2–3 литра.
3
Задайте частоту полива — сколько раз в неделю вы планируете поливать. Летом в жару это может быть 3–5 раз, весной и осенью — 1–2 раза. При капельном поливе частота может быть выше, но норма за раз — ниже.
4
Нажмите «Рассчитать». Вы получите шесть показателей: разовую норму, расход за неделю, месяц и сезон, ориентировочные затраты на воду и объём с запасом 15%. Результат можно сразу использовать для планирования полива и закупки оборудования.
Примеры расчёта
Теплица 18 м² с томатами, суглинистая почва, лето, 3 полива в неделю
Площадь — 18 м². Базовая норма для томатов — 5 л/м² за полив. Коэффициент почвы — 1,0, сезонный коэффициент — 1,0. Разовая норма: 18 × 5 × 1,0 × 1,0 = 90 литров. Расход в неделю: 90 × 3 = 270 литров. За месяц (~4,3 недели): 270 × 4,3 ≈ 1 161 литр. За сезон (13 недель): 270 × 13 = 3 510 литров. С запасом 15%: 4 037 литров.
Теплица 12 м² с огурцами, песчаная почва, лето, 4 полива в неделю
Площадь — 12 м². Норма для огурцов — 7 л/м². Коэффициент лёгкой почвы — 1,25. Разовая норма: 12 × 7 × 1,25 = 105 литров. В неделю: 105 × 4 = 420 литров. В месяц: 420 × 4,3 ≈ 1 806 литров. За сезон: 420 × 13 = 5 460 литров. С запасом 15%: 6 279 литров. При цене воды 45 руб/м³ затраты составят около 246 рублей за сезон.
Теплица 24 м² со смешанными посадками, глинистая почва, весна, 2 полива в неделю
Площадь — 24 м². Усреднённая норма для смешанных культур — 4 л/м². Коэффициент глинистой почвы — 0,75, весенний коэффициент — 0,7. Разовая норма: 24 × 4 × 0,75 × 0,7 ≈ 50 литров. В неделю: 50 × 2 = 100 литров. За сезон: 100 × 13 = 1 300 литров. С запасом 15%: 1 495 литров. Экономия воды на глинистой почве достигает 25–40% по сравнению с песчаной.
Формулы расчёта
Расчёт строится на базовой норме полива для выбранной культуры с корректировкой на тип почвы и сезон:
Разовая норма (л) = Площадь (м²) × Базовая норма (л/м²) × Коэффициент почвы × Коэффициент сезона
Расход в неделю (л) = Разовая норма × Частота полива (раз/нед)
Расход в месяц (л) = Расход в неделю × 4,3
Расход за сезон (л) = Расход в неделю × 13 (усреднённый сезон — 90 дней, ~13 недель)
Затраты на воду (руб) = Расход за сезон (л) / 1000 × Цена воды (руб/м³)
С запасом 15% (л) = Расход за сезон × 1,15
Коэффициенты почвы: лёгкая песчаная — 1,25, средняя суглинистая — 1,0, тяжёлая глинистая — 0,75.
Коэффициенты сезона: весна — 0,7, лето — 1,0, осень — 0,6.
Нормы и ориентиры
Ниже приведены ориентировочные базовые нормы полива для разных культур (на один полив, литров на 1 м²). Эти значения усреднены для средней полосы России и могут корректироваться под ваш микроклимат:
- Томаты: 4–6 л/м² за полив. В период плодоношения норма увеличивается до 5–7 л/м².
- Огурцы: 5–8 л/м². Самая влаголюбивая тепличная культура, особенно в жару.
- Перцы и баклажаны: 3–5 л/м². Требуют равномерного увлажнения без переливов.
- Зелень (салат, укроп, петрушка): 2–4 л/м². Корневая система неглубокая, частый, но необильный полив.
- Цветочные культуры: 3–6 л/м². Зависит от вида: петунии и бархатцы — ближе к 3–4 л, розы и лилии — до 5–6 л.
- Смешанные посадки: 3–5 л/м². Берите среднее значение 4 л/м² или ориентируйтесь на самую влаголюбивую культуру.
Окончательную норму всегда корректируйте с учётом реальной влажности почвы. Проверяйте грунт на глубине 10–15 см: если земля рассыпается в руке — пора поливать, если слипается в комок — влаги достаточно.
Что влияет на результат
- Тип почвы. Песчаные грунты пропускают воду почти в 2 раза быстрее глинистых. На песке воду дают чаще, но меньшими порциями. Глина удерживает влагу дольше, поэтому поливают реже.
- Фаза роста растения. Рассада потребляет в 2–3 раза меньше воды, чем взрослое плодоносящее растение. В период цветения и завязывания плодов потребность в воде максимальна.
- Температура и влажность воздуха. В жару выше 30 °C испарение увеличивается на 30–50%. При высокой влажности в теплице (выше 80%) полив сокращают, чтобы избежать грибковых заболеваний.
- Способ полива. Капельный полив расходует на 15–30% меньше воды, чем ручной из шланга или лейки. Дождевание, наоборот, увеличивает расход из-за испарения и смачивания листвы.
- Мульчирование. Слой мульчи толщиной 5–8 см (солома, скошенная трава, опилки) сокращает испарение с поверхности почвы на 20–40% и позволяет поливать реже.
- Плотность посадки. При загущённых посадках растения конкурируют за влагу, и норма полива на квадратный метр возрастает на 10–25%.
Важные нюансы
- Всегда поливайте теплицу утром или вечером, избегая полуденной жары. Капли воды на листьях в солнечную погоду работают как линзы и вызывают ожоги.
- Вода для полива должна быть отстоянной и тёплой (18–25 °C). Полив холодной водой из скважины или водопровода вызывает температурный шок у корней и замедляет рост.
- При использовании капельного полива норма за один полив может быть снижена на 15–25%, но частота увеличивается. Это особенно актуально для огурцов и томатов.
- В теплицах из поликарбоната без автоматической вентиляции влажность может достигать 90–100% после полива. Обязательно проветривайте теплицу в течение 1–2 часов после каждого полива.
- Расчёт носит ориентировочный характер. Реальная потребность в воде зависит от конкретного микроклимата, сорта растений и погодных условий конкретного года.
- Запас 15% в расчёте покрывает непредвиденные расходы: аномальную жару, необходимость внепланового влагозарядкового полива или увеличение числа растений в течение сезона.
Частые ошибки
- Полив без учёта типа почвы. На песчаной почве вода уходит вглубь за считанные минуты, и корни не успевают её впитать. Делите недельную норму на большее число поливов малыми порциями.
- Перелив на глинистой почве. Избыток воды вытесняет кислород из почвы, корни задыхаются, развиваются корневые гнили. Если вода стоит на поверхности дольше 2–3 минут — вы перелили.
- Полив по листьям в жару. Для томатов и перцев это прямой путь к фитофторозу и солнечным ожогам. Воду лейте строго под корень.
- Игнорирование сезонных изменений. Весной и осенью потребность в воде в 1,5–2 раза ниже, чем в июле. Если продолжать поливать по летней норме в сентябре, корни могут загнить от переувлажнения.
- Отсутствие запаса при планировании. Если вы рассчитываете объём накопительной ёмкости для полива, всегда закладывайте запас 10–20%. Лучше иметь лишние 200 литров в бочке, чем остаться без воды в разгар сезона.
- Полив холодной водой. Огурцы и баклажаны особенно чувствительны к температуре воды. Холодная вода (ниже 12 °C) останавливает рост на 2–4 дня после каждого такого полива.
Ответы на частые вопросы
- Как часто нужно поливать теплицу? В среднем 2–4 раза в неделю летом и 1–2 раза весной и осенью. Точная частота зависит от температуры, типа почвы и культуры. Огурцы в песчаной почве могут требовать ежедневного полива в июле.
- Сколько воды уходит на теплицу 3×6 м за сезон? Для томатов в суглинистой почве при трёх поливах в неделю — около 3 500–4 000 литров. С запасом 15% — порядка 4 000–4 600 литров. Это примерно 4–5 кубометров воды.
- Как сократить расход воды без вреда для растений? Используйте капельный полив, мульчируйте грядки, поливайте рано утром, когда испарение минимально, и подбирайте сорта с засухоустойчивостью. Капельная лента снижает расход на 20–35%.
- Можно ли поливать теплицу дождевой водой? Да, это идеальный вариант. Дождевая вода мягкая, без хлора и солей жёсткости, имеет комфортную для корней температуру. Установите бочку-накопитель рядом с теплицей.
- Как понять, что я поливаю слишком много? Признаки перелива: пожелтение нижних листьев, белый или зелёный налёт на поверхности почвы, запах плесени в теплице, растрескивание плодов томатов, водянистый вкус огурцов.
- Нужно ли менять норму полива в дождливую погоду? Даже если идёт дождь, внутри теплицы почва остаётся сухой. Но влажность воздуха повышается, поэтому норму полива можно снизить на 20–30%, а проветривание — усилить.
Источники и справочные данные
Расчёт основан на следующих источниках и нормативах:
- Агрономические справочные нормы полива овощных культур защищённого грунта для средней полосы России.
- Рекомендации по выращиванию овощных, плодовых и декоративных культур в условиях плёночных и поликарбонатных теплиц.
- Практические нормы расхода воды при капельном и ручном поливе, обобщённые на основе опыта садоводов и фермерских хозяйств.
- Данные о водопроницаемости различных типов почв (песчаных, суглинистых, глинистых) из почвоведческих справочников.
- Результат является ориентировочным. Для точного расчёта с учётом конкретного сорта, региона и способа полива рекомендуется свериться с рекомендациями агронома или производителя семян.
Калькулятор полива теплицы помогает дачникам и садоводам быстро рассчитать расход воды на полив закрытого грунта. Инструмент учитывает площадь теплицы, тип выращиваемой культуры, структуру почвы и сезонный коэффициент — это позволяет получить реалистичную оценку потребности в воде на неделю, месяц и весь вегетационный период. Используйте результаты расчёта для планирования объёма накопительных ёмкостей, настройки капельного орошения и оптимизации затрат на водоснабжение участка. Точный расчёт полива — залог здорового урожая и разумной экономии воды.
CiAgICAoZnVuY3Rpb24oKSB7CiAgICAgICAgdmFyIGFyZWFJbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdnaC1hcmVhJyk7CiAgICAgICAgdmFyIGNyb3BTZWxlY3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ2gtY3JvcCcpOwogICAgICAgIHZhciBzb2lsU2VsZWN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2doLXNvaWwnKTsKICAgICAgICB2YXIgc2Vhc29uU2VsZWN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2doLXNlYXNvbicpOwogICAgICAgIHZhciBmcmVxdWVuY3lJbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdnaC1mcmVxdWVuY3knKTsKICAgICAgICB2YXIgcHJpY2VJbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdnaC1wcmljZScpOwogICAgICAgIHZhciBjYWxjQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2doLWNhbGN1bGF0ZS1idG4nKTsKICAgICAgICB2YXIgcmVzZXRCdG4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ2gtcmVzZXQtYnRuJyk7CgogICAgICAgIHZhciByZXNTaW5nbGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ2gtcmVzLXNpbmdsZScpOwogICAgICAgIHZhciByZXNXZWVrbHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ2gtcmVzLXdlZWtseScpOwogICAgICAgIHZhciByZXNNb250aGx5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2doLXJlcy1tb250aGx5Jyk7CiAgICAgICAgdmFyIHJlc1NlYXNvbmFsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2doLXJlcy1zZWFzb25hbCcpOwogICAgICAgIHZhciByZXNDb3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2doLXJlcy1jb3N0Jyk7CiAgICAgICAgdmFyIHJlc1Jlc2VydmUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ2gtcmVzLXJlc2VydmUnKTsKCiAgICAgICAgdmFyIGVycm9ySWRzID0gWydnaC1hcmVhLWVycm9yJywgJ2doLWNyb3AtZXJyb3InLCAnZ2gtc29pbC1lcnJvcicsICdnaC1zZWFzb24tZXJyb3InLCAnZ2gtZnJlcXVlbmN5LWVycm9yJywgJ2doLXByaWNlLWVycm9yJ107CgogICAgICAgIGZ1bmN0aW9uIGhpZGVBbGxFcnJvcnMoKSB7CiAgICAgICAgICAgIGVycm9ySWRzLmZvckVhY2goZnVuY3Rpb24oaWQpIHsKICAgICAgICAgICAgICAgIHZhciBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTsKICAgICAgICAgICAgICAgIGlmIChlbCkgewogICAgICAgICAgICAgICAgICAgIGVsLmNsYXNzTGlzdC5yZW1vdmUoJ25uLWdlbi1jYWwtZXJyb3ItdmlzaWJsZScpOwogICAgICAgICAgICAgICAgICAgIGVsLnRleHRDb250ZW50ID0gJyc7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc2hvd0Vycm9yKGlkLCBtZXNzYWdlKSB7CiAgICAgICAgICAgIHZhciBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTsKICAgICAgICAgICAgaWYgKGVsKSB7CiAgICAgICAgICAgICAgICBlbC50ZXh0Q29udGVudCA9IG1lc3NhZ2U7CiAgICAgICAgICAgICAgICBlbC5jbGFzc0xpc3QuYWRkKCdubi1nZW4tY2FsLWVycm9yLXZpc2libGUnKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gZ2V0QmFzZU5vcm0oY3JvcCkgewogICAgICAgICAgICB2YXIgbm9ybXMgPSB7CiAgICAgICAgICAgICAgICAndG9tYXRvJzogNSwKICAgICAgICAgICAgICAgICdjdWN1bWJlcic6IDcsCiAgICAgICAgICAgICAgICAncGVwcGVyJzogNCwKICAgICAgICAgICAgICAgICdncmVlbnMnOiAzLAogICAgICAgICAgICAgICAgJ2Zsb3dlcnMnOiA0LAogICAgICAgICAgICAgICAgJ21peGVkJzogNAogICAgICAgICAgICB9OwogICAgICAgICAgICByZXR1cm4gbm9ybXNbY3JvcF0gfHwgNDsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGdldFNvaWxDb2VmZmljaWVudChzb2lsKSB7CiAgICAgICAgICAgIHZhciBjb2VmZnMgPSB7CiAgICAgICAgICAgICAgICAnbGlnaHQnOiAxLjI1LAogICAgICAgICAgICAgICAgJ21lZGl1bSc6IDEuMCwKICAgICAgICAgICAgICAgICdoZWF2eSc6IDAuNzUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgcmV0dXJuIGNvZWZmc1tzb2lsXSB8fCAxLjA7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBnZXRTZWFzb25Db2VmZmljaWVudChzZWFzb24pIHsKICAgICAgICAgICAgdmFyIGNvZWZmcyA9IHsKICAgICAgICAgICAgICAgICdzcHJpbmcnOiAwLjcsCiAgICAgICAgICAgICAgICAnc3VtbWVyJzogMS4wLAogICAgICAgICAgICAgICAgJ2F1dHVtbic6IDAuNgogICAgICAgICAgICB9OwogICAgICAgICAgICByZXR1cm4gY29lZmZzW3NlYXNvbl0gfHwgMS4wOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gZm9ybWF0TnVtYmVyKHZhbHVlLCBkZWNpbWFscykgewogICAgICAgICAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCB8fCAhaXNGaW5pdGUodmFsdWUpKSByZXR1cm4gJ+KAlCc7CiAgICAgICAgICAgIHJldHVybiBOdW1iZXIodmFsdWUpLnRvRml4ZWQoZGVjaW1hbHMpOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gdmFsaWRhdGUoKSB7CiAgICAgICAgICAgIGhpZGVBbGxFcnJvcnMoKTsKICAgICAgICAgICAgdmFyIHZhbGlkID0gdHJ1ZTsKCiAgICAgICAgICAgIHZhciBhcmVhVmFsID0gYXJlYUlucHV0LnZhbHVlLnRyaW0oKTsKICAgICAgICAgICAgaWYgKGFyZWFWYWwgPT09ICcnKSB7CiAgICAgICAgICAgICAgICBzaG93RXJyb3IoJ2doLWFyZWEtZXJyb3InLCAn0KPQutCw0LbQuNGC0LUg0L/Qu9C+0YnQsNC00Ywg0YLQtdC/0LvQuNGG0YsuJyk7CiAgICAgICAgICAgICAgICB2YWxpZCA9IGZhbHNlOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgdmFyIGFyZWFOdW0gPSBwYXJzZUZsb2F0KGFyZWFWYWwpOwogICAgICAgICAgICAgICAgaWYgKGlzTmFOKGFyZWFOdW0pIHx8IGFyZWFOdW0gPD0gMCkgewogICAgICAgICAgICAgICAgICAgIHNob3dFcnJvcignZ2gtYXJlYS1lcnJvcicsICfQn9C70L7RidCw0LTRjCDQtNC+0LvQttC90LAg0LHRi9GC0Ywg0L/QvtC70L7QttC40YLQtdC70YzQvdGL0Lwg0YfQuNGB0LvQvtC8LicpOwogICAgICAgICAgICAgICAgICAgIHZhbGlkID0gZmFsc2U7CiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGFyZWFOdW0gPiAxMDAwMCkgewogICAgICAgICAgICAgICAgICAgIHNob3dFcnJvcignZ2gtYXJlYS1lcnJvcicsICfQn9C70L7RidCw0LTRjCDQvdC1INC00L7Qu9C20L3QsCDQv9GA0LXQstGL0YjQsNGC0YwgMTAgMDAwINC8wrIuJyk7CiAgICAgICAgICAgICAgICAgICAgdmFsaWQgPSBmYWxzZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKGNyb3BTZWxlY3QudmFsdWUgPT09ICcnKSB7CiAgICAgICAgICAgICAgICBzaG93RXJyb3IoJ2doLWNyb3AtZXJyb3InLCAn0JLRi9Cx0LXRgNC40YLQtSDRgtC40L8g0LrRg9C70YzRgtGD0YDRiy4nKTsKICAgICAgICAgICAgICAgIHZhbGlkID0gZmFsc2U7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChzb2lsU2VsZWN0LnZhbHVlID09PSAnJykgewogICAgICAgICAgICAgICAgc2hvd0Vycm9yKCdnaC1zb2lsLWVycm9yJywgJ9CS0YvQsdC10YDQuNGC0LUg0YLQuNC/INC/0L7Rh9Cy0YsuJyk7CiAgICAgICAgICAgICAgICB2YWxpZCA9IGZhbHNlOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc2Vhc29uU2VsZWN0LnZhbHVlID09PSAnJykgewogICAgICAgICAgICAgICAgc2hvd0Vycm9yKCdnaC1zZWFzb24tZXJyb3InLCAn0JLRi9Cx0LXRgNC40YLQtSDRgdC10LfQvtC9LicpOwogICAgICAgICAgICAgICAgdmFsaWQgPSBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIGZyZXFWYWwgPSBmcmVxdWVuY3lJbnB1dC52YWx1ZS50cmltKCk7CiAgICAgICAgICAgIGlmIChmcmVxVmFsID09PSAnJykgewogICAgICAgICAgICAgICAgc2hvd0Vycm9yKCdnaC1mcmVxdWVuY3ktZXJyb3InLCAn0KPQutCw0LbQuNGC0LUg0YfQsNGB0YLQvtGC0YMg0L/QvtC70LjQstCwLicpOwogICAgICAgICAgICAgICAgdmFsaWQgPSBmYWxzZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBmcmVxTnVtID0gcGFyc2VGbG9hdChmcmVxVmFsKTsKICAgICAgICAgICAgICAgIGlmIChpc05hTihmcmVxTnVtKSB8fCBmcmVxTnVtIDw9IDApIHsKICAgICAgICAgICAgICAgICAgICBzaG93RXJyb3IoJ2doLWZyZXF1ZW5jeS1lcnJvcicsICfQp9Cw0YHRgtC+0YLQsCDQtNC+0LvQttC90LAg0LHRi9GC0Ywg0L/QvtC70L7QttC40YLQtdC70YzQvdGL0Lwg0YfQuNGB0LvQvtC8LicpOwogICAgICAgICAgICAgICAgICAgIHZhbGlkID0gZmFsc2U7CiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGZyZXFOdW0gPiAxNCkgewogICAgICAgICAgICAgICAgICAgIHNob3dFcnJvcignZ2gtZnJlcXVlbmN5LWVycm9yJywgJ9Cn0LDRgdGC0L7RgtCwINC90LUg0LTQvtC70LbQvdCwINC/0YDQtdCy0YvRiNCw0YLRjCAxNCDRgNCw0Lcg0LIg0L3QtdC00LXQu9GOLicpOwogICAgICAgICAgICAgICAgICAgIHZhbGlkID0gZmFsc2U7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHZhciBwcmljZVZhbCA9IHByaWNlSW5wdXQudmFsdWUudHJpbSgpOwogICAgICAgICAgICBpZiAocHJpY2VWYWwgIT09ICcnKSB7CiAgICAgICAgICAgICAgICB2YXIgcHJpY2VOdW0gPSBwYXJzZUZsb2F0KHByaWNlVmFsKTsKICAgICAgICAgICAgICAgIGlmIChpc05hTihwcmljZU51bSkgfHwgcHJpY2VOdW0gPCAwKSB7CiAgICAgICAgICAgICAgICAgICAgc2hvd0Vycm9yKCdnaC1wcmljZS1lcnJvcicsICfQptC10L3QsCDQvdC1INC80L7QttC10YIg0LHRi9GC0Ywg0L7RgtGA0LjRhtCw0YLQtdC70YzQvdC+0LkuJyk7CiAgICAgICAgICAgICAgICAgICAgdmFsaWQgPSBmYWxzZTsKICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocHJpY2VOdW0gPiA1MDAwKSB7CiAgICAgICAgICAgICAgICAgICAgc2hvd0Vycm9yKCdnaC1wcmljZS1lcnJvcicsICfQptC10L3QsCDQvdC1INC00L7Qu9C20L3QsCDQv9GA0LXQstGL0YjQsNGC0YwgNSAwMDAg0YDRg9CxL9C8wrMuJyk7CiAgICAgICAgICAgICAgICAgICAgdmFsaWQgPSBmYWxzZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHZhbGlkOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gY2FsY3VsYXRlKCkgewogICAgICAgICAgICBpZiAoIXZhbGlkYXRlKCkpIHJldHVybjsKCiAgICAgICAgICAgIHZhciBhcmVhID0gcGFyc2VGbG9hdChhcmVhSW5wdXQudmFsdWUudHJpbSgpKTsKICAgICAgICAgICAgdmFyIGNyb3AgPSBjcm9wU2VsZWN0LnZhbHVlOwogICAgICAgICAgICB2YXIgc29pbCA9IHNvaWxTZWxlY3QudmFsdWU7CiAgICAgICAgICAgIHZhciBzZWFzb24gPSBzZWFzb25TZWxlY3QudmFsdWU7CiAgICAgICAgICAgIHZhciBmcmVxdWVuY3kgPSBwYXJzZUZsb2F0KGZyZXF1ZW5jeUlucHV0LnZhbHVlLnRyaW0oKSk7CiAgICAgICAgICAgIHZhciBwcmljZVJhdyA9IHByaWNlSW5wdXQudmFsdWUudHJpbSgpOwogICAgICAgICAgICB2YXIgcHJpY2UgPSAocHJpY2VSYXcgIT09ICcnKSA/IHBhcnNlRmxvYXQocHJpY2VSYXcpIDogbnVsbDsKCiAgICAgICAgICAgIHZhciBiYXNlTm9ybSA9IGdldEJhc2VOb3JtKGNyb3ApOwogICAgICAgICAgICB2YXIgc29pbENvZWZmID0gZ2V0U29pbENvZWZmaWNpZW50KHNvaWwpOwogICAgICAgICAgICB2YXIgc2Vhc29uQ29lZmYgPSBnZXRTZWFzb25Db2VmZmljaWVudChzZWFzb24pOwoKICAgICAgICAgICAgdmFyIHNpbmdsZVdhdGVyaW5nID0gYXJlYSAqIGJhc2VOb3JtICogc29pbENvZWZmICogc2Vhc29uQ29lZmY7CiAgICAgICAgICAgIHZhciB3ZWVrbHkgPSBzaW5nbGVXYXRlcmluZyAqIGZyZXF1ZW5jeTsKICAgICAgICAgICAgdmFyIG1vbnRobHkgPSB3ZWVrbHkgKiA0LjM7CiAgICAgICAgICAgIHZhciBzZWFzb25hbCA9IHdlZWtseSAqIDEzOwogICAgICAgICAgICB2YXIgcmVzZXJ2ZSA9IHNlYXNvbmFsICogMS4xNTsKCiAgICAgICAgICAgIHJlc1NpbmdsZS50ZXh0Q29udGVudCA9IGZvcm1hdE51bWJlcihzaW5nbGVXYXRlcmluZywgMCk7CiAgICAgICAgICAgIHJlc1dlZWtseS50ZXh0Q29udGVudCA9IGZvcm1hdE51bWJlcih3ZWVrbHksIDApOwogICAgICAgICAgICByZXNNb250aGx5LnRleHRDb250ZW50ID0gZm9ybWF0TnVtYmVyKG1vbnRobHksIDApOwogICAgICAgICAgICByZXNTZWFzb25hbC50ZXh0Q29udGVudCA9IGZvcm1hdE51bWJlcihzZWFzb25hbCwgMCk7CiAgICAgICAgICAgIHJlc1Jlc2VydmUudGV4dENvbnRlbnQgPSBmb3JtYXROdW1iZXIocmVzZXJ2ZSwgMCk7CgogICAgICAgICAgICBpZiAocHJpY2UgIT09IG51bGwgJiYgcHJpY2UgPj0gMCAmJiBzZWFzb25hbCA+IDApIHsKICAgICAgICAgICAgICAgIHZhciBjb3N0ID0gc2Vhc29uYWwgLyAxMDAwICogcHJpY2U7CiAgICAgICAgICAgICAgICByZXNDb3N0LnRleHRDb250ZW50ID0gZm9ybWF0TnVtYmVyKGNvc3QsIDIpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgcmVzQ29zdC50ZXh0Q29udGVudCA9ICfigJQnOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiByZXNldEZvcm0oKSB7CiAgICAgICAgICAgIGFyZWFJbnB1dC52YWx1ZSA9ICcnOwogICAgICAgICAgICBjcm9wU2VsZWN0LnZhbHVlID0gJ3RvbWF0byc7CiAgICAgICAgICAgIHNvaWxTZWxlY3QudmFsdWUgPSAnbWVkaXVtJzsKICAgICAgICAgICAgc2Vhc29uU2VsZWN0LnZhbHVlID0gJ3N1bW1lcic7CiAgICAgICAgICAgIGZyZXF1ZW5jeUlucHV0LnZhbHVlID0gJyc7CiAgICAgICAgICAgIHByaWNlSW5wdXQudmFsdWUgPSAnJzsKICAgICAgICAgICAgaGlkZUFsbEVycm9ycygpOwogICAgICAgICAgICByZXNTaW5nbGUudGV4dENvbnRlbnQgPSAn4oCUJzsKICAgICAgICAgICAgcmVzV2Vla2x5LnRleHRDb250ZW50ID0gJ+KAlCc7CiAgICAgICAgICAgIHJlc01vbnRobHkudGV4dENvbnRlbnQgPSAn4oCUJzsKICAgICAgICAgICAgcmVzU2Vhc29uYWwudGV4dENvbnRlbnQgPSAn4oCUJzsKICAgICAgICAgICAgcmVzQ29zdC50ZXh0Q29udGVudCA9ICfigJQnOwogICAgICAgICAgICByZXNSZXNlcnZlLnRleHRDb250ZW50ID0gJ+KAlCc7CiAgICAgICAgfQoKICAgICAgICBjYWxjQnRuLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgY2FsY3VsYXRlKTsKICAgICAgICByZXNldEJ0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHJlc2V0Rm9ybSk7CgogICAgICAgIGFyZWFJbnB1dC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICBpZiAoZS5rZXkgPT09ICdFbnRlcicpIGNhbGN1bGF0ZSgpOwogICAgICAgIH0pOwogICAgICAgIGZyZXF1ZW5jeUlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIGlmIChlLmtleSA9PT0gJ0VudGVyJykgY2FsY3VsYXRlKCk7CiAgICAgICAgfSk7CiAgICAgICAgcHJpY2VJbnB1dC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICBpZiAoZS5rZXkgPT09ICdFbnRlcicpIGNhbGN1bGF0ZSgpOwogICAgICAgIH0pOwogICAgfSkoKTsK