. Я это задание до сих пор храню в папке-сокровищнице: dl.dropboxusercontent.com/u/17329360/Diary/X-Te...
пятница, 05 июня 2015
Я не сплю, я перешел в режим замедленного функционирования
До сих пор переживаю, что тогда потерял свои сэйвы к X-Tension. Это была одна из немногих игр, которая меня так невероятно сильно затянула. Настолько, что у меня даже больше года в планировщике Windows было задание, автоматически запускающее игру перед моим приходом из школы
. Я это задание до сих пор храню в папке-сокровищнице: dl.dropboxusercontent.com/u/17329360/Diary/X-Te...
. Я это задание до сих пор храню в папке-сокровищнице: dl.dropboxusercontent.com/u/17329360/Diary/X-Te...
четверг, 04 июня 2015
Я не сплю, я перешел в режим замедленного функционирования
Пожалуй, это была самая глубокая компьютерно-хирургическая операция, которую я когда-либо делал.
На работе в нашей программе редко-редко стала проявляться аномалия - в списке адресов почему-то переставали отображаться добавляемые адреса, несмотря на то, что они были в связанной с ним таблице.
Поймав очередной такой момент, я таки уговорил начальство позволить мне взять дамп с этой программы. Дамп - это полное содержание памяти приложения. Потратив примерно час на попытки правильно открыть его в Visual Studio, я получил прямо в нос списком из 12-ти нитей выполнения. Посмотрев стек каждой из них, я нашел точку в программном коде, откуда мог начать поиски проблемы.
Результат поиска:
Проблема - обнаружена, в какой-то момент таблица с данными умудряется раздваиваться - одна остается как источник данных для списка, а со второй, собственно, ведется работы по добавлению/удалению строк. Если бы не дамп, я бы никогда об этом не додумался бы.
Причина - не имею ни малейшего понятия 0_о. Я просмотрел упоминание этой таблицы по всему коду, и нет ничего, что могло бы стать причиной такого поведения.
Решение - я, эм... сделал что-то в нескольких местах... Не имею понятия, поможет ли это...
Тем не менее...
Programming Level Up!
New ability: Dump analysis.
На работе в нашей программе редко-редко стала проявляться аномалия - в списке адресов почему-то переставали отображаться добавляемые адреса, несмотря на то, что они были в связанной с ним таблице.
Поймав очередной такой момент, я таки уговорил начальство позволить мне взять дамп с этой программы. Дамп - это полное содержание памяти приложения. Потратив примерно час на попытки правильно открыть его в Visual Studio, я получил прямо в нос списком из 12-ти нитей выполнения. Посмотрев стек каждой из них, я нашел точку в программном коде, откуда мог начать поиски проблемы.
Результат поиска:
Проблема - обнаружена, в какой-то момент таблица с данными умудряется раздваиваться - одна остается как источник данных для списка, а со второй, собственно, ведется работы по добавлению/удалению строк. Если бы не дамп, я бы никогда об этом не додумался бы.
Причина - не имею ни малейшего понятия 0_о. Я просмотрел упоминание этой таблицы по всему коду, и нет ничего, что могло бы стать причиной такого поведения.
Решение - я, эм... сделал что-то в нескольких местах... Не имею понятия, поможет ли это...
Тем не менее...
Programming Level Up!
New ability: Dump analysis.
среда, 03 июня 2015
Я не сплю, я перешел в режим замедленного функционирования
Omg omg omg, на ноябрь этого года анонсировано продолжение новой серии X-Com. Жду не дождусь 
steamcommunity.com/games/200510/announcements/d...

steamcommunity.com/games/200510/announcements/d...
понедельник, 01 июня 2015
Я не сплю, я перешел в режим замедленного функционирования
Я не сплю, я перешел в режим замедленного функционирования
Выбираем название для агрегатной функции для SQL, написанной на .Net.
Решаем по поводу префикса.
Взяли uf - User Function.
И тут я думаю - функция-то агрегатная...
Получается ufagg


Решаем по поводу префикса.
Взяли uf - User Function.
И тут я думаю - функция-то агрегатная...
Получается ufagg



пятница, 29 мая 2015
Я не сплю, я перешел в режим замедленного функционирования
I! AM! ALIVeeeee... *thump*
четверг, 28 мая 2015
Я не сплю, я перешел в режим замедленного функционирования
Джедайская тренировка в самом разгаре.
Вчера сижу и прохожу первый HalfLife (да, я его ни разу не проходил). Вдруг хлопок, компьютер вырубается и запахло горелым. Я уж подумал - все, где-то взорвался конденсатор, придется менять блок питания и/или материнку...
Через несколько секунд приходит понимание, что хлопок раздался немного не с той стороны. Лезу под стол и достаю сгоревший сетевой фильтр
. Компьютер же оказался полностью исправным.
А сегодня у меня была запланирована аттестация, в 10 часов.
И ВНЕЗАПНО в 9:30 на работе случился полнейший аврал - все приказы в системе перестали работать, и надо было срочным образом все исправлять.
Таки аспирантура научила меня не поддаваться панике в таких случаях, и к 9:52 я смог все исправить, после чего помчался на аттестацию.
И меня таки аттестовали, хоть и сказали много нехорошего
Как бы сильно она меня не мучила, но аспирантура оказалась очень полезной для меня. Хоть это и Training from Hell, но она научила меня сохранять рассудок и даже какую-то часть спокойствия независимо от оказываемого на меня давления. Помимо этого, я наконец полностью принял принцип "Боязнь быть посланным намного хуже, чем быть посланным".
Вчера сижу и прохожу первый HalfLife (да, я его ни разу не проходил). Вдруг хлопок, компьютер вырубается и запахло горелым. Я уж подумал - все, где-то взорвался конденсатор, придется менять блок питания и/или материнку...
Через несколько секунд приходит понимание, что хлопок раздался немного не с той стороны. Лезу под стол и достаю сгоревший сетевой фильтр
. Компьютер же оказался полностью исправным.А сегодня у меня была запланирована аттестация, в 10 часов.
И ВНЕЗАПНО в 9:30 на работе случился полнейший аврал - все приказы в системе перестали работать, и надо было срочным образом все исправлять.
Таки аспирантура научила меня не поддаваться панике в таких случаях, и к 9:52 я смог все исправить, после чего помчался на аттестацию.
И меня таки аттестовали, хоть и сказали много нехорошего

Как бы сильно она меня не мучила, но аспирантура оказалась очень полезной для меня. Хоть это и Training from Hell, но она научила меня сохранять рассудок и даже какую-то часть спокойствия независимо от оказываемого на меня давления. Помимо этого, я наконец полностью принял принцип "Боязнь быть посланным намного хуже, чем быть посланным".
понедельник, 25 мая 2015
Я не сплю, я перешел в режим замедленного функционирования
И да, внутренний экзамен в автошколе я в субботу сдал (вторая попытка).
Первую попытку (в предыдущую субботу) я зафэйлил буквально в самом начале - на эстакаде. Причем зафэйлил так, как даже не знал, что можно зафэйлить. Я тронулся без проблем, заехал на склон, стартовал с ручника без какого-либо отката... и проехал финальную стоп-линию... Из-за дождя ее совершенно не было видно, и ее изображали внезапно поставленные конусы (кстати говоря, по-моему, стоящие слишком близко).
Для подготовки ко второй попытке, а также к экзамену в ГИБДД, я решился купить City Car Driving, симулятор от российских разработчиков. Ничего так, он мне понравился. Там даже есть отдельная кнопка для пристегивания ремня
.
Симулятор мне первым делом был нужен потому, что мне требовалось проверить, как я вожу автомобиль в режиме автоводителя. В реальности такие эксперименты было бы опасно проводить
.
В эту субботу пришел сдавать во второй раз. Потребовалось немного времени снова привыкнуть к реальному автомобилю, но побочных эффектов было только два - у моего компьютерного руля радиус ниже, из-за чего я на реальном автомобиле при маневрировании немного колотил по рулю, ну и педали в реальном автомобиле оказались более упругими. В целом в реальном автомобиле управлять эти упражнения оказалось заметно проще - мне не нужно было нажимать на кнопки, чтобы смотреть по сторонам.
В гараж припарковался идеально - с одинаковыми пространствами по бокам, и уместившись в указанную зону.
Затем была змейка, пожалуй, самое простое упражнение. С ним у меня почти никогда не было трудностей.
Затем была параллельная парковка. Заехал на упражнение, включил заднюю передачу и стал въезжать. В зеркало вижу, что остается слишком большое расстояние справа. Подкрутил руль, но в момент остановки левые колеса остались стоять на полосе, указывающей зону, где надо остановиться. Немного подумал, включил снова переднюю передачу и сместился вправо, после чего завершил упражнение. Экзаменатор вышел, посмотрел левый бок автомобиля, сел обратно и сказал "Продолжай".
Затем - разворот, опять же, легкое упражнение.
И последним была эстакада. Тут на меня несколько повлиял симулятор, и я, когда трогался на склоне, довел обороты до 3000, а не 2000, как меня учили. Тем не менее, удачно тронулся, и очень аккуратно съехал. Конусов на этот раз не оказалось, но я все равно решил не рисковать.
При этом после меня в этот же автомобиль сел другой, и тоже на параллельной парковке оказался слишком слева, но он задним ходом выровнял автомобиль. Экзаменатор вышел, посмотрел, взял палку от одного из конусов и поставил его у левой двери. И сказал, что зеркало пересекает линию, следовательно упражнение не сдано 0_о. И я всю обратную дорогу пытался представить, сколько же миллиметром спасло меня от той же судьбы. Я думаю, не более пяти
.
Когда я направился к выходу с площадки, меня догнал мой инструктор, и подвез до станции
Первую попытку (в предыдущую субботу) я зафэйлил буквально в самом начале - на эстакаде. Причем зафэйлил так, как даже не знал, что можно зафэйлить. Я тронулся без проблем, заехал на склон, стартовал с ручника без какого-либо отката... и проехал финальную стоп-линию... Из-за дождя ее совершенно не было видно, и ее изображали внезапно поставленные конусы (кстати говоря, по-моему, стоящие слишком близко).
Для подготовки ко второй попытке, а также к экзамену в ГИБДД, я решился купить City Car Driving, симулятор от российских разработчиков. Ничего так, он мне понравился. Там даже есть отдельная кнопка для пристегивания ремня
.Симулятор мне первым делом был нужен потому, что мне требовалось проверить, как я вожу автомобиль в режиме автоводителя. В реальности такие эксперименты было бы опасно проводить
.В эту субботу пришел сдавать во второй раз. Потребовалось немного времени снова привыкнуть к реальному автомобилю, но побочных эффектов было только два - у моего компьютерного руля радиус ниже, из-за чего я на реальном автомобиле при маневрировании немного колотил по рулю, ну и педали в реальном автомобиле оказались более упругими. В целом в реальном автомобиле управлять эти упражнения оказалось заметно проще - мне не нужно было нажимать на кнопки, чтобы смотреть по сторонам.
В гараж припарковался идеально - с одинаковыми пространствами по бокам, и уместившись в указанную зону.
Затем была змейка, пожалуй, самое простое упражнение. С ним у меня почти никогда не было трудностей.
Затем была параллельная парковка. Заехал на упражнение, включил заднюю передачу и стал въезжать. В зеркало вижу, что остается слишком большое расстояние справа. Подкрутил руль, но в момент остановки левые колеса остались стоять на полосе, указывающей зону, где надо остановиться. Немного подумал, включил снова переднюю передачу и сместился вправо, после чего завершил упражнение. Экзаменатор вышел, посмотрел левый бок автомобиля, сел обратно и сказал "Продолжай".
Затем - разворот, опять же, легкое упражнение.
И последним была эстакада. Тут на меня несколько повлиял симулятор, и я, когда трогался на склоне, довел обороты до 3000, а не 2000, как меня учили. Тем не менее, удачно тронулся, и очень аккуратно съехал. Конусов на этот раз не оказалось, но я все равно решил не рисковать.
При этом после меня в этот же автомобиль сел другой, и тоже на параллельной парковке оказался слишком слева, но он задним ходом выровнял автомобиль. Экзаменатор вышел, посмотрел, взял палку от одного из конусов и поставил его у левой двери. И сказал, что зеркало пересекает линию, следовательно упражнение не сдано 0_о. И я всю обратную дорогу пытался представить, сколько же миллиметром спасло меня от той же судьбы. Я думаю, не более пяти
.Когда я направился к выходу с площадки, меня догнал мой инструктор, и подвез до станции

Я не сплю, я перешел в режим замедленного функционирования
В таком измученном состоянии умудрился выдать, по-моему, очень неплохую фразу: "Код в больших проектах постепенно обрастает мхом"
пятница, 22 мая 2015
Я не сплю, я перешел в режим замедленного функционирования
Квест на прохождение внезапной аттестации...
Для начала хочу упомянуть, что из-за смены научного руководителя мне также стоит сменить специальность, но я пока не хочу с этим торопиться. Тем не менее, мне необходимо сменить специальность до экзамена по специальности.
Полгода назад я спрашивал у научной руководительницы и в аспирантуре, когда у меня будет экзамен по специальности. В обоих местах мне сказали, что он будет прямо перед защитой самой диссертации (в моем случае - в конце пятилетнего обучения).
Две недели назад ВНЕЗАПНО пришло сообщение о начале аттестации (на 4 месяца раньше, чем должно было). Та статья, о которой я писал ранее, до сих пор не опубликовалась (должна быть опубликована летом). Джедайская выдержка первого уровня помогла мне хотя бы не сойти с ума, и я начал активно писать 100500 отчетов.
В этот понедельник мне ВНЕЗАПНО сказали, что в конце мая будет экзамен по специальности!
Во вторник я снова подошел туда же и переспросил. Мне сказали, что экзамена по специальности у меня не будет, так что можно расслабится. Тогда я снова переключился на подготовку отчетов.
В четверг ВНЕЗАПНО приходит сообщение, что у меня будет экзамен по специальности 28-го мая. С трудом сохранив самообладание, я начал искать вопросы и подготовку к этому экзамену.
Сейчас захожу в отдел аспирантуры за своим индивидуальным планом, заодно спрашивая по поводу экзамена по специальности. Теперь сказали "точно", что в этом году его у меня не будет.


Елки-палки, как же хорошо, что я давно уже перестал планировать что-либо вперед. У меня теперь как в RPG - есть набор квестов, которые выполняю при первой же возможности, без планирования по дням и времени.
Для начала хочу упомянуть, что из-за смены научного руководителя мне также стоит сменить специальность, но я пока не хочу с этим торопиться. Тем не менее, мне необходимо сменить специальность до экзамена по специальности.
Полгода назад я спрашивал у научной руководительницы и в аспирантуре, когда у меня будет экзамен по специальности. В обоих местах мне сказали, что он будет прямо перед защитой самой диссертации (в моем случае - в конце пятилетнего обучения).
Две недели назад ВНЕЗАПНО пришло сообщение о начале аттестации (на 4 месяца раньше, чем должно было). Та статья, о которой я писал ранее, до сих пор не опубликовалась (должна быть опубликована летом). Джедайская выдержка первого уровня помогла мне хотя бы не сойти с ума, и я начал активно писать 100500 отчетов.
В этот понедельник мне ВНЕЗАПНО сказали, что в конце мая будет экзамен по специальности!
Во вторник я снова подошел туда же и переспросил. Мне сказали, что экзамена по специальности у меня не будет, так что можно расслабится. Тогда я снова переключился на подготовку отчетов.
В четверг ВНЕЗАПНО приходит сообщение, что у меня будет экзамен по специальности 28-го мая. С трудом сохранив самообладание, я начал искать вопросы и подготовку к этому экзамену.
Сейчас захожу в отдел аспирантуры за своим индивидуальным планом, заодно спрашивая по поводу экзамена по специальности. Теперь сказали "точно", что в этом году его у меня не будет.



Елки-палки, как же хорошо, что я давно уже перестал планировать что-либо вперед. У меня теперь как в RPG - есть набор квестов, которые выполняю при первой же возможности, без планирования по дням и времени.
среда, 20 мая 2015
Я не сплю, я перешел в режим замедленного функционирования
Critical system overload! Deploying emergency laughter 

понедельник, 18 мая 2015
Я не сплю, я перешел в режим замедленного функционирования
Мдя, моя реальная жизнь никогда не станет скучной.
Сейчас между делом зашел к заведующей по аспирантам, задать пару вопросов. И она внезапно говорит, что только что узнала, что у меня вот-вот должен быть экзамен по специальности. При этом я несколько раз у многих ответственных лиц спрашивал, и они утверждали, что оно будет только перед защитой диссертацией. Но, скажу честно, я уже к такому рандому начинаю привыкать. У меня даже сердце не отказало
Сейчас между делом зашел к заведующей по аспирантам, задать пару вопросов. И она внезапно говорит, что только что узнала, что у меня вот-вот должен быть экзамен по специальности. При этом я несколько раз у многих ответственных лиц спрашивал, и они утверждали, что оно будет только перед защитой диссертацией. Но, скажу честно, я уже к такому рандому начинаю привыкать. У меня даже сердце не отказало

суббота, 16 мая 2015
Я не сплю, я перешел в режим замедленного функционирования
"Что же вы, на подготовке делали ошибки, а на экзамене без ошибок?" (с) Экзаменатор






пятница, 15 мая 2015
Я не сплю, я перешел в режим замедленного функционирования
В дополнение к предыдущей записи.
Давно уже заметил, что настроение является самым ценным моим ресурсом. Очень высокую долю эффективности моего функционирования определяет именно текущее настроение.
Вот как сейчас - сперва было весьма неважное настроение, и ни о чем даже думать не мог - голова начинала сильно болеть. Принял несколько повышающих настроение видео - и сразу голова заработала.
Если получится научиться контролировать свое настроение, то я наконец смогу эффективно заниматься чем-либо, а также перестану заниматься чем-либо, поскольку настроение у меня является главной мотивацией для чего-либо
.
Давно уже заметил, что настроение является самым ценным моим ресурсом. Очень высокую долю эффективности моего функционирования определяет именно текущее настроение.
Вот как сейчас - сперва было весьма неважное настроение, и ни о чем даже думать не мог - голова начинала сильно болеть. Принял несколько повышающих настроение видео - и сразу голова заработала.
Если получится научиться контролировать свое настроение, то я наконец смогу эффективно заниматься чем-либо, а также перестану заниматься чем-либо, поскольку настроение у меня является главной мотивацией для чего-либо
.
среда, 13 мая 2015
Я не сплю, я перешел в режим замедленного функционирования
Мдя, Дрег, ты полагал, что 2015-ый будет легче 2014-го? А вот щаззз, лови джедайскую тренировку второго уровня!
понедельник, 11 мая 2015
Я не сплю, я перешел в режим замедленного функционирования
Приехал на дачу с родителями и немного разобрал тот ужас, которым мы наполнили дачу из-за ремонта.
Также стал расконсервировать компьютер после зимы - там очень капризная материнская плата. Собрал его в новом корпусе, все подключил, включаю - не стартует.
Вынимаю 2 из 4 линейки оперативки - не стартует.
Переставляю оставшиеся линейки на другие слоты - не стартует.
Вытаскиваю батарейку, вставляю - не стартует.
Переставляю оставшиеся линейки на другие слоты - стартовал.
Стал компьютер загружаться, и тут же выдал сообщение, что отсутствует загрузочный диск. Я точно уверен, что воткнул именно тот жесткий диск, на котором была система (назовем его диск 1). Стал перебирать десяток различных винчестеров, нашел один с WinServer2012. Загрузился с нее, посмотрел тот диск 1 - все в порядке, повреждений нет, система на месте. Попробовал восстановить диск 1 по теневой копии - не помогло.
Продолжил я перебирать диски, и нашел жесткий диск 2, который также был раньше подключен к этому компьютеру, на нем у меня хранились данные, игры и прочее. Посмотрел я на его содержание... Не, все в порядке, но у меня возникла сумасшедшая идея. Я отсоединил диск с WinServer2012, и подключил диск 1 и диск 2, сделав загрузочным диск 2.
Загрузилось 0_о. Понятия не имею, как такое получилось, но загрузочные файлы оказались на диске 2, а сама система - на диске 1...
Также стал расконсервировать компьютер после зимы - там очень капризная материнская плата. Собрал его в новом корпусе, все подключил, включаю - не стартует.
Вынимаю 2 из 4 линейки оперативки - не стартует.
Переставляю оставшиеся линейки на другие слоты - не стартует.
Вытаскиваю батарейку, вставляю - не стартует.
Переставляю оставшиеся линейки на другие слоты - стартовал.

Стал компьютер загружаться, и тут же выдал сообщение, что отсутствует загрузочный диск. Я точно уверен, что воткнул именно тот жесткий диск, на котором была система (назовем его диск 1). Стал перебирать десяток различных винчестеров, нашел один с WinServer2012. Загрузился с нее, посмотрел тот диск 1 - все в порядке, повреждений нет, система на месте. Попробовал восстановить диск 1 по теневой копии - не помогло.
Продолжил я перебирать диски, и нашел жесткий диск 2, который также был раньше подключен к этому компьютеру, на нем у меня хранились данные, игры и прочее. Посмотрел я на его содержание... Не, все в порядке, но у меня возникла сумасшедшая идея. Я отсоединил диск с WinServer2012, и подключил диск 1 и диск 2, сделав загрузочным диск 2.
Загрузилось 0_о. Понятия не имею, как такое получилось, но загрузочные файлы оказались на диске 2, а сама система - на диске 1...
вторник, 05 мая 2015
Я не сплю, я перешел в режим замедленного функционирования
Все же рабочий день после выходных - приятное время. Удается много чего сделать, получить "has been satisfied at work" и даже после работы остаются силы на что-нибудь еще.
Кстати говоря, а у вас какой любимый день недели и время года? У меня любимое время года: вторая половина апреля - начало мая, а самое нелюбимое - конец мая и весь июнь
.
Кстати говоря, а у вас какой любимый день недели и время года? У меня любимое время года: вторая половина апреля - начало мая, а самое нелюбимое - конец мая и весь июнь
.
четверг, 30 апреля 2015
Я не сплю, я перешел в режим замедленного функционирования
Продолжая тему подарка на работе - это оказался оплаченный коллегами визит в реаллайфовый квест - там заводили в комнату, где нужно было, решая загадки, получить доступ к центральному серверу и удалить файл.
Сейчас как раз побывал там с Хаосом. Должен признать - загадки и сам квест очень интересные, хотя и довольно сложные. На мой взгляд, самой сложной загадкой была самая первая - найти код для деактивации детекторов движения. Разгадка оказалась весьма запутанной. Администратор просил нас не спойлерить, но смысл в том, что надо было посмотреть на одно, внутри этого обнаружить выделяющееся цветом второе, что сопоставить с правилами третьего и на основе этого собрать код
. И что бы Хаос не говорил, но, с моей точки зрения, довольно оригинальный и хитрый метод хранения пароля
.
Осложнялось все тем, что на все был лимит времени - 1 час. Нам пришлось несколько раз брать подсказки, и в результате мы выполнили задание за 66 минут
. Думаю, немаловажным оказался тот факт, что мы сходили туда в конце рабочей недели, так что были несколько уставшими.
Хотя результат у нас оказался не очень, но все же думаем пойти на другой квест этой же компании. И на этот раз захватить с собой лист бумаги с ручкой
)
Сейчас как раз побывал там с Хаосом. Должен признать - загадки и сам квест очень интересные, хотя и довольно сложные. На мой взгляд, самой сложной загадкой была самая первая - найти код для деактивации детекторов движения. Разгадка оказалась весьма запутанной. Администратор просил нас не спойлерить, но смысл в том, что надо было посмотреть на одно, внутри этого обнаружить выделяющееся цветом второе, что сопоставить с правилами третьего и на основе этого собрать код
. И что бы Хаос не говорил, но, с моей точки зрения, довольно оригинальный и хитрый метод хранения пароля
. Осложнялось все тем, что на все был лимит времени - 1 час. Нам пришлось несколько раз брать подсказки, и в результате мы выполнили задание за 66 минут
. Думаю, немаловажным оказался тот факт, что мы сходили туда в конце рабочей недели, так что были несколько уставшими.Хотя результат у нас оказался не очень, но все же думаем пойти на другой квест этой же компании. И на этот раз захватить с собой лист бумаги с ручкой
)Я не сплю, я перешел в режим замедленного функционирования
Интересное наблюдение - на работе устаю значительно меньше, если есть, чем заняться 

вторник, 28 апреля 2015
Я не сплю, я перешел в режим замедленного функционирования
Ну что же, мне 26 лет. Подарок на работе завернули в конверт, который меня просто умилил
(в хорошем смысле).
читать дальше
Также сегодня у меня было последнее занятие в автошколе. Теперь остался только внутренний экзамен и экзамен в ГАИ.
(в хорошем смысле).читать дальше
Также сегодня у меня было последнее занятие в автошколе. Теперь остался только внутренний экзамен и экзамен в ГАИ.

