Body Fat Calculator
Экспорт блока
eyJ0eXBlIjoicmF3LWh0bWwiLCJwcmVzZXQiOiJyYXctaHRtbCIsInBhcmFtcyI6IntcImJsb2NrQ29kZVwiOlwiYzRhNjRcIixcIm5hbWVcIjpcIlwiLFwicmF3VmFsdWVcIjpcIjxzdHlsZT5cXG4gICAgXFwvKiBib2R5IHtcXG4gICAgICAgICAgICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XFxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmNTtcXG4gICAgICAgICAgICBtYXJnaW46IDA7XFxuICAgICAgICAgICAgcGFkZGluZzogMDtcXG4gICAgICAgIH0gKlxcL1xcblxcbiAgICAubW5mc3QtYmZjIHtcXG4gICAgICAgIG1heC13aWR0aDogNTAwcHg7XFxuICAgICAgICBtYXJnaW46IDUwcHggYXV0bztcXG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcXG4gICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMSk7XFxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xcbiAgICB9XFxuXFxuICAgIC5tbmZzdC1iZmMgaDEge1xcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgY29sb3I6ICMzMzM7XFxuICAgIH1cXG5cXG4gICAgLm1uZnN0LWJmYyBsYWJlbCB7XFxuICAgICAgICBkaXNwbGF5OiBibG9jaztcXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcXG4gICAgICAgIGNvbG9yOiAjNTU1O1xcbiAgICB9XFxuXFxuICAgIC5tbmZzdC1iZmMgaW5wdXQsXFxuICAgIC5tbmZzdC1iZmMgc2VsZWN0IHtcXG4gICAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgICAgcGFkZGluZzogMTBweDtcXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XFxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xcbiAgICB9XFxuXFxuICAgIC5tbmZzdC1iZmMgYnV0dG9uIHtcXG4gICAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgICAgcGFkZGluZzogMTJweDtcXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyOGE3NDU7XFxuICAgICAgICBjb2xvcjogd2hpdGU7XFxuICAgICAgICBib3JkZXI6IG5vbmU7XFxuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XFxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgIH1cXG5cXG4gICAgLm1uZnN0LWJmYyBidXR0b246aG92ZXIge1xcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIxODgzODtcXG4gICAgfVxcblxcbiAgICAubW5mc3QtYmZjIC5yZXN1bHRzIHtcXG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XFxuICAgIH1cXG5cXG4gICAgLm1uZnN0LWJmYyAucmVzdWx0LWl0ZW0ge1xcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcXG4gICAgfVxcblxcbiAgICAubW5mc3QtYmZjIC5yZXN1bHQtbGFiZWwge1xcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XFxuICAgICAgICBjb2xvcjogIzMzMztcXG4gICAgfVxcbjxcXC9zdHlsZT5cXG5cXG48ZGl2IGNsYXNzPVxcXCJtbmZzdC1iZmNcXFwiPlxcbiAgICA8aDE+Qm9keSBGYXQgQ2FsY3VsYXRvcjxcXC9oMT5cXG5cXG4gICAgPGxhYmVsIGZvcj1cXFwiZ2VuZGVyXFxcIj5TZXg6PFxcL2xhYmVsPlxcbiAgICA8c2VsZWN0IGlkPVxcXCJnZW5kZXJcXFwiIG9uY2hhbmdlPVxcXCJ0b2dnbGVIaXBGaWVsZCgpXFxcIj5cXG4gICAgICAgIDxvcHRpb24gdmFsdWU9XFxcIm1hbGVcXFwiPmJcXHUwMTAzcmJhdDxcXC9vcHRpb24+XFxuICAgICAgICA8b3B0aW9uIHZhbHVlPVxcXCJmZW1hbGVcXFwiPmZlbWVpZTxcXC9vcHRpb24+XFxuICAgIDxcXC9zZWxlY3Q+XFxuXFxuICAgIDxsYWJlbCBmb3I9XFxcImFnZVxcXCI+VlxcdTAwZTJyc3RhOjxcXC9sYWJlbD5cXG4gICAgPGlucHV0IHR5cGU9XFxcIm51bWJlclxcXCIgaWQ9XFxcImFnZVxcXCIgcGxhY2Vob2xkZXI9XFxcImludHJvZHUgdlxcdTAwZTJyc3RhXFxcIiByZXF1aXJlZD5cXG5cXG4gICAgPGxhYmVsIGZvcj1cXFwid2VpZ2h0XFxcIj5HcmV1dGF0ZSAoa2cpOjxcXC9sYWJlbD5cXG4gICAgPGlucHV0IHR5cGU9XFxcIm51bWJlclxcXCIgaWQ9XFxcIndlaWdodFxcXCIgcGxhY2Vob2xkZXI9XFxcImludHJvZHUgZ3JldXRhdGVhXFxcIiByZXF1aXJlZD5cXG5cXG4gICAgPGxhYmVsIGZvcj1cXFwiaGVpZ2h0XFxcIj5cXHUwMGNlblxcdTAxMDNsXFx1MDIxYmltZWEgKGNtKTo8XFwvbGFiZWw+XFxuICAgIDxpbnB1dCB0eXBlPVxcXCJudW1iZXJcXFwiIGlkPVxcXCJoZWlnaHRcXFwiIHBsYWNlaG9sZGVyPVxcXCJpbnRyb2R1IFxcdTAwZWVuXFx1MDEwM2xcXHUwMjFiaW1lYVxcXCIgcmVxdWlyZWQ+XFxuXFxuICAgIDxsYWJlbCBmb3I9XFxcIm5lY2tcXFwiPkdcXHUwMGUydCAoY20pOjxcXC9sYWJlbD5cXG4gICAgPGlucHV0IHR5cGU9XFxcIm51bWJlclxcXCIgaWQ9XFxcIm5lY2tcXFwiIHBsYWNlaG9sZGVyPVxcXCJpbnRyb2R1IGNpcmN1bWZlcmluXFx1MDIxYmEgZ1xcdTAwZTJ0dWx1aVxcXCIgcmVxdWlyZWQ+XFxuXFxuICAgIDxsYWJlbCBmb3I9XFxcIndhaXN0XFxcIj5UYWxpZSAoY20pOjxcXC9sYWJlbD5cXG4gICAgPGlucHV0IHR5cGU9XFxcIm51bWJlclxcXCIgaWQ9XFxcIndhaXN0XFxcIiBwbGFjZWhvbGRlcj1cXFwiaW50cm9kdSBjaXJjdW1mZXJpblxcdTAyMWJhIHRhbGllaVxcXCIgcmVxdWlyZWQ+XFxuXFxuICAgIDxkaXYgaWQ9XFxcImhpcEZpZWxkXFxcIiBzdHlsZT1cXFwiZGlzcGxheTpub25lO1xcXCI+XFxuICAgICAgICA8bGFiZWwgZm9yPVxcXCJoaXBcXFwiPlxcdTAyMThvbGR1cmkgKGNtKTo8XFwvbGFiZWw+XFxuICAgICAgICA8aW5wdXQgdHlwZT1cXFwibnVtYmVyXFxcIiBpZD1cXFwiaGlwXFxcIiBwbGFjZWhvbGRlcj1cXFwiaW50cm9kdSBjaXJjdW1mZXJpblxcdTAyMWJhIFxcdTAyMTlvbGR1cmlsb3JcXFwiPlxcbiAgICA8XFwvZGl2PlxcblxcbiAgICA8YnV0dG9uIG9uY2xpY2s9XFxcImNhbGN1bGF0ZUJvZHlGYXQoKVxcXCI+Q2FsY3VsZWF6XFx1MDEwMzxcXC9idXR0b24+XFxuXFxuICAgIDxkaXYgY2xhc3M9XFxcInJlc3VsdHNcXFwiIGlkPVxcXCJyZXN1bHRzXFxcIj48XFwvZGl2PlxcbjxcXC9kaXY+XFxuXFxuPHNjcmlwdD5cXG4gICAgZnVuY3Rpb24gdG9nZ2xlSGlwRmllbGQoKSB7XFxuICAgICAgICBjb25zdCBnZW5kZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ2VuZGVyJykudmFsdWU7XFxuICAgICAgICBjb25zdCBoaXBGaWVsZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdoaXBGaWVsZCcpO1xcbiAgICAgICAgaWYgKGdlbmRlciA9PT0gJ2ZlbWFsZScpIHtcXG4gICAgICAgICAgICBoaXBGaWVsZC5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgaGlwRmllbGQuc3R5bGUuZGlzcGxheSA9ICdub25lJztcXG4gICAgICAgIH1cXG4gICAgfVxcblxcbiAgICBmdW5jdGlvbiBjYWxjdWxhdGVCb2R5RmF0KCkge1xcbiAgICAgICAgY29uc3QgZ2VuZGVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dlbmRlcicpLnZhbHVlO1xcbiAgICAgICAgY29uc3QgYWdlID0gcGFyc2VGbG9hdChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYWdlJykudmFsdWUpO1xcbiAgICAgICAgY29uc3Qgd2VpZ2h0ID0gcGFyc2VGbG9hdChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnd2VpZ2h0JykudmFsdWUpO1xcbiAgICAgICAgY29uc3QgaGVpZ2h0ID0gcGFyc2VGbG9hdChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaGVpZ2h0JykudmFsdWUpO1xcbiAgICAgICAgY29uc3QgbmVjayA9IHBhcnNlRmxvYXQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25lY2snKS52YWx1ZSk7XFxuICAgICAgICBjb25zdCB3YWlzdCA9IHBhcnNlRmxvYXQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3dhaXN0JykudmFsdWUpO1xcbiAgICAgICAgbGV0IGhpcCA9IG51bGw7XFxuXFxuICAgICAgICBpZiAoZ2VuZGVyID09PSAnZmVtYWxlJykge1xcbiAgICAgICAgICAgIGhpcCA9IHBhcnNlRmxvYXQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hpcCcpLnZhbHVlKTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIFxcL1xcLyBVLlMuIE5hdnkgTWV0aG9kIENhbGN1bGF0aW9uXFxuICAgICAgICBsZXQgYm9keUZhdFBlcmNlbnRhZ2U7XFxuICAgICAgICBpZiAoZ2VuZGVyID09PSAnbWFsZScpIHtcXG4gICAgICAgICAgICBib2R5RmF0UGVyY2VudGFnZSA9IDQ5NSBcXC8gKDEuMDMyNCAtIDAuMTkwNzcgKiBNYXRoLmxvZzEwKHdhaXN0IC0gbmVjaykgKyAwLjE1NDU2ICogTWF0aC5sb2cxMChoZWlnaHQpKSAtXFxuICAgICAgICAgICAgICAgIDQ1MDtcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgYm9keUZhdFBlcmNlbnRhZ2UgPSA0OTUgXFwvICgxLjI5NTc5IC0gMC4zNTAwNCAqIE1hdGgubG9nMTAod2Fpc3QgKyBoaXAgLSBuZWNrKSArIDAuMjIxMDAgKiBNYXRoLmxvZzEwKFxcbiAgICAgICAgICAgICAgICBoZWlnaHQpKSAtIDQ1MDtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGNvbnN0IGJvZHlGYXRNYXNzID0gKGJvZHlGYXRQZXJjZW50YWdlIFxcLyAxMDApICogd2VpZ2h0O1xcbiAgICAgICAgY29uc3QgbGVhbkJvZHlNYXNzID0gd2VpZ2h0IC0gYm9keUZhdE1hc3M7XFxuXFxuICAgICAgICBcXC9cXC8gSmFja3NvbiAmIFBvbGxvY2sgSWRlYWwgQm9keSBGYXQgQ2FsY3VsYXRpb25cXG4gICAgICAgIGxldCBpZGVhbEJvZHlGYXQgPSBpZGVhbEJvZHlGYXRDYWxjKGFnZSwgZ2VuZGVyKTtcXG5cXG4gICAgICAgIGNvbnN0IGJvZHlGYXRUb0xvc2UgPSBNYXRoLm1heCgwLCBib2R5RmF0TWFzcyAtIChpZGVhbEJvZHlGYXQgXFwvIDEwMCkgKiB3ZWlnaHQpO1xcblxcbiAgICAgICAgXFwvXFwvIEJNSSBNZXRob2QgZm9yIEJvZHkgRmF0IChhcHByb3hpbWF0aW9uKVxcbiAgICAgICAgY29uc3QgYm1pID0gd2VpZ2h0IFxcLyBNYXRoLnBvdyhoZWlnaHQgXFwvIDEwMCwgMik7XFxuICAgICAgICBjb25zdCBib2R5RmF0Qm1pTWV0aG9kID0gKDEuMiAqIGJtaSkgKyAoMC4yMyAqIGFnZSkgLSAoMTAuOCAqIChnZW5kZXIgPT09ICdtYWxlJyA/IDEgOiAwKSkgLSA1LjQ7XFxuXFxuICAgICAgICBcXC9cXC8gQm9keSBGYXQgQ2F0ZWdvcnlcXG4gICAgICAgIGxldCBib2R5RmF0Q2F0ZWdvcnk7XFxuICAgICAgICBpZiAoZ2VuZGVyID09PSAnbWFsZScpIHtcXG4gICAgICAgICAgICBpZiAoYm9keUZhdFBlcmNlbnRhZ2UgPCA2KSB7XFxuICAgICAgICAgICAgICAgIGJvZHlGYXRDYXRlZ29yeSA9ICdFc3NlbnRpYWwgZmF0JztcXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGJvZHlGYXRQZXJjZW50YWdlIDwgMTQpIHtcXG4gICAgICAgICAgICAgICAgYm9keUZhdENhdGVnb3J5ID0gJ0F0aGxldGVzJztcXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGJvZHlGYXRQZXJjZW50YWdlIDwgMTgpIHtcXG4gICAgICAgICAgICAgICAgYm9keUZhdENhdGVnb3J5ID0gJ0ZpdG5lc3MnO1xcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoYm9keUZhdFBlcmNlbnRhZ2UgPCAyNSkge1xcbiAgICAgICAgICAgICAgICBib2R5RmF0Q2F0ZWdvcnkgPSAnQXZlcmFnZSc7XFxuICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgYm9keUZhdENhdGVnb3J5ID0gJ09iZXNlJztcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgIGlmIChib2R5RmF0UGVyY2VudGFnZSA8IDE0KSB7XFxuICAgICAgICAgICAgICAgIGJvZHlGYXRDYXRlZ29yeSA9ICdFc3NlbnRpYWwgZmF0JztcXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGJvZHlGYXRQZXJjZW50YWdlIDwgMjEpIHtcXG4gICAgICAgICAgICAgICAgYm9keUZhdENhdGVnb3J5ID0gJ0F0aGxldGVzJztcXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGJvZHlGYXRQZXJjZW50YWdlIDwgMjUpIHtcXG4gICAgICAgICAgICAgICAgYm9keUZhdENhdGVnb3J5ID0gJ0ZpdG5lc3MnO1xcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoYm9keUZhdFBlcmNlbnRhZ2UgPCAzMikge1xcbiAgICAgICAgICAgICAgICBib2R5RmF0Q2F0ZWdvcnkgPSAnQXZlcmFnZSc7XFxuICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgYm9keUZhdENhdGVnb3J5ID0gJ09iZXNlJztcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9XFxuXFxuICAgICAgICBcXC9cXC8gRGlzcGxheSByZXN1bHRzXFxuICAgICAgICBjb25zdCByZXN1bHRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdHMnKTtcXG4gICAgICAgIHJlc3VsdHMuaW5uZXJIVE1MID0gYFxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcInJlc3VsdC1pdGVtXFxcIj48c3BhbiBjbGFzcz1cXFwicmVzdWx0LWxhYmVsXFxcIj5Cb2R5IEZhdCAoJSk6PFxcL3NwYW4+ICR7Ym9keUZhdFBlcmNlbnRhZ2UudG9GaXhlZCgyKX0lPFxcL2Rpdj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJyZXN1bHQtaXRlbVxcXCI+PHNwYW4gY2xhc3M9XFxcInJlc3VsdC1sYWJlbFxcXCI+Qm9keSBGYXQgQ2F0ZWdvcnk6PFxcL3NwYW4+ICR7Ym9keUZhdENhdGVnb3J5fTxcXC9kaXY+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwicmVzdWx0LWl0ZW1cXFwiPjxzcGFuIGNsYXNzPVxcXCJyZXN1bHQtbGFiZWxcXFwiPkJvZHkgRmF0IE1hc3MgKGtnKTo8XFwvc3Bhbj4gJHtib2R5RmF0TWFzcy50b0ZpeGVkKDIpfSBrZzxcXC9kaXY+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwicmVzdWx0LWl0ZW1cXFwiPjxzcGFuIGNsYXNzPVxcXCJyZXN1bHQtbGFiZWxcXFwiPkxlYW4gQm9keSBNYXNzIChrZyk6PFxcL3NwYW4+ICR7bGVhbkJvZHlNYXNzLnRvRml4ZWQoMil9IGtnPFxcL2Rpdj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJyZXN1bHQtaXRlbVxcXCI+PHNwYW4gY2xhc3M9XFxcInJlc3VsdC1sYWJlbFxcXCI+SWRlYWwgQm9keSBGYXQgZm9yIEdpdmVuIEFnZSAoJSk6PFxcL3NwYW4+ICR7aWRlYWxCb2R5RmF0LnRvRml4ZWQoMil9JTxcXC9kaXY+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwicmVzdWx0LWl0ZW1cXFwiPjxzcGFuIGNsYXNzPVxcXCJyZXN1bHQtbGFiZWxcXFwiPkJvZHkgRmF0IHRvIExvc2UgdG8gUmVhY2ggSWRlYWwgKGtnKTo8XFwvc3Bhbj4gJHtib2R5RmF0VG9Mb3NlLnRvRml4ZWQoMil9IGtnPFxcL2Rpdj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJyZXN1bHQtaXRlbVxcXCI+PHNwYW4gY2xhc3M9XFxcInJlc3VsdC1sYWJlbFxcXCI+Qm9keSBGYXQgKCUpOjxcXC9zcGFuPiAoQk1JIG1ldGhvZCk6ICR7Ym9keUZhdEJtaU1ldGhvZC50b0ZpeGVkKDIpfSU8XFwvZGl2PlxcbiAgICAgICAgYDtcXG4gICAgfVxcblxcbiAgICBmdW5jdGlvbiBpZGVhbEJvZHlGYXRDYWxjKGFnZSwgZ2VuZGVyKSB7XFxuICAgICAgICBpZiAoZ2VuZGVyID09PSBcXFwibWFsZVxcXCIpIHtcXG4gICAgICAgICAgICBpZiAoYWdlIDw9IDIwKSByZXR1cm4gOC41O1xcbiAgICAgICAgICAgIGVsc2UgaWYgKGFnZSA8PSAyNSkgcmV0dXJuIDEwLjU7XFxuICAgICAgICAgICAgZWxzZSBpZiAoYWdlIDw9IDMwKSByZXR1cm4gMTIuNztcXG4gICAgICAgICAgICBlbHNlIGlmIChhZ2UgPD0gMzUpIHJldHVybiAxMy43O1xcbiAgICAgICAgICAgIGVsc2UgaWYgKGFnZSA8PSA0MCkgcmV0dXJuIDE1LjM7XFxuICAgICAgICAgICAgZWxzZSBpZiAoYWdlIDw9IDQ1KSByZXR1cm4gMTYuNDtcXG4gICAgICAgICAgICBlbHNlIGlmIChhZ2UgPD0gNTApIHJldHVybiAxOC45O1xcbiAgICAgICAgICAgIGVsc2UgaWYgKGFnZSA8PSA1NSkgcmV0dXJuIDIwLjk7XFxuICAgICAgICAgICAgZWxzZSByZXR1cm4gMjI7IFxcL1xcLyBcXHUwNDFjXFx1MDQzZVxcdTA0MzZcXHUwNDNkXFx1MDQzZSBcXHUwNDQzXFx1MDQzYVxcdTA0MzBcXHUwNDM3XFx1MDQzMFxcdTA0NDJcXHUwNDRjIFxcdTA0MzdcXHUwNDNkXFx1MDQzMFxcdTA0NDdcXHUwNDM1XFx1MDQzZFxcdTA0MzhcXHUwNDM1IFxcdTA0MzRcXHUwNDNiXFx1MDQ0ZiBcXHUwNDMyXFx1MDQzZVxcdTA0MzdcXHUwNDQwXFx1MDQzMFxcdTA0NDFcXHUwNDQyXFx1MDQzMCBcXHUwNDMyXFx1MDQ0YlxcdTA0NDhcXHUwNDM1IDU1XFxuICAgICAgICB9IGVsc2UgaWYgKGdlbmRlciA9PT0gXFxcImZlbWFsZVxcXCIpIHtcXG4gICAgICAgICAgICBpZiAoYWdlIDw9IDIwKSByZXR1cm4gMTcuNztcXG4gICAgICAgICAgICBlbHNlIGlmIChhZ2UgPD0gMjUpIHJldHVybiAxOC40O1xcbiAgICAgICAgICAgIGVsc2UgaWYgKGFnZSA8PSAzMCkgcmV0dXJuIDE5LjM7XFxuICAgICAgICAgICAgZWxzZSBpZiAoYWdlIDw9IDM1KSByZXR1cm4gMjEuNTtcXG4gICAgICAgICAgICBlbHNlIGlmIChhZ2UgPD0gNDApIHJldHVybiAyMi4yO1xcbiAgICAgICAgICAgIGVsc2UgaWYgKGFnZSA8PSA0NSkgcmV0dXJuIDIyLjk7XFxuICAgICAgICAgICAgZWxzZSBpZiAoYWdlIDw9IDUwKSByZXR1cm4gMjUuMjtcXG4gICAgICAgICAgICBlbHNlIGlmIChhZ2UgPD0gNTUpIHJldHVybiAyNi4zO1xcbiAgICAgICAgICAgIGVsc2UgcmV0dXJuIDI4OyBcXC9cXC8gXFx1MDQxY1xcdTA0M2VcXHUwNDM2XFx1MDQzZFxcdTA0M2UgXFx1MDQ0M1xcdTA0M2FcXHUwNDMwXFx1MDQzN1xcdTA0MzBcXHUwNDQyXFx1MDQ0YyBcXHUwNDM3XFx1MDQzZFxcdTA0MzBcXHUwNDQ3XFx1MDQzNVxcdTA0M2RcXHUwNDM4XFx1MDQzNSBcXHUwNDM0XFx1MDQzYlxcdTA0NGYgXFx1MDQzMlxcdTA0M2VcXHUwNDM3XFx1MDQ0MFxcdTA0MzBcXHUwNDQxXFx1MDQ0MlxcdTA0MzAgXFx1MDQzMlxcdTA0NGJcXHUwNDQ4XFx1MDQzNSA1NVxcbiAgICAgICAgfVxcbiAgICAgICAgcmV0dXJuIG51bGw7IFxcL1xcLyBcXHUwNDE1XFx1MDQ0MVxcdTA0M2JcXHUwNDM4IFxcdTA0M2ZcXHUwNDNlXFx1MDQzYiBcXHUwNDNkXFx1MDQzNSBcXHUwNDQzXFx1MDQzYVxcdTA0MzBcXHUwNDM3XFx1MDQzMFxcdTA0M2QsIFxcdTA0MzJcXHUwNDNlXFx1MDQzN1xcdTA0MzJcXHUwNDQwXFx1MDQzMFxcdTA0NDlcXHUwNDMwXFx1MDQzNVxcdTA0M2MgbnVsbFxcbiAgICB9XFxuPFxcL3NjcmlwdD5cIixcInJlcGxhY2VWYXJpYWJsZXNcIjpcIlwiLFwiYmxvY2tQYWRkaW5nVG9wXCI6MCxcImJsb2NrUGFkZGluZ0JvdHRvbVwiOjAsXCJibG9ja0JhY2tncm91bmRDb2xvclwiOlwiXCIsXCJibG9ja0ZvcmVncm91bmRDb2xvclwiOlwiXCIsXCJibG9ja0xpbmtDb2xvclwiOlwiXCIsXCJibG9ja0ZvbnRcIjpudWxsLFwiYmxvY2tGb250SGVhZGVyXCI6bnVsbCxcImJsb2NrQ3NzQ2xhc3NcIjpcIlwiLFwiYmxvY2tDb3ZlclwiOm51bGwsXCJpc01vZGFsXCI6bnVsbCxcImJsb2NrQ2xpY2tBY3Rpb25cIjpcIlwiLFwiYmxvY2tGbGV4XCI6MH0iLCJjc3MiOm51bGwsImlzUmVkZXNpZ24iOmZhbHNlfQ==
<style>
/* body {
font-family: Arial, sans-serif;
background-color: #f0f0f5;
margin: 0;
padding: 0;
} */
.mnfst-bfc {
max-width: 500px;
margin: 50px auto;
padding: 20px;
background-color: white;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
border-radius: 10px;
}
.mnfst-bfc h1 {
text-align: center;
color: #333;
}
.mnfst-bfc label {
display: block;
margin-bottom: 8px;
color: #555;
}
.mnfst-bfc input,
.mnfst-bfc select {
width: 100%;
padding: 10px;
margin-bottom: 15px;
border: 1px solid #ccc;
border-radius: 5px;
}
.mnfst-bfc button {
width: 100%;
padding: 12px;
background-color: #28a745;
color: white;
border: none;
border-radius: 5px;
cursor: pointer;
}
.mnfst-bfc button:hover {
background-color: #218838;
}
.mnfst-bfc .results {
margin-top: 20px;
}
.mnfst-bfc .result-item {
margin-bottom: 10px;
}
.mnfst-bfc .result-label {
font-weight: bold;
color: #333;
}
</style>
<div class="mnfst-bfc">
<h1>Body Fat Calculator</h1>
<label for="gender">Sex:</label>
<select id="gender" onchange="toggleHipField()">
<option value="male">bărbat</option>
<option value="female">femeie</option>
</select>
<label for="age">Vârsta:</label>
<input type="number" id="age" placeholder="introdu vârsta" required>
<label for="weight">Greutate (kg):</label>
<input type="number" id="weight" placeholder="introdu greutatea" required>
<label for="height">Înălțimea (cm):</label>
<input type="number" id="height" placeholder="introdu înălțimea" required>
<label for="neck">Gât (cm):</label>
<input type="number" id="neck" placeholder="introdu circumferința gâtului" required>
<label for="waist">Talie (cm):</label>
<input type="number" id="waist" placeholder="introdu circumferința taliei" required>
<div id="hipField" style="display:none;">
<label for="hip">Șolduri (cm):</label>
<input type="number" id="hip" placeholder="introdu circumferința șoldurilor">
</div>
<button onclick="calculateBodyFat()">Calculează</button>
<div class="results" id="results"></div>
</div>
<script>
function toggleHipField() {
const gender = document.getElementById('gender').value;
const hipField = document.getElementById('hipField');
if (gender === 'female') {
hipField.style.display = 'block';
} else {
hipField.style.display = 'none';
}
}
function calculateBodyFat() {
const gender = document.getElementById('gender').value;
const age = parseFloat(document.getElementById('age').value);
const weight = parseFloat(document.getElementById('weight').value);
const height = parseFloat(document.getElementById('height').value);
const neck = parseFloat(document.getElementById('neck').value);
const waist = parseFloat(document.getElementById('waist').value);
let hip = null;
if (gender === 'female') {
hip = parseFloat(document.getElementById('hip').value);
}
// U.S. Navy Method Calculation
let bodyFatPercentage;
if (gender === 'male') {
bodyFatPercentage = 495 / (1.0324 - 0.19077 * Math.log10(waist - neck) + 0.15456 * Math.log10(height)) -
450;
} else {
bodyFatPercentage = 495 / (1.29579 - 0.35004 * Math.log10(waist + hip - neck) + 0.22100 * Math.log10(
height)) - 450;
}
const bodyFatMass = (bodyFatPercentage / 100) * weight;
const leanBodyMass = weight - bodyFatMass;
// Jackson & Pollock Ideal Body Fat Calculation
let idealBodyFat = idealBodyFatCalc(age, gender);
const bodyFatToLose = Math.max(0, bodyFatMass - (idealBodyFat / 100) * weight);
// BMI Method for Body Fat (approximation)
const bmi = weight / Math.pow(height / 100, 2);
const bodyFatBmiMethod = (1.2 * bmi) + (0.23 * age) - (10.8 * (gender === 'male' ? 1 : 0)) - 5.4;
// Body Fat Category
let bodyFatCategory;
if (gender === 'male') {
if (bodyFatPercentage < 6) {
bodyFatCategory = 'Essential fat';
} else if (bodyFatPercentage < 14) {
bodyFatCategory = 'Athletes';
} else if (bodyFatPercentage < 18) {
bodyFatCategory = 'Fitness';
} else if (bodyFatPercentage < 25) {
bodyFatCategory = 'Average';
} else {
bodyFatCategory = 'Obese';
}
} else {
if (bodyFatPercentage < 14) {
bodyFatCategory = 'Essential fat';
} else if (bodyFatPercentage < 21) {
bodyFatCategory = 'Athletes';
} else if (bodyFatPercentage < 25) {
bodyFatCategory = 'Fitness';
} else if (bodyFatPercentage < 32) {
bodyFatCategory = 'Average';
} else {
bodyFatCategory = 'Obese';
}
}
// Display results
const results = document.getElementById('results');
results.innerHTML = `
<div class="result-item"><span class="result-label">Body Fat (%):</span> ${bodyFatPercentage.toFixed(2)}%</div>
<div class="result-item"><span class="result-label">Body Fat Category:</span> ${bodyFatCategory}</div>
<div class="result-item"><span class="result-label">Body Fat Mass (kg):</span> ${bodyFatMass.toFixed(2)} kg</div>
<div class="result-item"><span class="result-label">Lean Body Mass (kg):</span> ${leanBodyMass.toFixed(2)} kg</div>
<div class="result-item"><span class="result-label">Ideal Body Fat for Given Age (%):</span> ${idealBodyFat.toFixed(2)}%</div>
<div class="result-item"><span class="result-label">Body Fat to Lose to Reach Ideal (kg):</span> ${bodyFatToLose.toFixed(2)} kg</div>
<div class="result-item"><span class="result-label">Body Fat (%):</span> (BMI method): ${bodyFatBmiMethod.toFixed(2)}%</div>
`;
}
function idealBodyFatCalc(age, gender) {
if (gender === "male") {
if (age <= 20) return 8.5;
else if (age <= 25) return 10.5;
else if (age <= 30) return 12.7;
else if (age <= 35) return 13.7;
else if (age <= 40) return 15.3;
else if (age <= 45) return 16.4;
else if (age <= 50) return 18.9;
else if (age <= 55) return 20.9;
else return 22; // Можно указать значение для возраста выше 55
} else if (gender === "female") {
if (age <= 20) return 17.7;
else if (age <= 25) return 18.4;
else if (age <= 30) return 19.3;
else if (age <= 35) return 21.5;
else if (age <= 40) return 22.2;
else if (age <= 45) return 22.9;
else if (age <= 50) return 25.2;
else if (age <= 55) return 26.3;
else return 28; // Можно указать значение для возраста выше 55
}
return null; // Если пол не указан, возвращаем null
}
</script>
No Comments