Практическое задание 3. Обработка файлов в Haskell № 20 Создать проект в stack. Все чистые функции записать в библиотеку Lib.hs и ограничить доступ к вспомогательным функциям. Использовать do-нотацию для работы с внешними файлами. Найти портрет указанного человека: Дойч, Дэвид Перевести изображение в формат .bmp (24-разрядный), при необходимости изменить ширину и высоту изображения без искажений. Сохранить в файл формата .txt фрагмент биографии (не менее 1000 символов без пробелов, текст не должен обрываться на середине слова или предложения). Закодировать текст в изображение методом: Шифром Цезаря. Смещение задается пользователем Ключ к шифру записывается в имя файла. Написать функцию расшифровывающую текст из изображения используя ключ из имени файла и сохраняющую результат в отдельный текстовый файл. Создать функции шифрующие текст в последний бит каждого байта, последние два бита каждого байта, …, все биты в байте. В отчете привести примеры искажений изображения. Задача со звездочкой*: Разобрать сложный формат данных с использованием библиотек доступных в Hackage. Зашифровать и расшифровать данные. Задача с двумя звездочками**: Разобрать сложный формат данных самостоятельно используя только стандартные библиотеки. Зашифровать и расшифровать данные.