Онлайн-инструментОнлайнБесплатно
Калькулятор меню на неделю
Составьте меню на 7 дней с помощью калькулятора. Узнайте калорийность, белки, жиры, углеводы и стоимость продуктов на неделю. Быстро и без лишних заморочек.
Обновлено: 5 мая 2026 г.
Научный подход
На проверенных формулах
Точно и быстро
Результат за секунды
Конфиденциально
Данные не покидают браузер
ФормулыБыстроПриватно
CiAgKGZ1bmN0aW9uKCl7CiAgICB2YXIgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25uLWdlbi1tZW51LWNhbGN1bGF0b3InKTsKICAgIGlmICghY29udGFpbmVyKSByZXR1cm47CgogICAgdmFyIGRheVNlbGVjdCA9IGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCcjbm4tZ2VuLWRheS1zZWxlY3QnKTsKICAgIHZhciBtZWFsU2VsZWN0ID0gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJyNubi1nZW4tbWVhbC1zZWxlY3QnKTsKICAgIHZhciBkaXNoU2VsZWN0ID0gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJyNubi1nZW4tZGlzaC1zZWxlY3QnKTsKICAgIHZhciBwb3J0aW9uc0lucHV0ID0gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJyNubi1nZW4tcG9ydGlvbnMtaW5wdXQnKTsKICAgIHZhciBjdXN0b21OYW1lID0gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJyNubi1nZW4tY3VzdG9tLW5hbWUnKTsKICAgIHZhciBjdXN0b21DYWwgPSBjb250YWluZXIucXVlcnlTZWxlY3RvcignI25uLWdlbi1jdXN0b20tY2FsJyk7CiAgICB2YXIgY3VzdG9tUHJvdGVpbiA9IGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCcjbm4tZ2VuLWN1c3RvbS1wcm90ZWluJyk7CiAgICB2YXIgY3VzdG9tRmF0ID0gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJyNubi1nZW4tY3VzdG9tLWZhdCcpOwogICAgdmFyIGN1c3RvbUNhcmJzID0gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJyNubi1nZW4tY3VzdG9tLWNhcmJzJyk7CiAgICB2YXIgY3VzdG9tQ29zdCA9IGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCcjbm4tZ2VuLWN1c3RvbS1jb3N0Jyk7CiAgICB2YXIgZXJyb3JNc2cgPSBjb250YWluZXIucXVlcnlTZWxlY3RvcignI25uLWdlbi1lcnJvci1tc2cnKTsKICAgIHZhciBhZGRCdG4gPSBjb250YWluZXIucXVlcnlTZWxlY3RvcignI25uLWdlbi1hZGQtYnRuJyk7CiAgICB2YXIgY2FsY0J0biA9IGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCcjbm4tZ2VuLWNhbGMtYnRuJyk7CiAgICB2YXIgcmVzZXRCdG4gPSBjb250YWluZXIucXVlcnlTZWxlY3RvcignI25uLWdlbi1yZXNldC1idG4nKTsKICAgIHZhciBtZW51Q2FyZCA9IGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCcjbm4tZ2VuLW1lbnUtY2FyZCcpOwogICAgdmFyIG1lbnVUYm9keSA9IGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCcjbm4tZ2VuLW1lbnUtdGJvZHknKTsKICAgIHZhciBlbXB0eU1zZyA9IGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCcjbm4tZ2VuLWVtcHR5LW1zZycpOwogICAgdmFyIHJlc3VsdENhcmQgPSBjb250YWluZXIucXVlcnlTZWxlY3RvcignI25uLWdlbi1yZXN1bHQtY2FyZCcpOwogICAgdmFyIHJlc3VsdEdyaWQgPSBjb250YWluZXIucXVlcnlTZWxlY3RvcignI25uLWdlbi1yZXN1bHQtZ3JpZCcpOwoKICAgIHZhciBkYXlOYW1lcyA9IFsn0J/QvScsICfQktGCJywgJ9Ch0YAnLCAn0KfRgicsICfQn9GCJywgJ9Ch0LEnLCAn0JLRgSddOwogICAgdmFyIGRheU5hbWVzRnVsbCA9IFsn0J/QvtC90LXQtNC10LvRjNC90LjQuicsICfQktGC0L7RgNC90LjQuicsICfQodGA0LXQtNCwJywgJ9Cn0LXRgtCy0LXRgNCzJywgJ9Cf0Y/RgtC90LjRhtCwJywgJ9Ch0YPQsdCx0L7RgtCwJywgJ9CS0L7RgdC60YDQtdGB0LXQvdGM0LUnXTsKICAgIHZhciBtZWFsTmFtZXMgPSB7ICdicmVha2Zhc3QnOiAn0JfQsNCy0YLRgNCw0LonLCAnbHVuY2gnOiAn0J7QsdC10LQnLCAnZGlubmVyJzogJ9Cj0LbQuNC9JywgJ3NuYWNrJzogJ9Cf0LXRgNC10LrRg9GBJyB9OwoKICAgIHZhciBtZW51SXRlbXMgPSBbXTsKCiAgICBmdW5jdGlvbiBoaWRlRXJyb3IoKSB7CiAgICAgIGlmIChlcnJvck1zZykgewogICAgICAgIGVycm9yTXNnLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgICAgZXJyb3JNc2cudGV4dENvbnRlbnQgPSAnJzsKICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIHNob3dFcnJvcihtc2cpIHsKICAgICAgaWYgKGVycm9yTXNnKSB7CiAgICAgICAgZXJyb3JNc2cudGV4dENvbnRlbnQgPSBtc2c7CiAgICAgICAgZXJyb3JNc2cuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7CiAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiB1cGRhdGVNZW51VGFibGUoKSB7CiAgICAgIGlmICghbWVudVRib2R5IHx8ICFtZW51Q2FyZCB8fCAhZW1wdHlNc2cpIHJldHVybjsKICAgICAgbWVudVRib2R5LmlubmVySFRNTCA9ICcnOwogICAgICBpZiAobWVudUl0ZW1zLmxlbmd0aCA9PT0gMCkgewogICAgICAgIG1lbnVDYXJkLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgICAgaWYgKGVtcHR5TXNnKSBlbXB0eU1zZy5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgbWVudUNhcmQuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7CiAgICAgIGlmIChlbXB0eU1zZykgZW1wdHlNc2cuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKCiAgICAgIG1lbnVJdGVtcy5mb3JFYWNoKGZ1bmN0aW9uKGl0ZW0sIGluZGV4KSB7CiAgICAgICAgdmFyIHRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKICAgICAgICB0ci5pbm5lckhUTUwgPSAKICAgICAgICAgICc8dGQ+JyArIGRheU5hbWVzRnVsbFtpdGVtLmRheV0gKyAnPC90ZD4nICsKICAgICAgICAgICc8dGQ+JyArIChtZWFsTmFtZXNbaXRlbS5tZWFsXSB8fCBpdGVtLm1lYWwpICsgJzwvdGQ+JyArCiAgICAgICAgICAnPHRkPicgKyBlc2NhcGVIdG1sKGl0ZW0ubmFtZSkgKyAnPC90ZD4nICsKICAgICAgICAgICc8dGQ+JyArIGl0ZW0ucG9ydGlvbnMgKyAnPC90ZD4nICsKICAgICAgICAgICc8dGQ+JyArIGZvcm1hdE51bShpdGVtLmNhbCAqIGl0ZW0ucG9ydGlvbnMpICsgJzwvdGQ+JyArCiAgICAgICAgICAnPHRkPicgKyBmb3JtYXROdW0oaXRlbS5wcm90ZWluICogaXRlbS5wb3J0aW9ucykgKyAnPC90ZD4nICsKICAgICAgICAgICc8dGQ+JyArIGZvcm1hdE51bShpdGVtLmZhdCAqIGl0ZW0ucG9ydGlvbnMpICsgJzwvdGQ+JyArCiAgICAgICAgICAnPHRkPicgKyBmb3JtYXROdW0oaXRlbS5jYXJicyAqIGl0ZW0ucG9ydGlvbnMpICsgJzwvdGQ+JyArCiAgICAgICAgICAnPHRkPicgKyBmb3JtYXROdW0oaXRlbS5jb3N0ICogaXRlbS5wb3J0aW9ucykgKyAnIOKCvTwvdGQ+JyArCiAgICAgICAgICAnPHRkPjxidXR0b24gY2xhc3M9Im5uLWdlbi1jYWwtcmVtb3ZlLWJ0biIgZGF0YS1pbmRleD0iJyArIGluZGV4ICsgJyI+0KPQtNCw0LvQuNGC0Yw8L2J1dHRvbj48L3RkPic7CiAgICAgICAgbWVudVRib2R5LmFwcGVuZENoaWxkKHRyKTsKICAgICAgfSk7CgogICAgICB2YXIgcmVtb3ZlQnV0dG9ucyA9IG1lbnVUYm9keS5xdWVyeVNlbGVjdG9yQWxsKCcubm4tZ2VuLWNhbC1yZW1vdmUtYnRuJyk7CiAgICAgIHJlbW92ZUJ1dHRvbnMuZm9yRWFjaChmdW5jdGlvbihidG4pIHsKICAgICAgICBidG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpIHsKICAgICAgICAgIHZhciBpZHggPSBwYXJzZUludCh0aGlzLmdldEF0dHJpYnV0ZSgnZGF0YS1pbmRleCcpLCAxMCk7CiAgICAgICAgICBpZiAoIWlzTmFOKGlkeCkgJiYgaWR4ID49IDAgJiYgaWR4IDwgbWVudUl0ZW1zLmxlbmd0aCkgewogICAgICAgICAgICBtZW51SXRlbXMuc3BsaWNlKGlkeCwgMSk7CiAgICAgICAgICAgIHVwZGF0ZU1lbnVUYWJsZSgpOwogICAgICAgICAgICBoaWRlUmVzdWx0KCk7CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgIH0pOwogICAgfQoKICAgIGZ1bmN0aW9uIGhpZGVSZXN1bHQoKSB7CiAgICAgIGlmIChyZXN1bHRDYXJkKSByZXN1bHRDYXJkLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgIGlmIChyZXN1bHRHcmlkKSByZXN1bHRHcmlkLmlubmVySFRNTCA9ICcnOwogICAgfQoKICAgIGZ1bmN0aW9uIHNob3dSZXN1bHQoKSB7CiAgICAgIGlmIChtZW51SXRlbXMubGVuZ3RoID09PSAwKSB7CiAgICAgICAgaGlkZVJlc3VsdCgpOwogICAgICAgIHNob3dFcnJvcign0JTQvtCx0LDQstGM0YLQtSDRhdC+0YLRjyDQsdGLINC+0LTQvdC+INCx0LvRjtC00L4g0LIg0LzQtdC90Y4g0L/QtdGA0LXQtCDRgNCw0YHRh9GR0YLQvtC8LicpOwogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICBoaWRlRXJyb3IoKTsKCiAgICAgIHZhciB0b3RhbHMgPSB7IGNhbDogMCwgcHJvdGVpbjogMCwgZmF0OiAwLCBjYXJiczogMCwgY29zdDogMCB9OwogICAgICBtZW51SXRlbXMuZm9yRWFjaChmdW5jdGlvbihpdGVtKSB7CiAgICAgICAgdG90YWxzLmNhbCArPSBpdGVtLmNhbCAqIGl0ZW0ucG9ydGlvbnM7CiAgICAgICAgdG90YWxzLnByb3RlaW4gKz0gaXRlbS5wcm90ZWluICogaXRlbS5wb3J0aW9uczsKICAgICAgICB0b3RhbHMuZmF0ICs9IGl0ZW0uZmF0ICogaXRlbS5wb3J0aW9uczsKICAgICAgICB0b3RhbHMuY2FyYnMgKz0gaXRlbS5jYXJicyAqIGl0ZW0ucG9ydGlvbnM7CiAgICAgICAgdG90YWxzLmNvc3QgKz0gaXRlbS5jb3N0ICogaXRlbS5wb3J0aW9uczsKICAgICAgfSk7CgogICAgICB2YXIgZGF5cyA9IDc7CiAgICAgIHZhciBhdmdDYWwgPSB0b3RhbHMuY2FsIC8gZGF5czsKICAgICAgdmFyIGF2Z1Byb3RlaW4gPSB0b3RhbHMucHJvdGVpbiAvIGRheXM7CiAgICAgIHZhciBhdmdGYXQgPSB0b3RhbHMuZmF0IC8gZGF5czsKICAgICAgdmFyIGF2Z0NhcmJzID0gdG90YWxzLmNhcmJzIC8gZGF5czsKICAgICAgdmFyIGF2Z0Nvc3QgPSB0b3RhbHMuY29zdCAvIGRheXM7CgogICAgICBpZiAoIXJlc3VsdENhcmQgfHwgIXJlc3VsdEdyaWQpIHJldHVybjsKICAgICAgcmVzdWx0Q2FyZC5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKICAgICAgcmVzdWx0R3JpZC5pbm5lckhUTUwgPSAnJzsKCiAgICAgIHZhciBpdGVtc0h0bWwgPSBbCiAgICAgICAgeyB2YWx1ZTogZm9ybWF0TnVtKHRvdGFscy5jYWwpLCBsYWJlbDogJ9Ce0LHRidCw0Y8g0LrQsNC70L7RgNC40LnQvdC+0YHRgtGMJywgdW5pdDogJ9C60LrQsNC7INC30LAg0L3QtdC00LXQu9GOJyB9LAogICAgICAgIHsgdmFsdWU6IGZvcm1hdE51bSh0b3RhbHMucHJvdGVpbiksIGxhYmVsOiAn0JLRgdC10LPQviDQsdC10LvQutC+0LInLCB1bml0OiAn0LMg0LfQsCDQvdC10LTQtdC70Y4nIH0sCiAgICAgICAgeyB2YWx1ZTogZm9ybWF0TnVtKHRvdGFscy5mYXQpLCBsYWJlbDogJ9CS0YHQtdCz0L4g0LbQuNGA0L7QsicsIHVuaXQ6ICfQsyDQt9CwINC90LXQtNC10LvRjicgfSwKICAgICAgICB7IHZhbHVlOiBmb3JtYXROdW0odG90YWxzLmNhcmJzKSwgbGFiZWw6ICfQktGB0LXQs9C+INGD0LPQu9C10LLQvtC00L7QsicsIHVuaXQ6ICfQsyDQt9CwINC90LXQtNC10LvRjicgfSwKICAgICAgICB7IHZhbHVlOiBmb3JtYXROdW0odG90YWxzLmNvc3QpLCBsYWJlbDogJ9Ce0LHRidCw0Y8g0YHRgtC+0LjQvNC+0YHRgtGMJywgdW5pdDogJ+KCvSDQvdCwINC90LXQtNC10LvRjicgfSwKICAgICAgICB7IHZhbHVlOiBmb3JtYXROdW0oYXZnQ2FsKSwgbGFiZWw6ICfQodGA0LXQtNC90Y/RjyDQutCw0LvQvtGA0LjQudC90L7RgdGC0YwnLCB1bml0OiAn0LrQutCw0Lsg0LIg0LTQtdC90YwnIH0sCiAgICAgICAgeyB2YWx1ZTogZm9ybWF0TnVtKGF2Z1Byb3RlaW4pLCBsYWJlbDogJ9Ch0YDQtdC00L3QuNC1INCx0LXQu9C60LgnLCB1bml0OiAn0LMg0LIg0LTQtdC90YwnIH0sCiAgICAgICAgeyB2YWx1ZTogZm9ybWF0TnVtKGF2Z0ZhdCksIGxhYmVsOiAn0KHRgNC10LTQvdC40LUg0LbQuNGA0YsnLCB1bml0OiAn0LMg0LIg0LTQtdC90YwnIH0sCiAgICAgICAgeyB2YWx1ZTogZm9ybWF0TnVtKGF2Z0NhcmJzKSwgbGFiZWw6ICfQodGA0LXQtNC90LjQtSDRg9Cz0LvQtdCy0L7QtNGLJywgdW5pdDogJ9CzINCyINC00LXQvdGMJyB9LAogICAgICAgIHsgdmFsdWU6IGZvcm1hdE51bShhdmdDb3N0KSwgbGFiZWw6ICfQodGA0LXQtNC90Y/RjyDRgdGC0L7QuNC80L7RgdGC0YwnLCB1bml0OiAn4oK9INCyINC00LXQvdGMJyB9CiAgICAgIF07CgogICAgICBpdGVtc0h0bWwuZm9yRWFjaChmdW5jdGlvbihpdGVtKSB7CiAgICAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgICAgIGRpdi5jbGFzc05hbWUgPSAnbm4tZ2VuLWNhbC1yZXN1bHQtaXRlbSc7CiAgICAgICAgZGl2LmlubmVySFRNTCA9IAogICAgICAgICAgJzxzcGFuIGNsYXNzPSJubi1nZW4tY2FsLXJlc3VsdC12YWx1ZSI+JyArIGl0ZW0udmFsdWUgKyAnPC9zcGFuPicgKwogICAgICAgICAgJzxzcGFuIGNsYXNzPSJubi1nZW4tY2FsLXJlc3VsdC1sYWJlbCI+JyArIGl0ZW0ubGFiZWwgKyAnPC9zcGFuPicgKwogICAgICAgICAgJzxzcGFuIGNsYXNzPSJubi1nZW4tY2FsLXJlc3VsdC11bml0Ij4nICsgaXRlbS51bml0ICsgJzwvc3Bhbj4nOwogICAgICAgIHJlc3VsdEdyaWQuYXBwZW5kQ2hpbGQoZGl2KTsKICAgICAgfSk7CiAgICB9CgogICAgZnVuY3Rpb24gZm9ybWF0TnVtKHZhbCkgewogICAgICBpZiAodmFsID09PSBudWxsIHx8IHZhbCA9PT0gdW5kZWZpbmVkIHx8IGlzTmFOKHZhbCkgfHwgIWlzRmluaXRlKHZhbCkpIHJldHVybiAnMCc7CiAgICAgIHJldHVybiBNYXRoLnJvdW5kKHZhbCAqIDEwKSAvIDEwOwogICAgfQoKICAgIGZ1bmN0aW9uIGVzY2FwZUh0bWwoc3RyKSB7CiAgICAgIGlmICghc3RyKSByZXR1cm4gJyc7CiAgICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICAgZGl2LnRleHRDb250ZW50ID0gc3RyOwogICAgICByZXR1cm4gZGl2LmlubmVySFRNTDsKICAgIH0KCiAgICBmdW5jdGlvbiBhZGREaXNoRnJvbVByZXNldCgpIHsKICAgICAgaGlkZUVycm9yKCk7CiAgICAgIHZhciByYXcgPSBkaXNoU2VsZWN0ID8gZGlzaFNlbGVjdC52YWx1ZSA6ICcnOwogICAgICBpZiAoIXJhdykgewogICAgICAgIHNob3dFcnJvcign0JLRi9Cx0LXRgNC40YLQtSDQsdC70Y7QtNC+INC40Lcg0YHQv9C40YHQutCwINC40LvQuCDQt9Cw0L/QvtC70L3QuNGC0LUg0L/QvtC70Y8g0YHQstC+0LXQs9C+INCx0LvRjtC00LAuJyk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIHZhciBkYXRhOwogICAgICB0cnkgewogICAgICAgIGRhdGEgPSBKU09OLnBhcnNlKHJhdyk7CiAgICAgIH0gY2F0Y2goZSkgewogICAgICAgIHNob3dFcnJvcign0J7RiNC40LHQutCwINC00LDQvdC90YvRhSDQsdC70Y7QtNCwLiDQn9C+0L/RgNC+0LHRg9C50YLQtSDQtdGJ0ZEg0YDQsNC3LicpOwogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICB2YXIgcG9ydGlvbnMgPSBwYXJzZUludChwb3J0aW9uc0lucHV0ICYmIHBvcnRpb25zSW5wdXQudmFsdWUsIDEwKTsKICAgICAgaWYgKCFwb3J0aW9ucyB8fCBwb3J0aW9ucyA8IDEpIHBvcnRpb25zID0gMTsKICAgICAgaWYgKHBvcnRpb25zID4gNTApIHBvcnRpb25zID0gNTA7CgogICAgICBtZW51SXRlbXMucHVzaCh7CiAgICAgICAgZGF5OiBwYXJzZUludChkYXlTZWxlY3QgPyBkYXlTZWxlY3QudmFsdWUgOiAnMCcsIDEwKSB8fCAwLAogICAgICAgIG1lYWw6IG1lYWxTZWxlY3QgPyBtZWFsU2VsZWN0LnZhbHVlIDogJ2JyZWFrZmFzdCcsCiAgICAgICAgbmFtZTogZGF0YS5uYW1lIHx8ICfQkdC70Y7QtNC+JywKICAgICAgICBjYWw6IHBhcnNlRmxvYXQoZGF0YS5jYWwpIHx8IDAsCiAgICAgICAgcHJvdGVpbjogcGFyc2VGbG9hdChkYXRhLnByb3RlaW4pIHx8IDAsCiAgICAgICAgZmF0OiBwYXJzZUZsb2F0KGRhdGEuZmF0KSB8fCAwLAogICAgICAgIGNhcmJzOiBwYXJzZUZsb2F0KGRhdGEuY2FyYnMpIHx8IDAsCiAgICAgICAgY29zdDogcGFyc2VGbG9hdChkYXRhLmNvc3QpIHx8IDAsCiAgICAgICAgcG9ydGlvbnM6IHBvcnRpb25zCiAgICAgIH0pOwogICAgICB1cGRhdGVNZW51VGFibGUoKTsKICAgICAgaGlkZVJlc3VsdCgpOwogICAgICBpZiAoZGlzaFNlbGVjdCkgZGlzaFNlbGVjdC52YWx1ZSA9ICcnOwogICAgfQoKICAgIGZ1bmN0aW9uIGFkZEN1c3RvbURpc2goKSB7CiAgICAgIGhpZGVFcnJvcigpOwogICAgICB2YXIgbmFtZSA9IGN1c3RvbU5hbWUgPyBjdXN0b21OYW1lLnZhbHVlLnRyaW0oKSA6ICcnOwogICAgICBpZiAoIW5hbWUpIHsKICAgICAgICBzaG93RXJyb3IoJ9CS0LLQtdC00LjRgtC1INC90LDQt9Cy0LDQvdC40LUg0YHQstC+0LXQs9C+INCx0LvRjtC00LAuJyk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIHZhciBjYWwgPSBjdXN0b21DYWwgPyBwYXJzZUZsb2F0KGN1c3RvbUNhbC52YWx1ZSkgOiBOYU47CiAgICAgIHZhciBwcm90ZWluID0gY3VzdG9tUHJvdGVpbiA/IHBhcnNlRmxvYXQoY3VzdG9tUHJvdGVpbi52YWx1ZSkgOiBOYU47CiAgICAgIHZhciBmYXQgPSBjdXN0b21GYXQgPyBwYXJzZUZsb2F0KGN1c3RvbUZhdC52YWx1ZSkgOiBOYU47CiAgICAgIHZhciBjYXJicyA9IGN1c3RvbUNhcmJzID8gcGFyc2VGbG9hdChjdXN0b21DYXJicy52YWx1ZSkgOiBOYU47CiAgICAgIHZhciBjb3N0ID0gY3VzdG9tQ29zdCA/IHBhcnNlRmxvYXQoY3VzdG9tQ29zdC52YWx1ZSkgOiBOYU47CgogICAgICBpZiAoaXNOYU4oY2FsKSB8fCBjYWwgPCAwKSBjYWwgPSAwOwogICAgICBpZiAoaXNOYU4ocHJvdGVpbikgfHwgcHJvdGVpbiA8IDApIHByb3RlaW4gPSAwOwogICAgICBpZiAoaXNOYU4oZmF0KSB8fCBmYXQgPCAwKSBmYXQgPSAwOwogICAgICBpZiAoaXNOYU4oY2FyYnMpIHx8IGNhcmJzIDwgMCkgY2FyYnMgPSAwOwogICAgICBpZiAoaXNOYU4oY29zdCkgfHwgY29zdCA8IDApIGNvc3QgPSAwOwoKICAgICAgaWYgKGNhbCA9PT0gMCAmJiBwcm90ZWluID09PSAwICYmIGZhdCA9PT0gMCAmJiBjYXJicyA9PT0gMCAmJiBjb3N0ID09PSAwKSB7CiAgICAgICAgc2hvd0Vycm9yKCfQl9Cw0L/QvtC70L3QuNGC0LUg0YXQvtGC0Y8g0LHRiyDQvtC00LjQvSDQv9C+0LrQsNC30LDRgtC10LvRjCDQsdC70Y7QtNCwICjQutCw0LvQvtGA0LjQuCwg0JHQltCjINC40LvQuCDRgdGC0L7QuNC80L7RgdGC0YwpLicpOwogICAgICAgIHJldHVybjsKICAgICAgfQoKICAgICAgdmFyIHBvcnRpb25zID0gcGFyc2VJbnQocG9ydGlvbnNJbnB1dCAmJiBwb3J0aW9uc0lucHV0LnZhbHVlLCAxMCk7CiAgICAgIGlmICghcG9ydGlvbnMgfHwgcG9ydGlvbnMgPCAxKSBwb3J0aW9ucyA9IDE7CiAgICAgIGlmIChwb3J0aW9ucyA+IDUwKSBwb3J0aW9ucyA9IDUwOwoKICAgICAgbWVudUl0ZW1zLnB1c2goewogICAgICAgIGRheTogcGFyc2VJbnQoZGF5U2VsZWN0ID8gZGF5U2VsZWN0LnZhbHVlIDogJzAnLCAxMCkgfHwgMCwKICAgICAgICBtZWFsOiBtZWFsU2VsZWN0ID8gbWVhbFNlbGVjdC52YWx1ZSA6ICdicmVha2Zhc3QnLAogICAgICAgIG5hbWU6IG5hbWUsCiAgICAgICAgY2FsOiBjYWwsCiAgICAgICAgcHJvdGVpbjogcHJvdGVpbiwKICAgICAgICBmYXQ6IGZhdCwKICAgICAgICBjYXJiczogY2FyYnMsCiAgICAgICAgY29zdDogY29zdCwKICAgICAgICBwb3J0aW9uczogcG9ydGlvbnMKICAgICAgfSk7CiAgICAgIHVwZGF0ZU1lbnVUYWJsZSgpOwogICAgICBoaWRlUmVzdWx0KCk7CiAgICAgIGNsZWFyQ3VzdG9tRmllbGRzKCk7CiAgICB9CgogICAgZnVuY3Rpb24gY2xlYXJDdXN0b21GaWVsZHMoKSB7CiAgICAgIGlmIChjdXN0b21OYW1lKSBjdXN0b21OYW1lLnZhbHVlID0gJyc7CiAgICAgIGlmIChjdXN0b21DYWwpIGN1c3RvbUNhbC52YWx1ZSA9ICcnOwogICAgICBpZiAoY3VzdG9tUHJvdGVpbikgY3VzdG9tUHJvdGVpbi52YWx1ZSA9ICcnOwogICAgICBpZiAoY3VzdG9tRmF0KSBjdXN0b21GYXQudmFsdWUgPSAnJzsKICAgICAgaWYgKGN1c3RvbUNhcmJzKSBjdXN0b21DYXJicy52YWx1ZSA9ICcnOwogICAgICBpZiAoY3VzdG9tQ29zdCkgY3VzdG9tQ29zdC52YWx1ZSA9ICcnOwogICAgfQoKICAgIGZ1bmN0aW9uIHJlc2V0QWxsKCkgewogICAgICBtZW51SXRlbXMgPSBbXTsKICAgICAgdXBkYXRlTWVudVRhYmxlKCk7CiAgICAgIGhpZGVSZXN1bHQoKTsKICAgICAgaGlkZUVycm9yKCk7CiAgICAgIGNsZWFyQ3VzdG9tRmllbGRzKCk7CiAgICAgIGlmIChkaXNoU2VsZWN0KSBkaXNoU2VsZWN0LnZhbHVlID0gJyc7CiAgICAgIGlmIChwb3J0aW9uc0lucHV0KSBwb3J0aW9uc0lucHV0LnZhbHVlID0gJzEnOwogICAgICBpZiAoZGF5U2VsZWN0KSBkYXlTZWxlY3QudmFsdWUgPSAnMCc7CiAgICAgIGlmIChtZWFsU2VsZWN0KSBtZWFsU2VsZWN0LnZhbHVlID0gJ2JyZWFrZmFzdCc7CiAgICAgIGlmIChtZW51Q2FyZCkgbWVudUNhcmQuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgaWYgKGVtcHR5TXNnKSBlbXB0eU1zZy5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKICAgIH0KCiAgICBpZiAoYWRkQnRuKSB7CiAgICAgIGFkZEJ0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBkaXNoVmFsID0gZGlzaFNlbGVjdCA/IGRpc2hTZWxlY3QudmFsdWUgOiAnJzsKICAgICAgICB2YXIgY3VzdG9tTmFtZVZhbCA9IGN1c3RvbU5hbWUgPyBjdXN0b21OYW1lLnZhbHVlLnRyaW0oKSA6ICcnOwogICAgICAgIGlmIChkaXNoVmFsKSB7CiAgICAgICAgICBhZGREaXNoRnJvbVByZXNldCgpOwogICAgICAgIH0gZWxzZSBpZiAoY3VzdG9tTmFtZVZhbCkgewogICAgICAgICAgYWRkQ3VzdG9tRGlzaCgpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBzaG93RXJyb3IoJ9CS0YvQsdC10YDQuNGC0LUg0LHQu9GO0LTQviDQuNC3INGB0L/QuNGB0LrQsCDQuNC70Lgg0LfQsNC/0L7Qu9C90LjRgtC1INC/0L7Qu9GPIMKr0KHQstC+0ZEg0LHQu9GO0LTQvsK7LicpOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9CgogICAgaWYgKGNhbGNCdG4pIHsKICAgICAgY2FsY0J0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKCkgewogICAgICAgIGhpZGVFcnJvcigpOwogICAgICAgIGlmIChtZW51SXRlbXMubGVuZ3RoID09PSAwKSB7CiAgICAgICAgICBzaG93RXJyb3IoJ9CU0L7QsdCw0LLRjNGC0LUg0YXQvtGC0Y8g0LHRiyDQvtC00L3QviDQsdC70Y7QtNC+INCyINC80LXQvdGOINC/0LXRgNC10LQg0YDQsNGB0YfRkdGC0L7QvC4nKTsKICAgICAgICAgIGhpZGVSZXN1bHQoKTsKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgc2hvd1Jlc3VsdCgpOwogICAgICB9KTsKICAgIH0KCiAgICBpZiAocmVzZXRCdG4pIHsKICAgICAgcmVzZXRCdG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpIHsKICAgICAgICByZXNldEFsbCgpOwogICAgICB9KTsKICAgIH0KCiAgICB1cGRhdGVNZW51VGFibGUoKTsKICAgIGhpZGVSZXN1bHQoKTsKICAgIGlmIChlbXB0eU1zZykgZW1wdHlNc2cuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7CiAgICBpZiAobWVudUNhcmQpIG1lbnVDYXJkLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgfSkoKTsK
Спросить у ИИ
Задайте вопрос по этой странице
Осталось вопросов: 5. Только по этой странице.
Оцените страницу
Нужен другой инструмент?
Все инструменты в категории