1. PHP / Говнокод #16515

    +156

    1. 1
    2. 2
    $user_id = $engine->auth->id;
    $sql = "SELECT `id` FROM `arm_tasks` WHERE (followers_id = '{$user_id}' OR followers_id LIKE '{$user_id},%' OR followers_id LIKE '%,{$user_id},%' OR followers_id LIKE '%,{$user_id}') ";

    Вот так отжигает товарищ по отделу.
    Поле followers_id в виде строки с id-шниками через запятую (что тоже не очень хорошо)

    Запостил: podvzbzdnul, 11 Августа 2014

    Комментарии (36) RSS

    • Не могут в нормализацию. Это нормально.
      Ответить
      • > нормально
        сказали же, "не очень хорошо"
        т.е. оно как бы и ничего, но всё же что-то тут не так...

        нет
        показалось
        Ответить
        • А вот синий слоник умеет в массивы (если нормализацию совсем-совсем не хочется):
          "SELECT id FROM arm_tasks WHERE ANY(followers) = ?"
          Вроде как даже индексы должны работать по таким колонкам, но я не пробовал.
          Ответить
          • Там как-то много поменялось для меня, непонятного. Всю жизнь были varchar'ы, стали - character varying. Причудливо.
            Как вариант - были всегда (гуглить лень), просто последние несколько лет я провёл в анабиозе, и привык к огнептице. Зачем тогда ломать "стандарты" и выдумывать? Непонятно.
            Ответить
            • > Всю жизнь были varchar'ы, стали - character varying.
              Дык и character varying и varchar, емнип, из стандарта SQL. И оба варианта работают в слонике. Что не так то?

              > ломать "стандарты"
              Лолшто, SQL 92 с тобой не согласен:

              SQL defines distinct data types named by the following <key word>s: CHARACTER, CHARACTER VARYING, BIT, BIT VARYING, NUMERIC, DECIMAL, INTEGER, SMALLINT, FLOAT, REAL, DOUBLE PRECISION, DATE, TIME, TIMESTAMP, and INTERVAL.

              1) CHAR is equivalent to CHARACTER. DEC is equivalent to DECIMAL. INT is equivalent to INTEGER. VARCHAR is equivalent to CHARACTER VARYING. NCHAR is equivalent to NATIONAL CHARACTER.
              Ответить
              • там целая эпопея с varchar2 и иже с ними
                Ответить
              • Спасибо тебе, человек-гугол, мне было лениво разбираться.
                Наверное, раньше было как-то больше варчаров, а сейчас - не очень.
                Ответить
                • Это тебе, скорее всего, такой предшественник попался, который любит писать character varying.

                  Остальные пишут varchar и не парятся :)
                  Ответить
                  • Не, у меня хобби-проект, столкнулся с тем, что pgAdmin упорно не имеет типа столбца varchar, сделал DDL руками, с варчаром, посмотрел - не то.
                    Ответить
                    • pgAdmin то еще дерьмо, особенно под линухом...

                      Только консолька, только хардкор ;)
                      Ответить
                      • Тут полностью согласен, но я видел его последний раз в 2005-м, захотелось посмотреть, чего там нового напилили.

                        P.S. А вот pgdump говорит, что таки character varying. Не уверен, от чего это зависит.
                        Ответить
                        • VARCHAR is equivalent to CHARACTER VARYING :)

                          Разницы то никакой, просто показывает первый попавшийся алиас для этого типа.
                          Ответить
              • показать все, что скрытоТы типа самый умный здесь? Соси залупу коня, говно.
                Ответить
          • На any не сработал индекс, зато на @> - сработал:
            > create table test (id integer, followers integer[]);
            > create index test_followers on test using gin(followers);
            > insert into test(id, followers) values(1, '{1,2,3}');
            > insert into test(id, followers) values(2, '{2,3,7}');
            > insert into test(id, followers) values(3, '{3,2,5}');
            > explain analyze select id from test where followers @> '{2}';
            Bitmap Heap Scan on test  (cost=12.01..16.02 rows=1 width=4) (actual time=0.016..0.018 rows=3 loops=1)
              Recheck Cond: (followers @> '{2}'::integer[])
              ->  Bitmap Index Scan on test_followers  (cost=0.00..12.01 rows=1 width=0) (actual time=0.010..0.010 rows=3 loops=1)
                Index Cond: (followers @> '{2}'::integer[])
            Total runtime: 0.047 ms
            Ответить
            • Всем хорош, всем. Но вот чего в постгресе не хватает - мёржа, он же Upsert.
              Ответить
              • Это да.
                Ответить
                • а как у постгреса с объектами?
                  ну там иерархию построить: наследование, полиморфизм
                  и хранить их всех в одной единой таблице, в колонке с базовым типом

                  а то ведь оракл считает, что бд вполне себе место для таких акробатик
                  вынуждают, суки
                  Ответить
                  • У меня мозг взорвался, когда я это представил...

                    В колонку слоник позволяет упихать массивы, структуры, hstore (аля key-value хранилище в колонке) и json.

                    А наследование там только на уровне таблиц - select из родительской возвращает заодно строчки из унаследованных от нее.

                    > в колонке с базовым типом
                    Ну прям в колонку нельзя, но ведь джойн с полиморфной табличкой никто не отменял.
                    Ответить
                  • Как-то так это работает:

                    http://sqlfiddle.com/#!15/58f8f/1
                    Ответить
                  • Не нужен.
                    Ответить
                    • и то верно
                      только hibernate
                      только assparallel
                      Ответить
                      • Сколько уже над-реляционных объектных баз на моей памяти уже сдохло? Штук пять точно. Пока что у них была не самая широкая применимость.
                        Ответить
                        • > не самая широкая
                          конечно
                          это всё кривая скользкая дорожка, заманивает переносить нетривиальную логику с сервера прямо в бд

                          объекты в оракле уже в двух весьма нагруженных задачах заюзал, полет нормальный
                          через 100 лет это всё перепишут жавоёбы, потребив нехило серверной памяти и своих трудочасов, но это будет уже совсем другая история
                          Ответить
    • ну дык, патамуша mysql не умеет во внешние ключи и связывание данных
      Ответить
    • Ех, молодость вспомнил, когда то так же писал.
      Ностальжи...
      Ответить
    • Это не говнокод.
      Ответить
    • показать все, что скрыто
      
      
       		 g@@@@@44444*********9444@@@@@@@@@@@Mggg__
      	       g@M"	    _an**"""""""**Vw=G______"%%@@@@@gg_
      	     ,@@`	 a^"  __a=~v-vvv~~,___	       _____`"*@gg_
      	    a@@       _M" _m*"` _______     `""""""""""`    "	"9@g_
      	    @@	    a" ,m"_ar*"'`     -,	 ,amv****-~,	   9@g
      	   @@	     .* u"		C	  ,~	    "\	     @
      	  d@	       '    __gg____		  `		     @y
      	 g@		,g@@@@@@@@4@@gg_	  C   ______	     9@g
             g@@.>~.	   __  a@""@@@@@@__  "9@g	  ,g@@@@**4@@_	      "@g_
           g@"$-*"""	   *Y, @@@@*""**4@@@g__$@C     ggg@@@@@@@@@@*" "'" ""Mg`8@g
         g@",`  ,g@@@@@@@g_	    _g@     ""@M"      `"@@"		    *n_"C"@@
        g@'	 p@"	,`"@@@ggggg@@"			 8]	 ,_  _gM@@@@g ' 'C8@
        @@	j@     8@_    `"""'			 8@g_	 3@g@@@`,  `"	 ][@
        @L	8@  _g@@@@@gg_		    _gMMy	  "9@g_    `""' 8L	 j8@
        @k	3@ d@@@@   "@@@gg_   *""""" @"``___	    '@@g_	@@C  n"  Q@
        "@C $  9k    @@_    "8@@@@gg_     @g_fM4@@M	   g@""" "n.   a@@@  _m*3@"
         "@g N,      9@@gg_  8@ `""9@@@gg__"	       8gg@M	    _g@@@d@k   a@%
          "@@g_'	"@@@@@@@@g_	`"8@@@@ggg____  ""`   ___gg@@@@ 8@@@   @@
            "@g_	 '@g `"@@@@gg__   @L  `"""4@@@@@@@@@@@@@@@@"  @C @@@  3@
      	9@_	  `@g  3@"9@@@@@@g@	   [@	  @@	 4@y  @kg@@@  [@
      	 9@	    8@gd@   '"9@@@@@@@gggggd@gggggd@gggggg@W@@@@@@@@  [@
      	  8g	     "@@g	 @""9@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F  [@
      	   @g	       "@@g_	d@     '""@@@@@@@@@@@@@@@@@@@@@@@$@   3@
      	   `@g_		 "@@@g_j@'	  @C  ``"3@@"""8@""j@'j@g@@   3@
      	     9@g_ ~__ ~._  `"@@@@g_	  @C	 8@   g@^ p@^ "@@M     @C
      	       "@@g "9m_ "Nq_  "*@@@@ggggg@______@____@@gg@@@@@M"      @L
      		 "9@@g_`"Mm_`"Nq_   """"*4@@@@@@@@@@M@@4*"""'	       8k
      		    "9@@g_ ""Mm_"*w__	    ~~~~ aaa~~	      _/       $@
      		       `"@@gg_  "*WG_"*w~.____		___am*"    /   [@
      			   "*@@gg    `"*-~<.__	       `       __M"    3@
      			       "9@gg_	      `""'** ------**""`       d@
      				  `"@@ggggg__			     ,d@
      				      ""9@@@@@gg__		  __g@"
      					     `""*4@@@@MggggggggM@@@@"
      						     `""""""""""'
      Ответить
    • показать все, что скрыто
      
      
       		 g@@@@@44444*********9444@@@@@@@@@@@Mggg__
      	       g@M"	    _an**"""""""**Vw=G______"%%@@@@@gg_
      	     ,@@`	 a^"  __a=~v-vvv~~,___	       _____`"*@gg_
      	    a@@       _M" _m*"` _______     `""""""""""`    "	"9@g_
      	    @@	    a" ,m"_ar*"'`     -,	 ,amv****-~,	   9@g
      	   @@	     .* u"		C	  ,~	    "\	     @
      	  d@	       '    __gg____		  `		     @y
      	 g@		,g@@@@@@@@4@@gg_	  C   ______	     9@g
             g@@.>~.	   __  a@""@@@@@@__  "9@g	  ,g@@@@**4@@_	      "@g_
           g@"$-*"""	   *Y, @@@@*""**4@@@g__$@C     ggg@@@@@@@@@@*" "'" ""Mg`8@g
         g@",`  ,g@@@@@@@g_	    _g@     ""@M"      `"@@"		    *n_"C"@@
        g@'	 p@"	,`"@@@ggggg@@"			 8]	 ,_  _gM@@@@g ' 'C8@
        @@	j@     8@_    `"""'			 8@g_	 3@g@@@`,  `"	 ][@
        @L	8@  _g@@@@@gg_		    _gMMy	  "9@g_    `""' 8L	 j8@
        @k	3@ d@@@@   "@@@gg_   *""""" @"``___	    '@@g_	@@C  n"  Q@
        "@C $  9k    @@_    "8@@@@gg_     @g_fM4@@M	   g@""" "n.   a@@@  _m*3@"
         "@g N,      9@@gg_  8@ `""9@@@gg__"	       8gg@M	    _g@@@d@k   a@%
          "@@g_'	"@@@@@@@@g_	`"8@@@@ggg____  ""`   ___gg@@@@ 8@@@   @@
            "@g_	 '@g `"@@@@gg__   @L  `"""4@@@@@@@@@@@@@@@@"  @C @@@  3@
      	9@_	  `@g  3@"9@@@@@@g@	   [@	  @@	 4@y  @kg@@@  [@
      	 9@	    8@gd@   '"9@@@@@@@gggggd@gggggd@gggggg@W@@@@@@@@  [@
      	  8g	     "@@g	 @""9@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F  [@
      	   @g	       "@@g_	d@     '""@@@@@@@@@@@@@@@@@@@@@@@$@   3@
      	   `@g_		 "@@@g_j@'	  @C  ``"3@@"""8@""j@'j@g@@   3@
      	     9@g_ ~__ ~._  `"@@@@g_	  @C	 8@   g@^ p@^ "@@M     @C
      	       "@@g "9m_ "Nq_  "*@@@@ggggg@______@____@@gg@@@@@M"      @L
      		 "9@@g_`"Mm_`"Nq_   """"*4@@@@@@@@@@M@@4*"""'	       8k
      		    "9@@g_ ""Mm_"*w__	    ~~~~ aaa~~	      _/       $@
      		       `"@@gg_  "*WG_"*w~.____		___am*"    /   [@
      			   "*@@gg    `"*-~<.__	       `       __M"    3@
      			       "9@gg_	      `""'** ------**""`       d@
      				  `"@@ggggg__			     ,d@
      				      ""9@@@@@gg__		  __g@"
      					     `""*4@@@@MggggggggM@@@@"
      						     `""""""""""'
      Ответить
    • показать все, что скрыто
      
      
       		 g@@@@@44444*********9444@@@@@@@@@@@Mggg__
      	       g@M"	    _an**"""""""**Vw=G______"%%@@@@@gg_
      	     ,@@`	 a^"  __a=~v-vvv~~,___	       _____`"*@gg_
      	    a@@       _M" _m*"` _______     `""""""""""`    "	"9@g_
      	    @@	    a" ,m"_ar*"'`     -,	 ,amv****-~,	   9@g
      	   @@	     .* u"		C	  ,~	    "\	     @
      	  d@	       '    __gg____		  `		     @y
      	 g@		,g@@@@@@@@4@@gg_	  C   ______	     9@g
             g@@.>~.	   __  a@""@@@@@@__  "9@g	  ,g@@@@**4@@_	      "@g_
           g@"$-*"""	   *Y, @@@@*""**4@@@g__$@C     ggg@@@@@@@@@@*" "'" ""Mg`8@g
         g@",`  ,g@@@@@@@g_	    _g@     ""@M"      `"@@"		    *n_"C"@@
        g@'	 p@"	,`"@@@ggggg@@"			 8]	 ,_  _gM@@@@g ' 'C8@
        @@	j@     8@_    `"""'			 8@g_	 3@g@@@`,  `"	 ][@
        @L	8@  _g@@@@@gg_		    _gMMy	  "9@g_    `""' 8L	 j8@
        @k	3@ d@@@@   "@@@gg_   *""""" @"``___	    '@@g_	@@C  n"  Q@
        "@C $  9k    @@_    "8@@@@gg_     @g_fM4@@M	   g@""" "n.   a@@@  _m*3@"
         "@g N,      9@@gg_  8@ `""9@@@gg__"	       8gg@M	    _g@@@d@k   a@%
          "@@g_'	"@@@@@@@@g_	`"8@@@@ggg____  ""`   ___gg@@@@ 8@@@   @@
            "@g_	 '@g `"@@@@gg__   @L  `"""4@@@@@@@@@@@@@@@@"  @C @@@  3@
      	9@_	  `@g  3@"9@@@@@@g@	   [@	  @@	 4@y  @kg@@@  [@
      	 9@	    8@gd@   '"9@@@@@@@gggggd@gggggd@gggggg@W@@@@@@@@  [@
      	  8g	     "@@g	 @""9@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F  [@
      	   @g	       "@@g_	d@     '""@@@@@@@@@@@@@@@@@@@@@@@$@   3@
      	   `@g_		 "@@@g_j@'	  @C  ``"3@@"""8@""j@'j@g@@   3@
      	     9@g_ ~__ ~._  `"@@@@g_	  @C	 8@   g@^ p@^ "@@M     @C
      	       "@@g "9m_ "Nq_  "*@@@@ggggg@______@____@@gg@@@@@M"      @L
      		 "9@@g_`"Mm_`"Nq_   """"*4@@@@@@@@@@M@@4*"""'	       8k
      		    "9@@g_ ""Mm_"*w__	    ~~~~ aaa~~	      _/       $@
      		       `"@@gg_  "*WG_"*w~.____		___am*"    /   [@
      			   "*@@gg    `"*-~<.__	       `       __M"    3@
      			       "9@gg_	      `""'** ------**""`       d@
      				  `"@@ggggg__			     ,d@
      				      ""9@@@@@gg__		  __g@"
      					     `""*4@@@@MggggggggM@@@@"
      						     `""""""""""'
      Ответить
    • показать все, что скрыто
      
      
       		 g@@@@@44444*********9444@@@@@@@@@@@Mggg__
      	       g@M"	    _an**"""""""**Vw=G______"%%@@@@@gg_
      	     ,@@`	 a^"  __a=~v-vvv~~,___	       _____`"*@gg_
      	    a@@       _M" _m*"` _______     `""""""""""`    "	"9@g_
      	    @@	    a" ,m"_ar*"'`     -,	 ,amv****-~,	   9@g
      	   @@	     .* u"		C	  ,~	    "\	     @
      	  d@	       '    __gg____		  `		     @y
      	 g@		,g@@@@@@@@4@@gg_	  C   ______	     9@g
             g@@.>~.	   __  a@""@@@@@@__  "9@g	  ,g@@@@**4@@_	      "@g_
           g@"$-*"""	   *Y, @@@@*""**4@@@g__$@C     ggg@@@@@@@@@@*" "'" ""Mg`8@g
         g@",`  ,g@@@@@@@g_	    _g@     ""@M"      `"@@"		    *n_"C"@@
        g@'	 p@"	,`"@@@ggggg@@"			 8]	 ,_  _gM@@@@g ' 'C8@
        @@	j@     8@_    `"""'			 8@g_	 3@g@@@`,  `"	 ][@
        @L	8@  _g@@@@@gg_		    _gMMy	  "9@g_    `""' 8L	 j8@
        @k	3@ d@@@@   "@@@gg_   *""""" @"``___	    '@@g_	@@C  n"  Q@
        "@C $  9k    @@_    "8@@@@gg_     @g_fM4@@M	   g@""" "n.   a@@@  _m*3@"
         "@g N,      9@@gg_  8@ `""9@@@gg__"	       8gg@M	    _g@@@d@k   a@%
          "@@g_'	"@@@@@@@@g_	`"8@@@@ggg____  ""`   ___gg@@@@ 8@@@   @@
            "@g_	 '@g `"@@@@gg__   @L  `"""4@@@@@@@@@@@@@@@@"  @C @@@  3@
      	9@_	  `@g  3@"9@@@@@@g@	   [@	  @@	 4@y  @kg@@@  [@
      	 9@	    8@gd@   '"9@@@@@@@gggggd@gggggd@gggggg@W@@@@@@@@  [@
      	  8g	     "@@g	 @""9@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F  [@
      	   @g	       "@@g_	d@     '""@@@@@@@@@@@@@@@@@@@@@@@$@   3@
      	   `@g_		 "@@@g_j@'	  @C  ``"3@@"""8@""j@'j@g@@   3@
      	     9@g_ ~__ ~._  `"@@@@g_	  @C	 8@   g@^ p@^ "@@M     @C
      	       "@@g "9m_ "Nq_  "*@@@@ggggg@______@____@@gg@@@@@M"      @L
      		 "9@@g_`"Mm_`"Nq_   """"*4@@@@@@@@@@M@@4*"""'	       8k
      		    "9@@g_ ""Mm_"*w__	    ~~~~ aaa~~	      _/       $@
      		       `"@@gg_  "*WG_"*w~.____		___am*"    /   [@
      			   "*@@gg    `"*-~<.__	       `       __M"    3@
      			       "9@gg_	      `""'** ------**""`       d@
      				  `"@@ggggg__			     ,d@
      				      ""9@@@@@gg__		  __g@"
      					     `""*4@@@@MggggggggM@@@@"
      						     `""""""""""'
      Ответить
    • показать все, что скрыто
      
      
       		 g@@@@@44444*********9444@@@@@@@@@@@Mggg__
      	       g@M"	    _an**"""""""**Vw=G______"%%@@@@@gg_
      	     ,@@`	 a^"  __a=~v-vvv~~,___	       _____`"*@gg_
      	    a@@       _M" _m*"` _______     `""""""""""`    "	"9@g_
      	    @@	    a" ,m"_ar*"'`     -,	 ,amv****-~,	   9@g
      	   @@	     .* u"		C	  ,~	    "\	     @
      	  d@	       '    __gg____		  `		     @y
      	 g@		,g@@@@@@@@4@@gg_	  C   ______	     9@g
             g@@.>~.	   __  a@""@@@@@@__  "9@g	  ,g@@@@**4@@_	      "@g_
           g@"$-*"""	   *Y, @@@@*""**4@@@g__$@C     ggg@@@@@@@@@@*" "'" ""Mg`8@g
         g@",`  ,g@@@@@@@g_	    _g@     ""@M"      `"@@"		    *n_"C"@@
        g@'	 p@"	,`"@@@ggggg@@"			 8]	 ,_  _gM@@@@g ' 'C8@
        @@	j@     8@_    `"""'			 8@g_	 3@g@@@`,  `"	 ][@
        @L	8@  _g@@@@@gg_		    _gMMy	  "9@g_    `""' 8L	 j8@
        @k	3@ d@@@@   "@@@gg_   *""""" @"``___	    '@@g_	@@C  n"  Q@
        "@C $  9k    @@_    "8@@@@gg_     @g_fM4@@M	   g@""" "n.   a@@@  _m*3@"
         "@g N,      9@@gg_  8@ `""9@@@gg__"	       8gg@M	    _g@@@d@k   a@%
          "@@g_'	"@@@@@@@@g_	`"8@@@@ggg____  ""`   ___gg@@@@ 8@@@   @@
            "@g_	 '@g `"@@@@gg__   @L  `"""4@@@@@@@@@@@@@@@@"  @C @@@  3@
      	9@_	  `@g  3@"9@@@@@@g@	   [@	  @@	 4@y  @kg@@@  [@
      	 9@	    8@gd@   '"9@@@@@@@gggggd@gggggd@gggggg@W@@@@@@@@  [@
      	  8g	     "@@g	 @""9@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F  [@
      	   @g	       "@@g_	d@     '""@@@@@@@@@@@@@@@@@@@@@@@$@   3@
      	   `@g_		 "@@@g_j@'	  @C  ``"3@@"""8@""j@'j@g@@   3@
      	     9@g_ ~__ ~._  `"@@@@g_	  @C	 8@   g@^ p@^ "@@M     @C
      	       "@@g "9m_ "Nq_  "*@@@@ggggg@______@____@@gg@@@@@M"      @L
      		 "9@@g_`"Mm_`"Nq_   """"*4@@@@@@@@@@M@@4*"""'	       8k
      		    "9@@g_ ""Mm_"*w__	    ~~~~ aaa~~	      _/       $@
      		       `"@@gg_  "*WG_"*w~.____		___am*"    /   [@
      			   "*@@gg    `"*-~<.__	       `       __M"    3@
      			       "9@gg_	      `""'** ------**""`       d@
      				  `"@@ggggg__			     ,d@
      				      ""9@@@@@gg__		  __g@"
      					     `""*4@@@@MggggggggM@@@@"
      						     `""""""""""'
      Ответить
    • показать все, что скрыто
      
      
       		 g@@@@@44444*********9444@@@@@@@@@@@Mggg__
      	       g@M"	    _an**"""""""**Vw=G______"%%@@@@@gg_
      	     ,@@`	 a^"  __a=~v-vvv~~,___	       _____`"*@gg_
      	    a@@       _M" _m*"` _______     `""""""""""`    "	"9@g_
      	    @@	    a" ,m"_ar*"'`     -,	 ,amv****-~,	   9@g
      	   @@	     .* u"		C	  ,~	    "\	     @
      	  d@	       '    __gg____		  `		     @y
      	 g@		,g@@@@@@@@4@@gg_	  C   ______	     9@g
             g@@.>~.	   __  a@""@@@@@@__  "9@g	  ,g@@@@**4@@_	      "@g_
           g@"$-*"""	   *Y, @@@@*""**4@@@g__$@C     ggg@@@@@@@@@@*" "'" ""Mg`8@g
         g@",`  ,g@@@@@@@g_	    _g@     ""@M"      `"@@"		    *n_"C"@@
        g@'	 p@"	,`"@@@ggggg@@"			 8]	 ,_  _gM@@@@g ' 'C8@
        @@	j@     8@_    `"""'			 8@g_	 3@g@@@`,  `"	 ][@
        @L	8@  _g@@@@@gg_		    _gMMy	  "9@g_    `""' 8L	 j8@
        @k	3@ d@@@@   "@@@gg_   *""""" @"``___	    '@@g_	@@C  n"  Q@
        "@C $  9k    @@_    "8@@@@gg_     @g_fM4@@M	   g@""" "n.   a@@@  _m*3@"
         "@g N,      9@@gg_  8@ `""9@@@gg__"	       8gg@M	    _g@@@d@k   a@%
          "@@g_'	"@@@@@@@@g_	`"8@@@@ggg____  ""`   ___gg@@@@ 8@@@   @@
            "@g_	 '@g `"@@@@gg__   @L  `"""4@@@@@@@@@@@@@@@@"  @C @@@  3@
      	9@_	  `@g  3@"9@@@@@@g@	   [@	  @@	 4@y  @kg@@@  [@
      	 9@	    8@gd@   '"9@@@@@@@gggggd@gggggd@gggggg@W@@@@@@@@  [@
      	  8g	     "@@g	 @""9@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F  [@
      	   @g	       "@@g_	d@     '""@@@@@@@@@@@@@@@@@@@@@@@$@   3@
      	   `@g_		 "@@@g_j@'	  @C  ``"3@@"""8@""j@'j@g@@   3@
      	     9@g_ ~__ ~._  `"@@@@g_	  @C	 8@   g@^ p@^ "@@M     @C
      	       "@@g "9m_ "Nq_  "*@@@@ggggg@______@____@@gg@@@@@M"      @L
      		 "9@@g_`"Mm_`"Nq_   """"*4@@@@@@@@@@M@@4*"""'	       8k
      		    "9@@g_ ""Mm_"*w__	    ~~~~ aaa~~	      _/       $@
      		       `"@@gg_  "*WG_"*w~.____		___am*"    /   [@
      			   "*@@gg    `"*-~<.__	       `       __M"    3@
      			       "9@gg_	      `""'** ------**""`       d@
      				  `"@@ggggg__			     ,d@
      				      ""9@@@@@gg__		  __g@"
      					     `""*4@@@@MggggggggM@@@@"
      						     `""""""""""'
      Ответить

    Добавить комментарий