TO. 3.1. Готов, надо проверять. Выкладываю на продуктив
TO. 3.2. Готов, можно встраивать в проект.