c++ custom object serialization

C ++에서의 직렬화 구현

 , 2012 년 11 월 26 일
C ++ 직렬화 구현

이메일 주소는 괜찮습니까? 귀하는 뉴스 레터에 가입했으나 귀하의 이메일 주소는 확인되지 않았거나 오랜 기간 재확인되지 않았습니다. 제발 클릭 여기에 확인 이메일이 전송 가지고 우리가 당신의 이메일 주소를 확인하고 다시 당신에게 뉴스 레터를 보내 시작할 수 있습니다. 또는 구독을 업데이트 할 수 있습니다 .
우리는 우리의 C ++ 객체가 영속성을 유지하기를 바랍니다.
모든 객체는 ‘상태’를 파일에 저장하고 프로세스가 시작될 때 읽는 방법을 알아야하므로 중단 된 부분부터 계속할 수 있습니다.
그러나 C ++의 직렬화 구현은 (C #과 달리) 사소한 것이 아니며 우리 모두가 의존하기를 원하지 않습니다
MFC 프레임 워크 또는 부스트 직렬화 (어떤 템플릿을 사용하여 거대한 실행 파일을 만들 수 있습니다!).
다음은 직렬화 구현에 대한 요점입니다.
1. 복제 가능한 객체에 대한 추상 클래스가 있어야합니다.
2. 클래스 이름을 가진 복제 가능한 객체를 만드는 팩토리 클래스가 있어야합니다.
(힌트 : 싱글 톤 구현 사용).
3. 템플릿을 전혀 사용할 필요가 없습니다!
4. C ++에 정적 생성자가 없기 때문에 클래스를 자동으로 factory에 등록하는 것은 쉽지 않습니다.
이 작업은 클래스에 정적 멤버를 추가하는 매크로로 수행 할 수 있습니다.
5. 객체를 어디에 저장했는지 모르기 때문에 추상 Archive 클래스가 있어야합니다.
(파일, 파이프, 메모리 ..).
6. auto_ptr을 사용하여 직렬화가 실패하거나 예외가 발생할 경우 오브젝트를 삭제하십시오.
다음은 직렬화를위한 간단하지만 완전한 구현 프레임 워크입니다 . 파일 설명 :

  • Dynamics.h – 복제 가능한 컬렉션의 싱글 톤 구현.
  • Persistent.h / .cpp – Dynamics.h를 사용하는 직렬화 구현.

Dynamics.h :
먼저 복제 가능한 모든 객체에 대한 기본 클래스를 선언합니다. 모든 복제 가능한 클래스는 ‘Clonable’에서 파생되고 createObj메소드를 구현해야합니다 . createObj클래스의 새 객체를 반환해야합니다.

class Clonable
{
public:
    virtual ~Clonable() {}
    virtual Clonable* createObj() const = 0;
};

복제 가능한 객체의 컬렉션을 선언해야합니다. 이름을 주면 모든 복제 가능한 클래스의 인스턴스를 만들 수 있어야합니다.
예 :

string className = "MyComplexClass";
Clonable* instance = Clonables::Instance().create(className);
MyComplexClass* pCmplx = dynamic_cast<MyComplexClass*>(instance);

아래는 Cloneable 컬렉션 클래스입니다. 싱글 톤 구현에 주목하십시오.

class Clonables {
private:
    typedef map<string, const Clonable*> NameToClonable;
    NameToClonable __clonables;
private:
    Clonables() {}
    Clonables(const Clonables&);                 // Prevent copy-construction
    Clonables& operator=(const Clonables&);      //  Prevent assignment
    ~Clonables()
    {
        for(NameToClonable::const_iterator it = __clonables.begin(); it != __clonables.end(); it++){
            const Clonable* clone = it->second;
            delete clone;
        }
        __clonables.clear();
    }
public:
    static Clonables& Instance()
    {
        static Clonables instance;   // Guaranteed to be destroyed.                              
        return instance;    // Instantiated on first use.
    }
public:
    void addClonable(const char* className, const Clonable* clone)
    {
        string name = className;
        NameToClonable::const_iterator it = __clonables.find(name);
        if(it == __clonables.end()) {
            __clonables[name] = clone;
        }
    }
    Clonable* create(const char *className)
    {
        string name = className;
        NameToClonable::const_iterator it = __clonables.find(name);
        if(it == __clonables.end()) return NULL;
        const Clonable* clone = it->second;
        return clone->createObj();
    }
};

'<code>Clonables복제 가능한 파생 클래스는 ‘(우리의 복제 가능한 컬렉션)에 등록 할 수 있도록 다음 클래스의 정적 멤버를 추가 할 수 있습니다 .

class AddClonable {
public:
    AddClonable(const char* className, const Clonable* clone){
        Clonables::Instance().addClonable(className, clone);
    }
};

Persist.h :
우리는 우리의 끈질긴 사물이 어디에 저장 될지 확신하지 못합니다. 따라서 우리는 스트리밍을위한 기본 클래스 (저장 및로드 지원 포함)를 구현해야합니다. 아카이브는 파일이나 파이프 또는 객체를 저장하는 모든 것이 될 수 있습니다.

class Archive
{
private:
    bool _isStoring;
public:
    Archive(bool isStoring = true) : _isStoring(isStoring) {}
    virtual ~Archive() {}
    virtual void write(const void* buffer, size_t length) {}
    virtual void read(void* buffer, size_t length) {}
    Archive& operator<<(const string& str);
    Archive& operator>>(string& str);
    Archive& operator<<(int val);
    Archive& operator>>(int& val);
    bool isStoring() const { return _isStoring; }
    void setDirection(bool isStoring) { _isStoring = isStoring; }
};

STL iostream을 사용하는 특정 ‘Archive’클래스를 정의합시다.

class ArchiveFile: public Archive
{
private:
    iostream* _stream;
public:
    ArchiveFile(iostream* stream) : _stream(stream) {}
    virtual ~ArchiveFile() {}
    virtual void write(const void *buffer, size_t length);
    virtual void read (void* buffer, size_t length);
};

Persistent 클래스는 아래의 ‘Persistent’클래스에서 파생되고 ‘serialize’메소드를 구현합니다.
영속 객체는 또한 복제 가능 객체입니다.

class Persistent : public Clonable
{
public:
    virtual ~Persistent() {}
    static Persistent* load(Archive& stream);
    void store(Archive& stream) const;
protected:
    virtual void serialize(Archive& stream) {}
    virtual int version() const { return 0; }
};

우리는이 방법의 자동 구현 createObj과 자동 등록을 원합니다.
우리 클래스의 복제물 컬렉션에. 이것은 다음의 매크로 declerations와 함께 할 수 있습니다 :
PERSISTENT_DECL매크로 createObj는 우리를위한 ‘Clonable’클래스 의 메소드를 구현합니다 . 또한 AddClonable클래스에 정적 멤버를 추가합니다 . 이렇게하면 우리의 영속 클래스가 복제 가능한 컬렉션에 자체 등록됩니다. 이것은 .h 클래스 정의에 추가되어야합니다 (아래 예 참조).

#define PERSISTENT_DECL(className) \
public: \
virtual Clonable* createObj() const \
{ \
    return new className(); \
} \
private: \
static AddClonable _addClonable;

PERSISTENT_IMPL이 정적 멤버를 초기화합니다. 이것은 .cpp 클래스 구현에 추가되어야합니다.

#define PERSISTENT_IMPL(className) \
    AddClonable className::_addClonable(#className, new className());

사용법의 예 : Event.h는 'Event' 영속성이 있어야 하는 간단한 클래스를 정의합니다 .

class Event : public Persistent {
private:
 int _id;
public:
 Event() : _id(0) {}
 virtual ~Event() {}
 int getId() const { return _id; }
protected:
 virtual void serialize(Archive& stream)
 {
  if(stream.isStoring())
   stream << _id;
  else
   stream >> _id;
 }
 PERSISTENT_DECL(Event)
};

Event.cpp

#include "Event.h"

PERSISTENT_IMPL(Event)

우리는에 뛰어 전에 '<code>Archive' 및 '<code>Persistent' 클래스 구현, 여기에 동일한 내용을 가진 새로운 개체로 다시 읽어 후 바탕 화면에 바이너리 파일로 우리의 ‘이벤트’객체를 직렬화하는 방법의 예입니다.

void serialize_example()
{
    auto_ptr<Event> event(new Event());
    fstream file("C:\\Users\\Gilad\\Desktop\\try.data",
        ios::out | ios::in | ios::binary | ios::trunc);
    ArchiveFile stream(&file);
    if(! file)
        throw "Unable to open file for writing";
    event->store(stream);
    file.seekg(0, ios::beg);
    Event* newEvent = dynamic_cast<Event*>(Persistent::load(stream));
    event.reset(newEvent);
    file.close();
}

<event>Persistent.cpp :
우리는 기본적인 ‘int’및 ‘string’아카이브를 사용하여 구현을 시작합니다.

Archive& Archive::operator<<(int val)
{
     write(&val, sizeof(int));
     return *this;
}
Archive& Archive::operator>>(int& val)
{
     read(&val, sizeof(int));
     return *this;
}
Archive& Archive::operator<<(const string& str)
{
    int length = str.length();
    *this << length;
    write(str.c_str(), sizeof(char) * length);
    return *this;
}
Archive& Archive::operator>>(string& str)
{
    int length = -1;
    *this >> length;
    vector<char> mem(length + 1);
    char* pChars = &mem[0];
    read(pChars, sizeof(char) * length);
    mem[length] = NULL;
    str = pChars;
    return *this;
}

이제 특정 STL iostream 보관 구현을 추가해 보겠습니다.

void ArchiveFile::write(const void* buffer, size_t length)
{
    _stream->write((const char*)buffer,length);
    if(! *_stream)
        throw "ArchiveFile::write Error";
}
void ArchiveFile::read(void* buffer, size_t length)
{
    _stream->read((char*)buffer, length);
    if(! *_stream)
        throw "ArchiveFile::read Error";
}

이것은 영구 객체를 아카이브에 저장 하는 방법입니다 .

  1. 개체의 클래스 이름을 저장하십시오.
  2. 클래스의 버전을 저장하십시오.
  3. 객체를 직렬화하도록 호출합니다.
void Persistent::store(Archive& stream) const
{
    string className = typeid(*this).name();
    className = className.substr(className.find(' ') + 1);
    stream << className;
    int ver = version();
    stream << ver;
    stream.setDirection(true);
    const_cast<Persistent *>(this)->serialize(stream);
}

다음은 아카이브에서 객체를 로드 하는 방법입니다 .

  1. 아카이브에서 클래스 이름 읽기
  2. cloneable 컬렉션과 간단한 캐스트를 사용하여 객체를 만듭니다.
  3. 버전이 올바른지 확인하십시오.
  4. 우리의 객체가 스스로를 비 직렬화하게하십시오.

auto_ptr의 사용에주의하십시오. (serialize 메소드와 같이) 예외가 발생하면 우리의 영속 객체가 삭제 될 것입니다.

Persistent* Persistent::load(Archive& stream)
{
    string className;
    stream >> className;
    Clonable* clone = Clonables::Instance().create(className.c_str());
    if(clone == NULL)
        throw "Persistent::load : Error creating object";
    auto_ptr<Clonable> delitor(clone);
    Persistent * obj = dynamic_cast<Persistent *>(clone);
    if(obj == NULL) {
        throw "Persistent::load : Error creating object";
    }
    int ver = -1;
    stream >> ver;
    if(ver != obj->version())
        throw "Persistent::load : unmatched version number";
    stream.setDirection(false);
    obj->serialize(stream);
    delitor.release();
    return obj;
}

Comments (3,517)

  1. 응답

    Greetings! Quick question that’s entirely off topic.

    Do you know how to make your site mobile friendly?
    My site looks weird when viewing from my iphone 4.

    I’m trying to find a theme or plugin that might be able to fix this problem.
    If you have any suggestions, please share. Appreciate it!

  2. 응답

    Hi there, everything is going fine here and ofcourse every one is sharing information, that’s
    truly good, keep up writing.

  3. 응답

    Tremendous issues here. I’m very happy to look your article.
    Thanks a lot and I am having a look ahead to contact you.
    Will you kindly drop me a mail?

  4. 응답

    What’s Happening i’m new to this, I stumbled upon this I’ve discovered It positively helpful and it has helped me out loads.

    I am hoping to give a contribution & aid other users
    like its helped me. Great job.

  5. 응답

    I just want to tell you that I am just very new to blogs and actually liked your blog. Probably I’m going to bookmark your blog post . You really have superb writings. Regards for revealing your blog.

  6. 응답

    Oh my goodness! an impressive post guy. Thanks Nonetheless I am experiencing issue with ur rss. Don?t understand why Unable to sign up for it. Exists any person getting the same rss trouble? Any individual that recognizes kindly respond. Thnkx

  7. 응답

    Hey There. I found your blog using msn. This is an extremely well written article. I’ll be sure to bookmark it and return to read more of your useful info. Thanks for the post. I’ll definitely comeback.

  8. 응답

    I really like your blog.. very nice colors & theme. Did you design this website yourself or did you hire someone to do it for you? Plz answer back as I’m looking to construct my own blog and would like to know where u got this from. thanks

  9. 응답

    Hello would you mind letting me know which web host you’re using? I’ve loaded your blog in 3 completely different web browsers and I must say this blog loads a lot faster then most. Can you recommend a good hosting provider at a honest price? Thanks, I appreciate it!

  10. 응답

    An interesting discussion is worth comment. I assume that you need to compose extra on this subject, it might not be a frowned on topic however normally people are inadequate to speak on such topics. To the following. Cheers

  11. 응답

    I was very delighted to locate this web-site. I intended to many thanks for your time for this wonderful read!! I most definitely taking pleasure in every little of it as well as I have you bookmarked to check out new things you article.

  12. 응답

    I was really happy to locate this web-site. I wished to many thanks for your time for this fantastic read!! I absolutely appreciating every little bit of it as well as I have you bookmarked to look into new stuff you article.

  13. 응답

    There are some interesting moments in this short article however I don?t recognize if I see every one of them facility to heart. There is some validity yet I will certainly take hold opinion up until I check into it even more. Excellent article, thanks and we desire extra! Added to FeedBurner also

  14. 응답

    Can I just claim what a relief to find someone that actually knows what theyre talking about on the net. You most definitely recognize just how to bring a concern to light and make it crucial. Even more individuals need to read this and also recognize this side of the tale. I angle believe youre not extra popular due to the fact that you definitely have the gift.

  15. 응답

    Aw, this was a really wonderful post. In idea I want to place in writing like this in addition? taking time and actual initiative to make a great write-up? however what can I state? I procrastinate alot and never appear to obtain something done.

  16. 응답

    When I originally commented I clicked the -Alert me when brand-new remarks are included- checkbox as well as now each time a remark is included I obtain four e-mails with the very same comment. Exists any way you can eliminate me from that solution? Many thanks!

  17. 응답

    I’m impressed, I have to admit. Rarely do I come across a blog that’s both educative and engaging, and without a doubt, you’ve hit the nail on the head. The problem is something not enough folks are speaking intelligently about. I’m very happy I came across this during my hunt for something regarding this.

  18. 응답

    You’re so cool! I don’t believe I have read anything like this before. So nice to find another person with a few genuine thoughts on this issue. Seriously.. thanks for starting this up. This site is something that is required on the web, someone with some originality!

  19. 응답

    You are so interesting! I don’t think I’ve truly read anything like that before. So wonderful to discover another person with some original thoughts on this topic. Seriously.. many thanks for starting this up. This website is one thing that’s needed on the web, someone with some originality!

  20. 응답

    After I originally commented I appear to have clicked the -Notify me when new comments are added- checkbox and from now on each time a comment is added I receive four emails with the exact same comment. Perhaps there is a way you are able to remove me from that service? Many thanks!

  21. 응답

    May I just say what a relief to find someone who truly knows what they are discussing on the net. You actually know how to bring a problem to light and make it important. More people ought to read this and understand this side of your story. I was surprised that you are not more popular because you definitely have the gift.

  22. 응답

    Can I simply say what a relief to find a person that genuinely understands what they’re discussing on the net. You actually realize how to bring an issue to light and make it important. More and more people should check this out and understand this side of the story. I can’t believe you’re not more popular given that you surely have the gift.

  23. 응답

    I wanted to thank you for this wonderful read!! I definitely loved every bit of it. I have you book-marked to check out new things you post…

  24. 응답

    You’ve made some good points there. I checked on the web for additional information about the issue and found most people will go along with your views on this web site.

  25. 응답

    I must thank you for the efforts you’ve put in penning this blog. I am hoping to see the same high-grade blog posts from you later on as well. In fact, your creative writing abilities has inspired me to get my own website now 😉

  26. 응답

    After looking at a few of the articles on your website, I seriously appreciate your way of writing a blog. I added it to my bookmark site list and will be checking back in the near future. Please visit my website as well and tell me how you feel.

  27. 응답

    Everything is very open with a very clear clarification of the issues. It was definitely informative. Your site is extremely helpful. Many thanks for sharing!

  28. 응답

    An outstanding share! I have just forwarded this onto a coworker who has been doing a little homework on this. And he in fact bought me dinner simply because I found it for him… lol. So allow me to reword this…. Thanks for the meal!! But yeah, thanks for spending time to talk about this subject here on your web page.

  29. 응답

    Hi there! This blog post could not be written any better! Looking through this post reminds me of my previous roommate! He constantly kept talking about this. I’ll send this information to him. Fairly certain he will have a very good read. I appreciate you for sharing!

  30. 응답

    This is a really good tip particularly to those new to the blogosphere. Short but very accurate info… Thank you for sharing this one. A must read post!

  31. 응답

    Good day! I could have sworn I’ve visited your blog before but after browsing through some of the articles I realized it’s new to me. Nonetheless, I’m certainly happy I discovered it and I’ll be book-marking it and checking back regularly!

  32. 응답

    The next time I read a blog, Hopefully it doesn’t disappoint me as much as this particular one. I mean, Yes, it was my choice to read through, however I really thought you would have something useful to talk about. All I hear is a bunch of complaining about something that you could possibly fix if you were not too busy seeking attention.

  33. 응답

    I am usually to blogging as well as i really value your content. The article has actually peaks my interest. I am going to bookmark your site and also maintain looking for brand-new information.

  34. 응답

    Great web site you’ve got here.. It’s hard to find quality writing like yours these days. I truly appreciate individuals like you! Take care!!

  35. 응답

    Having read this I believed it was rather enlightening. I appreciate you spending some time and energy to put this short article together. I once again find myself spending a lot of time both reading and leaving comments. But so what, it was still worthwhile!

  36. 응답

    I’m impressed, I have to admit. Rarely do I come across a blog that’s both equally educative and engaging, and let me tell you, you’ve hit the nail on the head. The problem is an issue that not enough folks are speaking intelligently about. I’m very happy that I came across this during my search for something relating to this.

  37. 응답

    This is the right webpage for anyone who really wants to understand this topic. You know so much its almost hard to argue with you (not that I really would want to…HaHa). You definitely put a brand new spin on a topic that’s been discussed for a long time. Excellent stuff, just excellent!

  38. 응답

    I’m impressed, I have to admit. Rarely do I encounter a blog that’s both equally educative and amusing, and without a doubt, you have hit the nail on the head. The issue is something not enough folks are speaking intelligently about. Now i’m very happy that I found this in my search for something concerning this.

  39. 응답

    The next time I read a blog, I hope that it does not disappoint me just as much as this particular one. I mean, Yes, it was my choice to read, but I genuinely believed you would probably have something interesting to say. All I hear is a bunch of crying about something that you could possibly fix if you weren’t too busy seeking attention.

  40. 응답

    After I initially commented I seem to have clicked the -Notify me when new comments are added- checkbox and now each time a comment is added I get four emails with the same comment. Is there an easy method you can remove me from that service? Many thanks!

  41. 응답

    Hello! I could have sworn I’ve visited this web site before but after going through many of the articles I realized it’s new to me. Nonetheless, I’m definitely delighted I came across it and I’ll be bookmarking it and checking back frequently!

  42. 응답

    You made some decent points there. I looked on the net to learn more about the issue and found most people will go along with your views on this web site.

  43. 응답

    An outstanding share! I have just forwarded this onto a colleague who was conducting a little homework on this. And he actually bought me breakfast simply because I stumbled upon it for him… lol. So allow me to reword this…. Thank YOU for the meal!! But yeah, thanx for spending some time to talk about this issue here on your site.

  44. 응답

    Having read this I thought it was extremely enlightening. I appreciate you finding the time and energy to put this short article together. I once again find myself spending a significant amount of time both reading and commenting. But so what, it was still worth it!

  45. 응답

    After looking into a handful of the blog articles on your site, I really like your way of blogging. I saved it to my bookmark site list and will be checking back soon. Please check out my website too and let me know your opinion.

  46. 응답

    Hi! I could have sworn I’ve been to this web site before but after going through many of the articles I realized it’s new to me. Anyhow, I’m definitely delighted I came across it and I’ll be bookmarking it and checking back frequently!

  47. 응답

    An interesting discussion is worth comment. I do believe that you should write more on this subject, it might not be a taboo matter but usually people don’t talk about these issues. To the next! Cheers!!

  48. 응답

    Having read this I thought it was really enlightening. I appreciate you taking the time and energy to put this short article together. I once again find myself personally spending a lot of time both reading and commenting. But so what, it was still worth it!

  49. 응답

    I’d like to thank you for the efforts you have put in writing this blog. I’m hoping to view the same high-grade content by you later on as well. In truth, your creative writing abilities has encouraged me to get my very own site now 😉

  50. 응답

    Hi, I do think this is a great web site. I stumbledupon it 😉 I may revisit yet again since I bookmarked it. Money and freedom is the best way to change, may you be rich and continue to help others.

  51. 응답

    A fascinating discussion is worth comment. There’s no doubt that that you need to write more on this issue, it might not be a taboo subject but generally people don’t talk about these issues. To the next! Best wishes!!

  52. 응답

    That is a great tip particularly to those fresh to the blogosphere. Brief but very accurate information… Thank you for sharing this one. A must read article!

  53. 응답

    This is the right website for everyone who really wants to find out about this topic. You understand a whole lot its almost hard to argue with you (not that I actually will need to…HaHa). You definitely put a new spin on a subject that’s been written about for years. Great stuff, just great!

  54. 응답

    I’m impressed, I must say. Seldom do I come across a blog that’s equally educative and amusing, and without a doubt, you’ve hit the nail on the head. The issue is something that too few men and women are speaking intelligently about. I am very happy that I found this during my search for something relating to this.

  55. 응답

    Aw, this was a very nice post. Spending some time and actual effort to make a superb article… but what can I say… I put things off a lot and don’t seem to get nearly anything done.

  56. 응답

    Aw, this was an actually great message. In suggestion I would love to place in writing similar to this furthermore? taking some time as well as actual initiative to make a very good write-up? but what can I claim? I put things off alot and by no means seem to get something done.

  57. 응답

    Your style is very unique in comparison to other folks I’ve read stuff from. I appreciate you for posting when you’ve got the opportunity, Guess I will just book mark this web site.

  58. 응답

    This is the perfect webpage for anyone who hopes to understand this topic. You realize a whole lot its almost hard to argue with you (not that I personally would want to…HaHa). You certainly put a brand new spin on a subject that’s been written about for ages. Excellent stuff, just wonderful!

  59. 응답

    Right here is the perfect site for everyone who hopes to find out about this topic. You realize so much its almost hard to argue with you (not that I actually would want to…HaHa). You certainly put a brand new spin on a topic that has been written about for decades. Wonderful stuff, just great!

  60. 응답

    I must thank you for the efforts you’ve put in writing this website. I really hope to check out the same high-grade blog posts from you later on as well. In truth, your creative writing abilities has encouraged me to get my own website now 😉

  61. 응답

    I absolutely love your blog.. Pleasant colors & theme. Did you develop this amazing site yourself? Please reply back as I’m attempting to create my very own site and would love to find out where you got this from or exactly what the theme is named. Cheers!

  62. 응답

    After exploring a handful of the articles on your web page, I truly appreciate your technique of blogging. I saved it to my bookmark webpage list and will be checking back in the near future. Please check out my website too and tell me what you think.

  63. 응답

    Greetings, I do think your site could be having internet browser compatibility problems. Whenever I look at your website in Safari, it looks fine but when opening in IE, it’s got some overlapping issues. I just wanted to provide you with a quick heads up! Aside from that, great site!

  64. 응답

    A fascinating discussion is definitely worth comment. I do think that you should write more on this issue, it might not be a taboo matter but typically people do not discuss these topics. To the next! Many thanks!!

  65. 응답

    A fascinating discussion is definitely worth comment. I do think that you need to publish more about this subject, it might not be a taboo subject but generally people don’t speak about such topics. To the next! Best wishes!!

  66. 응답

    Hi, I do believe this is an excellent website. I stumbledupon it 😉 I may revisit once again since i have bookmarked it. Money and freedom is the best way to change, may you be rich and continue to guide others.

  67. 응답

    You made some really good points there. I looked on the net to find out more about the issue and found most individuals will go along with your views on this website.

  68. 응답

    Aw, this was an extremely nice post. Taking the time and actual effort to make a good article… but what can I say… I hesitate a whole lot and never seem to get nearly anything done.

  69. 응답

    Aw, this was an exceptionally good post. Taking the time and actual effort to create a great article… but what can I say… I procrastinate a whole lot and don’t seem to get anything done.

  70. 응답

    Aw, this was a really good post. Taking a few minutes and actual effort to make a top notch article… but what can I say… I put things off a lot and don’t manage to get nearly anything done.

  71. 응답

    Hello there! This blog post could not be written any better! Looking through this article reminds me of my previous roommate! He continually kept talking about this. I will forward this article to him. Pretty sure he’ll have a good read. Thank you for sharing!

  72. 응답

    Spot on with this write-up, I honestly feel this site needs much more attention. I’ll probably be back again to see more, thanks for the advice!

  73. 응답

    I absolutely love your site.. Great colors & theme. Did you build this website yourself? Please reply back as I’m attempting to create my very own site and would love to know where you got this from or exactly what the theme is called. Thank you!

  74. 응답

    An outstanding share! I have just forwarded this onto a co-worker who had been doing a little homework on this. And he in fact ordered me breakfast simply because I found it for him… lol. So let me reword this…. Thanks for the meal!! But yeah, thanx for spending time to talk about this issue here on your website.

  75. 응답

    Hi, I do think this is an excellent web site. I stumbledupon it 😉 I may come back once again since i have book-marked it. Money and freedom is the greatest way to change, may you be rich and continue to guide other people.

  76. 응답

    After looking into a few of the blog posts on your blog, I really appreciate your technique of blogging. I saved it to my bookmark webpage list and will be checking back soon. Please check out my website as well and let me know what you think.

  77. 응답

    Oh my goodness! Incredible article dude! Thank you so much, However I am having difficulties with your RSS. I don’t understand the reason why I am unable to join it. Is there anybody having identical RSS issues? Anybody who knows the solution can you kindly respond? Thanks!!

  78. 응답

    You need to take part in a contest for one of the most useful sites on the web. I most certainly will highly recommend this site!

  79. 응답

    Everything is very open with a really clear clarification of the issues. It was truly informative. Your website is very helpful. Thank you for sharing!

  80. 응답

    Hello! I just want to offer you a big thumbs up for the excellent info you’ve got right here on this post. I am coming back to your blog for more soon.

  81. 응답

    Aw, this was an incredibly nice post. Taking the time and actual effort to generate a really good article… but what can I say… I put things off a whole lot and never seem to get anything done.

  82. 응답

    Hi there! I could have sworn I’ve been to this web site before but after looking at a few of the posts I realized it’s new to me. Anyways, I’m definitely delighted I discovered it and I’ll be book-marking it and checking back frequently!

  83. 응답

    Spot on with this write-up, I honestly believe this site needs far more attention. I’ll probably be returning to read through more, thanks for the advice!

  84. 응답

    It’s hard to find well-informed people on this topic, however, you seem like you know what you’re talking about! Thanks

  85. 응답

    After looking at a few of the articles on your web site, I seriously like your way of blogging. I bookmarked it to my bookmark webpage list and will be checking back soon. Please check out my website too and let me know your opinion.

  86. 응답

    This is the right webpage for anyone who would like to find out about this topic. You know a whole lot its almost tough to argue with you (not that I really will need to…HaHa). You definitely put a brand new spin on a subject that’s been discussed for decades. Great stuff, just wonderful!

  87. 응답

    Greetings, I think your web site could possibly be having web browser compatibility problems. Whenever I take a look at your website in Safari, it looks fine but when opening in I.E., it’s got some overlapping issues. I simply wanted to provide you with a quick heads up! Besides that, excellent site!

  88. 응답

    After I originally left a comment I appear to have clicked the -Notify me when new comments are added- checkbox and now whenever a comment is added I recieve four emails with the same comment. Perhaps there is a means you can remove me from that service? Appreciate it!

  89. 응답

    I needed to thank you for this very good read!! I definitely enjoyed every bit of it. I’ve got you bookmarked to look at new stuff you post…

  90. 응답

    I’m excited to find this great site. I wanted to thank you for ones time due to this wonderful read!! I definitely enjoyed every bit of it and I have you book-marked to see new things on your blog.

  91. 응답

    Right here is the right blog for anyone who wishes to find out about this topic. You know a whole lot its almost tough to argue with you (not that I actually will need to…HaHa). You certainly put a fresh spin on a topic that’s been written about for ages. Excellent stuff, just excellent!

  92. 응답

    After checking out a number of the blog posts on your site, I really like your technique of blogging. I book marked it to my bookmark webpage list and will be checking back in the near future. Please check out my website as well and let me know your opinion.

  93. 응답

    I’d like to thank you for the efforts you have put in penning this site. I really hope to check out the same high-grade content from you later on as well. In fact, your creative writing abilities has inspired me to get my very own website now 😉

  94. 응답

    I have to thank you for the efforts you have put in penning this site. I am hoping to see the same high-grade content from you later on as well. In truth, your creative writing abilities has motivated me to get my own website now 😉

  95. 응답

    Howdy! I just wish to offer you a big thumbs up for your excellent info you’ve got here on this post. I’ll be returning to your blog for more soon.

  96. 응답

    Oh my goodness! Awesome article dude! Thank you so much, However I am going through problems with your RSS. I don’t know the reason why I am unable to join it. Is there anybody else getting identical RSS problems? Anyone who knows the solution will you kindly respond? Thanx!!

  97. 응답

    I need to to thank you for this fantastic read!! I definitely enjoyed every little bit of it. I’ve got you book-marked to check out new stuff you post…

  98. 응답

    The next time I read a blog, I hope that it won’t disappoint me just as much as this particular one. After all, I know it was my choice to read, however I truly believed you’d have something helpful to talk about. All I hear is a bunch of complaining about something that you could possibly fix if you weren’t too busy seeking attention.

  99. 응답

    The next time I read a blog, Hopefully it doesn’t disappoint me just as much as this one. I mean, Yes, it was my choice to read through, however I truly thought you would have something interesting to talk about. All I hear is a bunch of complaining about something you could possibly fix if you were not too busy searching for attention.

  100. 응답

    Youre so great! I do not mean Ive check out anything such as this before. So good to find somebody with some initial ideas on this subject. realy thanks for beginning this up. this internet site is something that is needed on the internet, somebody with a little creativity. useful job for bringing something brand-new to the web!

  101. 응답

    After I initially commented I seem to have clicked the -Notify me when new comments are added- checkbox and now each time a comment is added I recieve four emails with the same comment. There has to be a means you can remove me from that service? Kudos!

  102. 응답

    You’re so awesome! I don’t think I’ve truly read through anything like that before. So wonderful to find another person with some genuine thoughts on this subject matter. Really.. thanks for starting this up. This web site is something that’s needed on the web, someone with a bit of originality!

  103. 응답

    I have to thank you for the efforts you’ve put in penning this site. I really hope to view the same high-grade content by you later on as well. In truth, your creative writing abilities has encouraged me to get my own website now 😉

  104. 응답

    You’re so interesting! I do not believe I’ve read anything like that before. So great to find someone with some original thoughts on this topic. Seriously.. thank you for starting this up. This site is something that’s needed on the web, someone with a bit of originality!

  105. 응답

    Everything is very open with a really clear description of the issues. It was truly informative. Your site is very useful. Thank you for sharing!

  106. 응답

    Hello! I could have sworn I’ve visited your blog before but after browsing through some of the articles I realized it’s new to me. Regardless, I’m definitely delighted I found it and I’ll be book-marking it and checking back often!

  107. 응답

    Howdy, I think your blog could be having internet browser compatibility issues. When I take a look at your web site in Safari, it looks fine but when opening in I.E., it has some overlapping issues. I simply wanted to provide you with a quick heads up! Aside from that, wonderful blog!

  108. 응답

    Hello there! I could have sworn I’ve visited your blog before but after going through a few of the posts I realized it’s new to me. Nonetheless, I’m definitely delighted I came across it and I’ll be bookmarking it and checking back regularly!

  109. 응답

    After looking over a few of the blog articles on your blog, I truly like your technique of blogging. I added it to my bookmark website list and will be checking back soon. Please check out my website as well and let me know your opinion.

  110. 응답

    Great web site you have here.. It’s difficult to find high-quality writing like yours these days. I honestly appreciate people like you! Take care!!

  111. 응답

    Having read this I believed it was really enlightening. I appreciate you spending some time and effort to put this short article together. I once again find myself personally spending a significant amount of time both reading and leaving comments. But so what, it was still worthwhile!

  112. 응답

    Hi, I do think this is an excellent site. I stumbledupon it 😉 I am going to return yet again since i have bookmarked it. Money and freedom is the greatest way to change, may you be rich and continue to help other people.

  113. 응답

    It’s difficult to find knowledgeable people in this particular topic, however, you seem like you know what you’re talking about! Thanks

  114. 응답

    Aw, this was an extremely good post. Finding the time and actual effort to generate a top notch article… but what can I say… I procrastinate a lot and never manage to get nearly anything done.

  115. 응답

    Oh my goodness! Incredible article dude! Many thanks, However I am encountering difficulties with your RSS. I don’t know why I am unable to subscribe to it. Is there anybody else having the same RSS problems? Anyone that knows the answer will you kindly respond? Thanks!!

  116. 응답

    This excellent website certainly has all of the information I needed concerning this subject and didn’t know who to ask.

  117. 응답

    Everything is very open with a very clear description of the challenges. It was really informative. Your site is very helpful. Thank you for sharing!

  118. 응답

    After I initially left a comment I appear to have clicked the -Notify me when new comments are added- checkbox and now each time a comment is added I recieve four emails with the same comment. There has to be a way you can remove me from that service? Thanks a lot!

  119. 응답

    Right here is the right blog for everyone who wants to find out about this topic. You understand a whole lot its almost hard to argue with you (not that I personally will need to…HaHa). You certainly put a fresh spin on a subject that’s been written about for a long time. Great stuff, just wonderful!

  120. 응답

    I was pretty pleased to discover this page. I want to to thank you for ones time due to this fantastic read!! I definitely savored every part of it and i also have you book marked to look at new stuff in your site.

  121. 응답

    I’m very happy to find this web site. I wanted to thank you for ones time just for this wonderful read!! I definitely really liked every bit of it and i also have you saved as a favorite to check out new things in your web site.

  122. 응답

    An impressive share! I have just forwarded this onto a coworker who has been conducting a little homework on this. And he actually bought me lunch because I stumbled upon it for him… lol. So allow me to reword this…. Thank YOU for the meal!! But yeah, thanks for spending some time to talk about this issue here on your site.

  123. 응답

    Hi there! This post couldn’t be written much better! Reading through this post reminds me of my previous roommate! He always kept preaching about this. I most certainly will forward this information to him. Pretty sure he’s going to have a good read. Thank you for sharing!

  124. go

    응답

    Can I simply state what an alleviation to locate somebody who actually understands what theyre discussing on the net. You absolutely understand exactly how to bring an issue to light as well as make it important. Even more individuals require to read this and also recognize this side of the story. I angle believe youre not a lot more popular because you absolutely have the gift.

  125. 응답

    Greetings! Very helpful advice within this post! It’s the little changes that will make the largest changes. Thanks a lot for sharing!

  126. 응답

    Can I just say what a comfort to uncover somebody who genuinely understands what they are talking about online. You actually realize how to bring an issue to light and make it important. More people should look at this and understand this side of your story. I was surprised you aren’t more popular because you definitely possess the gift.

  127. 응답

    Greetings! Very useful advice in this particular article! It is the little changes that produce the largest changes. Many thanks for sharing!

  128. 응답

    I need to to thank you for this excellent read!! I absolutely loved every bit of it. I have you book-marked to look at new things you post…

  129. 응답

    An interesting discussion is worth comment. I do think that you ought to write more on this topic, it may not be a taboo subject but typically people do not talk about such subjects. To the next! Cheers!!

  130. 응답

    I’m very happy to find this web site. I want to to thank you for your time for this wonderful read!! I definitely really liked every part of it and i also have you book marked to look at new information on your web site.

  131. 응답

    Can I just say what a comfort to discover somebody that genuinely knows what they’re talking about on the internet. You certainly know how to bring a problem to light and make it important. A lot more people have to read this and understand this side of your story. I can’t believe you aren’t more popular since you certainly have the gift.

  132. 응답

    After exploring a few of the blog posts on your blog, I honestly like your way of blogging. I bookmarked it to my bookmark site list and will be checking back soon. Please check out my website as well and tell me what you think.

  133. 응답

    I’d like to thank you for the efforts you’ve put in writing this site. I really hope to view the same high-grade blog posts from you in the future as well. In truth, your creative writing abilities has inspired me to get my very own website now 😉

  134. 응답

    May I just say what a comfort to uncover a person that really knows what they are talking about online. You actually know how to bring a problem to light and make it important. A lot more people have to look at this and understand this side of your story. I was surprised that you’re not more popular because you surely possess the gift.

  135. 응답

    May I just say what a relief to discover a person that truly knows what they’re talking about over the internet. You actually understand how to bring a problem to light and make it important. More people ought to read this and understand this side of your story. I was surprised that you’re not more popular given that you surely have the gift.

  136. 응답

    I absolutely love your website.. Great colors & theme. Did you build this amazing site yourself? Please reply back as I’m hoping to create my own personal site and would love to know where you got this from or what the theme is named. Thank you!

  137. 응답

    Howdy! I could have sworn I’ve visited this site before but after looking at many of the posts I realized it’s new to me. Regardless, I’m definitely delighted I came across it and I’ll be bookmarking it and checking back often!

  138. 응답

    Hi, I do think this is a great blog. I stumbledupon it 😉 I may return once again since I book marked it. Money and freedom is the greatest way to change, may you be rich and continue to guide other people.

  139. 응답

    I’m pretty pleased to find this site. I want to to thank you for ones time for this fantastic read!! I definitely loved every part of it and i also have you bookmarked to look at new things in your website.

  140. 응답

    I uncovered your blog site on google and also inspect a few of your early posts. Continue to keep up the excellent operate. I simply added up your RSS feed to my MSN News Reader. Looking for onward to reading more from you later!?

  141. 응답

    Aw, this was an incredibly nice post. Finding the time and actual effort to make a top notch article… but what can I say… I hesitate a whole lot and don’t manage to get nearly anything done.

  142. 응답

    I want to to thank you for this good read!! I absolutely loved every bit of it. I have you book marked to look at new things you post…

  143. 응답

    Nice post. I learn something new and challenging on sites I stumbleupon every day. It’s always exciting to read articles from other writers and practice something from other websites.

  144. 응답

    A fascinating discussion is worth comment. I think that you should write more on this topic, it may not be a taboo subject but usually people do not discuss these issues. To the next! Many thanks!!

  145. 응답

    I blog quite often and I really appreciate your information. This great article has really peaked my interest. I’m going to take a note of your site and keep checking for new details about once a week. I opted in for your Feed as well.

  146. 응답

    Excellent web site you have here.. It’s difficult to find excellent writing like yours nowadays. I honestly appreciate individuals like you! Take care!!

  147. 응답

    After I initially left a comment I appear to have clicked on the -Notify me when new comments are added- checkbox and now whenever a comment is added I recieve four emails with the exact same comment. There has to be a means you are able to remove me from that service? Many thanks!

  148. 응답

    You made some good points there. I looked on the internet for more information about the issue and found most people will go along with your views on this web site.

  149. 응답

    When I initially left a comment I appear to have clicked the -Notify me when new comments are added- checkbox and now every time a comment is added I receive 4 emails with the exact same comment. Is there a way you can remove me from that service? Kudos!

  150. 응답

    Hi, I do believe this is a great website. I stumbledupon it 😉 I am going to return once again since I book marked it. Money and freedom is the best way to change, may you be rich and continue to help others.

  151. 응답

    Can I just say what a comfort to find somebody that actually understands what they are talking about on the net. You actually realize how to bring a problem to light and make it important. More people ought to look at this and understand this side of the story. I was surprised that you are not more popular since you definitely have the gift.

  152. 응답

    I seriously love your site.. Excellent colors & theme. Did you make this web site yourself? Please reply back as I’m planning to create my very own website and would like to find out where you got this from or what the theme is named. Appreciate it!

  153. 응답

    Spot on with this write-up, I really think this website needs far more attention. I’ll probably be returning to see more, thanks for the advice!

  154. 응답

    After I initially commented I appear to have clicked the -Notify me when new comments are added- checkbox and from now on every time a comment is added I get four emails with the same comment. Perhaps there is a means you are able to remove me from that service? Thank you!

  155. 응답

    You should take part in a contest for one of the greatest blogs on the web. I most certainly will highly recommend this web site!

  156. 응답

    I was extremely pleased to find this website. I want to to thank you for your time for this particularly fantastic read!! I definitely enjoyed every bit of it and i also have you bookmarked to check out new stuff in your blog.

  157. 응답

    Aw, this was an exceptionally good post. Taking a few minutes and actual effort to create a good article… but what can I say… I put things off a whole lot and don’t seem to get anything done.

  158. 응답

    Good site you’ve got here.. It’s difficult to find excellent writing like yours nowadays. I really appreciate people like you! Take care!!

  159. 응답

    Can I just say what a comfort to uncover somebody that genuinely knows what they’re discussing on the net. You definitely understand how to bring a problem to light and make it important. More and more people really need to check this out and understand this side of your story. It’s surprising you aren’t more popular because you certainly have the gift.

  160. 응답

    I must thank you for the efforts you’ve put in writing this site. I really hope to check out the same high-grade content from you later on as well. In fact, your creative writing abilities has motivated me to get my very own website now 😉

  161. 응답

    Spot on with this write-up, I absolutely feel this website needs much more attention. I’ll probably be back again to see more, thanks for the info!

  162. 응답

    Howdy! This blog post could not be written any better! Going through this article reminds me of my previous roommate! He always kept preaching about this. I will forward this post to him. Fairly certain he’ll have a very good read. Many thanks for sharing!

  163. 응답

    Spot on with this write-up, I honestly believe that this amazing site needs much more attention. I’ll probably be returning to read through more, thanks for the information!

  164. 응답

    This is a very good tip particularly to those fresh to the blogosphere. Simple but very precise info… Many thanks for sharing this one. A must read article!

  165. 응답

    After study a few of the post on your web site now, as well as I truly like your method of blogging. I bookmarked it to my book mark web site listing and will certainly be checking back quickly. Pls check out my web site also and let me understand what you assume.

  166. 응답

    I really love your site.. Very nice colors & theme. Did you build this amazing site yourself? Please reply back as I’m attempting to create my very own site and want to know where you got this from or just what the theme is called. Cheers!

  167. 응답

    Can I simply say what a comfort to discover somebody who genuinely knows what they’re talking about on the net. You certainly know how to bring an issue to light and make it important. More and more people should look at this and understand this side of the story. It’s surprising you aren’t more popular since you most certainly possess the gift.

  168. 응답

    Greetings! Very useful advice in this particular post! It’s the little changes that will make the most significant changes. Thanks for sharing!

  169. 응답

    Hi, I do think this is an excellent web site. I stumbledupon it 😉 I am going to come back yet again since i have bookmarked it. Money and freedom is the best way to change, may you be rich and continue to guide others.

  170. 응답

    Next time I read a blog, I hope that it won’t fail me just as much as this one. I mean, I know it was my choice to read through, however I actually believed you would probably have something helpful to talk about. All I hear is a bunch of whining about something you could possibly fix if you were not too busy searching for attention.

  171. 응답

    Howdy! I could have sworn I’ve visited this site before but after looking at many of the posts I realized it’s new to me. Regardless, I’m definitely happy I discovered it and I’ll be book-marking it and checking back often!

  172. 응답

    When I initially commented I appear to have clicked on the -Notify me when new comments are added- checkbox and from now on whenever a comment is added I recieve 4 emails with the same comment. Is there an easy method you can remove me from that service? Cheers!

  173. 응답

    Howdy! I simply wish to give you a big thumbs up for the excellent information you’ve got here on this post. I am returning to your website for more soon.

  174. 응답

    Hi there, I believe your web site might be having browser compatibility issues. Whenever I look at your web site in Safari, it looks fine however, if opening in I.E., it’s got some overlapping issues. I simply wanted to provide you with a quick heads up! Aside from that, fantastic blog!

  175. 응답

    May I just say what a relief to uncover somebody that genuinely understands what they are discussing on the net. You certainly understand how to bring a problem to light and make it important. More and more people have to look at this and understand this side of the story. I can’t believe you’re not more popular because you certainly have the gift.

  176. 응답

    After research a few of the blog posts on your site currently, and I truly like your means of blogging. I bookmarked it to my bookmark web site checklist and will be examining back soon. Pls check out my web site also as well as let me know what you assume.

  177. 응답

    After I originally commented I seem to have clicked the -Notify me when new comments are added- checkbox and now each time a comment is added I receive four emails with the exact same comment. Is there an easy method you are able to remove me from that service? Kudos!

  178. 응답

    Can I just say what a relief to discover an individual who actually understands what they are talking about on the web. You actually understand how to bring a problem to light and make it important. A lot more people ought to check this out and understand this side of your story. I can’t believe you are not more popular given that you definitely have the gift.

  179. 응답

    An outstanding share, I simply provided this onto an associate who was doing a little evaluation on this. As well as he actually acquired me breakfast since I located it for him. smile. So let me rephrase that: Thnx for the treat! However yeah Thnkx for investing the moment to review this, I feel strongly regarding it as well as like learning more on this subject. If possible, as you become experience, would certainly you mind upgrading your blog with even more details? It is highly handy for me. Huge thumb up for this post!

  180. 응답

    When I initially left a comment I appear to have clicked the -Notify me when new comments are added- checkbox and now each time a comment is added I receive 4 emails with the same comment. Perhaps there is a means you are able to remove me from that service? Thank you!

  181. 응답

    Next time I read a blog, Hopefully it doesn’t disappoint me as much as this one. I mean, I know it was my choice to read through, however I actually thought you’d have something interesting to say. All I hear is a bunch of whining about something that you could fix if you were not too busy looking for attention.

  182. 응답

    Spot on with this write-up, I absolutely feel this website needs far more attention. I’ll probably be returning to read more, thanks for the info!

  183. 응답

    Nice post. I learn something totally new and challenging on blogs I stumbleupon on a daily basis. It’s always exciting to read through content from other writers and use something from their web sites.

  184. 응답

    Great blog you’ve got here.. It’s hard to find good quality writing like yours nowadays. I really appreciate individuals like you! Take care!!

  185. 응답

    This is the perfect webpage for everyone who wishes to find out about this topic. You understand so much its almost hard to argue with you (not that I actually would want to…HaHa). You certainly put a new spin on a subject that has been written about for many years. Wonderful stuff, just great!

  186. 응답

    Can I simply say what a relief to uncover an individual who truly understands what they’re talking about on the web. You certainly realize how to bring an issue to light and make it important. A lot more people have to read this and understand this side of the story. I was surprised that you’re not more popular because you most certainly have the gift.

  187. 응답

    When I initially commented I seem to have clicked on the -Notify me when new comments are added- checkbox and now each time a comment is added I receive 4 emails with the exact same comment. Is there a way you can remove me from that service? Many thanks!

  188. 응답

    An impressive share! I’ve just forwarded this onto a friend who has been doing a little research on this. And he actually bought me breakfast simply because I discovered it for him… lol. So allow me to reword this…. Thank YOU for the meal!! But yeah, thanx for spending the time to talk about this issue here on your web site.

  189. 응답

    Right here is the perfect website for everyone who hopes to find out about this topic. You understand a whole lot its almost hard to argue with you (not that I personally would want to…HaHa). You certainly put a new spin on a subject that’s been discussed for decades. Excellent stuff, just wonderful!

  190. 응답

    I blog often and I really thank you for your information. The article has truly peaked my interest. I’m going to take a note of your site and keep checking for new details about once per week. I subscribed to your Feed as well.

  191. 응답

    I’d like to thank you for the efforts you’ve put in penning this website. I’m hoping to view the same high-grade content from you later on as well. In fact, your creative writing abilities has motivated me to get my very own website now 😉

  192. 응답

    I blog quite often and I really thank you for your content. This article has truly peaked my interest. I am going to bookmark your site and keep checking for new details about once per week. I subscribed to your RSS feed as well.

  193. 응답

    Nice post. I learn something totally new and challenging on websites I stumbleupon on a daily basis. It’s always useful to read through content from other authors and practice a little something from other web sites.

  194. 응답

    I was excited to uncover this site. I wanted to thank you for ones time due to this wonderful read!! I definitely loved every bit of it and i also have you saved to fav to see new information in your blog.

  195. 응답

    Everything is very open with a really clear description of the issues. It was really informative. Your site is very useful. Thank you for sharing!

  196. 응답

    Greetings! Very useful advice within this post! It’s the little changes which will make the greatest changes. Many thanks for sharing!

  197. 응답

    Hello there! I could have sworn I’ve been to this site before but after going through a few of the articles I realized it’s new to me. Anyways, I’m definitely delighted I came across it and I’ll be book-marking it and checking back often!

  198. 응답

    I have to thank you for the efforts you’ve put in writing this website. I am hoping to see the same high-grade content by you later on as well. In truth, your creative writing abilities has encouraged me to get my own, personal website now 😉

  199. 응답

    You’ve made some decent points there. I looked on the net to learn more about the issue and found most people will go along with your views on this website.

  200. 응답

    Spot on with this write-up, I actually believe this amazing site needs a great deal more attention. I’ll probably be returning to read more, thanks for the info!

  201. 응답

    Aw, this was a really nice post. Taking the time and actual effort to create a very good article… but what can I say… I procrastinate a whole lot and don’t seem to get anything done.

  202. 응답

    Hi, I do think this is an excellent site. I stumbledupon it 😉 I may come back yet again since I bookmarked it. Money and freedom is the best way to change, may you be rich and continue to help others.

  203. 응답

    Hello there, I do believe your web site could be having internet browser compatibility problems. Whenever I look at your web site in Safari, it looks fine however, when opening in IE, it has some overlapping issues. I simply wanted to give you a quick heads up! Other than that, wonderful site!

  204. 응답

    Aw, this was a very nice post. Taking a few minutes and actual effort to produce a good article… but what can I say… I procrastinate a whole lot and don’t seem to get nearly anything done.

  205. 응답

    I was extremely pleased to discover this page. I need to to thank you for your time just for this wonderful read!! I definitely savored every bit of it and I have you saved as a favorite to look at new things in your website.

  206. 응답

    Aw, this was a really good post. Taking the time and actual effort to make a top notch article… but what can I say… I hesitate a lot and don’t manage to get anything done.

  207. 응답

    After checking out a handful of the articles on your website, I truly appreciate your technique of blogging. I bookmarked it to my bookmark webpage list and will be checking back in the near future. Take a look at my website too and tell me how you feel.

  208. 응답

    Oh my goodness! a wonderful article dude. Thanks a ton Nevertheless We are experiencing problem with ur rss . Don’t know why Struggle to register for it. Possibly there is anyone finding identical rss problem? Anybody who knows kindly respond. Thnkx

  209. 응답

    Hi there! I just wish to give you a huge thumbs up for the great info you’ve got right here on this post. I will be coming back to your web site for more soon.

  210. 응답

    When I initially left a comment I appear to have clicked on the -Notify me when new comments are added- checkbox and from now on whenever a comment is added I get 4 emails with the exact same comment. Perhaps there is a way you can remove me from that service? Thank you!

  211. 응답

    Aw, this was an incredibly nice post. Taking a few minutes and actual effort to generate a top notch article… but what can I say… I put things off a lot and don’t seem to get nearly anything done.

  212. 응답

    Aw, this was an extremely good post. Finding the time and actual effort to generate a superb article… but what can I say… I hesitate a whole lot and never seem to get nearly anything done.

  213. 응답

    Hi, I do believe this is an excellent blog. I stumbledupon it 😉 I may come back yet again since i have saved as a favorite it. Money and freedom is the best way to change, may you be rich and continue to help others.

  214. 응답

    Hi, I do believe your web site may be having browser compatibility problems. When I look at your web site in Safari, it looks fine however when opening in I.E., it’s got some overlapping issues. I just wanted to provide you with a quick heads up! Other than that, great blog!

  215. 응답

    I seriously love your blog.. Pleasant colors & theme. Did you create this site yourself? Please reply back as I’m hoping to create my own blog and want to find out where you got this from or exactly what the theme is named. Thanks!

  216. 응답

    This web site truly has all of the information and facts I wanted about this subject and didn’t know who to ask.

  217. 응답

    I am so happy to read this. This is the type of manual that needs to be given and not the random misinformation that is at the other blogs. Appreciate your sharing this greatest doc.

  218. 응답

    I wanted to thank you for this great read!! I absolutely loved every little bit of it. I have you book marked to look at new things you post…

  219. 응답

    Good post. I learn something totally new and challenging on sites I stumbleupon on a daily basis. It will always be exciting to read through articles from other authors and practice something from their sites.

  220. 응답

    Good post. I learn something totally new and challenging on websites I stumbleupon everyday. It’s always exciting to read articles from other writers and use a little something from other web sites.

  221. 응답

    Your style is unique in comparison to other folks I’ve read stuff from. Thank you for posting when you’ve got the opportunity, Guess I’ll just book mark this blog.

  222. 응답

    Everything is very open with a very clear explanation of the issues. It was definitely informative. Your site is very helpful. Many thanks for sharing!

  223. 응답

    I seriously love your website.. Very nice colors & theme. Did you make this web site yourself? Please reply back as I’m planning to create my own personal site and would like to learn where you got this from or exactly what the theme is named. Many thanks!

  224. 응답

    I want to to thank you for this very good read!! I certainly enjoyed every little bit of it. I have got you saved as a favorite to check out new stuff you post…

  225. 응답

    Hello! I just wish to offer you a huge thumbs up for the great information you’ve got right here on this post. I am returning to your website for more soon.

  226. 응답

    I blog often and I genuinely thank you for your information. The article has truly peaked my interest. I am going to book mark your blog and keep checking for new details about once a week. I opted in for your Feed as well.

  227. 응답

    You’re so awesome! I do not believe I’ve read through a single thing like this before. So nice to find somebody with some original thoughts on this issue. Really.. many thanks for starting this up. This site is one thing that’s needed on the web, someone with a little originality!

  228. 응답

    It’s hard to come by knowledgeable people in this particular topic, however, you sound like you know what you’re talking about! Thanks

  229. 응답

    Aw, this was an incredibly nice post. Finding the time and actual effort to generate a top notch article… but what can I say… I put things off a whole lot and don’t seem to get nearly anything done.

  230. 응답

    You’ve made some good points there. I checked on the internet to find out more about the issue and found most individuals will go along with your views on this web site.

  231. 응답

    I needed to thank you for this good read!! I absolutely enjoyed every little bit of it. I have you book-marked to check out new stuff you post…

  232. 응답

    You are so interesting! I don’t suppose I’ve read through something like this before. So good to discover somebody with some original thoughts on this issue. Seriously.. many thanks for starting this up. This web site is something that is required on the web, someone with a bit of originality!

  233. 응답

    Aw, this was a really nice post. Spending some time and actual effort to produce a top notch article… but what can I say… I procrastinate a lot and never seem to get nearly anything done.

  234. 응답

    After I initially commented I seem to have clicked the -Notify me when new comments are added- checkbox and now each time a comment is added I recieve 4 emails with the exact same comment. Is there an easy method you are able to remove me from that service? Cheers!

  235. 응답

    The very next time I read a blog, I hope that it does not fail me just as much as this one. I mean, I know it was my choice to read through, however I really believed you would have something useful to say. All I hear is a bunch of complaining about something that you could possibly fix if you were not too busy searching for attention.

  236. 응답

    Nice post. I learn something new and challenging on websites I stumbleupon on a daily basis. It’s always exciting to read through content from other writers and practice something from their web sites.

  237. 응답

    Nice post. I learn something totally new and challenging on websites I stumbleupon on a daily basis. It’s always useful to read through articles from other writers and practice a little something from other web sites.

  238. 응답

    You’re so awesome! I do not suppose I have read a single thing like that before. So nice to discover somebody with some genuine thoughts on this subject. Really.. many thanks for starting this up. This web site is one thing that is required on the internet, someone with a little originality!

  239. 응답

    This is a very good tip especially to those new to the blogosphere. Simple but very precise info… Thank you for sharing this one. A must read article!

  240. 응답

    It’s hard to find experienced people about this subject, however, you seem like you know what you’re talking about! Thanks

  241. 응답

    You have made some good points there. I checked on the net for additional information about the issue and found most individuals will go along with your views on this website.

  242. 응답

    Nice post. I learn something totally new and challenging on blogs I stumbleupon everyday. It will always be exciting to read through content from other authors and practice a little something from other sites.

  243. 응답

    You are so awesome! I do not believe I’ve read through something like this before. So great to discover someone with unique thoughts on this subject matter. Seriously.. many thanks for starting this up. This web site is something that’s needed on the internet, someone with some originality!

  244. 응답

    Hi, I do believe this is a great blog. I stumbledupon it 😉 I may revisit once again since I book marked it. Money and freedom is the best way to change, may you be rich and continue to help others.

  245. 응답

    I would like to thank you for the efforts you’ve put in writing this blog. I am hoping to check out the same high-grade blog posts from you in the future as well. In truth, your creative writing abilities has inspired me to get my own, personal blog now 😉

  246. 응답

    I blog often and I seriously appreciate your content. Your article has really peaked my interest. I’m going to take a note of your blog and keep checking for new information about once a week. I opted in for your Feed as well.

  247. 응답

    After I originally left a comment I seem to have clicked the -Notify me when new comments are added- checkbox and from now on each time a comment is added I receive four emails with the same comment. Is there a way you are able to remove me from that service? Thank you!

  248. 응답

    I have to thank you for the efforts you’ve put in writing this site. I am hoping to check out the same high-grade blog posts from you in the future as well. In truth, your creative writing abilities has encouraged me to get my own, personal site now 😉

  249. 응답

    Hi there! This article couldn’t be written much better! Going through this article reminds me of my previous roommate! He always kept talking about this. I will forward this article to him. Fairly certain he’ll have a good read. Many thanks for sharing!

  250. 응답

    You’ve made some really good points there. I looked on the web for additional information about the issue and found most individuals will go along with your views on this website.

  251. 응답

    I’m extremely pleased to discover this website. I need to to thank you for your time for this particularly wonderful read!! I definitely enjoyed every bit of it and I have you saved as a favorite to look at new information on your blog.

  252. 응답

    Way cool! Some very valid points! I appreciate you penning this write-up plus the rest of the site is extremely good.

  253. 응답

    After I originally commented I seem to have clicked the -Notify me when new comments are added- checkbox and from now on each time a comment is added I recieve four emails with the exact same comment. There has to be a way you are able to remove me from that service? Thanks a lot!

  254. 응답

    Spot on with this write-up, I honestly believe that this website needs a great deal more attention. I’ll probably be back again to see more, thanks for the information!

  255. 응답

    This excellent website definitely has all of the information and facts I wanted about this subject and didn’t know who to ask.

  256. 응답

    Good web site you have got here.. It’s hard to find good quality writing like yours nowadays. I seriously appreciate individuals like you! Take care!!

  257. 응답

    You made some decent points there. I checked on the net for additional information about the issue and found most individuals will go along with your views on this site.

  258. 응답

    Can I simply just say what a comfort to discover somebody that actually knows what they’re discussing on the web. You actually understand how to bring a problem to light and make it important. A lot more people have to look at this and understand this side of your story. I was surprised that you’re not more popular since you definitely have the gift.

  259. 응답

    After looking over a number of the blog posts on your blog, I truly like your technique of blogging. I added it to my bookmark website list and will be checking back soon. Please check out my website too and tell me how you feel.

  260. 응답

    May I simply just say what a comfort to find someone who genuinely knows what they’re discussing on the web. You actually know how to bring an issue to light and make it important. More people really need to check this out and understand this side of the story. I was surprised you’re not more popular given that you definitely have the gift.

  261. 응답

    Hey there! I simply would like to give you a big thumbs up for your great information you have got here on this post. I am coming back to your site for more soon.

  262. 응답

    After looking over a handful of the blog posts on your blog, I honestly like your technique of blogging. I bookmarked it to my bookmark webpage list and will be checking back in the near future. Take a look at my web site too and tell me your opinion.

  263. 응답

    May I simply say what a comfort to find a person that truly knows what they’re talking about on the internet. You actually understand how to bring a problem to light and make it important. A lot more people should look at this and understand this side of your story. I can’t believe you’re not more popular given that you certainly possess the gift.

  264. 응답

    The very next time I read a blog, Hopefully it won’t fail me as much as this one. I mean, I know it was my choice to read through, nonetheless I really believed you would have something useful to say. All I hear is a bunch of moaning about something you could possibly fix if you were not too busy looking for attention.

  265. 응답

    Hi! I could have sworn I’ve visited this site before but after going through a few of the posts I realized it’s new to me. Anyways, I’m certainly pleased I found it and I’ll be bookmarking it and checking back regularly!

  266. 응답

    You’re so interesting! I do not believe I have read something like that before. So great to find another person with some unique thoughts on this topic. Really.. thanks for starting this up. This site is something that is required on the internet, someone with some originality!

  267. 응답

    Good blog you have got here.. It’s difficult to find high-quality writing like yours these days. I seriously appreciate people like you! Take care!!

  268. 응답

    An intriguing discussion is worth comment. I believe that you ought to publish more on this subject, it might not be a taboo matter but generally people don’t speak about such topics. To the next! All the best!!

  269. 응답

    I was pretty pleased to find this site. I wanted to thank you for ones time due to this fantastic read!! I definitely appreciated every little bit of it and I have you book-marked to look at new information in your web site.

  270. 응답

    I was more than happy to uncover this web site. I need to to thank you for ones time due to this fantastic read!! I definitely appreciated every bit of it and i also have you saved as a favorite to look at new information on your blog.

  271. 응답

    Hello there! I could have sworn I’ve visited this blog before but after going through many of the articles I realized it’s new to me. Regardless, I’m definitely happy I found it and I’ll be bookmarking it and checking back frequently!

  272. 응답

    Hi, I do think this is a great web site. I stumbledupon it 😉 I’m going to come back yet again since i have book-marked it. Money and freedom is the greatest way to change, may you be rich and continue to guide other people.

  273. 응답

    Hi! I could have sworn I’ve visited your blog before but after going through many of the posts I realized it’s new to me. Regardless, I’m definitely happy I stumbled upon it and I’ll be bookmarking it and checking back often!

  274. 응답

    Greetings! Very useful advice within this article! It’s the little changes that will make the most important changes. Thanks for sharing!

  275. 응답

    Right here is the perfect website for anyone who hopes to understand this topic. You know so much its almost tough to argue with you (not that I really will need to…HaHa). You certainly put a fresh spin on a topic that has been discussed for many years. Wonderful stuff, just excellent!

  276. 응답

    Howdy, There’s no doubt that your web site could possibly be having browser compatibility issues. When I look at your site in Safari, it looks fine however when opening in I.E., it has some overlapping issues. I just wanted to provide you with a quick heads up! Aside from that, excellent blog!

  277. 응답

    Hi there, I think your website could be having internet browser compatibility problems. Whenever I look at your web site in Safari, it looks fine however, when opening in I.E., it’s got some overlapping issues. I merely wanted to provide you with a quick heads up! Apart from that, fantastic blog!

  278. 응답

    The next time I read a blog, Hopefully it does not fail me as much as this particular one. I mean, Yes, it was my choice to read, however I genuinely believed you’d have something useful to talk about. All I hear is a bunch of crying about something you can fix if you weren’t too busy looking for attention.

  279. 응답

    I would like to thank you for the efforts you have put in writing this website. I really hope to check out the same high-grade blog posts by you in the future as well. In fact, your creative writing abilities has encouraged me to get my very own site now 😉

  280. 응답

    After checking out a few of the articles on your blog, I seriously appreciate your technique of blogging. I book marked it to my bookmark site list and will be checking back soon. Please check out my website as well and tell me how you feel.

  281. 응답

    Can I just say what a relief to find somebody who truly knows what they are talking about on the web. You actually know how to bring an issue to light and make it important. More and more people need to check this out and understand this side of the story. I was surprised that you aren’t more popular because you surely possess the gift.

  282. 응답

    Hi! I could have sworn I’ve been to this blog before but after browsing through many of the articles I realized it’s new to me. Nonetheless, I’m definitely pleased I came across it and I’ll be bookmarking it and checking back regularly!

  283. 응답

    Right here is the perfect site for anybody who really wants to find out about this topic. You realize a whole lot its almost tough to argue with you (not that I actually would want to…HaHa). You certainly put a new spin on a subject that’s been written about for ages. Great stuff, just great!

  284. 응답

    The next time I read a blog, I hope that it doesn’t fail me just as much as this one. I mean, I know it was my choice to read through, but I really thought you would have something interesting to talk about. All I hear is a bunch of whining about something that you could possibly fix if you weren’t too busy seeking attention.

  285. 응답

    Greetings, I do think your blog could possibly be having web browser compatibility problems. When I take a look at your website in Safari, it looks fine but when opening in I.E., it’s got some overlapping issues. I merely wanted to provide you with a quick heads up! Besides that, excellent blog!