tag:blogger.com,1999:blog-54270627146644337892024-03-19T06:09:36.114-07:00тёплый ламповый бложикvvkhttp://www.blogger.com/profile/11515486357843895460noreply@blogger.comBlogger24125tag:blogger.com,1999:blog-5427062714664433789.post-4887083224026122892024-01-15T06:26:00.000-08:002024-01-15T06:26:35.251-08:00<p> cat /proc/net/dev на порядок круче, чем ip a или ifconfig для отслеживания статистики. </p><p>Нет лишней информации о статичных характеристиках. </p><p>Заметил еще забавное, что ifconfig eth == ifconfig eth0 <br /></p>vvkhttp://www.blogger.com/profile/11515486357843895460noreply@blogger.com0tag:blogger.com,1999:blog-5427062714664433789.post-88825008995276832332023-02-28T00:15:00.003-08:002023-02-28T02:11:50.755-08:00<p> x2go + chroot </p><p><br /></p><p>При соединении по x2go - это Xserver через ssh - была проблема с запуском приложений из чрут, или же просто от другого пользователя, не имеющего сгенерированного .Xauthority.</p><p>Т.е. происходит логин на удаленную машину, все приложения корректно запускаются, но если выполняем графические приложения из чрута - то отваливаются с банальным "protocol not specified" и такими же ошибками. </p><p>В конкретно моем случае помогает копирование .Xauthority в хомовик пользователю чрута + экспорт переменной XAUTHORITY в новое значение.</p><p><br /></p><p>Вообще интересная тема. xhost+ не помогал, удаление -nolisten tcp из ключей запуска x2goagent тоже. Strace помог, стрейснул два запуска 'xmessage hi' - работающий из под пользователя, которым залогинен, неработающего - из под пользователя на той же машине, у которого нет ~/.Xauthority. Все вызовы совпадали до попытки чтения .Xauthority. И удивительно, что этот файлик можно копировать между пользователями. Это не очень похоже на безопасность.</p><p>Выяснилось забавное, хз правда зачем мне это - если удалить -nolisten tcp то иксы начинают слушать порт 6000 + номер дисплея. Т.е. дисплей :0 это порт 6000, :1 - это 6001 и так далее. x2goagent ведет себя так же. </p>vvkhttp://www.blogger.com/profile/11515486357843895460noreply@blogger.com0tag:blogger.com,1999:blog-5427062714664433789.post-87844678848836297532023-02-25T10:25:00.003-08:002023-02-25T10:25:37.106-08:00<p> linux 6.1 + hdmi + nvidia + alsa = no sound</p><p>Обновил ядро в генте, пропал звук. Бутаюсь со старым ядром - всё ок. </p><p>Помогло изменение в .asoundrc, смена device. Почему-то сменились. </p><p>Т.е. рецепт прост: выполняем aplay -l, смотрим, какие устройства доступны:</p><p>aplay -l</p><p>**** List of PLAYBACK Hardware Devices ****</p><p>card 0: NVidia [HDA NVidia], <b>device 3:</b> HDMI 0 [PHILIPS <b>FTV</b> ]</p><p> Subdevices: 1/1</p><p> Subdevice #0: subdevice #0</p><p>card 0: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]</p><p> Subdevices: 1/1</p><p> Subdevice #0: subdevice #0</p><p>card 0: NVidia [HDA NVidia], device 8: HDMI 2 [HDMI 2]</p><p> Subdevices: 1/1</p><p> Subdevice #0: subdevice #0</p><p>card 0: NVidia [HDA NVidia], device 9: HDMI 3 [HDMI 3]</p><p> Subdevices: 1/1</p><p> Subdevice #0: subdevice #0</p><div><br /></div><div>знчит,в .asoundrc должно быть что-то вида:</div><div><div>pcm.!default {</div><div>type hw</div><div>card 0</div><div>device 3</div><div>}</div><div>ctl.!default {</div><div>type hw</div><div>card 0</div><div>device 3</div><div>} </div></div><div><br /></div><div><br /></div><div>или даже так:</div><div><br /></div><div><div>pcm.dmixed {</div><div> type asym</div><div> playback.pcm {</div><div> type dmix</div><div> ipc_key 5678293</div><div> ipc_perm 0660</div><div> ipc_gid audio</div><div><br /></div><div> slave {</div><div> channels 2 # Make 6 or 5.1 channel</div><div> pcm {</div><div># format S16_LE # S32_LE</div><div># rate 48000 # Can also be 44100</div><div> type hw</div><div> card 0 # Your card</div><div> device 3 # Your device</div><div> subdevice 0 # Important?</div><div> }</div><div><br /></div><div># period_size 1024</div><div># buffer_size 8192</div><div> }</div><div><br /></div><div> bindings {</div><div> 0 0</div><div> 1 1</div><div># Uncomment below if using 6 channel</div><div># 2 2</div><div># 3 3</div><div># 4 4</div><div># 5 5</div><div> }</div><div> }</div><div> capture.pcm "hw:0"</div><div>}</div><div><br /></div><div>pcm.!default {</div><div> type plug</div><div> slave.pcm "dmixed"</div><div>}</div></div><div><br /></div>vvkhttp://www.blogger.com/profile/11515486357843895460noreply@blogger.com0tag:blogger.com,1999:blog-5427062714664433789.post-21546389475829905072023-02-17T11:50:00.002-08:002023-02-17T11:50:17.182-08:00<p> kali linux + <span style="background-color: white; color: #4d5156; font-family: arial, sans-serif; font-size: 14px;">modprobe.</span><span style="background-color: white; color: #5f6368; font-family: arial, sans-serif; font-size: 14px; font-weight: bold;">blacklist=nouveau = normal boot</span></p><p><span style="background-color: white; color: #5f6368; font-family: arial, sans-serif; font-size: 14px; font-weight: bold;">Пытался загрузиться в kali с усбдиска.</span></p><p><span style="color: #5f6368; font-family: arial, sans-serif;"><span style="background-color: white; font-size: 14px;"><b>Работает несколько секунд, далее виснет.</b></span></span></p><p><span style="color: #5f6368; font-family: arial, sans-serif;"><span style="background-color: white; font-size: 14px;"><b>acpi=off в строке ядра не помогает. Надо modprobe.blacklist=nouveau</b></span></span></p><p><span style="color: #5f6368; font-family: arial, sans-serif;"><span style="background-color: white; font-size: 14px;"><b>В меню груб нажимаем 'c', дописываем опцию, жмем ф10.</b></span></span></p><p><span style="color: #5f6368; font-family: arial, sans-serif;"><span style="background-color: white; font-size: 14px;"><b>Ноутбук hp omen с видео от нвидиа</b></span></span></p>vvkhttp://www.blogger.com/profile/11515486357843895460noreply@blogger.com0tag:blogger.com,1999:blog-5427062714664433789.post-17999069564431629662023-02-17T11:47:00.001-08:002023-02-17T11:47:07.537-08:00<p> dpdk + vmxnet3 = esxi</p><p>Запуск адаптеров под dpdk при использовании виртуализации esxi нетривиален; если просто задавать только rx каналы, то будет ошибка вида</p><p>device activation unsuccessful </p><p>Чтобы её полечить, необиходим</p><p>1. как минимум 1 TX channel</p><p>После этого приложение будет сегфалтиться</p><p>Надо</p><p>2. настроить для этой очереди от 512 до 4096 дескрипторов</p><p>Вуаля, трафик чиатается.</p><p>такой вот вмхнет3</p>vvkhttp://www.blogger.com/profile/11515486357843895460noreply@blogger.com0tag:blogger.com,1999:blog-5427062714664433789.post-29624537647653520452023-02-11T10:31:00.002-08:002023-02-11T10:31:58.461-08:00<p> unetbootin hangs on 'Installing syslinux to ..' </p><p><br /></p><p>При подвисании unetbootin на стадии инсталляции syslinux необходимо либо стрейсить утилитку, выяснять что именно она делает, или же воспользоваться наработками тех, кто уже это поделал, а именно моими наработками - запустить syslinux /dev/sdX в консоли. Данная утилита спросит подтверждения на исправления ошибок, после этого перезапуск unetbootin пройдет без проблем.</p>vvkhttp://www.blogger.com/profile/11515486357843895460noreply@blogger.com0tag:blogger.com,1999:blog-5427062714664433789.post-7158565114032985722023-02-09T00:20:00.002-08:002023-02-09T00:20:32.921-08:00<p> vmware workstation 17 + gentoo - systemd = fake systemctl</p><p><br /></p><p>Если у вас, как у вменяемого пользователя, нет системд в линуксе, то при инсталляции vmware workstation 17 будут проблемы - вмварь требует системктл. Не находит эту утилиту, жалуется на это в логи, инсталляцию прерывает.</p><p>Дайте ей эту утилиту:</p><p>root@host #> cat > /usr/sbin/systemctl</p><p>#!/bin/sh</p><p>root@host #></p><p><br /></p><p>Без каких-либо проблем далее и инсталляция, и работа с виртуалкой.</p>vvkhttp://www.blogger.com/profile/11515486357843895460noreply@blogger.com0tag:blogger.com,1999:blog-5427062714664433789.post-91968516024408152942022-05-03T02:22:00.013-07:002022-05-08T10:21:45.833-07:00<p> wpa_supplicant 2.10 + WPA TKIP + gentoo + reject</p><p>Обновил одну из систем линуксовых, наткнулся на занятное: пропал wi-fi.</p><p>Доступ был организован при помощи старого усб-свистка DLink DWA-140. Драйвера по прежнему подгружались, интерфейс wlan0 отображался в ифконфиге, iw dev wlan0 scan отрабатывал. Но подключение к роутеру не работало, счетчики пакетов интерфейса не менялись, никакой настройки типа назначения адреса и тп не выполнялось.</p><p>Как выяснилось запуском <b>wpa_supplicant</b> с отладкой <b>-d</b>, не проходила авторизация, ибо проваливалось согласование протоколов. </p><p>Выглядит это примерно так:</p><div style="text-align: left;"><span style="font-variant-ligatures: no-common-ligatures;">~# wpa_supplicant -d -iwlan0 -c /etc/wpa_supplicant/</span><span style="font-variant-ligatures: no-common-ligatures;">wpa_supplicant.conf </span></div><p style="font-family: Menlo; font-size: 19px; font-stretch: normal; line-height: normal; margin: 0px;"><span style="font-variant-ligatures: no-common-ligatures;"> </span></p> ...<div>wlan0: Selecting BSS from priority group 0<br />...<br />wpa_parse_wpa_ie_rsn: invalid group cipher 0x8 (000fac02)<br />wpa_parse_wpa_ie_rsn: invalid group cipher 0x8 (000fac02)<br /><span style="color: red;">wlan0: skip RSN IE - parse failed<br />wlan0: skip WPA IE - GTK cipher mismatch</span><br />wlan0: <span style="color: red;"><b>reject due to mismatch with WPA/WPA2</b></span><br />wlan0: 1: 62:ce:86:a0:61:f9 ssid='' wpa_ie_len=26 rsn_ie_len=24 caps=0x1031 level=-41 freq=5180<br /><span style="color: red;"><b>wlan0: skip - SSID not known</b></span><br /> </div><div> рецепт в случае генты прост: активация флага <b>tkip</b> для пакета <b>wpa_supplicant</b>, ну и пересборкой оного пакета. Добавляем флаг:</div><div><div style="text-align: left;">~# cat /etc/portage/package.use/wpa_supplicant </div>
<p style="font-family: Menlo; font-size: 19px; font-stretch: normal; line-height: normal; margin: 0px;"><span style="font-variant-ligatures: no-common-ligatures;"> net-wireless/wpa_supplicant <b>tkip</b></span></p><div style="text-align: left;"><span style="font-variant-ligatures: no-common-ligatures;"> </span></div><div style="text-align: left;">И пересобираем пакет:</div><div style="text-align: left;"><span style="font-variant-ligatures: no-common-ligatures;">~# emerge wpa_supplicant</span></div><div style="text-align: left;"><span style="font-variant-ligatures: no-common-ligatures;"><br /></span>Флаг tkip меняет ключи сборки, на других дистрибутивах надо будет глянуть ./configure --help на что-то вроде --enable-tkip.</div><div style="text-align: left;"><span style="font-variant-ligatures: no-common-ligatures;">Данная проблема воспроизвелась и на ноутбуке, при подключении к той же точке доступа. Дело в поддержке устаревших методов шифрования:<br /></span><span style="font-variant-ligatures: no-common-ligatures;">https://wiki.gentoo.org/wiki/Wpa_supplicant</span></div><p style="font-family: Menlo; font-size: 19px; font-stretch: normal; line-height: normal; margin: 0px;"><span style="font-variant-ligatures: no-common-ligatures;"><img alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABJkAAAGjCAYAAACPE8RHAAAABHNCSVQICAgIfAhkiAAAIABJREFUeF7snQWYVVXbhl+Gkg4RKRXBQFDs7ha7uzvxs7tbERu7A7sbW9RP7ASDFBBFQFL6/Pte/ut8a/bsU1PMnHne6zrXzNmx4l6x13r2u9apN3fu3JTJREAEREAEREAEREAEREAEREAEREAEREAERKACBEoqcK9uFQEREAEREAEREAEREAEREAEREAEREAEREAFHoIE4VB6BMWPG2O23325ffPGFzZkzx9q3b28dO3a0zz77LB3JhhtuaP369au8SBWSCIiACIiACIiACIiACIiACIiACIiACNQAAhKZKqkQZs2aZX379rU//vjDNtlkE+vSpYv99NNPNmTIENt5551t/PjxTnySiYAIiIAIiIAIiIAIiIAIiIAIiIAIiEAxEljkItOoUaNsv/32K8N22WWXtccee8wd/+abb+zYY48tc83qq69uAwYMSB//66+/7JlnnrEPP/zQiT14Ey2xxBK23HLL2aqrrmpbb721+47dd999dvfdd5cJM36gbdu29sorr8QPl/n+6quvuji32moru+yyy9z5H374wY488khbeeWVrVu3bhKZylDTAREQAREQAREQAREQAREQAREQAREQgWIhsMhFJjx+brzxRnv55ZftrbfestatW9txxx3nhBlvPXr0cNd89NFH9tRTT1lJSYmdfvrphsjk7ZdffrETTjjBpk+fbosttpgts8wy7rrff//dPvjgA/dp1qyZ7bLLLu6WnXbayQlODz30kI0dO9Z69erlPqE9//zzpb5n+zJy5Eh3evnll09ftuKKK9ojjzzi4kGEkomACIiACIiACIiACIiACIiACIiACIhAsRJY5CJTgwYNbN111zW8kBCZ2rRp45aXhda4cWN3DeIRIlP9+vVtt912K3XNTTfd5ASm9dZbzy655BJr2bJl+vyll15qr732mjVq1Ch9DOEHoen99993IhP34XUU2ujRow3xKh+bMWOGu4y0eSNv3bt3z+d2XSMCIiACIiACIiACIiACIiACIiACIiACtZrAIheZKovejz/+6ILaZ599SglMHOvTp08ZkSmfeI866ijzHkqZrn/88cft4YcftsmTJ7tLbr31VvfB7rnnnjLeUfFwJk6caIMGDXJ7N7Fx+KRJk6xp06Zuid8hhxxia621VvwW552Fh9SXX37p9nqaO3dumWsOPfRQO+aYY2z+/Pn29NNPO0+xcePGuevatWtnPXv2tAMPPLCU51WZQHRABERABERABERABERABERABERABERABPIkUDQiE0vh/vnnH+cNtfbaa5fyKEKoYekbS/EKsaQldPH7WZa3ww472ODBg50gteaaazoBB1tyySXjl5f5/sknn9gtt9xi7EHlvbWGDh1qn3/+uduL6v777y/lDfXzzz+75YSzZ892+z8R959//mkvvfSSO9a1a1fnlcUHu+GGG+zZZ5+1zp072+67726pVMq+/fZbe/PNN52AFS7vK5M4HRABERABERABERABERABERABERABERCBPAkUjci0xx572J133uk26carCU+ejTfe2Jo0aWL16tXLS/DJk1mpy9Zff33jw6bfiEz8f8ABB+QdFEsAsfPPPz8tTvH9+OOPt6+++soQocIld/fee6/xS3aHH3644WnlrXfv3nbBBRfYwoUL7eSTT04f93tB9evXzwlQ2LBhw+ywww6zhg0bpq/TPyIgAiIgAiIgAiIgAiIgAiIgAiIgAiJQEQIlFbm5Jt3L0jI+7IOE2HPRRRfZ9ttv7/ZnwiMolyHeeMHI/3377bdz3Vbh82xefvnll5fxKGLTcIy9qkIbMWKE+xpues53fj0PY8kdS+QwvJYWLFjg/g8ZsBSvf//+iUvx3MUyERABERABERABERABERABERABERABESiQQNF4MuGtdOyxx7pNw1944QV74403nHfR66+/7j7bbLON8/RBhEoyhJcVVlih1KlOnTolXVqpx9iAfMstt3RhIgqx5A9hKBSKwgj9hubsxRQaezthzZs3T+cRJmyQ/uSTT9rVV1/t9mWCA8vsENJkIiACIiACIiACIiACIiACIiACIiACIlBZBJIVl8oKvYBwSkr+dapCaMlkXnjJtswLYYg9ixCcvv76a7dB9scff+z2IGLZ2cEHH5wY/Kabblrm1+USL6zkg+SJzcNJHx5YPo+ZokEkYjng3XffbS1atHAbhCOm3Xbbbe6WHXfcsdStp5xyituPaeDAgfb999+7z80332y77rqr9e3bV0vmMoHWcREQAREQAREQAREQAREQAREQAREQgYII1BiRiV9Uw2bMmJExA3///bc7F9/A229m3apVq/S+Q3jxsKSMD0vnEHG++OKLjCJTxkir+MQ111zjPIzYLwlBqEOHDta4cWO3Wfc777xTJva9997bhg8f7jb6Pvfcc9Pn8WBiH6ojjjgi8Z4999zTvvvuO8eBe/nFuZkzZ9qFF15Y5nodEAEREAEREAEREAEREAEREAEREAEREIFCCdQYkalbt24u7exBxFKwpKVq/Coa5vcr8pmdO3eu81zi+AMPPOAPp//yy21YNg+oMjdFBxBzXnzxRbfBNiJOZRteSyzlwy677DLnleTtgw8+SIwO8WzKlCnGr9qdd955bhPwdu3aOW8lv4m4v5Fld0899ZTbr2mllVZyf/mss846dvbZZ9uXX36ZGIcOioAIiIAIiIAIiIAIiIAIiIAIiIAIiEChBGrMxt9LLbVUek+ka6+91qZOnVoqL59//rnbawnr06dPYj4RheIbZfPrbI899pi7niVxhdj777/v9jPC46cqDMGIDzZt2rR0FGw4jriVZL/99psNHjzYiV6rrLKKrbvuum4ZYFxg4l5EpptuuiktZPnwpk+f7v7Fa0omAiIgAiIgAiIgAiIgAiIgAiIgAiIgApVBoMZ4MpGZM88800466ST79NNPbaeddjK8m1hGx6bWY8eOdfnlF+M23njjxLzjGcTG30svvbQTYdiryItO7GUU7lc0btw4w1sIYQpDUPr9999Lhes9pxIj+/+DkyZNMkQh9jrC+B/BZ6ONNrIll1zSZs+e7eJ599133fmff/7ZHnroIScO4XnFX0Sjc845x/3a2+jRo23UqFFumR/CGkvmEItYCofHEr8ehxHvgAED3P8YnNq3b28bbLBBejmhF7CIe968eW5DcLzE4ItXFx5aMhEQAREQAREQAREQAREQAREQAREQARGoDAL1oqVmmXfarowYCgwDTx02wmYp14QJE5w4wgbX/PIbAhNikRdPfNDsyTRo0CDDa2nYsGHuPpbQsXcTy8QQrOJeTPfdd5/bPDsfe/75551glGQsR+vfv3+ZU+yNdOSRRzrxKUnM8Uv7Jk+ebLfccot99tlnzmOqd+/edvTRR1uzZs1sv/32S4d7xx13uKVuCxcutCuvvNJeeeWVMnFyoFGjRnbqqafaLrvs4q7lF/UQthDq4IQQtcYaa9g+++zjRDyZCIiACIiACIiACIiACIiACIiACIiACFQGgRonMlVGpoo5jFtvvdUeffRRJ1wddthhTnBDTGJT9Pfee8/69evnPJZee+01J1TJREAEREAEREAEREAEREAEREAEREAERKA6CNSYPZmqI7O1PY5ffvnFCUxsin744YenPbpKSkqsbdu2tvvuu7sNwPH+wnNJJgIiIAIiIAIiIAIiIAIiIAIiIAIiIALVRUAiU3WRroR4/GboLLFjT6a4sb8USwWbNGmiTb3jcPRdBERABERABERABERABERABERABESgSgnUqI2/qzSnRRA4+zV17drVbQy+//77u43C2Qwc8xt6s0n4WWedlfhrc0WAQFkQAREQAREQAREQAREQAREQAREQARGooQS0J1MNLZhMyZo+fboNHDjQPv74Y/eLe7NmzXKbfS+xxBK28sor25577mm9evXKdLuOi4AIiIAIiIAIiIAIiIAIiIAIiIAIiECVEJDIVCVYFagIiIAIiIAIiIAIiIAIiIAIiIAIiIAI1C0C2pOpbpW3cisCIiACIiACIiACIiACIiACIiACIiACVUJAIlOVYFWgIiACIiACIiACIiACIiACIiACIiACIlC3CEhkqlvlrdyKgAiIgAiIgAiIgAiIgAiIgAiIgAiIQJUQkMhUJVgVqAiIgAiIgAiIgAiIgAiIgAiIgAiIgAjULQISmepWeSu3IiACIiACIiACIiACIiACIiACIiACIlAlBCQyVQlWBSoCIiACIiACIiACIiACIiACIiACIiACdYuARKa6Vd7KrQiIgAiIgAiIgAiIgAiIgAiIgAiIgAhUCQGJTFWCVYGKgAiIgAiIgAiIgAiIgAiIgAiIgAiIQN0iIJGpbpW3cisCIiACIiACIiACIiACIiACIiACIiACVUJAIlOVYFWgIiACIiACIiACIiACIiACIiACIiACIlC3CEhkqlvlrdyKgAiIgAiIgAiIgAiIgAiIgAiIgAiIQJUQkMhUJVgVqAiIgAiIgAiIgAiIgAiIgAiIgAiIgAjULQINakJ2Fy5caJMnT7Y5c+YY/8tEQAREQAREQAREQAREQAREQAREQAREQARqDoGSkhJr3LixtW3b1vg/yerNnTs3lXSiuo4hKk2YMMHatGljDRs2tFRqkSanurKteERABERABERABERABERABERABERABESg1hCoV6+ezZs3z6ZMmWIdOnRIFJoWuciEB1PTpk2tfv36tQasEioCIiACIiACIiACIiACIiACIiACIiACdZHAggULbPbs2da6desy2U/2bypzWdUcwGuJhElgqhq+ClUEREAEREAEREAEREAEREAEREAEREAEKpNAgwYNbNasWYkr0Ra5yIQCJhMBERABERABERABERABERABERABERABEaj5BHAYQstJ2u5okYtMNR+fUigCIiACIiACIiACIiACIiACIiACIiACIhASqHEik4pHBERABERABERABERABERABERABERABESgOAgsUk+m4kCoXIiACIiACIiACIiACIiACIiACIiACIiACEhkUh0QAREQAREQAREQAREQAREQAREQAREQARGoMAGJTBVGqABEQAREQAREQAREQAREQAREQAREQAREQAQkMqkOiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIVJiARKYKI1QAIiACIiACIiACIiACIiACIiACIiACIiACDYSg6gj8+uuv9tZbb9nkyZOtadOm1rhxY5s4caKLcMcdd7Q11lij6iLPM+Q5c+bYG2+8Yb/88ovNnz/fFl98cdtuu+2sS5cueYZQvJfdfPPN9vbbb9u9995r7dq1q3BGDzroIBs9erQL57HHHhPjChNdNAFQJy655BIX+dZbb20XXHBBOiGVXWcWTQ4VqwiIgAiIgAiIgAiIgAiIgAiUj0CtF5m+/fZbe/7550vl/qijjrKOHTs68eTTTz8tde7CCy9031OplDv31Vdf2ZQpU6xBgwa2xBJLWNeuXW2TTTax+vXr2z333GPjx4/PSLZv377WunXrxPPTp0+3p556yrp162bbbLONE3FI6w477GCvvPJK4j2L4uC7775rP/zwg22//fbWokULe+6551yea7LItHDhQhs2bJgrsxVWWKHKsI0YMcLVjb///rtSRKYBAwYYn0Vd/scee6wTPgcOHOjquawwAltssYUts8wydsQRR5S5sbLrTJkI8jhA2dLXbLrpplavXr087tAlIiACIiACIiACIiACIiACIlA5BGq9yLTKKqtY+/bt7a677nLCyG677WZt2rRxdLbaaivr0aOHPfjgg7bsssu6c97eeecd++ijj2z55Ze3VVdd1WbPnm0//vijffjhh7bRRhu5yffBBx9s7733nv33v/91YREP9tdff9mbb76ZDivpn5EjR9q8efOcYIXghRiFJxNCVk0yvK1gAwOMianPZ01KZ5iWadOmGUIJnkFVKTKde+65zvNsueWWqxQUiHgdOnSolLDKG8h3333n6vkJJ5wggamcEBFuqBNJAk5l15nyJJH+DrGYPg4hViYCxUqAfgxvwl133bXGZpGxCS8WeLF15plnuvGFbNEQuPvuu23cuHF28cUXL5oE1IBYGdPecccd7uXZ7rvvbkcffXQNSJWSIAIiIAIiUGwEav2eTEz0/MS9WbNmaYGJgkIoQuDBmjdv7j7YggULnHCEuLLffvvZBhtsYHgnIAhhfmLWqFEja9mypTvWqVMnN7Hks9Zaa7lws3mB/PPPP+6+hg0bur9t27a1zTbbzP1fk2zWrFnpNJIu8rb00kvXpCRWSVpYJvjHH39kDRuxrVevXlmvqW0n8a5j6SYedZkMTzEG4rLCCRRjnSmcQuk7Jk2a5PrWP//8053w3zkWfi677LL0jQceeGCpc1zHhMhbrvPxNL/++uvupQFepXvuuafdeeed7jng7ffff7fTTz/dCRY777yz8zgMz3/++ef2n//8x93PeSap5CObzZ071/r37+/yQX/jjRcQhPPzzz+Xup1lmHvttZfNnDmz1PFTTz3VeR0SL56noT377LMufL8M159jiS+etli/fv3SLLfddlvH4aGHHnLLo+P20ksvOQZ44tY240URdeS3336rlqS///777gVWNsOjEMH3tttuc0ukeb7KCidQ3WVbeAqz35Hk9Zr9jqo5Sz909dVX2zHHHGMvvPCC7bvvvlUTkUIVAREQARGo8wTq5GtuJg/hBMLXAryaEIKSPBTCmoIIxZK8THb//fenJ+lMVrBDDjnELbFJMgaifBA9GATg9cTEYeWVV05fzsT/k08+sa+//tot4eK7N4Ssc845x3lOsUTwp59+cp5ZCGSIYn369CkTLcvNmFBwHcvl+LBUkAkIRvh4erGckAlHq1atbO2117Z1113XnX/xxRddWjC8ipj8sFQIb53jjz/eSkr+p19ec8016SVijz/+uLsXTzDyuvHGGxuTKAQ9b0zebr/9dvv444/dIcqFOFZaaSW7/vrrXR6xhx9+2H0QxR555JH0/eE/LI/kzR2GyPjqq6+6st9jjz2cZ9kzzzzjJmh4RXkj/QzAvNDCJIG9qoj3iiuucJcRLpx5Q73YYou546QvW9rTEST8M2jQIHv00UfdBIn9n5jo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bMinK59rFmUeFLcIiIAIiIAIiIAIiEBZAhKZyjKpcUdYXsbEkOU2eDXh+s7yAvZhYLlD+ItANS7xSlDREaDO+aUl7PfEUpHybAbPXjjZ9kJhGUtlWb5pJl/sYYFwyzJXli4l/QpQZaVL4YiACIiACIiACIiACIiACIhAMRGQyFQLSpM9RNj3A5GJDbDZ8JcJOHtfcDxpU99akC0lsZYSYO8V9v7C2FeGPaHYm6pQow5XV93NJ80sI2N/GG/s08KyMfZxkYmACIiACIiACIiACIiACIiACOQmoD2ZcjPSFSIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAv9PINOeTCUiJAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIVJSCRqaIEdb8IiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIBJZFIlEAEREAEREAEREAEREAEREAEREAEREAERqDABiUwVRqgAREAEREAEREAEREAEREAEREAEREAEREAEJDKpDoiACIiACIiACIiACIiACIiACIiACIiACFSYgESmCiNUACIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAhKZVAdEQAREQAREQAREQAREQAREQAREQAREQAQqTEAiU4URKgAREAEREAEREAEREAEREAEREAEREAEREAGJTKoDIiACIiACIiACIiACIiACIiACIiACIiACFSYgkanCCBWACIiACIiACIiACIiACIiACIiACIiACIiARCbVAREQAREQAREQAREQAREQAREQAREQAREQgQoTkMhUYYQKQAREQAREQAREQAREQAREQAREQAREQAREoEFNQDBhwoSakAylQQREoA4QaNSokc2dO7cO5FRZFAEREAEREAERqEsENMapS6WtvIpADSYQTbZSi+rzzz//pIYPH54qr/3519+pyZMnl/kM+X5savP/vFvmONde8eA3qSse+jbx3K+j/0itfcyg1NtDRrnzv//xl/v+9bBx7vuLHwxP7Xb+4PS9v42fmFrz6P+d92l57r3hqQMv/zgxDq7hHNeEaT/vri9TNz75Q/rYg6/+lDq+/xD3/eXBI1J7X/S/eJPy7I/BRCYCIYGLLroodfPNNydCmTlzZmrNNddMTZw4sdT5LbbYIvXtt9+mpk+f7s6PHTs2ff6ll15Kbb311unvBxxwQOqGG24odf+ll16auvLKK92xeBzHHHNM6pZbbklMT66DDz/8cOqEE05wl7311lsp4g7tiSeeSG233XbpQ5zv379/qWvOO++8dNo++OCD1DrrrJOaOnVq+poxY8aUYkJ677///lJh3H777alTTjnFHSOM3XffvdR5vjz44IOp0047rczx8ADhnnHGGelDX3zxRWqzzTZLzZ49O31sxowZqY022ig1dOhQd4w8vf7661nDjacpvMfnedq0aekwfv/991J5ToqDtG244YalWIWJ6NevX+rCCy8sla4dd9wx9dRTT7ljlPk555xT6jzndthhh/SxeDpDrklpgp0vm1zpKxVx7EuutMfvpQ4ddNBBqQULFsRPOY6//PKLO/7iiy+mTj755FLX3HrrranLLrssRbt89NFH0+fIH/U3bscff3xqwIAB8cPue7xt0Q6vuOKKxHM+AN+2+V5oW8zFuNAy/v7771ObbrqpT5r7m63u+gvDcufYY4895toI9YU2N378+FJhhl9y1bFC+jLCzaePDMslTMtnn32W2mWXXVI//PCD61Pnz5+fmO58OHEj9W699dZzYbz77rul2hbHqHNnn312Oo6+ffs6dplsv/32S73wwgvp03Clfo8cOdIdy1XfPvroI5e/0O64444U7QfLp78L72XMCKdvvvnGHc6V/rvuuit16KGHhkGU+Z/68M4776T233//1HvvvZc+n+veTGU6a9YsVxd5ZlK3f/31Vxcmaaf//O6770ql4cgjj0w98sgj7li87nMsLFPG6uuvv37qk08+KRVGpi/0TzxPCP+II45wly1cuDC17bbbpgYOHJjad99907cWUtb+pscffzz9POYY+fvpp58yJScVPr8zXqQTIiACIiACtYoAWg7PuLieVOeWy23au429/+0U+/Pvfz0Zho6ZYf2eHu1kwBn/LLBU9HeFLs3c95f+O9FKSurZP3MXuu8rLd3Mxk+abUPHzHTfn/voT6sfnY9b/Yjq7P+/J36uPN9X697CJk2fZ5//PM3dPmnaPLvisRE2Zca88gSne+oggajx219//ZX+RKJkXhSaNWtmLVu2tGHDhrnr//jjD4sGrGXujUQPGzJkiEUDbIsGyvbGG2/YbrvtVuY6DkSDfosGp/baa6/Z33//bePGjbPnnnsu0bsomoRYNMGyOXPmWCS2WDRgtw4dOrhwV1hhBRsxYoQ7hv3555/25JNPuv9DI57//ve/Lm2DBg2yt99+u1Ta6tWrZ5HI4NgQxtVXX23R5MDatWvngokmHy7PPn/RxMkiMcAikSEeVanvnTp1smjy6MKNRKOs1/qTq622mi211FJ27bXX2qRJkywS/+yqq66ylVde2Xr06JFXGPlcVFJSYtdff326Plx33XWl8pwUxhprrOGYR0KSjRo1ypXd119/7dhi5Dd60KTLEWak39vOO+9sH374oStPjDr49NNPp89X9J9c6SOt0cQwMZpcaY/fFE1uXd4OO+wwlyfqMOVMHLnsqKOOsmiSnK63/nrqUzQBt1deecXw7oVxJA67OpSpLeWKK9f5QtoiYeViXGgZd+zY0bXLr776yubNm2eRyJIryYnnaY+04XvvvdcuvvhiI9zyWiF9GXHk20cmpScSbFy+I6HHttxyS6tfv37SZS4/hXKiTtNGvac4dTMSnkqFzzWffvqp61+T+ijO+76fa6iP9B2VZfn0dzwbaFuRYGKR4OLS2r59e5eEXOnfc889LRLELBJpXd9OOJGQ5NqWtz59+rh+KBLabYMNNkgfz+feJA5NmjRxfWn0IsKls3v37u6yxRZbzAiTvpb4eZ5FIrN7htFu8rGGDRu659E111zj2kwkcLp+5NVXX028nbKijtE+Nt54Y3cNz7tIDHJ1bu21107fVxllTRiDBw92ZUU5ZXt+JyZYB0VABERABIqGQI1YLledNHsu09wO2bqjnXPfrzZr9nxr06KhHb19F5eEpdsvZtut1c5OvHWYtWpW33bZYEnbZJU2duXAkdb/mBVs8ZaN7PidlrJLHhkRiUtmu23Y3lo3b2gL/tWg0tlYrnMzmzVnge1+ydfWILrw9r497LtRM23Ai7+5a6b/M99ueHa03RZ9X2+llnbqHl3T9yb907RxfbvkoO52xytj7cbnRhuy1u4bLWltorhlIpAPAcSXUIBhwMtgMJcxIL3kkkss8gayyEvB2rRpY2eddZZFHimlbo08M+zuu++2yPvJiTNnnnlmRlEketPu7mdCSNhM0phsRF4vZZLDxAqRJXqDbgze1113XYs8iNx1iDGnnnqqRZ4LFr2ddWljAn/jjTeWCufwww+3++67L5024g4FG4STbt26WfRG2w3aI88mO/fcc9NhbLLJJi4OhJ/o7bR17tzZMVh99dXLpDc8EL1BtsjbynbddVeX1ujNcdbrOcmk4KabbnJxRV4Z7nomPpFXWM57C7mAidXSSy9dKs8XXHBBziBIF3UBcYIlh0wqjjvuOHcfQgjiCX9x1488Zix6U54Ok/iI4/zzz3cT68UXX9woGyaulWXZ0vf+++/b6NH/vlCIx5cr7fHrmTxGb+XtnnvucRM+BCfKjuORJ53LWyaDDQwiDwbbfvvt05dF3gUujIceesgJnbSL3r17W+QRlxZWM4VZ3uOFtEUfRzbGhZZx27ZtLfLUcu0rem3nJt2FGsJUly5dLPJwTN9KH4QYGooG+YZbSF9GmPn2kUnxcy/1hTKmLmWy8nCiX6OdRh4shjix/PLLu34LUdTbwQcfbJFnk22++eau3UYeYqWScNJJJ1nk/eREkMaNG7uwEFQry/Lp73hO8exBBKOcIy+odHvIlX6eCZHnoOtTaa8NGjRwHGh/3mh3nI88rhwnb/ncm4kD7Roh+thjjy11yYknnmh33nmnRR6EFnmSWq9evVz6WrRokSmoMsd9mDzHEBGpG9lEqrXWWssJa15kIsDI08oiD7VSIlNllDXP48svv9w926k3PLMzPb/LZEwHREAEREAEiopAPVybFlWOeNvB5JEJXnls4qSp1qAkpvCUJ6Aiumf+whJbYvFWRZQjZUUEyk/gwAMPNCYi22yzTWIgTLiYYFSmR01iRDq4yAkwOWMyFgo7izxRSkCFCSBUN2/e3IlVTGoRP6Nlis778Pnnn69w+FUdAAIAQiXeKIhOstpPgJcVCHfPPvusE/NlIiACIiACIlCsBPDI5aVz3Bu78vyei5Wc8iUCIlCrCeAhkc1ync92r87VDgJ4uv3222/Ou0pWXARYArbHHns4gQnDUwzPSLwga4MhMuHNJIGpNpRWfmmkTHv27CmBKT9cukoEREAERKAICUhkKsJCVZZEQAREQAT+R4BlOex1xDJRWXERWHbZZd0ecHhGY+xBhHdiTRYU/Z41H3/8sVvKtPfeexdXodTR3LCkL/rhCLd0PNeefXUUkbItAiIgAiJQRwjU8j2Zsnso1JEyjGVTTOpmuSvXIiACIlD3CES/ZOk2/Y5+pdBlnqVzLI9lP6KaamxCjbDEjyqwd1RFNiqvqXmsi+k65JBD3I9j7LPPPhb9Cl5dRKA8i4AIiIAIiIAjUKv3ZJo0ZapFv8fqNuGWmduAvF70xn7xNtqTSfVBBERABERABERABERABERABERABESgaggU5Z5MrVo0s1T0W2spk8oEA1jARCYCIiACIiACIiACIiACIiACIiACIiAC1U2gVi+X4+do27RqblOnz4y8ePhVlrr6yyyRxBTpbLCAiUwEREAEREAEREAEREAEREAEREAEREAEqptArVckEFW0PKy6q43iEwEREAEREAEREAEREAEREAEREAEREIHSBLTOTDVCBERABERABERABERABERABERABERABESgwgQkMlUYoQIQAREQAREQAREQAREQAREQAREQAREQARGQyKQ6IAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiUGECEkuw6XQAACAASURBVJkqjFABiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAISGRSHRABERABERABERABERABERABERABERABEagwgRrx63IjRoyocEYUgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIwKIjUCNEpm7dui06AopZBERABERABERABERABERABERABERABEQgbwKZnIW0XC5vhLpQBERABERABERABERABERABERABERABEQgEwGJTJnI6LgIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiEDeBCQy5Y1KF4qACIiACIiACIiACIiACIiACIiACIiACGQiIJEpExkdFwEREAEREAEREAEREAEREAEREAEREAERyJuARKa8UelCERABERABERABERABERABERABERABERCBTAQkMmUio+MiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAJ5E5DIlDcqXSgCIiACIiACIiACIiACIiACIiACIiACIpCJgESmTGR0XAREQAREQAREQAREQAREQAREQAREQAREIG8CDfK+soZeOH/+fJs6fZYtXJiqoSmsvGSVlNSzVi2aWoMGtb7YKg+KQhIBERABERABERABERABERABERABEagRBGq1WoHANGXqTKtfkrIG0afYbcFCc/lt06qZhKZiL2zlTwREQAREQAREQAREQAREQAREQARqGYFavVxu6vR/BaZ6VvwCE/WqflRa9Wxh5Lk1s5ZVMyVXBERABERABERABERABERABERABESg2AnUapFpYeTZU1cEJl8REZrIt0wE6jqBDz/80PbYY4+iwFBMealNBXLjjTfalVdeWWuSjPfuWmutZePHj681aVZCzepS+541a5aro3/99VetKPoDDzzQ3njjjSpLa03pY2pbuVSkQP7++2/r27evbbzxxnbMMcfYggULSgVX1WWeT9oXRRp8HYBPbbV4X7ooONZWdkq3CFQ3gVotMlU3LMUnArWRwL777ms33HCDS/rUqVPdBOCDDz5w34cMGWKHHnpoQdk6+OCDC7peF1cugWzlGY9p1KhR9p///Mc233xzN+Deb7/97IUXXohfVm3fZ86caX369ElPQCdMmGBnnXVWuePfcccdXX0OP+S3rtrFF19st9xyS2L27777bmPCKyucQKF9XqHXk6LjjjvO3n///cITV813VLTNVnNyrTxlUd401iY2xdwfPPLII1ZSUmKDBg2yc88917744gs74ogjylusum8RE6gtfeMixqToRaDGEajVezJVBc0Pvptit77wm/0zd4Htsn57O7JP58Ro9r78Wzth56Vs095tEs/roAjUFAJNmjQxPlizZs3cX/99mWWWMSbq+Rqixbhx4/K9PPG6efPmWcOGDRPP6WBuAtnKM7w7lUrZSSedZOuuu67df//9Vq9ePRs+fHi67HPHVHlXkBbeJpN2vM9atWrlAh88eLBxriJ21VVX2dprr50OQj+MkExzzTXXtLlz5yaf1NEyBLz3w2+//VZQn1fePhLxtXv37mXSUdMO5NtmmeQvasu3LCorrfmyWdRciL+29QeFjBt4zvHcW2yxxYwxDn932GGHRYI9W7oLqXfZwlkkGavGSGtL35gJSV0uu0xMdLxuEFj0o4AaxnmTVdrYk+f3tm3WXDxryq44bDlbfbkWWa/RSRGoCQSaNm2aFhaYgPPxItPPP/9sAwcOTCcT1+OXX37ZuZjvtNNOtvPOO9vDDz/szv/yyy/ubTveUFtuuaX7TJ482Z37+uuvjXs32GAD22effdKeUpzDe4I47rjjDttqq63cm0UsW1zugshYxnDQQQc5L5ztttvO7rnnHn8q69+XXnqpzJvLzz//3HnReCPNhxxyiG244YYuXaeffrqxHAljUNCvXz/bYostXD7xEJkxY0bGOL/55hvnEbb++uu7dJLXhf+/rhUX9Y022sjee+89wwsJrjD65JNPEsM74IAD7Jlnnil17s0333T3YdnKM7xp0qRJ9vvvv9sJJ5xgXbt2dYNt8kMavf355592yimnOAaIjffdd18p0Yc383CB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tWhmKasXfeqGykQ+yS/5lomACIiACIiACIiACIiACIiACIiACIhATSJQq5fLsfFcm1bNber0mbZgYb2IK59itUhiirQ08ut/7rNYc6p8iYAIiIAIiIAIiIAIiIAIiIAIiIAI1D4CtVpkAjeCi5aO1b6KpxSLgAiIgAiIgAiIgAiIgAiIgAiIgAgUF4G6sc6suMpMuREBERABERABERABERABERABERABERCBGkdAIlONKxIlSAREQAREQAREQAREQAREQAREQAREQARqHwGJTLWvzJRiERABERABERABERABERABERABERABEahxBCQy1bgiUYJEQAREQAREQAREQAREQAREQAREQAREoPYRkMhU+8pMKRYBERABERABERABERABERABERABERCBGkdAIlONKxIlSAREQAREQAREQAREQAREQAREQAREQARqH4EGNSHJI0aMqAnJUBpEQAREQAREQAREAVrIDgAAIABJREFUQAREQAREQAREQAREQATKSaBGiEzdunUrZ/J1mwiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIQHUSyOQspOVy1VkKiksEREAEREAEREAEREAEREAEREAEREAEipSARKYiLVhlSwREQAREQAREQAREQAREQAREQAREQASqk4BEpuqkrbhEQAREQAREQAREQAREQAREQAREQAREoEgJSGQq0oJVtkRABERABERABERABERABERABERABESgOglIZKpO2opLBERABERABERABERABERABERABERABIqUgESmIi1YZUsEREAEREAEREAEREAEREAEREAEREAEqpOARKbqpK24REAEREAEREAEREAEREAEREAEREAERKBICUhkKtKCVbZEQAREQAREQAREQAREQAREQAREQAREoDoJNKjOyKoirvnz59vU6bNs4cJUVQRfNGGWlNSzVi2aWoMGtb7Ii6ZMlBEREAEREAEREAEREAEREAEREAERKCYCtVpxQGCaMnWm1S9JWYPoI8tMYMFCc6zatGomoSkzJp0RAREQAREQAREQAREQAREQAREQAREoJ4FavVxu6vR/BaZ6JoEpV/nXj0q6ni2MvL5m5rpU50VABERABERABERABERABERABERABESgYAK1WmRaGHnnSGDKv8wRmmAmE4FcBPASXGuttWz8+PEZL/30009txx13zHi+mE/8/fff1rdvX9t4441t3333tQULFhRzdqslb/nUuWpJiCIRAREQAREQAREQAREQAREoN4FaLTKVO9e6UQTqIIEvvvjC1l577azCUR3EUibLEyZMsLPOOqvM8fDAww8/bCUlJTZo0CAbMGCA1a9fP+v1te3kwQcfXNuSrPSKgAiIgAiIgAiIgAiIgAjUAAISmSq5EL74ZZoNeOm3Sg61sOB+HT/L9r7828Ju0tVFT+C5556zDh062Isvvlj0eS1PBufNm+duGzx4sKVS2ZfgjhgxwtZdd11bbLHFrG3btgVHR/h47tQkwxuLz6hRo2zcuHFVkrSamO8qyagCFQEREAEREAEREAEREIE6SkAiUwULPj4XHTnhnwqGmN/t8Xjzu0tX1VUC06ZNs/fee89OO+00e+GFF8os7/r111/t8MMPt/XWW8923XVXdy2eOqG9/fbb7tz6669vhx56qP32W2YxdeLEiXbqqafaZpttZptssokdccQRTrzALr74Yuf9E9qdd95p559/fvrQgQceaC+//LIde+yxLk6W5ZFubx9++KH95z//sTvuuMP2228/22qrrdz3SZMmpa9BNLrhhhtsm222cWk+8sgj7eeffy4Vxumnn25vvfWW7bzzztanTx8X50033WQffPCBbbnlli6foREm8XzyySd22223uWu4Fvvmm2/c9cS13XbbubQtDNankqevvvrKeUltuumm9tRTT5UKmy9ff/21HXLIIbbhhhu6PJE+L0Zx/5tvvunyAY9ddtnF3n33XSca7rXXXu7Y0Ucfbb///ns63KFDh9qJJ57o0klZnHvuuTZ79mx3ftasWbb55pvb8OHDDc8llv4R3nHHHWdTp0519/CZPHmyu560+/xtvfXWNnDgQHecpYMXXnih47fRRhu59Pmy5nymfOeqc9lYuIhlIiACIiACIiACIiACIiACNY5Arf51uUw0/5gy1/o9PcomT59vC6JJ3gY9W9uRfbpYSb1ownPNd7bJKm3sg++m2H6bd7TB30+x3yfPsZuO62GtmjUwRKL+z4y2KTPmRb9aV88O2bqTbbHa/zwVLn54uK3bo5WNnzTH3vxikk2bNd8GnLSSLduhid37+jh7/uM/XbLe+2aK+3vFYcvZ8p2buv+Hjplpt7/8m5G+Jo1L7MAtO9pWqy/uzs2cvcCuf3q0/TR2pvOi2LR3Wztm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iIbjiZQu3rzGG9fSBcWxEclwACHK4f7KFAhBvPmN1DY+XIMi6aEweabzw37emNerVy8vbiEO8va4aB2mbNvhOPjwZrvOnTv72lW8Pe6yyy5LKuhF2+V+de3a1dfUwt2GOIdgxf2kb7w5kDkCV97uR+0kxsw+in9zDe5VuiBVLtOcK00W6fqifSIgAiIgAiIgAiIgAiIgAqVHIM/VEikuRlR6bWbdEn+tJ7WCheKyxMTJhVZQZcmb35aljcp2zsKiKtakUXrRqrIx0XjLHgEcQAhdHTp0SNo5nE89evRI66ZKeqI2ioAIiIAIiIAIiIAIiIAIiIAILDcBskT4Y3QozREarJDpcstNSw2IgAiscgLxIt3xDmXaHz9e30VABERABERABERABERABERABFYsAYlMK5avWhcBERABERABERABERABERABERABERCBSkGgnItMqyzTrxxPDjErxzdPXRcBERABERABERABERABERABERCBMkugXNdkmjy10BYXFVl+OZfKVtbsWOTKV+W5QsuNGqgm08piruuIgAiIgAiIgAiIgAiIgAiIgAiIQEUjUCFrMtWrU8sWW577SGXKNGFhBCuYKURABERABERABERABERABERABERABESgtAkUlHaDK7M9XoPdoF5tK5wxyxYV5blL81EsTcBJTE6HgxXMFCIgAiIgAiIgAiIgAiIgAiIgAiIgAiJQ2gTKveKAaKL0r9KeFmpPBERABERABERABERABERABERABERABHIjoDyz3HjpaBEQAREQAREQAREQAREQAREQAREQAREQgSQEJDIlgaJNIiACIiACIiACIiACIiACIiACIiACIiACuRGQyJQbLx0tAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiKQhIBEpiRQtEkEREAEREAEREAEREAEREAEREAEREAERCA3AhKZcuOlo0VABERABERABERABERABERABERABERABJIQKBNvlxs2bFiSrmmTCIiACIiACIiACIiACIiACIiACIiACIhAeSFQJkSm1q1blxde6qcIiIAIiIAIiIAIiIAIiIAIiIAIiIAIVGoCqcxCSper1NNCgxcBERABERABERABERABERABERABERCB0iEgkal0OKoVERABERABERABERABERABERABERABEajUBCQyVerbr8GLgAiIgAiIgAiIgAiIgAiIgAiIgAiIQOkQkMhUOhzVigiIgAiIgAiIgAiIgAiIgAiIgAiIgAhUagISmSr17dfgRUAEREAEREAEREAEREAEREAEREAERKB0CEhkKh2OakUEREAEREAEREAEREAEREAEREAEREAEKjUBiUyV+vZr8CIgAiIgAiIgAiIgAiIgAiIgAiIgAiJQOgQkMpUOR7UiAiIgAiIgAiIgAiIgAiIgAiIgAiIgApWaQEF5H/3ChQutcMZsKypaXCaGUqVKntWrU9MKCso92jLBU50QAREQAREQAREQAREQAREQAREQAREoHwTKtRKCwDS1cJblV1lsBe5TFmJRkfk+NahXS0JTWbgh6oMIiIAIiIAIiIAIiIAIiIAIiIAIiMBKIVCu0+UKZxQLTHlWNgQm7li+I5pnRc5dNWul3EBdRAREQAREQAREQAREQAREQAREQAREQATKAoFyLTIVOddQWRKYwg1FaKJvChEorwRwCW699dY2duzYlEP45ptv7MADD0y5vyLvmDZtmp177rm2884729FHH22LFi2qyMMtMbbZs2f7uTFp0qRlHnPv3r3t+uuvX+bzK+KJ9957r91+++0VcWgakwiIgAiIgAiIgAiIQCUiUK5Fpkp0nzRUEVhuAj/88IO1b98+rXC03BepAA2MHz/eLrvssrQjeeKJJ6xKlSr23nvvGYJJfn5+2uOz2YnogniT7HPooYdm00SFOOb1118vwWC33Xazrl272ueff15ifN9++62dfPLJK2zM2cwD7lmvXr2S9uHhhx82hKMVETNnzrTbbrvN9t13X9thhx3skEMOsTvvvDPrS91www02dOjQrI9f1gMHDhxoBx10kM2dO9c38dNPP/l7hjhL37t3724LFixIND9y5Ejr0qWLH9P+++9vAwYMSOxDyH366aetY8eOtv322xvPxHPPPZexa19++aXtscce9sorryQ9NtP++EnMw6OOOsoQ4hUiIAIiIAIiIAIiIAJLE6iwItMj74y1LwZOW3rEsS1Dx862/938a2Lrp79N9d8PuvYn6/vWmIzn6wARKC8EXn75ZVt99dXttddeKy9dXqn9DItdFpGLF6dPwR02bJhtu+22Vr16dWvYsGHO/aT9+CL10ksvtffff99/Tj31VNtuu+0S3x9//PGcr1GeT9hoo43s008/tQ8//ND69Oljm222mRf+EPdC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REAEREAEREAEREAEREAEREAEMhGQyJSJkPaLgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAhkJCCRKSMiHSACIiACIiACIiACIiACIiACIiACIiACIpCJgESmTIS0XwREQAREQAREQAREQAREQAREQAREQAREICMBiUwZEekAERABERABERABERABERABERABERABERCBTAQKMh2wMvYPGzZsZVxG1xABERABERABERABERABERABERABERABEVhBBMqEyNS6desVNDw1KwIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiUJoEUpmFlC5XmpTVlgiIgAiIgAiIgAiIgAiIgAiIgAiIgAhUUgISmSrpjdewRUAEREAEREAEREAEREAEREAEREAERKA0CUhkKk2aaksEREAEREAEREAEREAEREAEREAEREAEKikBiUyV9MZr2CIgAiIgAiIgAiIgAiIgAiIgAiIgAiJQmgQkMpUmTbUlAiIgAiIgAiIgAiIgAiIgAiIgAiIgApWUgESmSnrjNWwREAEREAEREAEREAEREAEREAEREAERKE0CEplKk6baEgEREAEREAEREAEREAEREAEREAEREIFKSqCgko5bwxaBSkFg2JDJlWKcGqQIiED5I9B6vUblr9PqsQiIgAiIgAiIgAiIQFoC5V5kWrhwoRXOmG1FRYvTDnRl7axSJc/q1alpBQXlHu3KQqbriIAIiIAIiIAIiIAIiIAIiIAIiIAIVAAC5VoJQWCaWjjL8qsstgL3KQuxqMh8nxrUqyWhqSzcEPVBBERABERABERABERABERABERABERgpRAo1zWZCmcUC0x5VjYEJu5YviOaZ0XOXTVrpdxAXUQEREAEREAEREAEREAEREAEREAEREAEygKBci0yFTnXUFkSmMINRWiibwoRKK8EcAn+75h97N9/x6ccwq+//Whdzzkh5f6KvGP69EK79far7cROh9jFl51hixYtqsjDLZNjy2aOlsmOl3KnKvNzWMoo1ZwIiIAIiIAIiIAIiEApECjX6XKlMH41IQKVhsDAP36xG2++zHrd+6g1bbp6pRl3rgOdNOlfe/zJh+zC869Oeerr//eCVcnLs4f7DLC5c+dYfn5+ymOz3fHmWy/bJ5+9b7ffen/ilGnTptjpZx5jJxx3mh10YMfE9q++/tSeeOph693rCfv4k3etd5+7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+qxtu81Otl6bDcrtGNRxERABERABERABERCB3AiU85pM6Z0OuaHIfDS1l7JJlStuaeX2LXPvdYQIiIAIlB8Cbdfb0O7v+Xj56bB6uhSBY11dNIUIiIAIiIAIiIAIiEDlIlCuazJNnlpoi4uKLL+M+bEWuTJRvAa9UQPVZKpcj1PZG215rclU9kiqRyIgAqVNQDWZSpuo2hMBERABERABERCBlUcgVU2mcu1kqlenlk0tnGmL3avM82zlFQBPd9sWWxXXn8VW3/VNIQKrmoAWcav6Duj6IiACIiACIiACIiACIiACIlB5CJRrkYnXWjeoV9sKZ8yyRUV57q7xWZXhJCbnqqJP9E0hAiIgAiIgAiIgAiIgAiIgAiIgAiIgApWFQLlXQhBzlJZWWaarxikCIiACIiACIiACIiACIiACIiACIlBWCZSxakZlFZP6JQIiIAIiIAIiIAIiIAIiIAIiIAIiIAIikI6ARKZ0dLRPBERABERABERABERABERABERABERABEQgKwISmbLCpINEQAREQAREQAREQAREQAREQAREQAREQATSEZDIlI6O9omACIiACIiACIiACIiACIiACIiACIiACGRFQCJTVph0kAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIQDoCZeLtcsOGDUvXR+0TAREQAREQAREQAREQAREQAREQAREQAREo4wTKhMjUunXrMo5J3RMBERABERABERABERABERABERABERABEYBAKrOQ0uU0P0RABERABERABERABERABERABERABERABJabgESm5UaoBkRABERABERABERABERABERABERABERABCQyaQ6IgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAgsNwGJTMuNUA2IgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAhIZNIcEAEREAEREAEREAEREAEREAEREAEREAERWG4CEpmWG6EaEAEREAEREAEREAEREAEREAEREAEREAERkMikOSACIiACIiACIiACIiACIiACIiACIiACIrDcBCQyLTdCNSACIiACIiACIiACIiACIiACIiACIiACIlBQ3hEsXLjQCmfMtqKixeV9KOr/SiRQpUqe1atT0woKyv0jsBKp6VIiIAIiIAIiIAIiIAIiIAIiIAIikJpAuV5hIzBNLZxl+VUWW4H7KEQgWwKLiszPnQb1akloyhaajhMBERABERABERABERABERABERCBNATKdbpc4YxigSnPJDClucfalYRAvpv5eVbkXHCzkuzVJhEQAREQAREQAREQAREQAREQAREQgVwJlGuRqci5USQw5XrLdXwggNDEHFIsTQCX4NZbb21jx45deud/W7755hs78MADU+6vyDumTZtm5557ru2888529NFH26JFiyrycDU2ERCBHAn07t3brr/++hzP0uEiIAIiIAIiIAIiUP4JlGuRqfzj1whEYOUR+OGHH6x9+/ZphaOV15uye6Xx48fbZZddlraDTzzxhFWpUsXee+89YzGZn5+f9vhcd77//vvWtWtX22uvvWz77be3gw46yC9YEbcIxD9EQD7bbrutHXDAAXbdddfZuHHjEpcaMWKEnX/++bb77rt7MeyYY46xV199NbEfgfDLL79MfF+8eLFdc801/hxExnQxc+ZMu+2222zfffe1HXbYwQ455BC78847lzol3ZxjPL169Spxzssvv2wHH3ywTZw4scQYw1j5L+yzjbLO8cknn7RDDz3U32NYXnrppTZ58mQ/vNdff91OPvnkpEPdaaed7LfffltqX5cuXezGG29cavv06dP9/eEaO+64o51wwgn23XffJY4LonKUM/+OBvPj2Wef9aIq93yXXXaxuXPnLnWt+IYwV+fNm+d3xb+zjf4dddRR9sgjj/hjmBvxvjDmKVOm+PnO3I7H22+/bfvvv7/7w0GRff7559a5c2ffz3322cduv/32rPoab3NFfefexsfH9z/++MNfMtm9Hzx4sP89+P777/0xPL/xNnh2FSIgAiIgAiIgAiKwqgmU65pMqxqerp+ZwA9Dpts3gwut60FrZT5YR6xQAizgV199dXvttdfsjDPOWKHXKo+NL1iwwKpWreoXqCyo08WwYcP8Yrd69er+k2vQPu6nZIXnu3XrZh988IGddtppdskll/j2EV3+/PNPq1evXolLIaLk5eXZmDFj7IEHHrDzzjvPBgwY4I8555xzfB9ZuHPM33//bTVq1EjZ1bvvvtuLVPfdd1/SfkVPRLAYOXKkFy4aNmzor5/M9ZbLnPvwww/twQcftIcfftiaNGmSaO/NN9+01VZbLXH5bHmXdY4ICY899pgXB9ddd10vLv34449L3eOUNyy2Y9SoUfbPP//YX3/9ZRdeeKHVrl07cQRs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bcQ2hGvEPf7LfeA5SfabmbhAkn8wR3FjkvJIG/ym4c5C5E0ViLTxOlKIvKme8eA25F6G3xW2RQNHVrQuW6pra7sIiIAIiIAIiIAIrEgCee6vd0te77Uir5Skbf4Ky//QZqG4LDFxcqEVVCnpulmWdnROagIndf/dLjyiZQn3Uuqjc98z0dWAOqvXYP82v1CzilbuemGE4Ug7ca/muTeawxkLi6pYk0ZLio3ncKoOXYEEcAAhdKUSOXA+Icakc1OtwO5V+KZxVOAKg+/ypkStCFhlvX8rYsxluU1qGCFap3rDW1nuu/omAiIgAiIgAiIgAiKwbARwuvPHx/ibgiukk2nZEOmsVAQi9cVTHbJM20nB6/vWGDt4e/eWMPdWvaUj2balj9KWikkgXqQ7PspM++PH63v2BIYMGeJfcV8WBSZGUdb7F0gjvsTf6Mc+3mCWqVZQ9ndr1R6J0w7HXTRlbdX2SFcXAREQAREQAREQARFYlQQkMq1K+pX42kPHzrYr+w/1dZZIFVSIgAiUHQKk5pFaWFajrPcvcCM9q6IHRdqp/6UQAREQAREQAREQAREQAQiUc5FplWX6VZrZ89glG6+QsbZpXtOeu3rTlG1f1LFVyn2lu0NzqHR5qjUREAEREAEREAEREAEREAEREIHKSqBc12SaPLXQFjurfn6FfEdeZZ2SK2/ci1w5rzz3V/hGDVSTaeVR15VEQAREQAREQAREQAREQAREQATKO4FUNZnKtTxTr04tW+zeLbbYyvUwyvvcKpf9Z84wd5hDChEQAREQAREQAREQAREQAREQAREQgeUnUK7T5QoKCqxBvdpWOGOWLSqiSLQKRS//lKgMLTiJyemSzB3mkEIEREAEREAEREAEREAEREAEREAEKDihvQAAIABJREFURGD5CZT7FTYigdKdln8iqAUREAEREAEREAEREAEREAEREAEREAERWB4CyjNbHno6VwREQAREQAREQAREQAREQAREQAREQAREwBOQyKSJIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIisNwEJDItN0I1IAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIJFJc0AEREAEREAEREAEREAEREAEREAEREAERGC5CUhkWm6EakAEREAEREAEREAEREAEREAEREAEREAEREAik+aACIiACIiACIiACIiACIiACIiACIiACIjAchMoWO4WSqGBYcOGlUIrakIEREAEREAEREAEREAEREAEREAEREAERGBVESgTIlPr1q1X1fh1XREQAREQAREQAREQAREQAREQAREQAREQgRwIpDILKV0uB4g6VAREQAREQAREQAREQAREQAREQAREQAREIDkBiUzJuWirCIiACIiACIiACIiACIiACIiACIiACIhADgQkMuUAS4eKgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAgkJyCRKTkXbRUBERABERABERABERABERABERABERABEciBgESmHGDpUBEQAREQAREQAREQAREQAREQAREQAREQgeQEJDIl56KtIiACIiACIiACIiACIiACIiACIiACIiACORCQyJQDLB0qAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiKQnIBEpuRctFUEREAEREAEREAEREAEREAEREAEREAERCAHAgU5HFsmD124cKEVzphtRUWLV1r/qlTJs3p1alpBQbnHt9KY6UIiIAIiIAIiIAIiIAIiIAIiIAIiIAIVm0C5VkkQmKYWzrL8KoutwH1WViwqMn/dBvVqSWhaWdB1HREQAREQAREQAREQAREQAREQAREQgTJNoFynyxXOKBaY8mzlCUzczXxHLc+KnINqVpm+ueqcCIiACIiACIiACIiACIiACIiACIiACKwsAuVaZCpyjqKVLTCFG4PQxPUVIlARCeAS3HrrrW3s2LEph/fNN9/YgQcemHJ/Rd4xbdo0O/fcc23nnXe2o48+2hYtWlThhluR7u/xxx9v77zzToW7R2VhQBVpniwPz969e9v111+/PE3oXBEQAREQAREQARGoEATKtchUIe6ABiECK4nADz/8YO3bt08rHK2krpTpy4wfP94uu+yytH184oknrEqVKvbee+8Zi8v8/Py0x2ez85lnnjHEkGhMnjzZi31PPvlkie3vv/9+QuB7+OGH7d57783mEqV6DAIjfYt+zj///FK7xrfffmsnn3xyqbVXmg298cYbNmDAgJRNIs4GLttuu60dcMABdt1119m4ceNSnsOOWbNm2X777WeTJk1Ke9zK3Mncu/TSS1fmJVf6tU488cQVes3p06fbnXfeafvuu6/tuOOOdsIJJ9h3331X4pqff/65dezY0bbbbjsvXH///fc57Q8Hz507159/5pln+k2LFy/2z9Hb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KA0Cee6ve4tLo6FlaQOLOmkNLBSXJSZOLrSCKqVbL+mk7v/f3lmAWVV1YXgBQ8fQIA2CNBjYLYrYioqJgajYidiFHSh2Fyhi1293ISqNdEpIp3T9593jHs4c7rkzw8zAzPAtnvsw98SO95y7793fXmudUXb1ifWz5L20bkNRq1YldUuarnNEQASSEMADiIl8oseqcxpeA4gNybypkhSvXduAAF5zJG7GW0O27QngyYaQgZdRnLcdohReOnzWcssy+2znVj0qJyOBzp07O1EsJ095FFMREAEREAEREAERCBMgSoTFuaindKELl8uNyx4sZspEQAS2MQGfvDiuGZntjztP27cNAV2vbcM9rlZEJryZ4gQmzuvUqZMNHjzYee3kpuleyE2amZeFVyqhqFxvmQiIgAiIgAiIgAjkNQGJTHlNWOWLgAiIgAiIQD4ggPcweaRIAo/IhHdLMiMMlFDW3PRkSlaf9uUNAcKaCQfMbi63vGmNShUBERABERABESjsBAp4Tqbcdzl6tUerbFzz3K8/G5XrUBEQAREQARHIMgESTSMskSj91ltvTU/Gn6wAwlZlBZsAue1kIiACIiACIiACIrC1CBTonEwLFi2xjcFjr4ttA3+s9UEqqCJB0uIqlZSTaWvdrKpHBERABERABERABERABERABERABERg2xMolDmZUsuXtY1WJHhtXZWJ+qiX+mUiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAJmBTpcjsdwV0otZ0uWLbf1G4oE15NXXlsgMQWaFvVSv0wEREAEREAEREAEREAEREAEREAEREAERKCAi0xcQIQehazpVhYBERABERABERABERABERABERABERCBbUtg68aZbdu+qnYREAEREAEREAEREAEREAEREAEREAEREIE8IiCRKY/AqlgREAEREAEREAEREAEREAEREAEREAER2J4ISGTanq62+ioCIiACIiACIiACIiACIiACIiACIiACeURAIlMegVWxIiACIiACIiACIiACIiACIiACIiACIrA9EZDItD1dbfVVBERABERABERABERABERABERABERABPKIQEoelZutYidPnpyt43WwCIiACIiACIiACIiACIiACIiACIiACIhA/iKQL0SmRo0a5S8qao0IiIAIiIAIiIAIiIAIiIAIiIAIiIAIiEBCAnHOQgqXS4hLG0VABERABERABERABERABERABERABERABLJDQCJTdmjpWBEQAREQAREQAREQAREQAREQAREQAREQgYQEJDIlxKKNIiACIiACIiACIiACIiACIiACIiACIiAC2SEgkSk7tHSsCIiACIiACIiACIiACIiACIiACIiACIhAQgISmRJi0UYREAEREAEREAEREAEREAEREAEREAEREIHsEJDIlB1aOlYEREAEREAEREAEREAEREAEREAEREAERCAhAYlMCbFoowiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIQHYISGTKDi0dKwIiIAIiIAIiIAIiIAIiIAIiIAIiIAIikJBASsKtBWjjunXrbMmyFbZhw8YC0eqiRYtYavkylpJS4NEXCN5qpAiIgAiIgAiIgAiIgAiIgAiIgAiIwNYhUKCVDgSmRUuWW7GiGy0leBUEW7/BXJsrpZaV0FQQLpjaKAIiIAIiIAIiIAIiIAIiIAIiIAIikCUCBTpcbsmyNIGpiBUMgYkrUiwgXsQ2BN5Xy7N0gXSQCIiACIiACIiACIiACIiACIiACIiACBQEAgVaZNoQeAUVJIHJ3xAITbRdJgL5lQBegu3atbNZs2bFNnHQoEF29NFHx+4vzDsWL15sl19+ue2///526qmn2vr16wtzd9W3fEBgxYoV7jM5f/78fNCawtGE/ML0p59+shNPPLFwQFUvREAEREAEREAEtnsCBVpk2u6vngCIQDYIDB482HbfffekwlE2iiu0h86ePdt69uyZtH99+/a1okWL2ldffWVPPfWUFStWLOnxWdnZv39/O/PMMzMcumDBAics9OvXL8P2r7/+Ol3ge/755+3RRx/NShVb5RiER9ocfl155ZWb1X3hhRfanXfeudn2jz/+OP3cfffd10444QTHeNWqVZsd6zdk5Zxk7UJMjbaZ91xnLFz+XnvtZccee6xjjkiRV/bJJ5/YgAED8qr42HKj9S5fvtyOOOKIXBG37rjjDps4cWJ63blZdmyH8sGO6Gc0yiEfNFFNEAEREAEREAEREIFcI1CgczLlhMLfc1faeb1H2zu3tLXUststhpwg1LkFjMD7779vNWvWtI8++si6d+9ewFqf981du3atFS9e3H7++WfbuDF5CO7kyZNtzz33tFKlSrlXdo3y8X4KPwBgjz32sN69e9uyZcusfPnyrkjaUqlS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QAREQAREQAREQAQ2ESBKBA/taJ7SQufJpIsuAiJQOAgkSvgb7llm+wsHBfVCBERgaxD49ddfrXXr1ob3kzc8FPHi9E/v2xrtUB0iIAIiIAIiIAIiUNAJFLqcTAX9gqj9IiACIiACIiACW5cAHtXDhw9PD2sknxyhkCS832uvvbZuY1SbCIiACIiACIiACBRgAgXck2mbRfrlwiUvyG3Phe6rCBEQAREQARHIJwQQkkg8Tu6rlStXOrdvvJrI2cXDE2QiIAIiIAIiIAIiIAJZI1CgczItWLTENm7YECT4zlpn88tR64M0UkWChKJVKiknU365JmqHCIiACIiACIiACIiACIiACIiACIhA1gjE5WQqYPJMxs6mli9rG4Mnw220gtMN2kqbabtMBERABERABERABERABERABERABERABAoLgQIdLscjhSullrMly5bb+g1FgmvCKz9bIDEFehhtpu0yERABERABERABERABERABERABERABESgsBAq80oFYo7CzwnI7qh8iIAIiIAIiIAIiIAIiIAIiIAIiIAIFlUDBiTMrqITVbhEQAREQAREQAREQAREQAREQAREQARHYDghIZNoOLrK6KAIiIAIiIAIiIAIiIAIiIAIiIAIiIAJ5TUAiU14TVvkiIAIiIAIiIAIiIAIiIAIiIAIiIAIisB0QkMi0HVxkdVEEREAEREAEREAEREAEREAEREAEREAE8pqARKa8JqzyRUAEREAEREAEREAEREAEREAEREAERGA7ICCRaTu4yOqiCIiACIiACIiACIiACIiACIiACIiACOQ1gZS8riAr5U+ePDkrh+kYERABERABERABERABERABERABERABERCBfEogX4hMjRo1yqd41CwREAEREAEREAEREAEREAEREAEREAEREIEwgThnIYXL6T4RAREQAREQAREQAREQAREQAREQAREQARHIMQGJTDlGqAJEQAREQAREQAREQAREQAREQAREQAREQAQkMukeEAEREAEREAEREAEREAEREAEREAEREAERyDEBiUw5RqgCREAEREAEREAEREAEREAEREAEREAEREAEJDLpHhABERABERABERABERABERABERABERABEcgxAYlMOUaoAkRABERABERABERABERABERABERABERABCQy6R4QAREQAREQAREQAREQAREQAREQAREQARHIMQGJTDlGqAJEQAREQAREQAREQAREQAREQAREQAREQARSCjqCdevW2ZJlK2zDho1brStFixax1PJlLCWlwOPbasxUkQiIgAiIgAiIgAiIgAiIgAiIgAiIQOEmUKBVEgSmRUuWW7GiGy0leG0tW7/BXL2VUstKaNpa0FWPCIiACIiACIiACIiACIiACIiACIhAviZQoMPllixLE5iK2NYTmLiaxQJqRWxD4EG1PF9fXDVOBERABERABERABERABERABERABERABLYWgQItMm0IPIq2tsDkLwxCE/XLRKAwEsBLsF27djZr1qzY7g0aNMiOPvro2P2FecfixYvt8ssvt/33399OPfVUW79+fWHu7nbRt6zc89sFCHVSBERABERABERABERABHJAoECLTDnot04Vge2OwODBg2333XdPKhxtd1ASdHj27NnWs2fPBHs2berbt68VLVrUvvrqK3vqqaesWLFiSY/Pys7+/fvbmWeemeHQBQsWOLGvX79+GbZ//fXX6QLf888/b48++mhsFR9//LErI/oaPXq0/f7773bOOefEnouI6M877LDD7JJLLrFhw4bFHp/VHVlhnNWyOO6OO+6wiRMnZueUbB/7888/21lnnWX77beftW/f3i644AIbPnx4lsvhXJkIiIAIiIAIiIAIiIAIFHYCEpkK+xVW/0TgPwLvv/++1axZ0z766CMxSUBg7dq1bitiwsaNyUNwJ0+ebHvuuaeVKlXKKleunKC05JsoH8+ZsO2xxx42btw4W7ZsWfpm2lKpUiX74YcfMhz7xx9/GMdju+22m+21115JK2zWrJkhTIVfO+20k9WvXz9Tb7SHHnrIvv/+e3vhhResSZMmdumll9rMmTMT1ucZJtwZ2pgVxpmV4fdTJ2JZXtq0adPsuuuuc6wGDBhgzz77rB1xxBFWsWLFLFU7derUWGZZKkAHiYAIiIAIiIAIiIAIiEABISCRqYBcKDVTBHJCYOnSpU4ouOaaa+zDDz/cLLwLL5CuXbs6seL44493x+KpE7ZvvvnG7dt7772d98v06dNjmzRv3jy7+uqr7aCDDrIDDjjAzjvvPGOijd1+++3O+ydsTNpvvvnm9E149HzyySfWvXt3VyeTe9rt7aeffrIrr7zSnnnmGTvttNPs0EMPde/x/PGG+PDII49Yhw4dXJu7detm48ePz1DGtdde64SXY4891okG1NmnTx/78ccfnbdK1MuHMqln4MCB9uSTT7pjOBbDq4Xjqatjx46ubRtCMbX0aejQoc5L6sADD7S33347vS38seOOO1qVKlUMjzNv9POMM86wUaNG2ZIlS9K3//nnn07kwqj/22+/Td+X6A+ehIkgEn6xDR54UCWzEiVKWLly5ZwgRd932GEHQ+TC8KDifPrKNbjxxhvd9mTskzF+77337JhjjnHeQlx7f8/49rGf+4H79LjjjnPtOPvss23OnDnu+nI9vvvuO3f43Llz7aqrrrJ9993X3T8vvfRSBvEwK/e8r3fs2LFWu3Zt69y5s/u/cePGdsIJJzgm3vDw4hrvs88+dsopp6TfFxMmTLCLLrrIXT/ax2vhwoW58jlIr1x/iIAIiIAIiIAIiIAIiEA+IVCgny6XiOHFj4+xsw+rZXs2S82wu8fz4+3oPavZyjXr7YcRi6x6xRI2bc5KW7F6g11ybF1r26i8O37OojX20DtTbeGydbY+mCDu06KidTuijhUtkqg2bROBgkHg008/tZYtWzrRB2Hg119/dfmEMPIJ9ejRw03cEWWYDN95550ZJuQzZsywm266yb0OOeQQY9J96623WpEiiT8YlIPXFPXisTNkyBAnTmTHEJ6ee+45dx71XXjhhda0aVPDKwfDG6ZFixZO5KCOu+66y+6++27r3bu32//000+70C7KQLzBg4twrw8++MDKli3rjkG8WbNmjb366quWmprqhLX58+cboWQPPPCAOyZsxYsXd/zw5oEfYgKGaHDFFVfYZZddZk888YQRDoZohqdTWKgirItz77333mjR7j3hjAhIXCfvocPxv/zyi+vvUUcdZQh4eNZ4T6aEBeXhRq55WDx7/fXX7fDDD7f//e9/Bh8sGXsEn0SMEe4IQ8Rzqm7duvbOO+84pm+99ZaVLFnS9R+23Hdt2rRxImeDBg3sjTfecMIenlaIP94Q89jeq1cvVx+CIiJbp06dsnTPhxFy35GfDFEOD7CokaOL8m+55RYn/iE48pl6+eWXnfcX9xICHUJtdi2zz0F2y9PxIiACIiACIiACIiACIpCXBAqdJ1P96qVtxvxVjtmS5ets1Zq07NzT5622etVLWUqxIjZkwlLr2K6qPXpRMydIPfzOtGBCnYb59W9nWbudKtiLV7ewF65q6c6fMS+tvLy8ECpbBPKSAKFyCBQYXja894aosWjRIjcJRmipV6+eE0LCIWMINOTmwcsEgYYQLTw54gwRAsGmTJkyVqFCBSeaIBRkx/Au8sIUwhKeRniyeMPD5txzz3Vv8cohETeePwgKCDRvvvmmm+gjRJQvX955BPE3OYq84fmEMEBIWtRzKzttpV0IHyeeeKLz+kHsQHRAvAobwhAeP9SVqD4ECq4HhkcToXi0GW8w7zGF9w5CB23OqiGacQ38Cy+g7NqKFSvstddes3/++SddoKQMhDTuF64vfcoq+2j9CEznn3++ExK5b8hhtHz5chs5cqQ7lLxUXbp0cX2AS9u2bd39msgQF7mnyZvE9YAhXkiff/65Ozwr93y4XM6//vrrnUfSDTfckMHbjOPeffdd553GCx5cRwQuvORyapl9DnJavs4XAREQAREQAREQAREQgdwkUOg8mRCSZs5fbavXbrCuD/9lHXarYmccUtMW/7vW6lQtZZP+WWG1qpSy5vXSPBnweLq97ySbv3SNVUsNwkJKp9jvY5dYqwblrWmdMnb58fVyk7fKEoGtTmDEiBEuHwxhOhhiDR4WiDFVq1Z1HiENGzbMIAIxqQ4bx3gPIr+dc+IMjx5C8/D0Ofnkk124EpPv7FitWrUyHN6oUaP0UCh2VKtWLd1zhvcID4gOeF0hTuChhGARtubNm9ukSZPSN9WoUcOVk1ObMmXKZnXBi/xKnjN1tGrVKmlViBOEE+IZg+cOYWMYXlMk+EbAQSCJ82JCMPPhYghT99xzjzsf0QsPIW+JBK70nZE/EFWw1atX26677uo8w8LM8JALe7Th8ZMV9tH6yHOFBx2eR94QKwl7wwidi4YvRsvw77ke3PMIPd4QTb1omZV7Plo2AiufIbzz8ExCuOR/7jvqIwk8+8L1cUxOLbPPQU7L1/kiIAIiIAIiIAIiIAIikJsECqXINGzSMuPVfpfKNnzyMjugdSWrXbWkFU8p4thVKLPpSVB4NpUqUdT+Xbk+EJnMzulQy/p/N9t6v0vI3Fo7PBCpCJfjOJkIFEQCeC0hEBDS5I0QObyTyMOE4QkUtqggxAQ9ekwyzyTy1hDGRggU3i94oRD2g6iTyBAlohbdRkhcWMygT1HzybQRY7BoAu/o+2R9iJad7H20rXHHZlYf4g0CH+GFJLMmrxXGNkL+2M4r7ul3hJfhvYOVLl06vRl4fUXFirg2RrdTF+JXnLdXtE9ZZR+tB0EJIcwLa4n2R7fFvef+RlDk3ouz6P0cvecTnYeH1UknneS8+BBRuacR4ajv9NNPd+F9ObFE91F0W/RzkJP6dK4IiIAIiIAIiIAIiIAI5DaBIsEP2OSPUcrtGkPl8cOcVW+ZCIiACGwtAggu0Yn71qpb9YiACIiACIiACIhAXhHQb5y8IqtyRUAE4giwkF2s2CYnHo7LF55MJAiWiYAIiIAIiIAIiIAIiIAIiIAIiIAIiIAI5H8CPOwokRW6xN+JOqltIiACIiACIiACIiACIiACIiACIiACIiACeUtAIlPe8lXpIiACIiACIiACIiACIiACIiACIiACIrBdEJDItF1cZnVSBERABERABERABERABERABERABERABPKWgESmvOWr0kVABERABERABERABERABERABERABERguyAgkWm7uMzqpAiIgAiIgAiIgAiIgAiIgAiIgAiIgAjkLQGJTHnLV6WLgAiIgAiIgAiIgAiIQIEj8MMPP9j//ve/bLc77rzJkyfb008/ne3ykp1AeZQr23IC7XsM3PKT8/mZVz092kZMXprPW5l/mzdz5kx77LHH8m8D1bJ8SyAl37ZMDRMBERABERABERABERCBbUzg33//tVtuucXKli1r69evt5IlS1rr1q3tiCOOsDJlymTaujFjxljjxo2tePHimR67tQ946aWXrH379la/fv2tXfUW1ZdXLOcsWm0vfva3/TFusS1ftd4qlituHXarZt2OrLdF7fQn/TZmse3SuIKVLJ576/qL/11rx97yh6WWTbufqqYWt7MOq2MH71w1R23dmic/8u5k++z3uQGXYrZm3QbbcYcy1iXow94tKmXajFVrNtjwQDjas1nFTI/Nbwfcf//9ds4551iNGjVy1LQ1a9Y4cbVZs2Y5Kie3TuYx9kWKFMlRv/7++2/75JNPjLJKlChhhx12mO25556uicuWLbPXX3/dZsyYYeXLl7dTTz3VjVnr1q2zr776yn7//XfbsGGD1a5d2+2rUKGCLV261D7++GMbO3aspaSkWKtWraxTp06unVHbuHGjvffeezZs2DArVqyYdezY0fbaay932BdffGFff/21FS2a9hlu0KCBXXTRRdEi3Ptp06bZm2++6dpbpxc+y64AACAASURBVE4dO+OMM1x7Kf/aa6917fDWrVs3a9KkSYZykrV53Lhx9tlnn9nChQvdd8mBBx5oBxxwQMJ2+I0ffPCBTZgwwXr06JHhOFj16dPH6MsJJ5yQtIwt3SmRaUvJbeF585essVtfGWcLlq6xrkfUtcPbVd/CkgruaayYfPPg3gW3AzEtj17bPu9NtY967W4pxTYfzGKK0GYREAEREAEREIF8SKBcuXLWq1cv17JFixa5H/t40VxxxRUZJg6Jms6x3bt3zzORCeGLidGWGAJTzZo1t+TUbXJOXrCcu3iNdX90hB2/7w524dENrEqF4sY2fqvn1BCuendvkasiE22qFIhgHwa/MbGRU5ZZz+fHWPN65a1m5ZI5bfJWO//iYxsEzGva6rUbnLj3wIBJdtnxDeyQXZKLZUMmLLE/xy8ukCJTbsFFOBg/fny+EZkQeRo2bJgjkemff/6xI4880gkfixcvtt69eztxvkqVKvbhhx+68i+88EInrr322mt244032qpVq9y42rNnTytVqpQTqfC+PO2002z+/PnWtGlTJzoxRr7wwgv2559/2u67p31uwtfit99+s3nz5tltt91mK1ascAIMItYOO+xgLDJ06dLF2rRpk/TyIdzQrlNOOcWJR99++629//77dtZZZ9ny5csdm+uuuy5pGcnajABFXxivEbEeeeQRx6dWrVoJy5wyZYoT7BLZd99953jlpRUKkens+4fZxoDSaz13zsCKL4eT7hhsR+1Z3a7tvGOecRzw/axAPd1opx1SO9M63v3pH9u3VWU7o31tC07ZZvbjiAV2QJsqrv4xf/9rfb+aYfeclz/U8C2FEu5TtIxbXh5nHdpVs/1bV07fNW3OCrvppXHW74ZdAoXZ7PlPp7lVlZWrN7gv6Ss6NQxWn1KN1ZZPB8214imbVqGevaq11a1WOkM10WuLyCQTAREQAREQAREoXAQqVarkJjGPPvqoDR061E1amIj079/f5s6d61bXWWU+6KCD3OSIkJMnnnjCrWizAs5qN5MPJh6sqp900km20047bQbprrvusl122cWmT5/ujm3Xrp0rF0PgYhWbVXYmCxdffLHNmTPH3nnnHVuwYIGVLl3ardrvuOOO9u6777qJGu3B1q5da3fccYebpH366ad2+OGHW6NGjdzKP31gspeamuomWXhtYazE4zHwxx9/uPeHHHKI7b132oJhsvPcwSGj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SxrOQsWLF08YMrfNRSYe246whCeTBCbdwyIgAiIgAiIgAiIgAiIgAiIgAiIgAiKQPwkgNKWkpBj/JwqXS9nWzfYJo3zjEJ1kIiACIiACIiACh5VWxgAAAWlJREFUIiACIiACIiACIiACIiAC+YeA120QmOJsm4tMvmHJGhnXeG0XAREQAREQAREQAREQAREQAREQAREQARHIHwTi5af80T61QgREQAREQAREQAREQAREQAREQAREQAREoAAQkMhUAC6SmigCIiACIiACIiACIiACIiACIiACIiAC+Z2ARKb8foXUPhEQAREQAREQAREQAREQAREQAREQAREoAAQkMhWAi6QmioAIiIAIiIAIiIAIiIAIiIAIiIAIiEB+JyCRKb9fIbVPBERABERABERABERABERABERABERABAoAAYlMBeAiqYkiIAIiIAIiIAIiIAIiIAIiIAIiIAIikN8JSGTK71dI7RMBERABERABERABERABERABERABERCBAkBAIlMBuEhqogiIgAiIgAiIgAiIgAiIgAiIgAiIgAjkdwISmfL7FVL7REAEREAEREAEREAEREAEREAEREAERKAAEPg/ED/7VGyp/GQAAAAASUVORK5CYII=" /></span></p></div>vvkhttp://www.blogger.com/profile/11515486357843895460noreply@blogger.com0tag:blogger.com,1999:blog-5427062714664433789.post-34719474303047641342021-12-06T06:20:00.001-08:002021-12-06T06:20:22.058-08:00<p> <img alt="" draggable="true" src="blob:https://web.telegram.org/d3c73687-e4ba-4859-a060-d3a095ab0b9e" style="width: 640px;" />vmware-usbarbitrator</p><p><img alt="" draggable="true" src="blob:https://web.telegram.org/d3c73687-e4ba-4859-a060-d3a095ab0b9e" style="width: 640px;" /><img alt="" draggable="true" src="blob:https://web.telegram.org/d3c73687-e4ba-4859-a060-d3a095ab0b9e" style="width: 640px;" /><img alt="" draggable="true" src="blob:https://web.telegram.org/d3c73687-e4ba-4859-a060-d3a095ab0b9e" style="width: 640px;" /><img alt="" draggable="true" src="blob:https://web.telegram.org/d3c73687-e4ba-4859-a060-d3a095ab0b9e" style="width: 640px;" /> </p><p> </p><p> <img alt="" draggable="true" src="blob:https://web.telegram.org/d3c73687-e4ba-4859-a060-d3a095ab0b9e" style="width: 640px;" />vmware-usbarbitrator - это та самая тулза, запуск которой позволит вам увидеть в #gentoo подключенную #usb флашку.</p><p>Без этого демона никакой флешки в removable devices не будет. </p><p><br /></p><p>как-то так</p><p><br /></p><p> </p>vvkhttp://www.blogger.com/profile/11515486357843895460noreply@blogger.com0tag:blogger.com,1999:blog-5427062714664433789.post-66737796616037034352021-01-20T03:07:00.004-08:002021-02-27T03:27:03.740-08:00Snort3<p> Вышел снорт3, порт снорта2, написанного на С, порт на С++.</p><p>Вижу в коде совершенно неприемлемые для разработчика с любым стажем неловкости портирования.</p><p>Пример: во втором снорте часто используются связанные списки для хранения данных.</p><p>Для поиска в этих списках само собой приходится итерировать по списку.</p><p>В стандартной библиотеке плюсов из коробки есть варианты хранения данные в ассоциативных контейнерах. Сравнительно мгновенное время поиска и в данном случае незначительный рост трат памяти и ресурсов на хранение/модификацию хранимого плюс удобство кодера, казалось бы, должны перевесить. Просто здравый смысл в выборе типа контейнера дал бы мап, хешед мап. </p><p>Но нет. Осуществлен пословный перевод с С на С++. Более того. Выбран худший контейнер. Вместо связанного списка задействовали вектор. std::vector<>. Так и вижу этот разговор между сеньором и джуном:</p><p>Джун: </p><p>-вижу в снорте2 связанный список. модифицируется изредка. Для поиска пробегается весь список. На что меняем в снорте3 - на очередь и так же будем бегать?</p><p>Сеньор:</p><p>-совсем больной? какая очередь?</p><p>-ну а на что тогда?</p><p>-ну если совсем идей нет то попробуй вектор</p><p>-нет проблем</p><p></p><p><img alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABBsAAADuCAYAAAB4Ug99AAAABHNCSVQICAgIfAhkiAAAIABJREFUeF7snQd4VFUThr/0CqRQAiT0LtKbSrX8gihIERQs2LGhKBZQqqCIKCJiQbCBHRSRIoLSRUGKotJbIJBASCjp9Z85yy6p7CYsISTf+Kxs7qn3vXfPvWfOzByXTBEUAwmPiEK1qpWKtCf7DxxEVFQUWjRvBjc3N2z751+4ubrhyiuvMP3Yt/8ATkSfQIsWlvR9+/bj2PHjaNe2TZH2k42RAAmQAAmQAAmQAAmQAAmQAAmQwOVEwPVy6qyz+xp9PBphoaHw9PQ0yoY6tWsh6tgxZGRkmKbi4+IRGBhg0lSCg4MRJ8coJEACJEACJEACJEACJEACJEACJEAC+RMo1coGxZLVsMPd3d38nZiYaIhVqFge0SdOICUlxfwdFXUMFSqUN98pJEACJEACJEACJEACJEACJEACJEACeRNwz/tw6ThaXhQHhw5HoHz58nB3dzNuEyoZGRbPkpBKlRB9/ARWr1lnrBs8PDzQUlwqKCRAAiRAAiRAAiRAAiRAAiRAAiRAAvkTKNXKhurVwozVwsaNf8JNrBpq1KiOiIgjcPewYNm5azdS01LRuVMHUUa4m7RNm7bgqqva2lwr8kfLFBIgARIgARIgARIgARIgARIgARIonQRKtbLB1dUV9erWQf16dc3Vj42NNfEbfLy9zd/HJaZDnTq1jKJBpWrVKvhv+w7ExyegbNky5hiFBEiABEiABEiABEiABEiABEiABEggO4FSHbPhYHg4Nm3eivT0dGPhsHvPXoSFhdoIqULh+LFoW1wHjdmg7hS+vj68j0iABEiABEiABEiABEiABEiABEiABPIh4FKat75UJcN//+3AiZgYg6dK5cqoW7c2XFxczN+qgNi5czdOnjpljnl6eqBundqyQ0VgPjh5mARIgARIgARIgARIgARIgARIgARIoFQrG3j5SYAESIAESIAESIAESIAESIAESIAEnE+gVLtROB8nayQBEiABEiABEiABEiABEiABEiABEqCygfcACZAACZAACZAACZAACZAACZAACZCAUwlQ2eBUnKyMBEiABEiABEiABEiABEiABEiABEiAygbeAyRAAiRAAiRAAiRAAiRAAiRAAiRAAk4lQGWDU3GyMhIgARIgARIg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e/s/YBr3b9sSFe4b6NSOtGze3GxXqr79BZEKj9xrglWe/GExPEOrotLQRxAxaiKiZ86RoI93oly36xC39nfsv+cxuIsrSJku7XF6aXaFQ9BtPXFkwpvYeW0vCYTpiwoPD0K57jeYbpzv3HW7yJfGvIzPZn8BH18fPP7oYOyWyXVncR14dfxYdJSYBfakZo3qsgPKP3j7nfeQKFY2o18ajqpVqtgrli09TrZ/zDmJt1eBxlboerNl5w/djSIpORntOnQxxTQgZKWKlcz3MGF68619oVYN113bGd273WivapOusRqUwdBhz4slUbyE+nDHvXffmSuQZajUX0fcUNpc1RHeotga8fyz4oZyk0NtWDNt2rwVvXv1LFAZZiYBEiABEiABEiABEiABEnA+ARcx2850frUFrzE8IgrVqlomNQUvzRIliYDucjB12nv4aeH3Bd6R4nLlsGz5r2bryaWLHN89o6jOVS0ZWrZrj/Wrf82lICiqPjjSzrr1v+OZ54Zj5bIl8D67na0j5ZiHBEiABEiABEiABEiABEjA+QRKtRuF83GyRmcQuKnrjfCRle153xe/ibczzi+/OoqJ3i+/7iFT/iuuosEop0x9B48+/CAVDcX1IrFfJEACJEACJEACJEACpYoAlQ2l6nJfHifrKjEX3pz0Kt6cOs24vVBIwB6B6e/NMIFd7xp4h72sTCcBEiABEiABEiABEiABEigCAnSjKALIbIIESIAESIAESIAESIAESIAESIAEShMBWjaUpqvNcyUBEiABEiABEiABEiABEiABEiCBIiBAZUMRQGYTJEACJEACJEACJEACJEACJEACJFCaCFDZUJquNs+VBEiABEiABEiABEiABEiABEiABIqAAJUNRQCZTZAACZAACZAACZAACZAACZAACZBAaSJAZUNputo8VxIgARIgARIgARIgARIgARIgARIoAgJUNhQBZDZBAiRAAiRAAiRAAiRAAiRAAiRAAqWJAJUNpelq81xJgARIgARIgARIgARIgARIgARIoAgIUNlQBJDZBAmQAAmQAAmQAAmQAAmQAAmQAAmUJgJUNpSmq81zJQESIAESIAESIAESIAESIAESIIEiIOBeBG1c8ibS09Ox/vcNqFq1CmrWqJ6tP3v27EXEkaPIyMhAQEA5NGrYEF5enrY8mn7kqKZnwt/fHw3q1zX/lnQ5ejQSjzzxFI4dOw4PTw8sW7wAnp7nuJT08+f5kQAJkAAJkAAJkAAJkAAJkAAJFJ5AiVY2ZGZm4tTp09i1azdSU1NzUYqIOILIqGNo06YVvGQivWPnLvy3fTuaN2tq8oaHH8Kx49Fo26aNTLQ9oIqHbf/8h6vatclVV0k7MPe7+QipVBHz535V0k6N50MCJEACJEACJEACJEACJEACJHCRCZRoN4r9+w9g9649CAsLRWBgQC6URyOjUL1aGHy8veHq6oo6tWshOvoEUlJSTF4fHx80bFDPWDq4uLggJCQEcXFxUCVGSZe4+HhzvhQSIAESIAESIAESIAESIAESIJUy11oAACAASURBVAESKCiBEm3ZUKtWTehHJUosGHJKQkK8uETUsB1WNwEPDw/EJyQYl4EKFcpnK3Ls2DEEBgQYxUNJF1WolIbzLOnXkedHAiRAAiRAAiRAAiRAAiRAApeCQIm2bLAHND09Qywa3Iz7xMpVa0x2NzdXZMjxnHI0MhKHDkegYcP6OZNK3N9RolRZs+431K9Xt8SdG0+IBEiABEiABEiABEiABEiABEjg4hMo1coGVSykpaUZF4uqVSob2qmpaXCV41ll/4GD2LN7L1q2aA4/P7+Lf1UuYQtr1q5D+843oHGjRri9X99L2BM2TQIkQAIkQAIkQAIkQAIkQAIkcLkSKNXKBj8/f8TFx6FSxYqoW7cOkpKSoDtX+GdRKOzevUdcMKIkiGRrlClT8neh6ND+Gvz682L8uWkzli5bfrne1+w3CZAACZAACZAACZAACZAACZDAJSRQqpUNVaqEyI4Th5GYmGiUDHv27EPFihVM3AYV3f5Rd6tQi4as22FewutVJE2HhVbFtV06YcPGTUXSHhshARIgARIgARIgARIgARIgARIoWQRKdIDIAwfDcUBcIFTUXSImJhYH5VhQYCCaNGmMyrLbQkJCoplUq7IhODgIjRo2sF3hg+HhZmeKdb/9nu2qt2rZXAJLlmwrB3d3dyQnJ5esu51nQwIkQAIkQAIkQAIkQAIkQAIkUCQESrSyoUb1atDP+aS27Fahn7ykXds2eR0uFce4E0WpuMw8SRIgARIgARIgARIgARIgARK4KARKtRvFRSFaQiqtJO4kahWiW2BSSIAESIAESIAESIAESIAESIAESKAgBKhsKAitUpS3b+9bjetJu/ZdzO4U6k5CIQESIAESIAESIAESIAESIAESIAFHCLjIynWxWLoOj4hCtaqVHOkz85AACZAACZAACZAACZAACZAACZAACRRjArRsKMYXh10jARIgARIgARIgARIgARIgARIggcuRAJUNl+NVY59JgARIgARIgARIgARIgARIgARIoBgToLKhGF8cdo0ESIAESIAESIAESIAESIAESIAELkcCVDZcjleNfSYBEiABEiABEiABEiABEiABEiCBYkyAyoZifHHYNRIgARIgARIgARIgARIgARIgARK4HAlQ2XA5XjX2mQRIgARIgARIgARIgARIgARIgASKMQEqG4rxxWHXSIAESIAESIAESIAESIAESIAESOByJEBlw+V41dhnEiABEiABEiABEiABEiABEiABEijGBKhsKMYXh10jARIgARIgARIgARIgARIgARIggcuRQKlQNqSnp2PtuvXYf+Bgrmu0Z89erFq9FitWrsaWrX8hOTnFliczMxO7du3B6jVrsXLVGvz552bExcXlqoMHnE/g4OBhOD7j0zwrPvPrGuzt/wB2dumJXTf0wYnPvs4z3/kODnvhRYweN+F8WQqd1n/gPXhz6rRCl7dX8PsffkTdRk3x56bN9rIWOn36+zPw+JPP5Fv+7vsexOzPv8w3vTgm6DXRa3OxRMeXxs3bQNldLHH2dYmOPoFrOl2PDRv/vFhdZr0kQAIkQAIkQAIkQAKllIB7ST5vVRacOn1aFAa7kZqamutUIyKOIDLqGNq0aQUvT0/s2LkL/23fjubNmpq8Bw6GI/ZkLNq1bQMPDw+oYuLvbf/i6qva5qqLB5xLoPLzQ+Dq55tnpcfe/QiBt/VE0G09AFfRl8l1Loj89PNybNmyFYt+mFeQYg7nnTB2FPz9/R3OX5CMx44fxwcfzoK/n19BihV5Xv3tubi4FHm752twQP9+6NH9pvNlKXRaRkYGhr80GpUqVSx0HUVVMOu1KV8+GC+PHYlnnhuOnxcvgI+PT1F1g+2QAAmQAAmQAAmQAAmUcAIl2rJh//4D2C2WCWFhoQgMDMh1KY9GRqF6tTD4eHvLnNUVdWrXgq70paRYrBv8fH3RoH59eIoiQidOlSpVQkJCQq56eMB5BCInTsXumwdg/31PIHb+omwVR731vklLPRqFE598id097jR/x6393eEO6KRwiqxwP/7oYHjLdc8q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SIAESIAESIAESIAESIAE7BKgssEuImYgARJQAvfdcxeuaNSQMEiABEiABEiABEiABEiABEjALgG6UdhFxAwkQAIkQAIkQAIkQAIkQAIkQAIkQAIFIUDLhoLQYl4SIAESIAESIAESIAESIAESIAESIAG7BKhssIuIGUiABEiABEiABEiABEiABEiABEiABApCgMqGgtBiXhIgARIgARIgARIgARIgARIgARIgAbsEqGywi4gZSIAESIAESIAESIAESIAESIAESIAECkKAyoaC0GJeEiABEiABEiABEiABEiABEiABEiABuwSobLCLiBlIgARIgARIgARIgARIgARIgARIgAQKQoDKhoLQYl4SIAESIAESIAESIAESIAESIAESIAG7BKhssIuIGUiABEiABEiABEiABEiABEiABEiABApCgMqGgtBiXhIgARIgARIgARIgARIgARIgARIgAbsE3O3mKAEZ0tPTsf73DahatQpq1qie7Yz27NmLiCNHkZGRgYCAcmjUsCG8vDxNnsOHI7Bj5y64u5/DpHmaNW1SAqjkfQovjhqLNet+Q1pqGl4a/hxu6nZj3hl5lARIgARIgARIgARIgARIgARIgATyIeCSKZJPWpEeDo+IQrWqlZzapp7aqdOnsWvXbsTHJ6CGKBqyKhsiIo5g/4GDaNmyObw8PY1iITk5Gc2bNTX90LT4uHg0btzIqf26HCpbuHgJpk1/H0sX/XA5dJd9JAESIAESIAESIAESIAESIAESKEYESrQbxf79B7B71x6EhYUiMDAgF/ajkVGoXi0MPt7ecHV1RZ3atRAdfQIpKSkmb1pqKtw9SoXxRy42oVWrGgUNhQRIgARIgARIgARIgARIgARIgAQKSqBEz6Rr1aoJ/ahERR3LxSYhIR7+/jVsxz3FusHDwwPxCQnQ76lpacayQV0wVAHh7++PBvXrws/PL1ddJe+AC4qJ0UvJQ8szIgESIAESIAESIAESIAESIIESTqBEWzbYu3bp6Rli0eBm3CdWrlpjsru5uSJDjqv4i1KhTNkyaNG8Gdpfc5UoG/ywectfJr5DSZdqYWrZEI81a9eV9FPl+ZEACZAACZAACZAACZAACZAACTiZQKlWNqhiIU2sF9TFomqVygZtqgRGdJXjKtXExaJB/XomYKSbmxvq1a1jYjqcORPn5MtQ/KoLCgrC6xMnYPBjT2LY8yOKXwfZIxIgARIgARIgARIgARIgARIggWJLoES7Udij7ufnj7j4OInbUA2VKlZEUlISdOcKtWhQiYmJga989/byMn+rW4F+XFxc7FV92afHiVWD7kwxaeJ43NSVO1Jc9heUJ0ACJEACJEACJEACJEACJEACRUigVFs2VKkSgvDw/7d378FxVucdx3/a1UrWSra8knW3ZFuWbckYmZtNjAUONGQgtFASSJqWNrQpk6SkdBgc2iYhZQiXNE1LElIInXaaaWiZgU7TQklpSgLGEBt7fClQX6SVLMmWdbEkW7K0K2m1Us95BcLSWpHNruS9fJ+ZHXvPvu95z37O/vM+es55jykYDDpJBr+/SYWFBc6+DTba2tp18OAhp/rBLp2ob/DL6/VqkVlakezR1HREaWbTzJtuvCElkivJPp98PwQQQAABBBBAAAEEEEBgPgWSurKhuaVVzebxlTZswqC396RaTFuez6fa2nUqKS5WIBDUrt17nGRDfn6e1tZUT/pXV6/W4cMNevOXO51kQ27uIrN/w8RjMedzki7Etez39aQn9c/jQrByTQQQQAABBBBAAAEEEEAgJQSS+m5y+bIK2devipXmaRX2dbawFQ7r1q0920cp0ZYCq0VSYh75kggggAACCCCAAAIIIIDAfAuk9DKK+cZOpOs1+BtVVFSUSENmrAgggAACCCCAAAIIIIAAAnEikNSVDXFinFDD+OoDD2rb62/Ine7WXz32cEKNncEigAACCCCAAAIIIIAAAgjEh0CaebrCeDwMpbWtUxVl/CU9HuaCMSCAAAIIIIAAAggggAACCCAQjQDLKKLR41wEEEAAAQQQQAABBBBAAAEEEIgQINkQQUIDAggggAACCCCAAAIIIIAAAghEI0CyIRo9zkUAAQQQQAABBBBAAAEEEEAAgQgBkg0RJDQggAACCCCAAAIIIIAAAggggEA0AiQbotHjXAQQQAABBBBAAAEEEEAAAQQQiBAg2RBBQgMCCCCAAAIIIIAAAggggAACCEQjQLIhGj3ORQABBBBAAAEEEEAAAQQQQACBCAGSDREkNCCAAAIIIIAAAggggAACCCCAQDQCJBui0eNcBBBAAAEEEEAAAQQQQAABBBCIEEiPaEnChnA4rB07d6msrFQrli+b8g39/ka1HW/X2NiYFi/O1dqaGmVmZkwe09vbq0OH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" /></p><p><br /></p>vvkhttp://www.blogger.com/profile/11515486357843895460noreply@blogger.com0tag:blogger.com,1999:blog-5427062714664433789.post-84800874322022906312021-01-09T02:41:00.005-08:002021-01-12T00:31:03.361-08:00<p> Gentoo + steam = linux gaming </p><p>Собрал системничек на базе #ксеонов_с_алиэкспресса, добавил видяйку, поставил #генту, #стим, вроде бы бы всё работает, что удивительно. Даже виндовые игры. <br /><br />Железо: <a href="https://aliexpress.ru/item/Kllisre-X79-motherboard-set-with-Xeon-E5-2690-C2-4x8GB-32GB-1600MHz-DDR3-ECC-REG-memory/4000100601715.html">система с алиэкспресса</a> Xeon E5-2690 @ 2.90GHz 32Gb + <a href="https://www.asus.com/ua/Graphics-Cards/ROG-STRIX-GTX1660S-A6G-GAMING/">GeForce GTX 1660 SUPER</a>, ssd на 480гиг и nvme на терабайт. Старый корпус, на всякий случай пару вентиляторов подвесил в корпусе, причем один костылями, с сомнительной необходимостью в этом костылинге.</p><p>Софт: <a href="https://www.gentoo.org/">Linux 5.4.80-gentoo-r1</a> + <a href="https://wiki.gentoo.org/wiki/Steam">steam 1.0.0.67</a> + <a href="https://github.com/GloriousEggroll/proton-ge-custom">Proton</a>. </p><div><div></div></div><p>Можно и без протона, если ограничиться только играми, рассчитанными под SteamOS, это тот же линукс, насколько я понял. ТомбРейдер, например, или BlackMesa имеют версии под линукс=SteamOS. Но после установки этого <a href="https://www.protondb.com/">'compatibility tool=Proton'</a> становятся доступны и виндовые игры. Подробнее статус поддержки игр надо узнавать <a href="https://www.protondb.com/explore">в протондб</a>, например <a href="https://www.protondb.com/app/271590">вот страничка для GTA V</a>.<br />При выбранном протоне на вкладке 'compatability' по шестеренке/properties кнопка install/play становится доступной в вендовых играх:</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIsiKVvPUrz8ug2xBvA6jivhUrbEwf-IUX9GSrTEKpzgY0VvncA_s959MdhPsGRw8JW5m7GqQ4ZdoEUObAGQZ31BBJmmHp6D50JyyM54MO0KbL3kXchuS2UORTmrFlxSjeBSpfb2yTk-k/s1280/WhatsApp+Image+2021-01-09+at+12.51.40.jpeg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="703" data-original-width="1280" height="220" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIsiKVvPUrz8ug2xBvA6jivhUrbEwf-IUX9GSrTEKpzgY0VvncA_s959MdhPsGRw8JW5m7GqQ4ZdoEUObAGQZ31BBJmmHp6D50JyyM54MO0KbL3kXchuS2UORTmrFlxSjeBSpfb2yTk-k/w400-h220/WhatsApp+Image+2021-01-09+at+12.51.40.jpeg" width="400" /></a></div><br /><p>Видеокарта работает под NVIDIA drivers pack #455:</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgI5xu-cKMDS9iujzG7rfBy5UADnR_FtOqDOm9q57f5Ye6VE2mhBBQs6n1OxbSE8t8-5A7IMBudp-scmQAhNFPtF7S3b0KhRnQa8zubcfxvKpeAsLOGLe3Ekoo9rWZ4wAmmu0tU_IFxipg/s542/1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="207" data-original-width="542" height="153" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgI5xu-cKMDS9iujzG7rfBy5UADnR_FtOqDOm9q57f5Ye6VE2mhBBQs6n1OxbSE8t8-5A7IMBudp-scmQAhNFPtF7S3b0KhRnQa8zubcfxvKpeAsLOGLe3Ekoo9rWZ4wAmmu0tU_IFxipg/w400-h153/1.png" width="400" /></a></div>С дровами ещё надо что-то поделать, вручную сейчас скриптом в автостарте local.d модули подгружаю перед стартом иксов, в определенном порядке. Надо бы поизучать проблему, но лень.<br /><p>В библиотеке уже просмотрены, <b>успешно запущены Rise of the Tomb Raider, Serious Sam 2-4, DOOM Eternal,</b> Black Mesa, Euro Truck Simulator 2, <b>GTA 4-5</b>, CS и ещё ряд тайтлов.</p>Собственно, с нерешаемыми проблемами ещё не столкнулся.<br /><p>TombRaider предупреждает при старте о том, что в биосе для цпу не выбран режим perfomance mode, это действительно так, но производительности хватает. По крайней мере, хватает для full HD:</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuTFQBvskH5YIePnrRuvhcJAJ0rsVbLNmyu9FkDbgQuSG0TGFaH2kcg8UwdzscwLzS27b-K__tGjW9la4SGK9OXj6hKh0lHtv9Vk2E6tVNpWmTCaCX04XDVZxflVM9YoTV_ObopFfM9O4/s1280/WhatsApp+Image+2021-01-09+at+12.45.36.jpeg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="960" data-original-width="1280" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuTFQBvskH5YIePnrRuvhcJAJ0rsVbLNmyu9FkDbgQuSG0TGFaH2kcg8UwdzscwLzS27b-K__tGjW9la4SGK9OXj6hKh0lHtv9Vk2E6tVNpWmTCaCX04XDVZxflVM9YoTV_ObopFfM9O4/s320/WhatsApp+Image+2021-01-09+at+12.45.36.jpeg" width="320" /></a></div><br /><p><br /> Проектор не держит 4к, на телевизоре не так интересно играть. Докупил моник фуллхдшный, подключил и моник и проектор к видяйке в режиме копирования экрана, в конфигураторе nvidia-settings это выглядит таким образом: </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgsJvaB-13gRvPt0pVMp0O6x3ryYIsNjkvT8J9QvZWCLqSSMT1Y9WUf9WtdBjIpuWW-crsCoecoQlB2hC1uSGyviNPtYJwlRa-HrUzUrnbf8sMlwAixdfDKQhOLA60KyCRAHEHKzOhmds/s753/2.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="753" data-original-width="673" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgsJvaB-13gRvPt0pVMp0O6x3ryYIsNjkvT8J9QvZWCLqSSMT1Y9WUf9WtdBjIpuWW-crsCoecoQlB2hC1uSGyviNPtYJwlRa-HrUzUrnbf8sMlwAixdfDKQhOLA60KyCRAHEHKzOhmds/s16000/2.png" /></a></div><br /><p><br /> Что пришлось подправить, в принципе больших проблем не было, но упоминуть стоит. <br />1. Вначале хотел сжульничать, запустить на системе простую копию установленной и настроенной системы со старой машины. Выяснилось, что если просто в эту интеловскую систему переткнуть диск/скопировать раздел с системы х64 но под амд, то гипертрединг не будет включаться - в /proc/cpuinfo будет 8 cpu вне зависимости от переключателя в биос. Ядро собрано с -march=native, или же какие-то опции в menuconfig ядра выбраны, результат интересен. </p><p>Не стал разбираться, в чём именно дело, ибо даже с загрузочной флешки отображается всё корректно. <i>Надо просто пересобраться с </i><b style="font-style: italic;">-march=native </b><i>на новой системе.<br /></i><br />2. Подгрузку модулей для nvidia пришлось задавать руками - nvidia.ko, далее nvidia-modeset.ko, потом nvidia-drm.ko. упоминал про это.<br />Ну как бы на этом всё.</p><p>Теперь по софту. Cтим ставил по <a href="https://wiki.gentoo.org/wiki/Steam">гентушному вики</a>. Всё работает.</p><p>Запускаю из консоли, именно через ./steam. Как выяснилось, это дает хороший обьём информации для решения проблем, ибо происходит обильное логирование в stdout/err. </p><p>Создал аккаунт в стиме, вышел из стима, столкнулся с проблемой:<br />при установленной галочке "помнить логин" стим падает при запуске.</p><p><i> Надо снять эту галочку, вводить пароль при каждом старте стима.</i><br />Для удаления сохраненного логина надо выполнить <b>rm -fr ~/.local/share/Steam/config</b></p><p>Сходу запустилась без проблем Rise of Tomb Raider.<br />Ввообще все игры с отметкой Steam OS должны запускаться без проблем, но на самом деле есть исключения. Например, Black Mesa: не стартовала, в консоль были жалобы о невозможность инициализировать аудиокарту. <i> Помогло тогда создание <b>~/.asoundrc</b>, такого плана:</i></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9KM-a8mqYfYzLqtf40wJrN_V-oRrL_5xE9LqxoRSmjeGzg9JWhYFD_wbWxR7giYq2b7jF0Fi2MZg4puUVBOacVO9Y6o8fNE1F0HERqsS8OzOh6b5NB1y8H0VZfVXLuawU20mJJ-kss8g/s185/1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="167" data-original-width="185" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9KM-a8mqYfYzLqtf40wJrN_V-oRrL_5xE9LqxoRSmjeGzg9JWhYFD_wbWxR7giYq2b7jF0Fi2MZg4puUVBOacVO9Y6o8fNE1F0HERqsS8OzOh6b5NB1y8H0VZfVXLuawU20mJJ-kss8g/s0/1.png" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div>Ставил же систем с нуля, как-то не заметил отсутствия. Да и не все игры требовали, по умолчанию всё находилось норм. В качестве звуковой использую встроенную в мать реалтековскую.</div><div>Но для GTA V и Doom Eternal этого было недостаточно. Вылетали с сообщением что-то типа "Failed to open audio .. device is busy". То есть, устройство никто не использовал, но при старте игрушки само окружение чем-то занимало звуковую карту и далее не отдавало.</div><div>Решил довольно просто - разрешил открывать устройство сразу нескольким приложениям. Возможно, что есть и другое решение, но мне достаточно и этого - задания dmix в .asoundrc, теперь мой .asoundrc выглядит таким образом:<br /><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtuTqp6cyXJVzmkuM7K_dK5fntSk3IIIts0SVnjcjXk2WpooQYYnzO63FZ2qVIvmRYSBv3iY-b0gHQ5kFf2aKaIyk0kteAP-uNZeSyDglgevsbiyj_H3SUNCdUlaZBYoEM2QMOqroLLkc/s327/2.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="100" data-original-width="327" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtuTqp6cyXJVzmkuM7K_dK5fntSk3IIIts0SVnjcjXk2WpooQYYnzO63FZ2qVIvmRYSBv3iY-b0gHQ5kFf2aKaIyk0kteAP-uNZeSyDglgevsbiyj_H3SUNCdUlaZBYoEM2QMOqroLLkc/s320/2.png" width="320" /></a></div><br /><div><div>Для копипасты весь файлик текстом, все 4 строчки:</div><div><b><br /></b></div><div><b>pcm.!default {</b></div><div><b> type plug</b></div><div><b> slave.pcm "dmix"</b></div><div><b>}</b></div></div><div><br /></div><div> GTA V требует скачивания ~100Gb файлов. Трижды подумайте. Далее при старте жалуется, что не хватает лимита на открытые файлы. Поднял до 655535, через /etc/security/limits.conf:<br /><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilBnq5i-PZY-QH0X6G1PTlWVwPNzeQlLldxyXmS6uQWNyN5WI5kHSO4whPs5gKsjtnkYIiN0NaCr30v-5HI5V0o1FseDkV3IOQbi_AuMlqC-41du6Vxxv5Z16ohNR4ZVoNJivg_e29H1k/s397/1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="156" data-original-width="397" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilBnq5i-PZY-QH0X6G1PTlWVwPNzeQlLldxyXmS6uQWNyN5WI5kHSO4whPs5gKsjtnkYIiN0NaCr30v-5HI5V0o1FseDkV3IOQbi_AuMlqC-41du6Vxxv5Z16ohNR4ZVoNJivg_e29H1k/s320/1.png" width="320" /></a></div>Хватило- https://www.youtube.com/watch?v=SzrCdmXu1Y4<br /><div><p><br /></p></div>vvkhttp://www.blogger.com/profile/11515486357843895460noreply@blogger.com0tag:blogger.com,1999:blog-5427062714664433789.post-3960434786020408672020-06-03T04:57:00.000-07:002020-06-03T04:57:55.736-07:00<div dir="ltr" style="text-align: left;" trbidi="on">
Использую WindowMaker.<br />
Удинственное, что не нравилось, это то, что он хранит настройки в GNUstep директории. Прямо в хомовике. нет, без точки, просто создает директорию<br />
Всегда не нравилось.<br />
Ну почему не .GNUstep? один симвлол - точка спереди - и какая разница в лс, файловых менеджерах.<br />
Сегодня настраивал систему, собрался с духом - и поправил все упомения GNUstep в .c .h исходников. сделал патчец, чтообы потом в генте по обновлению вмейкера не слетали эти настройки.<br />
И задумался<br />
Как часто обновляется этот идеальный оконной менеджер?<br />
Нужен ли патч?<br />
ведь код идеален.<br />
Человечество создало два редактора текста, все никак второй не изучу, видать и не слезу с вима никогда. Человечество создало один оконный менеджер. Ну и запустило человека в космос.<br />
Не за горами достижение идеала и в других областях ПО. Практически сразу, после автоматизации разработки. Лет за пять ПО будет вылизано. В индустрии останутся лишь аналитики, продукт-менеджеры, бариста и пол-дансинг-танцовщицы с охранниками.</div>
vvkhttp://www.blogger.com/profile/11515486357843895460noreply@blogger.com0tag:blogger.com,1999:blog-5427062714664433789.post-54329782618008842232019-08-09T06:33:00.003-07:002019-08-09T06:33:42.790-07:00<div dir="ltr" style="text-align: left;" trbidi="on">
совершенно не знал про такой милый ресурсец<br />
https://www.linuxatemyram.com/<br />
<br />
<h2>
How do I see how much free ram I really have?</h2>
To see how much ram your applications could use without swapping, run <code>free -m</code> and look at the "available" column:<br />
<pre> $ free -m
total used free shared buff/cache available
Mem: 1504 1491 13 0 855 <span style="border: 1px solid;"><strong>792</strong></span>
Swap: 2047 6 2041</pre>
<small>(On installations from before 2016, look at "free" column in the "-/+ buffers/cache" row instead.)</small><br />
This is your answer in MiB. If you just naively look at
"used" and "free", you'll think your ram is 99% full when it's really
just 47%!<br />
For a more detailed and technical description of what Linux counts as "available", see <a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=34e431b0ae398fc54ea69ff85ec700722c9da773">the commit that added the field</a>.<br />
<h2>
When should I start to worry?</h2>
A <strong>healthy Linux system</strong> with more than enough memory will, after running for a while, show the following expected and harmless behavior:<br />
<ul>
<li><code>free</code> memory is close to <code>0</code> </li>
<li><code>used</code> memory is close to <code>total</code> </li>
<li><code>available</code> memory (or "free + buffers/cache") has enough room (let's say, 20%+ of total)</li>
<li><code>swap used</code> does not change</li>
</ul>
<strong>Warning signs</strong> of a genuine low memory situation that you may want to look into:<br />
<ul>
<li><code>available</code> memory (or "free + buffers/cache") is close to zero</li>
<li><code>swap used</code> increases or fluctuates</li>
<li><code>dmesg | grep oom-killer</code> shows the OutOfMemory-killer at work</li>
</ul>
</div>
vvkhttp://www.blogger.com/profile/11515486357843895460noreply@blogger.com0tag:blogger.com,1999:blog-5427062714664433789.post-86132693369224332832018-11-20T06:39:00.002-08:002018-11-20T06:39:26.177-08:00<div dir="ltr" style="text-align: left;" trbidi="on">
<table class="cblk" id="msgshow_11"><tbody>
<tr><td class="chdr">
<li><span style="color: #606060;">отлично сформулировано: </span></li>
<li><span style="color: #606060;">http://www.opennet.ru/openforum/vsluhforumID3/115824.html#11</span></li>
<li><span style="color: #606060;"> </span></li>
<li><a href="http://www.opennet.ru/openforum/vsluhforumID3/115824.html#11"><span style="color: #606060;">3.11</span></a>, <a href="http://www.opennet.ru/~%E1%CE%CF%CE%C9%CD">Аноним</a> (<span title="Первое сообщение">11</span>), 22:36, 13/11/2018 [<a href="http://www.opennet.ru/opennews/art.shtml?num=49604#3">^</a>] [<a href="http://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi?az=post&om=115824&forum=vsluhforumID3&omm=11&news_key=49604" rel="nofollow">ответить</a>] [<a href="http://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi?az=to_moderator&forum=vsluhforumID3&om=115824&omm=11" rel="nofollow">к модератору</a>]
</li>
</td><td class="chdr2"><span class="vt_d2" id="vt_2_3_115824_11"><span class="vt_p">+1</span></span></td></tr>
<tr><td class="ctxt">
<span style="color: #606060;">> > Для десктопа не подходит из-за отсутствия systemd</span>
<br /><span style="color: #606060;">> Чего это?</span>
Это некий "системный менеджер". Почитал бегло описание: содержит в
одном проекте упрощённые реализации множества стандартных утилит,
написанные (и пишущиеся в данный момент) с нуля двумя людьми под
влиянием того, как аналогичные задачи решаются в windows и macos.
<br />
По сути, похоже на бизибокс, только если там есть определённая
цель - embedded и среды с ограниченным объёмом ресурсов, то здесь -
проект пишется для души, не преследуя никакой конкретной цели.
<br />
Утилиты реализованы особым образом, и, чтобы они работали,
требуются изменения в базовых принципах работы современных юниксов. В
результате ребятам пришлось реализовать свой инит, свой способ работы с
логами, свой менеджер сеансов, свой способ монтирования разделов
(временно с целью поддержки софта, аналоги которого ещё не реализованы в
рамках systemd, традиционный fstab генерируется автоматически), даже
отдельный демон для работы с /etc/localtime. Подробностей, к сожалению,
не знаю, так как прочитал описание лишь бегло, но, судя по всему, многие
задачи, типично решаемые в никсах запуском утилиты или установкой
переменной окружения, здесь решаются просто отдельным демоном. То есть
традиционное никсовое "всё есть файл" тут пытаются заменить на "всё есть
демон".
<br />
Проект является "домашним проектом" двоих вышеупомянутых, поэтому
если им требуется какая-то возможность, то они просто берут и
реализовывают её, а если что-то становится им ненужным, то могут
удалить. Кроме того, поддерживается только работа в Линукс, причём
достаточно свежих версий, и требует, чтобы ядро было собрано с
некоторыми экзотическими опциями (как минимум, cgroups).
<br />
РедХэт седьмую центось (и рхел вроде тоже) реализовала на базе этого "системного менеджера".
<br />
Лидеру технического комитета Дебиана тоже так понравился этот
systemd, что он устроил несколько голосований по вопросу внедрения его в
дебиан и переделки всего на работу именно с ним вместо традиционных
аналогов. Однако после трёх голосований желающих переходить на systemd
всё ещё было не слишком много, так что решение мигрировать Дебиан на
systemd ему пришлось принимать самостоятельно. Части голосовавших это не
понравилось, и они создали ветку Дебиана в классическом исполнении -
devuan.</td></tr>
</tbody></table>
<br /></div>
vvkhttp://www.blogger.com/profile/11515486357843895460noreply@blogger.com0tag:blogger.com,1999:blog-5427062714664433789.post-73198726101596434412018-09-19T23:07:00.001-07:002018-09-19T23:19:38.788-07:00<div dir="ltr" style="text-align: left;" trbidi="on">
ntpdate при невозможности синхронизировать время с сервером NTP весьма неинформативно об этом рапортует, что на самом деле не только снижает потенциальный интерес к утилите, но и фактически мешает работать. Утилита при стандартном запуске вида<br />
<b> ntpdate 10.20.30.40</b> <br />
не даст отличить ситуации "нет доступа к сетевому узлу 10.20.30.40" от ситуации "на хосте 10.20.30.40 не запущен NTP сервер" не говоря уже об новой для меня ситуации "NTP сервер запущен, но его stratum/leap - это параметры [не]достоверности времени сервера - слишком велики. <br />
Для более подробного разбора полётов -ожидаемого на самом деле поведения - необходимо запускать nptdate с ключом -d.<br />
Вчера на gentoo настраивал NTP сервер<b> без доступа к внешним источникам</b>. В генте 3 варианта NTP серверов, это<br />
<br />
<ul style="text-align: left;">
<li>net-misc/openntpd</li>
<li>net-misc/ntp</li>
<li>net-misc/chrony</li>
</ul>
<br />
Мне был привычен традиционный ntp от www.ntp.org но решил попробовать openntpd.<br />
Дать шанс. Указал адрес прослушивания, вроде бы что-то поднялось, попробовал синхронизироваться, не получилось - забил. Думаю, надо использовать старых друзей.<br />
И как выяснилось, привычный ntpd тоже не отдаст время с ожидаемой точностью для ntpdate.<br />
Запустил<br />
<b> </b><b><b><client>#</b>ntpdate192.168.0.1</b><br />
<br />
получил ожидаемое<br />
<b>20 Sep 05:54:30 ntpdate[1890]: no server suitable for synchronization found</b><br />
<br />
далее с ключом <b> -d</b><br />
<b> </b><b><b> <client></b># ntpdate -d 192.168.0.1 </b>...<br />
20 Sep 05:57:03 ntpdate[5580]: ntpdate 4.2.6p5@1.2349-o Mon Nov 14 18:25:09 UTC 2016 (1)<br />
Looking for host 192.168.0.1 and service ntp<br />
host found : 192.168.0.1<br />
transmit(192.168.0.1)<br />
receive(192.168.0.1)<br />
...<br />
receive(192.168.0.1)<br />
<b>192.168.0.1: Server dropped: strata too high</b><br />
server 192.168.0.1, port 123<br />
<b>stratum 16,</b> precision -24, leap 11, trust 000<br />
<b><br /></b>...<br />
<b>20 Sep 05:57:09 ntpdate[5580]: no server suitable for synchronization found</b><br />
<br />
<br />
Решил немного покопать, может получится быстро исправить ситуацию - не получилось быстро найти требуемые опции. <br />
<br />
<div style="text-align: center;">
В сердцах </div>
<div style="text-align: center;">
подправил в сорцах</div>
<div style="text-align: center;">
<br /></div>
в <b>ntpd/ntp_proto.c</b> задал при отправке <b> stratum = 2;</b><br />
<br />
немногое изменилось:<br />
<b><b> <client></b># ntpdate -d 192.168.0.1 </b><br />
20 Sep 05:59:26 ntpdate[8858]: ntpdate 4.2.6p5@1.2349-o Mon Nov 14 18:25:09 UTC 2016 (1)<br />
Looking for host 192.168.0.1 and service ntp<br />
host found : 192.168.0.1<br />
transmit(192.168.0.1)leap 11<br />
...<br />
...<br />
192.168.0.1: Server dropped: <b>Leap not in sync</b><br />
server 192.168.0.1, port 123<br />
stratum 2, precision -24, <b>leap 11</b>, trust 000<br />
<br />
<br />
<br />
<br />
решил, что это уже перебор. Надо дать шанс chrony, перед дальнейшей ломкой кода.<br />
<b><server>#emerge chrony</b><br />
<b><server>#cat /etc/chrony/chrony.conf</b><br />
driftfile /var/lib/chrony/drift<br />
makestep 1.0 3<br />
rtcsync<br />
clientloglimit 100000000<br />
<b>local stratum 10</b><br />
leapsectz right/UTC<br />
<b>allow 192.168.0.100</b><br />
<b>bindaddress 192.168.0.1</b><br />
<br />
<b><server>#/etc/init.d/chronyd start</b><br />
<br />
на клиентской тачке<br />
<b> <client># ntpdate -d 192.168.0.1 </b><br />
...<br />
...<b><br />server 192.168.0.1, port 123<br />stratum 10, precision -25, leap 00, trust 000</b><br />
refid [192.168.0.1], delay 0.02576, dispersion 0.00182<br />
...<br />
<b>20 Sep 06:05:10 ntpdate[16530]: adjust time server 192.168.0.1 offset 0.434906 sec</b><br />
<br />
отлично </div>
vvkhttp://www.blogger.com/profile/11515486357843895460noreply@blogger.com0tag:blogger.com,1999:blog-5427062714664433789.post-41758113808779826142018-08-26T23:57:00.001-07:002018-09-19T23:07:41.944-07:00<div dir="ltr" style="text-align: left;" trbidi="on">
куда детей Уганды дели со стартовой вима? только обратил внимание #эстония<br />
#философское #vim #best_editor<br />
<br />
<br /></div>
vvkhttp://www.blogger.com/profile/11515486357843895460noreply@blogger.com0tag:blogger.com,1999:blog-5427062714664433789.post-40545569527428528292018-06-08T01:32:00.000-07:002018-09-19T23:07:57.420-07:00как просить поддержку о логах картинками. <div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAa-Vzo2ES7WhUsVozH6Bk9KUjzEop06phcSoy4Irt7FgFqWUiRSt4CI3lqlq8mmD72rDOiKD6KmMsYGmUxRLJDzsJwk2JnPe0rGoq7DaWrPv4g91Hr4Mmk-icmxnfKHqJkDJ-3O-7QSQ/s1600/%25D1%2582%25D0%25BE%25D1%2582%25D0%25B0%25D0%25BB.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="659" data-original-width="272" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAa-Vzo2ES7WhUsVozH6Bk9KUjzEop06phcSoy4Irt7FgFqWUiRSt4CI3lqlq8mmD72rDOiKD6KmMsYGmUxRLJDzsJwk2JnPe0rGoq7DaWrPv4g91Hr4Mmk-icmxnfKHqJkDJ-3O-7QSQ/s1600/%25D1%2582%25D0%25BE%25D1%2582%25D0%25B0%25D0%25BB.png" /></a></div>
<br /></div>
vvkhttp://www.blogger.com/profile/11515486357843895460noreply@blogger.com0tag:blogger.com,1999:blog-5427062714664433789.post-45265043629386790622018-05-16T07:24:00.005-07:002018-09-19T23:08:10.932-07:00<div dir="ltr" style="text-align: left;" trbidi="on">
Openssl и многопоточка.<br />
<br />
Всё меняется, растёт, развивается - в OpenSSL более <a href="https://www.openssl.org/blog/blog/2017/02/21/threads/">не требуется </a>настраивать <a href="https://www.openssl.org/docs/man1.0.2/crypto/threads.html">набор локов</a> при использовании в многопоточном приложении!<br />
<h2 style="text-align: left;">
<b>УРА!!!</b></h2>
Натыкался на это, примерно лет 10 назад. <br />
Было забавно.<br />
Заходит глава саппорта, фанат альтернативного решения, развиваемого в той же конторе, и говорит так по отечески, с легкой болью общения с непрофессионалами, окончившими учебные заведения с главным зданием слишком маленькой высоты - "там Серёга с багом в опенссл столкнулся, вы тоже на это напоретесь, идите и посмотрите. Вот идите." Мы всегда рады расти. Ведь у нас невысокие здания в наших университетах. Во всех, кроме одного, где и готовят Специалистов. Не комплексуем, но почему-то терпим это отеческое псевдокомпетентное. Ну может действительно чему-то научили ребят, в отличие от нас, кто знает?<br />
Ну и захожу к соседям, и там мне "Вован, тут такая тема, надо ссл_аццепт локом обрамлять, при использовании в нескольких потоках" и я так сходу - "man threads не помог?" и мне "что-что?" и уже как-то сразу ясно стало, почему мы не столкнулись с этим, а вот альтернатива, так скажем, влетела, при всём своём несомненном опыте. Сколько таких моментов было, и всё мы скромно терпели, и зря. Надо было драться с напыщенными саппортерами. Вообще такие случаи отличный маркер нездорового отношения, должен был аларм завыть у менеджмента, это кристально ясно через десяток лет. Ну что было, то стало. </div>
vvkhttp://www.blogger.com/profile/11515486357843895460noreply@blogger.com0tag:blogger.com,1999:blog-5427062714664433789.post-85496429843404569032017-07-26T01:20:00.001-07:002018-09-19T23:08:22.356-07:00<div dir="ltr" style="text-align: left;" trbidi="on">
Представление о конечном пользователе ПО как о полном дебиле, которому надо всё по возможности запретить, оставив только заявленный функционал, часто приводит к ситуации, когда эта жопорукая тупая обезьяна оказывается умнее большей части коллектива. И вот это навязываемое ложное представление вызвано на самом деле страхом выявить недостаток собственных компетенций в области применения данного ПО. </div>
vvkhttp://www.blogger.com/profile/11515486357843895460noreply@blogger.com0tag:blogger.com,1999:blog-5427062714664433789.post-84468918702905043982017-02-23T13:59:00.000-08:002017-07-26T01:24:35.200-07:00Multiple copy/paste buffers в GNU Screen<div dir="ltr" style="text-align: left;" trbidi="on">
[Дополнено через полгода использования] Давно была потребность в нескольких буферах обмена между открытыми консольными сессиями. Труднонабираемые пароли, которые нужно повторить в нескольких консолях в разных последовательностях, длинные пути и тп. Использую GNU Screen. Без лишних предисловий, решение, из которого всё понятно:<br />
<a name='more'></a><br />
<div>
<div>
<blockquote class="tr_bq">
<i>#cat ~/.screenrc </i></blockquote>
<br />
<pre>hardstatus on
hardstatus alwayslastline
hardstatus string "%w%=%m/%d %c"
<b>bind -c pastdemo1 0 paste 0
bind -c pastdemo1 1 paste 1
bind -c pastdemo1 2 paste 2
bind -c pastdemo1 3 paste 3
bind -c pastdemo1 4 paste 4
bind -c pastdemo1 5 paste 5
bindkey "^V" command -c pastdemo1
bind -c copydemo1 0 readreg 0
bind -c copydemo1 1 readreg 1
bind -c copydemo1 2 readreg 2
bind -c copydemo1 3 readreg 3
bind -c copydemo1 4 readreg 4
bind -c copydemo1 5 readreg 5
bindkey "^C" command -c copydemo1</b>
</pre>
</div>
<div>
В результате по нажатию<br />
<b> ctrl v 1</b><br />
в активную сессию пишется первый буфер, по <b>ctrl v 2 </b>второй. Таким образом настроены регистры обмена 0, 1, 2, 3, 4, 5. Получилось некое подобие именованных буферов ViM. что ещё надо для счастья? Риторический вопрос. Конечно же копирование в регистры обмена надо организовать попроще. В этом конфиге копируется стандартный буфер скрина, т.е. чтобы заполнить буфер №2 надо заполнить обычный буфер, то есть выполнить<br />
<b>ctrl A ctrl [</b><br />
далее выбрать на терминале текст, что необходимо скопировать. Потом только копировать текст из обычного буфера в регистр №2 нажатием клавиш<br />
<b>ctrl c 2</b><br />
<b> </b>Было бы удобнее, если бы по <b>ctrl c 2</b> открывался режим копирования, как в стандартный буфер. Ещё хорошо бы если этот биндинг задавался проще - через что-то вроде <b>bind -c copydemo1 * readreg *</b>. Но и это решение достаточно просто.<br />
Ещё так подумал, для true vim way надо использовать не с/v клавиши, а y/p.<br />
<br />
<br />
<br />
<br />
<b>Дополнение:</b> на самом деле ctrl-P тоже занята у вимеров. Поэтому самое удобное сочетание это ctrl-y, ctrl-o. Самый лучший конфиг:<br />
hardstatus on<br />
hardstatus alwayslastline<br />
hardstatus string "%w%=%m/%d %c"<br />
bind -c pastdemo1 0 paste 0 <br />
bind -c pastdemo1 1 paste 1 <br />
bind -c pastdemo1 2 paste 2 <br />
bind -c pastdemo1 3 paste 3<br />
bind -c pastdemo1 4 paste 4<br />
bind -c pastdemo1 5 paste 5<br />
bind -c pastdemo1 6 paste 6<br />
bind -c pastdemo1 7 paste 7<br />
bind -c pastdemo1 8 paste 8<br />
bind -c pastdemo1 9 paste 9<br />
bindkey "^O" command -c pastdemo1<br />
bind -c copydemo1 0 readreg 0 <br />
bind -c copydemo1 1 readreg 1 <br />
bind -c copydemo1 2 readreg 2 <br />
bind -c copydemo1 3 readreg 3<br />
bind -c copydemo1 4 readreg 4<br />
bind -c copydemo1 5 readreg 5<br />
bind -c copydemo1 6 readreg 6<br />
bind -c copydemo1 7 readreg 7<br />
bind -c copydemo1 8 readreg 8<br />
bind -c copydemo1 9 readreg 9<br />
bindkey "^Y" command -c copydemo1</div>
</div>
</div>
vvkhttp://www.blogger.com/profile/11515486357843895460noreply@blogger.com0tag:blogger.com,1999:blog-5427062714664433789.post-8174412401585575752016-09-28T23:01:00.000-07:002018-09-19T23:08:49.703-07:00parsing html with regex<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
Это пять:<br />
<a name='more'></a><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgk8jXs7AtnSadjjBzyHd_CTiUjaroAnP4T2b7-TC630v3x4wqSNfF-_2bLpSkzpsvY2ARjAF7jnjpZWBFOr3FZeXqmAnk8wV9iCy8q6Z3rLbF3n2pux60QucPraYB7GffQMDRYYgE-o_Q/s1600/regexhtml.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgk8jXs7AtnSadjjBzyHd_CTiUjaroAnP4T2b7-TC630v3x4wqSNfF-_2bLpSkzpsvY2ARjAF7jnjpZWBFOr3FZeXqmAnk8wV9iCy8q6Z3rLbF3n2pux60QucPraYB7GffQMDRYYgE-o_Q/s320/regexhtml.png" width="298" /></a></div>
http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454</div>
vvkhttp://www.blogger.com/profile/11515486357843895460noreply@blogger.com0tag:blogger.com,1999:blog-5427062714664433789.post-27677629008524981992016-07-18T01:30:00.006-07:002017-02-24T00:09:46.901-08:00Ускорение анализатора сетевого трафика Snort при помощи библиотеки Hyperscan.<div dir="ltr" style="text-align: left;" trbidi="on">
Осенью прошлого года компания Intel <a href="http://dpdk.org/ml/archives/dev/2015-October/025848.html">открыла</a> исходники <a href="https://01.org/hyperscan">библиотеки быстрого поиска совпадений для регулярных выражений Hyperscan.</a> Проект был <a href="http://www.convergedigest.com/2013/09/intel-to-acquire-sensory-networks-for.html">куплен</a> двумя годами ранее. Предназначением этого удачного стартапа было ускорение <a href="https://ru.wikipedia.org/wiki/Deep_packet_inspection">DPI</a> приложений за счёт использования <a href="https://software.intel.com/sites/landingpage/IntrinsicsGuide/#">SIMD compiler intrinsics</a>. Использование новых наборов инструкций позволяет добиться значительного прироста производительности в самом узком месте анализаторов трафика: в поиске совпадений по образцу. Snort - самое известное DPI-приложение с открытым кодом - <a href="https://01.org/hyperscan/downloads/hyperscan-integration-snort-2.9.8.2">получил</a> поддержку Hyperscan только в начале этого лета. Представленный патч предназначен для версии Snort 2.9.8.2 но без проблем накладывается на 2.9.8.3 и может быть портирован и на предыдущие релизы Snort. В статье описывается установка зависимостей и сборка снорт на дистрибутивах Gentoo и Ubuntu.<br />
<a name='more'></a> Данные шаги не должны вызывать сложностей у администраторов при использовании других дистрибутивов Linux.<br />
<h3 style="text-align: left;">
Сборка</h3>
<div style="text-align: left;">
Для сборки Hyperscan сборочное окружение должно содержать Boost версии >= 1.57 и компилятор ragel. В библиотеке используется система сборки cmake. Сложности, если можно их назвать сложностями, вызывает только Boost: данной версии всё ещё нет в болшинстве дистрибутивов на момент июня 2016, поэтому скорее всего придётся собираться локально. Но это несложно и не очень долго. Что касается ragel и cmake, то они уже имеются в пакетных репозитариях Gentoo, Ubuntu, CentOS в достаточно свежих версиях. </div>
<ul style="text-align: left;">
<li><a href="http://www.boost.org/">Boost</a></li>
<li><a href="http://www.colm.net/open-source/ragel/">Ragel</a></li>
<li><a href="https://01.org/hyperscan">Hyperscan</a></li>
<li><a href="https://snort.org/">Snort</a> </li>
</ul>
<h4 style="text-align: left;">
Boost </h4>
Нужен <a href="http://www.boost.org/">Boost</a> выше 1.57. В наиболее ожидаемом случае, если версия в используемом дистрибутиве ниже, то надо будет установить более свежую копию. Для этого надо <a href="https://sourceforge.net/projects/boost/files/latest/download?source=files">скачать</a> актуальную версию и установить её локально.<br />
<blockquote class="tr_bq">
tar xf ~/tmp/boost_1_61_0.tar.bz2<br />
cd boost_1_61_0 <br />
./bootstrap.sh -prefix=$HOME/opt/boost/<br />
./b2 --ignore-site-config install<br />
<blockquote class="tr_bq">
</blockquote>
</blockquote>
<b>--ignore-site-config</b> требуется для устранения потенциальных конфликтов с системной версией Boost: дл игнорирования текущих настроек при сборке локальной версии буста в домашней директории пользователя.<br />
<br />
<h4 style="text-align: left;">
Ragel </h4>
Далее нужен <a href="http://www.colm.net/open-source/ragel/">ragel</a>, этот компилятор доступен в стандартных репозитариях всех распространённых дистрибутивов. Поэтому инсталляция проста:<br />
<blockquote class="tr_bq">
emerge ragel</blockquote>
<br />
или же apt-get install ragel, yum install ragel итп итд<br />
<h4 style="text-align: left;">
HyperScan</h4>
<div style="text-align: left;">
Сборка <a href="https://codeload.github.com/01org/hyperscan/tar.gz/v4.2.0">библиотеки</a> стандартна для проектов использующих cmake: </div>
<blockquote class="tr_bq">
tar xf ~/tmp/hyperscan-4.2.0.tar.gz<br />
cd hyperscan-4.2.0/<br />
mkdir build <br />
cd build<br />
cmake .. -DBOOST_ROOT=$HOME/opt/boost/ -DCMAKE_INSTALL_PREFIX=$HOME/opt/hp<br />
make install</blockquote>
Предполагается, что будет использован локальный буст, установленный в $HOME/opt/boost. Все переменные сборки можно проверить и перезадать при помощи `<b>ccmake .</b>` или же через аргументы cmake. В случае использования системного буста указывать -DBOOST_ROOT не следует.<br />
<h4 style="text-align: left;">
Snort</h4>
<div style="text-align: left;">
Подходит кодовая база Snort любой из 2.9.8.* версий: 2.9.8.0, 2.9.8.2, в статье используется последний стабильный релиз: <a href="https://www.snort.org/downloads/snort/snort-2.9.8.3.tar.gz">2.9.8.3</a>. Добавление поддержки HyperScan производится патчем версии v1: <a href="https://01.org/sites/default/files/downloads/hyperscan/snort-2982-hyperscan-v1.tar_0.gz">snort-2982-hyperscan-v1.tar_0.gz</a></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
распаковываем исходники Snort:</div>
<blockquote class="tr_bq">
<div style="text-align: left;">
tar xf ~/tmp/snort-2.9.8.3.tar.gz</div>
<div style="text-align: left;">
cd snort-2.9.8.3/</div>
</blockquote>
<div style="text-align: left;">
накладываем патч:</div>
<blockquote class="tr_bq">
<div style="text-align: left;">
tar xf ~/tmp/snort-2982-hyperscan-v1.tar_0.gz</div>
<div style="text-align: left;">
gunzip -c snort-2982-hyperscan-v1/snort-2982-hyperscan-v1.patch.gz |patch -p2</div>
</blockquote>
<div style="text-align: left;">
На всех трёх доступных мне машинах с CentOS, Gentoo, Ubuntu этого было недостаточно для сборки: при линковке snort возникали ошибки вида</div>
<blockquote class="tr_bq">
/opt/hp/lib/libhs.a(mpvcompile.cpp.o): In function `operator--':<br />
/usr/include/c++/4.8/bits/stl_tree.h:204: undefined reference to `std::_Rb_tree_decrement(std::_Rb_tree_node_base*)'<br />
/opt/hp/lib/libhs.a(mpvcompile.cpp.o): In function `__gnu_cxx::new_allocator<ue2::raw_puff>::deallocate(ue2::raw_puff*, unsigned long)':<br />
/usr/include/c++/4.8/ext/new_allocator.h:110: undefined reference to `operator delete(void*)'</blockquote>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
то есть потребовалось ещё добавление -lstdc++ к списку библиотек в configure.in. Поэтому открываем любимым редактором файл configure.in, ищем в нём строчку, где задаётся -lhs и заменяем на -lhs -lstdc++:</div>
<blockquote class="tr_bq">
<div style="text-align: left;">
- LIBS="${LIBS} -lhs"</div>
<div style="text-align: left;">
+ LIBS="${LIBS} -lhs -lstdc++"</div>
</blockquote>
Собираем Snort:<br />
<blockquote class="tr_bq">
autoreconf -fi<br />
./configure --enable-intel-hyperscan --with-intel-hyperscan-includes=$HOME/opt/hp/include/hs --with-intel-hyperscan-libraries=$HOME/opt/hp/lib --prefix=$HOME/usr/opt298hp<br />
make install</blockquote>
<h2 style="text-align: left;">
Настройка</h2>
<div style="text-align: left;">
Для ускорения детектирования необходимо задать движок hyperscan в опции config detection конфигурационного файла snort.conf:</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<b>config detection: search-method hyperscan </b></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
Если использовать актуальный большой набор правил, например от <a href="https://rules.emergingthreats.net/open/snort-2.9.0/">Emerging Threats,</a> то начальная загрузка снорта значительно замедлится. Чтобы избежать этого без особых потерь в ускорении можно использовать опцию <span style="color: red;"><b>split-any-any</b></span>, таким образом результирующая строка config detection будет выглядеть следующим образом:</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<b>config detection: search-method hyperscan split-any-any</b></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
При этом будет наблюдаться выигрыш как в производительности, так и по использованию памяти; снорт будет использовать где-то на 10 процентов меньше памяти, точные данные зависят от набора правил. Без этой опции снорт будет анализировать трафик с максимальной скоростью, но будет гораздо дольше стартовать и более заметен в потреблении памяти системы.</div>
<div style="text-align: left;">
Таким образом, для сравнения получаются 4 системы с одним набором правил от <a href="https://rules.emergingthreats.net/open/snort-2.9.0/emerging.rules.tar.gz">ET</a>:</div>
<ul style="text-align: left;">
<li> чистый Snort 2.9.8.3 без модификаций</li>
<li>Snort, собранный с <b>Hyperscan</b>, без изменений конфигурации, то есть использующий библиотеку только для простого поиска контента</li>
<li>Snort с <b>Hyperscan</b> и включённым движком детектирования <b>hyperscan</b></li>
<li>Snort с включенным движком <b>hyperscan</b> и опцией <b>split-any-any</b></li>
</ul>
<div style="text-align: left;">
</div>
<div style="text-align: left;">
</div>
<h2 style="text-align: left;">
Результаты</h2>
<div style="text-align: left;">
Скорость проще всего оценивается по времени обработки pcap-файлов. Результирующее ускорение зависит от новизны CPU. Так, на старом одноядерном Celeron M560, выигрыш будет в районе считанных процентов: с гиперсканом дамп будет обрабатываться за 300 секунд, без гиперскана за 310. Всё становится гораздо интереснее на более современных Intel(R) Core(TM) i7-2600:</div>
<div style="text-align: left;">
<br /></div>
<div style="margin-bottom: 0; margin-top: 0;">
<span style="color: black; font-family: "calibri" , "arial" , "helvetica" , sans-serif; font-size: small;">Время обработки 100+ pcap файла <b>без hyperscan:</b></span></div>
<span style="color: black; font-family: "calibri" , "arial" , "helvetica" , sans-serif; font-size: small;">
</span>
<br />
<div style="margin-bottom: 0; margin-top: 0;">
<span style="color: black; font-family: "calibri" , "arial" , "helvetica" , sans-serif; font-size: small;"><span style="color: black; font-family: "calibri" , "arial" , "helvetica" , sans-serif; font-size: small;"><span dir="ltr" style="background-color: white; font-size: 12pt;">Run time for packet processing was <b>39.578298 seconds</b></span></span></span></div>
<div style="margin-bottom: 0; margin-top: 0;">
<div style="margin-bottom: 0; margin-top: 0;">
<span style="color: black; font-family: "calibri" , "arial" , "helvetica" , sans-serif; font-size: small;"><span style="color: black; font-family: "calibri" , "arial" , "helvetica" , sans-serif; font-size: small;">Время обработки 100+ pcap файла <b>c hyperscan:</b></span></span></div>
</div>
<span style="color: black; font-family: "calibri" , "arial" , "helvetica" , sans-serif; font-size: small;">
</span>
<br />
<div style="margin-bottom: 0; margin-top: 0;">
<span style="color: black; font-family: "calibri" , "arial" , "helvetica" , sans-serif; font-size: small;"><span lang="ru" style="background-color: white;"><span style="font-family: "times new roman" , serif; font-size: small;"><span style="font-size: 12pt;"><span style="color: black; font-family: "calibri" , sans-serif;">
Run time for packet processing was</span><span style="color: black; font-family: "calibri" , sans-serif;"><b> 35.190397</b></span><span style="color: black; font-family: "calibri" , sans-serif;"> seconds</span><span style="color: black; font-family: "calibri" , sans-serif;"><br />
</span></span></span></span><span style="color: black; font-family: "calibri" , "arial" , "helvetica" , sans-serif; font-size: small;"><span dir="ltr" style="background-color: white; font-size: 12pt;"></span></span></span></div>
<span style="color: black; font-family: "calibri" , "arial" , "helvetica" , sans-serif; font-size: small;">
</span>
<br />
<div style="margin-bottom: 0; margin-top: 0;">
</div>
<span style="color: black; font-family: "calibri" , "arial" , "helvetica" , sans-serif; font-size: small;">
</span>
<br />
<div style="text-align: left;">
<span style="color: black; font-family: "calibri" , "arial" , "helvetica" , sans-serif; font-size: small;"><span dir="ltr" style="background-color: white; font-size: 12pt;"></span></span></div>
<div style="margin-bottom: 0; margin-top: 0;">
<span style="color: black; font-family: "calibri" , "arial" , "helvetica" , sans-serif; font-size: small;">Время обработки 100+ pcap файла <b>с движком hyperscan + split-any-any:</b></span></div>
<span style="color: black; font-family: "calibri" , "arial" , "helvetica" , sans-serif; font-size: small;">
</span>
<br />
<div style="margin-bottom: 0; margin-top: 0;">
<span style="color: black; font-family: "calibri" , "arial" , "helvetica" , sans-serif; font-size: small;">Run time for packet processing was <b><span style="color: #cc0000;">24.616165</span> seconds</b></span></div>
<div style="text-align: left;">
<span style="color: black; font-family: "calibri" , "arial" , "helvetica" , sans-serif; font-size: small;"><span dir="ltr" style="background-color: white; font-size: 12pt;"></span></span></div>
<div style="margin-bottom: 0; margin-top: 0;">
<span style="color: black; font-family: "calibri" , "arial" , "helvetica" , sans-serif; font-size: small;">Время обработки 100+ pcap файла <b>с движком hyperscan:</b></span></div>
<span style="color: black; font-family: "calibri" , "arial" , "helvetica" , sans-serif; font-size: small;">
</span>
<br />
<div style="margin-bottom: 0; margin-top: 0;">
<span style="color: black; font-family: "calibri" , "arial" , "helvetica" , sans-serif; font-size: small;">Run time for packet processing was <b><span style="color: red;">22.323232</span> seconds</b></span></div>
<span style="color: black; font-family: "calibri" , "arial" , "helvetica" , sans-serif; font-size: small;">
</span></div>
vvkhttp://www.blogger.com/profile/11515486357843895460noreply@blogger.com2tag:blogger.com,1999:blog-5427062714664433789.post-74498804362511455262016-07-04T00:06:00.001-07:002017-02-23T22:46:41.931-08:00прохождение тестов при параллельной сборке libpcre в несколько потоков<div dir="ltr" style="text-align: left;" trbidi="on">
<h3 style="text-align: left;">
При сборке libpcre:</h3>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4Trfm0v1xsyn_W94lSB3RKPJtRTmJ8eioeCNDf_Zrj-unVcwUddlbtr8r6USN5SEd7M2ZcltCxaN-RhYHeIu6WPUnGI5zt-7ABbSVcX_tub15fWSwLn-kZdvGArQcDxNs4wak-vgg1eE/s1600/1.gif" imageanchor="1"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4Trfm0v1xsyn_W94lSB3RKPJtRTmJ8eioeCNDf_Zrj-unVcwUddlbtr8r6USN5SEd7M2ZcltCxaN-RhYHeIu6WPUnGI5zt-7ABbSVcX_tub15fWSwLn-kZdvGArQcDxNs4wak-vgg1eE/s320/1.gif" width="320" /></a><br />
<blockquote class="tr_bq">
./configure<br />
make<br />
make test<br />
<br />
<br />
vvk ~/tmp/pcre-8.34 $ make test<br />
...<br />
============================================================================<br />
Testsuite summary for PCRE 8.34<br />
============================================================================<br />
# TOTAL: 5<br />
# PASS: 3<br />
# SKIP: 0<br />
# XFAIL: 0<br />
# FAIL: 2<br />
# XPASS: 0<br />
# ERROR: 0<br />
============================================================================<br />
See ./test-suite.log</blockquote>
В <b>test-suite.log</b>:<br />
<br />
FAIL: RunTest<br />
=============<br />
<br />
<br />
<h3 style="text-align: left;">
причина и решение:</h3>
<h3 style="text-align: left;">
</h3>
<h3 style="text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIrYW9zx0szaC3vA2TQA7FLjgx1jsxSei_bQjlLCO5pOpf_iHvxouekDM8uPl4NUfYO2PbevaHT5PmUXtD6jQuy-0ADGrBQnSD1Ah0XvpfmYyP35KnYG60AMypRBJlVX7u-DLexaCcRHU/s1600/2.gif" imageanchor="1"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIrYW9zx0szaC3vA2TQA7FLjgx1jsxSei_bQjlLCO5pOpf_iHvxouekDM8uPl4NUfYO2PbevaHT5PmUXtD6jQuy-0ADGrBQnSD1Ah0XvpfmYyP35KnYG60AMypRBJlVX7u-DLexaCcRHU/s320/2.gif" width="320" /></a></h3>
<div style="text-align: left;">
т.е. причиной в данном случае является параллельное выполнение целей make. при отключении jobserver и сборке в один поток ошибок нет.</div>
<div style="text-align: left;">
<br /></div>
<blockquote class="tr_bq">
<div style="text-align: left;">
<b>make -j 1 test</b></div>
</blockquote>
</div>
vvkhttp://www.blogger.com/profile/11515486357843895460noreply@blogger.com0tag:blogger.com,1999:blog-5427062714664433789.post-85199001946746965682016-06-23T04:38:00.000-07:002017-02-24T00:11:17.513-08:00увлекательный рассказ о поиске потерянной массы на Honda VFR 750F в картинках и с видеоклипами<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
Год назад в <a href="https://www.youtube.com/watch?v=RHRqH_cTU6k">дтп</a> пострадало в том числе и крепление приборной панели: из трёх точек крепежа болтами осталась только одна, центральная. Возможно, что треснули крепления ещё и раньше, например вот в <a href="https://www.youtube.com/watch?v=UF9Bwz4gVuQ">этот</a> момент, не суть важно.<br />
<br />
Никаких решений по поводу панели не было сделано, фиксация приборки даже в этом случае остаётся сравнительно надёжной <strike>этожеHONDA(c)</strike>: подпирается со всех сторон пластиком плюс один крепёжный болт. <br />
<br />
Но вот на днях возникла проблема. Ни с того, ни с сего, на приборной панели ошибочная индикация режима работы фар:постоянно немного подсвечиваются поворотники.<br />
<br />
При включении дальнего на приборке загораются и дальний и поворотники.<br />
Фары в это время работают правильным образом: горит дальний, поворотники выключены.<br />
При включении любого поворотника на приборке мигает и дальний и оба поворотника.<br />
При этом фары работают нормально: зажигается дальний,поворотники включаются корректно.<br />
Проблема касается только индикации режимов работы световых приборов на приборной панели.<br />
Это типичные проблемы, которые обычно описываются характерным выражением "<a href="http://www.niva-faq.msk.ru/tehnika/elektro/massa.htm"><b>потеряна масса</b></a>", это и произошло.<br />
Вот именно так и случилось:<br />
<a name='more'></a><br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXDnFInvZnynqhvh1SR8nZD7mq2xvnFHZQUopSBI-Lqv5hbR5IyeY5NGzMET-olatrbLSPxP-uNw2TSxt4-dQ6M3Cruw7HQCR-BAC-M6uwJj4k10-5AN5cCO2eNOT-MFESjfuYmkRvOFM/s1600/massa1.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="145" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXDnFInvZnynqhvh1SR8nZD7mq2xvnFHZQUopSBI-Lqv5hbR5IyeY5NGzMET-olatrbLSPxP-uNw2TSxt4-dQ6M3Cruw7HQCR-BAC-M6uwJj4k10-5AN5cCO2eNOT-MFESjfuYmkRvOFM/s320/massa1.gif" width="320" /></a></div>
<br />
<br />
Погрустив немного и выспавшись сегодня утром снял бессмертную приборку:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgstJziAC33QKjnk9lw_bcf31kGzwsDFRopTGIBHXIv_4BjhnCa9zgGAeyktYaqZXRF82MUhHueL7GV6Iuw5qk21s-143K-tudoEKr9nrjOEg9GAjwKkxhMISDj7o8Ui34BNyDKmr1MyWU/s1600/20160623_082700.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgstJziAC33QKjnk9lw_bcf31kGzwsDFRopTGIBHXIv_4BjhnCa9zgGAeyktYaqZXRF82MUhHueL7GV6Iuw5qk21s-143K-tudoEKr9nrjOEg9GAjwKkxhMISDj7o8Ui34BNyDKmr1MyWU/s320/20160623_082700.jpg" width="320" /> </a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
нашёл где дальний потерял свою массу:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzIXWkdMcDFk01DpWX2yAPq-K9hsSFywwjFZeTSAojxrjIjLxxp2qf-GYXK7Jy6N44Ai4gFTzALyT-Cj9pVk9yPcdFYN4w0gj9tttuZ9B-L7N-ZtSK7uVPEiYucEhpC9or9H33wvF_NMY/s1600/20160623_082928.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzIXWkdMcDFk01DpWX2yAPq-K9hsSFywwjFZeTSAojxrjIjLxxp2qf-GYXK7Jy6N44Ai4gFTzALyT-Cj9pVk9yPcdFYN4w0gj9tttuZ9B-L7N-ZtSK7uVPEiYucEhpC9or9H33wvF_NMY/s320/20160623_082928.jpg" width="320" /></a></div>
пропаял пострадавшие дорожки<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAxta_w-ldW-Xz-H4c_3jYijrcNN5ZsjiSris_NCYmXnselfRgoJRaP-zbE-fXNwmhcR8bsc9PXpl8Iukjjxkf7CfjwEwP5sti8ei5Fw5Igaxf5G5JmZtR2kwsXzRKQXDRg1Y1Lkx3LC4/s1600/20160623_084639.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAxta_w-ldW-Xz-H4c_3jYijrcNN5ZsjiSris_NCYmXnselfRgoJRaP-zbE-fXNwmhcR8bsc9PXpl8Iukjjxkf7CfjwEwP5sti8ei5Fw5Igaxf5G5JmZtR2kwsXzRKQXDRg1Y1Lkx3LC4/s320/20160623_084639.jpg" width="320" /></a></div>
показалось недостаточным. Накрутил клеммы на многожильном проводе<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtfq1-W3IfWt1IWA3zeglSx7oE7gawg5z53eC84lZm3fhghnwvnVkJIJ57wkIKn3MprAKwsr02OqCvKYjku70qDdhuwcz810w8GEAuTHBio-M1QsMFhEpmwy6KUhllxshPzgKmGPzSykY/s1600/20160623_085902.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtfq1-W3IfWt1IWA3zeglSx7oE7gawg5z53eC84lZm3fhghnwvnVkJIJ57wkIKn3MprAKwsr02OqCvKYjku70qDdhuwcz810w8GEAuTHBio-M1QsMFhEpmwy6KUhllxshPzgKmGPzSykY/s320/20160623_085902.jpg" width="320" /></a></div>
создал резервный соединитель<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkV9jFIUW3-XlHlbEdkUo-TFQrarRosXa48pMLvUpsV7ApIc6j9TrbbDVCNxtv5F0iEh0FZknulfO0jXR5mDI-5oFI34_dnoGAXW2OJ7Ya4eeC_EnwH6lxt20ZJ62ZL_qvKovCiI_6NI4/s1600/20160623_090210.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkV9jFIUW3-XlHlbEdkUo-TFQrarRosXa48pMLvUpsV7ApIc6j9TrbbDVCNxtv5F0iEh0FZknulfO0jXR5mDI-5oFI34_dnoGAXW2OJ7Ya4eeC_EnwH6lxt20ZJ62ZL_qvKovCiI_6NI4/s320/20160623_090210.jpg" width="320" /></a></div>
ну и продублировал резервным каналом массу на блок индикации<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3kFT7iV16tcge1njNJNEZXAiVa5BWooF6gdQcb6NqmsdZGMomuMy-7cFTYZHP5F0yYhmidoCrF3ygg8l3w12v1mnei98EOmi82xiq_geDwQLu1h6mhvQCmG477kEVGMJMXWmT_S8kw_Q/s1600/20160623_092907.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3kFT7iV16tcge1njNJNEZXAiVa5BWooF6gdQcb6NqmsdZGMomuMy-7cFTYZHP5F0yYhmidoCrF3ygg8l3w12v1mnei98EOmi82xiq_geDwQLu1h6mhvQCmG477kEVGMJMXWmT_S8kw_Q/s320/20160623_092907.jpg" width="320" /></a></div>
<br />
собрал всё обратно, на тот же болт закрутил приборку - всё в порядке, дискотека на пульте управления космолётом закончилась.<br />
Ну, <a href="https://www.youtube.com/watch?v=OOooltUoAMY">в добрый путь</a>!<br />
<br /></div>
vvkhttp://www.blogger.com/profile/11515486357843895460noreply@blogger.com0