1. Си / Говнокод #19105

    −96

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    #include <stdio.h>
    #include <inttypes.h>
    
    int main() {
        int arr[] = {34, 12, 24, 65, 63, 22};
        size_t arraySize = (sizeof(arr) / sizeof(*arr));
    
        size_t i;
        startloop1:;
            void * loop1val = &&endloop1;
            i = 0;
            startloop2:
                goto *( (void *[]){&&noexchange, &&exchange}[arr[i] >= arr[i+1]]);
                exchange:;
                    int tmp;
                    tmp=arr[i];
                    arr[i]=arr[i+1];
                    arr[i+1]=tmp;
                    loop1val = &&startloop1;
                noexchange:
                i++;
                goto *( (void *[]){&&startloop2, &&endloop2}[i >= arraySize-1]);
            endloop2:
            goto *loop1val; 
        endloop1:
        i = 0;
        
        startloop3:
            printf("%i ", arr[i]);
            i++;
            goto *( (void *[]){&&startloop3, &&endloop3}[i >= arraySize]);
        endloop3:
        
        return 0;
    }

    На говнохабре http://habrahabr.ru/post/269875/ очередная хуита написана, вот типа напишите сортировку не используя if. Но в том коде есть циклы, любой настоящий программист знает, что циклы это по сути то же самое, что и if(условие) goto куда-тотам. Как написано в одном фундаментальном труде http://www.lib.ru/ANEKDOTY/non_pas.txt
    - поскольку в Фортране отсутствуют структурные операторы IF,
    REPEAT ... UNTIL или CASE, настоящим программистам не
    нужно беспокоиться, что они их не используют; кроме того
    эти операторы можно при необходимости симулировать с
    помощью присваиваемых GOTO.

    Пользуясь этой вселенской мудростью, а так же зная про наличие присваиваемых goto в gcc, решил я сей код написать.

    Запостил: j123123, 28 Ноября 2015

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

    • > не используя if
      Тернарники тоже нельзя? И short-circuit && и || ?
      Ответить
    • А зачем computed goto, если можно заюзать обычные указатели на функции? Точно так же накидать их в массив и выбрать нужную.
      Ответить
      • Можно даже интерпретатор шитого кода как в форте замутить без единого if'а. А на нём уже пилить всё что хочешь...
        Ответить
        • показать все, что скрытоВот на этих присваиваемых goto как раз очень удобно интерпретатор шитого кода строить
          Ответить
          • Да его и без этих goto удобно строить. Просто переменные придётся сложить в структуру или сделать глобальными.
            Ответить
          • Проблема в том что это gccцизм.
            Но вот функции лучше.
            Во-1 это законченные блоки кода, с неймспейсом и стеком.
            Во-2 рекурсивной вложенности можно избежать передав функции адрес тела (указатель на функцию) и условия выхода.
            Ответить
            • показать все, что скрыто>Во-1 это законченные блоки кода, с неймспейсом и стеком.
              Это плохо. Если вызывать функцию по указателю, она отжирает стек. Даже если нет рекурсивной вложенности, все равно на эти создания стека для функции тратится время. Да еще при call пишется адрес возврата, который потом по ret из стека вытаскивается. Неймспейс я могу сам запросто сделать, завернув куски кода в {} чтобы ограничить область видимости, и через goto передавать туда управление. А потом в конце этого {} обратно сделать goto на кусок кода, занимающийся обработкой этого самого шитого кода.
              http://habrahabr.ru/company/intel/blog/261665/ вот кстати статья на хабре про интерпретаторы, там эта фича с присваиваемыми goto используется. Кроме того, там используется еще вот эта вот https://gcc.gnu.org/onlinedocs/gcc/Global-Register-Variables.html замечательная GCC фича. Настоящие программисты должны оценить
              Ответить
              • > там эта фича с присваиваемыми goto используется
                А на графики ты посмотрел? Это говно с вычисляемыми goto, внезапно, отработало медленнее процедур :)
                Ответить
                • показать все, что скрытоНу тут трудно что-то утверждать. Насколько я знаю, в интел процыках есть особый механизм кеширования при вызовах процедур:
                  http://www.agner.org/optimize/microarchitecture.pdf page 34
                  The P1 has no return stack buffer, but uses the same method for returns as for indirect jumps. Later processors have a return stack buffer. The size of this buffer is 4 in the PMMX, 8 in Atom, 12 in AMD k8, 16 in PPro, P2, P3, P4, P4E, PM, Core2 and Nehalem, and 24 in AMD k10. This size may seem rather small, but it is sufficient in most cases because only the innermost subroutines matter in terms of execution time. The return stack buffer may be insufficient, though, in the case of a deeply nesting recursive function. In order to make this mechanism work, you must make sure that all calls are matched with returns. Never jump out of a subroutine without a return and never use a return as an indirect jump.
                  И я подозреваю, что именно благодаря этому, там эти вызовы процедур оказались быстрее. На каком-нибудь древнем интель-проце или на дохлом арме ситуация может оказаться прямо противоположной
                  Ответить
                • показать все, что скрытоА вообще, надо все в ассемблере захреначить, чтоб максимальная оптимизация
                  Ответить
                  • Только JIT, только хардкор. Правда с JIT'ом можно по памяти не уложиться...
                    Ответить
              • показать все, что скрытоvanished
                Ответить
            • показать все, что скрытоvanished
              Ответить
          • показать все, что скрытоvanished
            Ответить
      • показать все, что скрытоРекурсия может весь стек сожрать, и все упадет с сигфолтом
        Ответить
        • while (1) тоже забанен? В нём же нет if'а.
          Ответить
        • Ну даже если и циклы и goto забанены, а tail-call optimization не пашет, можно за небольшую глубину стека сделать дохуя операций (правда количество операций будет ограничено 2^n). В boost preprocessor примерно так сделано невозможное - циклы на макросах.
          template <int n>
          void loop(void (*action)())
          {
              loop<n-1>(action);
              loop<n-1>(action);
          }
          
          template <>
          void loop<0>(void (*action)())
          {
              action();
          }
          
          void action()
          {
              // в action() исполняем один шаг шитого кода, к примеру
          }
          
          int main()
          {
              // код жрёт максимум 64 фрейма стека, но исполняет action() 2**64 раз, чего хватит для любых разумных применений...
              // кому мало - можно поставить 128
              // для прерывания придётся вызвать exit() или кинуть исключение, если исключения не забанены.
              loop<64>(&action);
              return 0;
          }
          Ответить
          • http://ideone.com/vSRw1c

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

              А слабо сделать бесшовные операторы через макросы и лямбду? Чтоб не писать постоянно [&]()
              Ответить
        • Да еще в бейсике была такая проблема, потому GOSUBами не злоупотреблял.
          У меня вложенность была какой-то дико маленькой. емнип 16.
          Ответить
        • показать все, что скрытоvanished
          Ответить
    • Идея: реализовать ветвления с помощью функции Хевисайда. Осталось только её определить, например, как θ(x) = (abs(x) + x) / (2 * x) или θ(x) = round(1 / (1 + exp(-100500 * x)) θ(x) = !!(x > 0).

      Тогда max(x, y) = y + (x - y) * θ(x - y); min(x, y) = y + (x - y) * θ(y - x).
      Ответить
    • показать все, что скрытоАналогичное задротство в Руби https://www.youtube.com/watch?v=FDs-sSxo2iY
      Ответить
      • > https://www.youtube.com/watch?v=FDs-sSxo2iY

        Совсем не то.

        Доклад интересный, но не сильно глубокий. Облом в том что у него `One + One` не возвращает `Two`. И все остальное обламывается в этом же подобном духе. И не сильно ново/оригинально - это более или менее переложение мат. языка на язык программирования. Lambda calculus уже слишком высокоурвнево.

        Я думаю что тот чудак про формальные языки не слышал, потому что это именно то что он переизобретает, углубляясь в доисторические уровнии ОО, когда оно было теоретической моделью для экспертных систем ИИ.
        Ответить
        • > `One + One` не возвращает `Two`
          Ну и пофиг. Оно же возвращает объект, эквивалентный Two. Этого достаточно.

          В жабе вон Integer.valueOf(100500) и Integer.valueOf(100500) могут быть разными объектами. Но всем похуй, т.к. они эквивалентны.
          Ответить
          • > > `One + One` не возвращает `Two`
            > Ну и пофиг. Оно же возвращает объект, эквивалентный Two. Этого достаточно.

            Достаточно, но криво. Потому что Two это не класс, а объект. Потому что Two не знает что оно Two.

            С буквами он догадался что не возможно - а вот с числами не догадался. Концепция чисел настолько примитивна, что семантика и синтакс у большинства в голове перемешаны. А вот кодировки и чар-сеты тема более высокоуровневая и там он как бы и споткнулся. Но на самом деле концептуальная проблема та же самая что и с числами: двойка не знает что она двойка, двойка есть двойка потому что это то семантика которую люди приписывают слову "два".

            ЗЫ Extreme OO как оно там излагается на самом деле большее Extreme O, потому что там "объектно-ориентированость" отсутствует, и используется почти исключительно "объектность".
            Ответить
    • показать все, что скрытоif(X) {Y} же заменяется на
      {
          bool first = true;
          while(first && X) {
              Y;
              first = false;
          }
      }
      Ответить
      • Читай выше: "Думаю что short-circuit все же нельзя использовать т.к. это почти то же, что if", "Но в том коде есть циклы, любой настоящий программист знает, что циклы это по сути то же самое, что и if(условие) goto куда-тотам".

        Твоя фантазия недостаточно извращена, чтобы реализовать всё это вообще без циклов, условий, свичей, тернарников и short-circuit операторов, guest?

        P.S. Да и вместо флагоёбства можно было просто break сделать.
        Ответить
        • Извращенности не хватает, говорите?
          Генерируем в зависимости от условий имя функции, запрашиваем его у либы, вызываем -> profit
          Ответить
    • >>Как написано в одном фундаментальном труде http://www.lib.ru/ANEKDOTY/non_pas.txt

      > Как все настоящие программисты знают, единственной полезной структурой данных является массив.

      > Если вы не можете выполнить эти работы на Фортране, выполните их на ассемблере. Если же их нельзя выполнить на ассемблере, их не стоит делать вообще.
      /s/Фортран/Сишк/

      MAXIMUM TSAR!!!
      Вообще конечно он прав.
      Ответить
      • > Да и потом, закоренелый настоящий программист может написать фортрановскую программу на любом языке.
        Ответить
        • А, так вот же.

          If you ignore the fact that it's structured, even C programming can be appreciated by the Real Programmer: after all, there's no type checking, variable names are seven (ten? eight?) characters long, and the added bonus of the Pointer data type is thrown in. It's like having the best parts of FORTRAN and assembly language in one place. (Not to mention some of the more creative uses for #define.)

          Давно читал крео, это помню там за сишку было.
          Вообще он прав. Фортран — охуенный язык, из которого произошёл бейсик. алгол и кобол — сакс.
          Ответить
          • Ещё понравилось: «...компиляторы с проверкой границ массива; эти компиляторы душат творчество, запрещая наиболее интересные варианты оператора EQUIVALENCE и препятствуют модификации операционной системы с помощью отрицательных индексов массивов».
            Ответить
            • Да... Там каждое второе предложение можно в граните выливать.

              Еще доставляет пассаж про правки двоичного кода

              Из-за этого настоящие программисты неохотно редактируют уже работающие программы. Они считают более простым непосредственно латать двоичный объектный код, используя прекрасную программу под названием SuperZap (или ее эквивалент на не-IBM машинах).
              Этот метод настолько хорош, что многие программы, работающие на ЭВМ фирмы ИБМ, не имеют ничего общего со своим собственным текстом на Фортране. В большом количестве случаев первоначальный символьный текст программы вообще не существует. Когда наступает время подправить такого рода программу, никакой администратор даже не думает послать на эту работу кого-либо, кроме настоящего программиста - никакой сосунок (структурный программист) не будут знать даже с чего начать. Это называется защита от несанкционированного доступа.
              Ответить
              • Таким методом, кстати, можно модифицировать программы на Java, не имея исходников, поскольку она неплохо декомпилируется. И на языках .NET в принципе тоже.
                Ответить
                • jad очень хорошо умеет восстанавливать из байт-кода исходную программу, даже имена переменных.

                  Разница с java том что однажды пропатчив слинкованный бинарник получается невосстановимый пиздец, который уже никак не декомпилировать в ЯВУ. После этого просто необходимо иметь в штате такого гения, который будет его сопровождать.
                  Ответить
          • Но ведь из Алгола произошли Паскаль и Си. Большинство структурированных императивных языков — потомки Алгола.

            Означает ли это, что неструктурированные ассемблероподобные языки лучше?
            Ответить
            • >Но ведь из Алгола произошли Паскаль и Си. Большинство структурированных императивных языков — потомки Алгола.
              Эммм. Самое ключевое их отличие было статическая тупизация vs динамическая. Это раз. Ну и компилятор vs интерпретатор — два.

              Сишка всё-таки где-то посередине, ближе к алголу (точки с запятой, какие-никакие типы, компилируемость).
              Ключевые отличия алгола от фортрана: точки с запятой, типы, структуры данных.

              Идейными последователями фортрана я считаю: Бейсик, Питон, Js.
              Хоть это и на первый взгляд абсурдно звучит. Но речь именно об идее. И тут они родственны фортрану: в отношении к типам, краткости, простоте, порогу вхождения и отсутствию точек с запятой (js может без них). И все изначально были интерпретируемыми.

              Вот все кто пёрлись в своё время от фортрана и бейсика сейчас котируют js и питон.
              Ответить
              • В JS на первом месте фигурные скобки — он не может быть последователем Фортрана. Плюс JSON и всякая объектно-ориентированная питушня, без которой его уже нельзя представить.

                Хотя лет 15-20 назад на JS и пытались писать, как на Фортране (вспомним сайты с document.writeln).

                В Питоне тоже на первом месте структурированность кода, хотя там и отступы вместо фигурных скобок. Плюс функциональщина, без которой программиста питонистом считать не будут.

                Остаётся только Бейсик.
                Ответить
                • >В Питоне тоже на первом месте структурированность кода, хотя там и отступы вместо фигурных скобок.
                  Так в Фортране тоже отступы! 6 пробелов.
                  Идентация и структурированность!
                  Ответить
                  • Но только по горизонтали, как в Ассемблере. В Ассемблере код тоже разбивается на вертикальные колонки.

                    Но вертикальной структурированности в классическом Фортране нет! В Фортране 66, как и в классическом Бейсике, не было этих всяких end if, а ветки разруливали с помощью меток и GOTO.

                    Когда в Фортране 90 вместо DO <метка конца цикла> ... ввели DO ... END DO, вместо PRINT <метка строки с форматом>, ... ввели PRINT "строковая константа", ..., добавили модульность (в том смысле, как в Модуле), а в реализациях Фортрана при вызове подпрограмм стал использоваться стек (как в Си и в Паскале), что наконец-то позволило совершать рекурсивный вызов, старые фортранщики это посчитали предательством.

                    *****

                    Но вообще в Фортране было что-то, что в Паскале и в Си долгие годы было недоступным. Это, например, неявные циклы (когда в некоторые выражения на вход вместо скаляра подаётся массив), «арифметический» IF с тремя ветками (это вам не тернарник с двумя!), а с Фортрана 90 ещё и стандартные функции над массивами. А ещё работа с комплексными числами из коробки!!!11адын-адын-адын
                    Ответить
        • Как бы в тему треда и фортрана
          http://stackoverflow.com/questions/7588079/how-to-computed-goto-and-longjmp-in-c
          (рекомендую читать доставляющий срач в комментах)
          Ответить
      • > Как все настоящие программисты знают, единственной полезной структурой данных является массив.

        Кстати, у нас есть две крайности:

        1. С одной стороны, Царь, который считает, что никакие структуры, кроме одномерного массива не нужны, потому что оперативка представляет собой одномерный массив.

        2. С другой стороны, математик-теоретик wxv (не помню, как дальше), который считает, что с помощью массивов можно решить далеко не любую задачу (а факт, что все эти списки, деревья, очереди, стеки, множества и прочие объекты в конце концов в библиотеке языка реализуются с помощью массивов, игнорирует).

        Интересно было бы найти то же самое, но наоборот, в wxv-стиле, чтобы сравнить ощущения.
        Ответить
        • >который считает, что с помощью массивов можно решить далеко не любую задачу
          Чушь же. Все структуры — это просто сахар над одномерным массивом.

          >Интересно было бы найти то же самое, но наоборот, в wxv-стиле, чтобы сравнить ощущения.
          При всём уважении к wvxvw наоборот вряд ли получится.
          Там речь о том, что Real Programmer настолько гениален что ему не нужны проверки типов для написания безошибочных программ.

          Ну разве что обратная херня: не поближе к машинной реализации. А наоборот абсурдно далёко от неё и запредельно абстрактно.
          Где так: настоящий программист пишет программы только на Лиспе и только в EMacs, транслируя их в нумералы Чёрча, которые он потом правит руками.
          Ответить
          • Кстати, а если на крестах замутить нумералы чёрча вместо базовых типов? Т.е. отбросить не только if, while и т.п., но и вообще все базовые типы и операции над ними. И запилить всё через лямбды.

            Проблему пока вижу в общении с внешним миром - линуксовое ядро эти нумералы в syscall'аъ не принимает :(
            Ответить
            • так нумералы Чёрча на то и лямбды, что их можно к вызову любой функции прикрутить
              линукс пропатчить, чтобы он указатель на функцию вместо чисел принимал, и применял бы эту функцию к обычному инкременту
              вот кусок кода ввода-вывода одной VM, которая поддерживает только комбинаторы и один примитивный тип RealWorld
              -- Church to int conversion
              s (F f :. N i) = N $ f i
              s (F f :. F g) = F $ f . g
              -- IO
              s (Â' :. N i :. ψ @ (Ψ {})) = ψ {σ = toEnum i : σ ψ}
              -- Using  → Â' to indicate that Church → Int conversion has been started
              s (Â :. n :. ψ @ (Ψ {})) = Â' :. (n :. F (+1) :. N 0) :. ψ

              как видно, мы лифтим хаскельные инкремент, (.), ($) и 0 в VM, а потом позволяем ей доделать всё остальное согласно обычной семантике
              Ответить
              • template<typename A, typename B>
                B one(B(*f)(A), A a) {
                  	return (*f)(a);
                }
                
                
                int churchToInt(int (*f)(int (int), int)) {
                    return (*f)([](int a)->int {return a+1;}, 0);
                }
                
                int main() {
                	printf("%d\n", churchToInt(one));
                	return 0;
                }

                как-то так можно
                пердолиться с остальной арифметикой на крестах мне сегодня лень
                Ответить
                • Борманд должен мне полчаса времени и 100 грамм плутония нептуния
                  http://ideone.com/J9hZ4k
                  Ответить
                  • показать все, что скрытоНадо лисп на плюсомакросне сделать. Хотя вроде уже есть что-то такое http://www.intelib.org/
                    Ответить
                    • > лисп
                      > надо
                      эти два слова могут встречаться в одном предложении только при условии, что третье и последнее слово в нём -- "закопать"
                      Ответить
                      • Погуглил и нашёл предложение, в котором третье слово — «оставить».

                        http://maxim.livejournal.com/352305.html
                        Ответить
                    • если злоупотреблять макросами и шаблонами, в конечном итоге всегда получится лисп
                      Ответить
                      • >если злоупотреблять макросами и шаблонами, в конечном итоге всегда получится лисп
                        Иногда получается хаскелъ.
                        Ответить
                        • Но в нём нет макросов и шаблонов (если не включать темплейт хаскель).
                          Ответить
                      • Можно ещё тикль получить, но нунахуй.
                        Ответить
              • Ходишь на лекции по матану, ходишь, ничего толком и не меняется. Интегралы, пространства, подпространства, отображения, ряды... Сплошнейший застой и скука.
                А как одну пропустил -- так сразу Хуанос застрелил Альберто, Мария беременна, Чиполлино объелся чеснока, а Чёрч - так вообще s (Â :. n :. ψ @ (Ψ {})) = Â' :. (n :. F (+1) :. N 0) :. ψ.
                Ответить
                • всё ясно же, оператор Â_n в представлении Снаута, действующий на волновую функцию ψ, преобразуется в оператор Â'_n' в представлении Гопника Хаскеля
                  Ответить
            • В агде, кажется, нумералы Чёрча - это единственно верные инты.
              Ответить
              • там арифметика Пеано на ADT c хитрожопым преобразованием в обычные инты, а не нумералы Чёрча
                Ответить
        • показать все, что скрытоДа ониоба хуесосы

          И оперативка это не массив, просто оь вас ласеров это скрыто контроллером памяти

          И тролль лжец wwxw не знает что все выражаетс через моссив
          Ответить
      • - настоящие программисты не нуждаются в комментариях : текст
             программы все объясняет;

        А вот это, внезапно, уже вполне соответствует новым веяниям...
        Ответить
    • взять обычную функцию с ифами и циклами, засунуть её машинный код в const char[], кастануть его в указатель на функцию, вызвать
      Ответить
      • Лаба всё-таки предполагает объяснение кода. Будет весело :)
        Ответить
        • > Лаба всё-таки предполагает объяснение кода
          http://imgur.com/TutXNrT
          Ответить
      • Нужно ещё защиту от выполнения со страницы памяти снять.
        Ответить
        • Ага, было у нас такое: http://www.govnokod.ru/19017
          Ответить
        • может можно компилятор каким-то образом уговорить сделать это статически?
          t. clueless
          Ответить
          • Визуалку, емнип, можно было уломать на размещение переменной в rwx секции. Гцц, наверное, тоже.
            Ответить
      • вы только что придумали динамические библиотеки
        Ответить
    • Интересно, один ли я подумал о таком варианте развития событий?
      #include <vector>
      #include <algorithm>
      #include <iostream>
      #include <iterator>
       
      // пишем сортировку без if
      template <typename T>
      void sort(T &array) {
          std::sort(array.begin(), array.end());
      }
       
      int main() {
          std::vector<int> array = { 4, 6, 5, 7, 1, 3, 9, 2, 0, 8 };
          sort(array);
          std::cout << "{ ";
          std::copy(array.begin(), array.end(),
                    std::ostream_iterator<int>(std::cout, ","));
          std::cout << " }" << std::endl;
      }


      P.S. А С++ стал такой няшей после С++11 (включительно)
      Ответить
    • Еще одна цитатка, с небольшой заменой актуальна и ныне:

      Из собственного опыта, я думаю, можно смело сказать, что будущее прекрасно для настоящих программистов. Ни Linux, ни Сишка не высказывают ни каких признаков отмирания, несмотря на усилия программистов на С++. Даже такие изощренные уловки, как добавление RAII, конструкций объекто-ориентированного и функционального программирования в Сишку, провалились. Да, конечно, некоторые выпустили компиляторы С++, но каждый из них
      оставил возможность перейти в режим компилятора С89 с помощью добавления одного флага — чтобы управлять памятью как предписано Богом.
      Ответить
      • сишка не умрет до тех пор, пока:
        а. остается написанный на ней актуальный код
        б. остаются упрямые кодеры, которым легче всю жизнь вручную гонять байты, чем освоить ооп и шаблоны
        Итого, сишка будет жить вечно, потому что кодеры из (б) будут писать код из (а), называя всех с++-кодеров крестоблядьми
        Ответить
        • показать все, что скрытоШаблоны - говно. Если вы пишите некую компилтайм-херню на этих шаблонах, например сортировку пузырьком на этапе компиляции, вы эту херню нигде кроме как в компилтайме в плюсах применить не сможете. И если надо не в компилтайме сортировать некую хрень, надо будет писать сортировку заново. И возникает вполне логичный вопрос - а нахрена вообще писать эти шаблоны? Ведь если надо компилтайм, можно написать обычный (не-компилтайм) код, и использовать его тупо как дополнение к препроцессору. Можно вызывать произвольную консольную хрень из m4 https://www.gnu.org/software/m4/manual/m4.html#Syscmd
          Ответить
          • Шаблоны - это стандартный механизм введения компайлтайм-абстракции. Введенный, чтобы каждый из умников типа вас не городил свой костыльный препроцессор, чтобы потом не приходилось их запускать десятками перед сборкой любого более-менее большого проекта. Чтобы повысить переиспользуемость кода. И говорить, что шаблоны это плохо только потому, что в других языках подобного механизма нет как минимум глупо. Например, в скриптовых языках вся инфомация о типах уходит в рантайм, а в Go препроцессинг как раз таки реализован как вы предполагаете - костыльно.
            Ответить
            • показать все, что скрытоШаблоны - это стандартный но хуевый механизм введения компилтайм-абстракций. Хуевый т.к. код надо для компилтайма и рантайма дублировать.
              Вот https://ideone.com/RHz5vW С++ (если б не было говношаблонов(например в чистом Си), я мог бы нагерить код функций через genfunctadd). А вот пример на языке D http://melpon.org/wandbox/permlink/22k35NmuFvFuVGKu где это делается одним единственным кодом.
              Ответить
              • Всмысле "дублировать"? Зачем вам одно и то же в компайл и ран тайме? Если это посчитано на этапе компиляции, незачем считать это в рантайме. Более того, начиная с c++11 есть специальный модификатор constexpr, который позволит посчитать результат той или иной функции в компайл-тайме, если для этого хватает данных.
                Приведенные вами примеры генерации кода намного хуже, чем шаблоны.
                Ответить
                • @j123123 имеет в виду, что полезно использовать обычные функции языка при метапрограммировании на этом языке. В C++ для этого нужно реализовывать компайл-тайм версии и рантайм-версии отдельно: первые - метапрограммируя на шаблонах, вторые - на обычном языке. Загляните в Boost.MPL, там полно алгоритмов из STL реализовано заново только для того, чтобы ими можно было пользоваться в компайл-тайме.

                  Проблема известна, и недавнее введение в язык constexpr направлено как раз на её частичное устранение.

                  В лиспе, к примеру, компилятор может использовать в компайл-тайме встроенную или пользовательскую функцию, работающую со списками, для трансформации AST.
                  Ответить
                  • показать все, что скрытоhttps://ideone.com/RHz5vW
                    Этот пример даже не я сочинил, а спорящий со мной @j123123. Просто сравните читабельность двух процедур. А если надо написать что-то сложное?
                    Ответить
                • показать все, что скрыто>Зачем вам одно и то же в компайл и ран тайме?
                  Как зачем? Нужны конкретные примеры? Ну хорошо, допустим я хочу сделать некую хеш-таблицу
                  {"Петр Петрович", "$200", hash1}
                  {"Петр Иллич", "$1488", hash1}
                  {"Иван Петрович", "$400", hash2}
                  {"Петр Иванович", "$700", hash3}
                  {"Владимир Владимирович", "$10000000", hash2}
                  "hash?" это некое числовое значение(корзина), и у меня есть еще некая функция, которой если передать "Петр Петрович" то оно вернет число hash1, и потом я могу быстро найти. В начале у меня есть просто набор:
                  "Петр Петрович", "$200"
                  "Петр Иллич", "$1488"
                  "Иван Петрович", "$400"
                  "Петр Иванович", "$700"
                  "Владимир Владимирович", "$10000000"
                  без всяких хешей. Я хочу в компилтайме получить уже инициализированную хеш-таблицу. Я могу сделать это на этих гребаных шаблонах в компилтайме, но если я хочу еще в процессе работы править эту хеш-таблицу, например добавлять новых людей, то разве мне этот компилтайм-код поможет? Мне придется писать код для работы в рантайме, который дублирует функционал шаблонного кода. А нафиг мне вообще эти самые шаблоны, если я своим рантайм кодом могу накодогенерировать что мне надо, и просто заинклудить это в нужное место?
                  Ответить
                  • вам нужен constexpr, шаблоны тут вообще не к месту.
                    Ответить
                    • показать все, что скрытоУ constexpr слишком много дурацких ограничений.
                      Хотя шаблоны в этом плане еще хуже
                      Ответить
                      • примеры "дурацких ограничений" в студию, не будьте голословны
                        Ответить
                        • показать все, что скрытоhttp://en.cppreference.com/w/cpp/language/constexpr
                          Ответить
                        • показать все, что скрытоИли нужны конкретные примеры, где эти ограничения будут мешать?
                          Ответить
                          • Давайте.
                            Ответить
                            • показать все, что скрытоДа запросто. Берем какую-нибудь готовую сортировку, например сортировку пузырьком на Си, пытаемся через constexpr этот код адаптировать, чтобы я мог инициализировать массив таким образом, т.е. чтобы сама сортировка происходила на этапе компияции, и сортированные числа просто записывались в память. Например вот этот вот код http://rosettacode.org/wiki/Sorting_algorithms/Bubble_sort#C
                              Вот что получилось: http://goo.gl/bhmKTO
                              Это
                              .L16:
                              test r8d, r8d
                              jne .L15
                              test r13b, r13b
                              jne .L80
                              .L18:
                              cmp BYTE PTR [rsp+15], 0
                              je .L19
                              mov DWORD PTR [rsp+64], ebx
                              .L19:
                              cmp BYTE PTR [rsp+7], 0
                              je .L20
                              mov DWORD PTR [rsp+72], edi
                              .L20:
                              cmp BYTE PTR [rsp+6], 0
                              je .L21
                              mov DWORD PTR [rsp+76], r10d
                              .L21:
                              cmp BYTE PTR [rsp+5], 0
                              je .L22
                              mov DWORD PTR [rsp+80], esi
                              .L22:
                              cmp BYTE PTR [rsp+12], 0
                              je .L23
                              mov DWORD PTR [rsp+84], ecx
                              нихрена не компилтайм, это говно какое-то
                              Ответить
                            • показать все, что скрытоА с более старым стандартом эта сортировка вообще не хотела компилироваться в constexpr. Если вы мне покажете нормально отрабатывающую сортировку пузырьком, честно отрабатывающую в рантайме и сделанную на основе (и с минимальными изменениями) кода http://rosettacode.org/wiki/Sorting_algorithms/Bubble_sort#C я буду удивлен
                              Ответить
                              • constexpr появился в 11-м стандарте. "С минимальными изменениями" относительно кода на чистом си - серьезно?

                                Плюс к тому, в вашем примере bubble_sort - процедура, а не функция, со всеми вытекающими.
                                Ответить
                                • показать все, что скрытоДа, серьезно. Представьте что у меня есть некий готовый код на Си, который делает нечто полезное, и я хочу этот код вызывать в компилтайме для генерации каких-то данных и/или кода
                                  Ответить
                                • показать все, что скрытоИли я например хочу один раз написать некий код, делающий что-то полезное, и при этом хочу уметь его использовать и в чистом Си для рантайма, и в этих constexpr-ах
                                  Ответить
                                  • http://habrahabr.ru/post/228181/
                                    Пример о том, как вам достичь желаемого и не только. Правда, использовать придется с++14. А написать один раз, чтобы сразу двух зайцев - ну, мб, дефайны помогут, хотя проще будет написать два куска для разных случаев
                                    Ответить
                                    • показать все, что скрытоПроще написать один кусок для рантайма, скомпилировать его и потом использовать для генерации кода, через printf, std::cout << или любым другим удобным способом.
                                      Ответить
                                      • то есть, понимание шаблонов вам настолько не дается, что вам проще сгенерировать кусок кода вручную?
                                        Ответить
                                        • показать все, что скрытоНет, я хочу сказать что мне хочется написать код ОДИН РАЗ, а не писать отдельный вариант для компилтайма(с этими constexpr и дурацкими ограничениями) и отдельный для рантайма. Шаблоны и constexpr мне такой возможности не предоставляют.
                                          Ответить
                                          • вы хотите написать один код, который будет работать в ПЛЮСАХ в компайлтайме и в СИ в рантайме. Напишите мне один код, который будет в лиспе работать в компайлтайме, а в питоне - в рантайме.
                                            Ответить
                                            • показать все, что скрытоА причем тут лисп и питон вообще? Я вот взял код, на СИ (сортировка пузырьком) который в рантайме работает, собрал его ПЛЮСОВЫМ компилятором, и он у меня отлично заработал и на плюсах. Таким образом, этот код на СИ является вполне корректным кодом на ПЛЮСАХ
                                              Ответить
                                              • да, но никто негарантирует корректность с++-кода в плюсах. В этом случае плюсовый код будет некорректен в си
                                                Ответить
                                        • То есть, если есть некоторое свежее мнение, которое противоречит мнению толпы, то человек сразу не разобрался в вопросе?
                                          Послушайте, просто послушайте, что Вам говорит j123123, подумайте над этим.

                                          1. В языке C++ есть возможность писать код, который работает во время компиляции и код, который работает во время исполнения
                                          2. В принципе, на шаблонах можно написать всё то же самое (тьюрингова питушня и всё такое) за исключением ввода-вывода и с ограничением на вложенность шаблонов (Простого -ftemplate-depth хватает GCC для решения проблемы останова, над которой Тьюриг, CHayT и их апостолы бьются в математических спорах вот уже тысячелетия), но заново, что в нашем мире библиотек и переиспользования неприемлемо.
                                          3. C++ и шаблоны C++ - это не python и lisp, это не два языка, это один язык, поэтому логично было бы желать иметь единообразное описание программ.
                                          Ответить
                                          • При чем тут "свежее мнение"? Человек объясняет, что шаблоны и другие фичи в плюсах говно только потому, что их нет в си. Логично? Нет. Фича, которая его интересует (constexpr), есть в плюсах? Есть. Но, плюсы говно, потому что фичи нет в си. Логично? Нет.

                                            При правильном использовании, функция, результат которой будет вычисляем на этапе компиляции, будет отличаться от обычной функции только словом constexpr. Логично? Да. Человек приводит пример НАМЕРЕННОЕ нарушение требований constexpr и вообще банальной человеческой логики (constexpr void не несёт смысловой нагрузки) как аргумент против его использования. Логично? Нет. Это как жаловаться на язык потому что компилятор не умеет разбирать заведомо некорректную конструкцию.

                                            Последнее: шаблоны - прослойка поверх синтаксиса плюсов, отвечающая за метапрограммирование. Логично? Да. И это лучше, чем запихивать код в строки и редактировать его вручную.
                                            Ответить
                                            • > Человек объясняет, что шаблоны и другие фичи в плюсах говно только потому, что их нет в си
                                              Не объясняет. Речь об ограниченности шаблонов в C++ и проблемах C++.

                                              > Человек приводит пример НАМЕРЕННОЕ нарушение <...> банальной человеческой логики
                                              Знаете, вот есть "по закону", а есть "по совести". Есть банальная человеческая логика, а есть здравый смысл.
                                              Логика часто надеется на то, что программа выполнится за конечное и крайне малое время. В реальности же возникает бюрократия. Справка о том, что нужна справка, с подтверждением личности по паспорту, удостоверениям и кипе документов - понятие логичное, но крайне бессмысленное.
                                              Кто-то логичный сказал: "Давайте я решу на песке уравнение и пойму, кто из людей более ценный, чтобы его спасти", а кто-то здравомыслящий успел спасти, из-за него кто-то не утонул.
                                              Также логика точна, а здравый смысл работает с вероятностными величинами. Можно долго спорить о иррациональных числах и бесконечное количество времени вычислять число Пи, это логично, но можно работать с погрешностью. 3.14+-0.01 - всё то же старое Пи, заданное корректно с погрешностью, уместной в нашей задаче.

                                              Вы смотрите на проблему с точки зрения логики, посмотрите на неё с точки зрения здравого смысла.
                                              Ответить
                                              • если бы компьютеры ещё согласно здравому смыслу действовали
                                                Ответить
                                                • > если бы компьютеры ещё согласно здравому смыслу действовали

                                                  Они бы тогда убили и программистов, и пользователей.
                                                  Ответить
                                              • компьютер всегда работает исходя из логики, а не здравого смысла. Более того, если ваш здравый смысл противоречит логике, возможно, он не такой уж и "здравый"?
                                                Ответить
                                                • Логика - упрощённая модель здравого смысла. Грубо говоря, компьютер распознаёт лица по логике, а человек узнаёт, пользуясь здравым смыслом.
                                                  В общем-то затем и нужен программист, чтобы аппроксимировать здравый смысл в бинарную логику.
                                                  Если здравый смысл противоречит логике, значит эта модель (логика) здесь неприменима или недостаточна, нужно придумать логику получше.
                                                  Ответить
                                    • показать все, что скрыто> http://habrahabr.ru/post/228181/
                                      Вообще, очень показательный пример. Предположим что уже есть некая готовая кем-то написанная обычным способом функция на С/C++(уверен что есть), делающая разбор выражений вида "(4^2-9)/8+2/3". НО использовать ее в этих constexpr нельзя, и надо заново это все переписывать с учетом ограничений. Так почему бы вместо того чтобы переписывать, не сделать генерацию через эту функцию? Притом этот код на constexpr будет ТРУДНЕЕ для понимания, чем код, написанный в обычном стиле на тех же плюсах.
                                      Ответить
                                      • почему же? constexpr функции можно использовать в constexpr функциях, лишь бы они были определены на момент вызова
                                        Ответить
                                        • показать все, что скрытоА кто сказал, что там всюду будет constexpr? Там возможно используются вызовы malloc и тому подобные вещи, которые constespr-ом быть никак не могут.
                                          Ответить
                                          • сложно обернуть данные в класс с constexpr конструктором, тривиальным копированием и дефолтным деструктором? ООП изучали?
                                            Ответить
                                            • показать все, что скрытоОК, оберните мне сортировку пузырьком http://rosettacode.org/wiki/Sorting_algorithms/Bubble_sort#C с минимальными правками кода, и чтоб сортировалось все в компилтайме. Я посмотрю, как это будет выглядеть.
                                              Там даже нет никакого malloc
                                              Ответить
                                              • http://ideone.com/Kythll
                                                О масштабах изменений судите сами. Challenged? Check. Delivered? Check.
                                                Ответить
                                                • показать все, что скрытоТут пришлось изменить сигнатуру функции, это достаточно существенное изменение. Если вместо сортировки пузырьком взять некий реальный код, делающий нечто полезное, придется очень много переделывать. Надо ведь учитывать, что в реальном сишном коде(который при этом успешно соберется с++ компилятором, поэтому он будет и с++ кодом) вполне могут быть вызовы функций из стандартной библиотеки языка Си, например strcpy, memcpu, malloc итп. которые constexpr-ами не являются и которым придется искать замену, чтобы это работало в constexpr. Кроме того, из этого кода могут вызываться другие не-библиотечные функции, которые constexpr-ами тоже не являются, и для всех для них придется менять сигнатуру таким образом, чтобы их можно было объявить constexpr.

                                                  Я уж не говорю о таких "мелочах", как то, что этот constexpr-код сортировки в компилтайме отрабатывает очень долго по сравнению с тем, как если эту сортировку скомпилировать обычным образом и передать ей на вход массив, который надо отсортировать. При сортировке больших массивов он отрабатывает так долго, что clang начитает предполагать что там бесконечный цикл, и прекращает сортировку компиляцию, а gcc падает с internal compiler error(судя по всему от нехватки памяти).
                                                  Ответить
                                                  • си знает классы, лямбды, шаблоны и пр.? Нет. С++ код не является си кодом. Я не менял сигнатуру ФУНКЦИИ, я менял сигнатуру ПРОЦЕДУРЫ, а процедура не может иметь смысл как constexpr, и это потому что это логично, а не потому что язык говно. А обновлять и расширять легаси код всегда сложно, опять же, независимо от языка
                                                    Ответить
                                                    • показать все, что скрыто>си знает классы, лямбды, шаблоны и пр.? Нет. С++ код не является си кодом.
                                                      С++ код в общем случае не является С кодом. Но С код почти всегда можно собрать С++ компилятором(есть конечно пара-тройка несовместимостей, но это мелочи, можно поправить) и он будет корректно работать. Таким образом, очень большое количество С кода является С++ кодом.
                                                      >Я не менял сигнатуру ФУНКЦИИ, я менял сигнатуру ПРОЦЕДУРЫ
                                                      В языке СИ нет деления на процедуры, подпрограммы и функции, здесь вся программа строится только из функций. Есть понятие функции, возвращающей void.

                                                      >а процедура не может иметь смысл как constexpr, и это потому что это логично, а не потому что язык говно.
                                                      А меня не волнует. Допустим у меня есть работающий код из функций(или процедур если угодно), написанных в обычном Си стиле. Когда писался этот код, никаких constexpr-ов в плюсах не было, и естественно код писался в обычном стиле, а не так, чтобы потом если вдруг в плюсах появятся constexpr-ы то чтобы оно на них легко портанулось. Очевидно, что этот код просто так не засовывается в этот constexpr, и чтобы его туда засунуть, надо очень много переписывать, а заниматься такой ерундой никто не собирается. Так что если я вдруг захочу использовать этот код в компилтайме для генерации неких данных, я просто скомпилирую этот код обычным образом, прикрутив к нему вывод через printf или std::cout <<, запущу его и потом просто использую этот полученный вывод.
                                                      Ответить
                                                      • У меня есть код на си, я хочу перенести его на питон с МИНИМУМ изменений, а он не запускается! Питон говно!!!!1
                                                        Ответить
                                                        • показать все, что скрытоПитон разумеется был спроектирован на основе си, добавляя в него такие нужные вещи, как классы и шаблоны, и сохраняя обратную совместимость насколько возможно
                                                          Ответить
                                                          • В Вашем комменте Питон заменить на с++, смысл не изменится. Может хватит проектировать языки на основе уебищного си, а может стоит посмотреть в сторону паскаля скажем.
                                                            Ответить
                                                            • Хорошая заявка на местный рекорд жирноты, но нет.
                                                              Ответить
                                                      • 1. Абстрактный код, который вы хотите переделать, писался не на плюсах. Это не "стиль", это ДРУГОЙ язык программирования. Читайте это циклом пока не поймете.
                                                        2. Функция, которая ничего не возвращает назвыается процедурой. void - это как раз таки "ничто".
                                                        3.
                                                        > >а процедура не может иметь смысл как constexpr
                                                        > А меня не волнует.
                                                        "Я хочу чтобы void в компайлтайме пересчитался в отсортированный массив" - это финиш
                                                        Ответить
                                                        • показать все, что скрыто>Это не "стиль", это ДРУГОЙ язык программирования.
                                                          Почему же другой? Если он корректно компилируется С++ компилятором и корректно(так же, как если бы его компилировали С компилятором) выполняется, то этого разве недостаточно?

                                                          >Функция, которая ничего не возвращает назвыается процедурой. void - это как раз таки "ничто".
                                                          Хорошо, если вам такая терминология больше нравится, будем называть функцию, возвращающую void процедурой. В СИ это всего лишь частный случай функции, не более.

                                                          >"Я хочу чтобы void в компайлтайме пересчитался в отсортированный массив" - это финиш
                                                          А что не так? По-вашему, сделать это не представляется возможным? Или это как-то "методологически неправильно" ?
                                                          Ответить
                                                          • другой потому, что си не поддерживает парадигму ооп.

                                                            Сколько информации может нести переменная типа void? 0, черт подери, 0!, КАРЛ! Мы говорим о языке со СТАТИЧЕСКОЙ типизацией, где, в отличие всяких лиспов/питонов/жабаскриптов нельзя вместо true/false засунуть хеш или обратиться к 10-му элементу null-а и не получить ошибки.
                                                            Ответить
                                                            • показать все, что скрытоЕсли я пишу на С++ не используя ООП, я пишу не на С++, да?
                                                              Ответить
                                                              • если я пишу std::vector<int> я уже гарантированно пишу не на си. Если я пишу constexpr я гарантированно пишу не на си. Если я пишу template я гарантированно пишу не на си. Да какого хрена вы вообще припрели си? Он ни при чем. Более новый функционал не может поддерживаться более старой версией языка. Хотите пользоваться новым функционалом - переписывайте код.

                                                                Речь вообще была о с++. В с++ есть интересующий вас функционал? Да. Неумение им пользоваться - ваш личный геморрой. Всё. Вопрос закрыт.
                                                                Ответить
                                                                • показать все, что скрытоНеумение? Это функционал хреновый т.к. не позволяет мне переиспользовать уже написанный код. И вынуждает возвращать что-то через return вместо того, чтобы менять через указатели, переданные в аргументах.
                                                                  Ответить
                                                                  • Функционал позволяет переиспользовать уже написанный код. Просто для этого нужно этот функционал использовать, причем использовать правильно.

                                                                    Функция, меняющая состояние окружения в принципе не может являться выражением времени компиляции, т.к. логика работы программы зависит от времени вызова такой функции. И это правильно. То, с чем вы сравниваете, можно сделать хоть на си - написать препроцессор, который будет компилироваться на основе тех же файлов и заменять код основной программы перед её компиляцией.
                                                                    Ответить
                                                                    • > Функция, меняющая состояние окружения в принципе не может являться выражением времени компиляции, т.к. логика работы программы зависит от времени вызова такой функции. И это правильно. То, с чем вы сравниваете, можно сделать хоть на си - написать препроцессор, который будет компилироваться на основе тех же файлов и заменять код основной программы перед её компиляцией.

                                                                      Это теоретические вопросы. На практике как нечто полезное используется не состояние программы, а её результат. Нужно лишь попросить программиста предоставить какой-то результат.

                                                                      Можно определить некоторые переменные, которые будут экспортированы.
                                                                      Например, обозвать их compiletime:
                                                                      compiletime int x;
                                                                      compiletime int*y;
                                                                      int z;
                                                                      
                                                                      int ct_main(){
                                                                        y = malloc(10);
                                                                        x = 5;
                                                                        z = 2;
                                                                        if(y) y[0] = 6;
                                                                      }
                                                                      
                                                                      int main() {
                                                                        // z - не определена
                                                                        // y [0] - 6
                                                                        printf("%d", x);
                                                                        if(y) free(y);
                                                                      }

                                                                      Во время компиляции исполняется ct_main, после этого при запуске в compiletime-переменных хранится то, что было в них в момент завершения ct_main.
                                                                      Возможно, malloc/free/конструкторы/деструкторы патчатся, чтобы сохранить структуру экспортируемого объекта. Возможно, malloc и конструкторы должны выполняться при исполнении. Т.е. если есть динамический compiletime массив с посчитанными на этапе компиляции знаками пи, во время исполнения создаётся int*/std::vector с вызовами malloc/new/конструкторов и заполняется посчитанными знаками.
                                                                      Т.е. осуществляется сериализация/десериализация объектов.
                                                                      Если, скажем, статические поля класса как-то изменялись, но не были помечены compiletime, там им и место, они останутся неинициализированными, программист явно указал экспортируемое состояние, посчитать которое стоило больших, но однократных усилий.
                                                                      Ответить
                                                                      • malloc это функция размещения памяти в куче. Так как вы не можете гарантировать, что по адресу 0xXXXXXXXX вы сможете разместить N байт памяти, значение *y не может быть определено на этапе компиляции через malloc. Это не недоработка плюсов, просто так компьютеры сделаны.
                                                                        *y может быть посчитан только если есть статические константные N байт памяти программы, на которые он указывает. То есть для компайл-тайм вычисления сначала должны быть определены данные (которые зашьются в тело программы), а только потом вычисляется указатель на них. Поэтому
                                                                        constexpr struct { int data[3]; } getData() { return {{1,2,3}};}
                                                                        возможно, а через указатели - нет.
                                                                        Ответить
                                                                        • > Так как вы не можете гарантировать, что по адресу 0xXXXXXXXX вы сможете разместить N байт памяти, значение *y не может быть определено на этапе компиляции через malloc.
                                                                          Я же говорю, что
                                                                          1. malloc может быть пропатчен.
                                                                          2. важны данные, а не их положение, получение и т.д.
                                                                          Понятно, сложно или даже невозможно восстановить всё состояние программы. Но ведь тут надо работать как инженер, а не как математик. Возможно с таким приближением - делаем с приближением.
                                                                          (Кстати, на этапе исполнения абсолютно не важно, что вернёт malloc. Зачем копировать указатели, если они не несут смысла?)

                                                                          Вы же можете написать вот такую программу:
                                                                          int main() {
                                                                            int *pi = malloc(3);
                                                                            if(pi) {
                                                                              pi[0] = 3;
                                                                              pi[0] = 1;
                                                                              pi[0] = 4;
                                                                            }
                                                                            // ...
                                                                          }

                                                                          Что Вы делаете?
                                                                          1. Вычисляете число Пи
                                                                          2. Записываете знаки в блокнот
                                                                          3. Пишете программу

                                                                          Пусть кто-то вычислял Пи на этапе компиляции.
                                                                          Известны знаки числа Пи после компиляции? Можно их сохранить? Да и да.
                                                                          А значит компилятор может создать программу, которая вызывает malloc и заполняет массив.

                                                                          Или сериализация/десериализация в принципе не возможны, их вообще в мире не существует?
                                                                          Ответить
                                                                          • я говорил только про выделение памяти В КУЧЕ. Оборачиваете массивы данных в структуру, размещаете на стеке и вуаля.

                                                                            Сериализацию/десериализацию пакетов фиксированной структуры лично я обычно так и делаю.
                                                                            Ответить
                                                                            • показать все, что скрытоВНЕЗАПНО, во время компиляции никто не мешает выделять память В КУЧЕ, и потом байтиками из выделенной памяти инициализировать некие массивы. А стека может элементарно НЕ ХВАТИТЬ при работе с большими объемами данных
                                                                              Ответить
                                                                            • Так и с кучей всё аналогично, только нужно чуть серьёзнее переписать компилятор.

                                                                              Вариант первый (выше я его упоминал)
                                                                              1. Для каждого типа, который участвует в экспортируемых в рантайм выражениях (тип экспротируемой переменной, типы её полей, типы полей их полей и т.д.), генерируется дополнительный конструктор инициализации; для malloc генерируется конструктор массива.

                                                                              2. Во время компиляции за каждой создаваемой переменной следят, чтобы определить способ её построения. Т.е., какие конструкторы надо вызвать, чтобы получить такую переменную. Но с ограничениями: не помнить иерархию изменений, не следить за кастами указателей в инты и т.п.
                                                                              Например, был указатель и блок памяти длиной 8 байт, сделали placement new и сконструировали объект типа A размером 8 байт, затем сделали placement new и сконструировали объект B размером 4 байта и экспортировали указатель. Во время исполнения под указатель выделится 8 байт, первые 4 заполнятся объектом B, остальные не будут определены. Если в экспортируемом объекте был указатель на объект, который сейчас в памяти, о котором есть метаданные (кто-то вызвал malloc или конструктор), то записывается сожержимое, иначе - error/warning для компиляции или же нулевой указатель.

                                                                              3. Во время исполнения вызываются специальные конструкторы и пропатченный malloc, заполняющие экспортированные объекты вычисленными на этапе компиляции значениями. Объекты становятся такими же, как будто бы программист вручную написал код как в предыдущем моём комментарии. Т.е. их можно изменять, удалять и т.д.
                                                                              Ответить
                                                                            • Вариант 2
                                                                              1. Определяем правила для compiletime-классов: есть конструктор, инициирующий все поля; все поля - compiletime-типы.
                                                                              2. Просим пользователя на этапе компиляции засунуть результат в compiletime-типы. Иначе - ошибка. Т.е. на этапе компиляции программа творит любые непотребства, но экспортирует их в строгие compiletime-типы.
                                                                              3. На этапе компиляции следим только за созданием compiletime-типов.
                                                                              4. На этапе исполнения восстанавливаем экспортированные объекты как в варианте 1.
                                                                              Возможно, потребуется создать шаблонный псевдокласс std::compiletime<T>, который будет автоматически преобразовывать T в compiletime-тип. На этапе исполнения std::compiletime<T> будет иметь дополнительный конструктор, но более никак не будет отличаться от T.
                                                                              Ответить
                                                                              • compiletime int x;
                                                                                compiletime int*y;
                                                                                compiletime std::vector<std::vector<int>*> z;
                                                                                
                                                                                int ct_main(){
                                                                                  int* m = malloc(10); // m - просто какой-то адрес; его нельзя будет экспортировать
                                                                                
                                                                                  std::compiletime<int> k = std::compiletime_malloc<int>(10);
                                                                                  // k - адрес фигни, которую можно вычислить и сделать частью экспортируемого объекта
                                                                                  y = k;
                                                                                  x = 5;
                                                                                  if(y) y[0] = 6;
                                                                                  
                                                                                  std::compiletime<std::vector<int>*> z0 = new std::compiletime<std::vector<int>>;
                                                                                  // z0 - адрес фигни, которую можно вычислить и сделать частью экспортируемого объекта
                                                                                  z0.push_back(1);
                                                                                  z.push_back(z0);
                                                                                }
                                                                                
                                                                                int main() {
                                                                                  printf("%d", x);
                                                                                  if(y) free(y);
                                                                                }
                                                                                Ответить
                                                                                • Ребят, откройте для себя D.

                                                                                  Там очень няшный компайлтайм, не то что крестоблядское уёбище по имени constexpr. Даже файлы читать можно. Файлы в компайлтайме, Карл!

                                                                                  Насчёт практичности всего этого - протобуф без внешних генераторов, просто либой. Регулярки с компайлтайм парсингом и статической проверкой. Сериализация без бойлерплейта и генераторов. Разве всё это нинужно?
                                                                                  Ответить
                                                                                  • > Сериализация без бойлерплейта и генераторов.

                                                                                    И printf, который не требует особой компиляторной магии для проверки, при ошибке переходишь в код валидации в стандартной либе.

                                                                                    Я развлекался с D (в основном, правда, решая олимпиадные задачки), прочитал книжку Александреску. В целом весьма приятный язык, рекомендую.
                                                                                    Ответить
                                                                                  • показать все, что скрытоhttp://govnokod.ru/19105#comment307736 тут я как раз приводил пример D кода
                                                                                    Ответить
                                                                                  • Норм, заценил.

                                                                                    http://dlang.org/template-comparison.html
                                                                                    Вот этот пример, однако, позабавил:
                                                                                    template<int n> class factorial
                                                                                    {
                                                                                      public:
                                                                                        enum
                                                                                        {
                                                                                    #if (n == 1) // error
                                                                                          result = 1;
                                                                                    #else
                                                                                          result = n * factorial<n-1>::result
                                                                                    #endif
                                                                                        };
                                                                                    };

                                                                                    http://media.giphy.com/media/3o85xoH0tmyTKstS9y/giphy.gif
                                                                                    Ответить
                  • показать все, что скрытоИменно так и решили жабоебы, и выпилили препроцессор
                    Ответить
              • Mixin - это же сраный eval!
                Ответить
              • > Хуевый т.к. код надо для компилтайма и рантайма дублировать.
                статика в тьюринг-полных языках по-хорошему всегда должна и будет иметь другую семантику, нежели рантайм, поскольку мы хотим, чтобы компиляция завершалась
                (не берём в расчёт кресты -- там своя атмосфера)
                type-foo в haskell тоже пишется отдельно, и это правильно
                Ответить
                • показать все, что скрытоКому должна? Если компиляция не завершается, это значит что где-то в коде баг и его надо исправлять.
                  Ответить
                  • сразу виден лиспер: он не хочет, чтобы машина ткнула его носом в ошибку, он хочет вляпаться в неё и потом отмываться
                    Ответить
                • > всегда должна и будет иметь другую семантику

                  Вот занятный пример: человек запилил проверку SQL-запросов в compile-time.
                  https://github.com/darioteixeira/pgocaml
                  Правда, компилятору коннект к базе нужен, лол :)
                  Ответить
                • показать все, что скрытоЕсли код для работы в компилтайме тьюринг-полный, то вне зависимости от того, совпадает или не совпадает семантика кода-для-компилтайма с обычным кодом, компиляция у нас может не завершиться
                  Ответить
                  • Задача:

                    Для произвольной программы определить, закончится ли её компиляция
                    Ответить
                  • нахрен, простите, тьюринг-полнота в компайл-тайме?
                    она и рантайме-то не всегда желательна
                    Ответить
                    • показать все, что скрытоА чем она мешает? Не нравится(или как вариант - не нужна для текущей задачи) - не используй. А когда будет нужна - используй.
                      Или хочешь сказать, что она вообще никогда не нужна? Если да, с этим утверждением я готов поспорить
                      Ответить
                • > статика в тьюринг-полных языках по-хорошему всегда должна и будет иметь другую семантику, нежели рантайм, поскольку мы хотим, чтобы компиляция завершалась

                  рантайм в тьюринг-полных языках по-хорошему всегда должен и будет иметь другую семантику, нежели рантайм, поскольку мы хотим, чтобы исполнение программы завершалось
                  Ответить
                  • экмоложцев безкомпиляторных не спрашивали
                    Ответить
                    • Обидно.
                      Но почему для Вас так важно знание о завершении компиляции, что из-за этого даже можно сломать язык потерять универсальность языка?

                      У нас есть резервный компилятор %windir%\Microsoft.NET\Framework\v4.0.30 319\jsc.exe
                      Ответить
                      • а я не люблю обмазываться undecidable проблемами и решать частные случаи проблемы останова
                        Ответить
                        • kill -9 - общее решение проблемы останова.
                          Ответить
                          • нихуя не общее: зомби или зависший на определённых сисколлах процесс так не остановить
                            Ответить
                            • reset - общее решение проблемы останова

                              P.S. А зомби зачем останавливать? От него и так одна шкурка осталась.
                              Ответить
                              • >reset - общее решение проблемы останова
                                REISUB.
                                Ответить
                                • reset более общий, т.к. решает даже проблему останова ядра. Причём для всех операционок и даже при их отсутствии...
                                  Ответить
                                • kernel panic loop и этим не возьмёшь
                                  не пытайтесь спорить с Тьюрингом
                                  Ответить
                                  • Если проблема останова не решается - просто выдерни вилку из розетки.
                                    Ответить
                                    • ага, а любая шахматная партия заканчивается ничьёй
                                      Ответить
                                      • Кстати, а чаще выигрывают белые или чёрные?
                                        Ответить
                                        • Чигорин.Очевидно что Белые, за счёт инициативы первого хода.
                                          Ответить
                                          • Совсем не очевидно. А вдруг любым первым ходом они ставят себя в невыгодное положение?
                                            Ответить
                                            • Лол. Суть начала шахмат - развитие.
                                              >вдруг любым первым ходом они ставят себя в невыгодное положение?
                                              А для этого есть возможность скипнуть ход (конём туда-обратно или пешкой не через два поля, а по одному). И тогда чёрные становятся белыми.
                                              Ответить
                                              • > возможность скипнуть ход
                                                > в шахматах
                                                О_о
                                                Ответить
                                                • ну когда играешь с другом и он случайно тупнул - то почему нет?
                                                  Ответить
                                  • kernel panic loop можно взять этим: https://i.imgur.com/JkrH2aq.png
                                    Ответить
                              • да
                                Ответить
                        • Чем же мешают эти undecidable проблемы? Зачем что-то решать (кстати, факторизация - decidable?), когда можно подождать разумное время и убить.
                          Кажется, wvxvw нанял вместо себя тролля-теоретика.
                          Ответить
                          • > Чем же мешают эти undecidable проблемы?
                            они стрёмные
                            > кстати, факторизация - decidable?
                            да
                            >когда можно подождать разумное время и убить
                            разумное время подождать и убить, смышлёное пространство убить сразу, а истеричную энергию избить в переулке
                            > тролля-теоретика
                            wow rude
                            Ответить
                            • > они стрёмные
                              Это какой-то уход в мир грёз и поиск виновных ради раскрываемости... Я не дождусь, пока компьютер посчитает от 1 до N >> 1 с вероятностью не менее 1 - 1/N, а фанаты Тьюринга что-то про вычислимость говорят. А в то же время где-то крутится сервер с while(1) { processRequest(); } и всем дарит счастье.
                              Ответить
                              • >Я не дождусь, пока компьютер посчитает от 1 до N >
                                > а фанаты Тьюринга что-то про вычислимость говорят
                                Ээээ.
                                А подскажите пожалуйста, а для каких чисел N зависнет цикл дописывающий сзади 1 к бинарному представлению N после чего добавляющий к результату исходное N, в случае если N - нечётное,
                                и убирающий из конца бинарного представления все 0, если N - чётное.

                                while (N > 1) { 
                                   N = (N&1==0) ? N/2 : N*3+1; 
                                }
                                Ответить
                                • Для положительных значений Int32 требуется в среднем 175 итереций для того, чтобы достичь цели. Максимум - 971 итереция для числа 1674652263, среднее количество итереций растёт логарифмически.
                                  Думаю, даже для UInt64 выдержит, вычисление упрётся в длинную арифметику.
                                  В среднем наверно хватит на 1К десятичных знаков, но где-то там может встретиться роковое число, из-за которого зависнет.
                                  Ответить
                                  • Это гипотеза Коллатца, если что, aka сиракузская проблема.
                                    Ответить
                                    • гыгы. Надо было ссылку дать гипотеза Коллатца
                                      Ответить
                                      • Не нажимается! Куда слать СМС чтобы пройти проверку на спам?
                                        Ответить
                                • ни для каких. Если N - четное, первая же итерация уменьшит его. Если N - нечетное больше 1, то за три последующие итерации оно уменьшится.
                                  Ответить
                                  • > ни для каких

                                    Поздравляю, вы решили одну из нерешённых проблем математики! Не забудте получить свой приз ТУТ
                                    Ответить
            • показать все, что скрытоНо вообще все это хуита, надо как в лиспе чтоб гомоиконность
              Ответить
          • А еще крестоблядские шаблонопидарасы настолько выживают из крестоума, что крестобляские крестопрограммы крестокомпилируются крестогодами, из-за того что Александреску когда-то просто прикололся.
            Ответить
            • показать все, что скрыто... Внезапно АНДРЕЙ увидел ВЫЧИСЛЕНИЕ ЧИСЕЛ ФИБОНАЧЧИ ВО ВРЕМЯ КОМПИЛЯЦИИ НА C++ и замер. В его уставшей, больной голове что-то щелкнуло - он нашел, что искал. Он начал читать книги по C++. Чем дальше он проникал в тайны C++, тем больше он понимал, что этот язык создан для него. Мерзкие извращения, которые он наблюдал на страницах, глубоко резонировали с его истерзанной и едко ненавидящей все светлое душой. Его глаза наливались кровью от удовольствия и слезы текли по щекам, от осознания, что на свете есть люди, не намного менее больные, чем он. АНДРЕЙ понимал, что скоро ему сделают третью лоботомию и тогда он вряд ли сможет написать книгу. Времени до третьей лоботомии оставалось немного и АНДРЕЙ решил начать писать книгу прямо сейчас. "THE TIME IS NOW, ANDREI", сказал он вслух самому себе на ломаном английском с выблядски кривым акцентом и начал писать. Вначале он не знал, в чем суть того, что он пишет. Но со временем картина стала ясной как день. АНДРЕЙ взял самый гнилой, уродский и омерзительный язык программирования и решил довести его до уровня сумасшествия, до сих пор невиданного в мире людей. Первый (и последний) технический рецензент его книги, сошел с ума и убил всю свою семью, после прочтения нескольких глав. Узнав об этом АНДРЕЙ смеялся, пока не потерял сознание. АНДРЕЙ понимал, что все идет как надо. Сразу после того, как он дописал последнюю главу, ему сделали последнюю лоботомию и писать книги ему больше не хотелось. Представители издателя взяли книгу АНДРЕЯ и, согласившись ее издать, спросили у него, как бы он хотел ее назвать. На ломаном, кривом английском он ответил: "MODERN C++ DESIGN: GENERIC PROGRAMMING AND DESIGN PATTERNS APPLIED BY ANDREI ALEXANDRESCU". Его акцент был настолько уебищен, что представители издателя начали ржать, с такой силой, что моча начала струиться по их ногам. Но, слишком поздно они поняли, что это была моча АНДРЕЯ...
              Ответить
              • "я чего-то не понимаю? Нет, этого не может быть, это не я тупой, это они хуйню придумали"
                Ответить
                • показать все, что скрытоИменно что хуйню. В лиспе это все намного лучше.
                  Ответить
                  • "с++ плохой потому что не как лисп" - черт, я спорил с глором...
                    Ответить
                    • показать все, что скрытоПотому что нет гомоиконности
                      Ответить
                    • показать все, что скрытоПотому что я не могу один и тот же код использовать и в рантайме и в компилтайме
                      Ответить
                      • А нодо-экмаскриптушники хотят использовать один код и на сервере и на клиенте...
                        Ответить
                        • показать все, что скрытоДа, можно например Си код компилировать в javascript через emscripten
                          Ответить
                        • Вы так говорите, как будто это что-то плохое.

                          P.S. Кстати, в этом треде собрались удивительно нелогичные люди, которые, с одной стороны, погрязли в формализме, математике и логике с ног до головы и отрицают полезные нововведения, а с другой - пользуются существующими хаками и нелогичностями. То есть, если бы я говорил, что число Пи можно записать и использовать, они бы сказали "да как же, нет, нельзя, теория, формализм", а как только какой-нибудь авторитет показал бы им Пи в double и плавающего питуха, повсеместно используемого, так сразу можно.
                          Иными словами, некоторые пользователи ГК верят в логику ровно до тех пор, пока какой-нибудь авторитет вроде Страуструпа не покажет им авторитетный нелогичный метод решения их проблем вроде kill и double.
                          Ответить
                          • nice strawman
                            Ответить
                          • >Вы так говорите, как будто это что-то плохое.
                            Не знаю. Всегда думал что для любого по-настоящему ленивого чело программиста dry и code reuse не пустые звуки.

                            К тому же джве разных версии кода имеют свойства разъезжаться при долгом маинтенсе.

                            >хотят использовать один код и на сервере и на клиенте...
                            На мой взгляд это единственное что сколь-нибудь оправдывает серверный js. Хотя тут конечно поджидает неприятный нюанс в виде невозможности использования новых фич (надо чтоб в старых браузерах).
                            Ответить
                            • > неприятный нюанс в виде невозможности использования новых фич (надо чтоб в старых браузерах).
                              А вот arrow functions у меня в node не работают. Хотя я, кажется, обновлял недавно.
                              Хотя, есть же трансляторы. Особо умные уже пишут на ES7.
                              Итого: пишем на ES6 или ES7, код автоматически приводим к ранней версии JS (делая его пригодным как минимум для серверной стороны) и переиспользуем.
                              Ответить
                              • > А вот arrow functions у меня в node не работают. Хотя я, кажется, обновлял недавно.
                                Нет, уже работают. Таки давно обновлялся.
                                Это на далёкой машине с линуксом недавно обновлялся, только там в репозитории была версия времён Ленина.
                                Ответить
                              • показать все, что скрытоВот такая штука https://en.wikipedia.org/wiki/Haxe есть, которая во что попало компилируется. И на ней можно писать клиент-серверный код

                                Bytecode Targets produce executable byte code (Neko, SWF, SWF8), that can be executed directly by the runtime (Neko VM, Adobe Flash Player, Adobe AIR). Haxe API and platform-specific API is available.

                                Language Targets produce source code (AS3, C++, C#, Java). Most source code must be compiled by a third-party compiler to produce an executable file (Flex SDK, GCC, Microsoft Visual C++, Microsoft .NET, Java compiler). JavaScript and PHP code can be run directly, since the runtime uses just-in-time compilation. Inline code written in the target language can be inserted at any point in the application, thereby supporting the entire platform API; even features missing from the Haxe wrapper API.
                                Ответить
                                • Интересная штука.

                                  Т.е. существует .NET, который "что угодно в одно" и Haxe, который "одно во что угодно".
                                  Кстати, штуку "что угодно в что угодно" уже создали?
                                  Ответить
                                  • > что угодно в что угодно
                                    Нет вроде бы. Зато можно компилить haxe во что угодно и запускать всё это на .net.
                                    Ответить
                                  • показать все, что скрыто>Кстати, штуку "что угодно в что угодно" уже создали?
                                    Не слышал о таком. Но наверяка это возможно. Только вот если захочется x86 ассемблер откомпилировать в java например, это будет ооооочень медленно
                                    Ответить
                                  • Если написать транслятор Common Language в Haxe, то задача сведётся к предыдущим.
                                    Ответить
                                • показать все, что скрытотыкая по ссылкам в вики нашел вот это
                                  https://ru.wikipedia.org/wiki/Vala
                                  пости С# компилится в сишечку.
                                  Ответить
                                  • какая валла мне больше по душе

                                    http://eu.battle.net/heroes/ru/heroes/valla/
                                    Ответить
                                • > Haxeр
                                  Наконец-то хоть современные технологии и языки, а то всё напитон да напитон.
                                  Ответить
                                  • Напомнило:
                                    http://catb.org/jargon/html/p-convention.html

                                    Англоязычные лисполюбы добавляли суффикс “-p” к словам для придания вопросительной интонации:
                                    — Haxe-p?
                                    — T!
                                    Ответить
                                    • Сделаю репост, а то ссылка уже не работает.

                                      The -P Convention

                                      Turning a word into a question by appending the syllable ‘P’; from the LISP convention of appending the letter ‘P’ to denote a predicate (a boolean-valued function). The question should expect a yes/no answer, though it needn't. (See T and NIL.)

                                       
                                           At dinnertime:
                                                 Q: “Foodp?”
                                                 A: “Yeah, I'm pretty hungry.” or “T!”
                                      
                                           At any time:
                                                 Q: “State-of-the-world-P?”
                                                 A: (Straight) “I'm about to go home.”
                                                 A: (Humorous) “Yes, the world has a state.”
                                      
                                           On the phone to Florida:
                                                 Q: “State-p Florida?”
                                                 A: “Been reading JARGON.TXT again, eh?”


                                      [Once, when we were at a Chinese restaurant, Bill Gosper wanted to know whether someone would like to share with him a two-person-sized bowl of soup. His inquiry was: “Split-p soup?” — GLS]
                                      Ответить
                            • > невозможности использования новых фич

                              Сейчас же почти что угодно компиляется в JS. Поэтому вполне можно писать и клиент, и сервер, на каком-нибудь Haskell / Clojure, и генерировать клиентскую часть соответствующим компилятором хоть в asm.js. По сути ведь в GWT эту задумку и реализовали, причём уже довольно давно.

                              Конечно, на клиенский код будут ограничения, но и ведь не любой нодовый JS можно на клиенте использовать.

                              А уж компилять новый диалект JS в старый при сборке вообще (в теории) не проблема.
                              Ответить
                              • показать все, что скрытоплюсую как юзавший skulp.js и видавший фронтенд приложение на кложе.

                                JavaScript is new ISA:) (instruction set architecture), лол
                                Ответить
                                • > юзавший skulp.js

                                  Ну и как, окупило себя хождение напитон в клиенте?
                                  Ответить
                                  • показать все, что скрытоКонкретно в этом приложении -- да.
                                    Но оно было ОЧЕНЬ простое. Полезность питона в огромной стандартной библиотеке, и я не думаю что вот прямо вся она отлично работает в браузере.
                                    Ответить
                                    • Пишете свою библиотеку? Но ведь её нужно проверять.

                                      Профессионалы доверяют стандартной библиотеке. Стандартная библиотека — всё проверено до нас.
                                      Ответить
                                    • а можно подробностей почему не хватило js?
                                      Ответить
                                      • показать все, что скрытоХотелось переюзать часть бизнес-логики чтобы валидировать данные на клиенте очень быстро, не засылая запрос на сервер.
                                        Логика уже была написана на питоне.

                                        Но я не считаю это серьезным решением: как минимум они не умеют тройку.

                                        А вот GWT я видел в продакшене еще в 2009-м году. Это было single page application которое сосало данные через COMET (вебсокетов тогда еще не умели), и дело было не в переюзании логики, а в нежелании писать на javascript)
                                        Ответить
                                        • Просто надо писать бекенд на ноджс и использовать реакт.
                                          Ответить
                                          • показать все, что скрытоне-а, не надо. На джаваскрипте вообще никогда не надо писать.

                                            во всяком случае на той версии, куда не завезли ключевое слово class
                                            Ответить
                                          • только заради code reuse валидаторов ввода на форме?
                                            там в визуальщине и метапитушне (где какой инпут зависит от другого, чтобы каскадно их апдейтить, с шашечками как в экселе) больше работы, чем в непосредственно проверке собранной модели на валидность
                                            Ответить
                                            • показать все, что скрытоТам не просто валидация, там были довольно мутные фукнции, некоторые из которых были документированы только их реализацией на питоне:)

                                              Писать ДВА раза бизнес-логику это вообще самый ужасный ужас, который может случиться.

                                              Другой вопрос что можно было описать ее языконезависимо и генерить(или программировать) по ней клиент и сервер. Жаль что нет каких-то стандартных языков для этого (ну или мне они неизвестны)
                                              Ответить
                                              • > ДВА раза бизнес-логику
                                                Дак в том и дело, что бизнес-логика на клиенте и на сервере всё равно различна. Один клиент, другой - сервер. Клиент вообще может что угодно заслать - апи то открытое, всё видно в F12, исходники (даже обфусцированные, но исходники) клиента у злоумышленника в наличии.

                                                Пусть даже у них модель будет одинакова, включая связи между сущностями (и это чистая правда, и даже мы предпринимали потуги по автогенереции .ts моделей из .java, в итоге фронтовики сказали - лан, это всё заебись, но руками мы более качественный кот напишем, это 10 минут работы) - сама логика (сервисы) будут иметь различную реализацию - потому что ты в одном месте (фронт) контролируешь пользовательский ввод на уровне связи инпутов с моделью и взаимозависимостей вьюх (так, ага, тыкнули сюда, показываем вот это), а в другом (бек) тупо проверяешь уже пачку этих объектов, собранных воедино в объект AllEnteredUserStuffToProcessFoo - беку насрать на атомарные действия юзера, он контролирует шаги более крупно (в пределе - в один пост сразу весь конечный самодостаточный итог, который проверяет бек и ТОЖЕ может отказать фронту, но уже по причине того, что весь кумулятивный объект ему не понравился)

                                                Ты же не будешь на фронте считать конечную стоимость КАСКО, и потом уже захуяривать на бек запрос "выстави этому придурку счет на 100500 рублей, вот конечное число, я тут на фронте пощитал", как и не будешь на бек слать "так, он тут фамилию свою ввёл, и перешёл на другой инпут, че делать"

                                                В любом случае, я не настаиваю, хозяин барин. Прост хотелось узнать как так вышло. Ответ устроил.

                                                Мы, например, кое-где в жабьем беке сами движок v8 заембеддили, у нас тоже причины были на это (не код реюз).
                                                Ответить
                                                • показать все, что скрытоНу вот примеры логики, которая может быть общей и на клиенте и на сервере
                                                  * валидация полей (регулярки, граничные значения для числовых полей)
                                                  * доступность полей в зависимости от других: если в поле A я ввел foo, а в поле B ввел bar, то в поле C можно выбирать только 1 или 2, а иначе там будет еще 3.
                                                  * если заполнены поля A и B, то так же нужно заполнить поле C.

                                                  Разумеется, сервер не доверяет клиенту и заново все это валидирует. Просто пользователю приятнее когда ГУИ ему помогает, а не сообщает в конце что он не заполнил нужное поле.

                                                  И конечно сервер может валидировать более глобальные вещи чем один объект, представляющий форму. Ну это гую никак не мешает.

                                                  Есть разные попытки решить это генерацией HTML. Скажем, в джанге можно указать max_length поля и некоторые формочки отрендерят ее с HTML5 input type=number, но это не везде работает, и не всё можно этим покрыть.
                                                  Ответить
                                                  • [Слишком длинный комментарий! Максимум 2000 символов!]

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

                                                    Порассуждаю вслух.
                                                    Каждый инпут должен быть связан с моделью, поменяли инпут - изменился объект, изменился объект - изменился инпут. Модель в т.ч. подразумевает, что ты должен насосать кучу справочников, в т.ч. иногда подсосать по мере ввода. Что изменяя инпут А и Б, у тебя подмножество допустимых значений инпута Ц должно пройти фильтрацию (влияя ли на UI, сокращая количество опций в дропдауне, или просто на результат проверки инпута Ц - дело второе). При этом фронту еще огого сколько делать кроме общения непосредственно с модулем валидации.

                                                    Т.к. на фронте и так сосать все эти справочники, в варианте с подключением питона надо учесть момент, что в режиме работы на фронте эти справочники ему скормит жс, а на сервере он те же репозитории найдет с более другой имплементацией. Требуется 1:1 мапинг питоновских объектов на жсные, чтобы питоновская модель соответствовала модели жса (чтобы питон мог в своих объектах сохранить атрибуты isValid, isEnabled, userNoticeText и т.д., на которые соответствующе отреагирует фронт). Ну т.е. взлетит, правда накладных расходов все больше на эту конструкцию.

                                                    Чтобы окупилось, требуется чтобы на беке реально был напитон, и чтобы таких форм реально было много и все нетривиальные. Я даже предполагаю в каких отраслях народного хозяйства нужен такой беспредел.
                                                    Ответить
                                                    • [ч.2]
                                                      > Жаль что нет каких-то стандартных языков для этого
                                                      Для агностик решения потребуется описывать метапитушню на чем-то декларативном, и учить и фронт, и бек эту метапитушню переваривать одинаково (ну или хотя бы генерить из бека метапитушню, разбираемую фронтом), что выйдет ещё дороже, чем когда фронт и бек уже сразу на "питоне" (ну или на реакте+ноде, как советовали выше).
                                                      Я тоже не знаю таких библиотек, которые бы что-то автоматизировали (т.к. у нас нет портянок по 50 инпутов, с зависимостями от фаз луны).

                                                      Самое позорное случится тогда, когда библиотека перестанет удовлетворять 1% потребностей, и для поиска обходных путей придется вложить столько костов и граблей, что разделение между клиентом и сервером логики валидации с дублированием покажется не такой и плохой темой в реализации и сопровождении.
                                                      Ответить
    • Комменты интереснее чем статьи на хабре
      Ответить
    • показать все, что скрытоЯ что-то не понимаю


      --------
      <a href=https://bezopasnik24.ru>техническое обслуживание пожарной сигнализации</a> | https://bezopasnik24.ru
      Ответить
    • показать все, что скрытоРотация вчерашней технического оснащения собственно на свежую - это надобность, какая возникает следующие два-три года, скорое развитие приложений плюс свежего формата электронной аппаратуры выставляет к продаже планшеты, какие различный абонент желает заказать в прямое период, то что напрямую к тому же доступно сделать через сервесную- фирму, какова работает над продажей гаджетов. Фирма дает возможность пользователям выполнить быстрый этапность касательно обмена вышедшей с моды оборудования еще и получения новой за минимальное действие: продавец указывает информацию работающему оператору, регулирует отпуск ожившей аппаратуры, также производит чистыми деньгами в малость минут. Работать из Digitbuy <a href=http://www.digitbuy.ru/11-skupka-telefonov.html>продать iphone</a> практично на возможном виде, наша команда производит закупку электроники также качественной установок, сотовых, фотоаппаратов, Apple оборудования, ноутбуков также других агрегатов в различный момент суток, и непрерывно предлагаем хорошие договор скупки плюс солидные оплату http://www.digitbuy.ru/ на ваш товар. Звоните, также производите надобную сумму, тогда когда потребителю удобно со DigitBuy.
      Ответить
    • показать все, что скрытоВо время беседе, конгресса, деловых вечере непременно предлагают выпить кружку кофе или же чая, именно как принцип - чем больше элитней станет вид презентуемого какон, тем предпочтительней и сходное налаженность личного партнера . Сервисный- маркет дорогого чайных листьев также какаобобов <a href=http://www.kofeichay.ru/133-podarochnye-nabory-dammann.html>чай dammann подарочный набор</a> выставляет пользователям и ценителям нагретых какао большой ассортимент чая, кофе, кофейных машин к тому же аппаратов именно для приготовление доброкачественного кофе, лишь у нас пользователь можете выбрать презентные комбинации с Dammann, Кофеичайру, приготовить кофейные зерна и зеленые листья оптом либо в розницу, а также принять участие у оперативных деяниях. Заказать эксклюзивный кофе Milani, Molinari, Musetti, illy, Danesi, чай Coccole, Nik Tea, Dammann, Althaus плюс указанные под офиса также http://www.kofeichay.ru/ себе клиенты сумеют у нашем веб сайте элитного кофе совместно с чайных листьев из доставкой на доступное локацию.
      Ответить
    • показать все, что скрытоКачественная оборудование Эппл определенная каждому абоненту, тот что признает комфорт также доброкачество, поэтому непременно в вашем лице или давние друзья владеют при себе айфон, плеер или же iPad и восторгаются техническими характеристиками при применении. Команда открываем для клиентов сервисный-сайт телефонов к тому же плееров области [url=http://lapplebi.com/prilozheniya/1372-ustanovlenie-vyklyuchatelya-3g-vmesto-lte-na-iphone-5s-5c-i-5-s-ios-7.html]lte мегафон iphone 5[/url], на какой демонстрирует целиком свежие сведения о Эппл девайсы, реновации, приложения, гейм, анализ, отзывы, детали и указания касательно эксплуатации. На сайте Вы можете пребывать себя в личной сфере, просматривая данные публикации и выпуски технического оснащения ото фирмы Apple, регистрироваться в индивидуальном аккаунте также повседневно следить за итоговыми новинками в цифровом мире. Осмотрите точную пресс-релиз об Эппл http://lapplebi.com/ совместно со нами именно на ресурсе всех преимуществ также достижимости iPhone, плееров, iPad.
      Ответить
    • показать все, что скрытоАтрибуты плюс практичность, комфортабельность еще и модерн - главные параметры высококачественной обстановки именно для квартиру, конторы, ресторанов либо сада, что внешним сортом уверяет про длительной функционированием . Заказать мебель всяческого функции у данном веб- ресурсе <a href=http://kimnatka.com/mattresses_beds/krovati/beds_with_lifting_mechanism>http://kimnatka.com/mattresses_beds/krovati/beds_with_lifting_mechanism</a> пригодно и общедоступно, вследствие скорой доставке по указанный пунктам покупатель сможет решительно реализовывать покупку со всякому расположения. Экуменизм из текущим фабрикой предоставляет возможность вовсе не лишь применять снаряженным гарнитурой, но плюс делать личные покупки , прилагаясь по скидках к тому же подготовленных пропозициях . Новая обставку на офиса, жилище, сада, детской комнаты , мягкой формирования по нашем всеобъемном - прейскуранте на источника http://kimnatka.com/ по низкие оплату завершит желаемый интерьер стильным также роскошным, а мы послужит в отменном работе с наших заказчиками.
      Ответить
    • показать все, что скрытоwh0cd113440 <a href=http://cafergot.credit/>full article</a> <a href=http://prednisolone.systems/>prednisolone</a> <a href=http://cephalexin.casa/>cephalexin</a> <a href=http://wellbutrin.email/>wellbutrin</a> <a href=http://provera.casa/>provera</a> <a href=http://strattera.reise/>strattera</a>
      Ответить
    • показать все, что скрытоwh0cd396568 <a href=http://zithromax.desi/>how much is zithromax</a> <a href=http://tretinoin.systems/>example</a> <a href=http://eurax.photography/>eurax</a> <a href=http://zetia.center/>zetia</a>
      Ответить
    • показать все, что скрытоwh0cd450930 <a href=http://acomplia.us.com/>buy acomplia</a> <a href=http://buycrestor.us.com/>BUY CRESTOR</a> <a href=http://cialisforsaleonline.us.com/>cialis tablets</a>
      Ответить
    • показать все, что скрытоwh0cd505290 <a href=http://otcviagra.us.com/>Otc Viagra</a> <a href=http://buysynthroid.us.com/>buy synthroid</a>
      Ответить
    • показать все, что скрытоwh0cd559650 <a href=http://acyclovir365.us.com/>generic acyclovir</a> <a href=http://cephalexin.us.com/>buy cephalexin</a>
      Ответить
    • показать все, что скрытоwh0cd330883 <a href=http://zetiaonline.us.com/>zetia</a> <a href=http://onlinelevitra.us.com/>levitra no script</a> <a href=http://buykamagra.us.org/>kamagra pills</a>
      Ответить
    • показать все, что скрытоwh0cd37560 <a href=http://viagracost.us.com/>Viagra Online</a> <a href=http://amoxil247.us.com/>buy amoxil</a>
      Ответить
    • показать все, что скрытоwh0cd91920 <a href=http://zyvox247.club/>generic zyvox</a> <a href=http://furosemide2017.us.com/>furosemide</a>
      Ответить
    • показать все, что скрытоwh0cd146280 <a href=http://cardura247.us.com/>Cardura</a> <a href=http://phenergan365.us.com/>phenergan no rx</a> <a href=http://triamterenehctz.us.com/>Purchase Triamterene</a>
      Ответить
    • показать все, что скрытоwh0cd200640 <a href=http://acyclovir.casa/>acyclovir</a> <a href=http://prozac.shop/>order prozac</a> <a href=http://indocin.bargains/>indocin</a> <a href=http://prednisone.sexy/>prednisone</a> <a href=http://cytotec.center/>misoprostol buy online</a> <a href=http://prednisolone.cash/>prednisolone</a> <a href=http://rimonabant.desi/>rimonabant</a>
      Ответить
    • показать все, что скрытоwh0cd493967 <a href=http://buycafergot5.top/>cafegot</a> <a href=http://buyamoxil365.gdn/>buy amoxil</a> <a href=http://buyatarax9.top/>atarax</a> <a href=http://buyalbuterol-1.top/>source</a> <a href=http://bupropion2011.us/>this site</a>
      Ответить
    • показать все, что скрытоwh0cd363722 <a href=http://buyneurontin.us.org/>Buy Neurontin</a> <a href=http://onlineclindamycin.us.com/>clindamycin without prescription</a> <a href=http://advaironline.us.com/>advair online</a>
      Ответить
    • показать все, что скрытоwh0cd657047 <a href=http://buyneurontin6.gdn/>order neurontin online</a> <a href=http://lasix8.us/>lasix</a> <a href=http://atenolol25.top/>atenolol</a> <a href=http://buycolchicine9.top/>colchicine</a> <a href=http://buyelimite3.gdn/>elimite cream 5</a>
      Ответить
    • показать все, что скрытоwh0cd418082 <a href=http://cafergot.sucks/>cafergot generic</a> <a href=http://nolvadex.tools/>nolvadex-d</a> <a href=http://tadalis.sexy/>tadalis</a> <a href=http://albendazole.business/>albendazole</a> <a href=http://fluoxetine.store/>fluoxetine</a>
      Ответить
    • показать все, что скрытоwh0cd711407 <a href=http://fluoxetine.sexy/>fluoxetine</a> <a href=http://crestor.fail/>crestor 10 mg tablet</a> <a href=http://buyamitriptyline.casa/>buy amitriptyline online</a> <a href=http://ventolin.associates/>ventolin</a> <a href=http://kamagra.news/>kamagra 100mg</a> <a href=http://zoloft.world/>additional reading</a> <a href=http://antabuse.associates/>purchase antabuse</a>
      Ответить
    • показать все, что скрытоwh0cd472444 <a href=http://buynolvadex.us.com/>buy nolvadex</a> <a href=http://diclofenacsodium.us.com/>generic diclofenac</a>
      Ответить
    • показать все, что скрытоwh0cd526808 <a href=http://buyalbendazole12.top/>is albenza over the counter</a> <a href=http://elimite50.top/>elimite</a> <a href=http://buyneurontin500.us/>buy neurontin</a> <a href=http://buyrobaxin0.top/>robaxin</a> <a href=http://wellbutrin-3.top/>wellbutrin</a>
      Ответить
    • показать все, что скрытоwh0cd820129 <a href=http://cheapgenericviagra.us.com/>cheap generic viagra</a>
      Ответить
    • показать все, что скрытоwh0cd635528 <a href=http://levaquin.us.org/>levaquin</a>
      Ответить
    • показать все, что скрытоwh0cd689890 <a href=http://buy-tenormin.com/>Buy Tenormin</a>
      Ответить
    • показать все, что скрытоwh0cd983212 <a href=http://buyfurosemide.casa/>furosemide</a> <a href=http://clonidine.world/>clonidine</a> <a href=http://cytotec.store/>cytotec</a>
      Ответить
    • показать все, что скрытоwh0cd80598 <a href=http://propecianorx.us.com/>PROPECIA NO RX</a> <a href=http://cleocin24.us.com/>generic cleocin</a> <a href=http://tadaciponline.us.com/>Generic Tadacip</a>
      Ответить
    • показать все, что скрытоwh0cd418084 <a href=http://onlinevardenafil.us.com/>vardenafil generic</a> <a href=http://antabuseonline.us.com/>more information</a>
      Ответить
    • показать все, что скрытоwh0cd330881 <a href=http://buyatenolol.us.org/>buy atenolol</a> <a href=http://onlineelimite.us.com/>Elimite Cream</a>
      Ответить
    • показать все, что скрытоwh0cd450931 <a href=http://buyazithromycin.us.com/>Zithromax</a> <a href=http://buyindocin.us.com/>buy indocin</a> <a href=http://amoxil3.us/>amoxil</a>
      Ответить
    • показать все, что скрытоwh0cd373924 <a href=http://buytoradol.com/>Buy Toradol</a>
      Ответить
    • показать все, что скрытоwh0cd472446 <a href=http://robaxinnorx.us.com/>robaxin 500</a> <a href=http://zithromaxonline.us.com/>zithromax 100 mg</a>
      Ответить
    • показать все, что скрытоwh0cd385241 <a href=http://ampicillin7.top/>learn more</a> <a href=http://buyventolin50.top/>ventolin inhaler</a> <a href=http://acyclovir2014.top/>acyclovir</a> <a href=http://tadacip-3.us/>tadacip</a> <a href=http://buyproscar9.top/>proscar</a>
      Ответить
    • показать все, что скрытоwh0cd505291 <a href=http://buy-cafergot.com/>cheap cafergot</a> <a href=http://buy-buspar.com/>Buy Buspar</a>
      Ответить
    • показать все, что скрытоwh0cd37558 <a href=http://bupropion0.top/>bupropion</a> <a href=http://buymedrol2.top/>medrol</a> <a href=http://buymotilium6.us/>motilium suspension</a> <a href=http://cafergot25.top/>cafergot</a> <a href=http://phenergan2016.gdn/>phenergan online</a> <a href=http://buysynthroid8.top/>buy synthroid</a>
      Ответить
    • показать все, что скрытоwh0cd91921 <a href=http://wellbutrin2011.us/>wellbutrin</a> <a href=http://buyprozac500.top/>fluoxetin</a> <a href=http://buydoxycycline6.us/>doxycycline medication</a> <a href=http://proscar12.top/>proscar</a> <a href=http://buyanafranil2014.top/>buy anafranil</a>
      Ответить
    • показать все, что скрытоwh0cd200641 <a href=http://buytetracycline.us.org/>tetracycline pills</a> <a href=http://viagra25mg.us.com/>viagra lowest cost</a>
      Ответить
    • показать все, что скрытоwh0cd330881 <a href=http://antabuseonline.us.com/>antabuse</a>
      Ответить
    • показать все, что скрытоwh0cd255001 <a href=http://erythromycin.zone/>erythromycin online without prescription</a> <a href=http://clindamycin.life/>clindamycin</a> <a href=http://clonidine.group/>clonidine</a> <a href=http://wellbutrin.camera/>wellbutrin</a> <a href=http://buyamitriptyline.casa/>amitriptyline</a> <a href=http://crestor.camera/>crestor 5mg price</a> <a href=http://tadalafil.fund/>tadalafil</a> <a href=http://allopurinol.reise/>allopurinol 300 mg tablet</a>
      Ответить
    • показать все, что скрытоwh0cd581166 <a href=http://wellbutrinxl.us.com/>wellbutrin</a> <a href=http://moduretic.us.com/>MODURETIC PILLS</a>
      Ответить
    • показать все, что скрытоwh0cd309361 <a href=http://buyprozac2016.us/>prozac buy online</a> <a href=http://buylasix8.top/>buy lasix online</a> <a href=http://levitra2017.top/>levitra</a> <a href=http://buyanafranil11.gdn/>buy anafranil</a> <a href=http://buycipro2011.top/>cipro</a> <a href=http://tretinoin100.top/>tretinoin cream</a> <a href=http://yasmin6.gdn/>yasmin</a>
      Ответить
    • показать все, что скрытоwh0cd689886 <a href=http://onlinecipro.us.com/>cipro price</a> <a href=http://costofviagra.us.org/>viagra</a> <a href=http://onlinevardenafil.us.com/>online vardenafil</a>
      Ответить
    • показать все, что скрытоwh0cd744246 <a href=http://prednisolone.systems/>prednisolone</a> <a href=http://inderal.fail/>inderal</a> <a href=http://augmentin.live/>augmentin es</a> <a href=http://azithromycin.life/>azithromycin</a> <a href=http://vermox.fund/>where to buy vermox</a> <a href=http://avana.casa/>click this link</a> <a href=http://tadacip.world/>tadacip 20mg</a>
      Ответить
    • показать все, что скрытоwh0cd798606 <a href=http://ampicillin2010.top/>ampicillin</a> <a href=http://albuterol-7.us/>extra resources</a> <a href=http://cephalexin7.top/>keflex no prescription</a> <a href=http://propranolol2016.top/>propranolol</a> <a href=http://furosemide1.top/>furosemide 20 mg tab cost</a> <a href=http://buyamitriptyline17.top/>check this out</a> <a href=http://buyprednisone3.us/>prednisone</a>
      Ответить
    • показать все, что скрытоwh0cd472443 <a href=http://tadaciponline.us.com/>Tadacip Online</a> <a href=http://cafergotonline.us.com/>Cafergot Medication</a>
      Ответить
    • показать все, что скрытоwh0cd852966 <a href=http://wellbutrin.reise/>wellbutrin</a> <a href=http://eurax.photography/>eurax</a> <a href=http://prozac.shopping/>order prozac</a> <a href=http://elimite.center/>elimite</a> <a href=http://buymotilium.cash/>motilium</a> <a href=http://propranolol.sucks/>propranolol er</a> <a href=http://colchicine.live/>colchicine</a>
      Ответить
    • показать все, что скрытоwh0cd526803 <a href=http://wellbutrin.shopping/>wellbutrin</a> <a href=http://cephalexin.casa/>buy cephalexin online</a> <a href=http://rimonabant.desi/>rimonabant</a> <a href=http://buspar.center/>buspar</a> <a href=http://flagyl.solutions/>flagyl</a>
      Ответить
    • показать все, что скрытоwh0cd961688 <a href=http://adalat2.top/>adalat without prescription</a> <a href=http://buyclomid5.top/>buy clomid</a> <a href=http://buyrimonabant2016.top/>rimonabant</a>
      Ответить
    • показать все, что скрытоwh0cd4718 <a href=http://bupropionhcl.us.com/>bupropion hcl</a>
      Ответить
    • показать все, что скрытоwh0cd744252 <a href=http://anafranilclomipramine.us.com/>ANAFRANIL</a> <a href=http://revia.us.org/>Revia Online</a> <a href=http://synthroidnorx.us.com/>synthroid 100</a>
      Ответить
    • показать все, что скрытоwh0cd59078 <a href=http://viagracost.us.com/>viagra with mastercard</a> <a href=http://viagrasoft.us.com/>Viagra Soft</a>
      Ответить
    • показать все, что скрытоwh0cd113438 <a href=http://prozac365.top/>prozac</a> <a href=http://clindamycin15.gdn/>clindamycin</a> <a href=http://buyprednisolone9.gdn/>prednisolone</a> <a href=http://buyaugmentin4.gdn/>augmentin</a> <a href=http://buyphenergan365.top/>phenergan</a>
      Ответить
    • показать все, что скрытоwh0cd852974 <a href=http://citalopram2011.us/>citalopram 10 mg tablet</a> <a href=http://motilium2014.us/>motilium otc</a> <a href=http://buymotilium9.top/>motilium</a> <a href=http://buyamitriptyline25.top/>amitriptyline hcl 10mg</a> <a href=http://buytretinoin17.us/>buy tretinoin</a> <a href=http://avana6.gdn/>generic avana</a> <a href=http://advair0.us/>cheap advair diskus</a>
      Ответить
    • показать все, что скрытоwh0cd167798 <a href=http://zofran4mg.us.com/>can i order zofran online</a> <a href=http://fluoxetine20mg.us.com/>Fluoxetine Pharmacy</a>
      Ответить
    • показать все, что скрытоwh0cd222158 <a href=http://buyamitriptyline.us.com/>Generic Amitriptyline</a> <a href=http://skelaxin.us.com/>skelaxin</a> <a href=http://celebrex2016.us.com/>celebrex</a>
      Ответить
    • показать все, что скрытоwh0cd276518 <a href=http://ordercialis.us.com/>order cialis online</a>
      Ответить
    • показать все, что скрытоwh0cd26238 <a href=http://doxycycline365.us.com/>doxycycline</a> <a href=http://genericviagraonline.us.com/>generic viagra online</a> <a href=http://levaquin365.us.com/>levaquin sale</a>
      Ответить
    • показать все, что скрытоwh0cd330878 <a href=http://propranolol.us.org/>Propranolol</a> <a href=http://proveranorx.us.com/>provera no rx</a> <a href=http://onlineerythromycin.us.com/>online erythromycin</a>
      Ответить
    • показать все, что скрытоwh0cd59078 <a href=http://buyfurosemide50.top/>buy furosemide</a> <a href=http://buyerythromycin911.top/>erythromycin</a> <a href=http://buyalbuterol247.top/>albuterol</a> <a href=http://azithromycin7.top/>azithromycin order</a> <a href=http://avana15.gdn/>buy avana</a> <a href=http://albuterol2010.us/>albuterol generic</a> <a href=http://tadalafil25.us/>homepage here</a>
      Ответить
    • показать все, что скрытоwh0cd385241 <a href=http://buyfluoxetine-2016.gdn/>buy fluoxetine</a> <a href=http://buyprednisolone17.top/>prednisolone 5mg</a> <a href=http://buycipro2011.top/>buy cipro</a>
      Ответить
    • показать все, что скрытоwh0cd80598 <a href=http://viagranoprescription.us.com/>viagra no prescription</a> <a href=http://cheapviagraonline.us.com/>viagra</a>
      Ответить
    • показать все, что скрытоwh0cd439601 <a href=http://toradol365.us.com/>toradol</a> <a href=http://prednisone20mg.us.com/>visit website</a> <a href=http://misoprostol.us.com/>Misoprostol</a>
      Ответить
    • показать все, что скрытоwh0cd167798 <a href=http://elimite.gripe/>elimite cream</a> <a href=http://wellbutrin.bike/>wellbutrin</a> <a href=http://acyclovir.works/>acyclovir</a>
      Ответить
    • показать все, что скрытоwh0cd276520 <a href=http://albendazolenorx.us.com/>albendazole online</a> <a href=http://acyclovironline.us.com/>acyclovir pharmacy</a>
      Ответить
    • показать все, что скрытоwh0cd373924 <a href=http://bentyl10mg.us.com/>Buy Bentyl</a> <a href=http://nolvadexnorx.us.com/>nolvadex</a>
      Ответить
    • показать все, что скрытоwh0cd602683 <a href=http://buytamoxifen.us.org/>tamoxifen gynecomastia</a>
      Ответить
    • показать все, что скрытоwh0cd330880 <a href=http://buyproscar-4.top/>buy proscar online</a> <a href=http://triamterene0.us/>triamterene hctz 37.5 25 mg tb</a> <a href=http://zoloft2017.top/>zoloft cost</a>
      Ответить
    • показать все, что скрытоwh0cd657043 <a href=http://neurontin.schule/>neurontin</a> <a href=http://lisinopril.camera/>lisinopril</a> <a href=http://diflucan.desi/>diflucan</a>
      Ответить
    • показать все, что скрытоwh0cd265198 <a href=http://diclofenac.us.com/>Diclofenac</a> <a href=http://genericviagra.us.org/>viagra amex</a>
      Ответить
    • показать все, что скрытоwh0cd537017 <a href=http://revia.coffee/>buy revia online</a> <a href=http://lisinopril.sexy/>lisinopril price</a> <a href=http://hydrochlorothiazide.systems/>microzide</a> <a href=http://toradol.fyi/>toradol</a> <a href=http://citalopram.center/>citalopram</a> <a href=http://buylasix.casa/>cost of lasix</a> <a href=http://prednisolone.jetzt/>prednisolone</a>
      Ответить
    • показать все, что скрытоwh0cd319562 <a href=http://ataraxonline.us.com/>buy atarax</a>
      Ответить
    • показать все, что скрытоwh0cd591379 <a href=http://bentylprice.us.com/>cheapest bentyl</a>
      Ответить
    • показать все, что скрытоwh0cd373931 <a href=http://buycitalopram2016.us/>generic citalopram</a> <a href=http://viagra247.top/>viagra</a> <a href=http://buysildalis247.us/>buy sildalis</a> <a href=http://buyatarax8.top/>buy atarax</a>
      Ответить
    • показать все, что скрытоwh0cd700102 <a href=http://buy-revia.com/>order revia</a> <a href=http://cheapcialis.us.com/>cialis online</a> <a href=http://acomplia.org/>Acomplia With NO Prescription</a>
      Ответить
    • показать все, что скрытоwh0cd624212 <a href=http://onlinevaltrex.us.com/>online valtrex</a> <a href=http://sildenafil4you.us.com/>sildenafil</a>
      Ответить
    • показать все, что скрытоwh0cd482651 <a href=http://buyventolin4.top/>buy ventolin</a> <a href=http://diflucan2012.top/>diflucan</a> <a href=http://buycelexa15.top/>celexa 40mg</a> <a href=http://prozac0.top/>prozac</a> <a href=http://strattera2017.gdn/>strattera</a> <a href=http://buyfluoxetine-1.top/>fluoxetine</a> <a href=http://buytrazodone15.top/>trazodone medicine</a>
      Ответить
    • показать все, что скрытоwh0cd917547 <a href=http://onlinevermox.us.com/>buy vermox</a> <a href=http://genericeffexor.us.com/>generic effexor</a> <a href=http://cialiscost.us.org/>cialis cost</a>
      Ответить
    • показать все, что скрытоwh0cd787292 <a href=http://sildalis365.us.com/>sildalis india</a>
      Ответить
    • показать все, что скрытоwh0cd700093 <a href=http://buystromectol365.top/>cheap stromectol</a> <a href=http://buyretina2011.top/>buy retin-a</a> <a href=http://buymotilium9.top/>motilium</a> <a href=http://buyacyclovir911.top/>where can i buy acyclovir</a> <a href=http://buyantabuse2017.top/>buy antabuse</a> <a href=http://buycitalopram2016.us/>citalopram</a> <a href=http://buyhydrochlorothiazide-2.top/>hydrochlorothiazide</a> <a href=http://flagyl-7.gdn/>flagyl</a>
      Ответить
    • показать все, что скрытоwh0cd14918 <a href=http://buycipro.shopping/>cipro</a> <a href=http://buyviagra.life/>buy viagra</a> <a href=http://medrol.mba/>medrol</a> <a href=http://doxycycline.work/>doxycycline</a> <a href=http://cephalexin.fund/>cephalexin</a> <a href=http://paxil.tools/>recommended site</a> <a href=http://stromectol.sexy/>stromectol</a>
      Ответить
    • показать все, что скрытоwh0cd808813 <a href=http://buy-viagra-soft.com/>viagra soft 50mg</a>
      Ответить
    • показать все, что скрытоwh0cd896012 <a href=http://prednisone10mg.us.com/>prednisone steroid</a>
      Ответить
    • показать все, что скрытоwh0cd863175 <a href=http://glucophage.us.com/>Glucophage XR 500</a>
      Ответить
    • показать все, что скрытоwh0cd178005 <a href=http://trazodone2017.us.com/>trazodone</a>
      Ответить
    • показать все, что скрытоwh0cd950374 <a href=http://buyclomid.us.org/>buy clomid</a> <a href=http://cialisonlinepharmacy.us.com/>Cialis Online Pharmacy</a>
      Ответить
    • показать все, что скрытоwh0cd14918 <a href=http://prednisolone365.us.com/>prednisolone</a>
      Ответить
    • показать все, что скрытоwh0cd286727 <a href=http://erektionen.se/viagra-soft.html>viagra</a>
      Ответить
    • показать все, что скрытоwh0cd341090 <a href=http://toradolnorx.us.com/>Cheap Toradol</a> <a href=http://online-viagra.us.com/>check out your url</a> <a href=http://tamoxifennorx.us.com/>tamoxifen no rx</a>
      Ответить
    • показать все, что скрытоwh0cd373924 <a href=http://cipro.reisen/>buy ciprofloxacin online cheap without a prescription</a> <a href=http://retina.reisen/>retin-a</a> <a href=http://adalat.sexy/>link</a> <a href=http://cialiscost.sexy/>buy cialis cheap online</a> <a href=http://prozac.schule/>cheap prozac for sale</a>
      Ответить
    • показать все, что скрытоwh0cd14918 <a href=http://bentyl.center/>bentyl antispasmodic</a> <a href=http://sildenafil.express/>sildenafil tablets 100mg</a> <a href=http://cafergot.email/>cafergot</a> <a href=http://augmentin.associates/>augmentin 875 mg</a>
      Ответить
    • показать все, что скрытоwh0cd36438 <a href=http://buy-clindamycin.com/>buy clindamycin</a> <a href=http://sexkuren.com/cialis.html>potenshГ¶jande medel</a>
      Ответить
    • показать все, что скрытоwh0cd90800 <a href=http://toradol.us.com/>toradol online</a>
      Ответить
    • показать все, что скрытоwh0cd123645 <a href=http://buysuhagra.us.com/>BUY SUHAGRA</a> <a href=http://buy-tamoxifen.com/>nolvadex</a> <a href=http://amoxil3.us/>cheap amoxil</a>
      Ответить
    • показать все, что скрытоwh0cd145160 <a href=http://cialisonline.sexy/>cialis</a> <a href=http://retina.credit/>retin-a</a> <a href=http://vardenafil.sexy/>view homepage</a> <a href=http://cheapmetformin.store/>cheap metformin</a> <a href=http://ventolin.desi/>ventolin</a> <a href=http://ventolin.work/>ventolin</a> <a href=http://advair.fund/>advair</a> <a href=http://provera.today/>provera</a>
      Ответить
    • показать все, что скрытоwh0cd199520 <a href=http://ampicillin2010.top/>ampicillin</a> <a href=http://buytadalafil365.top/>related site</a> <a href=http://tadacip8.top/>helpful resources</a> <a href=http://synthroid365.top/>where to buy synthroid online</a> <a href=http://buyadvair2017.us/>advair</a> <a href=http://buyarimidex20.top/>buy arimidex</a> <a href=http://buycelebrex17.top/>buy celebrex</a>
      Ответить
    • показать все, что скрытоwh0cd253880 <a href=http://ventolin4.top/>ventolin</a> <a href=http://buyprovera2010.top/>provera</a> <a href=http://advair9.gdn/>price of advair</a> <a href=http://avodart-247.top/>avodart</a> <a href=http://buypropranolol10.top/>propranolol beta blocker</a> <a href=http://prednisolone0.us/>methylprednisolone</a> <a href=http://buyyasmin365.top/>buy yasmin birth control pills</a>
      Ответить
      • показать все, что скрытоЭтот чай уникального пурпурного цвета, вот уже более шести тысяч лет выращивается в самых высоких горах на земле - Непале и Тибете и используется в разнообразных медицинских целях, а сейчас засчёт огромного набора полезных свойств заслуженно набирает популярность во всём мире.
        Пурпурный чай - это мощнейший жиросжигатель, который к тому же препятствует возникновению новых отложений, превращая жир в энергию.
        Официальный сайт: http://pur.bxox.info
        Ответить
    • показать все, что скрытоwh0cd286727 <a href=http://buyampicillin247.top/>buy ampicillin without prescription</a> <a href=http://buyazithromycin250.us/>buy azithromycin</a> <a href=http://buyatarax2014.top/>look at this</a> <a href=http://buypropranolol10.top/>buy propranolol online</a> <a href=http://cafergot3.top/>cafergot</a> <a href=http://buytetracycline10.top/>click for source</a> <a href=http://buycelebrex75.top/>celebrex</a>
      Ответить
    • показать все, что скрытоwh0cd341090 <a href=http://doxycycline365.top/>doxycycline</a> <a href=http://buysildalis247.us/>sildalis without prescription</a> <a href=http://lisinopril3.top/>lisinopril</a> <a href=http://buytoradol7.top/>buy toradol</a>
      Ответить
    • показать все, что скрытоwh0cd362602 <a href=http://buyelocon11.top/>elocon</a> <a href=http://buyretina500.gdn/>where to buy retin a over the counter</a> <a href=http://buytadalafil250.us/>tadalafil</a> <a href=http://medrol1.top/>medrol tablets</a> <a href=http://buytadacip-3.gdn/>tadacip</a> <a href=http://nexium2017.top/>nexium</a> <a href=http://buytamoxifen2016.gdn/>tamoxifen</a> <a href=http://buyacyclovir365.us/>acyclovir cream</a>
      Ответить
    • показать все, что скрытоwh0cd416964 <a href=http://buycelebrex.us.org/>celebrex</a> <a href=http://proveranorx.us.com/>provera no rx</a> <a href=http://onlinelasix.us.com/>lasix without script</a>
      Ответить
    • показать все, что скрытоwh0cd449812 <a href=http://anafranilclomipramine.us.com/>anafranil lowest prices</a> <a href=http://nolvadexnorx.us.com/>BUY NOLVADEX</a> <a href=http://buyproscar.us.org/>buy proscar</a>
      Ответить
    • показать все, что скрытоwh0cd471324 <a href=http://hoodia.us.com/>Hoodia Price</a> <a href=http://celebrexgeneric.us.com/>Celebrex</a> <a href=http://vermox.us.org/>buy vermox</a>
      Ответить
    • показать все, что скрытоwh0cd504177 <a href=http://azithromycin.sexy/>azithromycin</a> <a href=http://cipro.email/>ciprofloxacin hcl</a> <a href=http://synthroid.sexy/>synthroid</a> <a href=http://cafergot.sexy/>cafergot</a> <a href=http://furosemide.express/>continued</a>
      Ответить
    • показать все, что скрытоwh0cd525684 <a href=http://costofviagra.us.org/>Cheap Viagra</a>
      Ответить
    • показать все, что скрытоwh0cd580044 <a href=http://buyclomid.us.org/>website here</a>
      Ответить
    • показать все, что скрытоwh0cd612902 <a href=http://prozac.shopping/>prozac</a> <a href=http://colchicine.schule/>colchicine</a> <a href=http://cymbalta.fyi/>cymbalta</a>
      Ответить
    • показать все, что скрытоwh0cd14918 <a href=http://allopurinol.reise/>allopurinol</a> <a href=http://zithromax.sexy/>zithromax</a> <a href=http://clindamycin.systems/>clindamycin phosphate gel 1% without prescription</a> <a href=http://advair.desi/>advair</a> <a href=http://sildenafil.group/>sildenafil citrate buy</a>
      Ответить
    • показать все, что скрытоwh0cd47760 <a href=http://diamox.us.com/>Diamox By Mail</a>
      Ответить
    • показать все, что скрытоwh0cd667266 <a href=http://buyaugmentin8.gdn/>augmentin</a> <a href=http://bupropion4.us/>bupropion sr</a> <a href=http://abilify75.us/>generic for abilify</a> <a href=http://clindamycin1.gdn/>clindamycin gel price</a> <a href=http://rimonabant-2.us/>rimonabant</a>
      Ответить
    • показать все, что скрытоwh0cd69280 <a href=http://viagrasoft.us.com/>Viagra Soft Online</a>
      Ответить
    • показать все, что скрытоwh0cd102120 <a href=http://ampicillin15.top/>ampicillin 500mg capsules</a> <a href=http://buytamoxifen2016.gdn/>tamoxifen</a> <a href=http://buysynthroid17.top/>synthroid 75</a> <a href=http://buysynthroid2015.top/>where to buy synthroid online</a> <a href=http://baclofen7.top/>buy baclofen online</a> <a href=http://buysuhagra12.gdn/>suhagra</a> <a href=http://bupropion-4.top/>bupropion</a> <a href=http://buyalbendazole2014.us/>albendazole</a>
      Ответить
    • показать все, что скрытоwh0cd688764 <a href=http://albuterol.group/>where can i buy albuterol</a> <a href=http://amoxil.fyi/>amoxil</a> <a href=http://cialis.casa/>cialis</a> <a href=http://sildenafil.work/>sildenafil</a> <a href=http://medrol.world/>medrol</a> <a href=http://albendazole.gold/>albendazole</a> <a href=http://revia.sexy/>revia</a>
      Ответить
    • wh0cd493970 <a href=http://amoxil24.us.org/>Amoxil</a> <a href=http://zoloft247.us.org/>ORDER ZOLOFT</a> <a href=http://buycialis24.us.org/>buy cialis online</a>
      Ответить
    • wh0cd569845 <a href=http://buyviagraonline247.us.org/>Viagra Online</a>
      Ответить
    • wh0cd559642 <a href=http://buytenormin9.top/>tenormin</a> <a href=http://buyzoloft247.top/>buy zoloft</a> <a href=http://propranolol2015.top/>propranolol</a> <a href=http://buyindocin247.top/>indocin sr 75 mg</a>
      Ответить
    • wh0cd787282 <a href=http://yasmin10.top/>yasmin</a> <a href=http://buyampicillin25.top/>ampicillin iv</a> <a href=http://metformin2011.gdn/>metformin</a> <a href=http://buytoradol2015.top/>buy toradol</a> <a href=http://buymotilium6.gdn/>motilium</a> <a href=http://buybentyl2015.gdn/>buy bentyl</a> <a href=http://buyampicillin15.top/>buy ampicillin</a>
      Ответить
    • wh0cd362604 <a href=http://discountviagra.us.com/>viagra online</a>
      Ответить
    • wh0cd165560 <a href=http://furosemide.us.org/>furosemide</a> <a href=http://metformin.us.com/>metformin</a>
      Ответить
      • <a href=http://bit.ly/2oQUzUu>совет больше зарабатывать</a>
        <a href=http://bit.ly/2oQUzUu>легкий заработок онлайн</a>
        <a href=http://bit.ly/2oQUzUu>источники пассивного дохода</a>
        <a href=http://bit.ly/2oQUzUu>быстрый заработок</a>
        <a href=http://bit.ly/2oQUzUu>стратегии заработка</a>


        <a href=http://mikrosaym.blogspot.ru>Онлайн займы</a>



        hhhh=
        Ответить
    • wh0cd515489 <a href=http://costofviagra24.us.org/>cost of viagra</a> <a href=http://albendazole247.us.org/>albendazole tablets</a> <a href=http://fluoxetine24.us.org/>Fluoxetine</a>
      Ответить
    • wh0cd416966 <a href=http://apoteket-sverige.se/>viagra</a> <a href=http://robaxin.us.com/>buy robaxin</a> <a href=http://cephalexin.us.org/>Cephalexin No Rx</a> <a href=http://onlinelevitra.us.com/>online levitra</a>
      Ответить
    • wh0cd219920 <a href=http://stromectol-4.gdn/>stromectol 3mg</a> <a href=http://clomid-7.top/>clomid</a> <a href=http://effexor-2016.gdn/>more bonuses</a> <a href=http://buybaclofen7.top/>baclofen without prescription</a> <a href=http://buytadalafil2013.top/>tadalafil</a> <a href=http://buytadalafil-9.gdn/>tadalafil</a> <a href=http://buytriamterene0.gdn/>triamterene</a> <a href=http://buyazithromycin-5.gdn/>zithromax azithromycin</a>
      Ответить
    • wh0cd633290 <a href=http://tadalis24.us.org/>Tadalis</a> <a href=http://avodart24.us.org/>Cheapest Avodart</a> <a href=http://celebrex24.us.org/>celebrex</a>
      Ответить
    • wh0cd624207 <a href=http://retina24h.us.org/>buy retin-a micro</a> <a href=http://lisinopril24.us.org/>lisinopril</a> <a href=http://viagraprice247.us.org/>viagra price</a>
      Ответить
    • wh0cd91920 <a href=http://amoxicillin0.top/>buy amoxicillin without prescription</a> <a href=http://clomid2.top/>clomid</a> <a href=http://buycelebrex-247.top/>buy celebrex online</a> <a href=http://buyneurontin25.gdn/>neurontin pill</a> <a href=http://buyrimonabant15.top/>rimonabant</a> <a href=http://buytetracycline17.top/>tetracycline</a>
      Ответить
    • wh0cd841644 <a href=http://furosemide24.us.org/>furosemide</a> <a href=http://fluoxetine.us.com/>generic fluoxetine</a>
      Ответить
    • wh0cd471328 <a href=http://celexa247.us.org/>buy celexa</a> <a href=http://viagra2016.us.com/>viagra cost</a>
      Ответить
    • wh0cd687650 <a href=http://cephalexin24h.us.org/>keflex no prescription</a>
      Ответить
    • wh0cd525688 <a href=http://viagrageneric24h7d.us.org/>buy viagra toronto</a> <a href=http://propranolol24.us.org/>Propranolol</a> <a href=http://genericviagra247.us.org/>generic viagra</a>
      Ответить
    • wh0cd602690 <a href=http://cialis247.us.org/>Cheap Cialis From Canada</a>
      Ответить
    • wh0cd328640 <a href=http://alli.us.com/>alli tablets</a>
      Ответить
    • wh0cd200640 <a href=http://effexor24.us.org/>effexor tablets</a> <a href=http://sildenafilcitrate24.us.org/>Sildenafil Citrate</a> <a href=http://viagraprice24.us.org/>viagra</a>
      Ответить
    • wh0cd916409 <a href=http://torsemide.us.com/>order torsemide</a> <a href=http://duloxetine.us.com/>duloxetine w/o prescription</a> <a href=http://cheapcialis.us.com/>real cialis online</a>
      Ответить
    • wh0cd383000 <a href=http://buycafergot.us.com/>cafergot no prescription</a>
      Ответить
    • wh0cd796370 <a href=http://buypropranolol365.top/>propranolol buy online</a> <a href=http://tadacip75.top/>tadacip online</a> <a href=http://buyadvair-8.top/>buy advair</a> <a href=http://tamoxifen15.top/>tamoxifen citrate for men</a> <a href=http://furosemide-0.top/>furosemide online</a> <a href=http://neurontin4.top/>neurontin 600 mg</a> <a href=http://buyrimonabant15.top/>buy rimonabant</a>
      Ответить
    • wh0cd255000 <a href=http://furosemide247.us.org/>furosemide sale</a>
      Ответить
    • wh0cd657050 <a href=http://buyzithromax-3.gdn/>zithromax</a> <a href=http://buyatarax50.gdn/>buy atarax online</a> <a href=http://seroquel15.top/>more bonuses</a> <a href=http://buyazithromycin8.top/>azithromycin</a> <a href=http://diclofenac-6.gdn/>diclofenac</a> <a href=http://elocon3.gdn/>elocon</a> <a href=http://buystromectol8.top/>stromectol</a> <a href=http://buyadvair911.top/>buy advair diskus</a>
      Ответить
    • wh0cd634408 <a href=http://buyazithromycin16.gdn/>azithromycin 250mg</a> <a href=http://bupropion2012.gdn/>bupropion</a> <a href=http://buymetformin-3.gdn/>metformin</a> <a href=http://motilium17.top/>motilium</a> <a href=http://furosemide-9.gdn/>furosemide</a> <a href=http://buybaclofen16.top/>cost of baclofen</a> <a href=http://strattera9.top/>cheap strattera</a>
      Ответить
    • wh0cd950364 <a href=http://atarax20.gdn/>atarax</a> <a href=http://buyrobaxin-5.top/>500 mg robaxin</a> <a href=http://buyavodart20.top/>buy avodart</a> <a href=http://buyanafranil12.gdn/>anafranil ocd</a> <a href=http://lisinopril4.top/>lisinopril</a> <a href=http://augmentin50.top/>augmentin</a>
      Ответить
    • wh0cd437366 <a href=http://buytoradol20.top/>buy toradol</a> <a href=http://augmentin50.top/>augmentin</a> <a href=http://zoloft250.gdn/>buy sertraline online</a> <a href=http://buydiclofenac500.gdn/>diclofenac cream</a> <a href=http://buysildenafil5.top/>sildenafil citrate tablets ip 100 mg</a> <a href=http://buyamitriptyline247.gdn/>amitriptyline</a> <a href=http://retina-1.top/>price of retin a micro</a>
      Ответить
    • wh0cd309362 <a href=http://suhagra24.us.org/>suhagra tablets</a> <a href=http://triamterene24.us.org/>triamterene online</a>
      Ответить
    • wh0cd970769 <a href=http://buyrimonabant15.top/>recommended site</a> <a href=http://buyatenolol9.top/>buy atenolol online</a> <a href=http://buydiflucan3.top/>buy diflucan</a> <a href=http://buycitalopram-2015.gdn/>citalopram</a> <a href=http://buycytotec2010.top/>buy cytotec</a> <a href=http://buycytotec-4.gdn/>click here</a> <a href=http://buyneurontin8.top/>neurontin</a> <a href=http://buyfurosemide-3.top/>furosemide 40 mg for sale</a>
      Ответить
    • wh0cd850730 <a href=http://propecia50.top/>propecia</a> <a href=http://buytrazodone4.top/>buy trazodone</a> <a href=http://buyazithromycin16.gdn/>where can i buy azithromycin online</a>
      Ответить
    • wh0cd666134 <a href=http://doxycycline.us.com/>vibramycin</a> <a href=http://cialisonline24.us.org/>cialis 20</a> <a href=http://clomid2016.us/>clomid</a> <a href=http://priceofviagra.us.com/>price of viagra</a> <a href=http://viagrapill.us.com/>viagra pills</a>
      Ответить
    • wh0cd688768 <a href=http://prednisolone2016.top/>prednisolone sodium phosphate</a> <a href=http://cephalexin20.top/>cephalexin</a> <a href=http://buyneurontin-7.gdn/>buy neurontin</a> <a href=http://lipitor10.top/>lipitor</a> <a href=http://valtrex7.top/>valtrex</a> <a href=http://buyviagra9.top/>buy viagra</a>
      Ответить
    • wh0cd491726 <a href=http://fluconazole.us.com/>fluconazole</a> <a href=http://strattera2017.us.com/>atomoxetine price</a>
      Ответить
    • wh0cd363722 <a href=http://antabuse.us.org/>disulfiram</a> <a href=http://apoteket-sverige.se/>kГ¶pa viagra i sverige</a>
      Ответить
    • wh0cd905090 <a href=http://buytenormin.us.com/>tenormin drug</a> <a href=http://buyelimite.com/>Where To Buy Elimite</a> <a href=http://clonidine.us.com/>clonidine</a>
      Ответить
    • wh0cd743128 <a href=http://buyelocon.us.com/>elocon online</a> <a href=http://nizoral.us.com/>nizoral</a>
      Ответить
    • wh0cd797488 <a href=http://buyhydrochlorothiazide2012.top/>hydrochlorothiazide</a> <a href=http://retina-1.top/>retin-a</a> <a href=http://buyvardenafil-247.gdn/>vardenafil</a> <a href=http://atarax20.gdn/>atarax cost</a> <a href=http://buyzithromax-3.gdn/>buy zithromax</a>
      Ответить
    • wh0cd600446 <a href=http://buypropranolol4.top/>propranolol beta blocker</a> <a href=http://buyatarax16.top/>buy atarax</a> <a href=http://buyretina-0.top/>retin a 0.05 cream</a> <a href=http://ampicillin5.gdn/>ampicillin</a> <a href=http://buyatenolol2015.top/>buy atenolol</a> <a href=http://buytadacip2017.gdn/>buy tadacip</a>
      Ответить
    • wh0cd47758 <a href=http://viagrasoft247.us.org/>viagra soft</a> <a href=http://albendazole24.us.org/>albendazole</a>
      Ответить
    • wh0cd472444 <a href=http://cheapviagraforsale.us.com/>Cheap Viagra For Sale</a> <a href=http://metformin.us.com/>buying metformin er</a> <a href=http://motilium.us.com/>learn more here</a> <a href=http://lasix3.us/>lasix 60 mg</a> <a href=http://albuterol24.us.org/>Albuterol</a>
      Ответить
    • wh0cd720494 <a href=http://cialisprice24.us.org/>5mg Cialis</a>
      Ответить
    • wh0cd654808 <a href=http://buytriamterene.com/>buy triamterene</a> <a href=http://wellbutrinxl.us.com/>wellbutrin xl</a> <a href=http://proscarnorx.us.com/>proscar by mail order</a>
      Ответить
    • wh0cd2478 <a href=http://anafranil365.gdn/>anafranil</a> <a href=http://prednisolone2016.top/>prednisolone</a> <a href=http://stromectol4.gdn/>stromectol</a> <a href=http://buytretinoin12.gdn/>tretinoin gel .05</a> <a href=http://buyabilify17.gdn/>abilify prices</a> <a href=http://cafergot9.top/>cafergot</a> <a href=http://bupropion2012.gdn/>bupropion</a>
      Ответить
    • wh0cd526804 <a href=http://trazodone24.us.org/>Trazodone</a>
      Ответить
    • wh0cd709168 <a href=http://buytetracycline-8.top/>tetracycline 250</a> <a href=http://bupropion100.gdn/>bupropion hcl 150mg</a> <a href=http://levitra-0.top/>levitra</a> <a href=http://buytadalafil3.top/>tadalafil</a> <a href=http://levitra1.gdn/>buy generic levitra</a> <a href=http://buystromectol8.top/>cheap stromectol</a> <a href=http://buyclindamycin-4.gdn/>clindamycin</a> <a href=http://ventolin100.top/>ventolin</a>
      Ответить
    • wh0cd102120 <a href=http://buyneurontin100.gdn/>buy neurontin</a> <a href=http://buymotilium25.top/>motilium domperidone 10mg</a> <a href=http://celebrex2015.top/>celebrex</a> <a href=http://triamterene-1.gdn/>triamterene</a>
      Ответить
    • wh0cd820132 <a href=http://buytadalafil11.top/>view homepage</a> <a href=http://buyamitriptyline0.gdn/>amitriptyline price</a> <a href=http://lasix2.top/>buy lasix online canada</a> <a href=http://crestor8.top/>cheap crestor</a> <a href=http://proscar247.top/>proscar</a> <a href=http://celebrex250.top/>celebrex</a> <a href=http://buyalbendazole8.top/>albendazole</a> <a href=http://buyadalat365.top/>adalat online</a>
      Ответить
    • wh0cd56838 <a href=http://wellbutrin24h.us.org/>wellbutrin</a>
      Ответить
    • wh0cd732929 <a href=http://lasix2.top/>lasix</a> <a href=http://buyfluoxetine10.top/>fluoxetine hcl 20 mg capsule</a> <a href=http://indocin2012.gdn/>indocin online</a> <a href=http://levitra1.gdn/>levitra no prescription</a> <a href=http://buyzoloft2.top/>buy zoloft</a> <a href=http://sildenafil-2015.gdn/>sildenafil products</a> <a href=http://hydrochlorothiazide365.gdn/>hydrochlorothiazide</a>
      Ответить
    • wh0cd763535 <a href=http://buytrazodone4.top/>medicine trazodone</a> <a href=http://buyazithromycin-8.top/>azithromycin</a> <a href=http://cialis50.top/>cialis mexico</a> <a href=http://buyallopurinol2012.top/>allopurinol</a> <a href=http://ampicillin2011.top/>ampicillin</a> <a href=http://clomid-7.top/>cheap clomid online</a> <a href=http://advair3.gdn/>website</a> <a href=http://avodart5.top/>generic avodart 0.5 mg</a>
      Ответить
    • wh0cd635524 <a href=http://doxycycline12.top/>doxyciclin</a> <a href=http://buyabilify16.gdn/>buy abilify</a> <a href=http://buyzoloft1.top/>example</a> <a href=http://buyseroquel2014.top/>seroquel medication</a>
      Ответить
    • wh0cd111201 <a href=http://levitra365.gdn/>levitra</a> <a href=http://buycrestor20.top/>buy crestor</a> <a href=http://cialis2014.gdn/>buy cialis online with prescription</a> <a href=http://sildalis75.gdn/>sildalis</a> <a href=http://erythromycin0.top/>order erythromycin</a>
      Ответить
    • wh0cd176883 <a href=http://onlinecialis.us.com/>online cialis</a> <a href=http://esomeprazole.us.com/>nexium</a> <a href=http://antabusemedication.us.com/>buy antabuse online without prescription</a>
      Ответить
    • wh0cd3598 <a href=http://cialisfordailyuse.us.com/>Cialis NO RX</a> <a href=http://buy-eurax.com/>buy eurax</a>
      Ответить
    • wh0cd841649 <a href=http://triamterene24.us.org/>Triamterene</a> <a href=http://acyclovir247.us.org/>acyclovir 800 mg</a>
      Ответить
    • wh0cd47758 <a href=http://buyyasmin11.top/>buy yasmin</a> <a href=http://tamoxifen15.top/>more info</a> <a href=http://tamoxifen-247.gdn/>tamoxifen</a> <a href=http://stromectol4.gdn/>stromectol</a> <a href=http://motilium17.top/>buy motilium online</a> <a href=http://lisinopril17.top/>lisinopril</a> <a href=http://avana2011.top/>super avana</a> <a href=http://buypropecia247.top/>propecia drug</a>
      Ответить
    • wh0cd874494 <a href=http://metronidazole.us.com/>oral flagyl</a> <a href=http://cialisprice24.us.org/>cialis price</a> <a href=http://cheapvaltrex.us.com/>Valtrex Price</a> <a href=http://anafranil2016.us.com/>Anafranil</a> <a href=http://robaxin.us.com/>buy robaxin</a>
      Ответить
    • wh0cd689884 <a href=http://prednisone247.us.org/>ORDER PREDNISONE</a> <a href=http://bentylprice.us.com/>bentyl price</a>
      Ответить
    • wh0cd165563 <a href=http://advairdiskus24.us.org/>Advair Diskus From India</a> <a href=http://cheapcialisonline.us.com/>cialis online</a> <a href=http://lisinopril365.us.com/>lisinopril</a> <a href=http://acyclovir365.us.com/>acyclovir</a> <a href=http://avodart.us.org/>avodart</a>
      Ответить
    • wh0cd872257 <a href=http://zithromax11.top/>zithromax</a> <a href=http://buymotilium25.top/>motilium</a> <a href=http://crestor8.top/>more hints</a>
      Ответить
    • wh0cd744244 <a href=http://buy-elocon.com/>elocon cream generic</a>
      Ответить
    • wh0cd928854 <a href=http://buycialis247.us.org/>cialis</a> <a href=http://tadalis24.us.org/>Buy Tadalis</a>
      Ответить
    • wh0cd829219 <a href=http://amoxil247.us.org/>BUY AMOXIL</a> <a href=http://buypropecia24.us.org/>propecia no prescription bonus 98212</a> <a href=http://abilify24.us.org/>abilify generic 15 mg</a>
      Ответить
    • wh0cd112318 <a href=http://amitriptyline24.us.org/>elavil medication</a> <a href=http://prozac24.us.org/>Prozac</a> <a href=http://retina247.us.org/>RetinA</a>
      Ответить
    • wh0cd102120 <a href=http://cialispill.us.com/>cialis pill</a> <a href=http://orderviagraonline.us.com/>order viagra online</a> <a href=http://clomid365.us.com/>Clomid</a> <a href=http://fincar.us.com/>buy fincar</a>
      Ответить
    • wh0cd926617 <a href=http://buytrazodone2011.top/>trazodone price</a> <a href=http://buyneurontin8.top/>buy neurontin</a> <a href=http://retina2016.gdn/>retin-a</a> <a href=http://buylasix2016.top/>lasix</a> <a href=http://indocin2.top/>indocin online</a>
      Ответить
    • wh0cd896011 <a href=http://fluoxetinehcl.us.com/>fluoxetine online</a>
      Ответить
    • wh0cd983216 <a href=http://buypropecia-0.top/>i found it</a> <a href=http://amoxicillin75.gdn/>amoxicillin</a> <a href=http://buyadvair2017.top/>advair</a>
      Ответить
    • wh0cd166678 <a href=http://levitra365.gdn/>levitra for sale</a> <a href=http://cafergot9.top/>generic cafergot</a> <a href=http://buytadacip2017.gdn/>buy tadacip online</a> <a href=http://buynolvadex10.top/>buy nolvadex without prescription</a> <a href=http://trazodone0.top/>found here</a> <a href=http://elimite12.top/>elimite</a> <a href=http://lasix2.top/>buy lasix online canada</a>
      Ответить
    • wh0cd156482 <a href=http://buycrestor20.top/>crestor</a> <a href=http://buyrevia4.gdn/>revia 50 mg</a> <a href=http://avodart12.top/>avodart</a> <a href=http://eurax2011.top/>eurax</a> <a href=http://amoxicillin2.top/>amoxicillin 500mg capsules uk</a> <a href=http://bupropion250.top/>bupropion</a> <a href=http://avana-365.top/>avana</a> <a href=http://buyavana7.top/>buy avana</a>
      Ответить
    • wh0cd980979 <a href=http://azithromycin247.us.org/>zithromycin</a> <a href=http://synthroid247.us.org/>synthroid</a> <a href=http://atenolol24.us.org/>tenormin</a>
      Ответить
    • wh0cd841649 <a href=http://zofran.us.com/>Zofran</a>
      Ответить
    • wh0cd26238 <a href=http://buyatenolol75.top/>atenolol</a> <a href=http://erythromycin0.top/>erythromycin</a> <a href=http://tamoxifen15.top/>tamoxifen</a> <a href=http://vermox11.top/>vermox</a>
      Ответить
    • wh0cd253886 <a href=http://bupropion.us.com/>bupropion</a>
      Ответить
    • wh0cd883579 <a href=http://avodart.us/>avodard</a>
      Ответить
    • wh0cd907326 <a href=http://cephalexin24h.us.org/>buy cephalexin</a>
      Ответить
    • wh0cd24000 <a href=http://viagrasoft24.us.org/>VIAGRA SOFT</a> <a href=http://wellbutrin24h.us.org/>WELLBUTRIN</a> <a href=http://lipitor24.us.org/>Lipitor Pills</a>
      Ответить
    • wh0cd339963 <a href=http://propecia50.top/>finasteride 5 mg</a> <a href=http://albuterol-8.gdn/>i found it</a> <a href=http://tetracycline8.top/>tetracycline</a> <a href=http://abilify9.gdn/>abilify</a> <a href=http://buyadalat911.top/>adalat online</a> <a href=http://buyaugmentin0.top/>discover more</a> <a href=http://cialis2014.gdn/>cefixime</a> <a href=http://buyhydrochlorothiazide75.top/>buy hydrochlorothiazide</a>
      Ответить
    • wh0cd950371 <a href=http://buystromectol.us.com/>buy stromectol</a> <a href=http://hydrochlorothiazide.us.com/>hydrochlorothiazide</a>
      Ответить
    • wh0cd275398 <a href=http://buyatenolol2015.top/>buy atenolol</a> <a href=http://buyrobaxin-2.top/>robaxin</a> <a href=http://buytriamterene-5.top/>triamterene hctz 37.5</a> <a href=http://vardenafil-247.top/>vardenafil</a> <a href=http://zithromax2.top/>zithromax</a>
      Ответить
    • wh0cd265202 <a href=http://abilify24.us.org/>Buy Abilify</a> <a href=http://tamoxifen24.us.org/>cheap tamoxifen</a> <a href=http://prednisone247.us.org/>prednisone</a>
      Ответить
    • wh0cd961686 <a href=http://amoxicillin247.us.org/>amoxicillin</a> <a href=http://buyviagraonline24.us.org/>viagra online no prescription</a> <a href=http://cheapviagra247.us.org/>can i buy viagra without a prescription</a>
      Ответить
    • wh0cd219923 <a href=http://tamoxifen247.us.org/>tamoxifen</a>
      Ответить
    • wh0cd78360 <a href=http://furosemide-0.top/>furosemide</a> <a href=http://buycytotec100.gdn/>cytotec</a> <a href=http://elimite12.top/>elimite cream directions</a> <a href=http://propecia2013.top/>propecia</a> <a href=http://buytretinoin12.gdn/>buy tretinoin cream</a> <a href=http://furosemide-9.gdn/>furosemide 20 mg</a>
      Ответить
    • wh0cd329758 <a href=http://celebrex247.us.org/>Celebrex</a>
      Ответить
    • wh0cd80600 <a href=http://buylevitra.us.org/>levitra</a> <a href=http://cialis20mg24.us.org/>Cialis</a>
      Ответить
    • wh0cd319562 <a href=http://prednisolone5mg.us.com/>prednisolone online</a> <a href=http://cialiscost.us.org/>cialis cost</a> <a href=http://cialisdaily.us.com/>order generic cialis online</a> <a href=http://buyampicillin.us.com/>ampicillin trihydrate</a> <a href=http://fluconazole.us.com/>Cheap Fluconazole</a>
      Ответить
    • wh0cd937941 <a href=http://prednisone24.us.org/>prednisone</a> <a href=http://propecia1mg.us.com/>propecia 1mg</a> <a href=http://cymbalta247.us.org/>Cymbalta</a>
      Ответить
    • wh0cd132720 <a href=http://buymobic.us.com/>BUY MOBIC</a> <a href=http://amoxicillin500mg.us.com/>Amoxicillin 500mg</a> <a href=http://buybupropion.us.org/>bupropion online</a> <a href=http://amitriptyline247.us.org/>Elavil 25 mg</a> <a href=http://buy-provera.com/>more</a>
      Ответить
    • wh0cd384118 <a href=http://buyviagra24h7d.us.org/>buy viagra</a> <a href=http://buytetracycline.us.org/>buy tetracycline</a> <a href=http://citalopram.us.com/>citalopram</a>
      Ответить
    • wh0cd373924 <a href=http://cialisprice247.us.org/>Buy Cialis USA</a> <a href=http://augmentin247.us.org/>Augmentin Online</a> <a href=http://provera247.us.org/>provera online</a>
      Ответить
    • wh0cd59078 <a href=http://drugbentyl.us.com/>drug bentyl</a> <a href=http://revianorx.us.com/>revia india</a> <a href=http://bentyl365.us.com/>Bentyl</a>
      Ответить
    • wh0cd274283 <a href=http://valtrex7.top/>valtrex</a> <a href=http://suhagra2010.gdn/>suhagra online</a> <a href=http://buyaugmentin0.top/>augmentin generic</a> <a href=http://avodart5.top/>avodart</a> <a href=http://buytadalafil11.top/>where to buy tadalafil online</a> <a href=http://celebrex2015.top/>read this</a>
      Ответить
    • wh0cd134960 <a href=http://indocin8.top/>generic for indocin</a> <a href=http://buyaugmentin2.gdn/>augmentin</a> <a href=http://buyrobaxin12.top/>robaxin</a> <a href=http://buystromectol8.top/>stromectol</a> <a href=http://buylevitra12.top/>levitra</a> <a href=http://buysynthroid11.top/>synthroid</a> <a href=http://buycafergot2012.top/>cafergot pills</a>
      Ответить
    • wh0cd187080 <a href=http://cialisonlinepharmacy.us.com/>cialis pharmacy</a> <a href=http://toradol10mgprice.us.com/>toradol 10mg</a>
      Ответить
    • wh0cd448693 <a href=http://amoxil247.us.org/>cheapest amoxil</a>
      Ответить
    • wh0cd428284 <a href=http://buypropecia.us.com/>BUY PROPECIA</a> <a href=http://buyflagyl.us.com/>BUY FLAGYL</a>
      Ответить
    • wh0cd950371 <a href=http://cialiscost24.us.org/>cialis sale</a> <a href=http://propecia24.us.org/>propecia</a> <a href=http://lipitor24.us.org/>lipitor</a>
      Ответить
    • wh0cd992303 <a href=http://zoloft250.gdn/>zoloft</a> <a href=http://lipitor-2.gdn/>purchase lipitor</a> <a href=http://buylasix-1.top/>lasix 40mg</a> <a href=http://buyeurax365.top/>eurax</a> <a href=http://buyazithromycin-8.top/>azithromycin</a> <a href=http://buytadalafil2014.top/>where to buy tadalafil online</a> <a href=http://nexium500.top/>nexium</a> <a href=http://buylipitor3.gdn/>lipitor</a>
      Ответить
    • wh0cd241440 <a href=http://buyaugmentin0.top/>buy augmentin online</a> <a href=http://zoloft250.top/>zoloft</a> <a href=http://medrol-8.top/>medrol medicine</a> <a href=http://buyclindamycin2010.top/>clindamycin</a>
      Ответить
    • wh0cd492838 <a href=http://buytadacip2017.gdn/>tadacip online</a> <a href=http://buytoradol2015.top/>toradol otc</a> <a href=http://buynexium16.top/>nexium price</a> <a href=http://indocin8.top/>where buy indocin indomethacin</a>
      Ответить
    • wh0cd328643 <a href=http://valtrex2016.us.com/>valtrex</a>
      Ответить
    • wh0cd47758 <a href=http://sildenafil4you.us.com/>Sildenafil Citrate</a> <a href=http://cialisnorx.us.com/>buying cialis online</a> <a href=http://buylipitor.us.com/>buy lipitor</a> <a href=http://onlinecytotec.us.com/>generic cytotec</a> <a href=http://anafranilcost.us.com/>anafranil cost</a>
      Ответить
    • wh0cd189320 <a href=http://sildenafilcitrate24.us.org/>sildenafil with no prescription</a> <a href=http://celexa24.us.org/>Order Celexa</a> <a href=http://amitriptyline24.us.org/>elavil</a>
      Ответить
    • wh0cd295802 <a href=http://tamoxifen24.us.org/>tamoxifen online</a> <a href=http://retina24h.us.org/>where can i get tretinoin cream</a> <a href=http://erythromycin24.us.org/>erythromycin</a>
      Ответить
    • wh0cd308246 <a href=http://trazodone.us.com/>trazodone</a> <a href=http://buspar365.us.com/>buspar</a>
      Ответить
    • wh0cd482649 <a href=http://glucotrol.us.com/>glucotrol</a> <a href=http://buy-tadacip.com/>buy tadacip</a> <a href=http://erektionen.se/>viagra</a> <a href=http://buystrattera.us.com/>buy strattera</a> <a href=http://moduretic.us.com/>purchase moduretic</a>
      Ответить
    • wh0cd243680 <a href=http://advair24.us.org/>advair diskus 250</a>
      Ответить
    • wh0cd350162 <a href=http://hydrochlorothiazide24.us.org/>hydrochlorothiazide capsules</a> <a href=http://zofran.us.com/>Zofran Tabs</a> <a href=http://nexiumotc.us.com/>more info</a> <a href=http://cialisdaily.us.com/>Buy Cialis Online</a> <a href=http://buy-revia.com/>Buy Revia</a>
      Ответить
    • wh0cd383003 <a href=http://buypropecia247.us.org/>Buy Propecia</a>
      Ответить
    • wh0cd222160 <a href=http://buyantabuse.biz/>antabuse drug</a> <a href=http://bupropiononline.us.com/>Bupropion 300</a> <a href=http://provera24h.us.org/>provera pills</a> <a href=http://meloxicam.us.com/>meloxicam</a> <a href=http://anafranil365.us.com/>anafranil ocd</a>
      Ответить
    • wh0cd35318 <a href=http://buyclomid6.top/>clomid</a> <a href=http://buysynthroid25.top/>buy synthroid</a> <a href=http://buyamoxicillin4.top/>buy amoxicillin</a> <a href=http://zithromax2.top/>cheap zithromax online</a> <a href=http://cialis4.top/>where to buy cialis online no prescription</a> <a href=http://retina-9.top/>tretinoin gel</a>
      Ответить
    • wh0cd547198 <a href=http://viagrasoft24.us.org/>viagra soft</a> <a href=http://buyviagra24.us.org/>BUY VIAGRA</a> <a href=http://cialis247.us.org/>cheap cialis from canada</a>
      Ответить
    • wh0cd537011 <a href=http://buyatarax5.gdn/>atarax</a> <a href=http://buyaugmentin9.gdn/>buy augmentin</a> <a href=http://buypropranolol4.top/>buy propranolol</a> <a href=http://buyneurontin-365.top/>order neurontin</a> <a href=http://buyneurontin100.gdn/>buy neurontin</a> <a href=http://buyalbendazole17.top/>albendazole 400 mg</a> <a href=http://kamagra3.top/>kamagra</a>
      Ответить
    • wh0cd102118 <a href=http://buy-adalat.com/>Buy Adalat</a> <a href=http://sinequan.us.com/>sinequan</a> <a href=http://bentylmusclerelaxer.us.com/>BENTYL MUSCLE RELAXER</a>
      Ответить
    • wh0cd298040 <a href=http://buy-tretinoin.com/>buy tretinoin</a> <a href=http://anafranil365.us.com/>Anafranil By Mail Order</a> <a href=http://acyclovir.us.com/>Buy Acyclovir</a> <a href=http://lipitor.us.com/>Liptor NO Prescription</a>
      Ответить
    • wh0cd404524 <a href=http://buyavodart.us.org/>generic avodart</a>
      Ответить
    • wh0cd276520 <a href=http://revia50mg.us.com/>purchase revia</a>
      Ответить
    • wh0cd437363 <a href=http://buyrobaxin7.top/>robaxin</a> <a href=http://buyseroquel500.gdn/>buy seroquel</a> <a href=http://buymetformin6.top/>for more</a> <a href=http://buyatenolol4.top/>atenolol medication</a> <a href=http://propranolol100.top/>propranolol</a> <a href=http://buyampicillin15.top/>ampicillin 500</a>
      Ответить
    • wh0cd47758 <a href=http://cialis24.us.org/>cialis</a>
      Ответить
    • wh0cd591371 <a href=http://lisinopril24.us.org/>Lisinopril</a> <a href=http://baclofen247.us.org/>baclofen 10 mg</a> <a href=http://paxil247.us.org/>paxil</a>
      Ответить
    • wh0cd416966 <a href=http://revia365.us.com/>buy revia</a> <a href=http://retina365.us.com/>retin-a</a> <a href=http://ampicillin2017.us.com/>ampicillin</a> <a href=http://effexor.us.com/>effexor xr 300 mg</a> <a href=http://genericcelebrex.us.com/>celebrex</a>
      Ответить
    • wh0cd458884 <a href=http://buylisinopril-2.top/>buy lisinopril</a> <a href=http://buyvermox500.top/>buy vermox</a> <a href=http://buylisinopril2013.top/>buy lisinopril online</a> <a href=http://buyazithromycin-5.gdn/>azithromycin penicillin</a>
      Ответить
    • wh0cd89678 <a href=http://buy-sildalis.com/>sildalis over the counter</a> <a href=http://overthecounter.amoxicillin.us.com/>Over The Counter Amoxicillin</a> <a href=http://buylasix.us.com/>buy lasix</a> <a href=http://erektionen.se/cialis.html>potensmedel</a>
      Ответить
    • wh0cd666136 <a href=http://cialisonline247.us.org/>our site</a>
      Ответить
    • wh0cd330882 <a href=http://cefixime.us.com/>cefixime brand name</a> <a href=http://augmentin875.us.com/>augmentin 875 mg</a>
      Ответить
    • wh0cd352400 <a href=http://cialisonline247.us.org/>CIALIS ONLINE</a>
      Ответить
    • wh0cd720500 <a href=http://onlinediflucan.us.com/>Diflucan Lowest Cost</a> <a href=http://prednisolone.top/>Prednisolone Without Prescription</a> <a href=http://buymotilium.us.com/>motilium cost</a>
      Ответить
    • wh0cd471326 <a href=http://clomid2015.gdn/>clomid</a> <a href=http://avana-1.gdn/>generic avana</a> <a href=http://buyhydrochlorothiazide1.gdn/>hydrochlorothiazide</a> <a href=http://buyzoloft1.top/>buy sertraline without</a>
      Ответить
    • wh0cd874490 <a href=http://citalopramhbr.us.com/>citalopram cost</a>
      Ответить
    • wh0cd198402 <a href=http://cafergot365.top/>generic cafergot</a> <a href=http://celexa1.top/>purchase celexa</a> <a href=http://atarax2.gdn/>atarax 25mg</a>
      Ответить
    • wh0cd491726 <a href=http://buyzithromax-8.top/>where to buy zithromax online</a> <a href=http://lisinopril-247.top/>lisinopril</a> <a href=http://buycafergot2013.gdn/>generic cafergot</a> <a href=http://propranolol4.top/>propranolol</a> <a href=http://buycrestor911.gdn/>crestor</a>
      Ответить
    • wh0cd678573 <a href=http://buytrazodone0.top/>trazodone</a> <a href=http://buywellbutrin50.top/>buy wellbutrin</a> <a href=http://adalat-3.top/>adalat</a> <a href=http://buyazithromycin-8.top/>azithromycin</a> <a href=http://buyseroquel500.gdn/>buy seroquel</a> <a href=http://buycymbalta2015.gdn/>cymbalta from canada</a> <a href=http://buyalbendazole-3.top/>albendazole price</a> <a href=http://acyclovir2014.gdn/>zovirax buy</a>
      Ответить
    • wh0cd971897 <a href=http://buyclonidine2010.top/>clonidine</a> <a href=http://buycolchicine100.top/>colchicine</a> <a href=http://albuterol-8.gdn/>albuterol</a>
      Ответить
    • wh0cd916409 <a href=http://synthroid10.gdn/>synthroid</a> <a href=http://buylevitra11.gdn/>where to buy levitra</a> <a href=http://diclofenac20.top/>diclofenac</a> <a href=http://buyeurax365.top/>eurax online</a> <a href=http://ampicillin2011.top/>ampicillin</a> <a href=http://buyrevia2.top/>buy revia</a> <a href=http://buyflagyl250.top/>buy flagyl</a>
      Ответить
    • wh0cd667248 <a href=http://propecia24.us.org/>proscar</a> <a href=http://cheapviagra24.us.org/>cheap viagra</a> <a href=http://viagraonline24h7d.us.org/>Viagra Online</a>
      Ответить
    • wh0cd124758 <a href=http://buyviagra2017.com/>Buy Viagra</a> <a href=http://vpxl365.us.com/>buy vpxl</a> <a href=http://avodart365.us.com/>Avodart</a>
      Ответить
    • wh0cd252764 <a href=http://buyproscar-365.top/>buy proscar</a> <a href=http://cipro2014.top/>cipro</a> <a href=http://lipitor-9.gdn/>lipitor</a>
      Ответить
    • wh0cd156478 <a href=http://levitra-0.top/>levitra buy</a> <a href=http://buylasix247.top/>lasix</a> <a href=http://buybenicar250.top/>generic benicar hct</a> <a href=http://cafergot9.top/>article source</a> <a href=http://buydoxycycline-365.gdn/>vibramycin doxycycline</a> <a href=http://buynexium16.top/>cost of nexium</a>
      Ответить
    • wh0cd504163 <a href=http://diflucan24.us.org/>view site</a> <a href=http://prednisolone24.us.org/>check this out</a>
      Ответить
    • wh0cd732933 <a href=http://viagracheap.us.com/>viagra from india</a> <a href=http://celebrex2017.us.com/>celebrex online</a>
      Ответить
    • wh0cd928850 <a href=http://buyzoloft1.top/>buy zoloft</a> <a href=http://buyatenolol6.top/>atenolol</a> <a href=http://cialis2014.gdn/>cialis</a> <a href=http://buymethotrexate-2015.gdn/>methotrexate</a> <a href=http://propranolol10.top/>propranolol buy</a>
      Ответить
    • wh0cd14918 <a href=http://nolvadex24.us.org/>Buy Nolvadex</a>
      Ответить
    • wh0cd179118 <a href=http://tadalis24.us.org/>order tadalis</a>
      Ответить
    • wh0cd970769 <a href=http://cymbalta247.us.org/>cymbalta</a> <a href=http://sildenafilcitrate24.us.org/>sildenafil citrate</a>
      Ответить
    • wh0cd787293 <a href=http://metforminhcl.us.com/>Metformin Online</a> <a href=http://doxycycline24.us.org/>vibramycin 100mg</a> <a href=http://genericprilosec.us.com/>Generic Prilosec</a> <a href=http://buyinderal.us.com/>buy inderal</a>
      Ответить
    • wh0cd210838 <a href=http://zithromax11.top/>zithromax</a> <a href=http://buyazithromycin8.top/>azithromycin</a> <a href=http://eurax2017.top/>eurax</a>
      Ответить
    • wh0cd233478 <a href=http://benicaronline.us.com/>benicar 20 mg</a> <a href=http://buybenicar.com/>order benicar</a> <a href=http://buyallopurinol.us.com/>buy allopurinol</a> <a href=http://suprax.us.com/>suprax drug</a>
      Ответить
    • wh0cd558526 <a href=http://clindamycin9.top/>clindamycin</a> <a href=http://propranolol100.top/>propranolol</a> <a href=http://buyyasmin-3.gdn/>yasmin</a> <a href=http://cafergot1.gdn/>cafergot</a> <a href=http://motilium17.top/>motilium online</a> <a href=http://buyeffexor5.gdn/>price of effexor</a> <a href=http://albendazole100.top/>albendazole</a>
      Ответить
    • wh0cd69278 <a href=http://tamoxifen24.us.org/>tamoxifen</a>
      Ответить
    • wh0cd872252 <a href=http://buytenormin4.top/>buy tenormin</a> <a href=http://buybenicar250.top/>benicar</a> <a href=http://seroquel15.top/>seroquel 100 mg for sleep</a> <a href=http://advair50.gdn/>advair hfa</a> <a href=http://buyfurosemide250.gdn/>furosemide</a> <a href=http://buyeurax-9.gdn/>eurax</a>
      Ответить
    • wh0cd361484 <a href=http://albuterol-8.gdn/>albuterol</a> <a href=http://buyazithromycin16.gdn/>azithromycin</a> <a href=http://buyatenolol6.top/>buy atenolol</a> <a href=http://buyflagyl3.gdn/>buy flagyl</a> <a href=http://buyprednisolone2013.top/>buy prednisolone 5mg without prescription uk</a>
      Ответить
    • wh0cd13798 <a href=http://buyamitriptyline247.gdn/>amitriptyline</a> <a href=http://anafranil1.top/>anafranil</a> <a href=http://buylasix247.top/>lasix</a> <a href=http://buytadacip2017.gdn/>buy tadacip</a> <a href=http://atarax2.gdn/>atarax</a> <a href=http://ventolin3.top/>ventolin</a> <a href=http://baclofen20.top/>baclofen</a>
      Ответить
    • wh0cd265198 <a href=http://synthroid.us.com/>Buy Synthroid</a> <a href=http://isotretinoin.us.com/>isotretinoin tablets</a> <a href=http://canadianpharmacycialis.us.com/>canadian pharmacy cialis</a> <a href=http://azithromycin500mgtablets.us.com/>azithromycin 500 mg tablets</a> <a href=http://buy-atarax.com/>buy atarax</a>
      Ответить
    • wh0cd568733 <a href=http://buylevaquin-6.top/>buy levaquin</a> <a href=http://baclofen500.gdn/>baclofen</a> <a href=http://buyazithromycin-8.top/>buy azithromycin</a>
      Ответить
    • wh0cd287838 <a href=http://azithromycin24.us.org/>azithromycin</a>
      Ответить
    • wh0cd896013 <a href=http://paxil24.us.org/>paxil</a> <a href=http://viagrasoft24.us.org/>viagra soft</a> <a href=http://cialis247.us.org/>cialis</a>
      Ответить
    • wh0cd26238 <a href=http://levitra1.gdn/>levitra</a> <a href=http://viagra2017.top/>viagra</a> <a href=http://buyindocin247.top/>buy indocin</a> <a href=http://valtrex15.top/>valtrex rx</a>
      Ответить
    • wh0cd884691 <a href=http://zoloft250.top/>generic for zoloft</a> <a href=http://triamterene-1.gdn/>buy triamterene</a> <a href=http://furosemide75.top/>furosemide</a> <a href=http://buysildalis247.top/>buy sildalis</a>
      Ответить
    • wh0cd612886 <a href=http://paxil247.us.org/>paxil</a> <a href=http://costofviagra247.us.org/>COST OF VIAGRA</a>
      Ответить
    • wh0cd926612 <a href=http://stromectol2013.top/>stromectol</a> <a href=http://buybaclofen7.top/>baclofen without prescription</a> <a href=http://buyneurontin2011.top/>neurontin 100mg</a> <a href=http://buybenicar250.gdn/>generic for benicar</a> <a href=http://buymedrol1.gdn/>neo medrol</a> <a href=http://buyprednisolone8.gdn/>buy prednisolone</a> <a href=http://lisinopril2016.top/>lisinopril</a> <a href=http://buyaugmentin0.top/>augmentin</a>
      Ответить
    • wh0cd342198 <a href=http://erythromycin24.us.org/>erythromycin</a> <a href=http://buyvermox.us.com/>Vermox Online</a> <a href=http://albuterol24.us.org/>Albuterol Online</a> <a href=http://olmesartan.us.com/>olmesartan</a>
      Ответить
    • wh0cd68158 <a href=http://buycialis2015.top/>buy cialis</a> <a href=http://indocin8.top/>indocin</a> <a href=http://trazodone-365.top/>trazodone</a> <a href=http://buycelebrex-247.gdn/>generic celebrex</a>
      Ответить
    • wh0cd939051 <a href=http://buyavana20.top/>generic avana</a> <a href=http://zoloft250.gdn/>buy zoloft</a> <a href=http://zoloft0.gdn/>buy zoloft no prescription</a> <a href=http://revia500.top/>buy revia</a> <a href=http://buyrobaxin12.top/>buy robaxin</a> <a href=http://hydrochlorothiazide365.gdn/>hydrochlorothiazide</a> <a href=http://diclofenac20.top/>diclofenac sodium</a> <a href=http://propecia247.gdn/>propecia</a>
      Ответить
    • wh0cd667246 <a href=http://bupropiononline.us.com/>Bupropion 150mg</a>
      Ответить
    • wh0cd177998 <a href=http://propecia24.us.org/>Proscar</a> <a href=http://buyindocin.us.com/>buy indocin</a>
      Ответить
    • wh0cd396558 <a href=http://robaxinnorx.us.com/>Robaxin No Rx</a> <a href=http://zoloft247.us.org/>buy sertraline</a> <a href=http://propranololnorx.us.com/>propranolol no rx</a> <a href=http://bupropion2017.us.com/>BUY BUPROPION</a>
      Ответить
    • wh0cd470206 <a href=http://erythromycin0.top/>order erythromycin</a> <a href=http://buyavana20.top/>buy avana</a> <a href=http://albuterol-8.gdn/>albuterol</a> <a href=http://revia16.gdn/>revia</a> <a href=http://avodart0.top/>avodart</a> <a href=http://valtrex7.top/>valtrex</a>
      Ответить
    • wh0cd122518 <a href=http://avodart.us/>avodart online</a> <a href=http://acyclovir365.us.com/>acyclovir over the counter</a>
      Ответить
    • wh0cd26238 <a href=http://prednisone.us.com/>prednisone</a>
      Ответить
    • wh0cd993411 <a href=http://buyinderal-4.gdn/>buy inderal</a> <a href=http://buyindocin247.top/>where buy indocin indomethacin</a> <a href=http://buytoradol25.gdn/>toradol generic</a> <a href=http://tadalafil11.top/>tadalafil</a> <a href=http://zithromax2.top/>zithromax</a> <a href=http://avana10.gdn/>generic avana</a> <a href=http://buystrattera11.top/>purchase stattera</a> <a href=http://zithromax2014.top/>zithromax</a>
      Ответить
    • wh0cd232358 <a href=http://revia.us.com/>revia</a> <a href=http://amoxicillin2017.us.com/>amoxicillin 875 mg</a> <a href=http://bupropion2016.us.com/>Cheap Bupropion</a>
      Ответить
    • wh0cd721606 <a href=http://provera247.us.org/>Provera</a> <a href=http://viagraonline24.us.org/>indian viagra</a>
      Ответить
    • wh0cd23998 <a href=http://clomid.us.org/>Clomid Online</a> <a href=http://doxycycline.us.org/>buy doxycycline</a> <a href=http://inderal2017.us.com/>inderal online</a> <a href=http://buypropecia24.us.org/>propecia online</a> <a href=http://anafranilfordepression.us.com/>anafranil prices compare</a>
      Ответить
    • wh0cd450918 <a href=http://arimidex2010.gdn/>arimidex</a> <a href=http://buycafergot50.top/>buy cafergot</a> <a href=http://erythromycin15.top/>erythromycin</a>
      Ответить
    • wh0cd80598 <a href=http://cytotec20.top/>cytotec</a> <a href=http://avodart-4.top/>here i found it</a> <a href=http://furosemide-9.gdn/>furosemide</a> <a href=http://vpxl-247.gdn/>vpxl</a> <a href=http://rimonabant-8.gdn/>buy acomplia rimonabant</a> <a href=http://celebrex250.top/>celebrex</a> <a href=http://retina15.top/>retin-a</a>
      Ответить
    • wh0cd176878 <a href=http://buyviagra24.us.org/>our site</a> <a href=http://albendazole24.us.org/>albendazole over the counter</a> <a href=http://zithromax24.us.org/>view homepage</a>
      Ответить
    • wh0cd817895 <a href=http://esomeprazole.us.com/>Esomeprazole Pharmacy</a>
      Ответить
    • wh0cd731813 <a href=http://buyavana7.top/>avana</a> <a href=http://buyatarax4.top/>buy atarax</a> <a href=http://buyrevia4.gdn/>revia</a> <a href=http://provera1.top/>buy provera online</a>
      Ответить
    • wh0cd36443 <a href=http://buyyasmin11.top/>yasmin</a> <a href=http://buyvaltrex365.top/>buy valtrex online</a> <a href=http://buyzithromax25.top/>zithromax</a> <a href=http://bupropion100.gdn/>bupropion sr</a> <a href=http://buytoradol2015.top/>toradol</a>
      Ответить
    • wh0cd775972 <a href=http://cephalexin247.us.org/>Cephalexin</a> <a href=http://buyviagra24h7d.us.org/>buy viagra</a>
      Ответить
    • wh0cd578930 <a href=http://tadacip75.top/>tadacip</a> <a href=http://buyanafranil0.gdn/>clomipramine anafranil</a> <a href=http://clomid2015.gdn/>clomid</a> <a href=http://diclofenac-6.gdn/>diclofenac</a> <a href=http://bentyl25.gdn/>bentyl</a> <a href=http://avodart2014.top/>avodart</a> <a href=http://buypropecia-6.gdn/>propecia</a> <a href=http://buyventolin-5.top/>buy ventolin</a>
      Ответить
    • wh0cd341080 <a href=http://celexa24.us.org/>celexa</a> <a href=http://buypropecia247.us.org/>buy propecia</a> <a href=http://genericviagra247.us.org/>viagra 100mg price</a>
      Ответить
    • wh0cd830332 <a href=http://elimite3.us/>elimite</a> <a href=http://buybaclofen.us.com/>baclofen drug</a> <a href=http://benicar2016.us.com/>benicar</a> <a href=http://viagrageneric.us.org/>VIAGRA GENERIC</a>
      Ответить
    • wh0cd872255 <a href=http://buyerythromycin2016.top/>erythromycin</a> <a href=http://buyviagra2017.top/>buy viagra</a> <a href=http://stromectol12.gdn/>buy stromectol</a>
      Ответить
    • wh0cd156486 <a href=http://sildenafil24h.us.org/>Sildenafil</a> <a href=http://viagraprice247.us.org/>Buy Viagra</a>
      Ответить
    • wh0cd231238 <a href=http://buyelocon6.top/>elocon cream price</a> <a href=http://elimite12.top/>elimite</a> <a href=http://revia2011.top/>revia</a> <a href=http://baclofen16.top/>baclofen 10mg tablets</a> <a href=http://retina15.gdn/>retin-a</a>
      Ответить
    • wh0cd786173 <a href=http://zovirax.us.com/>zovirax online</a> <a href=http://rimonabant247.us.com/>Rimonabant Online</a> <a href=http://advair247.us.org/>generic advair diskus</a> <a href=http://cephalexin.us.com/>keflex 250 mg</a>
      Ответить
    • wh0cd482643 <a href=http://costofviagra2017.com/>cost of viagra</a> <a href=http://tretinoin2016.us.com/>tretinoin</a> <a href=http://chloromycetin.us.com/>buy chloromycetin</a> <a href=http://azithromycin.us.com/>Azithromycin With No Prescription</a> <a href=http://synthroid24.us.org/>synthroid</a>
      Ответить
    • wh0cd395443 <a href=http://buyinderal-4.gdn/>inderal</a> <a href=http://buyatarax5.gdn/>50 mg atarax</a> <a href=http://buytadacip15.top/>tadacip cipla</a> <a href=http://buycafergot-0.top/>buy cafergot</a> <a href=http://zithromax17.gdn/>zithromax</a> <a href=http://buyalbendazole8.top/>albendazole over the counter</a>
      Ответить
    • wh0cd189325 <a href=http://paxil24.us.org/>paxil</a> <a href=http://costofviagra247.us.org/>buy viagra</a>
      Ответить
    • wh0cd926615 <a href=http://paxil247.us.org/>paxil online</a>
      Ответить
    • wh0cd449803 <a href=http://buytadalafil2017.top/>tadalafil</a> <a href=http://tretinoin-6.gdn/>tretinoin</a> <a href=http://motilium-2016.gdn/>motilium</a> <a href=http://seroquel-6.gdn/>home page</a> <a href=http://buybentyl7.top/>bentyl</a>
      Ответить
    • wh0cd37558 <a href=http://citalopram365.top/>citalopram</a> <a href=http://buyviagra9.top/>viagra</a> <a href=http://buybentyl2015.gdn/>buy bentyl</a> <a href=http://buytadalafil-9.gdn/>buy tadalafil</a> <a href=http://buytriamterene0.gdn/>triamterene-hctz 75-50mg tab</a> <a href=http://baclofen20.top/>baclofen</a> <a href=http://doxycycline0.gdn/>doxycycline</a> <a href=http://bupropion2012.gdn/>bupropion</a>
      Ответить
    • wh0cd285600 <a href=http://buyprovera75.gdn/>provera</a> <a href=http://albuterol-8.gdn/>albuterol drug</a> <a href=http://cipro2017.gdn/>cipro</a> <a href=http://tamoxifen1.top/>tamoxifen citrate for men</a> <a href=http://buyadalat365.top/>buy adalat</a> <a href=http://nolvadex0.gdn/>nolvadex 20 mg</a> <a href=http://neurontin4.top/>buy neurontin online</a>
      Ответить
    • wh0cd884692 <a href=http://buywellbutrin911.top/>wellbutrin</a> <a href=http://phenergan-3.top/>phenergan</a> <a href=http://tamoxifen-247.gdn/>tamoxifen</a> <a href=http://prednisolone2011.top/>buying prednisolone online</a> <a href=http://buycymbalta9.top/>cymbalta</a> <a href=http://buyneurontin100.gdn/>neurontin</a> <a href=http://buyeurax365.top/>eurax</a>
      Ответить
    • wh0cd537003 <a href=http://buyrimonabant15.top/>rimonabant</a> <a href=http://buymetformin-3.gdn/>buy metformin er online without prescription</a> <a href=http://buylasix2016.top/>buy lasix</a> <a href=http://clindamycin12.gdn/>clindamycin</a> <a href=http://buysildenafil500.gdn/>sildenafil</a> <a href=http://buysildenafil7.gdn/>buy sildenafil</a> <a href=http://buytadacip50.gdn/>tadacip</a> <a href=http://buyhydrochlorothiazide75.top/>buy hydrochlorothiazide</a>
      Ответить
    • wh0cd253890 <a href=http://augmentin247.us.org/>Augmentin Prices</a> <a href=http://viagra247.us.org/>Viagra</a> <a href=http://buycialis247.us.org/>Best Place To Buy Cialis Online</a>
      Ответить
    • wh0cd980975 <a href=http://crestor24.us.org/>crestor pharmacy</a> <a href=http://cialisprice24.us.org/>cialis online</a> <a href=http://clomid247.us.org/>clomid online</a>
      Ответить
    • wh0cd91918 <a href=http://buyatarax50.gdn/>atarax</a> <a href=http://erythromycin0.top/>erythromycin</a> <a href=http://buyatenolol2015.top/>atenolol</a> <a href=http://medrol-8.top/>solu medrol</a>
      Ответить
    • wh0cd939052 <a href=http://furosemide247.us.org/>Cheap Furosemide</a> <a href=http://cialiscost24.us.org/>cialis cost</a> <a href=http://buy-amoxil.com/>buy amoxil</a> <a href=http://cafergot.us.com/>cafergot online</a>
      Ответить
    • wh0cd894895 <a href=http://buycialis24.us.org/>cialis cost</a> <a href=http://prednisolone247.us.org/>prednisolone online</a> <a href=http://augmentin247.us.org/>augmentin</a>
      Ответить
    • wh0cd591363 <a href=http://tadalafil.us.org/>Tadalafil</a>
      Ответить
    • wh0cd339960 <a href=http://albuterol4.top/>albuterol inhaler</a> <a href=http://effexor2011.gdn/>effexor</a> <a href=http://buyretina1.top/>our site</a> <a href=http://lisinopril2010.top/>learn more</a> <a href=http://buyzoloft1.top/>generic zoloft cost</a> <a href=http://buycolchicine-4.gdn/>where to buy colchicine</a> <a href=http://avodart5.top/>avodart</a> <a href=http://buyanafranil0.gdn/>buy anafranil</a>
      Ответить
    • wh0cd23998 <a href=http://furosemide24.us.org/>furosemide</a> <a href=http://viagraonline24h7d.us.org/>VIAGRA ONLINE</a>
      Ответить
    • wh0cd308250 <a href=http://cialisgeneric24.us.org/>buy cialis</a> <a href=http://sildenafilcitrate24.us.org/>sildenafil online</a>
      Ответить
    • wh0cd993412 <a href=http://cialiscost247.us.org/>cialis cost</a> <a href=http://eloconcreamgeneric.us.com/>elocon 0.1</a> <a href=http://ventolin.us.com/>online ventolin</a> <a href=http://buyelimite.biz/buy-elimite-online.html>buy elimite online</a> <a href=http://atenololchlorthalidone.us.com/>atenolol order</a>
      Ответить
    • wh0cd645723 <a href=http://augmentin247.us.org/>Augmentin Prices</a>
      Ответить
    • wh0cd667245 <a href=http://zoloft75.gdn/>zoloft</a> <a href=http://effexor-2016.gdn/>effexor pills</a> <a href=http://buytrazodone4.top/>trazodone</a> <a href=http://buyamoxicillin4.top/>buy amoxicillin</a> <a href=http://buylevaquin4.gdn/>buy levaquin</a> <a href=http://ventolin20.top/>ventolin</a>
      Ответить
    • wh0cd78361 <a href=http://buyelocon-2016.gdn/>elocon drug</a> <a href=http://avodart-4.top/>avodart</a> <a href=http://revia100.top/>revia</a>
      Ответить
    • wh0cd700083 <a href=http://buyprozac247.top/>buy prozac</a> <a href=http://albendazole100.top/>albendazole for sale</a> <a href=http://prednisolone2016.top/>prednisolone</a> <a href=http://kamagra-247.gdn/>kamagra</a> <a href=http://cialis2014.gdn/>cialis</a> <a href=http://prednisolone2011.top/>generic prednisolone</a> <a href=http://lisinopril-247.top/>prinivil lisinopril</a>
      Ответить
    • wh0cd295812 <a href=http://cymbalta24.us.org/>cymbalta from india</a> <a href=http://wellbutrin247.us.org/>Wellbutrin Pills</a> <a href=http://clomid24.us.org/>CLOMID</a>
      Ответить
    • wh0cd949255 <a href=http://arimidex24.us.org/>arimidex</a> <a href=http://antabuse24.us.org/>buy antabuse online</a> <a href=http://celexa247.us.org/>celexa citalopram</a>
      Ответить
    • wh0cd132721 <a href=http://medrol.us.com/>medrol 4mg</a> <a href=http://metforminhcl.us.com/>cheapest metformin</a> <a href=http://medrol.us.org/>medrol</a>
      Ответить
    • wh0cd36438 <a href=http://buypropecia247.top/>propecia</a> <a href=http://proscar6.top/>proscar</a> <a href=http://vpxl-247.gdn/>vpxl</a>
      Ответить
    • wh0cd362610 <a href=http://neurontinnorx.us.com/>Neurontin Pills</a> <a href=http://atenololchlorthalidone.us.com/>buy atenolol</a> <a href=http://triamterenenorx.us.com/>triamterene hctz 37.5 25</a> <a href=http://furosemide2016.us.com/>furosemide</a>
      Ответить
    • wh0cd394320 <a href=http://buytadacip15.top/>buy tadacip 20 mg</a> <a href=http://strattera9.top/>buy strattera</a> <a href=http://buyampicillin25.top/>buy ampicillin</a> <a href=http://buyavana7.top/>super avana</a> <a href=http://avodart-4.top/>avodart</a>
      Ответить
    • wh0cd352410 <a href=http://alli.us.com/>Alli</a> <a href=http://avodart365.us.com/>Generic Avodart</a> <a href=http://femaleviagraforyou.us.com/>female viagra</a>
      Ответить
    • wh0cd775968 <a href=http://buycialis24.us.org/>buy cialis online</a> <a href=http://buypropecia247.us.org/>buy propecia</a>
      Ответить
    • wh0cd200638 <a href=http://hydrochlorothiazide2011.top/>hydrochlorothiazide</a> <a href=http://flagyl9.gdn/>flagyl</a> <a href=http://clindamycin12.gdn/>clindamycin</a>
      Ответить
    • wh0cd187081 <a href=http://sildenafilcitrate247.us.org/>sildenafil citrate</a> <a href=http://buypropecia24.us.org/>buy propecia</a> <a href=http://trazodone24.us.org/>Trazodone</a>
      Ответить
    • wh0cd850732 <a href=http://buyviagraonline24.us.org/>buy viagra online</a> <a href=http://sildenafilcitrate247.us.org/>Where To Buy Sildenafil</a>
      Ответить
    • wh0cd350172 <a href=http://buyanafranil2013.top/>anafranil</a> <a href=http://buystrattera9.top/>strattera cost</a> <a href=http://amoxicillin2.top/>amoxicillin</a> <a href=http://buyavana2012.top/>avana</a> <a href=http://clonidine5.gdn/>clonidine</a> <a href=http://buycafergot2013.gdn/>cafergot</a> <a href=http://erythromycin2.top/>buy erythromycin online</a>
      Ответить
    • wh0cd416972 <a href=http://nolvadex24.us.org/>your domain name</a> <a href=http://effexor.biz/>effexor online</a> <a href=http://buyallopurinol.us.com/>where to buy allopurinol</a> <a href=http://buyindocin.us.com/>buy indocin</a>
      Ответить
    • wh0cd241441 <a href=http://buytenormin7.top/>tenormin</a> <a href=http://buyhydrochlorothiazide1.gdn/>amlodipine hydrochlorothiazide</a> <a href=http://sildenafil-2015.gdn/>where to buy sildenafil</a> <a href=http://buyvermox2013.top/>where can i buy vermox</a> <a href=http://retina2016.gdn/>retin-a</a>
      Ответить
    • wh0cd90800 <a href=http://cialisonlinepharmacy.us.com/>Cheap Cialis</a> <a href=http://female-viagra.us.com/>pink viagra</a>
      Ответить
    • wh0cd406770 <a href=http://fluoxetine24.us.org/>buy fluoxetine</a> <a href=http://amitriptyline247.us.org/>Amitriptyline</a> <a href=http://advair24.us.org/>site</a>
      Ответить
    • wh0cd254998 <a href=http://hydrochlorothiazide247.us.org/>hydrochlorothiazide sale</a>
      Ответить
    • wh0cd905092 <a href=http://benicar2010.gdn/>benicar</a> <a href=http://buyprednisolone8.gdn/>prednisolone 5mg</a> <a href=http://clomid-7.top/>buy clomid online safely</a> <a href=http://buydoxycycline-365.gdn/>buy doxycycline</a> <a href=http://anafranil365.gdn/>anafranil</a>
      Ответить
    • wh0cd404535 <a href=http://buytadalafil16.top/>buy tadalafil online</a> <a href=http://avodart9.top/>avodart</a> <a href=http://buyaugmentin2.gdn/>augmentin 625 mg</a> <a href=http://buybupropion3.top/>bupropion</a> <a href=http://buywellbutrin50.top/>wellbutrin zyban</a>
      Ответить
    • wh0cd46638 <a href=http://azithromycin365.us.com/>Azithromycin</a>
      Ответить
    • wh0cd295801 <a href=http://ventolin20.top/>ventolin</a> <a href=http://prednisolone2016.top/>prednisolone</a> <a href=http://buyflagyl3.gdn/>buy flagyl</a> <a href=http://buylasix2014.top/>buy lasix</a> <a href=http://indocin2012.gdn/>indocin</a>
      Ответить
    • wh0cd145160 <a href=http://cialis.us.com/>cialis best price</a> <a href=http://viagra100mg.us.com/>safe buy viagra online</a>
      Ответить
    • wh0cd309358 <a href=http://genericcialis24.us.org/>cialis 20 mg</a>
      Ответить
    • wh0cd557402 <a href=http://medrol247.us.org/>medrol sale</a> <a href=http://retina247.us.org/>retina</a>
      Ответить
    • wh0cd458895 <a href=http://viagra247.us.org/>viagra</a> <a href=http://clomid247.us.org/>CLOMID ONLINE</a>
      Ответить
    • wh0cd363720 <a href=http://avodart911.top/>generic for avodart 0.5 mg</a> <a href=http://buyneurontin100.gdn/>neurontin</a> <a href=http://avodart0.top/>avodart</a> <a href=http://prednisolone500.top/>prednisolone</a> <a href=http://buyeurax10.gdn/>eurax</a> <a href=http://provera2016.top/>provera</a>
      Ответить
    • wh0cd482654 <a href=http://fluoxetine24.us.org/>fluoxetine</a>
      Ответить
    • wh0cd525692 <a href=http://zoloft247.us.org/>zoloft</a>
      Ответить
    • wh0cd100998 <a href=http://clomipramine.us.com/>РЎlomipramine</a> <a href=http://zithromaxonline.us.com/>buy zithromax</a> <a href=http://toradol10mgprice.us.com/>Toradol 10mg Price</a> <a href=http://mometasone.us.com/>mometasone</a>
      Ответить
    • wh0cd513255 <a href=http://cialisonline24.us.org/>cialis online</a> <a href=http://albendazole247.us.org/>albendazole tablets</a> <a href=http://celebrex247.us.org/>Celebrex Lowest Prices</a>
      Ответить
    • wh0cd515490 <a href=http://buyvardenafil-247.gdn/>vardenafil hcl 20mg</a> <a href=http://buyfluoxetine10.top/>fluoxetine</a> <a href=http://phenergan-3.top/>site here</a> <a href=http://baclofen16.top/>baclofen</a> <a href=http://buyseroquel2.gdn/>seroquel bipolar disorder</a> <a href=http://buyelimite2016.top/>buy elimite</a> <a href=http://sildalis-2015.top/>sildalis online</a> <a href=http://buypropranolol-6.top/>propranolol</a>
      Ответить
    • wh0cd939052 <a href=http://neurontin4.top/>neurontin</a> <a href=http://buykamagra5.gdn/>where to buy kamagra oral jelly</a> <a href=http://buyhydrochlorothiazide75.top/>buy hydrochlorothiazide</a> <a href=http://buytenormin9.top/>generic for tenormin</a> <a href=http://buycolchicine100.top/>colchicine</a> <a href=http://avodart-4.top/>go here</a>
      Ответить
    • wh0cd253880 <a href=http://buyprednisone2015.gdn/>prednisone</a> <a href=http://buylevaquin-6.top/>levaquin</a> <a href=http://tadalafil6.top/>tadalafil</a> <a href=http://elimite12.top/>elimite cream price</a> <a href=http://buyrobaxin-9.gdn/>buy robaxin online</a> <a href=http://buycelexa6.gdn/>buy celexa</a> <a href=http://buykamagra5.gdn/>buy kamagra</a>
      Ответить
    • wh0cd611762 <a href=http://augmentin.us.com/>augmentin xr</a> <a href=http://augmentin875.us.com/>augmentin tablets</a> <a href=http://albendazolenorx.us.com/>ALBENDAZOLE ONLINE</a>
      Ответить
    • wh0cd580052 <a href=http://buyinderal-4.gdn/>inderal</a> <a href=http://furosemide75.top/>furosemide buy</a> <a href=http://clomid-7.top/>clomid pregnancy for sale italy</a> <a href=http://buylevaquin-6.top/>order levaquin</a> <a href=http://provera2016.top/>provera pill</a> <a href=http://buyrobaxin7.top/>robaxin 500mg</a> <a href=http://bupropion250.top/>bupropion</a>
      Ответить
    • wh0cd404527 <a href=http://azithromycin365.us.com/>azithromycin z-pak</a>
      Ответить
    • wh0cd567615 <a href=http://retina24h.us.org/>Buy Retin-A</a>
      Ответить
    • wh0cd56838 <a href=http://doxycycline24.us.org/>doxycyline</a>
      Ответить
    • wh0cd472440 <a href=http://strattera9.top/>generic for strattera</a> <a href=http://allopurinol2015.top/>buy allopurinol</a> <a href=http://stromectol2013.top/>stromectol</a> <a href=http://buyaugmentin0.top/>augmentin generic price</a> <a href=http://buyadvair911.top/>cheap advair</a> <a href=http://buycytotec-4.gdn/>cytotec</a> <a href=http://buyrobaxin-5.top/>methocarbamol robaxin</a> <a href=http://buysynthroid10.top/>synthroid</a>
      Ответить
    • wh0cd308240 <a href=http://ventolin20.top/>no prescription ventolin inhaler</a> <a href=http://buybaclofen0.top/>baclofen 10 mg</a> <a href=http://flagyl9.gdn/>price of flagyl</a> <a href=http://lipitor10.top/>view website</a> <a href=http://rimonabant247.gdn/>rimonabant</a> <a href=http://crestor8.top/>crestor</a>
      Ответить
    • wh0cd863165 <a href=http://buy-effexor.com/>Effexor XR</a> <a href=http://avodartonline.us.com/>generic avodart</a> <a href=http://suhagra2016.us.com/>generic suhagra</a> <a href=http://allopurinol.us.com/>ALLOPURINOL OVER THE COUNTER</a>
      Ответить
    • wh0cd591376 <a href=http://amoxil24.us.org/>purchase amoxil</a> <a href=http://azithromycin24.us.org/>azithromycin price compare</a>
      Ответить
    • wh0cd621977 <a href=http://metformin2016.us.com/>cheap metformin</a> <a href=http://ampicillin2017.us.com/>cheap ampicillin</a>
      Ответить
    • wh0cd155358 <a href=http://synthroid24.us.org/>synthroid</a>
      Ответить
    • wh0cd36441 <a href=http://buytetracycline.us.com/>buy tetracycline</a> <a href=http://triamterene24.us.org/>Triamterene From India</a> <a href=http://triamterenehctz.us.com/>Triamterene Hctz</a>
      Ответить
    • wh0cd362602 <a href=http://tamoxifen24.us.org/>get the facts</a> <a href=http://buycialis247.us.org/>Buy Cialis Online</a>
      Ответить
    • wh0cd720484 <a href=http://cialis20mg24.us.org/>citation</a> <a href=http://crestor.us.com/>Buy Crestor</a>
      Ответить
    • wh0cd624212 <a href=http://buy-tenormin.com/>buy tenormin</a>
      Ответить
    • wh0cd2478 <a href=http://celebrex-3.gdn/>celebrex</a> <a href=http://cafergot1.gdn/>cafergot</a> <a href=http://avana2011.top/>avana</a> <a href=http://buyatenolol-3.gdn/>atenolol</a>
      Ответить
    • wh0cd688772 <a href=http://buyviagra.us.org/>viagra tablets</a> <a href=http://viagrageneric24h7d.us.org/>as an example</a> <a href=http://zithromax.us.org/>zithromax</a>
      Ответить
    • wh0cd917527 <a href=http://effexor2.top/>effexor</a> <a href=http://buyventolin12.top/>ventolin</a> <a href=http://buyrevia4.gdn/>buy revia</a> <a href=http://buycialis250.top/>cialis</a> <a href=http://buyretina-0.top/>buy retin-a</a> <a href=http://buybentyl7.top/>bentyl</a>
      Ответить
    • wh0cd56838 <a href=http://arimidexnorx.us.com/>arimidex no rx</a> <a href=http://cialis20mg24.us.org/>cialis</a>
      Ответить
    • wh0cd416964 <a href=http://propecia2013.top/>propecia</a> <a href=http://buybentyl-2015.gdn/>bentyl over the counter</a> <a href=http://ventolin20.top/>ventolin</a> <a href=http://effexor-2016.gdn/>effexor generic</a>
      Ответить
    • wh0cd645738 <a href=http://baclofen2016.us.com/>Baclofen</a> <a href=http://fluoxetine.us.com/>fluoxetine</a> <a href=http://onlineventolin.us.com/>online ventolin</a> <a href=http://tretinoin.us.com/>tretinoin cream</a> <a href=http://anastrozole.us.com/>BUY ANASTROZOLE</a>
      Ответить
    • wh0cd90806 <a href=http://buyalbuterol.us.com/>albuterol</a> <a href=http://viagraprice24.us.org/>order viagra</a> <a href=http://cheapcialisgeneric.us.com/>Generic Cialis</a>
      Ответить
    • wh0cd567617 <a href=http://buytretinoin500.top/>tretinoin cream</a> <a href=http://advair3.gdn/>cheap advair diskus</a> <a href=http://neurontin4.top/>neurotin</a>
      Ответить
    • wh0cd743134 <a href=http://neurontin2010.top/>neurontin</a> <a href=http://neurontin11.top/>neurontin</a> <a href=http://buyallopurinol2012.top/>buy allopurinol</a>
      Ответить
    • wh0cd111200 <a href=http://amoxil247.us.org/>Buy Amoxil</a>
      Ответить
    • wh0cd635522 <a href=http://erektionen.se/viagra-soft.html>lovegra</a> <a href=http://cheapcialisgeneric.us.com/>cheap cialis generic</a>
      Ответить
    • wh0cd471324 <a href=http://cialisonline247.us.org/>cialis</a> <a href=http://viagrageneric24.us.org/>generic viagra discounted</a>
      Ответить
    • wh0cd621977 <a href=http://viagraonlinecanadianpharmacy.us.com/>viagra canadian pharmacy</a> <a href=http://buycephalexin.us.org/>cephalexin generic</a> <a href=http://indocin2016.us.com/>indocin</a>
      Ответить
    • wh0cd730699 <a href=http://benicar5.top/>generic for benicar</a> <a href=http://buybentyl-2015.gdn/>buy bentyl</a> <a href=http://buymotilium25.top/>motilium online</a>
      Ответить
    • wh0cd700098 <a href=http://costofviagra247.us.org/>Buy Viagra</a> <a href=http://tamoxifen247.us.org/>Tamoxifen</a>
      Ответить
    • wh0cd525684 <a href=http://rimonabant365.us.com/>rimonabant</a>
      Ответить
    • wh0cd829206 <a href=http://tamoxifen24.us.org/>tamoxifen</a> <a href=http://lisinopril24.us.org/>Lisinopril</a>
      Ответить
    • wh0cd689885 <a href=http://buycialis247.us.org/>Buy Cialis</a> <a href=http://viagrageneric24h7d.us.org/>viagra online pharmacy</a>
      Ответить
    • wh0cd165565 <a href=http://buyhydrochlorothiazide2012.top/>hydrochlorothiazide</a> <a href=http://buypropranolol4.top/>propranolol hcl</a> <a href=http://buyelocon9.top/>elocon 0.1 cream</a> <a href=http://zithromax11.top/>zithromax without prescription</a>
      Ответить
    • wh0cd785063 <a href=http://buyampicillin2016.top/>principen</a> <a href=http://lisinopril6.top/>lisinopril</a> <a href=http://lisinopril-247.top/>zestoretic</a> <a href=http://buycafergot2012.top/>buy cafergot</a> <a href=http://flagyl9.gdn/>flagyl</a> <a href=http://buyazithromycin-8.top/>azithromycin</a> <a href=http://diclofenac-6.gdn/>diclofenac</a> <a href=http://buyamoxicillin8.top/>ampicillin amoxicillin</a>
      Ответить
    • wh0cd732935 <a href=http://erythromycin24.us.org/>erythromycin without rx</a> <a href=http://amitriptyline24.us.org/>Amitriptyline Online</a> <a href=http://avodart24.us.org/>Avodart</a>
      Ответить
    • wh0cd580044 <a href=http://buysuhagra15.gdn/>buy suhagra</a> <a href=http://buyavodart2.top/>avodart</a> <a href=http://buylevitra11.gdn/>buy levitra</a> <a href=http://eurax2011.top/>generic eurax</a> <a href=http://propranolol10.top/>propranolol buy online</a> <a href=http://buyrevia2.top/>buy revia</a>
      Ответить
    • wh0cd676339 <a href=http://viagra247.us.org/>vigra</a>
      Ответить
    • wh0cd69281 <a href=http://eurax2010.gdn/>eurax online</a> <a href=http://buytoradol2010.top/>buy toradol</a> <a href=http://anafranil1.top/>anafranil</a> <a href=http://celebrex2015.top/>celebrex</a> <a href=http://buyavodart20.top/>avodart</a>
      Ответить
    • wh0cd264078 <a href=http://effexor2.top/>effexor</a> <a href=http://buyprednisone2015.gdn/>prednisone</a> <a href=http://cephalexin20.top/>cephalexin</a> <a href=http://buyallopurinol2012.top/>allopurinol generic</a> <a href=http://buyaugmentin2.gdn/>buy augmentin</a>
      Ответить
    • wh0cd744245 <a href=http://glucophage.us.com/>purchase glucophage</a> <a href=http://provera.us.org/>Provera Prices</a> <a href=http://buycialis24.us.org/>buy cialis</a>
      Ответить
    • wh0cd634404 <a href=http://fluoxetine24.us.org/>fluoxetine dr</a> <a href=http://prednisone247.us.org/>Prednisone</a> <a href=http://viagrasoft24.us.org/>generic viagra soft</a>
      Ответить
    • wh0cd808820 <a href=http://fluticasone.us.com/>Рђluticasone</a> <a href=http://sildenafilcitrate24.us.org/>sildenafil citrate</a>
      Ответить
    • wh0cd219925 <a href=http://flagyl9.gdn/>flagyl</a> <a href=http://buydiclofenac500.gdn/>buy diclofenac</a> <a href=http://atenolol1.top/>cost of atenolol</a> <a href=http://buypropranolol365.top/>propranolol</a> <a href=http://allopurinol2015.top/>zyloprim allopurinol</a>
      Ответить
    • wh0cd883566 <a href=http://propecia2013.top/>propecia</a> <a href=http://buybentyl25.gdn/>bentyl</a> <a href=http://buytenormin9.top/>buy tenormin</a> <a href=http://buyamitriptyline250.top/>amitriptyline 75 mg</a> <a href=http://propecia50.top/>finasteride dutasteride</a> <a href=http://buylevaquin6.gdn/>buy levaquin</a> <a href=http://albuterol-8.gdn/>albuterol tabs</a> <a href=http://buyelimite2016.top/>buy elimite online</a>
      Ответить
    • wh0cd851854 <a href=http://buytretinoin12.gdn/>tretinoin gel microsphere 0.1</a> <a href=http://buytoradol20.top/>toradol 10mg</a> <a href=http://nolvadex0.gdn/>nolvadex</a> <a href=http://sildenafil25.top/>sildenafil</a>
      Ответить
    • wh0cd123641 <a href=http://cialis20mg247.us.org/>cialis 20mg</a> <a href=http://cialisprice24.us.org/>Buy Cialis</a>
      Ответить
    • wh0cd798605 <a href=http://cialiscost247.us.org/>Daily Cialis</a> <a href=http://cialis20mg24.us.org/>Cialis</a>
      Ответить
    • wh0cd863180 <a href=http://buytrazodone0.top/>trazodone</a> <a href=http://buyalbendazole17.top/>buy albendazole</a> <a href=http://buytadalafil2013.top/>tadalafil</a> <a href=http://buycelexa6.gdn/>buy celexa</a> <a href=http://buymotilium16.top/>motilium</a> <a href=http://buyarimidex-5.gdn/>buy arimidex</a> <a href=http://avana-1.gdn/>buy avana</a>
      Ответить
    • wh0cd730699 <a href=http://buspirone.us.com/>buspirone online</a> <a href=http://buyerythromycin.us.org/>Erythromycin Tablets</a> <a href=http://canadianpharmacycialis.us.com/>cialis without a prescription</a> <a href=http://cheapviagra.us.org/>cheap viagra</a> <a href=http://methylprednisolone.us.com/>prednisolone tablets</a>
      Ответить
    • wh0cd743124 <a href=http://neurontin11.top/>neurontin</a> <a href=http://ventolin100.top/>ventolin salbutamol</a> <a href=http://buymotilium25.top/>motilium</a>
      Ответить
    • wh0cd274285 <a href=http://anafranil5.top/>buy anafranil</a> <a href=http://buyalbendazole8.top/>albendazole tablets</a> <a href=http://atarax0.top/>atarax antihistamine</a> <a href=http://buysynthroid10.top/>where to buy synthroid</a> <a href=http://buytrazodone2011.top/>trazodone hcl 50mg</a> <a href=http://zithromax10.top/>zithromax</a>
      Ответить
    • wh0cd852967 <a href=http://cheapviagra24.us.org/>Cheap Viagra</a> <a href=http://furosemide24.us.org/>furosemide 40 mg</a> <a href=http://cialis24.us.org/>Cialis Canada</a>
      Ответить
    • wh0cd906214 <a href=http://paxil24.us.org/>generic paxil</a> <a href=http://viagrasoft24.us.org/>read full report</a> <a href=http://viagra24.us.org/>best place to order viagra</a>
      Ответить
    • wh0cd841657 <a href=http://buytoradol2015.top/>buy toradol</a> <a href=http://buyanafranil12.gdn/>anafranil</a> <a href=http://propranolol100.top/>propranolol buy online</a> <a href=http://buyclomid6.top/>buy clomid</a> <a href=http://buytoradol2010.top/>toradol</a>
      Ответить
    • wh0cd308248 <a href=http://azithromycin5.top/>azithromycin online</a> <a href=http://buyyasmin-3.gdn/>yasmin birth control pills</a> <a href=http://buycolchicine-247.gdn/>colchicine 0.6 mg price</a> <a href=http://furosemide-0.top/>resource</a> <a href=http://tadacip75.top/>tadacip</a>
      Ответить
    • wh0cd178006 <a href=http://provera24h.us.org/>generic provera</a>
      Ответить
    • wh0cd948150 <a href=http://clomid247.us.org/>clomid w/o prescription</a> <a href=http://prozac24.us.org/>prozac</a>
      Ответить
    • wh0cd785059 <a href=http://buytoradol2015.top/>full article</a> <a href=http://buycialis2015.top/>what is the cost of cialis</a> <a href=http://buylisinopril2015.top/>lisinopril pills</a> <a href=http://buyallopurinol2012.top/>more hints</a> <a href=http://buyvermox1.top/>buy vermox</a>
      Ответить
    • wh0cd992293 <a href=http://doxycycline24.us.org/>doxycycline</a> <a href=http://amoxil24.us.org/>amoxil pills</a>
      Ответить
    • wh0cd362608 <a href=http://onlinekamagra.us.com/>KAMAGRA EFFERVESCENT</a>
      Ответить
    • wh0cd839419 <a href=http://colchicine365.us.com/>gout treatment colchicine</a> <a href=http://celebrexonline.us.com/>Buy Celebrex Online</a>
      Ответить
    • wh0cd971900 <a href=http://buystromectol8.top/>stromectol</a> <a href=http://buyabilify17.gdn/>buy abilify</a> <a href=http://buyamitriptyline0.gdn/>amitriptyline</a> <a href=http://triamterene2015.top/>triamterene</a> <a href=http://buyzithromax-3.gdn/>learn more</a> <a href=http://buyadalat365.top/>buy adalat</a> <a href=http://buycrestor911.gdn/>crestor 40 mg</a>
      Ответить
    • wh0cd16038 <a href=http://buyflagyl3.gdn/>flagyl</a> <a href=http://buykamagra5.gdn/>buy kamagra</a> <a href=http://zithromax11.top/>zithromax pfizer</a> <a href=http://bupropion250.top/>bupropion</a> <a href=http://buycitalopram2017.top/>buy citalopram online</a>
      Ответить
    • wh0cd383010 <a href=http://vpxl-247.gdn/>vpxl</a> <a href=http://buyseroquel2014.top/>buy seroquel</a> <a href=http://clomid2.top/>where can i get clomid online</a> <a href=http://albuterol2016.top/>find out more</a> <a href=http://buyyasmin-3.gdn/>buy yasmin</a> <a href=http://buyrevia7.top/>buy revia</a>
      Ответить
    • wh0cd961689 <a href=http://buyanafranil100.top/>buy anafranil online</a> <a href=http://indocin8.top/>indocin</a> <a href=http://buymotilium25.top/>motilium</a> <a href=http://buyviagra2017.top/>buy viagra</a> <a href=http://sildenafil2010.top/>sildenafil generic canada</a> <a href=http://neurontin2010.top/>explained here</a>
      Ответить
    • wh0cd232369 <a href=http://propecia365.us.com/>propecia</a> <a href=http://trazodone2017.us.com/>trazodone</a> <a href=http://onlineerythromycin.us.com/>ilosone</a> <a href=http://augmentin24.us.org/>Augmentin</a> <a href=http://azithromycin24.us.org/>Azithromycin Price</a>
      Ответить
    • wh0cd893779 <a href=http://costofviagra247.us.org/>ed viagra</a> <a href=http://celebrex24.us.org/>celebrex online</a>
      Ответить
    • wh0cd35318 <a href=http://zoloft100.top/>setraline purchase</a> <a href=http://buytenormin4.top/>buy tenormin</a> <a href=http://citalopram5.top/>citalopram</a> <a href=http://buykamagra5.gdn/>buy kamagra oral jelly</a> <a href=http://buycymbalta2015.gdn/>cymbalta 60 mg cost</a> <a href=http://doxycycline12.top/>vibramycin 100 mg</a>
      Ответить
    • wh0cd950377 <a href=http://bupropiononline.us.com/>bupropion 150mg</a> <a href=http://buycialis2017.com/>Buy Cialis</a>
      Ответить
    • wh0cd416968 <a href=http://amoxil2.us/>amoxil 875</a>
      Ответить
    • wh0cd70404 <a href=http://advair247.us.org/>Advair Diskus Pharmacy</a>
      Ответить
    • wh0cd906207 <a href=http://anafranilanxiety.us.com/>anafranil anxiety</a> <a href=http://elimite2.us/>elimite</a> <a href=http://priceofviagra.us.com/>price of viagra</a>
      Ответить
    • wh0cd437370 <a href=http://buypropecia247.top/>propecia</a> <a href=http://augmentin50.top/>augmentin 875 mg tablet</a> <a href=http://lasix17.top/>lasix</a>
      Ответить
    • wh0cd948141 <a href=http://viagraonline24.us.org/>viagra</a> <a href=http://cialis20mg247.us.org/>Cialis 20mg</a> <a href=http://acyclovir247.us.org/>ACIVIR</a>
      Ответить
    • wh0cd69283 <a href=http://buylisinopril2015.top/>buy lisinopril</a> <a href=http://buyprednisolone2015.top/>prednisolone sod</a> <a href=http://cialis4.top/>cialis</a> <a href=http://buyvaltrex16.top/>valtrex no perscrition</a> <a href=http://avodart12.top/>cheap avodart</a>
      Ответить
    • wh0cd286729 <a href=http://viagraforsale.us.com/>found here</a>
      Ответить
    • wh0cd59078 <a href=http://buyprovera75.gdn/>provera price</a> <a href=http://indocin8.top/>indocin</a> <a href=http://buyprovera2014.gdn/>provera</a> <a href=http://flagyl1.top/>flagyl</a> <a href=http://buyadvair-8.top/>advair</a> <a href=http://lisinopril-7.top/>lisinopril</a> <a href=http://buyavodart250.top/>buy avodart</a> <a href=http://albuterol2016.top/>albuterol</a>
      Ответить
    • wh0cd960573 <a href=http://cialiscost24.us.org/>cialis</a>
      Ответить
    • wh0cd123643 <a href=http://buysildenafil2011.top/>buy sildenafil</a> <a href=http://nexium500.top/>nexium</a> <a href=http://atenolol1.top/>atenolol tenormin</a> <a href=http://buyfurosemide-3.top/>buy furosemide</a> <a href=http://avodart9.top/>avodart</a> <a href=http://hydrochlorothiazide100.top/>hctz no prescription</a>
      Ответить
    • wh0cd535880 <a href=http://ampicillin1.top/>ampicillin</a> <a href=http://allopurinol2015.top/>allopurinol</a> <a href=http://buyinderal-4.gdn/>inderal</a> <a href=http://buyzithromax-8.top/>zithromax</a> <a href=http://kamagra3.top/>kamagra online pharmacy</a> <a href=http://seroquel15.top/>seroquel</a>
      Ответить
    • wh0cd166687 <a href=http://hydrochlorothiazide2011.top/>hydrochlorothiazide online</a> <a href=http://lipitor-9.gdn/>lipitor</a> <a href=http://zoloft250.top/>zoloft</a> <a href=http://lisinopril5.top/>lisinopril</a> <a href=http://buylasix2010.top/>lasix</a> <a href=http://buylevitra-4.top/>where to buy levitra online</a> <a href=http://flagyl1.top/>buy oral flagyl antibiotic</a> <a href=http://buyalbendazole8.top/>buy albendazole on line</a>
      Ответить
    • wh0cd341091 <a href=http://vardenafil365.us.com/>Buy Vardenafil</a> <a href=http://eloconcreamoverthecounter.us.com/>elocon lowest cost</a>
      Ответить
    • wh0cd525692 <a href=http://canadianpharmacycialis.us.com/>price of cialis</a> <a href=http://buyinderal.us.com/>Inderal Mastercard</a> <a href=http://eurax.us.org/>view website</a> <a href=http://diclofenac365.us.com/>diclofenac over the counter</a>
      Ответить
    • wh0cd16038 <a href=http://atenolol24.us.org/>order atenolol online</a>
      Ответить
    • wh0cd144044 <a href=http://buybupropion.us.org/>related site</a>
      Ответить
    • wh0cd113441 <a href=http://buycialis247.us.org/>Buy Cialis</a> <a href=http://clindamycin365.us.com/>generic clindamycin</a> <a href=http://buysynthroid.us.com/>synthroid 75</a>
      Ответить
    • wh0cd102122 <a href=http://cephalexin247.us.org/>cephalexin</a> <a href=http://chloramphenicol247.club/>chloramphenicol online</a> <a href=http://suhagra2017.us.com/>suhagra sale</a> <a href=http://buycitalopram.us.com/>buy citalopram</a>
      Ответить
    • wh0cd3598 <a href=http://buylevitra12.top/>buy levitra</a> <a href=http://buylipitor2.gdn/>lipitor</a> <a href=http://valtrex15.top/>valtrex</a> <a href=http://buypropecia-6.gdn/>propecia</a>
      Ответить
    • wh0cd233484 <a href=http://buytriamterene0.gdn/>triamterene</a> <a href=http://strattera9.top/>atomoxetine price</a> <a href=http://buycipro2017.top/>cipro</a>
      Ответить
    • wh0cd178003 <a href=http://advair24.us.org/>Advair</a> <a href=http://cialisgeneric247.us.org/>BUY CIALIS</a> <a href=http://buyviagraonline24.us.org/>cheap viagra mastercard</a>
      Ответить
    • wh0cd580054 <a href=http://onlinecrestor.us.com/>lipitor crestor</a> <a href=http://benicar365.us.com/>buy benicar</a> <a href=http://cymbalta2.us/>cost of cymbalta</a> <a href=http://elocontopicalcream.us.com/>elocon topical cream</a>
      Ответить
    • wh0cd590240 <a href=http://tamoxifen247.us.org/>Order Tamoxifen</a>
      Ответить
    • wh0cd198406 <a href=http://amitriptyline247.us.org/>amitriptyline</a> <a href=http://cialiscost24.us.org/>Cialis For Sale</a>
      Ответить
    • wh0cd156482 <a href=http://motilium365.us.com/>motilium 10mg</a> <a href=http://cephalexinonline.us.com/>keflex penicillin</a> <a href=http://ciprofloxacin.us.com/>cipro flagyl</a> <a href=http://buy-azithromycin.com/>azithromycin antibiotic</a>
      Ответить
    • wh0cd57958 <a href=http://doxycycline12.top/>vibramycin</a> <a href=http://avana247.top/>super avana</a> <a href=http://buyanafranil2013.top/>anafranil for ocd</a>
      Ответить
    • wh0cd395453 <a href=http://buycipro2017.top/>cipro</a> <a href=http://seroquel16.gdn/>seroquel for depression and anxiety</a> <a href=http://avodart2017.gdn/>home page</a> <a href=http://buytamoxifen-7.gdn/>tamoxifen cost</a>
      Ответить
    • wh0cd600453 <a href=http://propecia2013.top/>propecia</a> <a href=http://amoxicillin2.top/>amoxicillin 500 mg for sale</a> <a href=http://buybaclofen7.top/>buy baclofen</a>
      Ответить
    • wh0cd644600 <a href=http://buybaclofen7.top/>baclofen</a> <a href=http://buyprednisolone2015.top/>prednisolone</a> <a href=http://buyzoloft247.top/>generic zoloft</a> <a href=http://sildalis-2015.top/>sildalis</a> <a href=http://buyelocon-2016.gdn/>elocon drug</a>
      Ответить
    • wh0cd275410 <a href=http://amitriptyline247.us.org/>elavil 25 mg</a> <a href=http://ventolin.us.com/>ventolin</a> <a href=http://bentylantispasmodic.us.com/>BENTYL OVER THE COUNTER</a> <a href=http://buycipro.us.com/>buy cipro</a>
      Ответить
    • wh0cd252768 <a href=http://cymbalta24.us.org/>cymbalta</a> <a href=http://celexa247.us.org/>where to buy celexa</a>
      Ответить
    • wh0cd698960 <a href=http://retina365.us.com/>retin-a micro gel</a> <a href=http://stromectol365.us.com/>STROMECTOL</a>
      Ответить
    • wh0cd210842 <a href=http://citalopram5.top/>citalopram</a> <a href=http://clomid2015.gdn/>clomid</a> <a href=http://cytotec20.top/>misoprostol over the counter</a>
      Ответить
    • wh0cd688783 <a href=http://metforminer.us.com/>Buy Metformin</a>
      Ответить
    • wh0cd342204 <a href=http://amoxicillin2016.us.com/>amoxicillin tablets</a> <a href=http://clonidine247.us.com/>clonidine</a> <a href=http://buyelocononline.us.com/>elocon over the counter</a> <a href=http://buyprednisolone.us.com/>prednisolone</a> <a href=http://buyindocin.us.com/>Indocin Online</a>
      Ответить
    • wh0cd179124 <a href=http://buyrimonabant10.gdn/>acomplia rimonabant</a> <a href=http://buyhydrochlorothiazide2013.top/>hydrochlorothiazide oral</a> <a href=http://buylevaquin6.gdn/>buy levaquin</a> <a href=http://buytadalafil16.top/>recommended reading</a> <a href=http://buyneurontin25.gdn/>neurontin</a> <a href=http://buymedrol1.gdn/>neo medrol</a>
      Ответить
    • wh0cd166678 <a href=http://viagrasoft.us/viagra-soft-100mg.html>chewable viagra soft tabs</a> <a href=http://cialisprice.us.com/>cialis price</a> <a href=http://reviadrug.us.com/>Order Revia</a>
      Ответить
    • wh0cd286727 <a href=http://trazodone24.us.org/>TRAZODONE</a> <a href=http://sildenafil247.us.org/>Sildenafil</a>
      Ответить
    • wh0cd743145 <a href=http://sildenafil.us.com/>buy sildenafil citrate online</a> <a href=http://ampicillin.us.com/>ampicillin</a>
      Ответить
    • wh0cd276523 <a href=http://buybaclofen.us.com/>baclofen without a prescription</a>
      Ответить
    • wh0cd233484 <a href=http://buyviagra24h7d.us.org/>BUY VIAGRA</a> <a href=http://genericcialis247.us.org/>purchase cialis</a>
      Ответить
    • wh0cd504175 <a href=http://cialis20mg247.us.org/>CIALIS PILLS</a> <a href=http://azithromycin24.us.org/>azithromycin price</a> <a href=http://wellbutrin24h.us.org/>Wellbutrin</a>
      Ответить
    • wh0cd797505 <a href=http://cialis20mg247.us.org/>cheapest cialis</a>
      Ответить
    • wh0cd396564 <a href=http://paxil24.us.org/>paxil pharmacy</a> <a href=http://bentylantispasmodic.us.com/>Bentyl Antispasmodic</a> <a href=http://albuterol365.us.com/>cheap albuterol</a> <a href=http://viagraoverthecounter.us.com/>viagra over the counter</a>
      Ответить
    • wh0cd221038 <a href=http://acyclovironline.us.com/>acyclovir medication prices</a>
      Ответить
    • wh0cd384132 <a href=http://cymbalta247.us.org/>cymbalta 30 mg</a> <a href=http://cephalexin24h.us.org/>Cephalexin</a>
      Ответить
    • wh0cd709177 <a href=http://provera247.us.org/>Buy Provera Online</a>
      Ответить
    • wh0cd361488 <a href=http://augmentingeneric.us.com/>augmentin online</a> <a href=http://seroquel.us.com/>seroquel</a> <a href=http://stromectol365.us.com/>ivermectin</a> <a href=http://zithromaxonline.us.com/>zithromax for sale</a> <a href=http://deltasone247.us.com/>deltasone pills</a>
      Ответить
    • wh0cd319562 <a href=http://buycialis250.top/>purchase cialis online cheap</a> <a href=http://buyrimonabant15.top/>rimonabant online</a> <a href=http://sildenafil-2015.gdn/>sildenafil</a> <a href=http://buyavana7.top/>buy avana</a> <a href=http://buyadalat2017.top/>adalat without prescription</a> <a href=http://albendazole1.gdn/>is albenza over the counter</a>
      Ответить
    • wh0cd330883 <a href=http://viagraprice24.us.org/>viagra price</a> <a href=http://acyclovir247.us.org/>acyclovir</a>
      Ответить
    • wh0cd807680 <a href=http://cialisnorx.us.com/>buying cialis online</a> <a href=http://ampicillin2016.us.com/>Ampicillin</a> <a href=http://colchicine.us.com/>generic colchicine</a> <a href=http://sexkuren.com/>levitra online</a>
      Ответить
    • wh0cd438492 <a href=http://buyampicillin25.top/>buy ampicillin without prescription</a> <a href=http://buylipitor3.gdn/>lipitor</a> <a href=http://buyrobaxin-9.gdn/>buy robaxin</a> <a href=http://metformin8.top/>metformin tablet</a>
      Ответить
    • wh0cd450930 <a href=http://buyviagrasoft3.top/>chewable viagra soft tabs</a> <a href=http://propecia50.top/>finasteride price</a> <a href=http://buylevitra11.gdn/>where to buy levitra</a> <a href=http://avana-1.gdn/>buy avana</a> <a href=http://buyhydrochlorothiazide2013.top/>triamterene hydrochlorothiazide</a> <a href=http://yasmin2010.top/>bonuses</a> <a href=http://buynolvadex247.gdn/>nolvadex 10</a>
      Ответить
    • wh0cd275404 <a href=http://buycafergot50.top/>buy cafergot</a> <a href=http://buylipitor2.gdn/>buy lipitor online</a> <a href=http://buyvaltrex-8.top/>buy valtrex</a> <a href=http://buyseroquel500.gdn/>buy seroquel</a> <a href=http://zithromax17.gdn/>buy zithromax pfizer</a> <a href=http://buyanafranil0.gdn/>buy anafranil</a>
      Ответить
    • wh0cd612895 <a href=http://suhagra24.us.org/>learn more</a> <a href=http://albendazole247.us.org/>Albenza Generic</a> <a href=http://prednisone247.us.org/>Prednisone</a>
      Ответить
    • wh0cd395447 <a href=http://celebrex247.us.org/>celebrex generic cheap</a> <a href=http://viagrageneric24.us.org/>where to buy viagra online</a>
      Ответить
    • wh0cd373922 <a href=http://buyampicillin2016.top/>ampicillin</a> <a href=http://buycolchicine4.top/>colchicine iv</a> <a href=http://elocon3.gdn/>elocon mometasone furoate cream</a> <a href=http://buyavana2012.top/>buy avana</a> <a href=http://furosemide2012.gdn/>buy lasix furosemide</a> <a href=http://buysildenafil20.top/>sildenafil canada</a>
      Ответить
    • wh0cd385246 <a href=http://clomid247.us.org/>buy clomid</a>
      Ответить
    • wh0cd342209 <a href=http://zoloft247.us.org/>zoloft</a> <a href=http://synthroid247.us.org/>Where To Purchase Synthroid</a> <a href=http://acyclovir24h.us.org/>generic aciclovir</a>
      Ответить
    • wh0cd492852 <a href=http://flagyl1.top/>oral flagyl</a> <a href=http://buypropecia-6.gdn/>buy propecia</a> <a href=http://avana2011.top/>avana</a> <a href=http://buydoxycycline-365.gdn/>buy doxycycline</a> <a href=http://buymotilium25.top/>buy motilium</a>
      Ответить
    • wh0cd415848 <a href=http://keflex.us.com/>Keflex Online</a> <a href=http://elimite2.us/>generic elimite</a> <a href=http://buypropecia2017.com/>propecia best price</a>
      Ответить
    • wh0cd505290 <a href=http://erythromycin6.top/>erythromycin</a> <a href=http://crestor12.gdn/>crestor</a> <a href=http://prednisolone2016.top/>prednisolone</a> <a href=http://buybentyl7.top/>bentyl 20 mg price</a> <a href=http://buyrimonabant15.top/>buy rimonabant</a> <a href=http://buyatenolol2015.top/>atenolol</a>
      Ответить
    • wh0cd449812 <a href=http://escitalopram.us.com/>escitalopram</a> <a href=http://lisinopril24.us.org/>lisinopril online</a>
      Ответить
    • wh0cd329766 <a href=http://cymbalta247.us.org/>generic cymbalta</a> <a href=http://genericcialis247.us.org/>generic cialis pharmacy</a>
      Ответить
    • wh0cd817897 <a href=http://buysildenafil5.top/>buy sildenafil citrate online</a> <a href=http://ampicillin2011.top/>ampicillin</a> <a href=http://tadalafil11.top/>tadalafil</a> <a href=http://buyavodart20.top/>avodart</a>
      Ответить
    • wh0cd862040 <a href=http://cialis247.us.org/>cialis</a> <a href=http://cialisprice247.us.org/>cialis price compare</a>
      Ответить
    • wh0cd428282 <a href=http://buywellbutrin911.top/>buy wellbutrin</a> <a href=http://buylisinopril2015.top/>where to buy lisinopril</a> <a href=http://buyamoxicillin8.top/>amoxicillin over the counter</a> <a href=http://vpxl-247.gdn/>vpxl</a> <a href=http://arimidex2017.top/>where to buy arimidex</a> <a href=http://buybentyl2015.gdn/>bentyl</a>
      Ответить
    • wh0cd960587 <a href=http://buybupropion.us.com/>buy bupropion</a> <a href=http://crestor24.us.org/>more helpful hints</a> <a href=http://zoloft247.us.com/>cheap zoloft</a> <a href=http://celexa2016.us.com/>celexa</a>
      Ответить
    • wh0cd493966 <a href=http://medrol24.us.org/>medrol pak 4mg</a>
      Ответить
    • wh0cd470213 <a href=http://cheapviagra24.us.org/>Cheap Viagra</a> <a href=http://buycialis24.us.org/>buy cialis</a>
      Ответить
    • wh0cd450929 <a href=http://canadianpharmacyviagra.us.com/>canadian pharmacy viagra</a> <a href=http://provera.us.com/>cheap provera</a> <a href=http://zestril.us.com/>Zestril</a> <a href=http://triamterene365.us.com/>triamterene hctz</a>
      Ответить
    • wh0cd384129 <a href=http://viagraonline24h7d.us.org/>Viagra Pharmacy</a>
      Ответить
    • wh0cd3598 <a href=http://buy-sildalis.com/>buy sildalis</a> <a href=http://advaironline.us.com/>Advair Online</a> <a href=http://buylevaquin.us.com/>levaquin 750 mg</a> <a href=http://effexor24.us.org/>effexor 75 mg</a> <a href=http://albuterol365.us.com/>albuterol online</a>
      Ответить
    • wh0cd548331 <a href=http://viagrageneric24.us.org/>generic viagra discounted</a> <a href=http://propranolol24.us.org/>propranolol</a>
      Ответить
    • vanished
      Ответить
    • vanished
      Ответить
    • vanished
      Ответить
    • vanished
      Ответить
    • vanished
      Ответить
    • vanished
      Ответить
    • vanished
      Ответить
    • vanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить

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