pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Как сделать вебсайт, работающий оффлайн?

Лучший ответ: Для сайта оффлайн есть PWA, Service Workers, IndexedDB
https://developers.google.com/web/progressive-web-apps/
https://developer.mozilla.org/ru/docs/Web/API/Serv...
https://developer.mozilla.org/ru/docs/IndexedDB

Худший ответ: Сделать десктоп приложение.
Вопрос: Отправка письма на email.?

Лучший ответ: вы уверены, что:
1) указали верный порт smtp  принимающей(к какой подключаетесь) стороны? (точно 587 ??? не всегда используется 587 для smtp)
2) указали верный адрес почты?
3) верный логин и пароль?
вот рабочий код:class Program
    {
        static void Main(string[] args)
        {
             
            // отправитель - устанавливаем адрес и отображаемое в письме имя
            MailAddress from = new MailAddress("somemail@gmail.com", "Tom");
            // кому отправляем
            MailAddress to = new MailAddress("somemail@yandex.ru");
            // создаем объект сообщения
            MailMessage m = new MailMessage(from, to);
            // тема письма
            m.Subject = "Тест";
            // текст письма
            m.Body = "<h2>Письмо-тест работы smtp-клиента</h2>";
            // письмо представляет код html
            m.IsBodyHtml = true;
            // адрес smtp-сервера и порт, с которого будем отправлять письмо
            SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587);
            // логин и пароль
            smtp.Credentials = new NetworkCredential("somemail@gmail.com", "mypassword");
            smtp.EnableSsl = true;
            smtp.Send(m);
            Console.Read();
        }
    }
вот асинхронный код:class Program
    {
        static void Main(string[] args)
        {
 
            SendEmailAsync().GetAwaiter();
            Console.Read();
        }
 
        private static async Task SendEmailAsync()
        {
            MailAddress from = new MailAddress("somemail@gmail.com", "Tom");
            MailAddress to = new MailAddress("somemail@yandex.ru");
            MailMessage m = new MailMessage(from, to);
            m.Subject = "Тест";
            m.Body = "Письмо-тест 2 работы smtp-клиента";
            SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587);
            smtp.Credentials = new NetworkCredential("somemail@gmail.com", "mypassword");
            smtp.EnableSsl = true;
            await smtp.SendMailAsync(m);
            Console.WriteLine("Письмо отправлено");
        }
    }
если через это не отправится - значит проблемы с указанными данными: порт, емеил, логи и пароль...

Худший ответ: А почему бы не обернуть свой код в try-catch и не прочитать exception.message - там вероятнее всего вполне внятно написано о причине проблемы.
Вопрос: Как вовремя закрыть соединения с БД в PHP?

Лучший ответ: если по простому - в начале скрипта открыли, в конце скрипта закрыли.

Худший ответ: Создайте собственную функцию видаfunction doQuery () {
    mysql_connect ( ... );
    mysql_query ( ... );
    mysql_close( ... );
}
Я бы не рекомендовал делать такое решение, потому что на чём-то более-менее серьезном оно может привести к лишней нагрузке на сервер. Лучше стараться построить архитектуру так, чтобы в рамках одного соединения максимально эффективно загонять в коннект данные.
Вопрос: Сложно ли реализовать на AJAX??

Лучший ответ: Сложно ли реализовать на AJAX??нет

Худший ответ: Конечно есть примеры, достаточно ввести в гугл ЧЕТЫРЕ СЛОВА "ajax php mysql w3", а не писать простыню на тостер.
https://www.w3schools.com/php/php_ajax_database.aspНе знаю AJAX и PHP вот и интересуюсь может кто знает похожие примеры или направит на путь правильный.
Учитывая первую часть фразы, правильный путь - путь на сайты фриланса. 
Получение и обработка пользовательских данных это ВСЕГДА потенциальная дыра, особенно если не задумываясь копировать чужие куски кода.
Вопрос: Где можно заказать apple клавиатуру без надписей на клавишах?

Лучший ответ: Нигде.

Худший ответ: Оригинальную — нигде, но можно заказать вот такую и подобрать дизайн самому: www.wasdkeyboards.com
Вопрос: Curl выдает false. Что делать?

Лучший ответ: Первый же сайт с Access-Control-Allow-Origin не * и все надежды, мечты, планы на счастливую и беззаботную жизнь - в миг рухнут как карточный домик.
А нужно было всего-то добавить:CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => false
Ну или уж если прям совсем, то скачать и установить сертификат

Худший ответ: Копать в сторону проверки SSL сертефиката.
Вопрос: Языки актуальные для backend?

Лучший ответ: php был есть и будет есть (будет есть с ООП). Актуально использовать его приправив актуальным framework-ом (symfony, laravel, yii2). Однако все зависит от проекта иногда может быть оправдано использовать и другие языки, но то что большинство проектов запросто реализуются на php - это факт.
От чего такой вопрос возник?

Худший ответ: вопрос в том как мерить актуальность.
Как вариант, зайди на сайт вакансий и посмотри по языкам что и в каких объемах нужно.
Вопрос: С чего начинать чтение чужого кода?

Лучший ответ: начинай читать, внезапно, с точки входа в приложение.
проекты с открытым исходным кодом, еще более внезапно, находятся, например, на гитхабе!

Худший ответ: Читаешь построчно и сам себе объясняешь что тут делается.
Чем больше читаешь тем лучше будет получаться.
Вопрос: Чем отличаются системный администратор, сетевой архитектор, сетевой инженер?

Лучший ответ: Первый эксплуатирует, второй проектирует, третий - строит.

Худший ответ: Если есть возможность выбирать, то почему бы и не выбрать Сетевого архитектора. 
PS: Только если это первая работа, то лучше не указывать "Император сети".
Вопрос: Как найти все целочисленные точки отрезка?

Лучший ответ: Для произвольных (x₁, y₁) и (x₂, y₂), IMHO, только брать все целые значения между x₁ и x₂ и проверять значение y в полученных точках.
Для целочисленных (x₁, y₁) и (x₂, y₂) можно так:
n = НОД(|x₂ − x₁|, |y₂ − y₁|)
dx = (x₂ − x₁) / n
dy = (y₂ − y₁) / n
И взять все пары (x₁ + dx × i, y₁ + dy × i) для i = 1 .. n − 1

Худший ответ: Алгоритм Брезенхема?
Вопрос: Почему Node.js не устанавливается на Windows 7?

Лучший ответ: Устанавливать необходимо 13ю версию Node.js:

https://www.centennialsoftwaresolutions.com/post/i...

Худший ответ: IlyaBIS, а если нужна последняя версия, есть ли пути обхода проверки системы?
Вопрос: Что лучше выбрать, мультипоточность или мультипроцессинг?

Лучший ответ: Если вы не знакомы с Python, то для начала прочитайте про GIL - global interpreter lock.
Несколько лет назад выбор Python был бы оправдан. Но на сегодня я бы для решения такой задачи выбрал бы уже Go, а не Python.
Программировать на Go также просто как и на Python, а с параллельностью и конкурентностью у Go гораздо проще чем у Python.
Имхо, если язык не заточен на конкурентность - не Erlang, не Go и т.п. - то лучше запускать несколько экземпляров вашего приложения. По одному экземпляру на 1 физическое ядро.
Хотя 1000 потоков - не бог весь какая нагрузка.
Специально заморачиваться нужно только если вы хотите минимизировать оплату за хостинг или у вас эти задачи какие-то нагруженные.
У меня проект на Go прекрасно держит и 15 000 одновременных постоянных соединений, к примеру. 
На слабом современном сервере (4 ядра, 4 гигабайта оперативки).

Худший ответ: scrappy теперь поддерживает питон3
doc.scrapy.org/en/latest/news.html#news-betapy3
свой велосипед писать не нужно
Вопрос: Как реорганизовать процесс разработки и увеличить её скорость, если нету документации, куча костылей и старый код?

Лучший ответ: Вариант только один. Искать нормальных разработчиков, делать НОРМАЛЬНУЮ документаци, налаживать процессы, автоматизировать все что должно быть автоматизировано, рефакторить все, что должно быть отрефакторено, выкидывать костыли и заменять их нормальными решениями. Можно постепенно, если можно, а не все сразу. 
Отдавать на аутсорс можно. Это довольно частая проблема, когда текущая команда не хочет изменений, или не в состоянии менять ничего. У нас приличное количество таких проектов. Отдать на аутсорс (можно и другой команде внутри) более мотивированной команде это один из выходов.

Худший ответ: Дабы не повторяться хочу сказать еще одну мысль, которая помогла некоторым проектам.
Иногда кол-во "фич" и костылей зашкаливает, а технологии устаревают настолько, что единственным адекватным решением является стать "фениксом".
Иногда стоит переписать все заново используя старые наработки и перенеся необходимый функционал в новую среду. В таком случае появляется возможность начать вести все необходимые типы документации.
Конечно же этот способ работает только в случае подобном вашему. т.е. когда Вы обладаете достаточным объемом ресурсов (время и финансы) для найма профессионалов, способных на подобное действие. Максимально упростив текущую схему, перенеся её на новый функционал и обзаведшись хотя бы минимально необходимой документацией Вам будет легче сопровождать и модифицировать то, что Вы получите в итоге.
Разумеется это ОЧЕНЬ сложный и рискованный шаг, но иногда сделать заново гораздо проще чем реанимировать умирающее.
Вопрос: Как добавить новые теги в таблицу в gridView?

Лучший ответ: Добрый вечер.
В модели создаёте публичный, статический метод, где все девять параметров прописываете.
В gridview вызываете этот метод и получаете выпадающий список

Худший ответ: Здравствуйте.
Попробуйте добавить к полую формат =  'raw'.
Это позволит выводить теги.
Привел пример ниже:...
            'columns' => [
                [
                    'attribute' => 'id',
                    'value' => 'id',
                    'contentOptions' => ['width' => '20px'],
                ],
                [
                    'attribute' => 'name',
                    'format' => 'raw',
                    'value' => function ($data) {
                        $fieldValue = '<strong>'.$data->name.'</strong>';
                        return $fieldValue;
                    },
                    'contentOptions' => ['width' => '150px'],
                ],
...
Вопрос: Как сделать обводку другого цвета с прозрачностью?

Лучший ответ: Шрифт сам подберешь) https://jsfiddle.net/joomla/fduzLu06/1/

Худший ответ: А что нельзя просто вставить логотип картинкой как есть с иллюзией прозрачности?
Вопрос: LAMP или не LAMP вот в чем вопрос?

Лучший ответ: lamp - это просто название стека.
а как его ставить (по отдельности или готовые сборки) рояля особого не играет.

Худший ответ: Если нет желания возиться с тонкостями настроек, то LAMP.
Если вы хорошо понимаете (или есть желание понять) как можно провести оптимизацию  ПО через конфиги, то по отдельности.
Вопрос: Что такое public?

Лучший ответ: сразу практикуюсь без теории)
лучше задолбить кого вопросами?
php.net/manual/ru/language.oop5.visibility.php

Худший ответ: Public - публичный. То есть эту функцию можно использовать везде и в дочерних классах.
Protected - защищенный
Private - Приватный.
Но всё таки советую поизучать документацию пхп php.net
Вопрос: Laravel проверка на чет нечет и последнее?

Лучший ответ: В последних версиях Laravel есть переменная $loop в цикле:@if ($loop->last)
    This is the last iteration.
@endif
А проверка на четность делается так:@if ($loop->index % 2 == 0)
    Четное
@else
    Нет
@endif

Худший ответ: полное описание указанной выше переменной:
https://laravel.com/docs/5.7/blade#the-loop-variable
Вопрос: Есть ли будущее у премиальной темы, которая не имеет Page Buider'а?

Лучший ответ: Все эти Visual page builder'ы, в основной своей массе, меня лично чаще всего просто выбешивают. У меня было немало клиентов, которым вот понравится какое-то демо в какой то теме, и "хочу вот так".
Ок, купил тему, установил с нужными демо-данными, а там как раз страницы билдером сделаны. И начинается....
Бывает, ищешь какую-то мелочь, на которую обычно 1 минуту тратишь.
И пока найдешь, где там что запрятано, состаришься. При этом обычное редактирование кода как правило недоступно. Потом браузер они грузят неслабо. Если посмотреть на исходный код страницы, которая получается, то там как правило сплошной мусор, который эти билдеры добавляют.
Тем не менее, вот у меня сейчас на работе, несколько прелестных созданий регулярно создают контентные страницы, с правами редакторов - напишут заголовок, добавят пару картинок, дальше текст разноотформатированный - жирный, наклонный, подчеркнутый - и вот каждая такая страница есть отдельная песня. Т.е. в буквальном смысле - каждая страница живет как сама по себе,  разной величины заголовки, разноразмерные шрифты, разные баттоны. Тут уж я скажу так, что лучше перетаскивайте элементы на страницу, пусть будет лучше мусор, чем весь этот ужас....
Мое мнение - если кто то предложит быстрый легкий билдер, пусть не такой навороченный но оставляющий после себя чистый читабельный код, который можно кроме всего редактировать вручную - вот это и было бы наверное отличным решением с вероятно счастливым будущим.

Худший ответ: Я ставлю темы постоянно клиентам. Если бы не было билдеров, я бы с ума сошел там всем что-то доделывать. Не смотря на то, что часть установленных тем не имеет билдеров, все равно при покупке это один из ключевых показателей - множество предзаготовленных блоков.
Вы продаете тему на форесте, там покупатели это что-то среднее между конечником и прогером....там это сильно важно. Посмотрите на продажи - чем универсальнее тема, тем больше продаж.
Вопрос: Можно ли в windows 10 сделать так, чтобы даже если закрыть ноутбук, он все-равно не впал в сонный режим?

Лучший ответ: В настройках электропитания есть настройка "Действия при закрытии крышки". Вот там уберите все действия, и он не будет засыпать.

Худший ответ: Деактивировать датчик закрытия. Для этого, например, удалить магнит, от которого он срабатывает.
Вопрос: Как сделать «острыми» края окон в 1C?

Лучший ответ: В конфигурации есть ветка "Стиль".

Худший ответ: Это правда настолько важно?
Вопрос: Как найти минимальное значение многомерного массива?

Лучший ответ: const arr = [
  [ 2, 7, 2 ],
  [ 2, 5, 4 ],
  [ 2, 1, 5 ],
  [ 3, 1, 2 ],
];

const min = arr.map((n, i) => {
  const val = Math.min(...n);
  return {
    val,
    index: [ i, n.indexOf(val) ],
  };
}).reduce((min, n) => min.val <= n.val ? min : n);
UPD. Если нужно обрабатывать массивы произвольной размерности, можно применить рекурсию:const arr = [
  [ 2, 7, 2, [ 5, [ 4, [ 3 ], 2 ] ] ],
  [ 2, 5, [ 2, 6, 5, 2 ], 4 ],
  [ 2, 1, [ [ [ 9, 0, 1 ], [ [ [ 1 ] ] ], -1 ] ], 5 ],
  [ 3, 1, 2 ],
];

const minElemWithIndex = arr => arr.reduce((min, n, i) => {
  const m = n instanceof Array
    ? minElemWithIndex(n)
    : { val: n, index: [] };

  m.index.unshift(i);

  return m.val < min.val ? m : min;
}, { val: Infinity, index: null });

const min = minElemWithIndex(arr);

Худший ответ: let min = [
  [2, 7, 2],
  [2, 5, 4],
  [2, 1, 5],
  [3, 1, 2]
].reduce((acc, subArray)=>Math.min(...subArray, acc), Infinity)
Пришлось использовать Infinity а не null, потому что он где-то перобразовывался в 0.
Пример: https://jsfiddle.net/2jptn5dc/.reduce()
С поиском индекса более громоздкая штука получается https://jsfiddle.net/2jptn5dc/1/
Вопрос: Каковы главные факторы успеха Wordpress-темы на Themeforest?

Лучший ответ: Я думаю, главное дизайн и вариативность. Дизайн - первое на что обращаешь внимание. При выборе, иногда можно просмотреть чуть ли не сотню различных тем, тут главное чтобы тема чем-то запомнилась и к ней вернулись после просмотра еще нескольких десятков других тем. Сейчас на тф куча одинакомых тем/шаблонов и, хотя бы чуть-чуть, уникальный дизайн может сыграть большую роль при выборе. 
Вариативность. Почти у всех топовых тем много различных демок, таким образом они покрывают больше потребностей, а это значит больше продаж.

Худший ответ: по моему мнению, чисто визуальные критерии. Т.е. если требованиям самого themeforest продукт соответствует, то разработчика продукта заботит только прибыль. Нет, они конечно поддерживают продукт, отвечают на комменты и ведут тикеты, но как только встанет реально серьезная проблема, уходят от ответственности. 
У меня был подобный случай, правда, не с wp а magento, но сути дела это не меняет.
Вопрос: Как через js/jquery вызвать загрузку файла c сайта на пк?

Лучший ответ: Если правильно понял:function download(content, fileName, contentType) {
    var a = document.createElement("a");
    var file = new Blob([content], {type: contentType});
    a.href = URL.createObjectURL(file);
    a.download = fileName;
    a.click();
}

Худший ответ: попробуй вот так $('a').click(function(e) {
    e.preventDefault();  //stop the browser from following
    window.location.href = 'uploads/file.doc';
});
Вопрос: Есть веские причины не работать через встроенный компилятор и консоль?

Лучший ответ: Вы будете страдать=)
А вообще, если очень хочется, можно попробовать установить только command line tools. В итоге получаем 
dotnet new
dotnet restore
dotnet run
Но это как ездить на велосипеде когда у тебя есть  мотоцикл. На маленькие расстояния вроди норм, но если нужно далеко и быстро, то тут начинаются проблемы...

Худший ответ: Попробуйте Visual Studio Code.
Может многое.
Вопрос: Кто пользуется редактором кода CodeLobster?

Лучший ответ: Про must have редактор не скажу, но все же очень удобен PhpStorm, обладает огромным функционалом, поэтому многие им и пользуется.
Мое мнение, почему CodeLobster непопулярен:Нет версии под Мак - думаю, что большинство, кто составляют более-менее популярные рейтинги пользуются маками.Если смотреть эту таблицу цен, то бесплатный вариант практически не обладает ничем выдающимся, lite за 40$ тоже слабоват.Отсутствие возможности ткнуть в папке проекта и тем самым создать новый файл - это вообще жесть.Нет стилизации кода под стандарт - тоже очень плохо.Очень мало плагинов - например кому-то важны миникарта, gist'ы, быстрый переход к месту, VIM-mode, возможность написать свой плагин - всего этого нет.Невнятная справка, древний сайт.Не понял, есть ли у него "go to definition", но, похоже - нет, без этого IDE - недоIDE.
В общем, как я понимаю, подходит он только для тех, кто его с древности использует по привычке для своих личных проектов, т.к. для работы в команде он не подходит.

Худший ответ: Хорошая штука. Визуально не очень привлекателен, а так быстрый, отличный редактор. Папки нельзя перетаскивать - это плохо. И авто-синхронизации не увидел - то ли её нет, то ли надо настраивать - так и не понял.
Вопрос: Что будет если поставить оперативную память с частотой выше чем указано на процессоре?

Лучший ответ: Материнка понизит частоту планок

Худший ответ: Ничего :) частота памяти будет понижена до той, на которой умеет работать. Если же память настолько новая, что мать ее на знает - комп просто не запустится
Вопрос: Почему заблокировали аккаунт разработчика Google Play и как действовать?

Лучший ответ: не нарушать
делать новый чистый , не совпадающий ничем с предыдущими

Худший ответ: don't contain any SDKs that might
Под эту часть не попали случайно ?
Переводится как в приложение использованы библиотеки, которые нарушают правила !
Вопрос: Нужен совет по react и angular?

Лучший ответ: Вы уже сами ответили на свой вопрос." redux мне сложно понять, а angular(даже не зная его) я понимаю. "
Рассматривайте время потраченное на изучение как инвестиции. Если для освоения angular нужно меньше инвестировать, то беритесь за него. Это позволит вам скорее окупить свои инвестиции.
А потом если нужно будет освоите другие технологии при том, что уже будете иметь какой то заработок.

Худший ответ: Что проще освоить новичку angular или react с redux-ом?
Мое мнение: разницы нетСтоит ли переходить на angular или продолжить изучать react и redux?
Если пишите, что понимаете angular лучше, то может тогда на нем уже стоит что-то сделать за деньги? По рынку вакансий - реакт догоняет ангуляр. Плюс в вакансиях по реакту конкуренция сейчас пониже (на мой взгляд).
p.s. из вопроса, не понял каков уровень js...  Что можете сделать на js (+ jquery и плагины?)
Вопрос: Как правильней сделать заглушку 18+?

Лучший ответ: И снова здравствуйте, Сергей!
Проверять соответствующий cookie, и если его нет, значит пользователь зашел первый раз (или неделя прошла) и перенаправить его на спец. страницу 18+, где он должен будет ввести дату рождения. После чего записать куки сроком на 7 дней и в течение этого времени пользователя больше не раздражать :)

Худший ответ: Что значит заглушку? Что-то типа модалки? или выпадающего топ-бара?
А вот ответ по юридической части https://habrahabr.ru/post/185580/
Вопрос: Browsersync — почему не работает удаленный доступ?

Лучший ответ: Проблема заключается в Брандмауэре Windows. При первом запуске проекта с BrowserSync, должно вылезти окно для запроса на разрешение работы Node.js. Если ничего такого вы не помните, то стоит пойти в сам Брандмауэр и найти там Node.js и разрешить ему работу.

Худший ответ: Это проблема не browserSync, а настроек сети. Вы пытаетесь открыть внешний ip из той же локальной сети? У меня на днях была ровно такая же ошибка - просто в сети образуется петля, если пытаться зайти в неё изнутри через внешний ip. При обращении снаружи всё работает как ожидается.
Вопрос: Чем C# .net mvc лучше чем любой ЦМС типа Wordpress?

Лучший ответ: 1. MVC можно реализовать и на c# и на php. Это просто архитектурный паттерн.
2. Сравнивать язык и CMS некорректно. Используя язык, Вы сами разрабатываете инфраструктуру своего приложения, а используя CMS — Вы принимаете её такой, какая она есть. Грубо говоря, если Вам нужно поклеить обои в квадратном доме, Вы клеите и сдаете заказчику готовый дом. Быстрее? Определенно. А если заказчик захотел треугольный дом? Придется ломать стены и строить заново. Быстрее это чем построить дом самостоятельно с нуля? Уже вопрос.

Худший ответ: ASP.NET MVC - это фреймворк, поэтому сравнивать его с PHP надо также с фреймворками, скажем Yii2, так вот разработка на ASP.NET дольше лишь в том случае, если разработчик менее опытен в ASP.NET, а вообще она быстрее и приятнее, поскольку удобная и сравнительно легковесная IDE, более приятный современный синтаксис C#, много хороших библиотек, помимо MVC (с новым шаблонизатором Razor) есть WebForms (ASPX), там много готовых контролов (виджетов) и есть WYSIWYG, так что ASP.NET - это не только Enterprise.
Вопрос: Как выбрать аккумулятор для DIY проекта в условиях морозов?

Лучший ответ: Обычный свинцово- кислотный АКБ с приличным запасом по емкости будет в самый раз.и если от жары еще можно спрятать устройство в тень, то от мороза не спастисьНу зачем же так печально? Вы что на крайний север в тундру собрались? Если вы не в районе вечной мерзлоты - берете лопату, копаете яму пару метров глубиной, опускаете туда аккумулятор, и прикапываете.
В итоге он у вас работает при постоянной температуре +3градуса.

Худший ответ: Ну тут разве что LiFePO4 подойдет. Не уверен, насколько хорошо его заряжать на морозе, но хотя бы ток отдаст
Кстати, современные NiMh аккумуляторы типа LSD (low self discharge) тоже сгодятся, только потяжелее будут и больше их понадобится
forum.fonarevka.ru/showthread.php?t=5845
Вопрос: Как не добавлять повторяющиеся задания в очередь в Laravel?

Лучший ответ: Закинуть в базу, затем при добавлений задания сравнивать на дубликат.

Худший ответ: Можно сделать как подсказывают авторы предыдущих ответов, но если понадобится  сменить тип подключения, то такое решение работать не будет. 
Можно обернуть добавление в очередь в команду и запускать через планировщик. У него есть специальный метод, который позволяет проверить была ли завершена предыдущая (та же самая) команда перед тем запустить её снова. 
Вроде withoutOverlapping.  
Ещё вариант. 
Для задач с разным приоритетами создать разные очереди. И в нужной последовательности передать их обработчику. 
php artisan queue:work --queue=high,low
Нужно смотреть в каждом случае что лучше подходит.